Apparatus and Method for Interpolating the Intensities of Scanned Pixels from Source Pixels
A scan assembly of an image generator sweeps an image beam in a first dimension at a first rate and bi-directionally in a second dimension at a slower rate. Sweeping the beam bi-directionally in the vertical dimension (generally the dimension of the lower sweep rate) can reduce the scanning power by eliminating the flyback period, and, where the scan assembly includes a mechanical reflector, can reduce the error in the beam position without a feedback loop by reducing the number of harmonics in the vertical sweep function. Furthermore, because the image beam is “on” longer due to the elimination of the flyback period, the scanned image is often brighter for a given beam intensity. The scan assembly may also sweep the image beam non-linearly in the vertical dimension, and this sweep may be bi-directional or uni-directional. Sweeping the beam non-linearly can also reduce the error in the beam position by reducing the number of harmonics in the vertical sweep function.
Latest MICROVISION, INC. Patents:
- Method for controlling sensor elements of a LIDAR measuring system
- Eye-safe scanning lidar with virtual protective housing
- Scanning Laser Devices and Methods with Multiple Range Emission Control Pulse Sets
- Scanning laser devices and methods with detectors for sensing low energy reflections
- Analogue-to-digital converter
This application claims priority to U.S. Provisional Application Ser. No. 60/381,569, filed on May 17, 2002, which is incorporated by reference.
BACKGROUNDAn electronic image generator, such as television set, scans a viewable image, or a sequence of viewable video images, onto a display screen by electronically sweeping an electromagnetic image beam across the screen. For example, in a television set, the image beam is a beam of electrons, and a coil generates a linearly increasing magnetic field or electric field to sweep the beam.
An optical image generator is similar except that it scans a viewable image onto a display screen by mechanically sweeping an electromagnetic image beam across the screen. Or, in the case of a Virtual Retinal Display (VRD), the optical image generator scans a viewable directly onto a viewer's retina(s).
Referring to
Referring to
Referring to
Referring to
Unfortunately, uni-directionally sweeping the beam 18 in the vertical (Y) dimension may increase the cost, complexity, size, and power consumption of the system 10. Referring to
Another way to reduce or eliminate the ripple error is to generate a drive signal that offsets the non-linearity of the vertical scan. A variety of approaches can be applied to reduce the ripple.
In one such approach, a feedback loop in the scan assembly 20 compares the detected angular position about the vertical axis with an idealized waveform. The loop then generates a drive signal to minimize the error, according to conventional feedback control approaches and smoothen the rotation of the reflector 22 during the vertical scan period V.
In another approach, a general analytical or empirical model of the vertical scan assembly is developed for the general characteristics of the scan assembly 20, using parameters of the a set of scan assemblies. Then, for the specific scan assembly 20 in use, the individual response is characterized during manufacture or at system start-up to refine the model parameters more precisely and the data representing the particular scan assembly 20 are stored in memory. The scan assembly then generates a drive signal according to the stored model to minimize the ripple.
In some cases, such feedback loops and adaptive control systems may include complex circuitry that occupies significant layout area or require specialized components, and thus may increase the complexity, size, and cost of the image generator 12.
SUMMARYAccording to an embodiment of the invention, a scan assembly sweeps an image beam in a first dimension at a first frequency and bi-directionally in a second dimension at a second frequency that is less than the first frequency.
For example, sweeping the beam bi-directionally in the vertical dimension can reduce the scanning power by eliminating the flyback period, and can reduce error in the beam position without a feedback loop by reducing the number of harmonics in the vertical sweep function. Furthermore, because the image beam is “on” longer due to the elimination of the flyback period, the scanned image is often brighter for a given beam intensity, thus allowing one to proportionally reduce the intensity, and thus the power, of the image beam for a given image brightness.
According to another embodiment of the invention, a scan assembly sweeps an image beam in the first dimension and non-linearly in the second dimension.
For example, sweeping the beam non-linearly in the vertical dimension can also reduce the error in the beam position by reducing the number of harmonics in the vertical sweep function.
Referring to
Still referring to
The following variables represent the parameters used to define a bi-sinusoidal sweep of an image beam according to this embodiment of the invention.
X(t)=the horizontal sweep sinusoid as a function of time
Y(t)=the vertical sweep sinusoid as a function of time
fh=horizontal sweep frequency
fv=vertical sweep frequency
φh=initial phase of the horizontal sweep sinusoid (X(t)
φv=initial phase of the vertical-sweep sinusoid (Y(t)
A=frequency at which the Lissajous scan pattern formed by the horizontal and vertical sweep sinusoids repeats itself
R=frequency at which images are to be scanned/displayed
N=number of images to be scanned/displayed during a period 1/A
nh=number of cycles of the horizontal sweep sinusoid per period 1/A
nv=number of cycles of the vertical sweep sinusoid per period 1/A
ph=horizontal resolution of, i.e., number of horizontal pixels in, the source and scanned images
Pv=vertical resolution of, i.e., number of vertical pixels in, the source and scanned images
Δ=maximum width between scan lines in the dimension of the lowest sweep frequency.
And these parameters are defined or related by the following equations. As discussed below, some of these equations are not absolute, but are merely guidelines.
X(t)=(ph/2)sin(2πfht+φh) (1)
Y(t)=(pv/2)sin(2πfvt+φv) (2)
For example, if ph=800 and pv=600, X(t) ranges from +400 pixels (400 pixels from the center to the right side of the screen 14 in
N=R/A (3)
For example, if the Lissajous pattern repeats itself at a rate of A=1 Hz, and the images are to be scanned out at a rate of R=5 Hz, then N=5/1=5 images are displayed per each period 1/A during which a complete Lissajous pattern is scanned.
fh=Anh (4)
fn=Anh (5)
For example, if A=1 Hz and it takes nh=9 periods of the horizontal sweep frequency fh to complete the Lissajous pattern, then fh=1×9=9 Hz. Similarly, if nv=2 periods of the vertical sweep frequency fv to complete the Lissajous pattern, then fv=1×2=2 Hz. It is preferred, but not required, that nh and nv be integers that have no common factor between them other than one. As discussed below in conjunction with
Combining equations (4) and (5) yields:
fh/nh=fv/nv=A (6)
Furthermore, assuming that fv is less than fh, which is typically (but not always) the case, then:
Δ=(πpvA)/2fh (7)
As discussed below in conjunction with
Still referring to
fh≧(πpvA)/2 (8)
Next, the A can be determined. For example, assume that the source images are video images having a display rate of R=30 Hz (30 images per second), and that image generator (
Then, the designer selects nv. For example, assume that the designer wishes nv=2 (two vertical sweep cycles per each Lissajous pattern).
Next, the designer calculates fv from equation (5). In this example, A=30 Hz and nv=2, giving fv=60 Hz. Although fv can be any frequency compatible with the scan assembly, it has been empirically determined that, for image quality purposes, ˜50 Hz≦fv≦˜75 Hz or fv>1500 Hz.
Then, the designer calculates the minimum value of fh from equation (8). In this example where Pv=6 and A=30 Hz, fh>(π6×30)/2≧˜282.60 Hz.
Next, the designer preferably chooses the lowest value of fh that substantially satisfies equation (8) and that yields an integer for nh that has no common factor with nv other than one. From equation (6), selecting fh=270 Hz yields nh=9, which has no common integer factor with nv=2. Although fh=270 Hz<282.60 Hz, it yields, per equation (7), a maximum line width Δ=1.05 pixels, which is within 5% of the desired maximum line width of 1 pixel. Therefore, fh=270 Hz substantially satisfies equation (8). Of course, the designer can select a lower value for fh if it yields a scanned image having an acceptable quality. Alternatively, the designer may select a higher value for fh, such as 330 Hz, which yields nh=11 and Δ<1. But the scan assembly (
Other embodiments of the above-described design technique are contemplated. For example, the designer may perform the steps of the design procedure in an order that is different than that described above. Furthermore, nh and nv may have a common factor other than one. However, this merely results in higher frequencies fh and fv with no decrease in the maximum line width Δ. For example, the designer could select fh=540 Hz and fv=120 Hz such that nh=18 and nv=4. But these higher frequencies would merely retrace the Lissajous pattern 40 twice as fast as fh=270 Hz and fv=60 Hz. Therefore, as discussed above, selecting nh and nv to have no common non-unity factor typically provides the smallest Δ for the frequencies used. Moreover, one or both of nh and nv may be a non-integer. This, however, may cause the Lissajous pattern to begin and end at different points on the display screen from retrace period (1/A) to retrace period, thus causing the pattern to “roll”, unless addition processing is applied. Such rolling may adversely affect the quality of the scanned image. In addition, although in the above example fh>>fv, the designer can select fv≈fh, fv>fh, or f>>fh. Where fv>>fh, the designer should substitute ph for pv and fv for fh in equation (7), and where fv=fh, the designer should use equation (7) and its vertical equivalent to insure the desired maximum line width Δ in both the horizontal (X) and vertical (Y) dimensions. Furthermore, the horizontal and vertical sweep functions X(t) and Y(t) may be other than sinusoids. An example of a non-sinusoidal function Y(t) is discussed below in conjunction with
While the above-described rolling may degrade image quality or increase complexity of the data processing, such an approach may be desirable in some cases. For example, in imaging applications or lower-resolution applications, a non-integer ratio can allow greater flexibility in scanner design or can increase addressability, while typically increasing the risk of image artifacts.
Referring to
Generally, as discussed below in conjunction with
2πfvt+φv0(the total phase of Y(t))=±π/2 (9)
2πfht+φh0φh0(the total phase of X(t))=−π/2+(π/nv)[k+½] for k=0, 1, . . . (2nv−1) (10)
As a corollary to equations (9) and (10), a preferred phase relationship also exists between X(t) and Y(t) when both of the following equations are simultaneously satisfied:
2πfht+φh0(the total phase of X(t))=±π/2 (11)
2πfvt+φv0(the total phase of Y(t))=−π/2+(π/nh)[k+½] for k=0, 1, . . . (2nh−1) (12)
Because fv≠fh, the instantaneous difference between the total phases of X(t) and Y(t) changes over time. Therefore, equation (10) defines allowable phases of X(t) when the phase of Y(t) has a given value—±π/2 in this example; similarly, equation (12) defines allowable phases of Y(t) when the phase of X(t) has a given value—again ±π/2. One can also derive other equations that yield allowable phases for X(t) when Y(t) has a given phase other than ±π/2, or that yield allowable phases for Y(t) when X(t) has a given phase other than ±π/2. But regardless of which equations are used, they all define the same preferred phase relationship(s) shown in
Still referring to
As shown in
Referring to
Referring to
Therefore, referring to
Offsetting a Source-Image Switch Rate fs from the Vertical Sweep Frequency fv for A Bi-Directional Vertical Sweep
As discussed below in conjunction with
The bi-sinusoidally scanned images 50a-50c each correspond to a respective source video image S1-S3, and depict motion of a ball 56 and a toy car 58. That is, the image 50a is a bi-sinusoidally scanned reproduction of S1, the image 50b is a bi-sinusoidally scanned reproduction of S2, and the image 50c is a bi-sinusoidally scanned reproduction of S3. The image generator (
The source images S1-S3 are captured such that a known time elapses between the capture of a moving object from one source image to the next. Specifically, if the source images S are captured by a conventional raster scan or light-integration technique, then the elapsed time between the capture of pixels in the same relative location of successive source images S is substantially constant. For example, if the source images S1-S3 are so captured at a rate of 30 Hz ( 1/30th second per image), then the elapsed time between the pixels P1 in S1 and P2 in S2 equals 1/30th seconds, as does the elapsed time between the pixels P3 in S2 and P4 in S3. Consequently, the relative distance between the positions of the ball 56 in the source images S1 and S2 represents the movement of the ball during the approximately 1/30th of a second that elapses between the capture of the ball in these two positions. Similarly, the relative distance between the positions of the car 58 in the source images S2 and S3 represents the movement of the car during the approximately 1/30th of a second that elapses between the capture of the car in two positions.
But by repeatedly switching from one source image S to the next source image S in the same relative location of the images 50, an image generator (
Still referring to
Referring to
For example, where fs=8fv/5, the image generator (
Then, the image generator starts scanning the image 50b from the top 62b, but does not begin generating the beam from the pixels of the source image S2 until line 64b, which is ¼ way down the image 50b and 5/4 images 50 down from the bottom 60a. That is, the top ¼ of the image 50b is the same as the top ¼ of the image 50a because the image generator continues generating the image beam from the source image S1 until line 64b of the image 50b.
Next, the image generator finishes scanning the image 50b from the line 64b downward while generating the image beam from pixels of the source image S2.
Then, the image generator starts scanning the image 50c from the bottom 60c, but does not switch the generation of the beam to the pixels of the source image S3 until the line 66c, which is ½ way up the image 50c and 5/4 images 50 from the line 64b. That is, the bottom ½ of the image 50c is the same as the bottom ½ of the image 50b because the image generator continues generating the image beam from the source image S2 until the line 66c of the image 50c.
Next, the image generator finishes scanning the image 50c from the line 66c upward while generating the image beam from pixels of the source image S3.
Then, the image generator starts scanning the image 50d from the top 62d, but does not switch the generation of the beam to the pixels of the source image S4 until the line 68d, which is ¾ the way down the image 50c and 5/4 images 50 from the line 66c. That is, the top ½ of the image 50d is the same as the top ½ of the image 50c because the image generator continues generating the image beam from the source image S3 until the line 68d of the image 50d.
Next, the image generator finishes scanning the image 50d from the line 68d downward while generating the image beam from pixels of the source image S4.
Then, the image generator starts scanning the image 50e from the bottom 60e, but does not switch the beam to the pixels of the source image S5 until the top 62e of the image 50e.
The image generator continues on in this manner, and the switching lines 60, 62, 64, 66, and 68 periodically repeat. However, the frequency of switching at any one line is low enough to reduce or eliminate the perception of false ghost objects.
Although this technique may generate false ghost objects at a switching line, it has been empirically determined that because the switching line effectively moves from scanned image 50 to scanned image 50 such that the frequency of switching at a particular line is relatively low, the false ghost objects are less noticeable or unnoticeable. The occurrence of false ghost objects may be further reduced if the period at which a particular switch line repeats is greater than the persistence of the human eye. For example, if the time between a source-image switch at the line 66 and the following switch at the line 66 is greater than the persistence of the human eye, a viewer is less likely to perceive false ghost objects near the line 66.
Furthermore, although an example where fs=8fv/5 is discussed, there are other relationships between fs and fv that reduce/eliminate false ghost objects. The optimum relationship between fs and fv and other artifacts often depends on the application and the actual values of fs and fv, and thus is often determined on an ad hoc basis.
Modulating the Intensity of the Image Beam Relative to the Location of the BeamReferring to
A conventional technique for making the brightness of a scanned image uniform where the beam is sinusoidally swept in the horizontal (X) dimension is to modulate the intensity of the beam in proportion to the instantaneous sweep velocity in the horizontal (X) dimension. Therefore, in the side regions of the scanned image where the beam velocity is lower, the beam intensity is proportionally lower, and in the center regions where the beam velocity is higher, the beam intensity is proportionally higher. More specifically, because the horizontal sweep function X(t)=sin(2πfht+φh) denotes the horizontal location of the beam, and using I max to denote the maximum instantaneous intensity of the beam, the modulated instantaneous intensity of the beam equals Imax (instantaneous horizontal velocity)/(maximum horizontal velocity)=I max×(d/dt sin(2πfht+(φh))/max(d/dt sin(2πfht+φh)), and is thus given by the following equation:
I(modulated-maximum instantaneous beam intensity)=Imax×cos(2πfht+φh)/1. (13)
This horizontal modulation technique is further discussed in U.S. Pat. No. 6,445,362 to Tegreene, entitled “SCANNED BEAM DISPLAY WITH VARIATION COMPENSATION”, which is incorporated by reference. Intuitively, however, it may seem that modulating the beam intensity according the vertical sweep velocity would not provide the desired results where the vertical sweep frequency fv is significantly lower than the horizontal sweep frequency fh.
Still referring to
I=Imax×cos(2πfht+φh)×cos(2πfvt+φv). (14)
An alternative embodiment is to modulate the intensity of the beam in proportion to the vertical sweep velocity only such that:
I=Imax×cos(2πfvt+φv) (15)
Conventional circuitry that can derive cos(2πfvt+φv) and/or cos(2πfht+φh) from the sinusoidal sweeping functions X(t) and Y(t) of equations (1) and (2) and accordingly modulate the intensity of the beam is relatively simple, thus making this modulation technique relatively easy to implement.
Referring to
Y(t)=(1−u)(pv/2)sin(2πfvt+φv)+u(pv/2)sin(2π3fvt+φv) (16)
where u is an empirically determined scale factor. One can see from equation (16) that the more-linear slopes of the vertical sweep function Y(t) are obtained by adding a third harmonic of fv to the sinusoidal Y(t) of equation (2). And adding additional odd harmonics beyond the third harmonic makes the slopes more linear by causing Y(t) to approach a triangle wave. Furthermore, as discussed below, one can design an image generator that vertically sweeps a beam according to equation (16) and compute the preferred phase relationship between X(t) of equation (1) and Y(t) of equation (16) according to the concepts discussed above in conjunction with
Referring to
Referring again to
Δ=(max vertical beam velocity)/2fhnv (17)
where fv<fn. Therefore, by reducing the maximum vertical beam velocity, which is proportional to the maximum slope (i.e., the maximum of the time derivative) of the vertical sweep function Y(t), one can proportionally reduce fh yet maintain Δ at a desired value. Because the maximum slope of the pseudo triangle wave of
Referring yet again to
2πfht+φh0(the total phase of X(t))=±π/2 (11)
2π3fvt+φv0(the total phase of the third harmonic of Y(t))=3(π/2+(π/nh)[k+½]) for k=0, 1, . . . (2nh−1) (18)
Consequently, one can design an image generator that uses a multi-harmonic vertical sweep function Y(t) according to the procedures discussed above in conjunction with
Referring to
To locate the scanned pixels Z coincident with the vertical lines of the grid pattern 42, the image generator (
Because the scanned pixels Z are coincident with the vertical lines of the grid pattern 42, the image generator interpolates the intensity of each pixel Z from the source pixels P that are immediately above and below the pixel Z on the same vertical grid line. For example, the image generator interpolates the intensity of the pixel Z1,y from the intensities of the source pixels P1,1 and P1,−1. In one embodiment, the image generator computes the intensity IZ1,y of Z1,y according to the following conventional linear-interpolation equation:
IZ1,y=αIP1,1+(1−α)IP1,−1 (19)
where α is the absolute value of the vertical distance between P1,−1 and Z1,y, (1−α) is the absolute value of the vertical distance between P1,1 and Z1,y, and IP1,−1, and IP1,1 are the respective intensities of the source periods P1,−1 and P1,1. The image generator typically retrieves the intensities of the pixels P from the buffer (
To interpolate the intensities of the scanned pixels Z from the adjacent source pixels P as discussed in the preceding paragraph, the image generator tracks the position of the image beam relative to the grid 42 so that it can determine which pixels P to use for the interpolation. Techniques for tracking the position of the image beam are discussed below.
Still referring to
The image generator can track the vertical position of the image beam in a similar manner by generating a non-linear vertical pixel clock and clocking a vertical position counter therewith. To provide a measure of α, the frequency of the non-linear vertical pixel clock can be increased by a scale factor. For example, increasing the frequency by ten provides ten clock “ticks” between each pair of pixels P in the vertical dimension, and thus provides a to a resolution of 0.1 pixels.
Another technique for keeping track of the horizontal and vertical positions of the image beam is discussed below in conjunction with
Referring to
IZ=(1−α)[(1−β)IPx,y+βIPx+1,y]+α[(1−β)IPx,y+1+βIPx+1,y+1] (20)
Equation (20) is valid regardless of the direction in which the scan assembly (
The clock circuit 102 generates a linear pixel clock having a frequency fp according to the following equation:
fp=Mfh (21)
where M=2ph. For example, referring to
The horizontal and vertical phase accumulators 104 and 106 respectively track the total phases θ and ψ of the horizontal and vertical sweep functions X(t) and Y(t) according to the following equations:
θn=θn-1+2π/M (22)
ψn=ωn-1+(nv/nh)2π/M (23)
where n represents the current “tick” of the pixel clock and n−1 represents the immediately previous “tick”. For example, where the horizontal and vertical sweep functions X(t) and Y(t) are sinusoids per equations (1) and (2)
θ=2πfh+φh (24)
ψ=2πfv+φv. (25)
Because the phase of a sinusoid increases linearly versus time, for each “tick” of the pixel clock the horizontal phase θ increases by the same amount 2π/M. For example, where M=16, the horizontal phase θ increments π/8 radians for each “tick”, and thus completes a full rotation of 2π every sixteen “ticks”, which is equivalent to one cycle of the horizontal sweep frequency fh per above. Furthermore, because fv=fhnv/nh (equation (6)), the vertical phase ψ only increases nv/nh as fast as θ does. For example, where nv=2, nh=9, and M=16, ψ increments (2/9)×π/8=π/36 radians for each “tick”, and thus repeats a full rotation of 2π every seventy two “ticks” of the pixel clock, which is every four and one half cycles of the horizontal sweep frequency fh. This agrees with equation (6) and
Referring to
Xn=Xn-1+aj2π/M
Yn=Yn-1+ci(nv/nh)2π/M (27)
where aj represents a linear approximation of the horizontal sweeping function X(t) at 2π/M, and ci represents a linear approximation of the vertical sweeping function Y(t) at (nv/nh)2π/M. For example, where X(t) and Y(t) are sinusoidal per equations (1) and (2) above, they can be conventionally represented by respective Taylor series expansions that effectively break down the sinusoids into a number (j, i) of line segments. The more line segments used, the more accurate the linear approximation. Aj and ci are the slopes of these line segments in units of distance (in terms of source pixels) per radian, where j=0 to the jth line segment approximating X(t), and i=0 to the ith line segment approximating Y(t). Therefore, aj2π/M is the horizontal distance in pixels ph traveled by the beam in one clock “tick”, and ci(nv/nh)2π/M is the vertical distance in pixels pv traveled by the beam in one clock “tick.” The horizontal and vertical position accumulators 108 and 110 respectively retrieve aj and ci from the memory 112 based on the horizontal and vertical phases θn and ψn, and store the retrieved aj and ci until θn and ψn cause the accumulators 108 and 110 to update aj and ci by retrieving updated values therefore.
Still referring to
Using the above example, the vertical position accumulator 110 operates in a similar manner. Y(t) is approximated by two line segments i=0 and i=1 respectively having slopes c0=(6 pixels)/(π radians) and c1=−(6 pixels)/(π radians). The accumulator 110 uses c0 in equation (27) for −π/2<ψn<+π/2 and uses c1 in equation (27) for +π/2<ψn≦−π/2. Specifically, when ψn transitions from being less than or equal to −π/2 to being greater than −π/2, the vertical position accumulator 110 retrieves c0 from the memory 112, and stores c0 for repeated use until ψn becomes greater than +π/2. And when ψn becomes greater than +π/2, the accumulator 110 retrieves c1 from the memory 112, and stores c1 for repeated use until ψn again becomes greater than −π/2. Consequently, the accumulator 110 need only access the memory 112 twice per vertical sweep cycle.
Referring again to
Xtranslated=Xn+Ph/2−0.5+Lh (28)
Ytranslated=Yn+Pv/2−0.5+Lv (29)
where Lh and Lv are optional alignment-correction factors as discussed below.
Specifically, Xn and Yn are incompatible with the grid pattern 42 (
To be compatible with the grid pattern 42 (
Lh and Lv of equations (28) and (29), respectively, mathematically account for misalignment of the image beam. In one embodiment of the invention, the horizontal and vertical phase accumulators 104 and 106 are respectively calibrated such that θn=0 as the reflector (
In one embodiment of the invention the horizontal and vertical position translators 114 and 116 are floating-point counters such that the integer portions of Xtranslated and Ytranslated are the coordinates of the lowest-number source pixel P and the decimal portions are β and α, respectively. For example, referring to
Still referring to
Other embodiments of the position-tracking and interpolation circuit 100 are contemplated. For example, because the scanning pattern 40 (
The scan assembly 132 includes a sweep-drive circuit 140 and a conventional reflector 142, such as the reflector 22 of
The image-beam generator 134 includes a position-intensity circuit 144, a scanned-pixel interpolator 146, a conventional beam source 148, and a buffer-switch circuit 150. The circuit 144 can modulate the intensity of the beam 136 according to the position of the beam as discussed above in conjunction with
The source-image buffer 138 is a conventional buffer that receives source video or still images in a conventional manner from a conventional source. For example, the buffer 138 may receive video images via a stream of video data from a computer (not shown) or from the internet (not shown).
Still referring to
The preceding discussion is presented to enable a person skilled in the art to make and use the invention. Various modifications to the embodiments will be readily apparent to those skilled in the art, and the generic principles herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Claims
1-71. (canceled)
72. An image generator, comprising:
- a scan assembly operable to scan an image by sweeping an image beam in a first dimension and non-linearly in a second dimension, the image beam having an intensity and operable to generate scanned pixels of the scanned image;
- a clock generator operable to generate a pixel clock; and
- a beam generator coupled to the clock generator and, in response to each cycle of the pixel clock, operable to interpolate a respective scanned pixel of the scanned image by interpolating the intensity of the image beam from a respective original pixel of an original image upon which the scanned image is based.
73. The image generator of claim 72 wherein:
- the first dimension comprises a vertical dimension; and
- the second dimension comprises a horizontal dimension.
74. The image generator of claim 72 wherein:
- the first dimension comprises a horizontal dimension; and
- the second dimension comprises a vertical dimension.
75. The image generator of claim 72 wherein the scan assembly is operable to sweep the image beam sinusoidally in the second dimension.
76. The image generator of claim 72 wherein the scan assembly is operable to sweep the image beam in the second dimension according to a sinusoid of a fundamental frequency and a sinusoid of a harmonic of the fundamental frequency.
77. The image generator of claim 72 wherein the clock generator is operable to generate the pixel clock such that the scanned pixels are substantially evenly spaced in the second dimension.
78. The image generator of claim 72 wherein the clock generator is operable to generate the pixel clock such that the scanned pixels are unevenly spaced in the second dimension.
79. The image generator of claim 72 wherein:
- the first and second dimensions respectively comprise vertical and horizontal dimensions;
- the clock generator is operable to generate the pixel clock such that the scanned pixels are substantially aligned with the respective original pixels in the vertical dimension; and
- the beam generator is operable to interpolate the respective scanned pixel by interpolating the intensity of the image beam from a respective original pixel that is substantially aligned with the scanned pixel in the vertical dimension.
80. The image generator of claim 72 wherein:
- the first and second dimensions respectively comprise vertical and horizontal dimensions;
- the scan assembly is operable to sweep the image beam non-linearly in the vertical dimension;
- the clock generator is operable to generate the pixel clock such that the scanned pixels are substantially aligned with the respective original pixels in the vertical dimension; and
- the beam generator is operable to interpolate each scanned pixel by interpolating the intensity of the image beam from a respective original pixel that is substantially aligned with the scanned pixel in the vertical dimension.
81. The image generator of claim 72 wherein:
- the first and second dimensions respectively comprise vertical and horizontal dimensions;
- the clock generator is operable to generate the pixel clock such that the scanned pixels are substantially aligned with the respective original pixels in the vertical dimension and that some of the scanned pixels are misaligned with the respective original pixels in the horizontal dimension; and
- the beam generator is operable to interpolate each of misaligned scanned pixel by interpolating the intensity of the image beam from two respective original pixels that are substantially aligned with and that are on opposite sides of the misaligned scanned pixel in the vertical dimension.
82. The image generator of claim 72 wherein:
- the first and second dimensions respectively comprise vertical and horizontal dimensions;
- the clock generator is operable to generate the pixel clock such that some of the scanned pixels are misaligned with the respective original pixels in the vertical and horizontal dimensions; and
- the beam generator is operable to interpolate each misaligned scanned pixel by interpolating the intensity of the image beam from three respective original pixels that together define a region in which the misaligned scanned pixel is located.
83. The image generator of claim 72 wherein:
- the first and second dimensions respectively comprise vertical and horizontal dimensions;
- the scan assembly is operable to sweep the image beam non-linearly in the vertical dimension;
- the clock generator is operable to generate the pixel clock such that some of the scanned pixels are misaligned with the respective original pixels in the vertical and horizontal dimensions; and
- the beam generator is operable to interpolate each misaligned scanned pixel by interpolating the intensity of the image beam from four respective original pixels that together define a region in which the misaligned scanned pixel is located.
84. A method, comprising:
- generating pixels of a scanned image by sweeping an image beam in a first dimension and non-linearly in a second dimension; and
- interpolating an intensity of the image beam for each scanned pixel from a respective original pixel of an original image upon which the scanned image is based.
85. The method of claim 84 wherein generating the pixels of the scanned image comprises sweeping the image beam sinusoidally in the second dimension.
86. The method of claim 84 wherein generating the pixels of the scanned image comprises sweeping the image beam in the second dimension according to a sinusoid of a fundamental frequency and a sinusoid of a harmonic of the fundamental frequency.
87. The method of claim 84 wherein interpolating the intensity of the image beam comprises interpolating the intensity at respective times that cause the scanned pixels to be substantially evenly spaced in the second dimension.
88. The method of claim 84 wherein interpolating the intensity of the image beam comprises interpolating the intensity at respective times that cause the scanned pixels to be unevenly spaced in the second dimension.
89. The method of claim 84 wherein interpolating the intensity of the image beam comprises:
- interpolating the intensity at respective times that cause the scanned pixels to be substantially aligned with the original pixels in the first dimension; and
- interpolating the intensity for each scanned pixel from a respective original pixel that is substantially aligned with the scanned pixel in the first dimension.
90. The method of claim 84 wherein:
- generating the pixels of the scanned image comprises sweeping the image beam non-linearly in the first dimension; and
- interpolating the intensity of the image beam comprises, interpolating the intensity at respective times that cause the scanned pixels to be substantially aligned with the original pixels in the first dimension; and interpolating the intensity for each scanned pixel from a respective original pixel that is substantially aligned with the scanned pixel in the first dimension.
91. The method of claim 84 wherein interpolating the intensity of the image beam comprises:
- interpolating the intensity at respective times that cause the scanned pixels to be substantially aligned with the original pixels in the first dimension and that cause at least some of the scanned pixels to be misaligned with the respective original pixels in the horizontal direction; and
- interpolating the intensity for each misaligned scanned pixel from two respective original pixels that are substantially aligned with and that are on opposite sides of the misaligned scanned pixel in the vertical dimension.
92. The method of claim 84 wherein interpolating the intensity of the image beam comprises:
- interpolating the intensity at respective times that cause at least some of the scanned pixels to be misaligned with the respective original pixels in the first and second dimensions; and
- interpolating the intensity for each misaligned scanned pixel from three respective original pixels that together define a region in which the misaligned scanned pixel is located.
93. The method of claim 84 wherein:
- generating the pixels of the scanned image comprises sweeping the image beam non-linearly in the first dimension; and
- interpolating the intensity of the image beam comprises, interpolating the intensity at respective times that cause at least some of the scanned pixels to be misaligned with the respective original pixels in the first and second dimensions, and interpolating the intensity for each misaligned scanned pixel from four respective original pixels that together define a region in which the misaligned scanned pixel is located.
Type: Application
Filed: May 5, 2009
Publication Date: Aug 27, 2009
Applicant: MICROVISION, INC. (Redmond, WA)
Inventors: Margaret Brown (Seattle, WA), Mark Freeman (Snohomish, WA), John R. Lewis (Bellevue, WA), Jim Bovee (Seattle, WA), Randy Sprague (Carnation, WA)
Application Number: 12/435,568
International Classification: G09G 3/00 (20060101);