WO2011046633A1 - Method and apparatus for image stabilization - Google Patents

Method and apparatus for image stabilization Download PDF

Info

Publication number
WO2011046633A1
WO2011046633A1 PCT/US2010/030286 US2010030286W WO2011046633A1 WO 2011046633 A1 WO2011046633 A1 WO 2011046633A1 US 2010030286 W US2010030286 W US 2010030286W WO 2011046633 A1 WO2011046633 A1 WO 2011046633A1
Authority
WO
WIPO (PCT)
Prior art keywords
image data
motion
frame
transformation
global
Prior art date
Application number
PCT/US2010/030286
Other languages
French (fr)
Inventor
Yuri Dolgin
Anatoly Gurevich
Eran Pinhasov
Victor Pinto
Original Assignee
Zoran Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zoran Corporation filed Critical Zoran Corporation
Priority to CN2010800465206A priority Critical patent/CN102656876A/en
Priority to EP10823753A priority patent/EP2489180A1/en
Priority to TW099111157A priority patent/TW201127028A/en
Publication of WO2011046633A1 publication Critical patent/WO2011046633A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/76Addressed sensors, e.g. MOS or CMOS sensors

Definitions

  • the present invention relates in general to digital image stabilization of video data and more particularly to digital stabilization of image data detected by a CMOS sensor during capture.
  • one conventional method includes employing one or more motion sensors to detect motion of the imaging device for correction of image data. These methods require motion sensors and can still result in digital distortions as the motion sensing arrangements typically employed usually do not detect rotational motion. Difficulties with image stabilization may additionally increase using zoom features of the imaging device.
  • CMOS sensors in particular rolling shutter sensors.
  • Previous attempts have been directed at performing off-line postprocessing to compensate for translational transformation. These methods, however, do not account for outliers introduced by local object motion or correct for rolling shutter imaging artifacts.
  • Another approach involves off-line processing which usually differs from on-line processing by requiring higher power consumption, higher bandwidth, higher processing delay and higher algorithmic complexity.
  • a method includes detecting image data for a first frame, detecting image data for a second frame, performing motion estimation to determine one or more motion vectors associated with global frame motion for image data of the first frame, performing an outlier rejection function to select at least one of the one or more motion vectors and determining a global transformation for image data of the first frame based, at least in part, on motion vectors selected by the outlier rejection function.
  • the method further includes determining a stabilization transformation for image data of the first frame by refining the global transformation to correct for unintentional motion and applying the stabilization transformation to image data of the first frame to stabilize the image data of the first frame.
  • FIG. 1 depicts a simplified block diagram of a video imaging device according to one embodiment of the invention
  • FIG. 2 depicts a process for stabilization of image data according to one embodiment of the invention
  • FIG. 3 A depicts a graphical representation of image data for a frame according to one embodiment of the invention
  • FIG. 3B depicts a graphical representation of image data for the frame of FIG. 3A including image artifacts according to one embodiment of the invention
  • FIG. 4 depicts an outlier function according to one embodiment of the invention
  • FIG. 5 depicts a graphical representations image data for a series of frames according to one embodiment of the invention
  • FIG. 6 depicts a graphical representations of image data for a frame according to another embodiment of the invention.
  • FIG. 7 depicts a simplified block diagram of a video imaging device according to another embodiment of the invention.
  • One aspect of the present invention relates to stabilization of image data, such as video data, by an imaging device.
  • a process is provided for stabilization of image data detected by a CMOS image sensor, such as a rolling shutter sensor or global shutter sensor.
  • the image stabilization process may be based on motion of image data relative to previous or consecutive frames of image data to determine a stabilization transformation for correction of unintentional motion, such as user movements which are translated into instabilities in captured image data.
  • Unintentional motion may relate to user motion of an imaging device that is undesired, such as hand shake.
  • the process may include a warping transformation responsive to a plurality of motion vectors, and an outlier function to provide a multi-stage refinement process for selecting one or more motion vectors.
  • the process may additionally include determining a global transformation of image data based on previous or consecutive frame data, and determination of a confidence measure associated with the global transformation to reduce false estimations in the global transformation.
  • the process may further include determination of a stabilization transformation based on the global transformation to correct for one or more unintentional movements affecting detection of image data.
  • an imaging device for stabilization of video image data in real-time or near real-time as described herein. In that fashion, image data may be detected and corrected without the need for post-processing of the video image data.
  • FIG. 1 depicts a simplified block diagram of an imaging device configured to provide stabilization of image data according to one embodiment of the invention.
  • Device 100 related to an imaging device such as a video camera, or device in general including a video imaging device (e.g., personal communication unit).
  • Image sensor 105 of device 100 may be configured to capture image data for one or more frames.
  • image sensor 105 relates to a complementary metal-oxide semiconductor (CMOS) sensor.
  • CMOS complementary metal-oxide semiconductor
  • image sensor 105 may relate to one of a rolling shutter sensor and global shutter sensor.
  • a rolling shutter sensor relates to image acquisition device which is detecting by scanning pixel data of the image sensor by scanning pixel data vertically or horizontally across the frame.
  • a global shutter sensor relates to wherein image data of the frame is captured simultaneously.
  • Device 100 includes processor 110 coupled to image sensor 105 and may be configured to process image data detected by image sensor 105 associated with one or more frames.
  • Exemplary input to the system includes, but is not limited to stand definition (SD) and high definition (HD) video.
  • Processor 110 may be configured to process image data for output via input/output interface 115 and/or storage on memory 120.
  • device 100 may be configured to output image data to optional memory 125 for storage (e.g., removable media, DVD-r, etc.) and/or optional display 130.
  • optional memory 125 for storage (e.g., removable media, DVD-r, etc.) and/or optional display 130.
  • device 100 may be configured to perform a process for image detection including one or more of motion estimation calculations, determining a global distortion and applying a complex transformation to image data.
  • Processor 110 may be configured to provide real-time digital image stabilization based on image data detected by image sensor 105. According to another embodiment, processor 110 may be configured to minimize motion estimation calculations for stabilization of captured image date.
  • Device 100 may further be configured to provide complex distortion correction which is more complex than affine.
  • Processor 110 may be configured to operate based on one or more instructions stored in memory 120, wherein memory 120 relates to one of ROM and RAM memory. Executable instructions and/or data received by device 100 may be stored by memory 120.
  • memory 120 relates to one of ROM and RAM memory.
  • Executable instructions and/or data received by device 100 may be stored by memory 120.
  • device 100 has been described above with reference to a rolling shutter configuration for image sensor 105, it should equally be appreciated that device 100 may relate to a global image sensor.
  • elements in FIG. 1 may be described as hardware, it should be appreciated that the functions of the elements may be implemented in a variety of ways including hardware, firmware, software, and combinations thereof.
  • Process 200 may be initiated by detecting image data for a first frame at block 205 and detecting image data for a second frame at block 210.
  • image data detected at blocks 205 and 210 may be consecutive frames. Delay between capture of frames may be based on a video standards for SD and HD video data, including but not limited to 30 frames/second.
  • motion estimation may be performed to determine one or more motion vectors associated with the first frame. As will be described in more detail below with respect to FIG. 3, motion vectors may be determined for global motion, such as motion of the entire image frame.
  • motion vectors may be calculated for local motion, motion of objects within the frame. Motion vectors may be determined based on a comparison of image data associated with the first and second frame. In certain embodiments, a plurality of frames may be employed for motion estimation, such as previously detected and/or subsequently detected frames to perform motion estimation. In one embodiment, motion estimation may be hierarchical, wherein one or more motion vectors may be determined for coarse and fine resolutions of image data. However, performing full motion estimation for all blocks in a frame may be very demanding. Accordingly, an outlier function may be performed at block 220. The outlier function, as will be described in more detail below with respect to FIG. 4, may be performed to select one or more motion vectors.
  • the outlier function may determine which motion vectors are not related to global motion within the image frame and thus, select motion vectors associated with global motion. In that fashion outliers, which may lead to suboptimal stabilization, may be removed.
  • process 200 may continue by determining a global transformation at block 225 based on the image data for the first and second frame.
  • the global transformation provides a measurement of global frame motion which may be used for transformation of the image data to align frames.
  • the global transformation may further be associated with a confidence measure.
  • the processor may determine a confidence measure for the global transformation.
  • the confidence measure of the global transformation may be based on several metrics and may depend on the coverage of the frame by valid motion vectors.
  • the confidence measure may be employed to reduce false estimations of global transformation in the presence of three-dimensional (3D) and/or complex motion in one or more frames (e.g., a scene).
  • the confidence measure may similarly reduce false estimations when scene information includes limited details.
  • scene information includes limited details.
  • one or more image frames directed to a white wall may resulting a reduced confidence level as detail in one or more frames may be difficult to distinguish.
  • the confidence measure of a global transformation can depend on complexity between one or more images.
  • the confidence measure may be related to rolling shutter and/or other undesired effects found in a global transformation and coverage of a frame by motion vectors. For example, for complex global transformations a higher number of motion vectors should be determined to obtain the same confidence measures between a series of frames. By decreasing the coverage of motion vectors the confidence measure may decrease. In that fashion, confidence measure may be employed to moderate the global transformation by blending the global transformation with an identity transformation, wherein for a zero confidence level the global transformation would be the identity transformation.
  • the device may then determine a stabilization transformation at block 230.
  • a stabilization transformation may be employed to correct for unintentional motion on an image frame, such as unintentional movements by the user.
  • the stabilization transformation may further correct for one or more rolling shutter artifacts, such as skew, wobble, partial exposure, and distortion.
  • intentional motion is extracted from a global transformation between consecutive frames by temporally smoothing a global transformation.
  • the global transformation may be smoothed by recursive filtering, such as using Kalman filtering. Rolling shutter artifacts may be considered an undesired part of the global transformation and thus, filtering of the global transformation should not include smoothing of the rolling shutter artifacts.
  • the stabilization transformation may be determined for the remaining unintentional motion.
  • y new c 6 x old + c 7 y old + c & xy + c 9 y o 2 ld + c 10 wherein x 0 id and y 0 id are pixel coordinates for a corrected image and x new and y new pixel data of the captured frame.
  • y nev c i x oid + c t y M + c 9 xy + c w y 0 2 ld + C l l X old + C 12
  • the stabilization transformation is applied to image data of the first frame. Determination and application of the stabilization transformation may be determined in realtime, or near real-time. In one embodiment, the stabilization transformation is performed by a warping unit of the processor to transform pixel data based on the stabilization transformation. For example, a warping process may substitute one or more individually shifted pixels based on the transformation.
  • process 200 may correct for lens distortion effects of an imaging sensor (e.g., image sensor 105).
  • process 200 may include applying an inverse lens distortion function to motion vectors determined at block 215 during motion estimation.
  • application of a stabilization transformation at block 235 may perform correction for unintentional motion and lens distortion correction.
  • FIGs. 3A-B depict graphical representations of image data associated with a frame.
  • image frame 305 is a simplified depiction of image data which is not affected by unintentional motion or rolling shutter artifacts of an image sensor.
  • real-time, or near real-time, stabilization of image data may be provided to account for global motion of image data.
  • Image frame 305 may include one or more objects, 310i -n , shown as person 310i and balloons 310 n .
  • image data associated with object 310 ⁇ includes detail shown as 315.
  • image data for a frame is depicted which includes one or more inconsistencies (e.g., blurring, artifacts, etc.) due to unintentional motion of the imaging device during capture.
  • Image frame 320 relates to image frame 305 including objects 310i -n .
  • image data of frame 320 relates to image data detected by a rolling shutter sensor of an imaging device (e.g., device 100).
  • Unintentional motion affecting the imaging device in capturing image data may adjust pixel data as shown by directions 325 x , 325 y , 330a and 330b, which may include global motion of image data.
  • one or more motion vectors may be determined.
  • motion vectors 340i -2 relate to motion of image data for object 310 ⁇ .
  • due to unintentional motion detail (e.g., detail 315) of object 310i may be blurred or distorted as shown by 345.
  • Motion vector 350 relates to motion of object 310 n .
  • Motion vectors may additionally be determined for image data of the image frame shown as 360i -n and may be associated with one or more regions of the frame.
  • one or more motion vectors of the image frame may be selected to determine a stabilization transformation. Selection of the motion vectors may be determined by an outlier function.
  • one or more motion vectors may be selected such that the number of motion estimations is minimized.
  • Process 400 allows for selection of one or more motion vectors to minimize motion estimation calculations. In that fashion, stabilization of image data may account for local moving objects and the ability to track regions of the frame undergoing non-global motion.
  • Process 400 may be initiated by obtaining motion vectors at block 405.
  • the outlier function may be configured to determine motion vectors which are not part of global motion based on one or more motion vector weights.
  • Motion vector weights may reflect the relevancy of each region of a frame to be considered as an inlier (e.g., global motion indicator).
  • Motion vectors weights may be employed when selecting regions of blocks of image data for determining a global transformation and thus may form a basis for weights employed by the outlier function of process 400.
  • motion vector data obtained at block 405 may include motion vectors weights associated with each motion vector.
  • Motion vector analysis may be performed on a derived, near optimal, sparse set of selected image locations.
  • process 400 may perform one or more iterations and thus may further include establishing the number of iterations to zero at block 405.
  • one or more motion vector vectors may be selected from the obtained motion vector data.
  • the motion vectors may be selected randomly at block 410.
  • the number of motion vectors selected may be based on a model employed for the outlier function.
  • a model may be estimated at block 415.
  • y nev ⁇ rX old + (! + V y)y 0 ld - V r X 0l d y 0 ld + d y
  • x new c x x 0 id + c 2 y old + c 3 xy + c 4 y 0 2 ld + c 5 x o 2 ld + c 6
  • model parameters may be calculated at block 415 based on the selected motion vectors and process 420 may continue by determining, at block 420, which motion vectors from the set of all motion vectors obtained in 400 are inliers, according to model parameters calculated at block 415.
  • a motion vector will be marked as an inlier if it agrees with a selected model determined at block 415 up to a predefined threshold.
  • a model with the highest mark (for example, with the largest number of inlier motion vectors or with highest total weight of inlier motion vectors) may be stored at block 425 including relevant information to determine the inlier motion vectors.
  • process 400 may check if an additional iteration is to be performed at block 430.
  • a number of iterations may be required.
  • additional iterations e.g., "NO" path out of decision block 430
  • the number of iterations may be increased at block 435 and one or more motion vectors may be selected at block 410.
  • An estimated model for selected motion vectors may be updated at block 415.
  • the outlier function may finish at block 440.
  • a result of the outlier function may be a reduction in the number of motion vectors and overall processing required to determine motion estimation for a global transformation.
  • the outlier function may include inlier tracking, responsible for tracking regions with non-global motion between frames and providing a weight for every region of the frame.
  • the weight for the region reflects the likelihood of containing areas exhibiting global motion (as opposed to areas or objects exhibiting local motion).
  • Scene 500 relates to one or more frames 505i -n detected by an image sensor of the device including one or more rolling shutter artifacts due to unintentional motion. Based on the detected image data, the devices and methods as described herein may be configured to provide image stabilization for scenes.
  • Frames 510i -n illustrate application of a determine stabilization transform, as described herein, to frames 505i -n .
  • image data associated with frames 505 ⁇ and 505 2 may be employed to determine a stabilization transformation resulting in image 510 ⁇ .
  • previous and subsequent frames may be employed to apply image stabilization to frame data, such as frames 505i and 505 2 .
  • correct image data such as image frame 510 ⁇ may be employed for correction of a current frame, such as 505 2 .
  • scene 500 further depicts correction for global motion of image data due to unintentional motion and further allows for local motion of object data.
  • local motion of object 515i -n and object 520i -n may be accounted for in correction of image stabilization.
  • frames 510i -n include corrected objects 525i -n and 530i -n wherein image data has been corrected for unintentional motion while preserving local motion.
  • FIG. 6 depicts a graphical representation of an image frame according to one embodiment of the invention.
  • the image sensor e.g., image sensor 105
  • pixel data of non-visible detection area 605 may be utilized in addition to image data of a frame, shown as 610, for determination of a global transformation.
  • the devices and methods as described herein may further be configured to account for complex motion of an object. As depicted in FIG. 6, complex motion of object 615, as shown by direction arrows 620 and 625, may be accounted for during correction for unintentional motion.
  • pixel data of the frame associated with regions may additionally be employed to detection of the complex motion.
  • Region 630 relates to a vertical region of the detection area. Pixel data associated with region 630 in a first image may be compared with pixel data in region 630 of a second frame to aid in correction of unintentional motion. It should be appreciated that other regions or areas may similarly be employed.
  • Device 700 relates to the device of FIG. 1 including stabilization circuitry configured to determine an image stabilization transformation for application to image data. Accordingly, elements in device 700 may operate similarly to those described above with respect to FIG. 1.
  • Device 700 includes image sensor 705 and processor 710 coupled to image sensor 105.
  • Processor 710 may be configured to apply image stabilization to image data based on a stabilization circuitry 715.
  • Stabilization circuitry 715 may be configured to determine the stabilization transformation as described herein.
  • Processor 710 may be configured to output stabilized image data to via output interface 720 and/or storage on memory 725.
  • device 700 may be configured to output image data to optional memory 730 (e.g., removable media, DVD-r, etc.) and/or optional display 735.
  • optional memory 730 e.g., removable media, DVD-r, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)

Abstract

A method and device are provided for method for stabilization of image data by an imaging device. In one embodiment, a method includes detecting image data for a first frame and a second frame, performing motion estimation to determine one or more motion vectors associated with global frame motion for image data of the first frame, performing an outlier rejection function to select at least one of the one or more motion vectors, and determining a global transformation for image data of the first frame based, at least in part, on motion vectors selected by the outlier rejection function. The method may further include determining a stabilization transformation for image data of the first frame by refining the global transformation to correct for unintentional motion and applying the stabilization transformation to image data of the first frame to stabilize the image data of the first frame.

Description

METHOD AND APPARATUS FOR IMAGE STABILIZATION
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Application No. 61/251,379, filed on October 14, 2009, which is hereby fully incorporated by reference.
FIELD OF THE INVENTION
[0002] The present invention relates in general to digital image stabilization of video data and more particularly to digital stabilization of image data detected by a CMOS sensor during capture.
BACKGROUND OF THE INVENTION
[0003] User operation of video imaging devices, and in particular hand-held recording devices, can produce blurred or displaced image data due to small movements of the operator while supporting the imaging device. Blurred of distorted image data, however, is not preferred. Accordingly, conventional methods and devices have been employed for stabilization of image data captured by video imaging devices. For example, one conventional method includes employing one or more motion sensors to detect motion of the imaging device for correction of image data. These methods require motion sensors and can still result in digital distortions as the motion sensing arrangements typically employed usually do not detect rotational motion. Difficulties with image stabilization may additionally increase using zoom features of the imaging device.
[0004] The conventional methods and devices, however, do not account for real-time, or near real-time, digital video stabilization for image data captured by CMOS sensors, in particular rolling shutter sensors. Previous attempts have been directed at performing off-line postprocessing to compensate for translational transformation. These methods, however, do not account for outliers introduced by local object motion or correct for rolling shutter imaging artifacts. Another approach involves off-line processing which usually differs from on-line processing by requiring higher power consumption, higher bandwidth, higher processing delay and higher algorithmic complexity. 005] Thus, there is a need in the art for systems and methods of to address one or more drawbacks of devices employing CMOS sensors.
BRIEF SUMMARY OF THE INVENTION
[0006] Disclosed and claimed herein, are systems and methods for stabilization of image data. In one embodiment a method includes detecting image data for a first frame, detecting image data for a second frame, performing motion estimation to determine one or more motion vectors associated with global frame motion for image data of the first frame, performing an outlier rejection function to select at least one of the one or more motion vectors and determining a global transformation for image data of the first frame based, at least in part, on motion vectors selected by the outlier rejection function The method further includes determining a stabilization transformation for image data of the first frame by refining the global transformation to correct for unintentional motion and applying the stabilization transformation to image data of the first frame to stabilize the image data of the first frame.
[0007] Other aspects, features, and techniques of the invention will be apparent to one skilled in the relevant art in view of the following detailed description of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The features, objects, and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein:
[0009] FIG. 1 depicts a simplified block diagram of a video imaging device according to one embodiment of the invention;
[0010] FIG. 2 depicts a process for stabilization of image data according to one embodiment of the invention;
[0011] FIG. 3 A depicts a graphical representation of image data for a frame according to one embodiment of the invention;
[0012] FIG. 3B depicts a graphical representation of image data for the frame of FIG. 3A including image artifacts according to one embodiment of the invention;
[0013] FIG. 4 depicts an outlier function according to one embodiment of the invention;
[0014] FIG. 5 depicts a graphical representations image data for a series of frames according to one embodiment of the invention;
[0015] FIG. 6 depicts a graphical representations of image data for a frame according to another embodiment of the invention; and
[0016] FIG. 7 depicts a simplified block diagram of a video imaging device according to another embodiment of the invention.
DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS
[0017] One aspect of the present invention relates to stabilization of image data, such as video data, by an imaging device. In one embodiment, a process is provided for stabilization of image data detected by a CMOS image sensor, such as a rolling shutter sensor or global shutter sensor. The image stabilization process may be based on motion of image data relative to previous or consecutive frames of image data to determine a stabilization transformation for correction of unintentional motion, such as user movements which are translated into instabilities in captured image data. Unintentional motion may relate to user motion of an imaging device that is undesired, such as hand shake. The process may include a warping transformation responsive to a plurality of motion vectors, and an outlier function to provide a multi-stage refinement process for selecting one or more motion vectors. According to another embodiment, the process may additionally include determining a global transformation of image data based on previous or consecutive frame data, and determination of a confidence measure associated with the global transformation to reduce false estimations in the global transformation. The process may further include determination of a stabilization transformation based on the global transformation to correct for one or more unintentional movements affecting detection of image data.
[0018] According to another embodiment, an imaging device is provided, the imaging device for stabilization of video image data in real-time or near real-time as described herein. In that fashion, image data may be detected and corrected without the need for post-processing of the video image data.
Description of the Exemplary Embodiments
[0019] FIG. 1 depicts a simplified block diagram of an imaging device configured to provide stabilization of image data according to one embodiment of the invention. Device 100 related to an imaging device such as a video camera, or device in general including a video imaging device (e.g., personal communication unit). Image sensor 105 of device 100 may be configured to capture image data for one or more frames. According to one embodiment, image sensor 105 relates to a complementary metal-oxide semiconductor (CMOS) sensor. According to a further embodiment, image sensor 105 may relate to one of a rolling shutter sensor and global shutter sensor. As used herein, a rolling shutter sensor relates to image acquisition device which is detecting by scanning pixel data of the image sensor by scanning pixel data vertically or horizontally across the frame. A global shutter sensor relates to wherein image data of the frame is captured simultaneously.
[0020] Device 100 includes processor 110 coupled to image sensor 105 and may be configured to process image data detected by image sensor 105 associated with one or more frames. Exemplary input to the system includes, but is not limited to stand definition (SD) and high definition (HD) video. Processor 110 may be configured to process image data for output via input/output interface 115 and/or storage on memory 120. In certain embodiments, device 100 may be configured to output image data to optional memory 125 for storage (e.g., removable media, DVD-r, etc.) and/or optional display 130.
[0021] As will be described in more detail below with respect to FIGs. 2, device 100 may be configured to perform a process for image detection including one or more of motion estimation calculations, determining a global distortion and applying a complex transformation to image data. Processor 110 may be configured to provide real-time digital image stabilization based on image data detected by image sensor 105. According to another embodiment, processor 110 may be configured to minimize motion estimation calculations for stabilization of captured image date. Device 100 may further be configured to provide complex distortion correction which is more complex than affine.
[0022] Processor 110 may be configured to operate based on one or more instructions stored in memory 120, wherein memory 120 relates to one of ROM and RAM memory. Executable instructions and/or data received by device 100 may be stored by memory 120. Although device 100 has been described above with reference to a rolling shutter configuration for image sensor 105, it should equally be appreciated that device 100 may relate to a global image sensor. Although elements in FIG. 1 may be described as hardware, it should be appreciated that the functions of the elements may be implemented in a variety of ways including hardware, firmware, software, and combinations thereof.
[0022] Referring now to FIG. 2, a process is depicted for stabilization of image data detected by the device of FIG. 1 according to one embodiment of the invention. Process 200 may be initiated by detecting image data for a first frame at block 205 and detecting image data for a second frame at block 210. According to one embodiment, image data detected at blocks 205 and 210 may be consecutive frames. Delay between capture of frames may be based on a video standards for SD and HD video data, including but not limited to 30 frames/second. At block 215, motion estimation may be performed to determine one or more motion vectors associated with the first frame. As will be described in more detail below with respect to FIG. 3, motion vectors may be determined for global motion, such as motion of the entire image frame. Similarly, motion vectors may be calculated for local motion, motion of objects within the frame. Motion vectors may be determined based on a comparison of image data associated with the first and second frame. In certain embodiments, a plurality of frames may be employed for motion estimation, such as previously detected and/or subsequently detected frames to perform motion estimation. In one embodiment, motion estimation may be hierarchical, wherein one or more motion vectors may be determined for coarse and fine resolutions of image data. However, performing full motion estimation for all blocks in a frame may be very demanding. Accordingly, an outlier function may be performed at block 220. The outlier function, as will be described in more detail below with respect to FIG. 4, may be performed to select one or more motion vectors. The outlier function may determine which motion vectors are not related to global motion within the image frame and thus, select motion vectors associated with global motion. In that fashion outliers, which may lead to suboptimal stabilization, may be removed. 023] Based on the outlier function performed at block 220, process 200 may continue by determining a global transformation at block 225 based on the image data for the first and second frame. The global transformation provides a measurement of global frame motion which may be used for transformation of the image data to align frames. The global transformation may further be associated with a confidence measure. In one embodiment, the processor may determine a confidence measure for the global transformation. The confidence measure of the global transformation may be based on several metrics and may depend on the coverage of the frame by valid motion vectors. When the significant part of a frame undergoes global motion, higher coverage should result in higher confidence. The parameters of detected global transformation are examined and high deviations of parameters from normal values (e.g., zoom should be close to unity) will also result in lower confidence. Also, for the same coverage, higher detected rolling shutter artifacts will result in a lower confidence value. [0024] The confidence measure may be employed to reduce false estimations of global transformation in the presence of three-dimensional (3D) and/or complex motion in one or more frames (e.g., a scene). The confidence measure may similarly reduce false estimations when scene information includes limited details. By way of example, when one or more image frames directed to a white wall may resulting a reduced confidence level as detail in one or more frames may be difficult to distinguish. The confidence measure of a global transformation can depend on complexity between one or more images. According to another embodiment, the confidence measure may be related to rolling shutter and/or other undesired effects found in a global transformation and coverage of a frame by motion vectors. For example, for complex global transformations a higher number of motion vectors should be determined to obtain the same confidence measures between a series of frames. By decreasing the coverage of motion vectors the confidence measure may decrease. In that fashion, confidence measure may be employed to moderate the global transformation by blending the global transformation with an identity transformation, wherein for a zero confidence level the global transformation would be the identity transformation.
[0025] Based on the global transformation determined at block 225, the device may then determine a stabilization transformation at block 230. A stabilization transformation may be employed to correct for unintentional motion on an image frame, such as unintentional movements by the user. The stabilization transformation may further correct for one or more rolling shutter artifacts, such as skew, wobble, partial exposure, and distortion. In one embodiment, intentional motion is extracted from a global transformation between consecutive frames by temporally smoothing a global transformation. In one embodiment, the global transformation may be smoothed by recursive filtering, such as using Kalman filtering. Rolling shutter artifacts may be considered an undesired part of the global transformation and thus, filtering of the global transformation should not include smoothing of the rolling shutter artifacts. As such, the stabilization transformation may be determined for the remaining unintentional motion. In one embodiment, correction the stabilization transformation may be characterized as: xnew= cixoic + ciy0u + c3xy + cAyo2u + cs
ynew = c6xold + c7yold + c&xy + c9yo 2 ld + c10 wherein x0id and y0id are pixel coordinates for a corrected image and xnew and ynew pixel data of the captured frame.
[0026] According to another embodiment, the stabilization may be characterized as: x«e» = cix ou + c2 „u + c3xy + cAyold
Figure imgf000011_0001
ynev = ci xoid + ctyM + c9xy + cwy0 2 ld + Cl lX old + C 12
[0027] At block 235, the stabilization transformation is applied to image data of the first frame. Determination and application of the stabilization transformation may be determined in realtime, or near real-time. In one embodiment, the stabilization transformation is performed by a warping unit of the processor to transform pixel data based on the stabilization transformation. For example, a warping process may substitute one or more individually shifted pixels based on the transformation.
[0028] Although process 200 is described above relating to digital video stabilization only, it should also be appreciated that process 200 may correct for lens distortion effects of an imaging sensor (e.g., image sensor 105). For example, process 200 may include applying an inverse lens distortion function to motion vectors determined at block 215 during motion estimation. Additionally, application of a stabilization transformation at block 235 may perform correction for unintentional motion and lens distortion correction.
[0029] FIGs. 3A-B depict graphical representations of image data associated with a frame. Referring first to FIG. 3A, image frame 305 is a simplified depiction of image data which is not affected by unintentional motion or rolling shutter artifacts of an image sensor. According to one embodiment of the invention, real-time, or near real-time, stabilization of image data may be provided to account for global motion of image data. Image frame 305 may include one or more objects, 310i-n, shown as person 310i and balloons 310n. As shown in FIG. 3A, image data associated with object 310χ includes detail shown as 315.
[0030] Referring now to FIG. 3B, image data for a frame is depicted which includes one or more inconsistencies (e.g., blurring, artifacts, etc.) due to unintentional motion of the imaging device during capture. Image frame 320 relates to image frame 305 including objects 310i-n. In one embodiment, image data of frame 320 relates to image data detected by a rolling shutter sensor of an imaging device (e.g., device 100). Unintentional motion affecting the imaging device in capturing image data may adjust pixel data as shown by directions 325x, 325y, 330a and 330b, which may include global motion of image data. Based on image data for frame 320 and image data of a second frame (not shown in FIG. 3B), one or more motion vectors may be determined. By way of example, motion vectors 340i-2 relate to motion of image data for object 310χ. Additionally, due to unintentional motion detail (e.g., detail 315) of object 310i may be blurred or distorted as shown by 345. Motion vector 350 relates to motion of object 310n. Motion vectors may additionally be determined for image data of the image frame shown as 360i-n and may be associated with one or more regions of the frame. According to provide real-time image stabilization, one or more motion vectors of the image frame may be selected to determine a stabilization transformation. Selection of the motion vectors may be determined by an outlier function. According to another embodiment, one or more motion vectors may be selected such that the number of motion estimations is minimized.
[0031] Referring now to FIG. 4, a process is depicted for selecting one or more motion vectors by an outlier function according to one or more embodiments of the invention. Process 400 allows for selection of one or more motion vectors to minimize motion estimation calculations. In that fashion, stabilization of image data may account for local moving objects and the ability to track regions of the frame undergoing non-global motion.
[0032] Process 400 may be initiated by obtaining motion vectors at block 405. The outlier function may be configured to determine motion vectors which are not part of global motion based on one or more motion vector weights. Motion vector weights may reflect the relevancy of each region of a frame to be considered as an inlier (e.g., global motion indicator). Motion vectors weights may be employed when selecting regions of blocks of image data for determining a global transformation and thus may form a basis for weights employed by the outlier function of process 400. Accordingly, motion vector data obtained at block 405 may include motion vectors weights associated with each motion vector. Motion vector analysis may be performed on a derived, near optimal, sparse set of selected image locations. The use of a sparse set of image locations for motion vector analysis reduces motion vector analysis time and processing requirements. The rating of regions of a video frame as to likelihood of containing areas exhibiting global motion or objects exhibiting local motion may be employed for selection of one or more regions and for subsequent use in selecting regions appearing in future frames. As will be described below, process 400 may perform one or more iterations and thus may further include establishing the number of iterations to zero at block 405.
[0033] At block 410, one or more motion vector vectors may be selected from the obtained motion vector data. In one embodiment, the motion vectors may be selected randomly at block 410. The number of motion vectors selected may be based on a model employed for the outlier function. Based on the selected motion vectors, a model may be estimated at block 415.
[0034] To correct for translational motion only, for example for a global shutter sensor of the image sensor, the following model may be employed:
Xnew = Xold + dx
Figure imgf000013_0001
[0032] To correct for translational and rotational motion with possible zoom, for example for a global shutter sensor, the following model may be employed:
Xnew = ZXold + Ύ old + dx
Figure imgf000013_0002
[0033] To correct for rolling shutter transformation assuming simple camera motion, the following model may be employed:
X neW = Z X Xold + + r)Xold + V ryo2ld + d,
ynev = ~rXold + (! + Vy)y0ld - VrX0ldy0ld + dy
[0034] To correct for rolling shutter transformation assuming complex camera motion, the following model may be employed: xnew= cxx0id + c2yold + c3xy + c4y0 2 ld + c5xo 2 ld + c6
2 2
ynew = c7 xoid + c &y0id + c9xy + cwyold + cnxold + cl2 [0035] Accordingly, model parameters may be calculated at block 415 based on the selected motion vectors and process 420 may continue by determining, at block 420, which motion vectors from the set of all motion vectors obtained in 400 are inliers, according to model parameters calculated at block 415. A motion vector will be marked as an inlier if it agrees with a selected model determined at block 415 up to a predefined threshold. Based on the determined inliers at block 420, a model with the highest mark (for example, with the largest number of inlier motion vectors or with highest total weight of inlier motion vectors) may be stored at block 425 including relevant information to determine the inlier motion vectors.
[0036] Based on selected motion vector data, process 400 may check if an additional iteration is to be performed at block 430. According to one embodiment, a number of iterations may be required. When additional iterations are to be performed (e.g., "NO" path out of decision block 430) the number of iterations may be increased at block 435 and one or more motion vectors may be selected at block 410. An estimated model for selected motion vectors may be updated at block 415. When the number of iterations has been met (e.g., "YES" path out of decision block 430), the outlier function may finish at block 440. A result of the outlier function may be a reduction in the number of motion vectors and overall processing required to determine motion estimation for a global transformation.
[0037] As the final stage, after the categorization of motion vectors to those associated with global frame motion (i.e. inliers) and those associated with non-global motion (i.e. outliers), the outlier function may include inlier tracking, responsible for tracking regions with non-global motion between frames and providing a weight for every region of the frame. The weight for the region reflects the likelihood of containing areas exhibiting global motion (as opposed to areas or objects exhibiting local motion). These weights are then used, as described above, by outlier function operating on the temporally close frames.
[0038] Referring now to FIG. 5, a graphical representation is depicted of real-time digital image stabilization for a series of frames. Scene 500 relates to one or more frames 505i-n detected by an image sensor of the device including one or more rolling shutter artifacts due to unintentional motion. Based on the detected image data, the devices and methods as described herein may be configured to provide image stabilization for scenes. Frames 510i-n illustrate application of a determine stabilization transform, as described herein, to frames 505i-n. According to one embodiment, image data associated with frames 505χ and 5052 may be employed to determine a stabilization transformation resulting in image 510χ. According to another embodiment, in addition to a current frame, such as frame 5052, previous and subsequent frames may be employed to apply image stabilization to frame data, such as frames 505i and 5052. Alternatively, or in combination, correct image data, such as image frame 510χ may be employed for correction of a current frame, such as 5052.
[0039] According to another embodiment, scene 500 further depicts correction for global motion of image data due to unintentional motion and further allows for local motion of object data. For example, local motion of object 515i-n and object 520i-n may be accounted for in correction of image stabilization. Accordingly, frames 510i-n include corrected objects 525i-n and 530i-n wherein image data has been corrected for unintentional motion while preserving local motion.
[0040] FIG. 6 depicts a graphical representation of an image frame according to one embodiment of the invention. According to one embodiment, the image sensor (e.g., image sensor 105) may provide additional data associated with pixel area beyond the video frame size such as a non- visible detection areas or optical black areas, shown as 605. According to one embodiment, pixel data of non-visible detection area 605 may be utilized in addition to image data of a frame, shown as 610, for determination of a global transformation. According to another embodiment, the devices and methods as described herein may further be configured to account for complex motion of an object. As depicted in FIG. 6, complex motion of object 615, as shown by direction arrows 620 and 625, may be accounted for during correction for unintentional motion. According to another embodiment, pixel data of the frame associated with regions, as shown by 630, may additionally be employed to detection of the complex motion. Region 630 relates to a vertical region of the detection area. Pixel data associated with region 630 in a first image may be compared with pixel data in region 630 of a second frame to aid in correction of unintentional motion. It should be appreciated that other regions or areas may similarly be employed.
[0041] Referring now to FIG. 7, a simplified block diagram is depicted of a device configured to provide real-time stabilization of image data according to another embodiment of the invention. Device 700 relates to the device of FIG. 1 including stabilization circuitry configured to determine an image stabilization transformation for application to image data. Accordingly, elements in device 700 may operate similarly to those described above with respect to FIG. 1. Device 700 includes image sensor 705 and processor 710 coupled to image sensor 105. Processor 710 may be configured to apply image stabilization to image data based on a stabilization circuitry 715. Stabilization circuitry 715 may be configured to determine the stabilization transformation as described herein. Processor 710 may be configured to output stabilized image data to via output interface 720 and/or storage on memory 725. In certain embodiments, device 700 may be configured to output image data to optional memory 730 (e.g., removable media, DVD-r, etc.) and/or optional display 735. 042] While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention not be limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art. Trademarks and copyrights referred to herein are the property of their respective owners.

Claims

CLAIMS What is claimed is:
1. A method for stabilization of image data by an imaging device for, the method comprising the acts of:
detecting image data for a first frame;
detecting image data for a second frame;
performing motion estimation based on image data for the first and second frames to determine one or more motion vectors associated with global frame motion for image data of the first frame;
performing an outlier rejection function to select at least one of the one or more motion vectors;
determining a global transformation for image data of the first frame based, at least in part, on motion vectors selected by the outlier rejection function;
determining a stabilization transformation for image data of the first frame by refining the global transformation to correct for unintentional motion; and
applying the stabilization transformation to image data of the first frame to stabilize the image data of the first frame.
2. The method of claim 1, wherein the first frame relates to an image frame detected consecutively following detection of image data for the second frame.
3. The method of claim 1, wherein image data detected for the first and second frames relates to image data detected by one of a rolling shutter sensor and a global shutter sensor.
4. The method of claim 1, wherein motion estimation relates to hierarchical characterization of local and global motion for image data, wherein image data is refined for several scales of image data to select one or more motion vectors associated with global motion of the image data.
5. The method of claim 1, further comprising limiting the motion estimation to analysis of select regions of image data to reduce processing complexity and time.
6. The method of claim 1 , wherein the outlier rejection function further includes performing outlier tracking of non-global motion between frames to generate weight values assigned to regions of the image data.
7. The method of claim 1, wherein the global transformation is associated with one or more models for classifying motion of image data, wherein weights are assigned to regions of the first image frame related to motion vectors determined for one or more regions of the frame.
8. The method of claim 1, wherein the image stabilization transformation is calculated to reduce false global transformation estimations for one of complex scene motion and insufficient detail of motion data of the first frame.
9. The method of claim 1, wherein applying the image stabilization transformation includes a warping transformation of pixel data to individually adjust one or more pixel locations within the first frame.
10. The method of claim 1, wherein the image stabilization transformation corrects for lens distortion by applying an inverse lens distortion function to motion vectors when determining the global transformation and applying forward lens distortion function during the image stabilization transformation.
11. The method of claim 1 , wherein unintentional motion relates to user applied motion to the video imaging device that is undesired.
12. A device configured for stabilization of image data, the device comprising:
an image sensor configured to detect image data for a first and second frame;
a memory; and a processor coupled to the memory and the image sensor wherein processor is configured to:
perform motion estimation to determine one or more motion vectors associated with global frame motion for image data of the first frame;
perform an outlier rejection function to select at least one of the one or more motion vectors;
determine a global transformation for image data of the first frame based, at least in part, on motion vectors selected by the outlier rejection function;
determine a stabilization transformation for image data of the first frame by refining the global transformation to correct for unintentional motion; and
apply the stabilization transformation to image data of the first frame to stabilize the image data of the first frame.
13. The device of claim 12, wherein the first frame relates to an image frame detected consecutively following detection of image data for the second frame.
14. The device of claim 12, wherein the image sensor relates to one of a rolling shutter sensor and a global shutter sensor.
15. The device of claim 12, wherein motion estimation relates to hierarchical characterization of local and global motion for image data, wherein image data is refined for several scales of image data to select one or more motion vectors associated with global motion of the image data.
16. The device of claim 12, wherein the processor is further configured to limit the motion estimation to analysis of select regions of image data to reduce processing complexity and time.
17. The device of claim 12, wherein the processor is further configured to perform outlier tracking of non-global motion between frames resulting in weight values assigned to regions of the image data for the outlier rejection function.
18. The device of claim 12, wherein the global transformation is associated with one or more models for classifying motion of image data, wherein weights are assigned to regions of the first image frame related to motion vectors determined for one or more regions of the frame.
19. The device of claim 12, wherein the image stabilization transformation is calculated to reduce false global transformation estimations for one of complex scene motion and insufficient detail of motion data of the first frame.
20. The device of claim 12, wherein the processor is further configured to apply the image stabilization transformation by a warping transformation of pixel data to individually adjust one or more pixel locations within the first frame.
21. The device of claim 12, wherein the image stabilization transformation corrects for lens distortion by applying an inverse lens distortion function to motion vectors when determining the global transformation and applying forward lens distortion function during the image stabilization transformation.
22. The device of claim 12, wherein unintentional motion relates to user applied motion to the video imaging device that is undesired.
PCT/US2010/030286 2009-10-14 2010-04-07 Method and apparatus for image stabilization WO2011046633A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN2010800465206A CN102656876A (en) 2009-10-14 2010-04-07 Method and apparatus for image stabilization
EP10823753A EP2489180A1 (en) 2009-10-14 2010-04-07 Method and apparatus for image stabilization
TW099111157A TW201127028A (en) 2009-10-14 2010-04-09 Method and apparatus for image stabilization

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US25137909P 2009-10-14 2009-10-14
US61/251,379 2009-10-14

Publications (1)

Publication Number Publication Date
WO2011046633A1 true WO2011046633A1 (en) 2011-04-21

Family

ID=43854546

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2010/030286 WO2011046633A1 (en) 2009-10-14 2010-04-07 Method and apparatus for image stabilization

Country Status (5)

Country Link
US (1) US8508605B2 (en)
EP (1) EP2489180A1 (en)
CN (1) CN102656876A (en)
TW (1) TW201127028A (en)
WO (1) WO2011046633A1 (en)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2955007B1 (en) * 2010-01-04 2012-02-17 Sagem Defense Securite ESTIMATION OF GLOBAL MOVEMENT AND DENSE
US20110216157A1 (en) * 2010-03-05 2011-09-08 Tessera Technologies Ireland Limited Object Detection and Rendering for Wide Field of View (WFOV) Image Acquisition Systems
US9131155B1 (en) 2010-04-07 2015-09-08 Qualcomm Technologies, Inc. Digital video stabilization for multi-view systems
US9413477B2 (en) 2010-05-10 2016-08-09 Microsoft Technology Licensing, Llc Screen detector
US9311708B2 (en) 2014-04-23 2016-04-12 Microsoft Technology Licensing, Llc Collaborative alignment of images
KR101710624B1 (en) * 2010-07-27 2017-02-27 삼성전자주식회사 Digital photographing method, Digital photographing apparatus and medium for recording the method
KR20120011653A (en) * 2010-07-29 2012-02-08 삼성전자주식회사 Image processing apparatus and method
US8488010B2 (en) * 2010-09-21 2013-07-16 Hewlett-Packard Development Company, L.P. Generating a stabilized video sequence based on motion sensor data
US8849054B2 (en) * 2010-12-23 2014-09-30 Samsung Electronics Co., Ltd Digital image stabilization
US8723959B2 (en) 2011-03-31 2014-05-13 DigitalOptics Corporation Europe Limited Face and other object tracking in off-center peripheral regions for nonlinear lens geometries
US8724854B2 (en) * 2011-04-08 2014-05-13 Adobe Systems Incorporated Methods and apparatus for robust video stabilization
JP5734082B2 (en) * 2011-05-11 2015-06-10 キヤノン株式会社 Imaging apparatus, control method therefor, and program
US8648919B2 (en) 2011-06-06 2014-02-11 Apple Inc. Methods and systems for image stabilization
US8823813B2 (en) 2011-06-06 2014-09-02 Apple Inc. Correcting rolling shutter using image stabilization
US8675997B2 (en) 2011-07-29 2014-03-18 Hewlett-Packard Development Company, L.P. Feature based image registration
US8385732B2 (en) 2011-07-29 2013-02-26 Hewlett-Packard Development Company, L.P. Image stabilization
US8786716B2 (en) * 2011-08-15 2014-07-22 Apple Inc. Rolling shutter reduction based on motion sensors
US8913140B2 (en) * 2011-08-15 2014-12-16 Apple Inc. Rolling shutter reduction based on motion sensors
US8493460B2 (en) * 2011-09-15 2013-07-23 DigitalOptics Corporation Europe Limited Registration of differently scaled images
US8493459B2 (en) * 2011-09-15 2013-07-23 DigitalOptics Corporation Europe Limited Registration of distorted images
US9489706B2 (en) 2012-07-02 2016-11-08 Qualcomm Technologies, Inc. Device and algorithm for capturing high dynamic range (HDR) video
US9232139B2 (en) 2012-07-24 2016-01-05 Apple Inc. Image stabilization using striped output transformation unit
WO2014068779A1 (en) * 2012-11-05 2014-05-08 株式会社モルフォ Image processing device, image processing method, image processing program, and storage medium
US20140132822A1 (en) * 2012-11-14 2014-05-15 Sony Corporation Multi-resolution depth-from-defocus-based autofocus
US9712818B2 (en) * 2013-01-11 2017-07-18 Sony Corporation Method for stabilizing a first sequence of digital image frames and image stabilization unit
WO2014126093A1 (en) * 2013-02-14 2014-08-21 株式会社日立国際電気 Image processing device
US10022544B2 (en) 2013-07-22 2018-07-17 National Ict Australia Limited Vision enhancement apparatus for a vision impaired user
EP3025275A4 (en) * 2013-07-24 2017-02-15 The Regents Of The University Of California Method for camera motion estimation and correction
CN104144345B (en) * 2013-09-18 2016-08-17 腾讯科技(深圳)有限公司 Carry out real time imaging at mobile terminal and know method for distinguishing and this mobile terminal
US9554048B2 (en) * 2013-09-26 2017-01-24 Apple Inc. In-stream rolling shutter compensation
IL231818A (en) * 2014-03-31 2017-10-31 Israel Aerospace Ind Ltd System and method for image distortion correction
US9398217B2 (en) * 2014-10-15 2016-07-19 Microsoft Technology Licensing, Llc Video stabilization using padded margin pixels
US9998663B1 (en) 2015-01-07 2018-06-12 Car360 Inc. Surround image capture and processing
US10284794B1 (en) 2015-01-07 2019-05-07 Car360 Inc. Three-dimensional stabilized 360-degree composite image capture
US9955162B2 (en) * 2015-03-31 2018-04-24 Lenovo (Singapore) Pte. Ltd. Photo cluster detection and compression
US9838604B2 (en) * 2015-10-15 2017-12-05 Ag International Gmbh Method and system for stabilizing video frames
JP6652300B2 (en) * 2016-01-14 2020-02-19 キヤノン株式会社 Image processing apparatus, imaging apparatus, and control method
US10134137B2 (en) 2016-10-27 2018-11-20 Lenovo (Singapore) Pte. Ltd. Reducing storage using commonalities
US10043318B2 (en) * 2016-12-09 2018-08-07 Qualcomm Incorporated Display synchronized image warping
US10462370B2 (en) 2017-10-03 2019-10-29 Google Llc Video stabilization
TWI618032B (en) * 2017-10-25 2018-03-11 財團法人資訊工業策進會 Object detection and tracking method and system
US10171738B1 (en) * 2018-05-04 2019-01-01 Google Llc Stabilizing video to reduce camera and face movement
KR102559203B1 (en) * 2018-10-01 2023-07-25 삼성전자주식회사 Method and apparatus of outputting pose information
IT201900001833A1 (en) * 2019-02-08 2020-08-08 St Microelectronics Srl A method for detecting moving objects by means of a moving camera, and related processing system, device and computer product
US20220108551A1 (en) * 2019-06-25 2022-04-07 Hewlett-Packard Development Company, L.P. Global motion suppression in an event-driven camera
US11748844B2 (en) 2020-01-08 2023-09-05 Carvana, LLC Systems and methods for generating a virtual display of an item
US11190689B1 (en) 2020-07-29 2021-11-30 Google Llc Multi-camera video stabilization
US11778322B2 (en) * 2020-08-17 2023-10-03 Mediatek Inc. Method and apparatus for performing electronic image stabilization with dynamic margin
US20220286611A1 (en) * 2021-03-05 2022-09-08 Qualcomm Incorporated Electrical image stabilization (eis)-assisted digital image stabilization (dis)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080212687A1 (en) * 2007-03-02 2008-09-04 Sony Corporation And Sony Electronics Inc. High accurate subspace extension of phase correlation for global motion estimation
US20080291285A1 (en) * 2007-05-24 2008-11-27 Casio Computer Co., Ltd. Image processing apparatus for calculating global motion vector of plurality of image frames
US20090232216A1 (en) * 2008-03-13 2009-09-17 Sony Corporation Image processing apparatus and image processing method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447337B2 (en) * 2004-10-25 2008-11-04 Hewlett-Packard Development Company, L.P. Video content understanding through real time video motion analysis
US8130277B2 (en) * 2008-02-20 2012-03-06 Aricent Group Method and system for intelligent and efficient camera motion estimation for video stabilization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080212687A1 (en) * 2007-03-02 2008-09-04 Sony Corporation And Sony Electronics Inc. High accurate subspace extension of phase correlation for global motion estimation
US20080291285A1 (en) * 2007-05-24 2008-11-27 Casio Computer Co., Ltd. Image processing apparatus for calculating global motion vector of plurality of image frames
US20090232216A1 (en) * 2008-03-13 2009-09-17 Sony Corporation Image processing apparatus and image processing method

Also Published As

Publication number Publication date
CN102656876A (en) 2012-09-05
US8508605B2 (en) 2013-08-13
TW201127028A (en) 2011-08-01
US20110085049A1 (en) 2011-04-14
EP2489180A1 (en) 2012-08-22

Similar Documents

Publication Publication Date Title
US8508605B2 (en) Method and apparatus for image stabilization
KR102103252B1 (en) Image fusion method and apparatus, and terminal device
US9055217B2 (en) Image compositing apparatus, image compositing method and program recording device
US8559751B2 (en) Method and device for removing motion blur effects
US8773548B2 (en) Image selection device and image selecting method
US9202263B2 (en) System and method for spatio video image enhancement
KR101097673B1 (en) Noise detection and estimation techniques for picture enhancement
US20110243451A1 (en) Image processing apparatus and method, and program
US8736719B2 (en) Image processing apparatus and control method for the same
JP2013508811A5 (en)
US8085986B2 (en) Image processing apparatus and method for processing images more naturally and sharply
US9131155B1 (en) Digital video stabilization for multi-view systems
KR102106537B1 (en) Method for generating a High Dynamic Range image, device thereof, and system thereof
US20170111585A1 (en) Method and system for stabilizing video frames
JP5210198B2 (en) Image processing apparatus, image processing method, and image processing program
CN114286064A (en) Real-time focusing method, device, system and computer readable storage medium
Kim et al. Dynamic scene deblurring using a locally adaptive linear blur model
JP6178646B2 (en) Imaging apparatus and image shake correction processing method
KR20100046544A (en) Image distortion compensation method and apparatus
JP2007036743A (en) Method of synthesizing multiple images and imaging apparatus
JP4622141B2 (en) Image processing apparatus, image processing method, recording medium, and program
JP6378496B2 (en) Image processing apparatus, control method, and recording medium
JP2002312795A (en) Image processor and its method and recording medium and its program
TW202338734A (en) Method and image processor unit for processing image data
US20120044389A1 (en) Method for generating super resolution image

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080046520.6

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10823753

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2010823753

Country of ref document: EP