In projection systems, such as digital light processor (DLP) systems and liquid crystal display (LCD) systems, it is often desirable to precisely calibrate the location of displayed images on a display surface. With many projection systems, however, the calibrated display location on the display surface may vary over time due to vibrations or environmental changes such as temperature variations. It would be desirable to be able to account for these variations without interrupting the display of images by the projection system.
According to one embodiment, a method performed by an image display system is provided. The method includes identifying a first arbitrary feature that is inherent in a first image frame and suitable for use as a first fiducial mark when the first image frame is displayed on a display surface by a display device and updating correspondence information between the display device and an image capture device using the first arbitrary feature in the first image frame and an image that is captured to include the first arbitrary feature on the display surface.
In the following Detailed Description, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. In this regard, directional terminology, such as “top,” “bottom,” “front,” “back,” etc., may be used with reference to the orientation of the Figure(s) being described. Because components of embodiments of the present invention can be positioned in a number of different orientations, the directional terminology is used for purposes of illustration and is in no way limiting. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. The following Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.
As described herein, a system and method for adaptively generating correspondence information in an image display system using arbitrary features is provided. The correspondence information may be periodically or continuously updated during normal operation of the image display system. To do so, the system and method identify inherent, arbitrary features of a still or video image. The system and method generates correspondences between the features in a space of a display device used to display the image on a display surface and a camera space of a camera used to capture an image of the display surface that includes the displayed image. The system and method updates correspondence information between the display device and the camera using correspondences currently found on the displayed image. Image display system uses the updated correspondence information to generate subsequent image frames for display on the display surface. Accordingly, the image display system may be updated during normal operation without interrupting the viewing of images from the system.
Image display system 10A processes image data 12 and generates a corresponding displayed image 24 on a display surface 26. In the embodiment of
An image frame buffer 14 receives and buffers image data 12 to create image frames 16. Processing system 18 processes image frames 16 to define corresponding processed frames 20 and provides processed frames 20 to a display device 22. Display device 22 receives processed frames 20 and stores processed frames 20 in a frame buffer (not shown). Display device 22 displays processed frames 20 onto display surface 26 to produce displayed image 24 for viewing by a user.
Display system 10A includes at least one camera 32 configured to capture images 34 to include displayed images 24 on display surface 26. Camera 32 includes any suitable image capture device configured to capture at least a portion of displayed images 24 on display surface 26.
Processing system 18 compares captured images 34 to processed frames 20 to determine correspondence information 36 between display device 22 and camera 32. Processing system 18 generates processed frames 20 from image frames 16 using correspondence information 36 to adjust geometric and/or photometric features of displayed images 24. The geometric features may include, for example, the size and shape of displayed images 24 on display surface 26, and the photometric features may include, for example, the brightness and color tones of displayed images 24 on display surface 26.
Image display system 10A adaptively generates correspondence information 36 while displaying displayed images 24 on display surface 26.
Referring to
In one embodiment, processing system 18 examines processed frame 20 to identify features 21 that are suitable for use as a fiducial mark. Features 21 that are suitable for use as fiducial marks include those features, such as corner features with sufficient constrast, that are not positionally ambiguous under the aperture of camera 32 and whose points can be precisely located in a captured image 34. For example, under a small camera aperture, a corner of a large square may fit only one position and may not be positionally ambiguous, whereas a piece of a line segment may fit multiple positions and may be positionally ambiguous in the direction that is parallel to the line. Processing system 18 may use any suitable algorithm to identify features 21 that are suitable for use as a fiducial mark. In the example of
Image display system 10A updates correspondence information 36 between display device 22 which displays processed frame 20 as displayed image 24 on display surface 26 and camera 32 which captures image 34 to include features 35 from display surface 26 as indicated in a block 54. Display device 22 displays the processed frame 20 onto display surface 26 to form displayed image 24. Displayed image 24 includes features 25 that correspond to features 21 in processed frame 20. Camera 32 captures image 34 to include features 25 in displayed image 24. Thus, features 25 appear in captured image 34 as features 35.
Image display system 10A determines correspondences between features 21 in a processed frame 20 and features 35 in an image 34 captured to include a displayed image 24. To do so, processing system 18 locates features 35 in image 34 that correspond to features 21 in processed frame 20. In the example of
Processing system 18 compares the relative locations of features 35 in image 34 to the relative locations of features 21 in processed frame 20, as determined in identifying features 21, to generate correspondences between features 35 and features 21. In
Processing system 18 updates correspondence information 36 as indicated by an arrow 62 in
In the above embodiments, features 21 correspond to inherent, arbitrary features 17 in a still or video image frame 16, and image display system 10A identifies features 21 without prior knowledge of the existence or location of features 21 in processed frame 20. Features 21 may be arbitrary in shape, size, configuration, and location in processed frame 20. In addition, some processed frames 20 may not include any features that are suitable for use as fiducial marks. Accordingly, image display system 10A may not determine correspondences using processed frames 20 that do not include features that are suitable for use as fiducial marks.
Using the method of
In the embodiment of
Processing system 18 may be implemented in hardware, software, firmware, or any combination thereof. For example, processing system 18 may include a microprocessor, programmable logic device, or state machine. Processing system 18 may also include software stored on one or more computer-readable mediums and executable by processing system 18. The term computer-readable medium as used herein is defined to include any kind of memory, volatile or non-volatile, such as floppy disks, hard disks, CD-ROMs, flash memory, read-only memory, and random access memory.
Image frame buffer 14 includes memory for storing image data 12 for image frames 16. Thus, image frame buffer 14 constitutes a database of image frames 16. Examples of image frame buffer 14 includes non-volatile memory (e.g., a hard disk drive or other persistent storage device) and may include volatile memory (e.g., random access memory (RAM)).
Display device 22 includes any suitable device or devices (e.g., a conventional projector, an LCD projector, a digital micromirror device (DMD) projector, a CRT display, an LCD display, or a DMD display) that are configured to display displayed image 24 onto or in display surface 26.
Display surface 26 may be planar, non-planar, curved, or have any other suitable shape. In one embodiment, display surface 26 reflects light projected by display device 22 to form displayed images 24. In another embodiment, display surface 26 is translucent, and display system 10A is configured as a rear projection system.
In other embodiments, other display devices (not shown) may form images (not shown) on display surface 26 that overlap with displayed image 24. For example, display device 22 may be a portion of a hybrid display system with another type of display device that also displays images onto or in display surface 26. In these embodiments, any images that would overlap with the display of features 25 on display surface 26 may be configured not to interfere with the display of features 25 on display surface 26. For example, blank regions may be included in the additional overlapping images to prevent a spatial overlap between the additional images and features 25. The blank regions may be configured not to add light to features 25 or not to subtract light from features 25 as appropriate.
A. Image Display System for Projecting Overlapping Images
Image display system 10B processes image data 102 and generates a corresponding displayed image 114 on a display surface 116. In the embodiment of
Image frame buffer 104 receives and buffers image data 102 to create image frames 106. Sub-frame generator 108 processes image frames 106 to define corresponding image sub-frames 110(1)-10(M) (collectively referred to as sub-frames 110) where M is an integer that is greater than or equal to two. For each image frame 106, sub-frame generator 108 generates one sub-frame 110 for each projector 112 in one embodiment. Sub-frames 110-110(M) are received by projectors 112-112(M), respectively, and stored in image frame buffers 113-113(M() (collectively referred to as image frame buffers 113), respectively. Projectors 112(1)-112(M) project the sub-frames 110(1)-110(M), respectively, onto display surface 116 in at least partially overlapping and spatially offset positions to produce displayed image 114 for viewing by a user.
In one embodiment, image display system 10B attempts to determine appropriate values for the sub-frames 110 so that displayed image 114 produced by the projected sub-frames 110 is close in appearance to how a corresponding high-resolution image (e.g., a corresponding image frame 106) from which the sub-frame or sub-frames 110 were derived would appear if displayed directly.
Also shown in
Display system 10B includes at least one camera 122 and calibration unit 124, which are used to automatically determine a geometric relationship between each projector 112 and the reference projector 118, as described in further detail below with reference to the embodiment of
Sub-frame generator 108 forms sub-frames 110 according to a geometric relationship between each of projectors 112 using camera-to-projector correspondence information 127 as described in additional detail below with reference to the embodiment of
In one embodiment, sub-frame generator 108 generates image sub-frames 110 with a resolution that matches the resolution of projectors 112, which is less than the resolution of image frames 106 in one embodiment. Sub-frames 110 each include a plurality of columns and a plurality of rows of individual pixels representing a subset of an image frame 106.
In one embodiment, display system 10B is configured to give the appearance to the human eye of high-resolution displayed images 114 by displaying overlapping and spatially shifted lower-resolution sub-frames 110. The projection of overlapping and spatially shifted sub-frames 110 may give the appearance of enhanced resolution (i.e., higher resolution than the sub-frames 110 themselves).
Sub-frames 110 projected onto display surface 116 may have perspective distortions, and the pixels may not appear as perfect squares with no variation in the offsets and overlaps from pixel to pixel, such as that shown in
Sub-frame 110(1) is spatially offset from sub-frame 110(2) by a predetermined distance. Similarly, sub-frame 110(3) is spatially offset from sub-frame 110(4) by a predetermined distance. In one illustrative embodiment, vertical distance 204 and horizontal distance 206 are each approximately one-half of one pixel.
The display of sub-frames 110(2), 110(3), and 110(4) are spatially shifted relative to the display of sub-frame 110(1) by vertical distance 204, horizontal distance 206, or a combination of vertical distance 204 and horizontal distance 206. As such, pixels 202 of sub-frames 110(1), 110(2), 110(3), and 110(4) at least partially overlap thereby producing the appearance of higher resolution pixels. Sub-frames 110(1), 110(2), 110(3), and 110(4) may be superimposed on one another (i.e., fully or substantially fully overlap), may be tiled (i.e., partially overlap at or near the edges), or may be a combination of superimposed and tiled. The overlapped sub-frames 110(1), 110(2), 110(3), and 110(4) also produce a brighter overall image than any of sub-frames 110(1), 110(2), 110(3), or 110(4) alone.
Image display system 10B adaptively generates correspondence information 127 while displaying displayed images 114 on display surface 116.
Referring to
Image display system 10B selects features 107 that are suitable for use as fiducial marks when displayed on display surface 116 by a projector 112 with overlapping sub-frames 110 as indicated in a block 224. Because displayed image 114 is formed from overlapping sub-frames 110 from multiple projectors 112, certain features identified in block 222 may be too bright, too distorted, or otherwise not suited to being formed in displayed image 114 with a single projector 112. Accordingly, sub-frame generator 108 selects features 107 that may be suitably formed in displayed image 114 by a single projector 112 and eliminates features 107 that may not be suitably formed in displayed image 114 by a single projector 112. In the example of
Image display system 10B generates sub-frames 110 using camera-to-projector correspondence information 127 and, for each feature 107, includes feature 107 as a feature 109 in only one of sub-frames 110 and includes blank regions 111 corresponding to the location of feature 109 in the remaining sub-frames 110 as indicated in a block 226. Sub-frame generator 108 generates sub-frames 110 using camera-to-projector correspondence information 127. For each feature 107, sub-frame generator 108 generates sub-frames 110 so that only one sub-frame 110 is configured to include feature 107 as a feature 109 and so that sub-frames 110 that are not configured to display a feature 107 include a blank region 111 corresponding to the location of feature 109. Sub-frame generator 108 may include all features 107 as feature 109 in a single sub-frame 110 or may distribute features 107 as features 109 through two or more sub-frames 110.
In the example of
Image display system 10B projects sub-frames 110 onto display surface 116 to display features 109 in sub-frames 110 as features 117 in displayed image 114 as indicated in a block 228. Projectors 112 project sub-frames 110 onto display surface 116 to form features 117 in displayed image 114 that correspond to features 109 in respective sub-frames 110. In the example of
Because each feature 107 is displayed using only one sub-frame 110, the regions in displayed image 114 that include displayed features 107 may have a lower resolution that the remainder of displayed image 114 which is displayed using two or more sub-frames 110. Accordingly, these regions in displayed image 114 may be selected in block 224 above to minimize any visual artifacts that may be seen by a viewer of displayed image 114.
Image display system 10B captures an image 123 that includes features 125 captured to include features 117 in displayed image 114 on display surface 116 as indicated in a block 230. Camera 122 captures image 123 to include features 117 in displayed image 114. Thus, features 109 appear in captured image 123 as features 125. . In the example of
Image display system 10B determines correspondences between features 109 in sub-frames 110 and features 125 in an image 125 captured to include displayed image 114 as indicated in a block 232. For each sub-frame 110, calibration unit 124 determines correspondences between features 109 included in that sub-frame 110 and corresponding features 125 in image 123. To do so, calibration unit 124 locates features 125 in image 123 that correspond to features 109 in sub-frame 110. In the example of
Calibration unit 124 compares the relative locations of features 125 in image 123 to the relative locations of features 109 in respective sub-frames 110 to determine correspondences between features 125 and features 109. In
Image display system 10B updates camera-to-projector correspondence information 127 as indicated in a block 234. Calibration unit 124 updates camera-to-projector correspondence information 127 as indicated by an arrow 254 in
In the above embodiments, features 109 correspond to inherent, arbitrary features 107 in a still or video image frame 106, and image display system 10B identifies features 107 without prior knowledge of the existence or location of features 107 in image frame 106. Features 107 may be arbitrary in shape, size, configuration, and location in image frame 106. In addition, some image frames 106 may not include any features that are suitable for use as fiducial marks. Accordingly, image display system 10B may not generate correspondences using image frames 106 that do not include features that are suitable for use as fiducial marks.
In other embodiments, calibration unit 124 may determine correspondences using an initial guess. In addition, calibration unit 124 may adaptively determine the correspondences where the correspondences for each projector 112 are determined sequentially at first (rather than simultaneously) and subsequently determine updates to correspondences for all projectors 112 simultaneously.
Using the method of
Although the method of
Image display system 10B includes hardware, software, firmware, or a combination of these. In one embodiment, one or more components of image display system 10B are included in a computer, computer server, or other microprocessor-based system capable of performing a sequence of logic operations. In addition, processing can be distributed throughout the system with individual portions being implemented in separate system components, such as in a networked or multiple computing unit environments.
Sub-frame generator 108 and calibration unit 124 may be implemented in hardware, software, firmware, or any combination thereof and may be combined into a unitary processing system. For example, sub-frame generator 108 and calibration unit 124 may include a microprocessor, programmable logic device, or state machine. Sub-frame generator 108 and calibration unit 124 may also include software stored on one or more computer-readable mediums and executable by a processing system (not shown). The term computer-readable medium as used herein is defined to include any kind of memory, volatile or non-volatile, such as floppy disks, hard disks, CD-ROMs, flash memory, read-only memory, and random access memory.
Image frame buffer 104 includes memory for storing image data 102 for image frames 106. Thus, image frame buffer 104 constitutes a database of image frames 106. Image frame buffers 113 also include memory for storing any number of sub-frames 110. Examples of image frame buffers 104 and 113 include non-volatile memory (e.g., a hard disk drive or other persistent storage device) and may include volatile memory (e.g., random access memory (RAM)).
Display surface 116 may be planar, non-planar, curved, or have any other suitable shape. In one embodiment, display surface 116 reflects the light projected by projectors 112 to form displayed image 114. In another embodiment, display surface 116 is translucent, and display system 10B is configured as a rear projection system.
In other embodiments, other numbers of projectors 112 are used in system 10B and other numbers of sub-frames 110 are generated for each image frame 106.
In other embodiments, sub-frames 110(1), 110(2), 110(3), and 110(4) may be displayed at other spatial offsets relative to one another and the spatial offsets may vary over time.
In one embodiment, sub-frames 110 have a lower resolution than image frames 106. Thus, sub-frames 110 are also referred to herein as low-resolution images or sub-frames 110, and image frames 106 are also referred to herein as high-resolution images or frames 106. The terms low resolution and high resolution are used herein in a comparative fashion, and are not limited to any particular minimum or maximum number of pixels.
B. Sub-Frame Generation for Overlapping Images
In one embodiment, sub-frame generator 108 determines appropriate values for each sub-frame 110 using the embodiment described with reference to
In one embodiment, display system 10B produces at least a partially superimposed projected output that takes advantage of natural pixel mis-registration to provide a displayed image with a higher resolution than the individual sub-frames 110. In one embodiment, image formation due to multiple overlapped projectors 112 is modeled using a signal processing model. Optimal sub-frames 110 for each of the component projectors 112 are estimated by sub-frame generator 108 based on the model, such that the resulting image predicted by the signal processing model is as close as possible to the desired high-resolution image to be projected. In one embodiment described with reference to
In one embodiment, sub-frame generator 108 is configured to generate sub-frames 110 based on the maximization of a probability that, given a desired high resolution image, a simulated high-resolution image that is a function of the sub-frame values, is the same as the given, desired high-resolution image. If the generated sub-frames 110 are optimal, the simulated high-resolution image will be as close as possible to the desired high-resolution image. The generation of optimal sub-frames 110 based on a simulated high-resolution image and a desired high-resolution image is described in further detail below with reference to the embodiment of
Zk=HkDTYk Equation I
where:
DT=up-sampling matrix; and
Yk=low-resolution sub-frame 110 of the kth projector 112.
The low-resolution sub-frame pixel data (Yk) is expanded with the up-sampling matrix (DT) so that sub-frames 110 (Yk) can be represented on a high-resolution grid. The interpolating filter (Hk) fills in the missing pixel data produced by up-sampling. In the embodiment shown in
In one embodiment, the geometric mapping (Fk) is a floating-point mapping, but the destinations in the mapping are on an integer grid in image 304. Thus, it is possible for multiple pixels in image 302 to be mapped to the same pixel location in image 304, resulting in missing pixels in image 304. To avoid this situation, in one embodiment, during the forward mapping (Fk), the inverse mapping (Fk−1) is also utilized as indicated at 305 in
In another embodiment, the forward geometric mapping or warp (Fk) is implemented directly, and the inverse mapping (Fk−1) is not used. In one form of this embodiment, a scatter operation is performed to eliminate missing pixels. That is, when a pixel in image 302 is mapped to a floating point location in image 304, some of the image data for the pixel is essentially scattered to multiple pixels neighboring the floating point location in image 304. Thus, each pixel in image 304 may receive contributions from multiple pixels in image 302, and each pixel in image 304 is normalized based on the number of contributions it receives.
A superposition/summation of such warped images 304 from all of the component projectors 112 forms a hypothetical or simulated high-resolution image 306 ({grave over (X)}, also referred to as X-hat herein) in reference projector frame buffer 120, as represented in the following Equation II:
where:
Fk=operator that maps a low-resolution sub-frame 110 of the kth projector 112 on a hypothetical high-resolution grid to the reference projector frame buffer 120; and
If the simulated high-resolution image 306 (X-hat) in reference projector frame buffer 120 is identical to a given (desired) high-resolution image 308 (X), the system of component low-resolution projectors 112 would be equivalent to a hypothetical high-resolution projector placed at the same location as hypothetical reference projector 118 and sharing its optical path. In one embodiment, the desired high-resolution images 308 are the high-resolution image frames 106 received by sub-frame generator 108.
In one embodiment, the deviation of the simulated high-resolution image 306 (X-hat) from the desired high-resolution image 308 (X) is modeled as shown in the following Equation III:
X={grave over (X)}+η Equation III
where:
As shown in Equation III, the desired high-resolution image 308 (X) is defined as the simulated high-resolution image 306 (X-hat) plus η, which in one embodiment represents zero mean white Gaussian noise.
The solution for the optimal sub-frame data (Yk*) for sub-frames 110 is formulated as the optimization given in the following Equation IV:
where:
Thus, as indicated by Equation IV, the goal of the optimization is to determine the sub-frame values (Yk) that maximize the probability of X-hat given X. Given a desired high-resolution image 308 (X) to be projected, sub-frame generator 108 determines the component sub-frames 110 that maximize the probability that the simulated high-resolution image 306 (X-hat) is the same as or matches the “true” high-resolution image 308 (X).
Using Bayes rule, the probability P(X-hat|X) in Equation IV can be written as shown in the following Equation V:
where:
The term P(X) in Equation V is a known constant. If X-hat is given, then, referring to Equation III, X depends only on the noise term, η, which is Gaussian. Thus, the term P(X|X-hat) in Equation V will have a Gaussian form as shown in the following Equation VI:
where:
To provide a solution that is robust to minor calibration errors and noise, a “smoothness” requirement is imposed on X-hat. In other words, it is assumed that good simulated images 306 have certain properties. The smoothness requirement according to one embodiment is expressed in terms of a desired Gaussian prior probability distribution for X-hat given by the following Equation VII:
where:
In another embodiment, the smoothness requirement is based on a prior Laplacian model, and is expressed in terms of a probability distribution for X-hat given by the following Equation VIII:
where:
The following discussion assumes that the probability distribution given in Equation VII, rather than Equation VIII, is being used. As will be understood by persons of ordinary skill in the art, a similar procedure would be followed if Equation VIII were used. Inserting the probability distributions from Equations VI and VII into Equation V, and inserting the result into Equation IV, results in a maximization problem involving the product of two probability distributions (note that the probability P(X) is a known constant and goes away in the calculation). By taking the negative logarithm, the exponents go away, the product of the two probability distributions becomes a sum of two probability distributions, and the maximization problem given in Equation IV is transformed into a function minimization problem, as shown in the following Equation IX:
where:
The function minimization problem given in Equation IX is solved by substituting the definition of X-hat from Equation II into Equation IX and taking the derivative with respect to Yk, which results in an iterative algorithm given by the following Equation X:
Y
k
(n+1)
=Y
k
(n)
−Θ{DH
k
T
F
k
T└({grave over (X)}(n)−X)+β2∇2{grave over (X)}(n)┘} Equation X
where:
Equation X may be intuitively understood as an iterative process of computing an error in the hypothetical reference projector coordinate system and projecting it back onto the sub-frame data. In one embodiment, sub-frame generator 108 is configured to generate sub-frames 110 in real-time using Equation X. The generated sub-frames 110 are optimal in one embodiment because they maximize the probability that the simulated high-resolution image 306 (X-hat) is the same as the desired high-resolution image 308 (X), and they minimize the error between the simulated high-resolution image 306 and the desired high-resolution image 308. Equation X can be implemented very efficiently with conventional image processing operations (e.g., transformations, down-sampling, and filtering). The iterative algorithm given by Equation X converges rapidly in a few iterations and is very efficient in terms of memory and computation (e.g., a single iteration uses two rows in memory; and multiple iterations may also be rolled into a single step). The iterative algorithm given by Equation X is suitable for real-time implementation, and may be used to generate optimal sub-frames 110 at video rates, for example.
To begin the iterative algorithm defined in Equation X, an initial guess, Yk(0), for sub-frames 110 is determined. In one embodiment, the initial guess for sub-frames 110 is determined by texture mapping the desired high-resolution frame 308 onto sub-frames 110. In one embodiment, the initial guess is determined from the following Equation XI:
Y
k
(0)
DB
k
F
k
T
X Equation XI
where:
Thus, as indicated by Equation XI, the initial guess (Yk(0)) is determined by performing a geometric transformation (FkT) on the desired high-resolution frame 308 (X), and filtering (Bk) and down-sampling (D) the result. The particular combination of neighboring pixels from the desired high-resolution frame 308 that are used in generating the initial guess (Yk(0)) will depend on the selected filter kernel for the interpolation filter (Bk).
In another embodiment, the initial guess, Yk(0), for sub-frames 110 is determined from the following Equation XII
Y
k
(0)
=DF
k
T
X Equation XII
where:
Equation XII is the same as Equation XI, except that the interpolation filter (Bk) is not used.
Several techniques are available to determine the geometric mapping (Fk) between each projector 112 and hypothetical reference projector 118, including manually establishing the mappings, using structured light coding, or using camera 122 and calibration unit 124 to automatically determine the mappings. In one embodiment, if camera 122 and calibration unit 124 are used, the geometric mappings between each projector 112 and camera 122 are determined by calibration unit 124. These projector-to-camera mappings may be denoted by Tk, where k is an index for identifying projectors 112. Based on the projector-to-camera mappings (Tk), the geometric mappings (Fk) between each projector 112 and hypothetical reference projector 118 are determined by calibration unit 124, and provided to sub-frame generator 108. For example, in a display system 10B with two projectors 112(1) and 112(2), assuming the first projector 112(1) is hypothetical reference projector 118, the geometric mapping of the second projector 112(2) to the first (reference) projector 112(1) can be determined as shown in the following Equation XIII:
F
2
=T
2
T
1
−1 Equation XIII
where:
Calibration unit 124 continually or periodically determines (e.g., once per frame 106) the geometric mappings (Fk), stores the geometric mappings (Fk) as camera-to-projector correspondence information 127, and provides updated values for the mappings to sub-frame generator 108.
One embodiment provides an image display system 10B with multiple overlapped low-resolution projectors 112 coupled with an efficient real-time (e.g., video rates) image processing algorithm for generating sub-frames 110. In one embodiment, multiple low-resolution, low-cost projectors 112 are used to produce high resolution images at high lumen levels, but at lower cost than existing high-resolution projection systems, such as a single, high-resolution, high-output projector. One embodiment provides a scalable image display system 10B that can provide virtually any desired resolution, brightness, and color, by adding any desired number of component projectors 112 to the system 10B.
In some existing display systems, multiple low-resolution images are displayed with temporal and sub-pixel spatial offsets to enhance resolution. There are some important differences between these existing systems and embodiments described herein. For example, in one embodiment, there is no need for circuitry to offset the projected sub-frames 110 temporally. In one embodiment, sub-frames 110 from the component projectors 112 are projected “in-sync”. As another example, unlike some existing systems where all of the sub-frames go through the same optics and the shifts between sub-frames are all simple translational shifts, in one embodiment, sub-frames 110 are projected through the different optics of the multiple individual projectors 112. In one embodiment, the signal processing model that is used to generate optimal sub-frames 110 takes into account relative geometric distortion among the component sub-frames 110, and is robust to minor calibration errors and noise.
It can be difficult to accurately align projectors into a desired configuration. In one embodiment, regardless of what the particular projector configuration is, even if it is not an optimal alignment, sub-frame generator 108 determines and generates optimal sub-frames 110 for that particular configuration.
Algorithms that seek to enhance resolution by offsetting multiple projection elements have been previously proposed. These methods may assume simple shift offsets between projectors, use frequency domain analyses, and rely on heuristic methods to compute component sub-frames. In contrast, one form of the embodiments described herein utilize an optimal real-time sub-frame generation algorithm that explicitly accounts for arbitrary relative geometric distortion (not limited to homographies) between the component projectors 112, including distortions that occur due to a display surface that is non-planar or has surface non-uniformities. One embodiment generates sub-frames 110 based on a geometric relationship between a hypothetical high-resolution hypothetical reference projector at any arbitrary location and each of the actual low-resolution projectors 112, which may also be positioned at any arbitrary location.
In one embodiment, image display system 10B is configured to project images that have a three-dimensional (3D) appearance. In 3D image display systems, two images, each with a different polarization, are simultaneously projected by two different projectors. One image corresponds to the left eye, and the other image corresponds to the right eye. Conventional 3D image display systems typically suffer from a lack of brightness. In contrast, with one embodiment, a first plurality of the projectors 112 may be used to produce any desired brightness for the first image (e.g., left eye image), and a second plurality of the projectors 112 may be used to produce any desired brightness for the second image (e.g., right eye image). In another embodiment, image display system 10B may be combined or used with other display systems or display techniques, such as tiled displays.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof.
This application is related to U.S. patent application Ser. No. 11/080,583, filed Mar. 15, 2005, and entitled PROJECTION OF OVERLAPPING SUB-FRAMES ONTO A SURFACE; and U.S. patent application Ser. No. 11/080,223, filed Mar. 15, 2005, and entitled PROJECTION OF OVERLAPPING SINGLE-COLOR SUB-FRAMES ONTO A SURFACE. These applications are incorporated by reference herein.