WO2013005316A9 - 画像処理装置、画像処理方法及び画像処理プログラム - Google Patents

画像処理装置、画像処理方法及び画像処理プログラム Download PDF

Info

Publication number
WO2013005316A9
WO2013005316A9 PCT/JP2011/065475 JP2011065475W WO2013005316A9 WO 2013005316 A9 WO2013005316 A9 WO 2013005316A9 JP 2011065475 W JP2011065475 W JP 2011065475W WO 2013005316 A9 WO2013005316 A9 WO 2013005316A9
Authority
WO
WIPO (PCT)
Prior art keywords
image
motion vector
distortion component
image processing
rolling shutter
Prior art date
Application number
PCT/JP2011/065475
Other languages
English (en)
French (fr)
Other versions
WO2013005316A1 (ja
Inventor
幸生 鴨志田
淳 入海
兼介 羽深
平賀 督基
Original Assignee
株式会社モルフォ
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 株式会社モルフォ filed Critical 株式会社モルフォ
Priority to CN201180070542.0A priority Critical patent/CN103503432B/zh
Priority to PCT/JP2011/065475 priority patent/WO2013005316A1/ja
Priority to US13/824,512 priority patent/US8976280B2/en
Priority to EP11869190.6A priority patent/EP2688282B1/en
Priority to JP2012557741A priority patent/JP5531194B2/ja
Priority to JP2012041715A priority patent/JP5424068B2/ja
Priority to CN201210229438.8A priority patent/CN102868858B/zh
Priority to EP12175159.8A priority patent/EP2544445B1/en
Priority to US13/541,897 priority patent/US8831376B2/en
Publication of WO2013005316A1 publication Critical patent/WO2013005316A1/ja
Publication of WO2013005316A9 publication Critical patent/WO2013005316A9/ja

Links

Images

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
    • H04N23/689Motion occurring during a rolling shutter mode
    • 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
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory

Definitions

  • the present invention relates to an image processing apparatus, an image processing method, and an image processing program.
  • a global motion vector indicating the motion of the entire screen is modeled using a camera motion component, a rolling shutter distortion component, and the like.
  • the image processing apparatus detects a global motion vector, separates each component from the detected global motion vector using the model, and calculates a camera motion component or a rolling shutter distortion component.
  • the image processing apparatus described in Patent Document 1 may not be able to accurately calculate the rolling shutter distortion component.
  • the motions of the subjects may be reflected in the global motion vector.
  • an error occurs in the obtained rolling shutter distortion component because the global motion vector has an error with the model described in Patent Document 1.
  • the model described in Patent Document 1 requires a plurality of components of the global motion vector in order to calculate a component representing the expansion / contraction of rolling shutter distortion and a component representing the degree of distortion of the parallelogram. For this reason, an error is likely to occur in the calculation of the rolling shutter distortion component.
  • an image processing apparatus capable of stably and accurately estimating a rolling shutter distortion component are desired.
  • an image processing apparatus is an apparatus that processes an image.
  • the image processing apparatus includes an image input unit, a motion vector acquisition unit, and a distortion component estimation unit.
  • the image input unit inputs a target image that is an image to be processed.
  • the motion vector acquisition unit acquires a motion vector that is generated when the imaging device that captures the target image moves relative to the subject drawn on the target image when capturing the target image.
  • the distortion component estimation unit estimates a rolling shutter distortion component of the target image based on the motion vector.
  • a motion vector generated by the motion of the imaging device is acquired, and a rolling shutter distortion component of the target image is estimated based on the motion vector.
  • the degree of freedom of the motion vector generated by the motion of the imaging device is limited compared to the global motion vector indicating the motion of the entire screen. For this reason, compared to the global motion vector, the motion vector can be acquired stably and accurately, easily eliminating the error of the subject even in an imaging scene in which subjects with different motions are mixed. Therefore, the rolling shutter distortion component can be stably and accurately estimated by using the motion vector generated by the motion of the imaging device.
  • the distortion component estimation unit may estimate a rolling shutter distortion component of the target image based on a translation component of the motion vector.
  • the rolling shutter distortion component can be estimated more stably and accurately by using a translation component that can be acquired particularly stably and accurately among the motion vectors.
  • the distortion component estimation unit may estimate the rolling shutter distortion component based on the motion vector and a setting value of an imaging condition of the imaging device.
  • the rolling shutter distortion component can be estimated in consideration of factors specific to the imaging apparatus and imaging environment information. For this reason, it is possible to accurately estimate the rolling shutter distortion component.
  • the motion vector acquisition unit is configured to be able to refer to a recording unit that stores an immediately preceding image that is an image captured immediately before the immediately preceding image that is an image captured immediately before the target image, and is stored in the recording unit
  • a motion vector may be acquired based on the immediately preceding image and the target image.
  • the motion vector acquisition unit may acquire a motion vector detected by a gyro sensor provided in the imaging device.
  • a correction unit that corrects the target image based on the rolling shutter distortion component may be provided.
  • the subject can be imaged with reduced distortion.
  • the correction unit is configured to be able to refer to a recording unit that stores a history immediately before the rolling shutter distortion component, and the rolling shutter distortion component immediately before stored in the recording unit and the rolling shutter in the target image.
  • the rolling shutter distortion component in the target image may be adjusted so that the difference becomes small.
  • the motion vector acquisition unit is configured to be able to refer to a recording unit that stores the motion vector, and a difference between the immediately preceding motion vector stored in the recording unit and the motion vector in the target image is greater than a predetermined value.
  • the motion vector in the target image may be adjusted so that the difference becomes small.
  • the image processing method is a method for processing an image.
  • the image processing method includes an image input step, a motion vector acquisition step, and a distortion component estimation step.
  • a target image that is the image to be processed is input.
  • a motion vector generated when the imaging device that captured the target image moves relative to the subject drawn on the target image at the time of capturing the target image is acquired.
  • the distortion component estimation step a rolling shutter distortion component of the target image is estimated based on the motion vector.
  • An image processing program is a program that causes a computer to operate so as to process an image.
  • the image processing program causes the computer to operate as an image input unit, a motion vector acquisition unit, and a distortion component estimation unit.
  • the image input unit inputs a target image that is an image to be processed.
  • the motion vector acquisition unit acquires a motion vector that is generated when the imaging device that captures the target image moves relative to the subject drawn on the target image when capturing the target image.
  • the distortion component estimation unit estimates a rolling shutter distortion component of the target image based on the motion vector.
  • an image processing device capable of stably and accurately estimating a rolling shutter distortion component are provided.
  • (A) shows the distortion of the subject when the camera operation is in the X direction when the scanning order of line scanning in the X direction is in the Y direction.
  • (B) shows the distortion of the subject when the camera operation is in the Y direction when the scanning order of line scanning in the X direction is in the Y direction.
  • (C) shows the distortion of the subject when the camera operation is in the X direction when the scanning order of line scanning in the Y direction is in the X direction.
  • (D) shows the distortion of the subject when the camera operation is in the Y direction when the scanning order of line scanning in the Y direction is in the X direction. It is a schematic diagram explaining the calculation method of a distortion coefficient. It is a graph which shows the relationship between a moving frame image and distortion count. It is a graph which shows the relationship between a motion matrix component and movement amount.
  • 2 is a flowchart illustrating an operation of the image processing apparatus in FIG. 1. It is a functional block diagram of the portable terminal carrying the other image processing apparatus which concerns on 1st Embodiment. It is a functional block diagram of the portable terminal carrying the image processing apparatus which concerns on 3rd Embodiment. It is a flowchart which shows operation
  • the image processing apparatus is an apparatus that corrects image distortion. This image processing apparatus is employed, for example, when correcting rolling shutter distortion that occurs when imaging is performed while moving the imaging apparatus.
  • the image processing apparatus according to the present embodiment is preferably mounted on a mobile terminal with limited resources such as a mobile phone, a digital camera, and a PDA (Personal Digital Assistant), but is not limited thereto. For example, it may be mounted on a normal computer system.
  • a portable terminal having a camera function will be described as an example of the image processing apparatus according to the present invention in consideration of ease of understanding.
  • FIG. 1 is a functional block diagram of a mobile terminal 2 including an image processing apparatus 1 according to the present embodiment.
  • a mobile terminal 2 shown in FIG. 1 is a mobile terminal carried by a user, for example, and has a hardware configuration shown in FIG.
  • FIG. 2 is a hardware configuration diagram of the mobile terminal 2.
  • the portable terminal 2 physically includes a main storage device such as a CPU (Central Processing Unit) 100, a ROM (Read Only Memory) 101, and a RAM (Random Access Memory) 102, a camera, a keyboard, and the like.
  • the input device 103, the output device 104 such as a display, and the auxiliary storage device 105 such as a hard disk are configured as a normal computer system.
  • Each function of the portable terminal 2 and the image processing apparatus 1 to be described later causes the input device 103 and the output device 104 to be controlled under the control of the CPU 100 by reading predetermined computer software on hardware such as the CPU 100, the ROM 101, and the RAM 102. This is realized by operating and reading and writing data in the main storage device and the auxiliary storage device 105.
  • the image processing apparatus 1 normally includes a CPU 100, a main storage device such as the ROM 101 and the RAM 102, an input device 103, an output device 104, an auxiliary storage device 105, and the like. It may be configured as a computer system.
  • the mobile terminal 2 may include a communication module or the like.
  • the portable terminal 2 includes a camera 20, an image processing device 1, an image recording unit 21, a camera information recording unit 22, and a display unit 23.
  • the camera 20 has a function of capturing an image.
  • a CMOS pixel sensor or the like is used, and an image is captured by a focal plane shutter system. That is, the camera 20 scans in the vertical or horizontal direction of the image and inputs pixel values.
  • the camera 20 has a continuous imaging function that repeatedly captures images at a predetermined interval from a timing specified by a user operation or the like, for example. That is, the camera 20 has a function of acquiring not only a still image (still frame image) but also a moving image (continuous moving frame image).
  • the camera 20 has a function of outputting, for example, a captured frame image (target image) to the image processing apparatus 1 every time it is captured.
  • the image processing apparatus 1 includes an image input unit 10, a motion vector acquisition unit 11, a distortion component estimation unit 12, a correction parameter calculation unit 13, and an image correction unit 14.
  • the image input unit 10 has a function of inputting a frame image captured by the camera 20.
  • the image input unit 10 has a function of inputting, for example, a frame image captured by the camera 20 every time it is captured. Further, the image input unit 10 has a function of storing the input frame image in the image recording unit 21 provided in the mobile terminal 2.
  • the image input unit 10 has a function of outputting the input frame image to the motion vector acquisition unit 11 and the image correction unit 14.
  • the motion vector acquisition unit 11 has a function of acquiring a motion vector using an input frame image and two frame images captured immediately before the input frame image.
  • the motion vector acquisition unit 11 refers to the image recording unit 21 and acquires the frame image immediately before the input frame image.
  • the motion vector obtaining unit 11 obtains a local motion vector by matching consecutive frame images in units of blocks. Then, the motion vector acquisition unit 11 calculates a camera motion component between frames caused by relative movement of the camera 20 with respect to the subject, using the plurality of acquired local motion vectors.
  • the camera motion component is expressed by the following formula (1).
  • i is a natural number.
  • the camera motion may be acquired by a method other than Equation (1) as long as at least the translational component of the camera 20 can be acquired.
  • the motion vector acquisition unit 11 has a function of outputting the camera motion component to the distortion component estimation unit 12 and the correction parameter calculation unit 13.
  • the distortion component estimation unit 12 has a function of estimating a rolling shutter distortion component based on the camera motion component.
  • FIG. 4 is a schematic diagram illustrating rolling shutter distortion.
  • the rolling shutter distortion is that the subject is distorted in a parallelogram shape in the horizontal direction when the camera 20 moves in the horizontal direction relative to the subject as shown in FIG.
  • the rolling shutter distortion occurs so that the subject expands and contracts in the vertical direction as shown in FIG.
  • the amount of distortion increases as the moving speed of the camera 20 increases. From this, it can be said that the rolling shutter distortion can be estimated by the moving speed of the camera 20.
  • the speed of movement of the camera 20 can be estimated from the amount of parallel movement between frames.
  • the distortion component estimation unit 12 receives the camera motion component acquired by the motion vector acquisition unit 11 and translates the camera motion component in the horizontal and vertical directions (m 02 i ⁇ 1 ⁇ i , m 12 i ⁇ 1 ⁇ the i) t, the amount of parallel movement between frames (d x i, and a d y i) t, based on the amount of parallel movement, and estimates the rolling shutter distortion component.
  • the amount of translation between frames may be the amount of translation of the center coordinates of the frame image.
  • the rolling shutter distortion component is expressed by the following equation (2), where (x i , y i , 1) t is a coordinate system with distortion and (X i , Y i , 1) t is a coordinate system without distortion.
  • the value of Y affects the distortion component.
  • is a distortion coefficient.
  • the distortion coefficient ⁇ is a value calculated by dividing the time for reading one line of a frame image by the value obtained by adding the time for reading the entire frame image and the time for reading the next frame image.
  • the distortion coefficient ⁇ is calculated by dividing the time for reading one line of a frame image by the time from the time of reading the first line of the frame image to the time of reading the first line of the next frame image. Value.
  • the distortion coefficient ⁇ varies depending on the specification of the pixel sensor provided in the camera 20 and the driving setting of the pixel sensor.
  • FIG. 5 is a schematic diagram illustrating a method for calculating the distortion coefficient ⁇ .
  • the distortion coefficient ⁇ is calculated using a still frame image frame b and a moving frame image sequence frame i . Comparing still frame images and moving frame images to determine how much distortion occurs, and by determining how much translation between moving frame images, distortion and translation Find the correlation of quantities. The distortion ⁇ is calculated from this correlation.
  • Strain amount of dynamic frame image frame i can be calculated by calculating the movement matrix M b ⁇ i to moving the frame image frame i from still frame images frame b. Assuming that the coordinate system of the still frame image frame b is (x b , y b , 1) and the coordinate system of the moving frame image frame i is (x i , y i , 1), ).
  • the motion matrix M b ⁇ i is only a translational component and a distortion component, the distortion amount can be approximated as in the following equation (4).
  • Equation (2) is compared with Formula (4).
  • the distortion components are m 01 b ⁇ i and m 11 b ⁇ i .
  • the source of the distortion component is a parallel movement amount (d x i , d y i ) t as a motion component between successive frames.
  • a motion matrix M i ⁇ 1 ⁇ i is obtained from the moving frame image frame i and the immediately preceding moving frame image frame i ⁇ 1 .
  • the dynamic frame image frame i the relationship between the preceding dynamic frame image frame i-1 can be expressed by the following equation (5).
  • the motion component (m 02 i ⁇ 1 ⁇ i , m 12 i ⁇ 1 ⁇ i ) t may be used as the translation component (d x i , dy i ) t using the above equation (5). Further, the parallel movement amount of the center coordinates of the moving frame image frame i may be (d x i , d y i ) t . By calculating (d x i , d y i ) t , the distortion coefficient ⁇ can be expressed by the following equations (6) and (7).
  • m 01 b ⁇ i , m 11 b ⁇ i , d x i , and d y i which are measurement values for obtaining the distortion coefficient ⁇ include an error.
  • the horizontal axis represents frame i and the vertical axis represents the distortion coefficient ⁇ i .
  • the distortion coefficient ⁇ i may be obtained for various frame i , and the average value thereof may be adopted as the distortion coefficient ⁇ .
  • the horizontal axis represents the movement amount d x i
  • the vertical axis represents the motion matrix component m 01 b ⁇ i .
  • the distortion coefficient ⁇ may be obtained by plotting on a two-dimensional plane and from the slope of the regression line shown in Equation (7). Even when the measured values m 01 b ⁇ i , m 11 b ⁇ i , d x i , and d y i are small and the influence of errors is large, the distortion coefficient ⁇ is accurately determined by the above-described method. Can be sought.
  • the rolling shutter distortion varies depending on the specification of the pixel sensor and the driving setting of the pixel sensor. By calculating the distortion coefficient ⁇ for each setting of the camera 20, that is, the pixel sensor by the above-described method, the rolling shutter distortion can be accurately estimated by reflecting the conditions specific to the camera 20. Note that when the distortion coefficient ⁇ is calculated using actual measurement values, it may be recorded in what imaging environment conditions the distortion coefficient ⁇ is calculated.
  • the imaging environment condition includes, for example, “brightness” or “temperature”.
  • the distortion component estimation unit 12 is configured to be able to refer to the camera information recording unit 22.
  • the camera information recording unit 22 records the distortion coefficient ⁇ calculated by the above method. For example, a table in which element setting values and distortion coefficients ⁇ are associated with each other is provided. You may provide the table which linked
  • the distortion component estimation unit 12 refers to the camera information recording unit 22, acquires the value of the distortion coefficient ⁇ according to the setting of the pixel sensor, and estimates the rolling shutter distortion component using the camera motion component. Information regarding the current setting information of the pixel sensor and information regarding the imaging environment may be acquired from the camera 20, for example.
  • the time for reading one line of a frame image, the time for reading the entire frame image, and the time for reading the next frame image are recorded in the camera information recording unit 22 in association with the setting information and information about the imaging environment.
  • the distortion coefficient ⁇ may be calculated based on information recorded in the camera information recording unit 22 instead of directly acquiring the distortion coefficient ⁇ from the camera information recording unit 22.
  • the distortion component estimation unit 12 has a function of outputting a rolling shutter distortion component to the correction parameter calculation unit 13.
  • the correction parameter calculation unit 13 has a function of calculating a correction parameter for canceling the distortion based on the camera motion component and the rolling shutter distortion component.
  • the correction parameter calculation unit 13 calculates moving image camera shake correction and rolling shutter distortion correction parameters.
  • correction parameters are calculated as follows. First, a cumulative value of camera motion components from a frame serving as a reference for the stationary position of the camera 20 is obtained. Then, for example, only the frequency of camera shake is extracted based on the accumulated value of the camera motion component. A correction parameter is calculated so as to cancel out this frequency.
  • Equation (8) the following matrix used in Equation (8) is a motion correction matrix.
  • the coordinate (x b , y b , 1) t before motion correction is a coordinate system with distortion.
  • the coordinates (x b , y b , 1) t before the correction motion correction are once converted into a coordinate system (x b , y b , 1) t without distortion, and then corrected by the same motion correction matrix. Shall apply.
  • the distortion amount is expressed as the following formula (9).
  • Equation (2) By substituting Equation (2) into Equation (9), it can be calculated as shown in Equation (10) below.
  • the above formula (10) is a model formula that simultaneously performs distortion correction and moving image blur correction. Note that the translation component (m 02 ′ b ⁇ i + m 12 ′ b ⁇ i ⁇ ⁇ ⁇ d x i , m 12 b ⁇ i ⁇ ⁇ ⁇ d y i ) t of the above formula (10) It is necessary to apply a bias depending on the position of the origin.
  • the correction parameter calculation unit 13 obtains a motion correction matrix based on the camera motion component, and then performs a motion blur due to the calculation represented by Expression (10) based on the motion correction matrix and the rolling shutter distortion component. Parameters for correction and rolling shutter distortion correction are calculated.
  • the correction parameter calculation unit 13 has a function of outputting parameters to the image correction unit 14.
  • the image correction unit 14 has a function of correcting the motion of the input frame image based on the parameters of moving image blur correction and rolling shutter distortion correction. For example, the image correction unit 14 performs image deformation and pixel interpolation by affine transformation or the like on the frame image based on the parameters. The image correction unit 14 can correct movement such as translation, rotation, enlargement or reduction between frame images due to camera shake and rolling shutter distortion. Then, the image correction unit 14 selects a correction target as necessary, and corrects the image. As described above, in the image processing apparatus 1 of the present embodiment, the rolling shutter distortion is limited only to the translation component of the camera motion.
  • the image correction unit 14 has a function of outputting a corrected frame image in which camera shake and rolling shutter distortion are corrected to the display unit 23.
  • the display unit 23 has a function of displaying the corrected frame image.
  • FIG. 8 is a flowchart showing the operation of the image processing apparatus 1 according to the present embodiment.
  • the control process shown in FIG. 8 is executed, for example, at the timing when the imaging function of the mobile terminal 2 is turned on, and is repeatedly executed at a predetermined cycle.
  • the image input unit 10 first inputs a frame image to be processed (S10: image input step).
  • the motion vector acquisition unit 11 acquires a motion vector (S12: motion vector acquisition step).
  • the motion vector acquisition unit 11 refers to the image recording unit 21, acquires a motion vector based on the frame image (immediately preceding image) input immediately before and the frame image input in the process of S 10, and performs camera motion Ingredients.
  • the process proceeds to distortion component estimation processing (S14: distortion component estimation step).
  • the distortion component estimation unit 12 estimates the rolling shutter distortion component using the camera motion component acquired in the process of S12.
  • the distortion component estimation unit 12 refers to the camera information recording unit 22 and acquires the value of the distortion coefficient ⁇ according to the setting of the pixel sensor.
  • the distortion component estimation part 12 estimates a rolling shutter distortion component based on Numerical formula (2) using the distortion coefficient (alpha) and a camera motion component.
  • the correction parameter calculation unit 13 calculates the correction parameter using the distortion component estimated in the process of S14. For example, the correction parameter calculation unit 13 calculates the correction parameter using Expression (10).
  • the process of S16 ends, the process proceeds to a correction process (S18).
  • the image correction unit 14 corrects the frame image using the correction parameter calculated in the process of S16.
  • the process of S18 ends, the process proceeds to a display process (S20).
  • the display unit 23 displays the frame image corrected in the process of S18.
  • the control process shown in FIG. 8 ends.
  • the image processing program includes a main module, an input module, and an arithmetic processing module.
  • the main module is a part that comprehensively controls image processing.
  • the input module operates the mobile terminal 2 so as to acquire an input image.
  • the arithmetic processing module includes a motion vector acquisition module, a distortion component estimation module, a correction parameter calculation module, and an image correction module. Functions realized by executing the main module, the input module, and the arithmetic processing module include the image input unit 10, the motion vector acquisition unit 11, the distortion component estimation unit 12, the correction parameter calculation unit 13, and the image processing apparatus 1 described above.
  • the functions of the image correction unit 14 are the same.
  • the image processing program is provided by a storage medium such as a ROM or a semiconductor memory, for example.
  • the image processing program may be provided as a data signal via a network.
  • the motion vector generated by the motion of the camera 20 is acquired, and the rolling shutter distortion component of the frame image is estimated based on the motion vector.
  • the motion vector generated by the motion of the camera 20 has a limited degree of freedom compared to the global motion vector indicating the motion of the entire screen.
  • the global motion vector there are parameters such as a translation component, an enlargement / reduction component, a rotation component, and a deformation (distortion) component.
  • the motion of the camera 20 does not need to take into account parameters of deformation and distortion.
  • the global motion vector it is necessary to detect six affine parameters, but according to the image processing apparatus 1, the horizontal and vertical translation amounts, that is, two parameters may be considered. For this reason, compared to the global motion vector, the motion vector can be acquired stably and accurately, easily eliminating the error of the subject even in an imaging scene in which subjects with different motions are mixed. Therefore, by using the motion vector generated by the motion of the camera 20, the rolling shutter distortion component can be estimated stably and accurately. Furthermore, since the rolling shutter distortion component is estimated by simple calculation using two parameters, it can be processed at high speed.
  • the rolling shutter distortion component can be estimated more stably and accurately by using a translation component that can be acquired particularly stably and accurately among the motion vectors. Can do.
  • the image processing apparatus 1 it is possible to estimate the rolling shutter distortion component in consideration of factors inherent to the camera 20, environment information at the time of imaging, and the like. For this reason, even if the setting of the camera 20 changes and the state of occurrence of rolling shutter distortion changes, it can be estimated accurately.
  • a rolling shutter distortion component may be estimated using motion information detected by a gyro sensor.
  • FIG. 9 shows a configuration of the image processing apparatus 1 using the gyro sensor.
  • the motion vector acquisition unit 11 is connected to the gyro sensor 24.
  • the motion vector acquisition unit 11 acquires motion information (motion vector) output by the gyro sensor 24 as a camera motion.
  • Other configurations are the same. In this way, by using the gyro sensor 24, it is possible to estimate and correct the rolling shutter distortion even for a single frame image.
  • the image processing method and the image processing program according to the first embodiment also have the same effects as the image processing apparatus 1.
  • the image processing apparatus 1 according to the second embodiment is configured in substantially the same manner as the image processing apparatus 1 according to the first embodiment, and a partial function of the distortion component estimation unit 12 is different. Specifically, the difference is that the distortion component estimation unit 12 switches between a plurality of rolling shutter distortion component models according to information acquired from the camera 20. Below, it demonstrates centering on a different point from the image processing apparatus 1 which concerns on 1st Embodiment, and abbreviate
  • the distortion component estimation unit 12 has a function of changing a rolling shutter distortion component estimation method based on information related to the scanning order direction of the pixel sensor of the camera 20. For example, in the camera information recording unit 22, information regarding the current scanning order direction of the pixel sensor is recorded as setting information of the camera 20. The distortion component estimation unit 12 acquires the information by referring to the camera information recording unit 22.
  • the rolling shutter distortion component differs in the state of occurrence of distortion as shown in FIGS. 4A and 4B and FIGS. 4C and 4D depending on the scanning direction of the pixel sensor. As shown in FIGS. 4A and 4B, when the scanning order is the vertical direction, as described in the first embodiment, the rolling shutter distortion can be expressed by the model shown in Expression (2).
  • the rolling shutter distortion component is expressed by the following equation (11), where (x i , y i , 1) t is a coordinate system with distortion and (X i , Y i , 1) t is a coordinate system without distortion. ). As shown in the above equation (11), the value of X affects the distortion component.
  • the distortion component estimation unit 12 performs estimation based on the information regarding the scanning order direction of the pixel sensor obtained by referring to the camera information recording unit 22 by using the model of the formula (2) or the formula (11). Determine whether. Then, based on the determined model, a rolling shutter distortion component is estimated.
  • Other configurations are the same as those of the first embodiment.
  • the image processing program according to the present embodiment is configured in the same manner as the image processing program according to the first embodiment.
  • the same effect as the image processing device 1 according to the first embodiment is obtained, and an appropriate model is used according to the direction of the scanning order of the image sensor. Rolling shutter distortion can be estimated. For this reason, even if the direction of the scanning order of the image sensor changes depending on the setting of the camera 20, accurate estimation can be performed.
  • the image processing apparatus 1 according to the third embodiment is configured in substantially the same manner as the image processing apparatus 1 according to the first embodiment, and a partial function of the distortion component estimation unit 12 is different. Specifically, the difference is that the distortion component estimation unit 12 detects a change in rolling shutter distortion and adjusts the estimated value according to the change. Below, it demonstrates centering on a different point from the image processing apparatus 1 which concerns on 1st Embodiment, and abbreviate
  • FIG. 10 is a functional block diagram of the portable terminal 2 equipped with the image processing apparatus 1 according to the present embodiment.
  • the mobile terminal 2 includes a distortion component recording unit 25.
  • the distortion component recording unit 25 is configured to be readable and writable from the distortion component estimation unit 12.
  • the distortion component recording unit 25 stores a history of rolling shutter distortion components estimated by the distortion component estimation unit 12.
  • the distortion component estimation unit 12 When the distortion component estimation unit 12 estimates the rolling shutter distortion component, the distortion component estimation unit 12 records it in the distortion component recording unit 25. Then, the distortion component estimation unit 12 determines whether or not the estimated rolling shutter distortion component has changed abruptly compared to the previous value stored in the distortion component recording unit 25.
  • the previous value is an estimated value of rolling shutter distortion estimated from the immediately preceding frame image. For example, the distortion component estimation unit 12 calculates a difference between the estimated rolling shutter distortion component and the previous value, and determines that there is a sudden change if the difference value is larger than the first threshold value. . If the distortion component estimation unit 12 determines that there is a sudden change, the distortion component estimation unit 12 adjusts the estimated value of the rolling shutter distortion component. The distortion component estimation unit 12 adjusts so that the difference becomes small.
  • the distortion component estimation unit 12 sets the estimated value of the rolling shutter distortion to the same value as the estimated value of the rolling shutter distortion of the previous frame image.
  • the distortion component estimation unit 12 performs a weighted average using the estimated value of rolling shutter distortion and the rolling shutter distortion component before the previous time.
  • the distortion component estimation unit 12 sets the number of rolling shutter distortion components before the previous time selected for the weighted average to be equal to or less than the second threshold value. By adjusting the second threshold, it is possible to adjust how much the change in rolling shutter distortion is suppressed.
  • Other configurations are the same as those of the image processing apparatus according to the first embodiment.
  • the image processing program according to the present embodiment is configured in the same manner as the image processing program according to the first embodiment.
  • FIG. 11 is a flowchart showing the operation of the image processing apparatus 1 according to the present embodiment.
  • the control process illustrated in FIG. 11 is executed, for example, at the timing when the imaging function of the mobile terminal 2 is turned on, and is repeatedly executed at a predetermined cycle.
  • the frame image input process (S30), motion vector acquisition process (S32), and distortion component estimation process (S34) shown in FIG. 11 are the same as the processes shown in FIG.
  • the distortion component estimation unit 12 refers to the distortion component recording unit 25 and acquires the rolling shutter distortion component (previous value) estimated from the previous frame image. Then, the distortion component estimation unit 12 calculates the difference between the rolling shutter distortion component calculated in the process of S34 and the previous value. When the process of S36 is completed, the process proceeds to a difference determination process (S38).
  • the distortion component estimation unit 12 determines whether or not the difference calculated in the process of S36 is greater than a predetermined value (first threshold). In the process of S38, when it is determined that the difference is larger than the first threshold, the process proceeds to the adjustment process (S40).
  • the distortion component estimation unit 12 adjusts the rolling shutter distortion component estimated in the process of S34. For example, it is set to the same value as the previous value used in the process of S36. Alternatively, the distortion component estimation unit 12 performs a weighted average using the rolling shutter distortion component estimated in the process of S34 and a predetermined number of previous values.
  • the process of S40 ends, the process proceeds to a correction parameter calculation process (S42).
  • the correction parameter calculation process (S42), the correction process (S44), and the display (S46) are the same as the processes shown in FIG.
  • the same effects as those of the image processing device 1 according to the first and second embodiments can be obtained, and a change larger than a predetermined value among changes in the rolling shutter distortion component.
  • the rolling shutter distortion component can be adjusted to suppress the change.
  • the image processing apparatus 1 can prevent the screen from flickering or rattling by suppressing a rapid change in the rolling shutter distortion component. Therefore, for example, even in a scene in which a subject enters or exits the screen, it is possible to avoid unnatural correction of the screen.
  • the image processing apparatus 1 according to the fourth embodiment is configured in substantially the same manner as the image processing apparatus 1 according to the first embodiment, and a partial function of the motion vector acquisition unit 11 is different. Specifically, the difference is that the motion vector acquisition unit 11 detects a change in the motion vector and adjusts the camera motion in accordance with the change. Below, it demonstrates centering on a different point from the image processing apparatus 1 which concerns on 1st Embodiment, and abbreviate
  • FIG. 12 is a functional block diagram of the portable terminal 2 equipped with the image processing apparatus 1 according to the present embodiment.
  • the mobile terminal 2 includes a motion vector recording unit 26.
  • the motion vector recording unit 26 is configured to be readable and writable from the motion vector acquisition unit 11.
  • the motion vector recording unit 26 stores a history of motion vectors acquired by the motion vector acquisition unit 11.
  • the motion vector acquisition unit 11 When the motion vector acquisition unit 11 acquires the motion vector, the motion vector acquisition unit 11 records the motion vector in the motion vector recording unit 26. Then, the motion vector acquisition unit 11 determines whether or not the acquired motion vector has changed abruptly compared to the previous value stored in the motion vector recording unit 26.
  • the previous value is a motion vector acquired from the immediately preceding frame image. For example, the motion vector acquisition unit 11 calculates a difference between the estimated motion vector and the previous value, and determines that there is a sudden change if the difference value is larger than the first threshold value. Then, the motion vector acquisition unit 11 adjusts the motion vector when it is determined that there is a sudden change. The motion vector acquisition unit 11 adjusts so that the difference becomes small.
  • the motion vector acquisition unit 11 sets the motion vector to the same value as the motion vector of the previous frame image.
  • the motion vector acquisition unit 11 performs a weighted average using the motion vector and the previous motion vector.
  • the distortion component estimation unit 12 sets the number of motion vectors before the previous selection selected for the weighted average to a value smaller than the second threshold value. By adjusting the second threshold, it is possible to adjust how much the change of the motion vector is suppressed.
  • Other configurations are the same as those of the image processing apparatus according to the first embodiment.
  • the image processing program according to the present embodiment is configured in the same manner as the image processing program according to the first embodiment.
  • FIG. 13 is a flowchart showing the operation of the image processing apparatus 1 according to this embodiment.
  • the control process shown in FIG. 13 is executed, for example, at the timing when the imaging function of the mobile terminal 2 is turned on, and is repeatedly executed at a predetermined cycle.
  • the frame image input process (S50) and the motion vector acquisition process (S52 shown in FIG. 11 are the same as the processes shown in FIG.
  • the motion vector acquisition unit 11 refers to the motion vector recording unit 26 and acquires the motion vector (previous value) acquired in the previous frame image. Then, the motion vector acquisition unit 11 calculates the difference between the motion vector acquired in S52 and the previous value. When the process of S54 ends, the process proceeds to a difference determination process (S56).
  • the motion vector acquisition unit 11 determines whether or not the difference calculated in the process of S54 is greater than a predetermined value (first threshold). If it is determined in step S54 that the difference is larger than the first threshold value, the process proceeds to adjustment processing (S58).
  • the motion vector acquisition unit 11 adjusts the motion vector acquired in the process of S52. For example, it is set to the same value as the previous value used in the process of S54. Alternatively, the motion vector acquisition unit 11 performs a weighted average using the motion vector acquired in the process of S52 and a predetermined number of previous values.
  • the process of S58 ends, the process proceeds to a distortion component estimation process (S60).
  • the distortion component estimation process (S60), the correction parameter calculation process (S62), the correction process (S64), and the display (S66) are the same as the processes shown in FIG.
  • the same effects as those of the image processing device 1 according to the first and second embodiments are obtained, and a change larger than a predetermined value is detected among the motion vector changes.
  • the motion vector can be adjusted so as to suppress the change.
  • the image processing apparatus 1 can avoid the occurrence of flickering or rattling on the screen by suppressing a rapid change in the motion vector. Therefore, for example, even in a scene in which a subject enters or exits the screen, it is possible to avoid unnatural correction of the screen.
  • the above-described embodiment shows an example of the image processing apparatus according to the present invention.
  • the image processing apparatus according to the present invention is not limited to the image processing apparatus 1 according to the embodiment, and the image processing apparatus according to the embodiment may be modified or otherwise changed without changing the gist described in each claim. It may be applied to the above.
  • the image processing device 1 may be operated together with the camera shake correction device.
  • the camera shake correction device there is a device that outputs a single corrected frame image using a plurality of continuous frame images continuously shot in the camera shake correction device.
  • a camera shake correction apparatus by adopting the image processing apparatus 1 according to the above-described embodiment, it is possible to correct the rolling shutter distortion between successive frame images, so that the camera shake correction can be performed more accurately. It becomes possible.
  • the difference between the camera motion component detected by the motion vector acquisition unit 11 and the motion information from the gyro sensor may be adjusted when the difference changes abruptly.
  • SYMBOLS 1 ... Image processing apparatus, 10 ... Image input part, 11 ... Motion vector acquisition part, 12 ... Distortion component estimation part, 13 ... Correction parameter calculation part, 14 ... Image correction part, 20 ... Camera (imaging apparatus), 21 ... Image Recording unit, 22 ... Camera information recording unit, 23 ... Display unit, 24 ... Gyro sensor, 25 ... Distortion component recording unit, 26 ... Motion vector recording unit.

Landscapes

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

Abstract

 画像処理装置1は、画像入力部10、動きベクトル取得部11及び歪み成分推定部12を備える。画像入力部10は、処理対象の画像である対象画像を入力する。動きベクトル取得部11は、対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する。歪み成分推定部12は、動きベクトルに基づいて、対象画像のローリングシャッタ歪み成分を推定する。

Description

画像処理装置、画像処理方法及び画像処理プログラム
 本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関するものである。
 従来、画像処理装置として、CMOS(Complementary Metal Oxide Semiconductor)を用いてフォーカルプレーンシャッタ方式で撮像された画像を処理するものが知られている(特許文献1参照)。上述した方式では、フレーム画像のデータ転送が1ラインごとに行われる。このため、フレーム画像内における撮像タイミングがラインごとに僅かに異なるタイミングとなる。このような撮像タイミングのズレに起因して、いわゆるローリングシャッタ歪み(フォーカルプレーン歪み)が発生する。
 特許文献1記載の画像処理装置では、カメラモーション成分及びローリングシャッタ歪み成分等を用いて、画面全体の動きを示すグローバル動きベクトルをモデル化している。そして、この画像処理装置は、グローバル動きベクトルを検出し、検出されたグローバル動きベクトルから上記モデルを用いて各成分を分離し、カメラモーション成分又はローリングシャッタ歪み成分を算出する。
特開2010-193302号公報
 しかしながら、特許文献1記載の画像処理装置では、ローリングシャッタ歪み成分を正確に算出できない場合がある。例えば、撮像シーン内に異なる動きの複数の被写体が存在する場合、当該複数の被写体の動きがグローバル動きベクトルへ反映されることがある。この場合、グローバル動きベクトルは特許文献1記載のモデルと誤差が生じるため、得られるローリングシャッタ歪み成分に誤差が発生する。さらに、特許文献1記載のモデルでは、ローリングシャッタ歪みの拡縮を表す成分、及び平行四辺形の歪み度合いを表す成分を算出するために、それぞれグローバル動きベクトルの複数の成分を必要とする。このため、ローリングシャッタ歪み成分の算出において誤差が生じやすい。
 よって、当技術分野においては、ローリングシャッタ歪み成分を安定して正確に推定することができる画像処理装置、画像処理方法及び画像処理プログラムが望まれている。
 すなわち、本発明の一側面に係る画像処理装置は、画像を処理する装置である。画像処理装置は、画像入力部、動きベクトル取得部及び歪み成分推定部を備える。画像入力部は、処理対象の画像である対象画像を入力する。動きベクトル取得部は、対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する。歪み成分推定部は、動きベクトルに基づいて、対象画像のローリングシャッタ歪み成分を推定する。
 この画像処理装置によれば、撮像装置の動きによって発生する動きベクトルを取得し、動きベクトルに基づいて対象画像のローリングシャッタ歪み成分を推定する。撮像装置の動きによって発生する動きベクトルは、画面全体の動きを示すグローバル動きベクトルに比べて自由度が制限されている。このため、動きベクトルは、グローバル動きベクトルに比べて、異なる動きの被写体が混在する撮像シーンであっても被写体の誤差を排除し易く安定して正確に取得することができる。よって、撮像装置の動きによって発生する動きベクトルを用いることにより、ローリングシャッタ歪み成分を安定して正確に推定することができる。
 ここで、前記歪み成分推定部は、前記動きベクトルの平行移動成分に基づいて、前記対象画像のローリングシャッタ歪み成分を推定してもよい。このように構成することで、動きベクトルの中でも特に安定して正確に取得できる平行移動成分を用いることで、ローリングシャッタ歪み成分を一層安定して正確に推定することができる。
 前記歪み成分推定部は、前記動きベクトル、及び前記撮像装置の撮像条件の設定値に基づいて、前記ローリングシャッタ歪み成分を推定してもよい。このように構成することで、撮像装置固有の要因や撮像の環境情報を勘案してローリングシャッタ歪み成分を推定することができる。このため、正確にローリングシャッタ歪み成分を推定することが可能となる。
 前記動きベクトル取得部は、前記対象画像の直前に撮像された画像である直前画像の直前に撮像された画像である直前画像を格納する記録部を参照可能に構成され、記録部に格納された直前画像及び対象画像に基づいて動きベクトルを取得してもよい。あるいは、前記動きベクトル取得部は、前記撮像装置に備わるジャイロセンサによって検出された動きベクトルを取得してもよい。
 さらに、前記ローリングシャッタ歪み成分に基づいて、前記対象画像を補正する補正部を備えてもよい。このように構成することで、歪みを低減させた状態で被写体を撮像することができる。
 また、前記補正部は、前記ローリングシャッタ歪み成分の直前の履歴を格納する記録部を参照可能に構成され、前記記録部に格納された直前の前記ローリングシャッタ歪み成分と前記対象画像における前記ローリングシャッタ歪み成分との差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記ローリングシャッタ歪み成分を調整してもよい。このように構成することで、ローリングシャッタ歪み成分の所定値より大きい変化を検出し、その変化を抑制するようにローリングシャッタ歪み成分を調整することができる。よって、例えば、画面に被写体が進入・退出するシーンであっても、画面が不自然に補正されることを回避することが可能となる。
 前記動きベクトル取得部は、前記動きベクトルを格納する記録部を参照可能に構成され、前記記録部に格納された直前の前記動きベクトルと前記対象画像における前記動きベクトルとの差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記動きベクトルを調整してもよい。このように構成することで、動きベクトルの所定値より大きい変化を検出し、その変化を抑制するように動きベクトルを調整することができる。よって、例えば、画面に被写体が進入・退出するシーンであっても、画面が不自然に補正されることを回避することが可能となる。
 また、本発明の他の側面に係る画像処理方法は、画像を処理する方法である。画像処理方法は、画像入力ステップ、動きベクトル取得ステップ及び歪み成分推定ステップを備える。画像入力ステップでは、処理対象の前記画像である対象画像を入力する。動きベクトル取得ステップでは、対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する。歪み成分推定ステップでは、動きベクトルに基づいて、対象画像のローリングシャッタ歪み成分を推定する。
 また、本発明の他の側面に係る画像処理プログラムは、画像を処理するようにコンピュータを動作させるプログラムである。画像処理プログラムは、コンピュータを、画像入力部、動きベクトル取得部及び歪み成分推定部として動作させる。画像入力部は、処理対象の画像である対象画像を入力する。動きベクトル取得部は、対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する。歪み成分推定部は、動きベクトルに基づいて、対象画像のローリングシャッタ歪み成分を推定する。
 本発明の他の側面に係る画像処理方法及び画像処理プログラムによれば、上述した画像処理装置と同様の効果を奏する。
 本発明の種々の側面及び実施形態によれば、ローリングシャッタ歪み成分を安定して正確に推定することができる画像処理装置、画像処理方法及び画像処理プログラムが提供される。
第1実施形態に係る画像処理装置を搭載した携帯端末の機能ブロック図である。 図1の画像処理装置が搭載される携帯端末のハードウェア構成図である。 連続する2枚のフレーム画像の座標系を説明する概要図である。 ローリングシャッタ歪みを説明する概要図である。(A)は、X方向のライン走査の走査順がY方向であるときに、カメラ操作がX方向である場合の被写体の歪みを示す。(B)は、X方向のライン走査の走査順がY方向であるときに、カメラ操作がY方向である場合の被写体の歪みを示す。(C)は、Y方向のライン走査の走査順がX方向であるときに、カメラ操作がX方向である場合の被写体の歪みを示す。(D)は、Y方向のライン走査の走査順がX方向であるときに、カメラ操作がY方向である場合の被写体の歪みを示す。 歪み係数の算出方法を説明する概要図である。 動フレーム画像と歪み計数との関係を示すグラフである。 動き行列成分と移動量との関係を示すグラフである。 図1の画像処理装置の動作を示すフローチャートである。 第1実施形態に係る他の画像処理装置を搭載した携帯端末の機能ブロック図である。 第3実施形態に係る画像処理装置を搭載した携帯端末の機能ブロック図である。 図10の画像処理装置の動作を示すフローチャートである。 第4実施形態に係る画像処理装置を搭載した携帯端末の機能ブロック図である。 図12の画像処理装置の動作を示すフローチャートである。
 以下、添付図面を参照して本発明の実施形態について説明する。なお、各図において同一又は相当部分には同一の符号を付し、重複する説明を省略する。
(第1実施形態)
 本実施形態に係る画像処理装置は、画像の歪みを補正する装置である。この画像処理装置は、例えば、撮像装置を移動させながら撮像する場合に発生するローリングシャッタ歪みを補正する場合に採用される。本実施形態に係る画像処理装置は、例えば、携帯電話、デジタルカメラ、PDA(Personal Digital Assistant)等、リソースに制限のあるモバイル端末に好適に搭載されるものであるが、これらに限られるものではなく、例えば通常のコンピュータシステムに搭載されてもよい。なお、以下では、説明理解の容易性を考慮し、本発明に係る画像処理装置の一例として、カメラ機能を備えた携帯端末に搭載される画像処理装置を説明する。
 図1は、本実施形態に係る画像処理装置1を備える携帯端末2の機能ブロック図である。図1に示す携帯端末2は、例えばユーザにより携帯される移動端末であり、図2に示すハードウェア構成を有する。図2は、携帯端末2のハードウェア構成図である。図2に示すように、携帯端末2は、物理的には、CPU(Central Processing Unit)100、ROM(Read Only Memory)101及びRAM(Random Access Memory)102等の主記憶装置、カメラ又はキーボード等の入力デバイス103、ディスプレイ等の出力デバイス104、ハードディスク等の補助記憶装置105などを含む通常のコンピュータシステムとして構成される。後述する携帯端末2及び画像処理装置1の各機能は、CPU100、ROM101、RAM102等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU100の制御の元で入力デバイス103及び出力デバイス104を動作させるとともに、主記憶装置や補助記憶装置105におけるデータの読み出し及び書き込みを行うことで実現される。なお、上記の説明は携帯端末2のハードウェア構成として説明したが、画像処理装置1がCPU100、ROM101及びRAM102等の主記憶装置、入力デバイス103、出力デバイス104、補助記憶装置105などを含む通常のコンピュータシステムとして構成されてもよい。また、携帯端末2は、通信モジュール等を備えてもよい。
 図1に示すように、携帯端末2は、カメラ20、画像処理装置1、画像記録部21、カメラ情報記録部22及び表示部23を備えている。カメラ20は、画像を撮像する機能を有している。カメラ20として、例えばCMOSの画素センサ等が用いられ、フォーカルプレーンシャッタ方式で撮像される。すなわち、カメラ20は、画像の縦方向又は横方向へ走査して画素値を入力する。カメラ20は、例えばユーザ操作等により指定されたタイミングから所定の間隔で繰り返し撮像する連続撮像機能を有している。すなわち、カメラ20は、静止画像(静止フレーム画像)だけでなく動画(連続する動フレーム画像)を取得する機能を有している。カメラ20は、例えば撮像されたフレーム画像(対象画像)を撮像の度に画像処理装置1へ出力する機能を有している。
 画像処理装置1は、画像入力部10、動きベクトル取得部11、歪み成分推定部12、補正パラメータ算出部13及び画像補正部14を備えている。
 画像入力部10は、カメラ20により撮像されたフレーム画像を入力する機能を有している。画像入力部10は、例えばカメラ20により撮像されたフレーム画像を撮像の度に入力する機能を有している。また、画像入力部10は、入力フレーム画像を、携帯端末2に備わる画像記録部21に保存する機能を有している。また、画像入力部10は、入力フレーム画像を動きベクトル取得部11及び画像補正部14へ出力する機能を有している。
 動きベクトル取得部11は、入力フレーム画像と当該入力フレーム画像の直前に撮像された2枚のフレーム画像を用いて動きベクトルを取得する機能を有している。動きベクトル取得部11は、例えば、画像記録部21を参照し、入力フレーム画像の直前のフレーム画像を取得する。動きベクトル取得部11は、連続するフレーム画像同士をブロック単位でマッチングしてローカル動きベクトルを取得する。そして、動きベクトル取得部11は、取得された複数のローカル動きベクトルを用いて、カメラ20の被写体に対する相対的な動きによって生じるフレーム間のカメラモーション成分を算出する。ここで、図3に示すように、画像中心を原点とし、算出対象のフレーム画像の座標系を(x,y,1)、一つ前のフレーム画像の座標系を(xi-1,yi-1,1)とすると、カメラモーション成分は以下の数式(1)で表される。なお、iは自然数である。
Figure JPOXMLDOC01-appb-M000001
なお、数式(1)以外の手法でカメラモーションを取得してもよく、少なくともカメラ20の平行移動成分を取得できればよい。動きベクトル取得部11は、カメラモーション成分を歪み成分推定部12及び補正パラメータ算出部13へ出力する機能を有している。
 歪み成分推定部12は、カメラモーション成分に基づいてローリングシャッタ歪み成分を推定する機能を有している。図4は、ローリングシャッタ歪みを説明する概要図である。ローリングシャッタ歪みとは、図4の(A)のように、カメラ20が被写体に対して相対的に水平方向に移動した場合に、被写体が水平方向に平行四辺形状に歪むことである。カメラ20が垂直方向に移動する場合には、ローリングシャッタ歪みは、図4の(B)のように、被写体が垂直方向に拡大・縮小するように発生する。歪み量は、カメラ20の移動の速さが速くなるほど大きくなる。このことから、ローリングシャッタ歪みは、カメラ20の移動の速さによって推定することが可能であるといえる。カメラ20の移動の速さはフレーム間の平行移動量によって推定することができる。歪み成分推定部12は、動きベクトル取得部11で取得されたカメラモーション成分を入力し、カメラモーション成分の水平及び垂直方向の平行移動成分(m02 i-1→i,m12 i-1→iを、フレーム間の平行移動量(d ,d であるとし、平行移動量に基づいて、ローリングシャッタ歪み成分を推定する。なお、フレーム間の平行移動量を、フレーム画像の中心座標の平行移動量としてもよい。ローリングシャッタ歪み成分は、歪みのある座標系を(x,y,1)、歪みのない座標系を(X,Y,1)とすると、以下の数式(2)で表される。
Figure JPOXMLDOC01-appb-M000002
上記数式(2)に示すように、Yの値が歪み成分に影響を与える。ここでαは歪み係数である。歪み係数αは、フレーム画像の1ラインを読み込む時間を、フレーム画像全体を読み込む時間と次のフレーム画像を読み込むまでの時間とを加算した値で除算して算出される値である。言い換えれば、歪み係数αは、フレーム画像の1ラインを読み込む時間を、当該フレーム画像の最初のラインを読み込んだ時刻から次のフレーム画像の最初のラインを読み込む時刻までの時間で除算して算出される値である。歪み係数αは、カメラ20に備わる画素センサの仕様や画素センサの駆動の設定により変化する。例えば、画素センサそれぞれにおいて、スキャンスピード、フレームレート、露光時間、画像サイズ、走査線の向き、ズーム倍率、f値、機械式手ブレ補正機構のON/OFF、フレームの撮像から出力までの時間、読み出し速度、読み出し方向等といった設定情報が異なる。このため、歪みの推定の前に、あらかじめ画素センサの様々な設定、撮像モード又は環境条件を含む撮像条件に対して算出しておく必要がある。
 ここで、歪み係数αの算出方法について説明する。図5は、歪み係数αの算出方法を説明する概要図である。図5に示すように、歪み係数αは、静止フレーム画像frame、動フレーム画像列frameを用いて算出される。静止フレーム画像と動フレーム画像とを比較して、どの程度の歪みが発生するのかを求め、さらに、動フレーム画像間でどの程度の平行移動量であったのかを求めることにより、歪みと平行移動量の相関を求める。この相関関係から歪みαを算出する。
 具体的には、まず、被写体及びカメラ20を静止させて、静止フレーム画像frameを撮影する。次に被写体あるいはカメラ20を動かし、動フレーム画像列:frame、frame、frame、…、framei-1、frameを撮影する。動フレーム画像frameでの歪み量は、静止フレーム画像frameから動フレーム画像frameへの動き行列Mb→iを計算することで算出することができる。歪み量は、静止フレーム画像frameの座標系を(x,y,1)とし、動フレーム画像frameの座標系を(x,y,1)とすると、以下の数式(3)で表される。
Figure JPOXMLDOC01-appb-M000003
ここで、動き行列Mb→iが平行移動成分及び歪み成分のみであると仮定すると、歪み量は、以下の数式(4)のように近似することができる。
Figure JPOXMLDOC01-appb-M000004
[規則91に基づく訂正 05.12.2012] 
 数式(2)と数式(4)とを比較する。数式(4)では、歪み成分はm01 b→i及びm11 b→iである。一方、数式(2)においては、歪み成分の元となるのは連続するフレーム間の動き成分とした平行移動量(d ,d である。平行移動量を求めるために、動フレーム画像frameと、その一つ前の動フレーム画像framei-1から、動き行列Mi-1→iを求める。動フレーム画像frameと、その一つ前の動フレーム画像framei-1との関係を以下の数式(5)で表すことができる。
Figure JPOXMLDOC01-appb-M000005
上記数式(5)を用いてフレーム間の動き成分(m02 i-1→i,m12 i-1→iを平行移動成分(d ,d としてもよい。また、動フレーム画像frameの中心座標の平行移動量を(d ,d としてもよい。(d ,d を算出することで、歪み係数αは、以下の数式(6),(7)で表すことができる。
Figure JPOXMLDOC01-appb-M000006
Figure WO-DOC-MATHS-7
 歪み係数αを求めるための測定値であるm01 b→i,m11 b→i,d ,d には誤差が含まれることが想定される。図6は、横軸がframe、縦軸が歪み係数αである。図6に示すように、様々なframeについて歪み係数αを求め、それらの平均値を歪み係数αとして採用してもよい。図7は、横軸が移動量d であり、縦軸が動き行列成分m01 b→iである。図7に示すように、2次元平面上にプロットし、数式(7)に示す回帰直線の傾きから歪み係数αを求めてもよい。測定値であるm01 b→i,m11 b→i,d ,d の値が小さく、誤差が与える影響が大きい場合であっても、上述した手法により精度良く歪み係数αを求めることができる。ローリングシャッタ歪みは画素センサの仕様や画素センサの駆動の設定により発生の様子が異なる。上述した手法で、カメラ20すなわち画素センサの設定に対してそれぞれ歪み係数αを算出することにより、カメラ20固有の条件を反映させて正確にローリングシャッタ歪みを推定することができる。なお、実際の測定値を用いて歪み係数αを算出する場合には、どのような撮像環境条件で歪み係数αを算出したのかについても記録しておいてもよい。撮像環境条件としては、例えば、「明るさ」又は「気温」等が含まれる。
 歪み成分推定部12は、カメラ情報記録部22を参照可能に構成されている。カメラ情報記録部22は、上記の方法で算出された歪み係数αを記録している。例えば、素子設定値と歪み係数αとを関連付けしたテーブルを備えている。素子設定値及び撮像環境と歪み係数αとを関連付けしたテーブルを備えていてもよい。歪み成分推定部12は、カメラ情報記録部22を参照し、画素センサの設定に応じて歪み係数αの値を取得し、カメラモーション成分を用いてローリングシャッタ歪み成分を推定する。画素センサの現状の設定情報や撮像環境に関する情報は、例えば、カメラ20から取得してもよい。また、カメラ情報記録部22に、フレーム画像の1ラインを読み込む時間、及び、フレーム画像全体を読み込む時間と次のフレーム画像を読み込むまでの時間が、設定情報や撮像環境に関する情報に関連付けされて記録されている場合には、カメラ情報記録部22から歪み係数αを直接取得するのではなく、カメラ情報記録部22に記録されている情報に基づいて歪み係数αを演算してもよい。歪み成分推定部12は、ローリングシャッタ歪み成分を補正パラメータ算出部13へ出力する機能を有している。
 補正パラメータ算出部13は、カメラモーション成分及びローリングシャッタ歪み成分に基づいて、歪みを打ち消すための補正パラメータを算出する機能を有している。例えば、補正パラメータ算出部13は、動画手ブレ補正及びローリングシャッタ歪み補正のパラメータを算出する。ここで、動画手ブレ補正に関しては、以下のように補正パラメータを算出する。まず、カメラ20の静止位置の基準となるフレームからのカメラモーション成分の累積値を求める。そして、例えば、カメラモーション成分の累積値に基づいて手ブレの周波数のみを抽出する。この周波数を打ち消すように補正パラメータを算出する。動画手ブレ補正をする場合において、動き補正前の座標を(x,y,1)、動き補正後の座標を(x’,y’,1)で表現した場合、動画の動き補正は以下の数式(8)式で定式化される。
Figure JPOXMLDOC01-appb-M000008
ここで数式(8)で用いた以下の行列は、動き補正行列である。
Figure JPOXMLDOC01-appb-M000009
動き補正前の座標(x,y,1)は、歪みのある座標系である。ここで、補正パ動き補正前の座標(x,y,1)を、歪みのない座標系(x,y,1)へ一旦変換した後に、同一の動き補正行列による補正を適用するものとする。この場合、以下の数式(9)のように歪み量が表される。
Figure JPOXMLDOC01-appb-M000010
数式(9)に数式(2)を代入すると以下の数式(10)に示すように、計算することができる。
Figure JPOXMLDOC01-appb-M000011
上記数式(10)が、歪み補正及び動画手ブレ補正を同時に行うモデル式となる。なお上記数式(10)の平行移動成分(m02b→i+m12b→i・α・d ,m12 b→i・α・d については、歪み係数αの原点の位置に依存してバイアスをかける必要がある。
 上述したように、補正パラメータ算出部13は、カメラモーション成分に基づき動き補正行列を求め、次に、動き補正行列及びローリングシャッタ歪み成分に基づき式(10)で表される演算により、動画手ブレ補正及びローリングシャッタ歪み補正のパラメータを算出する。補正パラメータ算出部13は、パラメータを画像補正部14へ出力する機能を有している。
 画像補正部14は、動画手ブレ補正及びローリングシャッタ歪み補正のパラメータに基づいて、入力されたフレーム画像に対して動きの補正を行う機能を有している。例えば、画像補正部14は、パラメータに基づいてフレーム画像に対しアフィン変換等による画像変形及び画素補間を行う。画像補正部14は、手ブレによるフレーム画像間の平行移動、回転、拡大又は縮小等の動きとローリングシャッタ歪みを補正することが可能である。そして、画像補正部14は、必要に応じて補正の対象を選択し、画像の補正を行う。上述したとおり、本実施形態の画像処理装置1では、ローリングシャッタ歪みは、カメラモーションの平行移動成分のみに起因していると限定している。ここで、手ブレについても平行移動の動きに限定すると、補正前のフレーム画像から補正フレーム画像の各水平ラインに対応する位置の水平ラインの必要領域を、補正フレーム画像にラインコピーすることで画像の補正を行うことができる。この方法により、高速に画像補正を行うことが可能となる。画像補正部14は、手ブレ及びローリングシャッタ歪みが補正された補正フレーム画像を、表示部23へ出力する機能を有している。表示部23は、補正フレーム画像を表示する機能を有している。
 次に、本実施形態に係る画像処理装置1の動作について説明する。図8は、本実施形態に係る画像処理装置1の動作を示すフローチャートである。図8に示す制御処理は、例えば携帯端末2の撮像機能をONしたタイミングで実行され、所定の周期で繰り返し実行される。
 図8に示すように、最初に画像入力部10が処理対象のフレーム画像を入力する(S10:画像入力ステップ)。次に、動きベクトル取得部11が動きベクトルを取得する(S12:動きベクトル取得ステップ)。動きベクトル取得部11は、画像記録部21を参照し、直前に入力されたフレーム画像(直前画像)と、S10の処理で入力されたフレーム画像とに基づいて、動きベクトルを取得し、カメラモーション成分とする。S12の処理が終了すると、歪み成分推定処理へ移行する(S14:歪み成分推定ステップ)。
 S14の処理では、歪み成分推定部12が、S12の処理で取得されたカメラモーション成分を用いてローリングシャッタ歪み成分を推定する。例えば、歪み成分推定部12は、カメラ情報記録部22を参照し、画素センサの設定に応じて歪み係数αの値を取得する。そして、歪み成分推定部12は、歪み係数αとカメラモーション成分を用いて、数式(2)に基づいてローリングシャッタ歪み成分を推定する。S14の処理が終了すると、補正パラメータ算出処理へ移行する(S16)。
 S16の処理では、補正パラメータ算出部13が、S14の処理で推定された歪み成分を用いて補正パラメータを算出する。例えば、補正パラメータ算出部13は、数式(10)を用いて補正パラメータを算出する。S16の処理が終了すると、補正処理へ移行する(S18)。
 S18の処理では、画像補正部14が、S16の処理で算出された補正パラメータを用いてフレーム画像を補正する。S18の処理が終了すると、表示処理へ移行する(S20)。
 S20の処理では、表示部23が、S18の処理で補正されたフレーム画像を表示する。S20の処理が終了すると、図8に示す制御処理を終了する。
 次に、携帯端末(コンピュータ)2を上記画像処理装置1として機能させるための画像処理プログラムを説明する。
 画像処理プログラムは、メインモジュール、入力モジュール及び演算処理モジュールを備えている。メインモジュールは、画像処理を統括的に制御する部分である。入力モジュールは、入力画像を取得するように携帯端末2を動作させる。演算処理モジュールは、動きベクトル取得モジュール、歪み成分推定モジュール、補正パラメータ算出モジュール及び画像補正モジュールを備えている。メインモジュール、入力モジュール及び演算処理モジュールを実行させることにより実現される機能は、上述した画像処理装置1の画像入力部10、動きベクトル取得部11、歪み成分推定部12、補正パラメータ算出部13及び画像補正部14の機能とそれぞれ同様である。
 画像処理プログラムは、例えば、ROM等の記憶媒体または半導体メモリによって提供される。また、画像処理プログラムは、データ信号としてネットワークを介して提供されてもよい。
 以上、第1実施形態に係る画像処理装置1によれば、カメラ20の動きによって発生する動きベクトルを取得し、動きベクトルに基づいてフレーム画像のローリングシャッタ歪み成分を推定する。カメラ20の動きによって発生する動きベクトルは、画面全体の動きを示すグローバル動きベクトルに比べて自由度が制限されている。例えば、グローバル動きベクトルでは、平行移動成分、拡大縮小成分、回転成分、変形(歪み)成分等のパラメータが存在するが、カメラ20の動きは、変形や歪みのパラメータを考慮する必要がない。具体的には、グローバル動きベクトルでは、6つのパラメータのアフィンパラメータを検出する必要があるが、画像処理装置1によれば水平及び垂直方向の平行移動量、すなわち2つのパラメータを考慮すればよい。このため、動きベクトルは、グローバル動きベクトルに比べて、異なる動きの被写体が混在する撮像シーンであっても被写体の誤差を排除し易く安定して正確に取得することができる。よって、カメラ20の動きによって発生する動きベクトルを用いることにより、ローリングシャッタ歪み成分を安定して正確に推定することができる。さらに、2つのパラメータを用いた簡易な計算でローリングシャッタ歪み成分を推定するため、高速に処理することができる。
 また、第1実施形態に係る画像処理装置1によれば、動きベクトルの中でも特に安定して正確に取得できる平行移動成分を用いることで、ローリングシャッタ歪み成分を一層安定して正確に推定することができる。
 さらに、第1実施形態に係る画像処理装置1によれば、カメラ20の固有の要因や撮像時の環境情報等を勘案してローリングシャッタ歪み成分を推定することができる。このため、カメラ20の設定が変わりローリングシャッタ歪みの発生の様子が変化しても精度よく推定できる。
 なお、第1実施形態に係る画像処理装置1の変形例として、ジャイロセンサで検出された動き情報を用いてローリングシャッタ歪み成分を推定してもよい。ジャイロセンサを用いた画像処理装置1の構成を図9に示す。図9に示すように、動きベクトル取得部11は、ジャイロセンサ24に接続されている。動きベクトル取得部11は、ジャイロセンサ24によって出力される動き情報(動きベクトル)をカメラモーションとして取得する。その他の構成は同様である。このようにジャイロセンサ24を用いることにより、1枚のフレーム画像であってもローリングシャッタ歪みを推定して補正することができる。
 さらに、第1実施形態に係る画像処理方法及び画像処理プログラムも、画像処理装置1と同様の作用効果を奏する。
(第2実施形態)
 第2実施形態に係る画像処理装置1は、第1実施形態に係る画像処理装置1とほぼ同様に構成され、歪み成分推定部12の一部機能が相違する。具体的には、歪み成分推定部12が、カメラ20から取得した情報に応じて複数のローリングシャッタ歪み成分のモデルを切り替えて使用する点が相違する。以下では、第1実施形態に係る画像処理装置1と相違する点を中心に説明し、重複する部分の説明は省略する。
 歪み成分推定部12は、カメラ20の画素センサの走査順の方向に関する情報に基づいてローリングシャッタ歪み成分の推定手法を変更する機能を有している。例えば、カメラ情報記録部22には、カメラ20の設定情報として、現在の画素センサの走査順の方向に関する情報が記録されている。歪み成分推定部12は、カメラ情報記録部22を参照することで、上記情報を取得する。ローリングシャッタ歪み成分は、画素センサの走査の方向によって、図4の(A)、(B)及び図4の(C)、(D)のように歪みの発生の様子が異なる。図4の(A)、(B)のように、走査順が垂直方向の場合には、第1実施形態で説明した通り、数式(2)に示すモデルでローリングシャッタ歪みを表現できる。一方、図4の(C)、(D)のように走査順が水平方向の場合には、数式(2)に示すモデルでローリングシャッタ歪みを表現することができない。この場合、ローリングシャッタ歪み成分は、歪みのある座標系を(x,y,1)、歪みのない座標系を(X,Y,1)とすると、以下の数式(11)に示すモデルで表される。
Figure JPOXMLDOC01-appb-M000012
上記数式(11)に示すように、Xの値が歪み成分に影響を与える。
 歪み成分推定部12は、カメラ情報記録部22を参照して得られた画素センサの走査順の方向に関する情報に基づいて、数式(2)又は数式(11)のモデルのどちらで推定するか否かを判定する。そして、決定したモデルに基づいて、ローリングシャッタ歪み成分を推定する。その他の構成は第1実施形態と同様である。また、本実施形態に係る画像処理プログラムは、第1実施形態に係る画像処理プログラムと同様に構成される。
 以上、第2実施形態に係る画像処理装置1によれば、第1実施形態に係る画像処理装置1と同様の作用効果を奏するとともに、画像センサの走査順の方向に応じて適切なモデルを用いてローリングシャッタ歪みを推定することができる。このため、カメラ20の設定により画像センサの走査順の方向が変化しても正確な推定をすることが可能となる。
(第3実施形態)
 第3実施形態に係る画像処理装置1は、第1実施形態に係る画像処理装置1とほぼ同様に構成され、歪み成分推定部12の一部機能が相違する。具体的には、歪み成分推定部12が、ローリングシャッタ歪みの変化を検知する点、当該変化に応じて推定値を調整する点が相違する。以下では、第1実施形態に係る画像処理装置1と相違する点を中心に説明し、重複する部分の説明は省略する。
 図10は、本実施形態に係る画像処理装置1を搭載した携帯端末2の機能ブロック図である。図10に示すように、携帯端末2は、歪み成分記録部25を備えている。歪み成分記録部25は、歪み成分推定部12から読み出し及び書き込み可能に構成されている。歪み成分記録部25は、歪み成分推定部12によって推定されたローリングシャッタ歪み成分の履歴を格納する。
 歪み成分推定部12は、ローリングシャッタ歪み成分を推定すると、歪み成分記録部25へ記録する。そして、歪み成分推定部12は、推定されたローリングシャッタ歪み成分が、歪み成分記録部25に格納された前回値と比べて急激に変化しているか否かを判定する。前回値とは、直前のフレーム画像で推定されたローリングシャッタ歪みの推定値である。歪み成分推定部12は、例えば、推定されたローリングシャッタ歪み成分と前回値との差分を算出し、差分値が第1の閾値より大きい値であれば、急激な変化があったものと判定する。そして、歪み成分推定部12は、急激な変化があったと判定した場合には、ローリングシャッタ歪み成分の推定値を調整する。歪み成分推定部12は、差分が小さくなるように調整する。例えば、歪み成分推定部12は、ローリングシャッタ歪みの推定値を、前回のフレーム画像のローリングシャッタ歪みの推定値と同じ値とする。あるいは、歪み成分推定部12は、ローリングシャッタ歪みの推定値、及び、前回以前のローリングシャッタ歪み成分を用いて、加重平均する。なお、歪み成分推定部12は、加重平均のために選択する前回以前のローリングシャッタ歪み成分の数を第2閾値以下とする。第2閾値を調整することにより、ローリングシャッタ歪みの変化をどの程度抑制するかを調整することができる。その他の構成については、第1実施形態に係る画像処理装置と同様である。また、本実施形態に係る画像処理プログラムは、第1実施形態に係る画像処理プログラムと同様に構成される。
 次に、本実施形態に係る画像処理装置1の動作について説明する。図11は、本実施形態に係る画像処理装置1の動作を示すフローチャートである。図11に示す制御処理は、例えば携帯端末2の撮像機能をONしたタイミングで実行され、所定の周期で繰り返し実行される。
 図11に示すフレーム画像入力処理(S30)、動きベクトル取得処理(S32)及び歪み成分推定処理(S34)については、図8に示す処理と同様である。
 S36の処理では、歪み成分推定部12が、歪み成分記録部25を参照し、前回のフレーム画像で推定されたローリングシャッタ歪み成分(前回値)を取得する。そして、歪み成分推定部12は、S34の処理で算出したローリングシャッタ歪み成分と前回値との差分を算出する。S36の処理が終了すると、差分判定処理へ移行する(S38)。
 S38の処理では、歪み成分推定部12が、S36の処理で算出された差分が所定値(第1の閾値)より大きいか否かを判定する。S38の処理において、差分が第1の閾値より大きいと判定した場合には、調整処理へ移行する(S40)。
 S40の処理では、歪み成分推定部12が、S34の処理で推定されたローリングシャッタ歪み成分を調整する。例えば、S36の処理で用いた前回値と同じ値とする。あるいは、歪み成分推定部12は、S34の処理で推定されたローリングシャッタ歪み成分、及び、所定数の前回値を用いて加重平均する。S40の処理が終了すると、補正パラメータ算出処理へ移行する(S42)。
 一方、S38の処理において、差分が第1の閾値より大きくないと判定した場合には、補正パラメータ算出処理へ移行する(S42)。
 補正パラメータ算出処理(S42)、補正処理(S44)及び表示(S46)については、図8に示す処理と同様である。
 以上、第3実施形態に係る画像処理装置1によれば、第1及び第2実施形態に係る画像処理装置1と同様の効果を奏するとともに、ローリングシャッタ歪み成分の変化のうち所定値より大きい変化を検出し、その変化を抑制するようにローリングシャッタ歪み成分を調整することができる。ところで、従来の画像処理装置であれば、ジャイロセンサ等を用いることなく画像から歪み成分を演算する場合において、被写体が画面に進入・退出するシーンでは、ローリングシャッタ歪みが急激に変化してしまう。このため、ローリングシャッタ歪み成分を用いてローリングシャッタ歪みを補正すると、画面(フレーム画像)にちらつきやがたつきが生じる。これに対して、第3実施形態に係る画像処理装置1は、ローリングシャッタ歪み成分の急激な変化を抑制することにより、画面にちらつきやがたつきが生じることを回避することができる。よって、例えば、画面に被写体が進入・退出するシーンであっても、画面が不自然に補正されることを回避することが可能となる。
(第4実施形態)
 第4実施形態に係る画像処理装置1は、第1実施形態に係る画像処理装置1とほぼ同様に構成され、動きベクトル取得部11の一部機能が相違する。具体的には、動きベクトル取得部11が、動きベクトルの変化を検知する点、当該変化に応じてカメラモーションを調整する点が相違する。以下では、第1実施形態に係る画像処理装置1と相違する点を中心に説明し、重複する部分の説明は省略する。
 図12は、本実施形態に係る画像処理装置1を搭載した携帯端末2の機能ブロック図である。図12に示すように、携帯端末2は、動きベクトル記録部26を備えている。動きベクトル記録部26は、動きベクトル取得部11から読み出し及び書き込み可能に構成されている。動きベクトル記録部26は、動きベクトル取得部11によって取得された動きベクトルの履歴を格納する。
 動きベクトル取得部11は、動きベクトルを取得すると、動きベクトル記録部26へ記録する。そして、動きベクトル取得部11は、取得した動きベクトルが、動きベクトル記録部26に格納された前回値と比べて急激に変化しているか否かを判定する。前回値とは、直前のフレーム画像で取得された動きベクトルである。動きベクトル取得部11は、例えば、推定された動きベクトルと前回値との差分を算出し、差分値が第1の閾値より大きい値であれば、急激な変化があったものと判定する。そして、動きベクトル取得部11は、急激な変化があったと判定した場合には、動きベクトルを調整する。動きベクトル取得部11は、差分が小さくなるように調整する。例えば、動きベクトル取得部11は、動きベクトルを、前回のフレーム画像の動きベクトルと同じ値とする。あるいは、動きベクトル取得部11は、動きベクトル、及び、前回以前の動きベクトルを用いて、加重平均する。なお、歪み成分推定部12は、加重平均のために選択する前回以前の動きベクトルの数を第2閾値よりも小さい値とする。第2閾値を調整することにより、動きベクトルの変化をどの程度抑制するかを調整することができる。その他の構成については、第1実施形態に係る画像処理装置と同様である。また、本実施形態に係る画像処理プログラムは、第1実施形態に係る画像処理プログラムと同様に構成される。
 次に、本実施形態に係る画像処理装置1の動作について説明する。図13は、本実施形態に係る画像処理装置1の動作を示すフローチャートである。図13に示す制御処理は、例えば携帯端末2の撮像機能をONしたタイミングで実行され、所定の周期で繰り返し実行される。
 図11に示すフレーム画像入力処理(S50)、動きベクトル取得処理(S52については、図8に示す処理と同様である。
 S54の処理では、動きベクトル取得部11が、動きベクトル記録部26を参照し、前回のフレーム画像で取得された動きベクトル(前回値)を取得する。そして、動きベクトル取得部11は、S52の処理で取得された動きベクトルと前回値との差分を算出する。S54の処理が終了すると、差分判定処理へ移行する(S56)。
 S56の処理では、動きベクトル取得部11が、S54の処理で算出された差分が所定値(第1の閾値)より大きいか否かを判定する。S54の処理において、差分が第1の閾値より大きいと判定した場合には、調整処理へ移行する(S58)。
 S58の処理では、動きベクトル取得部11が、S52の処理で取得された動きベクトルを調整する。例えば、S54の処理で用いた前回値と同じ値とする。あるいは、動きベクトル取得部11は、S52の処理で取得された動きベクトル、及び、所定数の前回値を用いて加重平均する。S58の処理が終了すると、歪み成分推定処理へ移行する(S60)。
 一方、S56の処理において、差分が第1の閾値より大きくないと判定した場合には、歪み成分推定処理へ移行する(S60)。
 歪み成分推定処理(S60)、補正パラメータ算出処理(S62)、補正処理(S64)及び表示(S66)については、図8に示す処理と同様である。
 以上、第4実施形態に係る画像処理装置1によれば、第1及び第2実施形態に係る画像処理装置1と同様の効果を奏するとともに、動きベクトルの変化のうち所定値より大きい変化を検出し、その変化を抑制するように動きベクトルを調整することができる。ところで、従来の画像処理装置であれば、ジャイロセンサ等を用いることなく画像から歪み成分を演算する場合において、被写体が画面に進入・退出するシーンでは、ローリングシャッタ歪みが急激に変化してしまう。このため、動きベクトルを用いてローリングシャッタ歪みを補正すると、画面(フレーム画像)にちらつきやがたつきが生じる。これに対して、第4実施形態に係る画像処理装置1は、動きベクトルの急激な変化を抑制することにより、画面にちらつきやがたつきが生じることを回避することができる。よって、例えば、画面に被写体が進入・退出するシーンであっても、画面が不自然に補正されることを回避することが可能となる。
 なお、上述した実施形態は本発明に係る画像処理装置の一例を示すものである。本発明に係る画像処理装置は、実施形態に係る画像処理装置1に限られるものではなく、各請求項に記載した要旨を変更しない範囲で、実施形態に係る画像処理装置を変形し、又は他のものに適用したものであってもよい。
 例えば、上述した各実施形態では、カメラ20がフレーム画像を取得する例を説明したが、別の機器からネットワークを介して送信された画像であってもよい。
 また、上述した各実施形態に係る画像処理装置1を、手ぶれ補正装置とともに動作させてもよい。例えば、手ぶれ補正装置において、連写された複数の連続するフレーム画像を用いて一枚の補正フレーム画像を出力する装置が存在する。このような手ぶれ補正装置において、上述した実施形態に係る画像処理装置1を採用することにより、連続するフレーム画像間のローリングシャッタ歪みを補正することができるので、手ぶれ補正を一層正確に行うことが可能となる。
 さらに、上述した第3及び第4実施形態の変形例として、ジャイロセンサで検出された動き情報を利用し、動きベクトル取得部11で検出されたカメラモーション成分とジャイロセンサからの動き情報との差をとり、その差が急激に変化する場合にローリングシャッタ歪み成分を調整するように構成してもよい。
 1…画像処理装置、10…画像入力部、11…動きベクトル取得部、12…歪み成分推定部、13…補正パラメータ算出部、14…画像補正部、20…カメラ(撮像装置)、21…画像記録部、22…カメラ情報記録部、23…表示部、24…ジャイロセンサ、25…歪み成分記録部、26…動きベクトル記録部。

Claims (10)

  1.  画像を処理する画像処理装置であって、
     処理対象の前記画像である対象画像を入力する画像入力部と、
     前記対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する動きベクトル取得部と、
     前記動きベクトルに基づいて、前記対象画像のローリングシャッタ歪み成分を推定する歪み成分推定部と、
    を備える画像処理装置。
  2.  前記歪み成分推定部は、前記動きベクトルの平行移動成分に基づいて、前記対象画像のローリングシャッタ歪み成分を推定する請求項1に記載の画像処理装置。
  3.  前記歪み成分推定部は、前記動きベクトル、及び前記撮像装置の撮像条件の設定値に基づいて、前記ローリングシャッタ歪み成分を推定する請求項1又は2に記載の画像処理装置。
  4.  前記動きベクトル取得部は、前記対象画像の直前に撮像された画像である直前画像の直前に撮像された画像である直前画像を格納する記録部を参照可能に構成され、記録部に格納された直前画像及び前記対象画像に基づいて動きベクトルを取得する請求項1~3の何れか一項に記載の画像処理装置。
  5.  前記動きベクトル取得部は、前記撮像装置に備わるジャイロセンサによって検出された動きベクトルを取得する請求項1~3の何れか一項に記載の画像処理装置。
  6.  前記ローリングシャッタ歪み成分に基づいて、前記対象画像を補正する補正部を備える請求項1~5の何れか一項に記載の画像処理装置。
  7.  前記補正部は、前記ローリングシャッタ歪み成分の直前の履歴を格納する記録部を参照可能に構成され、前記記録部に格納された直前の前記ローリングシャッタ歪み成分と前記対象画像における前記ローリングシャッタ歪み成分との差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記ローリングシャッタ歪み成分を調整する請求項6に記載の画像処理装置。
  8.  前記動きベクトル取得部は、前記動きベクトルを格納する記録部を参照可能に構成され、前記記録部に格納された直前の前記動きベクトルと前記対象画像における前記動きベクトルとの差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記動きベクトルを調整する請求項1~6の何れか一項に記載の画像処理装置。
  9.  画像を処理する画像処理方法であって、
     処理対象の前記画像である対象画像を入力する画像入力ステップと、
     前記対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する動きベクトル取得ステップと、
     前記動きベクトルに基づいて、前記対象画像のローリングシャッタ歪み成分を推定する歪み成分推定ステップと、
    を備える画像処理方法。
  10.  画像を処理するようにコンピュータを動作させる画像処理プログラムであって、
     処理対象の前記画像である対象画像を入力する画像入力部、
     前記対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する動きベクトル取得部、及び、
     前記動きベクトルに基づいて、前記対象画像のローリングシャッタ歪み成分を推定する歪み成分推定部として前記コンピュータを動作させることを特徴とする画像処理プログラム。
PCT/JP2011/065475 2011-07-06 2011-07-06 画像処理装置、画像処理方法及び画像処理プログラム WO2013005316A1 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
CN201180070542.0A CN103503432B (zh) 2011-07-06 2011-07-06 图像处理装置、图像处理方法
PCT/JP2011/065475 WO2013005316A1 (ja) 2011-07-06 2011-07-06 画像処理装置、画像処理方法及び画像処理プログラム
US13/824,512 US8976280B2 (en) 2011-07-06 2011-07-06 Distortion estimating image processing device, method, and non-transitory storage medium
EP11869190.6A EP2688282B1 (en) 2011-07-06 2011-07-06 Image processing device, image processing method, and image processing program
JP2012557741A JP5531194B2 (ja) 2011-07-06 2011-07-06 画像処理装置、画像処理方法及び画像処理プログラム
JP2012041715A JP5424068B2 (ja) 2011-07-06 2012-02-28 画像処理装置、画像処理方法、画像処理プログラム及び記憶媒体
CN201210229438.8A CN102868858B (zh) 2011-07-06 2012-07-03 图像处理装置及图像处理方法
EP12175159.8A EP2544445B1 (en) 2011-07-06 2012-07-05 Image processing device, image processing method, image processing program and storage medium
US13/541,897 US8831376B2 (en) 2011-07-06 2012-07-05 Image processing device, image processing method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/065475 WO2013005316A1 (ja) 2011-07-06 2011-07-06 画像処理装置、画像処理方法及び画像処理プログラム

Publications (2)

Publication Number Publication Date
WO2013005316A1 WO2013005316A1 (ja) 2013-01-10
WO2013005316A9 true WO2013005316A9 (ja) 2013-03-28

Family

ID=46679088

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/065475 WO2013005316A1 (ja) 2011-07-06 2011-07-06 画像処理装置、画像処理方法及び画像処理プログラム

Country Status (5)

Country Link
US (2) US8976280B2 (ja)
EP (2) EP2688282B1 (ja)
JP (1) JP5531194B2 (ja)
CN (2) CN103503432B (ja)
WO (1) WO2013005316A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003201136A1 (en) * 2002-02-06 2003-09-02 Koninklijke Philips Electronics N.V. Unit for and method of segmentation
EP2114080A1 (en) * 2008-04-30 2009-11-04 Thomson Licensing Method for assessing the quality of a distorted version of a frame sequence
US20130107065A1 (en) * 2011-10-27 2013-05-02 Qualcomm Incorporated Inertial sensor aided stationary object detection in videos
US8860825B2 (en) * 2012-09-12 2014-10-14 Google Inc. Methods and systems for removal of rolling shutter effects
US9374532B2 (en) 2013-03-15 2016-06-21 Google Inc. Cascaded camera motion estimation, rolling shutter detection, and camera shake detection for video stabilization
US9521326B2 (en) * 2013-05-08 2016-12-13 Raytheon Company Misregistration correction using non-pinhole camera model and non-linear scan equations
WO2014182811A1 (en) * 2013-05-08 2014-11-13 Raytheon Company Misregistration correction
DE102013012988A1 (de) * 2013-08-03 2015-02-05 Carl Zeiss Microscopy Gmbh Verfahren zur Kalibrierung eines digitalen optischen Abbildungssystems, Verfahren zur Korrektur von Abbildungsfehlern in einem digitalen optischen Abbildungssystem, sowie digitales optisches Abblildungssystem
KR102003460B1 (ko) * 2013-08-27 2019-07-24 한화테크윈 주식회사 왜곡제거장치 및 방법
US9357132B2 (en) 2014-05-30 2016-05-31 Apple Inc. Video rolling shutter correction for lens movement in optical image stabilization cameras
GB2523253B (en) * 2015-01-23 2017-04-12 Visidon Oy Image processing method
US10708571B2 (en) * 2015-06-29 2020-07-07 Microsoft Technology Licensing, Llc Video frame processing
KR102352681B1 (ko) * 2015-07-27 2022-01-18 삼성전자주식회사 동영상 안정화 방법 및 이를 위한 전자 장치
US10328271B2 (en) * 2015-11-12 2019-06-25 Medtronic, Inc. Implantable electrical stimulator with deflecting tip lead
CN105590302B (zh) * 2016-02-05 2018-06-12 中国科学院国家空间科学中心 一种用于图像传感器标定的干涉条纹畸变矫正方法
KR102317683B1 (ko) * 2016-07-28 2021-10-26 삼성전자주식회사 영상을 처리하는 방법, 디바이스 및 기록매체
WO2018027340A1 (en) * 2016-08-06 2018-02-15 SZ DJI Technology Co., Ltd. Systems and methods for mobile platform imaging
JP7152137B2 (ja) * 2017-08-28 2022-10-12 株式会社トプコン 写真測量システム及び写真測量方法
CN110651299A (zh) * 2018-02-28 2020-01-03 深圳市大疆创新科技有限公司 图像的水波纹检测方法及其装置、无人机和存储装置
CN109040525B (zh) * 2018-08-31 2021-10-22 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机可读介质及电子设备
CN109379536B (zh) * 2018-12-29 2020-07-31 深圳看到科技有限公司 画面生成方法、装置、终端及对应的存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5757168A (en) * 1980-09-16 1982-04-06 Mitsubishi Electric Corp Controller for elevator
JPH0783469B2 (ja) 1985-07-26 1995-09-06 ソニー株式会社 動きベクトル検出装置
EP1115250B1 (en) 1998-07-31 2012-06-06 Panasonic Corporation Method and apparatus for displaying image
US6188058B1 (en) 1998-09-17 2001-02-13 Agilent Technologies Inc. System for taking displacement measurements having photosensors with imaged pattern arrangement
JP4389371B2 (ja) 2000-09-28 2009-12-24 株式会社ニコン 画像修復装置および画像修復方法
US6977985B2 (en) 2002-12-17 2005-12-20 Agilent Technologies, Inc. X-ray laminography system having a pitch, roll and Z-motion positioning system
JP4071793B2 (ja) 2003-10-22 2008-04-02 松下電器産業株式会社 撮像装置とその製造方法、及び携帯機器
JP2005252753A (ja) * 2004-03-05 2005-09-15 Seiko Epson Corp 画像処理装置、位置ずれ記憶方法、及びシーン記憶方法
JP2007074488A (ja) 2005-09-08 2007-03-22 Konica Minolta Holdings Inc 撮像装置
JP4509917B2 (ja) 2005-11-21 2010-07-21 株式会社メガチップス 画像処理装置及びカメラシステム
JP4509925B2 (ja) 2005-12-27 2010-07-21 株式会社メガチップス 画像処理装置及びカメラシステム並びに画像処理方法及び動画像表示方法
JP2009141717A (ja) * 2007-12-07 2009-06-25 Hitachi Ltd 撮像装置
US8054335B2 (en) * 2007-12-20 2011-11-08 Aptina Imaging Corporation Methods and system for digitally stabilizing video captured from rolling shutter cameras
JP4689687B2 (ja) 2008-01-29 2011-05-25 株式会社モルフォ 撮像方法および撮像装置
JP4915424B2 (ja) 2009-02-19 2012-04-11 ソニー株式会社 画像処理装置、カメラモーション成分算出方法、画像処理プログラム及び記録媒体
JP2010193301A (ja) * 2009-02-19 2010-09-02 Sony Corp 画像処理装置、角度変化推定方法、画像処理プログラム及び記録媒体
JP4915423B2 (ja) 2009-02-19 2012-04-11 ソニー株式会社 画像処理装置、フォーカルプレーン歪み成分算出方法、画像処理プログラム及び記録媒体
JP5272916B2 (ja) 2009-06-17 2013-08-28 ペンタックスリコーイメージング株式会社 撮像装置
JP5560739B2 (ja) * 2009-07-08 2014-07-30 株式会社ニコン 電子カメラ
JP2011114649A (ja) 2009-11-27 2011-06-09 Sanyo Electric Co Ltd 撮像装置

Also Published As

Publication number Publication date
JP5531194B2 (ja) 2014-06-25
US20130182135A1 (en) 2013-07-18
US20130011020A1 (en) 2013-01-10
EP2544445A1 (en) 2013-01-09
CN102868858B (zh) 2016-04-13
EP2688282A4 (en) 2014-09-17
EP2688282A1 (en) 2014-01-22
US8976280B2 (en) 2015-03-10
CN103503432B (zh) 2016-11-02
EP2544445B1 (en) 2016-12-07
CN102868858A (zh) 2013-01-09
JPWO2013005316A1 (ja) 2015-02-23
WO2013005316A1 (ja) 2013-01-10
EP2688282B1 (en) 2016-11-30
US8831376B2 (en) 2014-09-09
CN103503432A (zh) 2014-01-08

Similar Documents

Publication Publication Date Title
JP5531194B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP5906493B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体
US9055217B2 (en) Image compositing apparatus, image compositing method and program recording device
US20090225174A1 (en) Image processing apparatus, image processing method, hand shake blur area estimation device, hand shake blur area estimation method, and program
JP4869049B2 (ja) 補間フレーム画像作成方法および補間フレーム画像作成装置
JP2014150443A (ja) 撮像装置、その制御方法及びプログラム
JP5729237B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2011119802A (ja) 画像処理装置、画像処理方法
JP2007243335A (ja) 手振れ補正方法、手振れ補正装置および撮像装置
JP5424068B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム及び記憶媒体
JP4311668B2 (ja) 撮像装置と撮像システムおよび画像の撮影方法
WO2016152358A1 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP6532328B2 (ja) 画像処理装置、その制御方法、および制御プログラム
JP2018033080A (ja) 画像処理装置、画像処理方法およびプログラム
JP5401696B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP6980480B2 (ja) 撮像装置および制御方法
CN110692235B (zh) 图像处理装置、图像处理程序及图像处理方法
JPWO2007026452A1 (ja) 画像処理装置、及び画像処理方法
JP6671975B2 (ja) 画像処理装置、撮像装置、画像処理方法およびコンピュータプログラム
JP6516574B2 (ja) 像ブレ補正装置、撮像装置、像ブレ補正方法
JP2021044653A (ja) 動きベクトル検出装置及び動きベクトル検出方法
JP2020061687A (ja) ブレ補正装置、撮像装置、ブレ補正方法、及びプログラム
JP2018173746A (ja) 画像処理装置、画像処理方法、及びプログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2012557741

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 11869190

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13824512

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2011869190

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2011869190

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE