I. Technical Field
The present invention relates generally to image capture devices in electronic systems, and more particularly to image capture devices having the ability to correct for tilt and/or perspective distortion.
II. Background Discussion
Electronic devices are ubiquitous in society and can be found in everything from wristwatches to computers. Many electronic devices now have integrated image capture devices, and so users of these electronic devices now have the ability to take pictures on an impromptu basis. For example, in the event that a user does not have a camera in their possession but does have a cell phone or other personal media device that includes an integrated image capture device, then the user may be able to take a picture instead of foregoing the opportunity to take the picture altogether. While the ability to take pictures using these electronic devices may be advantageous, it is often difficult for the user to steady these electronic devices and/or keep them level while taking the picture. This lack of ability to steady the electronic devices and/or keep them level while taking the picture often results in distortion in the picture being tilted and/or having a perspective that is less pleasing to the user.
In fact, tilted pictures and/or pictures with an incorrect perspective may also be taken from cameras. For example, a user may not have a tripod when taking a picture with a camera and so the user may take a picture at an angle. Regardless of whether a distorted picture is produced using a camera or an electronic device having an integrated image capture device, it is often corrected through post-processing. Unfortunately, this post-processing may require sophisticated image processing software and/or a substantial amount of involvement by the user to correct the distortion.
Methods and apparatuses are disclosed to correct or compensate for tilt and/or perspective distortion in image capture devices, either in part or in full. In some embodiments, the method may include reading an orientation measurement associated with a relative position of an image capture device with respect to an object, determining if the orientation measurement is less than a threshold, and, in the event that the orientation measurement is less than the threshold, correcting an image obtained by the image capture device.
Other embodiments may include an image capture device that has an image sensor, a memory coupled to the image sensor, an orientation measurement device coupled to the image sensor, and a distance measurement device coupled to the image sensor. Image data captured by the sensor may be stored in the memory along with a measurement from the accelerometer and/or a measurement from the distance measurement device.
Still other embodiments may take the form of a method of correcting image distortion including reading a distance measurement from a distance measurement device, where the distance measurement is associated with a distance between an image capture device and an object being photographed, reading an orientation measurement associated with an image capture device, and correcting an image data representative of the object being photographed using the distance measurement and the orientation measurement.
The use of the same reference numerals in different drawings indicates similar or identical items.
Embodiments of electronic devices are disclosed that allow the electronic device to correct for tilt and/or perspective distortion in photographs taken with the image capture device. As used herein, the term “image capture device” is intended to refer to electronic devices that have the ability to take still photographs and/or video. Such electronic devices may include digital cameras as well as consumer electronic devices with integrated cameras (e.g., cell phones or personal media players). Also, as used herein, the term “photograph” is intended to refer to an image that is selected by the user for storage. The disclosed image capture devices may include accelerometers and/or distance measurement sensors that record physical orientation data of the image capture device with respect to the object being photographed. This orientation data may be used to correct distortion of the photographs and/or video taken by the image capture device. The orientation data also may be used in conjunction with distance data to correct perspective distortion in the photographs and/or video taken by the image capture device. In some embodiments, this correction may be performed by the image capture device on-the-fly as the photograph and/or video is being taken. In other embodiments, this correction may be performed on the photographs and/or video after they are taken. In such cases, the orientation and/or distance data may be embedded in the image data file used to record the photograph and/or video for later use. In still other embodiments, the image capture device may utilize the orientation data and/or distance data to interactively indicate a level of distortion to the user and allow the user to adjust the physical orientation of the image capture device to correct the distortion. For example, in some embodiments, dynamic crop lines or a virtual level may be displayed to the user to indicate the action necessary to level the camera.
Although one or more of the embodiments disclosed herein may be described in detail with reference to a particular electronic device, the embodiments should not be interpreted or otherwise used as limiting the scope of the disclosure, including the claims. In addition, one skilled in the art will understand that the following description has broad application. For example, while embodiments disclosed herein may focus on certain portable electronic devices, such as cameras or cell phones, it should be appreciated that the concepts disclosed herein equally apply to other portable electronic devices that incorporate integrated cameras. For example, the concepts disclosed herein may be employed in wristwatches with integrated cameras. In addition, it should be appreciated that the concepts disclosed herein may equally apply to non-portable electronic devices, such as desktop computers. Furthermore, while embodiments disclosed herein may focus on correcting distortion utilizing accelerometers and/or distance measurement sensors, the concepts disclosed herein equally apply to other sensors that measure the physical orientation of the image capture device with respect to the object being photographed. For example, in some embodiments, the object being photographed and the image capture device may each include global positioning system (GPS) devices such that the relative GPS orientation of the object and the image capture device may be recorded along with the image data. Also, although this disclosure may focus on still images, the concepts disclosed herein equally apply to recording moving images and/or video. Accordingly, the discussion of any embodiment is meant only to be exemplary and is not intended to suggest that the scope of the disclosure, including the claims, is limited to these embodiments.
The image sensor 120 may be coupled to a processor 130 (as shown in
In addition to being coupled to the image sensor 120 and the switch 125, the processor 130 may couple to one or more orientation sensors, such as an accelerometer 150 and a distance measurement sensor 155. In some embodiments, the accelerometer 150 may be a micromechanical three dimensional accelerometer, such as the LIS302DL model available from STMicroelectronics. Other embodiments may employ gyroscopes, inertial reference sensors, and/or compasses in place of the accelerometer 150 or in conjunction with the accelerometer 150. As the image capture device 100 is rotated about any of the X, Y, and/or Z axes the accelerometer 150 may report this movement to the processor 130.
The distance measurement sensor 155 may be implemented using an active auto focus system that includes ultrasonic and/or infrared sensors that emit sound and/or light respectively. The distance between the image capture device 100 and an object 160 being photographed can then be determined by measuring the time of flight of delay in either the sound or light reflected from the object 160. In other embodiments, the distance measurement may be obtained by determining the focal position of the lens 121—i.e., correlating a physical position of the lens 121 to a distance between the object 160 and the image capture device 100.
As shown in
Regardless of the particular implementation of the image capture device 100, during operation, light reflected from the object 160 may be transmitted through the aperture 110 to the image sensor 120. The image sensor 120 may convert this incident light to image data. When a photograph is taken by the user, such as by depressing the switch 125, this image data then may be stored by the processor 130 in the memory 165 along with orientation data from the accelerometer 150 and/or distance data from the distance sensor 155. Orientation data generally refers to data related to the orientation of the image capture device 100 with respect to its surroundings. For example, in some embodiments, the orientation data discussed herein refers to measurements of the Earth's gravitational pull along the X, Y, and Z axes as measured by the accelerometer 150. In other embodiments, the accelerometer 150 may be used to determine if the image capture device 100 is moving, e.g., in a vehicle, and the orientation data may represent the velocity or acceleration of the image capture device 100. Distance data generally refers to a distance between the image capture device 100 and the object being photographed. As was alluded to above, the distance data may be the result of time of AF measurements, a function of the focal position of the lens 121, or alternatively, may be the result of differences between the GPS coordinates of the image capture device 100 and the object being photographed.
In some embodiments, the orientation data and/or distance data may be stored into the memory 165 as metadata linked to the image data. For example, in some embodiments, this data may be stored in a format that is compatible with the International Press Telecommunications Council (IPTC) format, such that the orientation and distance data are stored in the memory 165 as part of a header of the image data file. In other embodiments, the orientation and distance data may be stored in Exchangeable Image File Format (EXIF). For example, an EXIF file may be modified to include custom tags within the EXIF file that store three axis orientation data recorded by the accelerometer 150 and/or the distance a recorded by the distance sensor 155.
In some embodiments, the processor 130 may utilize the orientation data recorded by the accelerometer 150 and/or the distance data recorded by the distance sensor 155 to correct image distortion on the display 170 on-the-fly as the photograph is taken. In other embodiments, the image capture device 100 may notify the user that image distortion is present in the image that is about to be photographed.
Next, in operation 210, the orientation data may be read by the processor 130. For example, in some embodiments, the processor 130 may read the header data of the ITPC formatted image data to obtain the orientation data. Other embodiments may include the header data being read by a processor that is external to the image capture device 100. Regardless of where the header data is read, based upon this reading, the physical orientation of the image capture device 100 may be determined with respect to the X, Y, and/or Z axes, such as the angle of tilt in the X, Y, and/or Z axes.
In some cases, the user of the image capture device 100 may intentionally tilt the image capture device 100 with respect to the X, Y, and/or Z axes when photographing the object 160. Thus, the angle of tilt read in operation 210 may represent a deliberate shooting angle. Accordingly, in order to discern deliberate tilt of the image capture device 100 from unintentional tilt, the processor 130 may determine if the orientation reading is greater than a threshold that is associated with deliberate tilt with respect to the X, Y, and/or Z axes, as is done in operation 215. In some embodiments, the threshold may be five degrees. Thus, any tilt greater than five degrees may be interpreted by the image capture device 100 as intentional and not compensated. Furthermore, in some embodiments, the threshold may be programmable by the user. Also, the threshold may include three independent thresholds for the X, Y, and/or Z axes such that the X axis has a different threshold than the Y or Z axis and the Y axis has a different threshold than the X or Z axis, and so on. Note that the threshold levels may be auto-generated, automatically refined over time by software based upon user preferences, determined by analyzing a database of similar photos, and/or varied based on inputs from other sensors (e.g., distance measurements may indicate more aggressive threshold levels for objects further away).
In the event that the orientation data is greater than the selected threshold value, then the tilt may be interpreted by the processor 130 as intentional and the photograph may be stored in the memory 165 without correction, as shown in operation 220. On the other hand, in the event that the processor 130 determines that the orientation reading is less than the threshold, then the photograph may be corrected prior to storage in the memory 165 per operation 225. The correction operation 225 may include a variety of operations, such as adjusting the photograph clockwise and/or counter clockwise to remove the unintentional tilt prior to storage in the memory 165. Since the threshold comparison in operation 215 may include different thresholds in multiple dimensions, the ultimate determination as to whether the image capture device 100 is deliberately tilted (such that no correction to the photograph is made before storage in the memory 165) may vary between embodiments. For example, in some embodiments, if the orientation reading indicates one or more of the three dimensions, then the photograph may be corrected (per operation 225) in the dimension that exceeds the threshold value. In other embodiments, the photograph may not be corrected (per operation 225) unless the orientation reading indicates that two of the three dimensions are greater than the their respective thresholds. In still other embodiments, the photograph may not be corrected (per operation 225) unless the orientation reading indicates that all three of the dimensions are greater than the their respective thresholds. In yet other embodiments, a transformation correction filter may be computed regardless of orientation thresholds, where a limit to the amount of transformation may be calculated and used instead of the orientation thresholds.
In at least one embodiment, the correction operation 225 may include approximating an angle of straight edges in the captured image. If the straight edges become very close to being vertical after the accelerometer data is applied to straighten the captured image, then the entire captured image may be made substantially vertical by applying the changes made to the straight edges to the rest of the captured image. Thus, in these embodiments, the thresholds may be used to determine how close the straight edges are to being vertical.
In addition to correcting the photograph prior to storing it in the memory 165, the photograph may be corrected on-the-fly when displaying an image of the potential photograph to the user. This is illustrated in the operations 205 shown in
In the embodiments where correction on-the-fly is performed, the image capture device 100 may alert the user visually, audibly, physically through vibration feedback, and/or haptics that the correction has occurred. For example, in some embodiments, when the image capture device 100 has performed on-the-fly correction, the image capture device 100 may indicate this to the user by actuating the audible alert device 190. In other embodiments, such as when the image capture device 100 is a cell phone, the phone may alert the user through vibration that a correction has occurred. In still other embodiments, the image capture device 100 may indicate that on-the-fly correction has been performed visually to the user by displaying an on-the-fly distortion correction icon (not specifically shown) on the display 170. In yet other embodiments, instead of correcting the image (operation 270) and displaying the corrected image (operations 280) the image capture device 100 may display distortion indicators 305 on the originally displayed image such that the user can gauge the amount of cropping that may take place prior to allowing the image capture device 100 to perform the on-the-fly correction and storing the photograph in the memory 165.
In addition to correcting for image distortion in the X, Y, and/or Z axes, the orientation data as measured by the accelerometer 150 may be used in conjunction with distance data to correct perspective distortion present in the image of the object 160. The term “perspective distortion” generally refers to a warping of the object 160 that stems from the image sensor 120 and the object 160 being at angles with respect to each other.
In some embodiments, the distance measurement sensor 155 may provide one or more distance measurements to be used in conjunction with the orientation data from the accelerometer 150 in order to correct for perspective distortion. For example, in some embodiments, the distance measurement sensor 155 may measure the distance d1 of a vector that is orthogonal to the image sensor 120 and extends between the image sensor 120 and the object 160. Additionally, the distance measurement sensor 155 may measure the distance d2 of a vector that is parallel to the ground and extends between the image sensor 120 and the object 160. Furthermore, the accelerometer 150 may measure the angle of the image sensor 120 with respect to the ground θ2. Based upon the distance measurements d1 and d2 as well as the angle θ2, the angle of the object 160 with respect to the horizon θ1 may be determined through trigonometric operations. By calculating the angle θ1 with the processor 130, perspective distortion may be corrected for using a perspective transformation operation on-the-fly prior to storing the image data in the memory 165. As mentioned above, such on-the-fly correction may conserve space in the memory 165.
As can be appreciated from comparing
Number | Name | Date | Kind |
---|---|---|---|
3363104 | Waite et al. | Jan 1968 | A |
3761947 | Volkmann et al. | Sep 1973 | A |
4620222 | Baba et al. | Oct 1986 | A |
5272473 | Thompson et al. | Dec 1993 | A |
5274494 | Rafanelli et al. | Dec 1993 | A |
5337081 | Kamiya et al. | Aug 1994 | A |
5757423 | Tanaka et al. | May 1998 | A |
6282655 | Given | Aug 2001 | B1 |
6310662 | Sunakawa et al. | Oct 2001 | B1 |
6339429 | Schug | Jan 2002 | B1 |
6389153 | Imai et al. | May 2002 | B1 |
6416186 | Nakamura | Jul 2002 | B1 |
6516151 | Pilu | Feb 2003 | B2 |
6560711 | Given et al. | May 2003 | B1 |
6561654 | Mukawa et al. | May 2003 | B2 |
6636292 | Roddy et al. | Oct 2003 | B2 |
6807010 | Kowarz | Oct 2004 | B2 |
6862022 | Slupe | Mar 2005 | B2 |
6877863 | Wood et al. | Apr 2005 | B2 |
6903880 | Beatson et al. | Jun 2005 | B2 |
6921172 | Ulichney et al. | Jul 2005 | B2 |
6924909 | Lee et al. | Aug 2005 | B2 |
6930669 | Weiner et al. | Aug 2005 | B2 |
6931601 | Vronay et al. | Aug 2005 | B2 |
6970080 | Crouch et al. | Nov 2005 | B1 |
7028269 | Cohen-Solal et al. | Apr 2006 | B1 |
7058234 | Gindele et al. | Jun 2006 | B2 |
7079707 | Baron | Jul 2006 | B2 |
7123298 | Schroeder et al. | Oct 2006 | B2 |
7307709 | Lin et al. | Dec 2007 | B2 |
7352913 | Karuta et al. | Apr 2008 | B2 |
7370336 | Husain et al. | May 2008 | B2 |
7413311 | Govorkov et al. | Aug 2008 | B2 |
7453510 | Kolehmainen et al. | Nov 2008 | B2 |
7460179 | Pate et al. | Dec 2008 | B2 |
7483055 | Moriya | Jan 2009 | B2 |
7485310 | Luyten | Feb 2009 | B2 |
7486310 | Sakurai et al. | Feb 2009 | B2 |
7512262 | Criminisi et al. | Mar 2009 | B2 |
7551771 | England | Jun 2009 | B2 |
7570881 | Perala et al. | Aug 2009 | B2 |
7590335 | Kobayashi et al. | Sep 2009 | B2 |
7590992 | Koplar et al. | Sep 2009 | B2 |
7598980 | Imai et al. | Oct 2009 | B2 |
7613389 | Suzuki et al. | Nov 2009 | B2 |
7629897 | Koljonen | Dec 2009 | B2 |
7641348 | Yin et al. | Jan 2010 | B2 |
7653304 | Nozaki et al. | Jan 2010 | B2 |
7658498 | Anson | Feb 2010 | B2 |
7714897 | Makela et al. | May 2010 | B2 |
7834846 | Bell | Nov 2010 | B1 |
7847831 | Kadono | Dec 2010 | B2 |
7869204 | Bair et al. | Jan 2011 | B2 |
7901084 | Willey et al. | Mar 2011 | B2 |
7964835 | Olsen et al. | Jun 2011 | B2 |
8044880 | Nakamura et al. | Oct 2011 | B2 |
20020021288 | Schug | Feb 2002 | A1 |
20030038927 | Alden | Feb 2003 | A1 |
20030086013 | Aratani | May 2003 | A1 |
20030117343 | King | Jun 2003 | A1 |
20040193413 | Wilson et al. | Sep 2004 | A1 |
20050052558 | Yamazaki et al. | Mar 2005 | A1 |
20050132408 | Dahley et al. | Jun 2005 | A1 |
20050168583 | Thomason | Aug 2005 | A1 |
20050182962 | Given et al. | Aug 2005 | A1 |
20050280786 | Moiroux et al. | Dec 2005 | A1 |
20060140452 | Raynor et al. | Jun 2006 | A1 |
20060197843 | Yoshimatsu | Sep 2006 | A1 |
20070027580 | Ligtenberg et al. | Feb 2007 | A1 |
20070058052 | Makela | Mar 2007 | A1 |
20070177279 | Cho et al. | Aug 2007 | A1 |
20070236485 | Trepte | Oct 2007 | A1 |
20070300312 | Chitsaz et al. | Dec 2007 | A1 |
20080062164 | Bassi et al. | Mar 2008 | A1 |
20080088697 | Kadono | Apr 2008 | A1 |
20080131107 | Ueno | Jun 2008 | A1 |
20080158362 | Butterworth | Jul 2008 | A1 |
20080191864 | Wolfson | Aug 2008 | A1 |
20090008683 | Nishizawa | Jan 2009 | A1 |
20090027337 | Hildreth | Jan 2009 | A1 |
20090051797 | Yao | Feb 2009 | A1 |
20090115915 | Steinberg et al. | May 2009 | A1 |
20090221368 | Yen et al. | Sep 2009 | A1 |
20090262306 | Quinn et al. | Oct 2009 | A1 |
20090262343 | Archibald | Oct 2009 | A1 |
20090273679 | Gere et al. | Nov 2009 | A1 |
20090309826 | Jung et al. | Dec 2009 | A1 |
20100060803 | Slack et al. | Mar 2010 | A1 |
20100061659 | Slack et al. | Mar 2010 | A1 |
20100073499 | Gere et al. | Mar 2010 | A1 |
20100079426 | Pance et al. | Apr 2010 | A1 |
20100079468 | Pance et al. | Apr 2010 | A1 |
20100079653 | Pance | Apr 2010 | A1 |
20100079884 | Gere et al. | Apr 2010 | A1 |
20100083188 | Pance et al. | Apr 2010 | A1 |
20100103172 | Purdy | Apr 2010 | A1 |
20110074931 | Bilbrey et al. | Mar 2011 | A1 |
20110075055 | Bilbrey | Mar 2011 | A1 |
20110115964 | Gere | May 2011 | A1 |
20120044328 | Gere | Feb 2012 | A1 |
20120076363 | Kessler et al. | Mar 2012 | A1 |
Number | Date | Country |
---|---|---|
167314 | Jan 1986 | EP |
2053844 | Apr 2009 | EP |
2002354493 | Dec 2002 | JP |
2004343476 | Dec 2004 | JP |
2006115346 | Apr 2006 | JP |
2006165941 | Jun 2006 | JP |
2006279373 | Oct 2006 | JP |
2009218661 | Sep 2009 | JP |
WO9311631 | Jun 1993 | WO |
WO2007100057 | Sep 2007 | WO |
WO2009001512 | Dec 2008 | WO |
Entry |
---|
Author Unknown, “YCbCr,” http://en.wikipedia.org/wiki/Y%27CbCr, 4 pages, at least as early as Jun. 17, 2010. |
Koschan et al., “Finding Objects in a 3D Environment by Combining Distance Measurement and Color Indexing,” IEEE, vol. 1, pp. 858-861, Oct. 2001. |
Sokolova et al., “Experiments in Stereo Vision,” Computer Science 570, Final Project, http://disparity.wikidot.com/, 14 pages, at least as early as Jun. 16, 2010. |
International Search Report, PCT/US2010/054667, 4 pages, Feb. 4, 2011. |
First Office Action received in MX Application No. MX/a/2012/007345, dated Jun. 6, 2013. |
Office Action received in TW Application No. 099142670, dated Jun. 28, 2013. |
Office Action received in AU Application No. 2010333908, dated Jul. 19, 2013. |
Office Action received in JP Application No. 2012-545944, dated Jul. 31, 2013. |
Number | Date | Country | |
---|---|---|---|
20110149094 A1 | Jun 2011 | US |