WO2006075394A1 - 動きベクトル演算方法とこの方法を用いた手ぶれ補正装置、撮像装置、並びに動画生成装置 - Google Patents

動きベクトル演算方法とこの方法を用いた手ぶれ補正装置、撮像装置、並びに動画生成装置 Download PDF

Info

Publication number
WO2006075394A1
WO2006075394A1 PCT/JP2005/000424 JP2005000424W WO2006075394A1 WO 2006075394 A1 WO2006075394 A1 WO 2006075394A1 JP 2005000424 W JP2005000424 W JP 2005000424W WO 2006075394 A1 WO2006075394 A1 WO 2006075394A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion vector
image
resolution
data
calculating
Prior art date
Application number
PCT/JP2005/000424
Other languages
English (en)
French (fr)
Inventor
Kensuke Habuka
Masaki Hiraga
Original Assignee
Morhpo, Inc.
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 Morhpo, Inc. filed Critical Morhpo, Inc.
Priority to AT05703663T priority Critical patent/ATE481696T1/de
Priority to DE200560023661 priority patent/DE602005023661D1/de
Priority to EP20050703663 priority patent/EP1843294B1/en
Priority to KR20077015833A priority patent/KR101036787B1/ko
Priority to PCT/JP2005/000424 priority patent/WO2006075394A1/ja
Priority to US11/795,218 priority patent/US7847823B2/en
Priority to JP2006552817A priority patent/JP3935500B2/ja
Publication of WO2006075394A1 publication Critical patent/WO2006075394A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof

Definitions

  • Motion curve calculation method uses the method, imaging device, and moving image generation device
  • the present invention relates to a technique for calculating a motion vector between a plurality of images, and more particularly to a camera shake correction apparatus, an imaging apparatus, and a moving image generation apparatus using this technique.
  • Patent Documents 4 to 6 treat those having high correlation between motion vectors as having high reliability.
  • the feature point of the image is grasped and the motion vector for the feature point is calculated.
  • a polygon is formed by connecting points, recognizing how the polygon is deformed due to the movement of feature points between images to be compared, and estimating the movement position of other points. (For example, see Patent Documents 2 and 3).
  • Patent Document 1 Japanese Patent Laid-Open No. 2003-78807
  • Patent Document 2 Japanese Patent Laid-Open No. 11-506576
  • Patent Document 3 Japanese Patent Laid-Open No. 10-341445
  • Patent Document 4 Japanese Patent Laid-Open No. 9-73540
  • Patent Document 5 JP-A-6-311502
  • Patent Document 6 JP-A-6-153146 Disclosure of the invention
  • the present invention can calculate a motion vector with high accuracy by a relatively simple process so that a computer with a small amount of data is not overloaded.
  • An object of the present invention is to provide a motion vector calculation method capable of creating a high-quality photograph by correcting camera shake at the time of taking a picture, and a camera shake correction device, an imaging device, and a video generation device using this method. .
  • a motion vector calculation method is a method for calculating a motion vector between images by inputting a plurality of image data. Processing for calculating and storing multiresolution data up to a predetermined predetermined resolution level L (L; natural number) for the image data, processing for calculating an input motion vector corresponding to the resolution level of the reference image, and A resolution-specific motion vector estimation process in which the following steps are executed using the reference image of the resolution L obtained by each process, the comparison image, and the input motion vector.
  • L predetermined resolution level
  • an energy function is defined with the coordinates on the reference image and the coordinates on the comparison image as arguments, and the energy is within a predetermined range of the input motion vector.
  • the motion vector of resolution L is Calculating step, By using the calculated motion vector of resolution L as the input motion vector of higher resolution L 1 and repeating the above-described motion vector estimation process for each resolution for the higher resolution and image data in order. It is characterized by calculating the motion vector between the image and the comparison image.
  • the degree of reliability means how reliable the motion vector is, or the degree to which the motion vector meets a predetermined condition, and is detected as an image feature amount by, for example, the color space of the image. It is determined by the value or function based on the image, such as the size of the edge (boundary) or the corner angle. Since these pieces of information represent image features, the reliability of motion vectors on the feature points (or lines and regions) is increased.
  • the image feature amount includes a function using energy at the matching processing stage (for example, the reciprocal number), a function such that the portion estimated to be occlusion is 0, and the other is 1.
  • the function is not limited to an arithmetic expression, but also includes a function that derives a corresponding numerical value by referring to a table.
  • the reliability can be expressed by any one of the image feature amounts described above or any combination of image feature amounts (multiplication, addition, etc.).
  • the degree of correlation is the degree that two points are estimated to move in the same direction, and is determined, for example, by the difference from surrounding motion vectors.
  • the degree of correlation is not limited to this, and as a difference between image feature amounts, a function based on a difference in colors on two reference images, a difference in image features using a Gabor filter, or the like, or a user manually It can be expressed by a function using a specified cut (contour), and the difference in the value of the temporary motion vector It can also be expressed by multiplying or adding one or more of these functions, including functions based on.
  • the image feature quantity used for the reliability calculation and the image feature quantity used for the correlation calculation may be different.
  • each element of the input image has a value of RG B for all coordinates (x, y).
  • I (x, y) (R (x, y), G (x, y), B (x, y))
  • Each element of an image of resolution level L has multiple color information for all coordinates, such as (La * b * color space, YUV color space, edge image, corner-enhanced image), etc. Have information.
  • the resolution level 0 is the original image and the resolution level L is increased, the image becomes blurred.
  • Each element of the resolution level L is represented by I (x, y).
  • Each element of the motion vector is a starting point position (X, y) and a motion vector v (x, y) force from the starting point position.
  • the reason for having start point position information is that it does not have motion vectors for all coordinates (X, y).
  • the motion vector includes a “grid type motion vector” having a motion vector for the start point coordinates arranged in a grid and a “point cloud type motion vector” having a motion vector of only characteristic points. There are s .
  • a motion vector of resolution level L is obtained.
  • the motion information has each element: ((x, y), v (x, y)) for each 2′L pixel.
  • “′” represents a power.
  • each motion vector v (x, y) is represented by r (x, y), for example, between 0 and 1 Have a value.
  • the degree of correlation between motion vectors v (xl, yl), v (x2, y2) is represented by a (xl, yl, x2, y2), for example, having a value between 0 and 1 Like that.
  • Fig. 1 the data of the start position (x, y), the motion beta v (x, y), and the reliability r (x, y) corresponding to each grid (grid) of the reference image To have.
  • data of correlation degree a (xl, yl, x2, y2) is provided in association with any two grid points (or a line segment determined by two points).
  • the reliability of the motion vector of a grid (for example, edge or corner) having a large amount of features in the reference image is set to be high.
  • the degree of correlation between two motion vectors with a large difference in color and a large difference in provisional motion vector is set to be low.
  • the reliability of the motion vector at the corner or edge of the image is increased at the discontinuous location indicated by the dotted line A in FIG.
  • the degree of correlation between motion vectors across discontinuous locations is low.
  • circles indicate grids, and the thickness of the round frame indicates the level of reliability.
  • B and E are the reliability associated with the grid. E is an edge, indicating that the reliability is high, and B is neither a corner nor an edge, indicating that the reliability is low.
  • C and D are the correlations associated with the grid. C is a high correlation because the difference in motion vectors is small, and D is a low correlation because the difference in motion beta is large. Show me that.
  • a matching step for temporarily calculating a motion vector having the reliability and the correlation as defined above as parameters, and a motion vector within a predetermined range of the temporarily determined motion vector are considered. Then, the motion vector is calculated by a smoothing process that is adjusted by calculating the affine parameter by weighted averaging or least square method, and this is executed on the high resolution image in order from the low resolution image. Since it can be executed by so-called repetitive calculations, it is possible to calculate a motion vector with high accuracy without imposing a load on the computer.
  • the motion vector calculation method includes a process of inputting instruction information related to the feature point of the reference image, and the motion between the reference image and the comparison image based on the input instruction information. It is characterized by calculating a vector.
  • the motion vector is calculated based on the feature point instructed by the user, and this motion vector is taken as a non-moving one, and the other motion vector is calculated.
  • the vector can be calculated easily.
  • the motion vector calculation method further extracts a plurality of feature points of the reference image in a distributed manner, and based on the extracted feature points, the motion vectors between the reference image and the comparison image. It is characterized by calculating the spectrum.
  • distributed means that when an image feature point is generated at a certain position, another image feature point is not generated in the vicinity of the image feature point.
  • the motion vector further includes a corresponding feature point between the reference image and the comparison image, a line connecting the feature point, and the feature point or It is motion vector mesh data representing each motion of a region constituted by the lines.
  • the region of the motion beta mesh data may be divided into one or more polygons, particularly triangles.
  • the motion between lines is managed by representing the motion of the line segment and the region only by the association of the points with motion vector mesh data. As a result, it is possible to manage movement with high precision and accuracy with a small amount of data.
  • a camera shake correction apparatus is a camera shake correction apparatus that performs camera shake correction using the motion vector calculation method described above, and inputs a plurality of images to be one or more than the reference image.
  • the motion vector with the comparison image is calculated using the motion vector calculation method, and the motion vector calculation unit that outputs the calculation result is compared with the motion vector obtained by the motion vector calculation unit.
  • a composite image generating means for creating a composite image by executing a process for superimposing the reference image on the reference image, and one or two or more composite images created by the composite image generating means Combine images on Image synthesizing means, and image data output means for outputting image data synthesized by the image synthesizing means.
  • the image composition unit calculates a maximum range of camera shake, and performs an averaging process based on the number of images for the maximum range from the image frame.
  • an imaging apparatus is an imaging apparatus having the above-described camera shake correction device, and continuously captures an image of a subject, generates a plurality of images, and inputs the images to the camera shake device. And a storage unit for storing an image of the camera shake device.
  • a moving image generation apparatus is a moving image generation apparatus that generates a moving image using the motion vector calculation method described above, and receives a plurality of images and uses the motion vector calculation method as a reference.
  • a motion vector calculation unit that calculates a motion vector between an image and one or more comparison images, and a motion vector calculated by the motion vector calculation unit is divided by an arbitrary predetermined value or
  • An intermediate image is generated by applying the intermediate motion vector to a reference image and a motion vector editing unit that calculates two or more intermediate motion vectors, and an initial image, an intermediate image, and a final image are And a moving image generating means for enabling sequential display.
  • the program according to the present invention is a program for inputting a plurality of image data and calculating a motion vector between the images.
  • a predetermined resolution level L A process of calculating and storing multi-resolution data up to (L; natural number), a process of calculating an input motion vector of resolution level L of the reference image, and a reference image of resolution L obtained by each of the above processes, comparing (1) For each start point coordinate of the input motion vector, the coordinates on the reference image and the comparison image are displayed.
  • a matching step for temporarily calculating a motion vector using reliability and correlation as parameters, and smoothing for adjusting the temporarily determined motion vector according to the state of the motion vector within a predetermined range.
  • the motion vector can be calculated by performing a so-called iterative operation in which the motion vector is calculated and executed on the high-resolution image in order from the low-resolution image. It is possible to calculate high motion beta.
  • FIG. 2 is a block diagram of a motion vector calculation apparatus according to the present embodiment. This apparatus inputs a plurality of images and calculates a motion vector between the images.
  • the motion vector calculation device 1 includes an external storage device 10 such as a CD-ROM drive for reading and writing image data, a keyboard, a mouse, etc. for inputting user (operator) instruction information.
  • a display unit 12 that displays image data
  • a motion vector calculation unit 13 that calculates a motion vector based on the input image data
  • a storage unit that stores the input image data and motion vector data Has 15.
  • the motion vector calculation unit 13 receives image data input means (function) 31 that inputs image data from the input device 11, the display device 12, and the external storage device 10 and stores the image data in the storage unit 15.
  • Multi-resolution image generation means (function) 32 that filters each image data to create image data at multiple resolution levels (function) 32;
  • Mesh specification means that specifies a motion vector mesh based on instructions from the input device 11 (function) 33)
  • Image feature point group extraction means (function) 34 that extracts one or more feature points of the image 34
  • Triangulation means (function) 35 that divides the figure connecting the feature points of the image into triangles It has motion vector estimation means (function) 36 for calculating the motion vector based on the feature points, and motion vector output means (function) 37 for outputting the calculated motion vector data.
  • Each of the means 31 and 37 is executed as a CPU function.
  • the image data is data having w x h grids with width w and height h, and pixel values (eg, RGB, YCbCr) in each grid.
  • the image feature point group data is a set of feature point data of the image data, and each image feature point is composed of its coordinate value (x, y).
  • the motion vector mesh data is data of the motion beta of the image. It consists of multiple motion vector points, motion vector lines, and motion vector areas.
  • motion vector mesh data can be set for the image in Fig. 3 (a) as shown in Fig. 3 (b).
  • the motion vector point is composed of the coordinates (x, y) on the image, the starting point of the motion beta, the motion vector (dx, dy), and the determined flag fp.
  • the determined flag is a flag indicating whether or not the motion vector at the point has been determined.
  • An example of motion vector point data is shown in Fig. 4 (a). Coordinates, motion vectors, and determined flags are stored in association with each motion vector point identification information (ID).
  • the motion vector line is composed of pointers [pl, p2] to two motion vector points which are the end points and a determined flag fe.
  • the determined flag is a flag indicating whether or not the moving solid on the line has been determined.
  • the motion vector region is a pointer [el, e2, en] to the motion vector line that is the boundary (in the case of 3 ⁇ 4 boundary force), or Vertex movement It consists of pointers to vector points [pl, p2, ..., ⁇ ] (when the number of vertices is ⁇ ) or both. It also has a determined flag fr indicating whether the motion vector in the area has been determined or not defined. This area is a triangle, but any polygon can be used.
  • the image data input from the external storage device 10 is stored in the input image data file 50 of the storage unit 15 by the image data input means 31.
  • the input image is filtered by the multi-resolution generation means 32 to create a low-resolution image and stored in the multi-resolution image data file 51.
  • FIG. 5 is a flowchart showing the processing procedure of the multi-resolution image generating means 32.
  • the input image is subjected to color space conversion, edge image generation processing, etc. (S101) to create a resolution level 0 image, and each of the resolution level 0 images is subjected to a blur filter and an average value filter.
  • Etc. are applied to create low-resolution image data (S102), and the created multi-resolution image data is stored in the multi-resolution image data file 51.
  • FIG. 6 is an example of multi-resolution image data.
  • vertical line A represents an image converted to Lab color space
  • line B represents an edge image only in the vertical direction
  • line C represents an edge image only in the horizontal direction
  • line D represents an edge image having no direction dependency.
  • the horizontal direction represents the resolution level to which the force filter is applied. The higher the resolution level value, the lower the resolution.
  • the user activates the mesh designating means 33, extracts the reference image and the comparison image, which are the reference for motion vector calculation, from the input image data file 50 using the input device 11 and the display device 12, and outputs both images.
  • the corresponding part of is specified as a point, line, or area.
  • a plurality of comparison images may exist. Or you can set the grid only with points. Les.
  • the mesh designating means 33 creates point, line, and area motion vector mesh data in the format shown in FIG. 4 by inputting this designation information, and stores it in the motion vector mesh data A file 52. At this time, in the motion vector mesh data A, the determined flags ft, fe, fr of all motion vector point “line” regions are set.
  • the image feature point group extraction means 34 is activated through the input device 11 or upon completion of the operation of the mesh specifying means 33, and inputs the multi-resolution image data and the motion vector mesh data A to obtain the image feature point group data. Is output.
  • the image feature points are generated around the edges and corners of the image. When an image feature point is generated at a certain position, another image feature point is not generated in the vicinity. This is because the motion vector at a certain position in the image is expected to have almost the same value as the motion vector in the vicinity. In this way, image feature points are distributed so that the overall motion vector can be approximated with as few points as possible.
  • the motion vector points in the motion vector mesh data A 'line are not generated on or near the region. This is because there is no need for automatic calculation because the user explicitly specifies the motion vector.
  • the image feature points for the motion vector mesh data A in FIG. 3 (b) or FIG. 7 (b) are as circles in FIG. Even if feature points are detected on and around the motion vector mesh, they should not be saved as feature points.
  • the triangulation unit 35 receives the image feature point group data 53 and the motion vector mesh data A as inputs, and triangulates the region based on the feature points to obtain a motion vector message. Output data B and save it in motion vector mesh data B file 54.
  • Triangulation is performed by adding the image feature point group while retaining each data of the motion vector point 'line / region possessed by the motion vector mesh data A.
  • An example of such a triangulation is a constrained Delaunay triangulation, for example.
  • the triangulation unit 35 sets the determined flag if the motion vector mesh point originally exists in the motion vector mesh data A, while the image feature In the case of motion vectors automatically added by the point cloud extraction means 34, do not set fp. Similarly, regarding the determined flag fe and fr of the motion vector line 'region, set it if it is included in the motion vector mesh data A, and set it if it is automatically generated by the triangulation means 35. Nare ,.
  • the motion vector mesh data A in FIG. 8 and the motion vector mesh data B obtained as a result of triangulation for the image feature point group are as shown in FIG.
  • the square and thick line parts of the mesh are the parts corresponding to the motion vector mesh data A and are specified by the user, so the determined flag is set, and the other round points and thin line parts are determined flags. Is not set.
  • the motion vector estimation means 36 receives the multi-resolution image data 51 and the motion vector mesh data B as inputs, and automatically calculates the motion vectors for the motion vector points for which the determined flag fp is not set.
  • the motion vector mesh data C with the determined flag of the point * line * area set is output and saved in the motion vector mesh data C file 55.
  • the motion vector of the square point 'bold line' is already given by the user and the determined flag is set, so there is no need to calculate it. Only the part is subject to automatic calculation. In this automatic calculation, considering the consistency with the motion vector of the square / thick line part, the calculation is executed by the following processing method without changing the motion vector of the square point / thick line part.
  • the motion vector saved in the motion vector mesh data B file 54 is set as an initial motion vector, and resolution correction processing is performed on this (S201).
  • resolution correction processing motion vectors are thinned out according to the resolution. For example, in the case of a grid-type motion vector with a resolution of L, motion information is divided into elements ((x, y), v (x, y) have).
  • a motion vector (including mesh data) that is a motion vector of a point not on the lattice and for which a determined flag is set is Are associated as motion vectors on neighboring grids according to a predetermined movement rule. At this time, if there are motion vectors moving from multiple points for the same grid, the average value of these motion vectors is associated as the motion vector of the grid.
  • a motion vector for which the determined flag is not set is processed as (0, 0) in the case of, for example, two dimensions.
  • motion vector superimposition processing is executed (S202).
  • all the (0, 0) motion vector data is superimposed on the motion vector data of resolution L (initial resolution) created in step S201.
  • resolution L initial The resolution (motion) motion vector data becomes the output of this step as it is.
  • a matching process is executed for the motion vector of resolution L obtained by correction in this way (S203).
  • FIG. 11 is an explanatory diagram of the matching processing procedure when there are two images.
  • the comparison image, and the input motion vector using the reference image of the resolution L obtained by each of the above processes, the comparison image, and the input motion vector, first, for each start point coordinate of the input motion vector, the coordinates on the reference image and the comparison image An energy function having coordinates as arguments is defined, and a motion vector is temporarily calculated based on the energy function within a predetermined range of the input motion vector (S301). Further, for each feature point of the reference image, reliability is provisionally calculated using information such as edges and corners (S302). The reliability may be performed using the energy function described above in addition to a function based on an image such as the size of an edge. How to set the reliability depends on what conditions are important in the implementation. For example, in an application where matching is focused on the center of the screen, smoothing processing may be performed using the Gaussian function with the center of the screen as the reliability.
  • the correlation is calculated based on the color difference between the feature points of the reference image and the difference between the temporarily calculated motion vectors (S303).
  • the degree of correlation is, for example, multiplied by the square of the pixel color difference and the square of the magnitude of the motion vector difference, and is set to 1 to 10 using a Gaussian function or a similar function.
  • the motion vector, reliability, and correlation degree data are calculated for each of the reference image and the plurality of comparison images as shown in FIG. Also good. In this case, there is a case where the movement of each comparison image with one reference image is calculated, and that each comparison image becomes a reference image between the next comparison image. [0079] Further, so-called block matching may be used as an example of the energy function.
  • smoothing processing is executed after the matching processing in step S203, and a motion vector of resolution L is fully calculated (S204).
  • FIG. 13 shows the procedure of the smoothing process.
  • the motion map and reliability temporarily calculated by the matching process are averaged (smoothed) by the weighted average process using the nearby motion vector, reliability, and correlation. Calculate the L motion vector.
  • the motion vector is a weighted average based on the product of the reliability and the correlation
  • the reliability is a weighted average based on the correlation
  • the affine parameters may be obtained by the least square method instead of the above weighted average processing.
  • motion vector data with resolution L 11 is generated by linear interpolation using the motion vector with resolution L obtained as a result of the smoothing process (S207).
  • v (32,36) 1/2 v (32,32) + 1/2 v (32,40)
  • v (36,36) 1/4 v (32,32) + 1/4 v (32,40) + 1/4 v (40,32) + 1/4 v (40,40) And calculate.
  • step S202 the interpolated motion vector data is superimposed on the input motion vector data created in step S201 to obtain an input motion vector for the matching process.
  • the motion vector output means 37 outputs the motion vector data stored in the motion vector mesh data C file 55 to the external device 10 or other program module.
  • a temporary motion vector is obtained using only color information, and a different concept of a measure based on the difference between the reliability based on the edge information and corner information and the correlation between the motion vectors. Therefore, it is possible to calculate a motion vector with high accuracy without imposing a load on the computer.
  • calculations can be performed according to the computer's ability and the required accuracy of motion vectors, so image stabilization and video generation that are highly versatile. It can be used for various purposes.
  • the motion vector computing device 1 described above can also be implemented by the configuration shown in FIG. That is, the image data input by the image data input means 31 is used to create multi-resolution image data by the multi-resolution image generation means 32, and using this, the motion vector estimation means 36 uses the above processing to produce a grid type motion vector. Is calculated.
  • the functions of the mesh designating means 33, the image feature point group extracting means 34, and the triangulation means 35 in FIG. 2 can be activated depending on the load and application of the computer.
  • the mesh designation means 33 can be omitted.
  • the image feature point group extraction means 34 extracts feature points from the edge image of resolution level 0 as multi-resolution image data to create image feature store group data, and based on this, the triangulation means 35 Create a motion solid mesh data B. Then, the motion vector estimation means 36 calculates a motion vector using the motion vector mesh data B.
  • the image feature point group extraction means 34 may execute feature point extraction processing using image data having a low resolution in the multi-resolution image data.
  • image data having a low resolution When an extremely large number of feature points are extracted from the input image (resolution level 0), it is possible to extract only points with a large feature amount by extracting feature points at a low resolution. For this reason, it is possible to reduce the load on the computer compared to selecting and comparing feature quantities of many feature points of image data with high resolution.
  • This motion vector arithmetic unit 1 inputs a plurality of images, outputs a motion vector with respect to a reference image, manages image data by motion vectors, and compresses a series of motion images.
  • the apparatus of the following embodiment can be configured by using the motion vector calculation unit 13 and the main part of the motion vector data storage unit 15 of the apparatus 1.
  • the motion vector computing device 1 it is also possible to provide a means for setting a search range by using the function of the mesh designating means 33. That is, the mesh designating means 33 designates corresponding points between the reference image and the comparison image, obtains a motion vector between them, and sets a determined flag. Only the motion vector data is set without setting this determined flag. Calculate and store. Then, the motion vector estimation means 36 searches for a region in a predetermined range of the stored motion beta, and calculates a motion vector for the point, line, or region between the reference image and the comparison image. In this way, it is possible to accurately extract correspondences in a widely separated range, and even when the user sets a search range, it is necessary to specify strict correspondence points only by specifying only approximate points. Does not improve operability
  • FIG. 16 is a block diagram of a camera shake correction apparatus according to the present embodiment.
  • the camera shake correction device 6 includes a motion vector calculation unit 13, a motion vector data storage unit 15, and an image composition that creates a composite image data by superimposing images using a plurality of images and their motion vectors.
  • a means (function) 63, an image editing means (function) 64 for editing the composite image data, and an image data output means (function) 65 for outputting the created image data are provided.
  • the image synthesis means 63 of the camera shake correction apparatus 6 inputs the input image data and the motion vector mesh data C stored in the motion vector data storage unit 15. Then, a conversion process is executed to match the comparison image with the reference image using the motion vector data.
  • the motion vector in the case of camera shake has the same direction and size at each point, so the functions such as mesh designation means 33 and triangulation means 35 are deleted to simplify the function. You may make it let it.
  • a reference image (standard image) is designated for two or more images, and an image is generated using a mesh-structured motion vector group from other images to the reference image. Since it is transformed and combined, the camera's CCD noise can be removed to create a clear image.
  • FIG. 17 is a block diagram when the camera shake correction device 6 is incorporated in an imaging device such as a camera.
  • an imaging device such as a camera.
  • the motion vectorization calculation shown in Fig. 14 is highly practical as a simplified function.
  • the image stabilization function can be realized by a microprocessor or an IC having an arithmetic function, and high-quality image data subjected to the image stabilization process can be obtained by being incorporated in the imaging apparatus. .
  • FIG. 18 is a block diagram of the moving image generating apparatus according to the present embodiment.
  • the moving image generating device 8 estimates a temporal change between the motion vector calculation unit 13, the motion vector data storage unit 15, and the motion vectors of the reference image (initial image) and the comparison image (final image).
  • Intermediate data generation means (function) 83 for calculating intermediate motion vectors
  • moving picture data generation means (function) 84 for creating video data from the intermediate motion vectors and input images.
  • Movie data output means (function) 85 for output is provided.
  • the intermediate data generation means 83 calculates the speed and acceleration of the change of the motion vector as a feature point or mesh data in the image, obtains a motion vector for each predetermined time segment, Save to intermediate data file 87.
  • the moving image data generating means 84 arranges the input image data and the intermediate motion vector in a time series and stores them in the moving image data file 88.
  • Fig. 19 shows an example of the data structure of a video data file. Each input image and the motion vector between them can be extracted in time series.
  • the motion vector calculation method according to the present invention is applied to each of the above-described devices, and when the images are arranged in order and the objects in the images are moving according to a certain rule, the image- It can also be applied to matching processing for based VR (virtual reality).
  • VR virtual reality
  • the motion vector calculation method is an image stabilization apparatus for processing a camera shake image on a computer, an imaging apparatus such as a digital camera or a video camera equipped with a camera shake correction function, and accuracy with a small amount of data using motion vector data. It can be applied to a moving image generating apparatus that generates moving image data well.
  • FIG. 1 is an explanatory diagram of motion vectors, reliability, and correlation according to the present invention.
  • FIG. 2 is a block diagram of a motion vector computing device according to the first embodiment of the present invention.
  • FIG. 3 Explanatory diagram of points, lines, and regions of motion vector mesh data
  • Fig. 3 (a) is a sample image
  • Fig. 3 (b) is an explanatory diagram of the correspondence between points, lines, and regions on the image It is.
  • FIG. 4 Data structure diagram of motion vector mesh data.
  • Fig. 4 (a) shows motion vector points.
  • FIG. 4 (b) shows a motion vector line
  • FIG. 4 (c) shows a data configuration example of a motion vector area.
  • FIG. 5 is a flowchart showing a processing procedure of the multi-resolution generation means of FIG.
  • FIG. 6 is an example of multi-resolution image data.
  • FIG. 7 An illustration of how to specify motion vector mesh data A.
  • Fig. 7 (a) shows the reference image and the comparison image
  • Fig. 7 (b) shows the correspondence on the data between the two images.
  • FIG. 8 is an explanatory diagram of image feature points.
  • FIG. 9 is an explanatory diagram of motion vector mesh data B that is an output of the triangulation means of FIG. 2.
  • FIG. 10 is a flowchart showing a processing procedure of the motion vector estimation means of FIG.
  • FIG. 11 is a flowchart showing the matching processing procedure of FIG. (When there are two images)
  • FIG. 12 is a flowchart showing the matching processing procedure of FIG. (If there are multiple images )
  • FIG. 13 is a flowchart showing the smoothing processing procedure of FIG.
  • FIG. 14 is a block diagram of another embodiment 1 according to the motion vector calculation apparatus of the present invention c
  • FIG. 16 is a block diagram of a camera shake correction device according to a second embodiment of the present invention.
  • FIG. 17 is a block diagram of an imaging apparatus according to a third embodiment of the present invention.
  • FIG. 18 is a block diagram of a moving image generating apparatus according to a fourth embodiment of the present invention.
  • FIG. 19 is a data configuration diagram of the moving image data file of FIG.
  • Motion vector mesh data A file Image feature point data file Motion vector mesh data B file Motion vector mesh data C file Shake correction data calculation unit Shake correction data storage unit Image composition means

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

【課題】 データ量が少なく、計算機に負荷をかけないよう比較的単純な処理によって精度の高い動きベクトルの算定が可能なこと。 【解決手段】 入力された複数の画像データについて、所定の解像度レベルLまでの多重解像度データを演算する処理と、解像度Lの基準画像、比較画像、入力動きベクトルを用いて、入力動きベクトルの所定範囲内でエネルギー関数を最小にする動きベクトルを仮算出するマッチングステップと周囲のデータをもとに平均化して動きベクトルを本算出するスムージングステップとを実行する解像度別動きベクトル推定処理とを含み、本算出した解像度Lの動きベクトルをさらに解像度の高い解像度L−1の入力動きベクトルとして用いて解像度別動きベクトル推定処理を順次解像度の高い画像データに対して繰り返すことによって、動きベクトルを演算する。

Description

明 細 書
動きべ外ル演算方法とこの方法を用いた手ぶれ補正装置、撮像装置、 並びに動画生成装置
技術分野
[0001] 本発明は、複数の画像間の動きベクトルを演算する技術に係り、特に、この技術を 利用した手ぶれ補正装置、撮像装置、動画生成装置に関する。
背景技術
[0002] 従来、動画フレーム間の動きベクトルを計算して、この動きベクトルと基準画像によ つて、動画データを作成することによって、膨大な動画データのデータ量の削減が行 われている。
[0003] 一方、カメラ等の撮像装置で撮影した複数の静止画間の動きべ外ルを計算して、 手ぶれの補正をする技術が開示されている。 (たとえば、特許文献 1を参照)。
[0004] より正確に動画を再現したり、撮影時の手ぶれを補正するためには、動きベクトルの 信頼度を上げる必要がある。この動きベクトルの信頼度を上げるための技術として、 特許文献 4ないし 6では、動きベクトル間の相関の高いものを信頼度が高いとして処 理している。
[0005] また、動きベクトルの正確性を維持しつつ、よりデータ量を削減するための技術とし て、画像の特徴点を把握し、その特徴点についての動きベクトルを計算したり、各特 徴点を結んで多角形を構成して、比較すべき画像間の特徴点の移動によりその多角 形がどのように変形したかを認識して他の点の移動位置を推定するというものがある 。 (たとえば、特許文献 2, 3を参照)。
特許文献 1:特開 2003 - 78807号公報
特許文献 2:特開平 11 - 506576号公報
特許文献 3:特開平 10 - 341445号公報
特許文献 4:特開平 9一 73540号公報
特許文献 5:特開平 6— 311502号公報
特許文献 6 :特開平 6 - 153146号公報 発明の開示
発明が解決しょうとする課題
[0006] ところで、動きベクトルを生成する機能を専用のハードウェアでなぐ演算機能を有 する計算機で実現しょうとした場合、いかに計算機の負荷を軽減しつつ、精度の高い 動きべクトノレを算定するかということが問題となる。
[0007] 本発明は、上述のかかる事情に鑑み、データ量が少なぐ計算機に負荷をかけな レ、よう比較的単純な処理によって精度の高い動きベクトルの算定が可能であり、その 技術を用いて写真撮影時の手ぶれを補正して、品質の高い写真を作成することので きる動きベクトル演算方法とこの方法を用いた手ぶれ補正装置、撮像装置、並びに 動画生成装置を提供することを目的とする。
課題を解決するための手段
[0008] 上記の目的を達成するため、本発明に係わる動きベクトル演算方法は、複数の画 像データを入力して、画像間の動きベクトルを演算する方法であって、入力された複 数の画像データについて、予め定められた所定の解像度レベル L (L ;自然数)まで の多重解像度データを夫々演算して保存する処理と、基準画像の解像度レベルしの 入力動きベクトルを演算する処理と、前記各処理によって求めた解像度 Lの基準画 像、比較画像、入力動きベクトルを用いて次の各ステップを実行する解像度別動きべ タトル推定処理と、を含み、
(1)入力動きベクトルの各始点座標について、基準画像上の座標と、比較画像上 の座標とを引数とするエネルギー関数を定義し、入力動きベクトルの予め定められた 所定範囲内で、前記エネルギー関数をもとに動きベクトルを仮算出するステップ、
(2)基準画像の各特徴点について、画像特徴量をもとに動きベクトルの信頼度を仮 算出するステップ、
(3)基準画像の特徴点間の画像特徴量の差と前記仮算出した動きべ外ルの差の うち少なくとも一つを用いて相関度を算出するステップ、
(4)前記仮算出した、動きベクトルと信頼度とを予め定められた所定範囲にある動 きベクトル、信頼度、相関度を用いて円滑化することによって、解像度 Lの動きべタト ルを本算出するステップ、 前記本算出した解像度 Lの動きベクトルをさらに解像度の高い解像度 L一 1の入力 動きべクトノレとして用い、前記解像度別動きベクトル推定処理を順次解像度の高レ、 画像データに対して繰り返すことによって、基準画像と比較画像間の動きベクトルを 演算することを特徴とする。
[0009] 本発明の主な特徴を要約すると、動きベクトルの算出において直ちに最終目的の 動きべクトノレを計算するのではなぐ画像間の仮の動きベクトルを定めると同時に信 頼度と相関度という 2つのパラメータを求めるマッチング処理(上記のステップ(1)一( 3) )と、領域すなわち周囲の動きべ外ル情報によって、円滑化 (スム一ジング)すると レ、うスムージング処理(上記のステップ (4) )を実行し、さらに、これらの処理を解像度 の違いによる異なる画像空間に対して、解像度の低い画像から解像度の高い画像に 対して順次繰り返すことによって、精度の高いものにしていくというものである。
[0010] ここで、信頼度は、その動きベクトルがどれくらい信頼できる力、、あるいは所定の条 件に合っているかの度合いを意味し、画像特徴量として、たとえば、画像の色空間に よって検出されたエッジ (境界)の大きさあるいはコーナー角度など、画像に基づく値 あるいは関数によって定められる。これらの情報は画像の特徴を表すものであるため 、その特徴点(あるいは、線、領域)上の動きベクトルの信頼度が高くなるようにするの である。
[0011] なお、画像特徴量としては、この他にマッチング処理段階でのエネルギーを用いた 関数 (例えば逆数等)、ォクルージョンと推定される部分を 0、それ以外を 1とするよう な関数、あるいは、ユーザが指定した関数などがある。ここで、関数とは、演算式に限 らずテーブルを参照して対応する数値を導出するようなものも含む趣旨である。
[0012] 信頼度は、上記のいずれかの画像特徴量あるいは任意の画像特徴量の組合せ( 掛け合わせや足し合せなど)によって表すことができる。
[0013] また、相関度とは、二つの点が同じ向きに動いていると推定される度合いであり、た とえば、周囲の動きベクトルとの差分によって定められる。ただし、相関度は、これに 限らず、画像特徴量の差として、 2点の基準画像上の色の差、ガボールフィルタ等を 用いた画像の特徴の差に基づく関数、あるいは、ユーザが手動で指定した切れ目( 輪郭)を用いた関数などによって表すことができ、さらに、仮の動きベクトルの値の差 に基づく関数も含め、これらのいずれか一つ、または、複数の関数の掛け合わせ、も しくは、足し合わせによって表すこともできる。
信頼度算定の際に用いる画像特徴量と相関度算定の際に用いる画像特徴量は異 なるものであってもよレ、。
[0014] さらに、具体的に説明すると、入力画像の各要素は全ての座標(x, y)について RG Bの値を持つものであり、
各要素: I(x, y) = (R(x, y), G(x, y), B(x, y))
で表される。
[0015] 解像度レベル Lの画像の各要素は全ての座標について複数の色情報を持つのも のであり、たとえば、(La*b*色空間、 YUV色空間、エッジ画像、コーナー強調画像) などの情報を有する。解像度レベル 0が元の画像であり、解像度レベル Lが大きくな ると、元画像よりぼけた画像になる。解像度レベル Lの各要素は、 I (x, y)で表される。
[0016] また、動きベクトルの各要素は始点位置 (X, y)と始点位置からの動きのベクトル v(x, y)力 なる。始点位置情報を持つのは、全ての座標(X, y)に対する動きベクトルを持 つているわけではないためである。
[0017] なお、動きベクトルには、格子状に並んだ始点座標に対する動きべクトノレを持つ「グ リツド型動きベクトル」と、特徴的な点のみの動きベクトルを持つ「点群型動きベクトル」 力 sある。
[0018] 解像度 Lに応じて動きベクトル情報を間引くことによって、解像度レベル Lの動きべ タトルが求められる。たとえば、「グリッド型動きベクトル」の場合は、動き情報を 2'Lピ クセルごとに各要素 :((x, y), v(x, y))を持つ。ここで、「'」はべき乗を表す。
[0019] 画像枚数が M枚(Mは 2以上の整数)の動きベクトル推定処理としては、動きべタト ルの各始点座標(x, y)について、基準上の座標(sx, sy) = (x, y)と比較画像 M— 1 上の座標 (tx, ty) = ((x, y) + v'(x, y)) ¾ラ I数とするエネノレギ■ ~関数 E(sx, sy, tx, ty) を定義し、入力動きべクトノレ v(x, y)の周囲 R内で上記エネルギー Eを最小にする動 きべクトノレ v'(x, y)を検索する。エネルギー関数 Eの例としては、始点と終点の色の 差の 2乗、あるレ、は、ブロック内の色の差の 2乗の合計(ブロックマッチ)がある
[0020] また、各動きベクトル v(x, y)の信頼度は、 r(x, y)で表され、たとえば、 0一 1の間の 値を持つようにする。
[0021] 動きベクトル v(xl, yl), v(x2, y2)間の相関度は、 a(xl, yl, x2, y2)で表され、 たとえ ば、 0一 1の間の値を持つようにする。
[0022] ここで、グリッド型動きベクトルの場合を例にとって、相関度と信頼度の概念につい て図 1を用いて説明する。
[0023] 図 1において、基準画像の各グリッド(格子)に対応して始点位置 (x、 y)と動きべタト ノレ v (x, y)、および、信頼度 r(x, y)のデータを持たせる。また、任意の二点のグリッド 間(あるいは二点で決る線分)に対応付けて相関度 a(xl, yl, x2, y2)のデータを持た せる。
[0024] そして、基準画像で特徴量の多いグリッド(たとえば、エッジ、コーナー)の動きべタト ルの信頼度は高くなるように設定する。また、基準画像で、色の差が大きぐかつ、仮 の動きベクトル (仮算出した動きベクトル)の差が大きい 2つの動きベクトルの相関度 は低くなるように設定する。
[0025] このように、信頼度、相関度を定めると図 1の点線 Aで示す動きの不連続な場所に 対しては、画像のコーナーあるいはエッジ部分の動きベクトルの信頼度は上がり、ま た、不連続な場所を跨る動きベクトル間の相関度は低くなる。図 1において、丸印は グリッドを意味し、丸枠の太さは信頼度の高さを表している。図中、 B, Eは、グリッドに 関連付けられた信頼度であり、 Eはエッジであるため信頼度高、 Bはコーナーでもエツ ジでもないため信頼度低であることを示している。また、図中、 C, Dは、グリッド間に 関連付けられた相関度であり、 Cは、動きベクトルの差が小さいため相関度高、 Dは 動きべタトノレの差が大きレ、ため相関度低であることを示してレ、る。
[0026] 本発明では、上記のように定めた信頼度と相関度をパラメータに持つ動きベクトル を仮算出するマッチング工程と、仮に定めた動きベクトルを所定範囲にある動きべタト ルをカ卩味して、加重平均化ないし最小二乗法によるァフィンパラメータの演算によつ て調整するスムージング工程により動きベクトルを本算出し、これを解像度の低い画 像から順に高解像度の画像について実行するという、いわゆる繰り返し演算によって 実行することができるので、計算機に負荷をかけず、精度の高い動きベクトルの算出 が可能となる。 [0027] また、本発明に係わる動きベクトル演算方法は、基準画像の特徴点に関する指示 情報を入力する処理を含み、この入力された指示情報をもとに基準画像と比較画像 の画像間の動きベクトルを演算することを特徴とする。
[0028] 本発明では、ユーザの指示による特徴点をもとに、まずその動きベクトルを算出し、 この動きべクトノレを不動のものとして、他の動きべクトノレを演算するので、精度の高い 動きべクトノレを簡便に算出することができる。
[0029] 本発明に係わる動きベクトル演算方法は、さらに、基準画像の複数の特徴点を分 散的に抽出し、抽出された特徴点をもとに基準画像と比較画像の画像間の動きべク トルを演算することを特徴とする。
[0030] ここで、「分散的」とは、ある位置に画像特徴点が生成されると、その近傍には別の 画像特徴点は生成されなレ、ようにするとレ、う趣旨である。
[0031] 本発明では、特徴点を効率的に求めて動きベクトルと計算するので、演算精度を維 持しつつ計算機の負荷を軽減することができる。
[0032] また、本発明に係わる動きベクトル演算方法では、さらに、動きベクトルは、基準画 像と比較画像の画像間の対応する特徴点、当該特徴点を結ぶ線、および、前記特 徴点または前記線によって構成される領域の夫々の動きを表す動きベクトルメッシュ データであることを特徴とする。好ましくは、画像特徴点に基づいて、この動きべタト ノレメッシュデータの領域を一または二以上の多角形、特に三角形に分割するとよい。
[0033] 本発明では、点同士の対応付けのみでなぐ線分および領域の動きを動きべクトノレ メッシュデータで表して、画像間の動きを管理する。これによつて、少ないデータ量で 緻密かつ精度の高レ、動きの管理が可能となる。
[0034] 本発明に係わる手ぶれ補正装置は、上記の動きベクトル演算方法を用いて手ぶれ 補正を実行する手ぶれ補正装置であって、複数の画像を入力して、基準画像と一ま たは二以上の比較画像との動きベクトルを前記動きベクトル演算方法を用いて演算 し、当該演算結果を出力する動きべ外ル演算部と、前記動きべ外ル演算部によつ て求めた動きベクトルと比較画像を用いて、基準画像へ重ね合わせるための処理を 実行して合成用画像を作成する合成用画像生成手段と、前記合成用画像生成手段 で作成した一または二以上の合成用画像を基準画像に重ね合わせて画像を合成す る画像合成手段と、前記画像合成手段によって合成した画像データを出力する画像 データ出力手段と、を備えたことを特徴とする。
[0035] 好ましくは、この手ぶれ補正装置は、前記画像合成手段は、手ぶれの最大範囲を 演算し、画像枠から当該最大範囲については、画像数による平均化処理を実行する とよい。
[0036] 画像の枠部分は、手ぶれにより撮影範囲外になり合成データが不完全になるので 、単純に重ね合わせると、その枠部分は喑くなる。このため、重ね合わせの画像数を もとに輝度調整することによって、画像枠の喑さの発生を回避することができる。
[0037] また、本発明に係わる撮像装置は、上記の手ぶれ補正装置を有する撮像装置であ つて、被写体を連続して撮影して、複数の画像を生成し、前記手ぶれ装置へ入力す る撮像部と、前記手ぶれ装置の画像を保存する記憶部とを備えたことを特徴とする。
[0038] 本発明に係わる動画生成装置は、上記の動きベクトル演算方法を用いて動画を生 成する動画生成装置であって、複数の画像を入力し、前記動きベクトル演算方法を 用いて、基準画像と一または二以上の比較画像との間の動きベクトルを算定する動 きベクトル演算部と、前記動きベクトル演算部で算定した動きベクトルを予め定められ た任意の値で分割することによって一または二以上の中間の動きベクトルを演算する 動きベクトル編集手段と、基準画像に対して、前記中間の動きベクトルを適用すること によって中間画像を生成し、初期画像、中間画像、および、最終画像を時系列的に 表示可能にする動画生成手段と、を備えたことを特徴とする。
[0039] さらに、本発明に係わるプログラムは、複数の画像データを入力して、画像間の動 きべクトノレを演算するプログラムであって、入力された複数の画像データについて、 所定の解像度レベル L (L;自然数)までの多重解像度データを夫々演算して保存す る処理と、基準画像の解像度レベル Lの入力動きベクトルを演算する処理と、前記各 処理によって求めた解像度 Lの基準画像、比較画像、入力動きベクトルを用いて次 のステップを実行する解像度別動きベクトル推定処理と、を含み、(1)入力動きべタト ルの各始点座標について、基準画像上の座標と、比較画像上の座標とを引数とする エネルギー関数を定義し、入力動きベクトルの所定範囲内で、前記エネルギー関数 をもとに動きベクトルを仮算出するステップ、(2)基準画像の各特徴点について、画 像特徴量をもとに信頼度を仮算出するステップ、 (3)基準画像の特徴点間の画像特 徴量の差と前記仮算出した動きベクトルの差のうち少なくとも一つを用いて相関度を 算出するステップ、 (4)前記仮算出した、動きベクトルと信頼度とを所定範囲にある動 きベクトル、信頼度、相関度を用いて円滑化することによって、解像度 Lの動きべタト ルを本算出するステップ、前記本算出した解像度 Lの動きベクトルをさらに解像度の 高い解像度 L一 1の入力動きベクトルとして用レ、、前記解像度別動きベクトル推定処 理を順次解像度の高い画像データに対して繰り返すことによって、基準画像と比較 画像間の動きべ外ルを演算することを特徴とする。
発明の効果
[0040] 本発明によれば、信頼度と相関度をパラメータとする動きベクトルを仮算出するマツ チング工程と、仮に定めた動きベクトルを所定範囲にある動きベクトルの状態によつ て調整するスムージング工程によって、動きベクトルを本算出し、これを解像度の低 い画像から順に高解像度の画像について実行するという、いわゆる繰り返し演算によ つて実行することができるので、計算機に負荷をかけず、精度の高い動きべタトノレの 算出が可能となる。
[0041] また、画像のエッジやコーナーに着目して、特徴点を把握し、その特徴点ついて、 動きべクトノレを計算することによって、信頼度の高い点、線、もしくは領域についての み動きベクトルを計算するので、データ量の削減を図ることができる。
発明を実施するための最良の形態
[0042] 以下、本発明の実施形態を説明する。
[0043] く第 1の実施形態〉 (動きベクトル演算装置、動きベクトル演算方法)
図 2は、本実施形態に係わる動きベクトル演算装置のブロック図である。この装置は 、複数の画像を入力して、その画像間の動きベクトルを演算するものである。
[0044] ここで、動きベクトル演算装置 1は、画像データの読み出し、書き込みを行う CD— R OMドライブなどの外部記憶装置 10、ユーザ (操作者)の指示情報を入力するための キーボード、マウス等から構成される入力装置 11、画像データを表示させる表示装 置 12、入力した画像データをもとに動きベクトルを算出する動きベクトル演算部 13、 入力した画像データや動きベクトルデータを保存する記憶部 15を備えている。 [0045] また、動きベクトル演算部 13は、入力装置 11、表示装置 12、外部記憶装置 10から 画像データを入力して記憶部 15に保存する画像データ入力手段 (機能) 31、入力さ れた各画像データにフィルタ処理を施して複数の解像度レベルの画像データを作成 する多重解像度画像生成手段 (機能) 32、入力装置 11からの指示に基づいて動き ベクトルのメッシュを指定するメッシュ指定手段 (機能) 33、画像の一または二以上の 特徴点を抽出する画像特徴点群抽出手段 (機能) 34、画像の特徴点を結んだ図形 を三角形に分割する三角形分割手段 (機能) 35、三角形分割した特徴点をもとに動 きべクトノレを算出する動きべ外ル推定手段 (機能) 36、および、算出された動きべク トルデータを出力する動きベクトル出力手段 (機能) 37を有している。なお、各手段 3 1力、ら 37は、 CPUの機能として処理実行されるものである。
[0046] ここで、記憶部 15で保存される各データの説明をする。
画像データは、幅 w,高さ hとしたとき w X h個の格子を持ち、各格子に画素値 (例え ば RGB, YCbCr)の値を持つデータである。
[0047] また、画像特徴点群データは、画像データの特徴点データの集合であり、各画像 特徴点はその座標値 (x,y)から構成される。
[0048] 動きベクトルメッシュデータは、画像の動きべタトノレのデータである。複数の動きべク トル点、動きベクトル線、動きベクトル領域から構成されている。例えば図 3 (a)の画像 に対して図 3 (b)のように動きベクトルメッシュデータが設定できる。
[0049] 動きベクトル点は動きべタトノレの起点となる画像上の座標 (x,y)と、その動きべクトノレ (dx,dy)、決定済フラグ fpから構成される。決定済フラグはその点の動きベクトルが決 定済かそうでないかを表すフラグである。動きベクトル点のデータ例を図 4 (a)に示す 。動きベクトル点識別情報 (ID)ごとに、座標、動きベクトル、決定済フラグが関連付け られて保存されている。
[0050] 動きべクトノレ線は、図 4 (b)に例示するように、その端点となる 2つの動きベクトル点 へのポインタ [pl, p2]、決定済フラグ feから構成される。決定済フラグはその線上の動 きべタトノレが決定済か未定力、を表すフラグである。
[0051] 動きベクトル領域は、図 4 (c)に例示するように、その境界となる動きベクトル線への ポインタ [el, e2, en] (境界線力 ¾個の場合)、あるいはその領域の頂点となる動き ベクトル点へのポインタ [pl, p2, ..., ρη] (頂点数が η個の場合)、あるいはその両方か ら構成される。また、その領域内の動きベクトルが決定済か未定義かを表す決定済フ ラグ frも持つ。なおこの領域は三角形になるが、任意の多角形にしても実施可能であ る。
[0052] 次に上記の装置 1を動作させることによって動きベクトルを生成する方法(動きべタト ル演算方法)の説明を行う。
[0053] (画像データ入力処理)
まず、外部記憶装置 10から入力された画像データは、画像データ入力手段 31によ つて、記憶部 15の入力画像データファイル 50に保存される。そして、この入力画像 は、多重解像度生成手段 32によって、フィルタ処理されて低解像度の画像が作成さ れ多重解像度画像データファイル 51に保存される。
[0054] (多重解像度画像生成処理)
図 5は、多重解像度画像生成手段 32の処理手順を示すフローチャートである。入 力画像に対して、色空間変換、エッジ画像の生成処理等を行い(S101)、解像度レ ベル 0の画像を作成し、さらに、各解像度レベル 0の画像に対してぼかしフィルタや 平均値フィルタなどを適用して解像度の低い画像データを作成し (S102)、これら作 成した多重解像度画像データを多重解像度画像データファイル 51に保存する。
[0055] 図 6は、多重解像度画像データの例である。ここで、縦方向 A行は Lab色空間に変 換された画像、 B行は縦方向のみエッジ画像、 C行は横方向のみエッジ画像、 D行は 方向依存性のないエッジ画像を表している。また、横方向は、ぼ力 フィルタを適用し た解像度レベルを表しており解像度レベル値が高くなるほど解像度が低くなつている 。入力した画像ごとにこれらの多重解像度画像データを作成して記憶部 15の多重解 像度画像データファイル 51に保存する。
[0056] (メッシュ指定処理)
一方、ユーザは、メッシュ指定手段 33を起動し、入力装置 11と表示装置 12を用い て、入力画像データファイル 50から動きベクトル算出の基準となる基準画像と比較画 像を抽出して、両画像の対応箇所を点、線、または、領域として指定する。なお、比 較画像は、複数存在しても構わない。あるいは、点のみでグリッド設定してもかまわな レ、。
[0057] メッシュ指定手段 33は、この指定情報の入力によって、図 4の形式による点、線、領 域の動きベクトルメッシュデータを作成して、動きベクトルメッシュデータ Aファイル 52 に保存する。このとき、動きベクトルメッシュデータ Aにおいて全ての動きべクトノレ点' 線'領域の決定済フラグ ft, fe, frをセットする。
[0058] なお、ユーザの操作方法としては、例えば、図 7 (a)の左側の画像(基準画像)から 右側の画像 (比較画像)への動きべ外ルを手動で指定する場合、図 7 (b)のように基 準画像と比較画像に同じメッシュ構造を設定し、メッシュの点の位置を各画像の対応 する位置へとずらすことで動きベクトルメッシュデータ Aを指定する。図 7 (b)における 矢印は対応する動きべクトノレ点の例である。
[0059] (画像特徴点群抽出処理)
次に画像特徴点群抽出手段 34が、入力装置 11を通して、あるいはメッシュ指定手 段 33の動作完了によって起動され、多重解像度画像データと動きベクトルメッシュデ ータ Aを入力し、画像特徴点群データを出力する。
[0060] 画像特徴点は画像のエッジやコーナーを中心に生成される。画像特徴点がある位 置に生成されると、その近傍に別の画像特徴点は生成されないようにする。これは画 像中のある位置の動きベクトルは、その近傍の動きベクトルとほぼ同じ値を持つことが 予想されるからである。こうしてなるべく少ない点数で全体の動きベクトルが近似でき るように画像特徴点を分布させる。
[0061] ここで動きべクトノレメッシュデータ Aにおける動きベクトル点 '線.領域上およびその 近傍には画像特徴点は生成しなレ、。それらはユーザが明示的に動きベクトルを指定 しているため、自動計算する必要がないからである。
[0062] 例えば図 3 (b)または図 7 (b)の動きベクトルメッシュデータ Aに対する画像特徴点 群は図 8の丸点のようになる。動きべクトノレメッシュ上およびその周辺に特徴点を検出 しても、その点は、特徴点として保存しないようにする。
[0063] (三角形分割処理)
次に、三角形分割手段 35は、画像特徴点群データ 53および動きベクトルメッシュ データ Aを入力とし、この特徴点による領域を三角形分割することで動きベクトルメッ シュデータ Bを出力して、動きべクトノレメッシュデータ Bファイル 54に保存する。
[0064] 三角形分割は動きベクトルメッシュデータ Aが持つ動きベクトル点'線 ·領域の各デ ータが保持された上で、画像特徴点群を追加することで行われる。このような三角形 分割の一例としては、たとえば、制約付きドローネ三角形分割がある。
[0065] 三角形分割手段 35は、出力する動きベクトルメッシュデータ Bについては、その動 きべクトノレ点が元々動きベクトルメッシュデータ Aにも存在する場合には決定済フラグ をセットし、一方、画像特徴点群抽出手段 34によって自動的に追加された動きべク トルの場合は、 fpをセットしなレ、。同様に動きベクトル線'領域の決定済フラグ fe, frに 関しても、動きベクトルメッシュデータ Aに含まれるものであればセットし、三角形分割 手段 35によって自動的に生成されたものならばセットしなレ、。例えば、図 8の動きべク トルメッシュデータ Aおよび画像特徴点群に対して三角形分割を行った結果の動き ベクトルメッシュデータ Bは図 9のようになる。ここでメッシュの四角点 ·太線部分は動き ベクトルメッシュデータ Aに相当する部分であり、ユーザに指定されたものであるので 決定済フラグはセットされ、その他の丸点 ·細線部分については決定済フラグはセット されない。
[0066] (動きベクトル推定処理)
動きベクトル推定手段 36は、多重解像度画像データ 51および動きベクトルメッシュ データ Bを入力とし、決定済フラグ fpがセットされていない動きベクトル点についてそ の動きベクトルを自動計算することにより、全ての動きベクトル点 *線*領域の決定済フ ラグがセットされた状態の動きベクトルメッシュデータ Cを出力して動きベクトルメッシュ データ Cファイル 55に保存する。
[0067] 動きベクトルの自動計算については様々な方式が考えられる。画像のピクセル単位 やそれに準じた密なグリッド単位で動きベクトルを計算しその結果を動きベクトル点に 割り当てる方式、純粋に動きベクトル点上のみでしか動きベクトルを計算しない方式、 およびそれらのハイブリッド方式などである。いずれの場合にも、決定済フラグがセッ トされている動きベクトル点 '線'領域上の動きベクトルは求める必要はなぐまたそれ 以外の点についても決定済動きベクトルとの整合性がとれるような動きベクトルの算 出を行う。 [0068] 以上の方法によって、計算の高速化、およびユーザが意図した動きベクトルメッシュ データ生成の両立が可能になる。図 9の動きべクトノレメッシュデータ Bの例では、四角 点'太線部分の動きベクトルはすでにユーザによって与えられ、決定済フラグが設定 されてレ、るので計算する必要はなく、丸点 ·細線部分のみが自動計算の対象となる。 この自動計算では、四角点 ·太線部の動きベクトルとの整合性を考慮し、四角点'太 線部の動きベクトルには変更を加えないで以下の処理方法によって計算を実行する
[0069] 次に、動きベクトル推定手段 36の処理を図 10を用いて詳述する。
まず、動きベクトルメッシュデータ Bファイル 54に保存されている動きべクトノレを初期 動きべクトノレとし、これに対して解像度補正処理を行う(S201)。解像度補正処理は、 解像度に応じて動きベクトルを間引くものであり、たとえば、解像度 Lのグリッド型動き ベクトルの場合は、動き情報を 2 Lピクセルごとに要素((x, y)、 v (x, y) )を有する。
[0070] この間引き処理をより詳細に説明すると、解像度 Lの格子に対して、その格子上に 無い点の動きベクトルであって決定済みフラグがセットされている動きベクトル (メッシ ュデータも含む)は、予め定められた移動規則に従って近傍の格子上の動きベクトル として関連付けられる。このとき、同じ格子に対して、複数の点から移動してくる動き ベクトルが存在する場合は、それらの動きベクトルの平均値を当該格子の動きべタト ルとして関連付けるようにする。
[0071] なお、決定済みフラグがセットされていない動きベクトルは、たとえば二次元の場合 は(0, 0)として処理される。
[0072] 次に、動きベクトルの重ね合わせ処理を実行する(S202)。最初のループでは、ス テツプ S201で作成された解像度 L (初期解像度)の動きベクトルデータに対して、全 て(0, 0)の動きベクトルデータが重ね合わされるので、結果として、解像度 L (初期解 像度)の動きベクトルデータがそのままこのステップの出力となる。
初期解像度以外の解像度の動きベクトル重ね合わせ処理については後述する。
[0073] このように補正して求めた解像度 Lの動きベクトルに対して、マッチング処理を実行 する(S203)。
[0074] 以下、図 11と図 12を用いてこのマッチング処理について説明する。 図 11は、画像が 2枚の場合のマッチング処理手順の説明図である。
マッチング処理では、上記各処理によって求めた解像度 Lの基準画像、比較画像、 入力動きべクトノレを用いて、まず、入力動きベクトルの各始点座標について、基準画 像上の座標と、比較画像上の座標とを引数とするエネルギー関数を定義し、入力動 きベクトルの予め定められた所定範囲内で、前記エネルギー関数をもとに動きべタト ルを仮算出する(S301)。また、基準画像の各特徴点について、エッジ、コーナー等 の情報を用いて信頼度を仮算出する(S302)。なお、信頼度は、エッジの大きさなど 画像に基づく関数の他、上述のエネルギー関数を用いて行うようにしてもよい。信頼 度をどのように設定するかは、実施時にどのような条件に重きをおくかということに依 存してくる。たとえば、画面中央のものを重点にマッチングを行うというような応用の場 合には、画面中央を 1としたガウシアン関数を信頼度としてスムージング処理を行うよ うにしても良い。
[0075] 次に、基準画像の特徴点間の色差および仮算出した動きベクトルの差をもとに相 関度を算出する(S303)。
相関度は、たとえば、ピクセルの色の差の二乗と動きベクトルの差の大きさの二乗と を掛け合わせて、それをガウシアン関数あるいは同様の関数で 1一 0にする。
[0076] 一般に、隣り合うピクセルの色の差や、画像の情報のみで相関度を設定するという 手法をマッチングに応用しょうとすると、同じ動きをしていて特徴が異なる部分が切れ てしまうという問題があるが、動きベクトルの情報を加えることで、このような問題を防ぐ こと力 Sできる。一方、動きベクトルだけで相関度を表すと、ミスマッチしてしまったときに も切れてしまうので、これを防止するためには、画像情報と動きベクトルの両方の情報 を使用するのが良い。
[0077] 次に、仮算出した動きべタトノレと信頼度、および、相関度の各データを出力する(S 304)。
[0078] なお、上記は、画像が 2枚の場合について説明した力 図 12のように、基準画像と 複数の比較画像の夫々について動きベクトル、信頼度、相関度のデータを演算する ようにしても良い。この場合、夫々の比較画像について一の基準画像との動きを演算 する場合と、各比較画像が次の比較画像との間では基準画像となる場合がある。 [0079] また、エネルギー関数の実施例としていわゆるブロックマッチングを使用するように しても良い。
[0080] 図 10に戻って、ステップ S203のマッチング処理の後にスムージング処理を実行し て、解像度 Lの動きベクトルを本算出する(S204)。
[0081] このスムージング処理の手順を図 13に示す。この図において、マッチング処理で仮 算出した、動きべ外ルと信頼度について、近傍の動きべ外ル、信頼度、相関度を用 いて加重平均処理で平均化(円滑化)することによって、解像度 Lの動きベクトルを算 出する。
[0082] 加重平均の場合のスムージングの式は以下の如くである。
[数 1]
∑ ^(χ,,γ,,χ^γ^Γ^, y2 )v; (x2 , y2 )
( ) ( ,)の周囲
v'+1 ( J =
∑ 。 ぃ , 22)
( Λ)の周囲
L " ,^ 2, J 02' J
( , )の周囲
(^, ぃ の周囲 ここで、 iはスムージングを繰り返した回数である。
[0083] 上記のように、動きベクトルは、信頼度および相関度の積による加重平均とし、さら に、信頼度は、相関度による加重平均としている。
なお、上記の加重平均処理に替えて最小二乗法でァフィンパラメータを求めるよう にしてもよい。
[0084] この場合のスムージングの式は以下の如くである。
[数 3] ίχΛ Xヽ
νί+1( 1^1) = ( ί+ 1Κί+1) , +10い ,)
Figure imgf000018_0001
[数 5]
1 )
.Ji )の周囲
Figure imgf000018_0002
[数 6]
02 ) = (χ2 , γ2 ) + ν^χ2 , γ2 )
[0085] なお、 r(xl,yl)は加重平均の場合と同じである。
[0086] 上記のスムージング処理を終了すると、次に最終解像度(通常は解像度レベル 0) か否かを判断して(S205)、最終解像度でなければ、 L = L_1として(S206)、すな わち、解像度レベルが一つ上の解像度の画像データについてステップ S201以降の 処理を繰り返す。
[0087] また、スムージング処理の結果得られた解像度 Lの動きベクトルを用いて、線形補 間処理によって、解像度 L一 1の動きベクトルデータを生成する(S207)。
[0088] 線形補間処理について、より詳細に説明すると、解像度 Lの格子上の動きべクトノレ に対して、その間に格子を取り、この格子の動きベクトルは、周囲の解像度 Lの格子 上の動きベクトルの平均値とする。
[0089] たとえば、解像度 3の動きベクトルで、 v(32,32) v(32,40) v(40,32) v(40,40)があると き、解像度 2の動きベクトルは、
v(32,32) = v(32,32)
v(32,36) = 1/2 v(32,32) + 1/2 v(32,40)
v(36,36) = 1/4 v(32,32) + 1/4 v(32,40) + 1/4 v(40,32) + 1/4 v(40,40) と計算する。
[0090] そして、ステップ S202の重ね合わせ処理では、この補間した動きベクトルデータを ステップ S201で作成された入力動きベクトルデータと重ね合わせて、マッチング処 理の入力動きベクトルとする。
[0091] 以上の一連の処理を最終解像度になるまで繰り返して(S205)、最終解像度にな れば、その動きベクトルを動きベクトルメッシュデータ Cファイル 55に保存する。
[0092] (動きべクトノレ出力処理)
動きベクトル出力手段 37は、動きベクトルメッシュデータ Cファイル 55に保存されて レ、る動きべクトノレデータを外部装置 10あるいは他のプログラムモジュールへ出力する
[0093] 本実施形態によれば、色情報のみを使って仮の動きベクトルを求め、これに、エツ ジ情報やコーナー情報に基づく信頼度と動きベクトルの差による相関度という異なる 概念のノ メータを用いて計算するので、計算機に負荷をかけず精度の高い動きべ タトルを算定することができる。特に、多重解像度のレベルやスムージング処理の繰り 返し回数を設定することによって、計算機の能力や動きベクトルの要求精度に応じた 演算を実行させることができるので汎用性が高ぐ手ぶれ補正や動画生成などいろ レ、ろな用途に使用することができる。
[0094] (動きベクトル演算装置の他の実施例 1)
上述の動きベクトル演算装置 1は、図 14に示す構成によって実施することもできる。 すなわち、画像データ入力手段 31で入力した画像データを多重解像度画像生成手 段 32で多重解像度の画像データを作成し、これを用いて動きベクトル推定手段 36に よって、上記の処理によってグリッド型動きベクトルを算出する。
[0095] この場合、動きベクトル推定手段 36は、多重解像度画像データ 51のみを使用する ため、図 4に示す決定済みフラグの制御を要しない。
[0096] (動きベクトル演算装置の他の実施例 2)
また、図 2のメッシュ指定手段 33、画像特徴点群抽出手段 34、三角形分割手段 35 は、計算機の負荷や用途に応じてその機能を活殺させることができる。
[0097] たとえば、ユーザが予め画像の対応関係を入力する必要が無ければ、図 15に示す ようにメッシュ指定手段 33を省くこともできる。この場合、画像特徴点群抽出手段 34 は、多重解像度画像データとして、解像度レベル 0のエッジ画像から特徴点を抽出し て画像特徴店群データを作成し、これをもとに三角形分割手段 35によって動きべタト ルメッシュデータ Bを作成する。そして、動きべクトノレ推定手段 36は、この動きべクトノレ メッシュデータ Bを用いて動きベクトルを算出する。
[0098] なお、画像特徴点群抽出手段 34は、多重解像度画像データの中で解像度の低い 画像データを用いて特徴点の抽出処理を実行するようにしても良い。入力画像 (解 像度レベル 0)で特徴点が極めて多く抽出されるような場合は、解像度を低くして特 徴点を抽出することによって、特徴量の大きな点のみを抽出することができる。このた め、解像度の高い画像データの多数の特徴点の特徴量を比較して選別するのに比 ベ計算機の負荷を軽減させることができる。
[0099] この動きベクトル演算装置 1は、複数の画像を入力して、基準画像に対する動きべ タトルを出力して、画像データを動きベクトルによって管理して、一連の動きを有する 画像-タを圧縮させるという用途に使用することができるが、この装置 1の動きベクトル 演算部 13と、動きベクトルデータ記憶部 15の主要部を用いて以下の実施形態の装 置を構成することができる。
[0100] (動きべクトノレ演算装置の他の実施例 3)
動きベクトル演算装置 1の他の実施例として、メッシュ指定手段 33の機能を利用し て、探索範囲を設定する手段を設けることも可能である。すなわち、メッシュ指定手段 33は、基準画像と比較画像の対応点を指定して、その間の動きベクトルを求めて決 定済みフラグをセットする力 この決定済みフラグをセットせずに動きベクトルデータ のみを算定して、格納しておく。そして、動きベクトル推定手段 36は、この格納された 動きべタトノレの所定範囲の領域を探索して、基準画像と比較画像との点、線、あるい は、領域についての動きベクトルを算定する。このようにすれば、大きく離れた範囲の 対応関係も的確に抽出することができ、また、ユーザが探索範囲を設定する場合も、 概略の対応点のみを指定すればよぐ厳格な指定を要しないので操作性が向上する
[0101] く第 2の実施形態〉(手ぶれ補正装置) 上述の動きベクトル演算方法を用いてカメラで撮影時の手ぶれを補正することがで きる。図 16は、本実施形態に係わる手ぶれ補正装置のブロック図である。
[0102] この図において、手ぶれ補正装置 6は、動きベクトル演算部 13、動きベクトルデー タ記憶部 15、複数の画像とその動きベクトルを用いて画像を重ね合わせて合成画像 データを作成する画像合成手段 (機能) 63、合成画像データを編集する画像編集手 段 (機能) 64、作成した画像データを出力する画像データ出力手段 (機能) 65を備え ている。
[0103] この構成において、動きベクトル演算部 13の画像データ入力手段 31を介してを高 速連写で撮影した複数毎枚の写真画像を入力する。そして、基準画像として通常は 、連写の最初の画像に対して、比較画像の動きベクトルメッシュデータ Cを算出し、動 きベクトルデータ記憶部 15に保存する。
[0104] 次に、手ぶれ補正装置 6の画像合成手段 63は、動きベクトルデータ記憶部 15に保 存されている入力画像データと動きベクトルメッシュデータ Cを入力する。そして、比 較画像をその動きベクトルデータによって基準画像へ合わせ込むための変換処理を 実行する。
[0105] なお、一般的に手ぶれの場合の動きベクトルは、各点とも同一の方向と大きさを有 するので、メッシュ指定手段 33や三角形分割手段 35などの手段を削除して機能を 簡略化させるようにしても良い。
[0106] 本実施の形態によれば、二枚以上の画像について参照画像 (基準画像)を指定し 、その他の画像から参照画像へのメッシュ構造化された動きベクトル群を用いて、画 像を変形して合成するので、カメラの CCDノイズを除去して鮮明な画像を作成するこ とができる。
[0107] なお、複数の画像を合成する際に加重平均処理を施すことによって被写体の中の 動レヽてレ、るものを消去し背景部分を取り出すことも可能である。
[0108] また、画像合成の際に、ピクセルごとに重ね合わせた枚数を保存しておき、その枚 数によって、加重平均化処理を行うので、画像のふちの部分まで違和感のない合成 画像を作成することができる。
[0109] く第 3の実施形態〉(手ぶれ補正装置付きカメラ) 図 17は、この手ぶれ補正装置 6をカメラ等の撮像装置に組み込んだときのブロック 図である。手ぶれ補正装置をカメラに組み込む場合は、単純化された機能として、図 14に記載の動きべクトノレ演算でも実用度が高レ、。
[0110] 本実施の形態によれば、手ぶれ補正機能をマイクロプロセッサあるいは演算機能を 有する ICで実現して、撮像装置に組み込むことによって手ぶれ補正処理を施した高 画質の画像データを得ることができる。
[0111] く第 4の実施形態〉 (動画生成装置)
また、上記の動きベクトル演算方法を用いて、複数の静止画から動きの滑らかな動 画を効率的に作成することもできる。
[0112] 図 18は、本実施形態に係わる動画生成装置のブロック図である。この図において、 動画生成装置 8は、動きベクトル演算部 13、動きベクトルデータ記憶部 15、基準画 像 (初期画像)と比較画像 (最終画像)の動きベクトルからその間の時間的変化を推 定して中間の動きべ外ルを演算する中間データ生成手段 (機能) 83、この中間の動 きベクトルと入力画像から動画データを作成する動画データ生成手段 (機能) 84、作 成された動画データを出力する動画データ出力手段 (機能) 85を備えている。
[0113] ここで、中間データ生成手段 83は、画像中の特徴点あるいはメッシュデータとして の動きベクトルの変化の速度や加速度を計算して、所定の時間区分ごとの動きべタト ルを求めて、中間データファイル 87に保存する。
[0114] そして、動画データ生成手段 84は、入力画像データと中間の動きベクトルを時系 列に並べて動画データファイル 88に保存する。図 19は、動画データファイルのデー タ構成例である。各入力画像とその間の動きベクトルが時系列的に抽出可能になつ ている。
[0115] 本実施形態によれば、計算機に負荷をかけずに動画データ用の動きべ外ルを作 成すること力 Sできる。また、静止画データをもとにその間を埋める滑らかな動画データ を作成すること力 Sできる。
[0116] なお、本発明は上述の各実施形態に限定されること無ぐその要旨を逸脱しない範 囲で種々変形して実施することが出来る。たとえば、外部記憶装置を介して画像デ ータの入力や動きベクトルの出力を行う替わりに通信ネットワークを介してこれと繋が るコンピュータ装置等と画像データや動きベクトルの受け渡しを行うようにしても良い
[0117] また、本発明による動きベクトル演算方法は、上記の各装置への適用の他、画像が 順序良く並んでいて、画像内の物体が一定の法則に従って動いている場合には、 Image-based VR (バーチャルリアリティ)のためのマッチング処理にも応用することが できる。
産業上の利用可能性
[0118] 本発明による動きベクトル演算方法は、コンピュータ上で手ぶれ画像を処理する手 ぶれ補正装置、手ぶれ補正機能を搭載したデジタルカメラやビデオカメラ等の撮像 装置、動きベクトルデータによって少ないデータ量で精度良く動画像データを生成す る動画生成装置などに適用することができる。
図面の簡単な説明
[0119] [図 1]本発明による動きベクトル、信頼度、および、相関度の説明図である。
[図 2]本発明の第 1の実施形態による動きベクトル演算装置のブロック図である。
[図 3]動きベクトルメッシュデータの点、線、領域の説明図であり、図 3 (a)はサンプル 画像、図 3 (b)はその画像上の点、線、領域の対応関係の説明図である。
[図 4]動きべクトノレメッシュデータのデータ構成図であり、図 4 (a)は動きベクトル点、図
4 (b)は動きベクトル線、図 4 (c)は動きベクトル領域のデータ構成例を示す。
[図 5]図 2の多重解像度生成手段の処理手順を示すフローチャートである。
[図 6]多重解像度画像データの例である。
[図 7]動きベクトルメッシュデータ Aの指定のしかたの説明図であり、図 7 (a)は基準画 像と比較画像、図 7 (b)は両画像間のデータ上の対応関係を示す。
[図 8]画像特徴点群の説明図である。
[図 9]図 2の三角形分割手段の出力である動きベクトルメッシュデータ Bの説明図であ る。
[図 10]図 2の動きベクトル推定手段の処理手順を示すフローチャートである。
[図 11]図 10のマッチング処理手順を示すフローチャートである。 (画像が 2枚の場合)
[図 12]図 10のマッチング処理手順を示すフローチャートである。 (画像が複数の場合 )
[図 13]図 10のスムージング処理手順を示すフローチャートである。
[図 14]本発明の他の実施例 1による動きベクトル演算装置のブロック図である c
[図 15]本発明の他の実施例 2による動きベクトル演算装置のブロック図である c
[図 16]本発明の第 2の実施形態による手ぶれ補正装置のブロック図である。
[図 17]本発明の第 3の実施形態による撮像装置のブロック図である。
[図 18]本発明の第 4の実施形態による動画生成装置のブロック図である。
[図 19]図 18の動画データファイルのデータ構成図である。
符号の説明
1 動きベクトル演算装置
6 手ぶれ補正装置
7
8 動画生成装置
10 外部記憶装置
11 入力装置
12
13 動きベクトル演算部
15 動きベクトルデータ記憶部
31 画像データ入力手段
32 多重解像度画像生成手段
33 メッシュ指定手段
34 画像特徴点群抽出手段
35 三角形分割手段
36 動きベクトル推定手段
37 動きベクトル出力手段
50 入力画像データファイル
51 多重解像度画像データファイル
52 動きベクトルメッシュデータ Aファイル 画像特徴点群データファイル 動きベクトルメッシュデータ Bファイル 動きベクトルメッシュデータ Cファイル 手ぶれ補正データ演算部 手ぶれ補正データ記憶部 画像合成手段
画像編集手段
画像データ出力手段
合成画像データファイル
出力画像データファイル
撮像手段
着脱可能メモリ
外部インタフェース手段
動画データ演算部
中間データ生成手段
動画データ生成手段
動画データ出力手段
中間データファイル
動画データファイル

Claims

請求の範囲 [1] 複数の画像データを入力して、画像間の動きベクトルを演算する方法であって、 入力された複数の画像データについて、所定の解像度レベル L (L ;自然数)までの 多重解像度データを夫々演算して保存する多重解像度画像生成処理と、 基準画像の解像度レベル Lの入力動きベクトルを演算する入力動きベクトル算定処 理と、 前記各処理によって求めた解像度 Lの基準画像、比較画像、入力動きベクトルを 用いて次の各ステップを実行する解像度別動きベクトル推定処理と、を含み、
(1)入力動きベクトルの各始点座標について、基準画像上の座標と、比較画像上 の座標とを引数とするエネルギー関数を定義し、入力動きベクトルの所定範囲内で、 前記エネルギー関数をもとに動きベクトルを仮算出するステップ、
(2)基準画像の各特徴点について、画像特徴量をもとに動きベクトルの信頼度を仮 算出するステップ、
(3)基準画像の特徴点間の画像特徴量の差と前記仮算出した動きべ外ルの差の うち少なくとも一つを用いて相関度を算出するステップ、
(4)前記仮算出した、動きベクトルと信頼度とを所定範囲にある動きベクトル、信頼 度、相関度を用いて円滑化することによって、解像度 Lの動きべクトノレを本算出する ステップ、
前記本算出した解像度 Lの動きべ外ルをさらに解像度の高い解像度 L一 1の入カ 動きべクトノレとして用レ、、前記解像度別動きベクトル推定処理を順次解像度の高い 画像データに対して繰り返すことによって、基準画像と比較画像間の動きベクトルを 演算することを特徴とする動きベクトル演算方法。
[2] 前記入力された画像のうち、基準画像の特徴点に関する指示情報を入力する処理 を含み、
前記入力動きベクトル算定処理は、前記特徴点に関する入力動きベクトルを演算 することを特徴とする請求項 1記載の動きべ外ル演算方法。
[3] 前記入力された画像のうち、基準画像の複数の特徴点を分散的に抽出する画像特 徴点群抽出処理を含み、 前記入力動きベクトル算定処理は、前記特徴点に関する入力動きベクトルを演算 することを特徴とする請求項 2に記載の動きベクトル演算方法。
[4] 前記動きベクトルは、基準画像と比較画像の画像間の対応する特徴点、当該特徴 点を結ぶ線、および、前記特徴点または前記線によって構成される領域の夫々の動 きを表す動きベクトルメッシュデータであることを特徴とする請求項 3に記載の動きべ タトル演算方法。
[5] 複数の画像データを入力して、画像間の動きベクトルを演算する方法であって、 基準画像の特徴点に関する指示情報を入力する処理と、入力された指示情報をも とに基準画像と比較画像の画像間の点、線、領域の対応関係を動きベクトルメッシュ データとして算出する処理と、
前記入力された指示情報の領域範囲外の領域について、基準画像の複数の特徴 点を分散的に抽出し、抽出された特徴点をもとに基準画像と比較画像の画像間の点 、線、領域の対応関係を動きベクトルメッシュデータとして算出する処理と、
前記画像特徴点に基づレ、て、前記動きベクトルメッシュデータの領域を一または二 以上の三角形に分割し、これを所定の解像度レベル Lに補正して、入力動きベクトル メッシュデータを演算する処理と、
入力された複数の画像データにっレ、て、解像度レベル Lまでの多重解像度データ を夫々演算して保存する処理と、
前記各処理によって求めた解像度 Lの基準画像、比較画像、入力動きベクトルメッ シュデータを用いて次の各ステップを実行する解像度別動きベクトル推定処理と、を 含み、
(1)前記入力された指示情報の領域範囲外の領域について、入力動きベクトルメッ シュデータの各始点座標について、基準画像上の座標と、比較画像上の座標とを引 数とするエネルギー関数を定義し、入力動きベクトルメッシュデータの所定範囲内で
、前記エネルギー関数をもとに動きベクトルメッシュデータを仮算出するステップ、
(2)基準画像の各特徴点について、画像特徴量をもとに動きベクトルの信頼度を仮 算出するステップ、
(3)基準画像の特徴点間の画像特徴量の差と前記仮算出した動きべ外ルの差の うち少なくとも一つを用いて相関度を算出するステップ、
(4)前記仮算出した、動きベクトルメッシュデータと信頼度とを所定範囲にある動き ベクトルメッシュデータ、信頼度、相関度を用いて円滑化することによって、解像度 L の動きベクトルメッシュデータを本算出するステップ、
前記本算出した解像度 Lの動きべ外ルメッシュデータをさらに解像度の高い解像 度 L一 1の入力動きベクトルメッシュデータとして用レ、、前記解像度別動きベクトル推 定処理を順次解像度の高い画像データに対して繰り返すことによって、基準画像と 比較画像間の動きベクトルメッシュデータを演算することを特徴とする動きベクトル演 算方法。
[6] 請求項 1ないし 5の何れか一に記載の動きベクトル演算方法を用いて手ぶれ補正 を実行する手ぶれ補正装置であって、
複数の画像を入力して、基準画像と一または二以上の比較画像との動きベクトルを 前記動きベクトル演算方法を用いて演算し、当該演算結果を出力する動きベクトル 演算部と、
前記動きベクトル演算部によって求めた動きべタトノレと比較画像を用いて、基準画 像へ重ね合わせるための処理を実行して合成用画像を作成する合成用画像生成手 段と、
前記合成用画像生成手段で作成した一または二以上の合成用画像を基準画像に 重ね合わせて画像を合成する画像合成手段と、
前記画像合成手段によって合成した画像データを出力する画像データ出力手段と を備えたことを特徴とする手ぶれ補正装置。
[7] 前記画像合成手段は、手ぶれの最大範囲を演算し、画像枠から当該最大範囲に っレ、ては、画像数による平均化処理を実行することを特徴とする請求項 6記載の手 ぶれ補正装置。
[8] 請求項 6に記載の手ぶれ補正装置を有する撮像装置であって、
被写体を連続して撮影して、複数の画像を生成し、前記手ぶれ装置へ入力する撮像 部と、 前記手ぶれ装置の画像を保存する記憶部とを備えたことを特徴とする撮像装置。
[9] 請求項 7に記載の手ぶれ補正装置を有する撮像装置であって、
被写体を連続して撮影して、複数の画像を生成し、前記手ぶれ装置へ入力する撮像 部と、
前記手ぶれ装置の画像を保存する記憶部とを備えたことを特徴とする撮像装置。
[10] 請求項 1ないし 5の何れか一に記載の動きベクトル演算方法を用いて動画を生成 する動画生成装置であって、
複数の画像を入力し、前記動きベクトル演算方法を用いて、基準画像と一または二 以上の比較画像との間の動きベクトルを算定する動きベクトル演算部と、
前記動きベクトル演算部で算定した動きべ外ルを所定の値で分割することによつ て一または二以上の中間の動きベクトルを演算する動きベクトル編集手段と、 基準画像に対して、前記中間の動きベクトルを適用することによって中間画像を生 成し、初期画像、中間画像、および、最終画像を時系列的に表示可能にする動画生 成手段と、を備えたことを特徴とする動画生成装置。
[11] 複数の画像データを入力して、画像間の動きベクトルを演算するプログラムであつ て、
入力された複数の画像データについて、所定の解像度レベル L (L ;自然数)までの 多重解像度データを夫々演算して保存する処理と、
基準画像の解像度レベル Lの入力動きベクトルを演算する処理と、
前記各処理によって求めた解像度 Lの基準画像、比較画像、入力動きベクトルを 用いて次のステップを実行する解像度別動きベクトル推定処理と、を含み、
(1)入力動きベクトルの各始点座標について、基準画像上の座標と、比較画像上 の座標とを引数とするエネルギー関数を定義し、入力動きベクトルの所定範囲内で、 前記エネルギー関数をもとに動きベクトルを仮算出するステップ、
(2)基準画像の各特徴点について、画像特徴量をもとに動きベクトルの信頼度を仮 算出するステップ、
(3)基準画像の特徴点間の画像特徴量の差と前記仮算出した動きべ外ルの差の うち少なくとも一つを用いて相関度を算出するステップ、 (4)前記仮算出した、動きベクトルと信頼度とを所定範囲にある動きベクトル、信頼 度、相関度を用いて円滑化することによって、解像度 Lの動きべクトノレを本算出する ステップ、
前記本算出した解像度 Lの動きべ外ルをさらに解像度の高い解像度 L一 1の入カ 動きべクトノレとして用レ、、前記解像度別動きベクトル推定処理を順次解像度の高い 画像データに対して繰り返すことによって、基準画像と比較画像間の動きベクトルを 演算することを特徴とするコンピュータ実行可能なプログラム。
PCT/JP2005/000424 2005-01-14 2005-01-14 動きベクトル演算方法とこの方法を用いた手ぶれ補正装置、撮像装置、並びに動画生成装置 WO2006075394A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
AT05703663T ATE481696T1 (de) 2005-01-14 2005-01-14 Verfahren zur berechnung von bewegungsvektoren, vorrichtung zur korrektur von handbewegungen, die das verfahren verwendet, vorrichtung zur bildaufnahme und zur erzeugung von filmen
DE200560023661 DE602005023661D1 (de) 2005-01-14 2005-01-14 Verfahren zur berechnung von bewegungsvektoren, vorrichtung zur korrektur von handbewegungen, die das verfahren verwendet, vorrichtung zur bildaufnahme und zur erzeugung von filmen
EP20050703663 EP1843294B1 (en) 2005-01-14 2005-01-14 Motion vector calculation method, hand-movement correction device using the method, imaging device, and motion picture generation device
KR20077015833A KR101036787B1 (ko) 2005-01-14 2005-01-14 움직임 벡터 연산 방법과 이 방법을 이용한 손 떨림 보정장치, 촬상 장치, 및 동영상 생성 장치
PCT/JP2005/000424 WO2006075394A1 (ja) 2005-01-14 2005-01-14 動きベクトル演算方法とこの方法を用いた手ぶれ補正装置、撮像装置、並びに動画生成装置
US11/795,218 US7847823B2 (en) 2005-01-14 2005-01-14 Motion vector calculation method and hand-movement correction device, imaging device and moving picture generation device
JP2006552817A JP3935500B2 (ja) 2005-01-14 2005-01-14 動きベクトル演算方法とこの方法を用いた手ぶれ補正装置、撮像装置、並びに動画生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/000424 WO2006075394A1 (ja) 2005-01-14 2005-01-14 動きベクトル演算方法とこの方法を用いた手ぶれ補正装置、撮像装置、並びに動画生成装置

Publications (1)

Publication Number Publication Date
WO2006075394A1 true WO2006075394A1 (ja) 2006-07-20

Family

ID=36677430

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/000424 WO2006075394A1 (ja) 2005-01-14 2005-01-14 動きベクトル演算方法とこの方法を用いた手ぶれ補正装置、撮像装置、並びに動画生成装置

Country Status (7)

Country Link
US (1) US7847823B2 (ja)
EP (1) EP1843294B1 (ja)
JP (1) JP3935500B2 (ja)
KR (1) KR101036787B1 (ja)
AT (1) ATE481696T1 (ja)
DE (1) DE602005023661D1 (ja)
WO (1) WO2006075394A1 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226643A (ja) * 2006-02-24 2007-09-06 Morpho Inc 画像処理装置
JP2008226187A (ja) * 2007-03-15 2008-09-25 Toshiba Corp 動き推定装置及びその方法
JP2008282386A (ja) * 2007-05-10 2008-11-20 Honda Motor Co Ltd 物体検出装置、物体検出方法及び物体検出プログラム
EP2015560A2 (en) 2007-07-13 2009-01-14 Morpho Inc. Image data processing method and imaging apparatus
US20090028462A1 (en) * 2007-07-26 2009-01-29 Kensuke Habuka Apparatus and program for producing a panoramic image
JPWO2008032392A1 (ja) * 2006-09-14 2010-01-21 富士通株式会社 画像処理方法および装置とそのプログラム
JP2011504266A (ja) * 2007-11-12 2011-02-03 クゥアルコム・インコーポレイテッド ブロックベースの画像安定化
JP2013190947A (ja) * 2012-03-13 2013-09-26 Morpho Inc 画像処理装置、画像処理方法及び画像処理プログラム
JP2017085598A (ja) * 2016-12-08 2017-05-18 株式会社東芝 画像処理装置、画像処理方法、画像処理プログラム、および立体画像表示装置
US10003782B2 (en) 2012-11-01 2018-06-19 Kabushiki Kaisha Toshiba Image processing device, method, computer-readable medium and 3D image display
US10818018B2 (en) 2016-11-24 2020-10-27 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
CN113873099A (zh) * 2021-08-27 2021-12-31 山东信通电子股份有限公司 一种输电通道视频稳像方法、设备及介质
CN114612773A (zh) * 2022-02-25 2022-06-10 武汉大学 一种适用于sar和光学影像的高效海冰运动提取方法及系统

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7646916B2 (en) * 2005-04-15 2010-01-12 Mississippi State University Linear analyst
US8165205B2 (en) * 2005-09-16 2012-04-24 Sony Corporation Natural shaped regions for motion compensation
JP4959237B2 (ja) * 2006-06-22 2012-06-20 オリンパス株式会社 撮像システム及び撮像プログラム
US8375302B2 (en) * 2006-11-17 2013-02-12 Microsoft Corporation Example based video editing
JP2008217526A (ja) * 2007-03-06 2008-09-18 Canon Inc 画像処理装置、画像処理プログラム及び画像処理方法
US8773423B2 (en) * 2007-05-07 2014-07-08 Microsoft Corporation Creating optimized gradient mesh of a vector-based image from a raster-based image
JP4989308B2 (ja) * 2007-05-16 2012-08-01 キヤノン株式会社 画像処理装置及び画像検索方法
US7956899B2 (en) * 2007-08-29 2011-06-07 Sanyo Electric Co., Ltd. Imaging device and image processing apparatus
JP4940164B2 (ja) * 2008-02-07 2012-05-30 オリンパス株式会社 撮像装置及び撮像方法
JP5048542B2 (ja) * 2008-02-07 2012-10-17 オリンパス株式会社 画像処理装置及び画像処理プログラム
US8379152B2 (en) 2008-03-31 2013-02-19 Sharp Laboratories Of America, Inc. Systems and methods for increasing the temporal resolution of video data
US8199243B2 (en) * 2008-04-28 2012-06-12 Panasonic Corporation Imaging device and camera body
JP4600530B2 (ja) * 2008-06-17 2010-12-15 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
JP4385077B1 (ja) 2008-08-27 2009-12-16 三菱電機株式会社 動きベクトル検出装置および画像処理装置
CN102160381A (zh) * 2008-09-24 2011-08-17 索尼公司 图像处理设备和方法
US8508659B2 (en) * 2009-08-26 2013-08-13 Nxp B.V. System and method for frame rate conversion using multi-resolution temporal interpolation
KR101451137B1 (ko) * 2010-04-13 2014-10-15 삼성테크윈 주식회사 손떨림 검출 장치 및 방법
JP5445363B2 (ja) 2010-07-08 2014-03-19 株式会社リコー 画像処理装置、画像処理方法および画像処理プログラム
JP5661359B2 (ja) * 2010-07-16 2015-01-28 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
JP5700968B2 (ja) 2010-07-16 2015-04-15 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
JP5791241B2 (ja) 2010-07-16 2015-10-07 キヤノン株式会社 画像処理方法、画像処理装置、およびプログラム
JP5652649B2 (ja) * 2010-10-07 2015-01-14 株式会社リコー 画像処理装置、画像処理方法および画像処理プログラム
EP2590140A1 (en) 2011-09-05 2013-05-08 Morpho, Inc. Facial authentication system, facial authentication method, and facial authentication program
US9202431B2 (en) * 2012-10-17 2015-12-01 Disney Enterprises, Inc. Transfusive image manipulation
KR101767927B1 (ko) 2012-11-01 2017-08-17 한화테크윈 주식회사 실시간 움직임 검출 방법 및 시스템
US9374532B2 (en) 2013-03-15 2016-06-21 Google Inc. Cascaded camera motion estimation, rolling shutter detection, and camera shake detection for video stabilization
JP2014225108A (ja) * 2013-05-16 2014-12-04 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
JP6686890B2 (ja) * 2014-10-03 2020-04-22 日本電気株式会社 情報処理装置、情報処理方法、及び、プログラム
JP2016164709A (ja) 2015-03-06 2016-09-08 キヤノン株式会社 画像処理装置、撮像装置および画像処理プログラム
US11272124B2 (en) 2017-10-31 2022-03-08 Morpho, Inc. Image compositing device, image compositing method, and storage medium
KR102042131B1 (ko) 2018-01-30 2019-11-07 광운대학교 산학협력단 단말기에서 실시간 글자 인식시 영상을 안정화하는 방법
US10708597B2 (en) 2018-02-01 2020-07-07 Microsoft Technology Licensing, Llc Techniques for extrapolating image frames
KR102627646B1 (ko) * 2018-10-23 2024-01-19 엘지전자 주식회사 신호 처리 장치 및 이를 구비하는 영상표시장치
WO2024049197A1 (ko) * 2022-08-30 2024-03-07 엘지전자 주식회사 3d 데이터 송신 장치, 3d 데이터 송신 방법, 3d 데이터 수신 장치 및 3d 데이터 수신 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07154801A (ja) * 1993-11-29 1995-06-16 Ricoh Co Ltd 階層型動きベクトル検出方法
JPH0973540A (ja) * 1995-09-04 1997-03-18 Sharp Corp 動きベクトル算出装置
JPH11506576A (ja) * 1995-03-18 1999-06-08 テーウー エレクトロニクス カンパニー リミテッド 特徴点ベース動き推定技法を用いる映像信号符号化方法及びその装置
JP2003078807A (ja) * 2001-08-31 2003-03-14 Sony Corp 動きベクトル検出装置および方法、手振れ補正装置および方法、並びに撮像装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06153146A (ja) 1992-11-04 1994-05-31 Matsushita Electric Ind Co Ltd 動画像のシーンチェンジ検出装置および編集装置
JP3519441B2 (ja) 1993-02-26 2004-04-12 株式会社東芝 動画像伝送装置
KR100188116B1 (ko) * 1995-12-28 1999-06-01 김광호 손떨림 영상 안정화 회로
KR100265720B1 (ko) 1997-03-31 2000-09-15 윤종용 2차원삼각형선격자모델을이용한동영상의움직임보상방법
EP1090502B1 (en) * 1999-04-26 2005-11-30 Koninklijke Philips Electronics N.V. Sub-pixel accurate motion vector estimation and motion-compensated interpolation
JP4296693B2 (ja) * 2000-07-13 2009-07-15 ソニー株式会社 Av信号記録再生装置、cm検出方法、および記録媒体
KR20020076296A (ko) * 2000-12-11 2002-10-09 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오 신호 처리에서 모션 보상된 디-인터레이싱
KR100396558B1 (ko) * 2001-10-25 2003-09-02 삼성전자주식회사 적응 움직임 보상형 프레임 및/또는 레이트 변환 장치 및그 방법
JP3804617B2 (ja) * 2003-02-14 2006-08-02 コニカミノルタフォトイメージング株式会社 画像処理装置及び方法
US7499494B2 (en) * 2003-12-23 2009-03-03 Genesis Microchip Inc. Vector selection decision for pixel interpolation
US7433497B2 (en) * 2004-01-23 2008-10-07 Hewlett-Packard Development Company, L.P. Stabilizing a sequence of image frames
US7616782B2 (en) * 2004-05-07 2009-11-10 Intelliview Technologies Inc. Mesh based frame processing and applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07154801A (ja) * 1993-11-29 1995-06-16 Ricoh Co Ltd 階層型動きベクトル検出方法
JPH11506576A (ja) * 1995-03-18 1999-06-08 テーウー エレクトロニクス カンパニー リミテッド 特徴点ベース動き推定技法を用いる映像信号符号化方法及びその装置
JPH0973540A (ja) * 1995-09-04 1997-03-18 Sharp Corp 動きベクトル算出装置
JP2003078807A (ja) * 2001-08-31 2003-03-14 Sony Corp 動きベクトル検出装置および方法、手振れ補正装置および方法、並びに撮像装置

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226643A (ja) * 2006-02-24 2007-09-06 Morpho Inc 画像処理装置
JP4750854B2 (ja) * 2006-09-14 2011-08-17 富士通株式会社 画像処理方法および装置とそのプログラム
US8311367B2 (en) 2006-09-14 2012-11-13 Fujitsu Limited Image processing device
JPWO2008032392A1 (ja) * 2006-09-14 2010-01-21 富士通株式会社 画像処理方法および装置とそのプログラム
JP2008226187A (ja) * 2007-03-15 2008-09-25 Toshiba Corp 動き推定装置及びその方法
JP2008282386A (ja) * 2007-05-10 2008-11-20 Honda Motor Co Ltd 物体検出装置、物体検出方法及び物体検出プログラム
EP2015560A2 (en) 2007-07-13 2009-01-14 Morpho Inc. Image data processing method and imaging apparatus
US20090028462A1 (en) * 2007-07-26 2009-01-29 Kensuke Habuka Apparatus and program for producing a panoramic image
EP2023596A2 (en) 2007-07-26 2009-02-11 Morpho Inc. Apparatus and program for producing as panoramic image
US8588546B2 (en) * 2007-07-26 2013-11-19 Morpho, Inc. Apparatus and program for producing a panoramic image
JP2011504266A (ja) * 2007-11-12 2011-02-03 クゥアルコム・インコーポレイテッド ブロックベースの画像安定化
US8600189B2 (en) 2007-11-12 2013-12-03 Qualcomm Incorporated Block-based image stabilization
JP2013190947A (ja) * 2012-03-13 2013-09-26 Morpho Inc 画像処理装置、画像処理方法及び画像処理プログラム
US10003782B2 (en) 2012-11-01 2018-06-19 Kabushiki Kaisha Toshiba Image processing device, method, computer-readable medium and 3D image display
US10818018B2 (en) 2016-11-24 2020-10-27 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
JP2017085598A (ja) * 2016-12-08 2017-05-18 株式会社東芝 画像処理装置、画像処理方法、画像処理プログラム、および立体画像表示装置
CN113873099A (zh) * 2021-08-27 2021-12-31 山东信通电子股份有限公司 一种输电通道视频稳像方法、设备及介质
CN113873099B (zh) * 2021-08-27 2024-04-12 山东信通电子股份有限公司 一种输电通道视频稳像方法、设备及介质
CN114612773A (zh) * 2022-02-25 2022-06-10 武汉大学 一种适用于sar和光学影像的高效海冰运动提取方法及系统

Also Published As

Publication number Publication date
EP1843294B1 (en) 2010-09-15
EP1843294A1 (en) 2007-10-10
EP1843294A4 (en) 2009-06-03
DE602005023661D1 (de) 2010-10-28
US7847823B2 (en) 2010-12-07
JPWO2006075394A1 (ja) 2008-06-12
JP3935500B2 (ja) 2007-06-20
KR20070093995A (ko) 2007-09-19
US20080180535A1 (en) 2008-07-31
KR101036787B1 (ko) 2011-05-25
ATE481696T1 (de) 2010-10-15

Similar Documents

Publication Publication Date Title
JP3935500B2 (ja) 動きベクトル演算方法とこの方法を用いた手ぶれ補正装置、撮像装置、並びに動画生成装置
JP4620607B2 (ja) 画像処理装置
WO2021088473A1 (en) Image super-resolution reconstruction method, image super-resolution reconstruction apparatus, and computer-readable storage medium
US9609181B2 (en) Image signal processor and method for synthesizing super-resolution images from non-linear distorted images
US20200258196A1 (en) Image processing apparatus, image processing method, and storage medium
CN108463994B (zh) 图像处理装置、图像处理方法和存储介质
US20140072232A1 (en) Super-resolution method and apparatus for video image
CN107610153B (zh) 电子设备以及相机
WO2013131929A1 (en) Method and apparatus for performing super-resolution
JP2009033392A (ja) パノラマ画像生成装置およびプログラム
US9070223B2 (en) Image processing device, image processing method, and image processing program
WO2012169174A1 (ja) 画像処理装置および画像処理方法
JP5820716B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム、記録媒体、立体画像表示装置
US7522189B2 (en) Automatic stabilization control apparatus, automatic stabilization control method, and computer readable recording medium having automatic stabilization control program recorded thereon
CN112929562B (zh) 视频抖动的处理方法、装置、设备以及存储介质
JP4212430B2 (ja) 多重画像作成装置、多重画像作成方法、多重画像作成プログラム及びプログラム記録媒体
JP6600113B1 (ja) Ar用の画像処理装置、画像処理システム及びプログラム
JP5713256B2 (ja) 画像処理装置、撮像装置、および画像処理プログラム
JP4858908B2 (ja) 画像処理方法および撮像装置
RU2576490C1 (ru) Способ гибридного ретуширования фона для преобразования 2d в 3d
JP2024007899A (ja) 画像処理装置、画像処理方法、およびプログラム
JP2014060667A (ja) 画像処理装置、画像処理システム、画像処理方法及びプログラム

Legal Events

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

Ref document number: 2006552817

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005703663

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020077015833

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2005703663

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11795218

Country of ref document: US