This invention relates generally to captured image processing and more particularly to images captured using a rolling shutter mode of image capture.
Digital image capture comprises a relatively well-understood field of endeavor. In many cases, and particularly when using complimentary metal oxide semiconductor-based image sensors, such image capture entails use of a so-called rolling shutter mode of operation. Instead of exposing every pixel in a given sensor array simultaneously, pixels are exposed one row (or column) at a time. Typically this entails using a relatively constant short time delay between each row (or column) exposure. This approach offers various benefits such as permitting a relatively efficient multiplexing of image capture circuitry. This, in turn, can aid in significantly reducing the price of a given image capture platform.
There are, however, certain problems that attend the use of a rolling shutter mode of operation. For example, a rolling shutter mode of operation can introduce undesirable artifacts under at least some operating circumstances. As each row (or column) in the sensor apparatus receives image exposures at slightly different times from one another, the resultant aggregate captured image will typically be distorted if an object in the field of view moves at an appreciable speed during the image capture process. Such distortion, in turn, may be objectionable both for aesthetic reasons and may be particularly troublesome when used in an object recognition application.
Such distortion can be at least substantially avoided by using a so-called global shutter. A global shutter will typically expose all pixels in the image capture sensor simultaneously. Unfortunately, this requires extra devices for each pixel as well as additional circuitry outside of the pixel array itself. This typically represents a significant increase in cost over the aforementioned rolling shutter mode of operation. Global shutter mechanisms also often tend to be specialized application platforms and often are unable to provide captured images in a useful variety of formats (as may correspond to size, resolution, and so forth).
The above needs are at least partially met through provision of the method and apparatus to facilitate correcting rolling shutter images described in the following detailed description, particularly when studied in conjunction with the drawings, wherein:
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions and/or relative positioning of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present invention. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention. It will further be appreciated that certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. It will also be understood that the terms and expressions used herein have the ordinary meaning as is accorded to such terms and expressions with respect to their corresponding respective areas of inquiry and study except where specific meanings have otherwise been set forth herein.
Generally speaking, pursuant to these various embodiments, a first and a second image containing a shared region of interest are captured using a rolling shutter mode of image capture. These two images are captured at different times, such that the second image follows the first image by a given amount of time. A corrected image is then formed of the region of interest by modifying at least one of the first and second images as a function, at least in part, of the given amount of time that separates capture of the two images along with pixel capture delay times as correspond to the rolling shutter mode of image capture (the latter referring, by one approach, to pixel row capture delay times as characterize the rolling shutter image capture process itself).
By one optional approach, this image correction process further makes use of a motion metric that corresponds, in turn, to the content of the first and second images. More particularly, the image correction process can comprise, at least in part, a mapping approach that maps image pixels as a function of this motion metric as well as the aforementioned given amount of time and the pixel capture delay times.
So configured, the row-by-row distortion that rolling shutter image capture can introduce when capturing the image of a quickly moving object can be corrected to yield a corresponding corrected image. The resultant corrected image usually comprises a considerably improved and less distorted view of the object, both from an aesthetic viewpoint and as suitable subject matter to drive an object recognition process if desired.
These and other benefits may become clearer upon making a thorough review and study of the following detailed description. Referring now to the drawings, and in particular to
Referring now to
This process 200 also comprises capturing 202 a second image that also contains the region of interest using a rolling shutter mode of image capture, wherein the second image is captured at a given amount of time subsequent to capturing the first image. By one optional approach this second image is captured using the same rolling shutter mode of image capture as serves to capture the first image. This given amount of time may comprise, for example, a fraction of a second. Extremely fast or further delayed time windows may be appropriate, however, when seeking to capture an image given particular attendant circumstances regarding speed of the object, shutter speed, relative brightness or darkness, and so forth.
Referring momentarily to
Referring again to
Referring momentarily to
There are various ways to use the indicated information to form this corrected image. Referring now to
In one optional approach, one then determines 302 whether the captured image (or images) requires distortion removal as per these teachings (e.g., whether sufficient distortion due to rolling shutter distortion has occurred to warrant providing a corrected image). For example, the object in question may not have been moving at the time the images were captured and hence no rolling shutter-based distortion may have occurred. By one approach, this determination 302 can comprise comparing the calculated motion metric with, for example, a predetermined threshold to obtain a corresponding result.
When this result corresponds to a first category of result (as when, for example, the first category of result indicates that rolling shutter-based distortion is likely present in the captured image(s)) this process then accommodates responsively then forming the corrected image of the region of interest by modifying at least one of the first and second captured images as described herein. When, however, this result corresponds to a second category of result (as when, for example, the second category of result indicates that rolling shutter-based distortion is likely not present in at least one of the captured images) this process will accommodate responsively not then forming such a corrected image. Instead, if desired, the already captured image can be used as an adequate representation of the region of interest.
Upon determining that correction should occur, this process may then use 304 a mapping approach to at least partially correct the rolling shutter distortion to provide a corrected image. This mapping approach may process the image information as a function, at least in part, of the given amount of time between capturing the two images, pixel capture delay times as correspond to the rolling shutter mode of image capture, and the above-mentioned motion metric. By one illustrative example, this mapping process implements a process represented by the expression:
for all x, y within ROI
where:
Those skilled in the art will appreciate that the above-described processes are readily enabled using any of a wide variety of available and/or readily configured platforms, including partially or wholly programmable platforms as are known in the art or dedicated purpose platforms as may be desired for some applications. Referring now to
This apparatus 700 presumably operably couples to an image capture device (or devices) 701 of choice that serves to capture the images described herein. This image capture device 701 may comprise, for example, a complimentary metal oxide semiconductor-based image sensor as is known in the art. In any event, in this embodiment this image capture device 701 captures images using a rolling shutter mode of image capture operation (which may comprise either a row-by-row or column-by-column mode of rolling shutter mode of image capture operation).
An image memory 702 operably couples to the image capture device(s) 701 and receives the corresponding captured images. In this embodiment, this image memory 702 serves to store, for example, at least a first image 703 containing a region of interest, which first image 703 was captured via a rolling shutter mode of image capture and may therefore exhibit rolling shutter distortion due to relative movement of the region of interest and a second image 704 that also contains the region of interest, which second image 704 was also captured via a rolling shutter mode of image capture and may therefore also exhibit rolling shutter distortion. By one approach, as described above, this second image 704 was captured at a given amount of time subsequent to capture of the first image 703.
This apparatus 700 may also comprise a motion metric memory 706 having stored therein a motion metric that corresponds to an amount of apparent motion as corresponds to the region of interest as between the first image 703 and the second image 704. This motion metric can be developed via a method and platform of choice including but not limited to an optional motion metric processor 707 that operably couples to the image memory 702 to permit access to the corresponding image information.
A pixel mapping processor 705 operably couples to both the image memory 702 and to the motion metric memory 706 and is configured and arranged to form a corrected image 708 of the region of interest by modifying at least one of the first image 703 and the second image 704 as a function, at least in part, of the motion metric and pixel capture delay times as correspond to the rolling shutter mode of image capture. This pixel mapping processor 705 may also make use of the aforementioned given amount of time that separates the image capture events as correspond to the first and second images. By one approach this comprises shifting pixels as comprise one of the images in accordance with the mapping expression set forth above.
Those skilled in the art will recognize and understand that such an apparatus 700 may be comprised of a plurality of physically distinct elements as is suggested by the illustration shown in
So configured, a relatively undistorted image can be provided notwithstanding only the availability of distorted images. This, in turn, permits a wider range of applications for rolling shutter-based image capture platforms as this relatively inexpensive approach to image capture can now be successfully employed in application settings that include rapidly moving objects. These teachings are implementable in a relatively cost effective manner and are even suitable for retrofitting for use in an already deployed system if desired.
Those skilled in the art will recognize that a wide variety of modifications, alterations, and combinations can be made with respect to the above described embodiments without departing from the spirit and scope of the invention, and that such modifications, alterations, and combinations are to be viewed as being within the ambit of the inventive concept. For example, any number of additional captured images could be used to supplement the above-mentioned first and second captured images to provide additional information regarding the motion metric, the region of interest itself, and so forth. It will also be understood that column-based rolling shutter image capture and column-based mapping to compensate for corresponding distortion is also within the scope of these teachings.
Moreover, in this document, relational terms such as first and second, top and bottom, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” “has”, “having,” “includes”, “including,” “contains”, “containing” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises, has, includes, contains a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by “comprises . . . a”, “has . . . a”, “includes . . . a”, “contains . . . a” does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises, has, includes, contains the element. The terms “a” and “an” are defined as one or more unless explicitly stated otherwise herein. The terms “substantially”, “essentially”, “approximately”, “about” or any other version thereof, are defined as being close to as understood by one of ordinary skill in the art, and in one non-limiting embodiment the term is defined to be within 10%, in another embodiment within 5%, in another embodiment within 1% and in another embodiment within 0.5%. The term “coupled” as used herein is defined as connected, although not necessarily directly and not necessarily mechanically. A device or structure that is “configured” in a certain way is configured in at least that way, but may also be configured in ways that are not listed.