Abstract:
Dedicated projectors and devices with projection abilities such as digital cameras or camcorders have projections that are corrected to compensate for irregularities in the surfaces receiving the projection. The image data being projected is compensated to account for the irregularities by observing the irregularities with a camera to produce image data and creating the compensation based on that image data. Irregularities of the projection receiving location including angular relationships to the projector causing keystoning, noisy surfaces with reflectivity or absorption, color patterns, non-planar regions, intervening objects, and the like may be accounted for during the compensation. The projection of the image itself may be utilized to capture the result of projecting onto the irregularities. Projection of target grids, such as using infrared, may be used to capture the result of projecting onto the irregularities. The captured image may be processed to produce a compensated image to be projected.

Description:
TECHNICAL FIELD 
     Embodiments are related to the projection of visual displays. More particularly, embodiments are related to correcting the output of projection devices. 
     BACKGROUND 
     Projectors project a visual image onto a surface, typically a projector screen that provides a nearly ideal projection receiving surface. The projector screen typically has a plane white color, a suitable reflectivity for viewing the projected image when dim room lighting is present, and is a flat vertical surface that does not distort the projected image so long as the projector is properly aligned. However, it is not always possible to ideally position the projector, and at times, improper alignment occurs and distortion such as keystoning results. Another drawback occurs when a presenter or other object is present between the projector and the projection screen. The projection is distorted at the point where the projection output reaches the person or object rather than the projector screen. Furthermore, the projection is bothersome to the person when facing the projector. 
     With projection devices being miniaturized and/or combined with other devices, such as placing projectors within digital cameras, camcorders, cell phones, and other portable digital devices so that individuals can easily share images, the need to project an image may arise at any time and place. Therefore, the surface to receive the projection output may be anything from a table top to a person&#39;s clothing. Thus, the surface receiving the projection output may be far from the ideal of the projector screen. Therefore, the resulting image appearing on the surface receiving the projection output may be distorted in many ways, due to non-planar surfaces, dynamic surfaces, oddly colored and/or textured surfaces, and so forth. Furthermore, the alignment of the projection output to the surface may be angular and result in keystoning. In these situations, the appearance of the projected image may be less than desirable. 
     SUMMARY 
     Embodiments address issues such as these and others by providing correction of the projection output by capturing images of the surface receiving the projection. The captured images may be captures of the desired image being projected onto the surface to reveal the distortions produced by the irregularities of the surface. The captured images may alternatively be captures of a target such as an infrared grid that reveal the distortions produced by the irregularities. The captured images are then used to calculate corrections to be applied to the image data that will compensate for the irregularities of the projection receiving surface. 
     Embodiments provide a device that includes a housing and a projection output within the housing producing a projected output that extends to a first position beyond the housing. The device includes a camera within the housing that has a fixed relationship relative to the projection output and that captures an image from the first position. The device further includes a processor within the housing and in communication with the projection output and the camera. The processor provides a source image to the projection output, receives the captured image from the camera, and compares the captured image relative to the source image in relation to the fixed relationship between the camera and the projection output to determine at least one difference. The processor also creates an image based on the at least one difference, and provides the created image to the projection output in placed of the source image. 
     Embodiments provide a computer readable medium containing instructions that perform acts that include projecting a reference target onto a first location. The acts further include capturing image data of the first location while the target is being projected onto the first location and comparing the captured image data to the reference target to detect at least one difference. The acts also include generating compensation data based on the at least one difference, applying the compensation data to image data to produce compensated image data, and projecting a compensated image corresponding to the compensated image data onto the first location. 
     Embodiments provide a method of projecting an image that involves obtaining reference image data and producing a reference display signal from the reference image data, where the reference display signal is projected onto a first location, the first location being a dynamic surface. The method involves capturing first image data of the first location while the reference display signal is being projected onto the first location while the first location is in a first state. The method involves comparing the captured first image data to the reference image data to detect at least one first difference, generating first compensation data based on the at least one first difference, and applying the first compensation data to the reference image data to produce compensated first image data. The method involves producing a first compensated display signal from the compensated image data, the first compensated display signal being projected onto the first location. The method involves capturing second image data of the first location while the first compensated display signal is being projected onto the first location while the first location is in a second state different than the first state. The method involves comparing the captured second image data to the reference image data to detect at least one second difference, generating second compensation data based on the at least one second difference, and applying the second compensation data to the reference image data to produce compensated second image data. The method further involves producing a second compensated display signal from the compensated second image data, the second compensated display signal being projected onto the first location. 
     Other systems, methods, and/or computer program products according to embodiments will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional systems, methods, and/or computer program products be included within this description, be within the scope of the present invention, and be protected by the accompanying claims. 
    
    
     
       DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows a device according to various embodiments projecting an image onto a surface having irregularities that distort the projected image. 
         FIG. 2  shows a device according to various embodiments projecting an image onto a surface having irregularities where the image is compensated to reduce the effect of the irregularities. 
         FIG. 3  shows a device according to various embodiments projecting an image onto a surface having a person between the projector and the surface where the person distorts the projected image. 
         FIG. 4  shows a device according to various embodiments projecting an image onto a surface having a person between the projector and the surface where the image is compensated to reduce the effect of projecting onto the person. 
         FIG. 5  shows a device according to various embodiments projecting onto a surface having a gesturing hand present between the surface and the projector. 
         FIG. 6  shows a device according to various embodiments projecting onto a surface after having manipulated an image for projecting the image in accordance with a detected gesture. 
         FIG. 7A  shows an exemplary configuration of components of a device according to various embodiments where an image is projected and then captured for correction. 
         FIG. 7B  shows an exemplary configuration of components of a device according to various embodiments where a target is projected and then captured to correct an image. 
         FIG. 8  shows an example of logical operations that may be performed by a device according to various embodiments in order to project an image and capture the image for correction. 
         FIG. 9  shows an example of logical operations that may be performed by a device according to various embodiments to implement corrections to an image. 
         FIG. 10  shows an example of logical operations that may be performed by a device according to various embodiments in order to project a target and capture the target to correct an image. 
     
    
    
     DETAILED DESCRIPTION 
     Embodiments provide for the correction of projection outputs to compensate for irregularities in the surface(s) receiving the projected image. An image of the surface is captured, where a projected image or target is present on the surface. From the image of the projected image or target appearing on the surface, compensation for the surface can be calculated and applied to the image data. The compensation allows the image data to be manipulated such that when projected onto the surface, the effects of the irregularities in the surface are decreased or otherwise changed. 
       FIG. 1  shows an example of a device  102  according to various embodiments. The device  102  may be a portable digital device, such as a digital camera, digital camcorder, mobile telephone, personal digital assistant, and the like. The device  102  may alternatively be a dedicated projection device, such as a full scale projector. 
     The device  102  includes a housing  103  within which sub-devices are present. The sub-devices may include a camera  106  as well as a projection output  104 . As shown in this example, the projection output  104  is projecting an image  108  onto a table top  110 . As the projection output  104  is projecting at an angle relative to the table top  110 , the projected image  108  is keystoned. Furthermore, the projected image  108  partially overlaps with a coin  112  also sitting on the table top  110  which presents an additional distortion. In addition to that, the table top  110  has a prominent surface ornamentation such as wood grain or other streaks that pass through the location where the projected image  108  appears so as to further distort the projected image  108 . 
     According to exemplary embodiments, the camera  106  captures an image of the same location where the projection output  104  is directed. The camera  106  maintains a fixed relation to the projection output  104  within the housing  103  such that the images produced from the camera  106  have an expected format. For example, the camera  106  may experience nearly the same amount of keystone as the projection output  104  but in reverse, so that if the projection image  108  is keystoned, it appears less keystoned to the camera  106 . Therefore, as discussed below the device  102  may apply this known condition when analyzing the image captured by the camera  106  relative to the reference image being sent to the projection output  104 . 
     For example, to eliminate keystoning of the projection image  108  from a vantage point directly over the image  108  may call for a predefined amount of keystoning to appear in the image that is captured by the camera  106  where the camera  106  has a vantage point other than directly over the image being projected. Because the camera relationship  106  is known relative to the position of the projection output  104 , the amount of keystoning present in the camera image for an image that is actually not keystoned when viewed from directly above can be defined within keystone removal logic of the device  102 . While the device  102  may be calibrated for removing keystoning for other vantage points, the vantage point directly over the image may be a common choice for calibration because that mimics the appearance of an actual photograph lying on the table top  110 . In other words, individuals may expect there to be some naturally occurring keystone when viewing the image from an angle but may expect there to be no keystone when viewing the image directly from above. 
     Furthermore, the image captured by the camera  106  shows a shift in the image due to the vertical change in the surface resulting from the coin  112 . Upon correcting the keystone of the projection output and accounting for the known keystone of the camera  106 , a pixel by pixel overlay of the captured image relative to the reference image may be done in memory of the device  102  to perceive the shift. The reverse of the shift may then be computed. As discussed above, different reference vantage points may be used to calibrate the correction for such a shift. For example, from a vantage point directly over the image, the shift may be less than as perceived by the camera  106 , such that the compensation is calibrated to correct for the shift by an amount less than is necessary to eliminate the shift from the perspective of the camera  106 . 
     In addition to correcting for such shifts due to variation in the plane of the projection receiving surface, the device  102  may also compensate for the grain or other streaks present on the table top  110  that appear within the project image  108 . Upon creating the pixel by pixel overlay in memory between the image captured by the camera  106  and the reference image being projected, the device  102  may also account for differences in the intensity, color, hue, and other visual characteristics at each pixel. Thus, if a pixel that should be blue appears green, then it can be computed that a yellow contribution is coming from a background at the point where that pixel appears. 
     Compensation may be computed to adjust the pixel color being output so that when that pixel color appears on the background that is providing the yellow contribution, it appears bluer and less green. While the precise colors of the reference image may not always be possible on a background surface of colors other than white, this pixel by pixel approach may bring the colors closer to those that are present in the actual image data and may also improve upon the consistency of the colors of a compensated projected image  108 ′. So, for example, if the blue discussed above is a different shade than a blue of the actual image, the blue of the compensated image may be very close to other areas of the image containing that blue and may also be closer to the blue of the actual image than to the unintended green that initially appeared at that pixel location. 
     Rather than capture the projected image  108  with the camera  106 , the device may alternatively project a target grid onto the location where the projection image  108  is directed. Target grids are used for auto-focusing purposes with conventional cameras. As one example, two slightly offset fixed pattern emitters, using infrared, visible light, or other spectrum, may be provided to project a target grid, one emitter projecting a ‘=’ pattern and the other emitter projecting a ‘∥’ pattern. The image returned from a flat surface would be like a tic-tac-toe pattern, but at angles, the distortion of the lines relative to each other, and the shadows and other visual cues will allows a surface map to be quickly perceived by the device  102 . As another example, a single emitter may be used to project the same or similar patterns such as the ‘+’ pattern as shown below in  FIG. 7B . 
     This target grid may be projected and captured by the camera  106  to compute corrections for keystone, shifts in the surface, variations in depth of the field of view, and so forth by determining differences in the reference grid relative to the captured grid. This target grid may be projected by a target grid source before the projection image  108  is projected so as to determine the compensation before presentation of the image begins. Alternatively, the target grid may be projected at the same time as the image  108 . In this latter case, the target grid may be projected using invisible wavelengths such as infrared light that the camera  106  is capable of capturing so that the audience does not see the target grid during the presentation. 
     In  FIG. 2 , the exemplary device  102  has applied the projection output corrections discussed above according to various embodiments. Here, the device  102  projects the compensated projection image  108 ′ onto the same location where the uncompensated projected image  108  was projected. The effects of keystone, shifts, and streaks have been reduced so that the compensated projection image  108 ′ more closely resembles a photograph, or a projection onto a more regular projection surface. 
       FIG. 3  shows an example where a projection device  202  is being used to create a larger projection onto a wall  208  or even onto a projection screen. The projection device  202  of this example may take many forms, such as the personal digital devices discussed above or a full scale projector. Here a person  210  is present between a projection output  204  of the device  202  and the wall  208  where a projected image  212  is appearing. This is often the case during a presentation, such as where the person  210  interacts with the image  212  or merely walks by the wall  208 . Portions of the projected image  212  appear on the person  210 , which distorts the appearance of the projected image  212 . Furthermore, when the person  210  faces the audience and the projection output  204 , the light from the projection output  204  shines onto the face and eyes of the person  210 , which results in discomfort. 
     According to exemplary embodiments, the device  202  includes a camera  206  that captures the projected image  212  so that the captured image can be compared to the reference image to find distortions and compensate for them. Using techniques discussed above, the device  202  may attempt to modify the image to account for the change in depth of the field where the person  212  is present and to account for the variation in colors, intensities, and the like due to the colors and textures of the person&#39;s clothing, skin, and hair. This may be done by capturing the projected image  212  with the camera  206 . Alternatively, some of this distortion may be captured by a target grid being projected and captured for analysis, such as any keystone and any variation in the depth of the field. 
       FIG. 4  shows an alternative approach to dealing with the distortion caused by the person  210 . Rather than compensating a projected image  212 ′ to try to reduce or eliminate the distortion, it may be desirable to change the distortion. In this case, it may be desirable to project a silhouette of the person  210  in black that overlaps onto the person  210 . In that case, to the audience it would appear that the projection is being generated between the person  210  and the wall  208  since the projection image  212 ′ does not appear on the person  210 . This may be less distracting for the audience. Another reason to project the silhouette onto the person  210  is so that when the person  210  faces the device  202 , no light from the projection output  204  would strike the person&#39;s face and eyes so that the person  210  is not discomforted when standing in front of the projected image  212 ′. 
       FIG. 5  shows an example of a device  302  where a projection output  304  projects an image  310 . A camera  306  is present to capture the image and/or a target grid if present. In order to manipulate the display, a person places a hand  308  into the field of the projection output  304  where the hand can be captured by the camera  306 . The hand  308  may gesture in some recognizable manner, such as to point or even move in a pattern. The camera  306  produces an image of the projected image  310  or target grid if present which the device  302  may then analyze. The device  302  recognizes the gesture, either a static hand formation or a hand movement based on multiple frame captures by the camera  306 . The device  302  may then implement any image compensation associated with the recognized gesture. 
       FIG. 6  shows that the device  302  has recognized the gesture as being a quarter-clockwise rotation command. As such, the device  302  has projected a rotated image  310 ′ accordingly. 
       FIG. 7A  shows components of an exemplary device for projecting a compensated image. The device includes a housing  403  within which the components are located. Many different components may be included depending upon the desired functions of the device.  FIG. 7A  shows those components used during the projection compensation process, according to exemplary embodiments. However, it will be appreciated that other components may also be included. For example, mobile phone components may be included in addition to those shown. 
     As shown in  FIG. 7A , the reference image data of memory location  402  is provided to a projection output  404  and is accessed by a processor  412 . A projected image  406  corresponding to the reference image data  402  appears at the location where the projection output  404  is aimed. A camera  408 , also aimed at that location, captures an image of the projected image  406  appearing at the location. The captured image data is stored in a memory location  410  where the captured image data is accessed by the processor  412 . 
     Upon the processor  412  having access to both the reference image data and the captured image data, the processor  412  then computes the corrections to be applied to produce compensated image data, in accordance with exemplary embodiments. The processor  412  provides the compensated image data to a memory location  414 . The compensated image data is then provided as a signal to the projection output  404  so that the projected image  406  becomes the compensated image. 
     It will be appreciated that this feedback loop of the device of  FIG. 7A  may operate a single time for a given session or may operate continuously. For example, if only those irregularities that will affect every image the same are being corrected and they are static, such as the angular relationship that results in keystoning, then the correction may be computed a single time and applied to different images. However, where the image to be projected changes or where the irregularities of the surface change over time during the session, then the correction may be repeatedly calculated and applied so as to provide different corrections for different images and/or different irregularities of the surface. 
     The processor  412  may be of various forms such as a general purpose programmable processor, an application specific processor, hardwired digital logic, or various combinations thereof. The processor may implement logical operations to control the projection and capture of images and to compute the corrections to be applied. 
     The processor  412  and memory constituting the memory locations  402 ,  410 ,  414  are examples of a computer readable media which store instructions that when performed implement various logical operations. Such computer readable media may include various storage media including electronic, magnetic, and optical storage. Computer readable media may also include communications media, such as wired and wireless connections used to transfer the instructions or send and receive other data messages. 
       FIG. 7B  shows components of another exemplary device for projecting a compensated image. The device includes a housing  503  within which the components are located.  FIG. 7B  shows those components used during the projection compensation process, according to exemplary embodiments. However, as with  FIG. 7A , it will be appreciated that other components may also be included. For example, mobile phone components may be included in addition to those shown. 
     As shown in  FIG. 7B , a target grid output  508 , such as a single or multiple infrared projectors, projects a target grid  510  or other similar target onto a surface that will receive the projection. Data defining the target grid  510  is also accessed by a processor  516 . A camera  512  that is aimed at that location where the target grid  510  appears captures an image of the target grid  510  appearing at the location. The captured image data is stored in a memory location  514  where the captured image data is accessed by the processor  516 . 
     Upon the processor  516  also accessing the reference image data from a memory location  502 , the processor  516  then computes the corrections to be applied to produce compensated image data, in accordance with exemplary embodiments. The processor  516  provides the compensated image data to a memory location  518 . The compensated image data is then provided to a projection output  504  so that a projected image  506  is the compensated image. The target grid  510  is shown as being projected at a location other than the location of the projected image  506  for clarity of illustration. It will be appreciated that the target grid  510  may be projected onto the same location where the projected image  506  will be or is being projected. As discussed above, the target grid  510  may be projected in infrared so that the target grid  510  may not be visible to an audience viewing the projected image  506  even though the target grid  510  is projected onto the same location. 
     It will be appreciated that this feedback loop of the device of  FIG. 7B , like that of  FIG. 7A , may operate a single time for a given session or may operate continuously. For example, if only those irregularities that will affect every image the same are being corrected and they are static, such as the angular relationship that results in keystoning, then the correction may be computed a single time and applied to different images. However, where the image to be projected changes or where the irregularities of the surface change over time during the session, then the correction may be repeatedly calculated and applied so as to provide different corrections for different images and/or different irregularities of the surface. 
     The processor  516 , like the processor  412  of  FIG. 7A , may be of various forms such as a general purpose programmable processor, an application specific processor, hardwired digital logic, or various combinations thereof. The processor  516  may implement logical operations to control the projection of the image and the target grid, the capture of images, and to compute the corrections to be applied. The processor  516  and memory constituting the memory locations  502 ,  514 , and  518  are also examples of a computer readable media 
       FIG. 8  shows a set of logical operations that may be performed by the processor  412  of  FIG. 7A  according to various embodiments. The processor  412  obtains the reference image data at an image operation  802 . The processor  412  then produces a reference display signal for the projection output  404  at a projection operation  804 , such as by interaction with a video adapter that converts the image data to a signal compatible with the projection output  404 . The processor  412  may instruct the camera to obtain an image of the projected image appearing at the location at a capture operation  806 . 
     Once the processor  412  has both the reference image and the captured image, the processor  412  then compares the two at a comparison operation  808 . Here the processor  412  may factor in any known keystone that the camera perceives when attempting to detect keystoning of the projected image. Likewise, the processor  412  may apply the pixel by pixel comparison here to detect color and intensity differences and the like, to find noise and/or patterns introduced by the surface receiving the projection, to perceive objects between the projection output  404  and the surface, and to recognize objects and gestures. 
     After determining the distortions present in the captured image, the processor  412  then computes the compensation data at a compensation operation  810 . Here the processor  412  determines the manipulations of the reference image data that are necessary so that when projected, the compensated image will more closely match the reference image and/or have different qualities such as containing a silhouette of an intervening person or object or be altered in correspondence with a recognized gesture. The generation of compensation data is discussed below in more detail in relation to  FIG. 9 . 
     After having generated the compensation data, the processor  412  then applies that compensation data to the reference image to produce a compensated image data at an application operation  812 . The processor  412  then produces a reference display signal for the projection output  404  based on the compensated image data at a projection operation  814 . 
     For embodiments where the compensation is continuous or at least goes through several iterations to increase the accuracy of the corrections, then the logical operations return to again capture an image of the currently corrected image or a next projected image at the capture operation  806 . For example, the surface may be in a first state during the current iteration of these logical operations but then change to a second state during a subsequent iteration such that the compensation is different. For example, the coin  112  of  FIG. 1  may be removed or the device  102  may be re-positioned between iterations to present a different state of the surface  110 . In this next iteration, different image data is captured and different compensation data is produced so that a different compensated image results. 
       FIG. 9  shows one example of a set of logical operations that correspond to the compensation operation  810  of  FIG. 8 . The processor  412  may process a series of different corrections for the image. One correction may assist in processing subsequent corrections such that the corrections may be processed sequentially. For example, initially correcting for keystoning may result in a more reliable pixel by pixel comparison when correcting color and intensity distortions in the projected image.  FIG. 9  shows one exemplary sequence to the corrections, but it will be appreciated that the sequence may be changed to many different orders of corrections. Furthermore, the processor  412  may calculate one or more corrections contemporaneously rather than sequentially. 
     At a query operation  902 , the processor  412  detects whether the projected image  406  is keystoned. If the projected image  406  is keystoned, then the processor  412  calculates the amount of warp that is present and calculates an amount of compensating warp at a calculation operation  904 . Here, the amount of keystone in the captured image that is the result of the camera  408  viewing the projected image  406  at essentially the same angle as the projection output  404  is factored into the calculation of the warp. The warp correction may be calculated to produce a captured image having a keystone that matches the keystone expected to be present due to the angle of the camera  408  to the surface. 
     If there is no keystone present or after the keystone calculations are complete, the processor  412  then detects whether the colors match at each pixel location at a query operation  906 . If the colors do not match at each pixel location, then the processor  412  calculates the color differences and from that calculates the color correction to be applied to negate the color differences at a calculation operation  908 . 
     If there is no color mismatch present or after the color mismatch calculations are complete, the processor  412  then detects whether a recognizable object is present in the field of view captured by the camera  408  at a query operation  910 . For example, the processor  412  may recognize a hand or torso of a person based on the distortion that is present in the captured image. The processor  412  may maintain a library of object shapes in memory and associate the shapes with a correction. For example, when a torso is recognized, the correction may be to project a silhouette by utilizing black for those pixels where the torso is present in the captured image. The processor  412  determines the appropriate correction for the recognized object at a calculation operation  912 . 
     If there is no recognized object or after the correction for a recognized object has been completed, the processor  412  then detects whether a planar disturbance is present at a query operation  914 . For example, the coin  112  of  FIG. 1  presents a planar disturbance. Other planar disturbances might include a surface receiving the projection that is inherently non-planar, such as a convex or concave surface. The processor  412  attempts to correct for the planar disturbance by shifting pixels to create intentional overlaps of pixels or to create intentional empty areas between pixels at a calculation operation  916 . 
     If there is no planar disturbance or after the planar disturbance calculations are complete, the processor  412  then detects whether a recognized gesture is present at a query operation  918 . The gesture may be static, such as a certain positioning of a person&#39;s fingers, or may be dynamic by movement of a person&#39;s hand. Where dynamic, the processor  412  may observe multiple image captures and compare one to the next to detect the motion. The processor  412  may have access to a library of gestures and associated actions to be taken as a correction to the projected image. Upon recognizing a gesture, the processor  412  applies an image manipulation that is associated with the gesture at a calculation operation  920 . 
       FIG. 10  shows another set of logical operations that may be performed, but by the processor  516  of  FIG. 7B  according to various embodiments. The processor  516  instructs the target grid output  508  to project the target grid at a target operation  1002 . The processor  516  may then instruct the camera  512  to obtain an image of the target appearing at the location where the projected image is or will be at a capture operation  1004 . 
     The processor  516  has access to the reference target grid being projected and compares the coordinates of the reference target grid to those of the target grid in the captured image at a comparison operation  1006 . Thus, rather than doing a pixel by pixel analysis, the processor  516  performs a grid point by grid point analysis of the target grid, where that target grid may have a grid point resolution that is greater than or less than the resolution of the reference image. From this analysis, the processor  516  determines the irregularities present at the surface relative to the perspective of the camera  512 . 
     After having compared the grid points of the target grid, the processor  516  then generates the compensation data needed to account for distortions that are likely to occur in a projected image at a compensation operation  1008 . The processor  516  then applies the compensation data to the reference image to be projected at an application operation  1010  to produce a compensated image data. The processor  516  then provides the compensated image data where video hardware produces a corresponding compensated display signal that the projection output  504  projects as the compensated projection image  506  at a calculation operation  1012 . 
     For embodiments where the compensation is continuous or at least goes through several iterations to increase the accuracy of the corrections, then the logical operations return to again capture an image of the target grid at the capture operation  1004 . For example, the surface may be in a first state during the current iteration of these logical operations but then change to a second state during a subsequent iteration such that the compensation is different. As in the example discussed above in relation to  FIG. 8 , the coin  112  of  FIG. 1  may be removed or the device  102  may be re-positioned between iterations to present a different state of the surface  110 . In this next iteration, different image data is captured and different compensation data is produced so that a different compensated image results. 
     Thus, by capturing images of the location where images are being or will be projected, compensation for irregularities may be determined and applied. Distortions otherwise caused by irregularities of the surface receiving the projection may be reduced or changed, depending upon what is desired. The projected image may be a better representation of the source image as a result. 
     While embodiments have been particularly shown and described, it will be understood by those skilled in the art that various other changes in the form and details may be made therein without departing from the spirit and scope of the invention.