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

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

Info

Publication number
WO2007063675A1
WO2007063675A1 PCT/JP2006/321904 JP2006321904W WO2007063675A1 WO 2007063675 A1 WO2007063675 A1 WO 2007063675A1 JP 2006321904 W JP2006321904 W JP 2006321904W WO 2007063675 A1 WO2007063675 A1 WO 2007063675A1
Authority
WO
WIPO (PCT)
Prior art keywords
image processing
processing method
motion vector
images
image
Prior art date
Application number
PCT/JP2006/321904
Other languages
English (en)
French (fr)
Inventor
Shigeru Doida
Original Assignee
Nikon Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nikon Corporation filed Critical Nikon Corporation
Priority to JP2007547880A priority Critical patent/JP5082856B2/ja
Priority to DE602006014723T priority patent/DE602006014723D1/de
Priority to US12/083,553 priority patent/US8526680B2/en
Priority to EP06822824A priority patent/EP1956556B1/en
Publication of WO2007063675A1 publication Critical patent/WO2007063675A1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation

Definitions

  • Image processing method image processing program, image processing apparatus, and imaging apparatus
  • the present invention relates to an image processing method applied to a digital camera, image processing software, etc.
  • the present invention relates to an image processing program.
  • the present invention also relates to an image processing apparatus applied to a digital camera or the like, and an imaging apparatus such as a digital camera.
  • Shake correction by digital processing is to detect a motion vector between a plurality of consecutively photographed images and align and synthesize these images according to the motion vector.
  • the motion vector detection method is disclosed in Patent Document 1 and the like. For example, each block force of a plurality of images also detects a motion vector (partial motion vector), and the motion vector of the entire image based on the partial motion vector of each block. Looking for one.
  • Patent Document 1 Japanese Patent Laid-Open No. 7-38800
  • an object of the present invention is to provide an image processing method, an image processing program, an image processing apparatus, and an imaging apparatus that can detect a motion between a plurality of images with high accuracy without increasing the number of blocks.
  • a first image processing method of the present invention is an image processing method for detecting motion between a plurality of images, the search procedure for searching each block force partial motion vector of the plurality of images, A selection procedure for selecting a representative motion vector from among the partial motion vectors of the block, and an approximation method for approximating the motion vector distribution on the image based on the representative motion vector And order.
  • At least three representative motion vectors are selected, and the motion vector distribution is approximated by a linear function of a position on the image.
  • two types of cumulative addition images obtained by cumulatively adding the feature quantities of the blocks in the two directions are created in advance, and the two types of projection data are the two types of cumulative addition. It is desirable to create from a part of the image.
  • the motion vector distribution calculation process according to the search procedure, the selection procedure, and the approximation procedure may be performed on a plurality of coarse images formed by low-resolution conversion of the plurality of images. .
  • motion between a plurality of detailed images before the low resolution conversion may be detected using the motion vector distribution in which the plurality of coarse image forces are also calculated.
  • the plurality of detailed images may be aligned and synthesized based on the detected movement.
  • the first image processing program of the present invention causes a computer to execute any one of the first image processing methods of the present invention.
  • the first image processing apparatus of the present invention is characterized by comprising means for executing any one of the first image processing methods of the present invention.
  • the first imaging device of the present invention includes an imaging means capable of continuously capturing a subject and acquiring a plurality of images, and any one of the first image processing device of the present invention. It is characterized by having.
  • a second image processing method of the present invention is an image processing method for searching for a motion vector between a plurality of images, wherein the correlation between the reference regions in the plurality of images is determined, and the position of the reference region is determined between the images. And calculating a correlation between two types of projection data obtained by adding feature quantities of the reference area in two directions as a correlation of the reference area.
  • two types of cumulative addition images that can cumulatively add the feature quantities of the reference region in the two directions are created in advance, and the two types of projection data are the two types of projection data. It is desirable that the image is created from a part of the cumulative addition image.
  • the feature amount of the reference region is extracted by performing two or more processes on the reference region.
  • one of the two or more processes is an edge filter process.
  • the motion vector may be a motion vector of a block formed by dividing the image.
  • the motion vector may be a motion vector of the entire image.
  • a second image processing program of the present invention causes a computer to execute any one of the second image processing methods of the present invention.
  • the second image processing apparatus of the present invention is characterized by comprising means for executing any one of the second image processing methods of the present invention.
  • the second imaging device of the present invention includes an imaging means capable of continuously capturing a subject and acquiring a plurality of images, and the second image processing device of the present invention. Let's say.
  • an image processing method, an image processing program, an image processing apparatus, and an imaging apparatus that can detect a motion between a plurality of images with high accuracy are realized.
  • FIG. 1 is a block diagram illustrating a configuration of an electronic still camera according to a first embodiment.
  • FIG. 2 is a flowchart showing a flow of camera shake correction processing.
  • FIG. 3 is a diagram for explaining the principle of step S3.
  • FIG. 4 is a diagram illustrating step S3 when using projection data.
  • FIG. 5 is a diagram for explaining step S3 when a cumulative addition image is used.
  • FIG. 6 is a diagram illustrating step S4.
  • FIG. 7 is a diagram showing representative motion vectors V 1, V 2, and V.
  • FIG. 8 is a diagram showing an approximate plane Sx of ⁇ .
  • FIG. 9 is a diagram showing an approximate plane Sy of Ay.
  • FIG. 10 is a diagram showing an example of a partial motion vector V ; after replacement.
  • FIG. 11 is a flowchart showing a flow of detection processing according to the second embodiment.
  • FIG. 12 is a diagram for explaining the concept of the correlation value d calculation method of the second embodiment (and the first embodiment).
  • the present embodiment is an embodiment of an electronic still camera with a camera shake correction function.
  • FIG. 1 is a block diagram showing the configuration of an electronic still camera.
  • the electronic still camera 10 includes an image sensor 12, a signal processing circuit 13, a memory 14, a compression / expansion circuit 15, a recording unit 16, an image processing circuit 17, and the like.
  • the taking lens 11 attached to the electronic still camera 10 forms an image of the subject on the image sensor 12.
  • the image sensor 12 captures an image of the subject and acquires an image.
  • the image is processed in the signal processing circuit 13 and then temporarily stored in the memory 14 ⁇ .
  • the image processing circuit 17 performs image processing on the image, and the image after the image processing is compressed by the compression / decompression circuit 15 and then recorded on the recording unit 16.
  • the image pickup device 12 when the electronic still camera 10 is set in the camera shake correction mode, the image pickup device 12 has an appropriate exposure time, or 2 X under n steps and a minute time interval with respect to a preset exposure time. Acquire n images.
  • the image processing circuit 17 inputs the plurality of images and executes a camera shake correction process to obtain a corrected image.
  • the corrected image is recorded in the recording unit 16 via the compression / extension circuit 15.
  • FIG. 2 is a flowchart showing the flow of the camera shake correction process.
  • the image processing circuit 17 converts them to low resolution to obtain a plurality of coarse images (step S2).
  • a partial motion vector is searched from each block (step S3).
  • the image processing circuit 17 selects a representative motion vector as the intermediate force of the partial motion vector. (Step S4), the motion vector distribution on the image is approximated based on these representative motion vectors (Step S5).
  • the processes in steps S2 to S5 described above correspond to “rough detection” because detection is based on a rough image.
  • the image processing circuit 17 uses the motion vector distribution obtained by the rough detection to search for a partial motion vector again from each block of a plurality of detailed images before low resolution conversion (step S6).
  • the process in step S6 corresponds to “detailed detection” because it is based on a detailed image.
  • the image processing circuit 17 aligns and synthesizes a plurality of detailed images based on the partial motion vector obtained in step S6 (step S7), and outputs the synthesized image as a corrected image. (Step S8).
  • FIG. 3 is a diagram for explaining the principle of step S3.
  • edge filtering is applied to each of the coarse images f and f.
  • the edge images g and g are acquired. And each of the edge images g and g
  • the number of blocks R is 24, for example, 6 in the horizontal direction of the image and 4 in the vertical direction of the image.
  • x direction the horizontal direction (left-right direction in the figure) of the image
  • y direction the vertical direction (up-down direction in the figure) of the image
  • E are referred to, and the reference region E is used as the correlation value d between the reference regions E, E.
  • E calculates the absolute value of the difference.
  • the correlation value d is calculated by the position between the reference areas E and E.
  • 8) is set sufficiently wide. For example, when the size of the reference areas E and E is 75 pixels X 75 pixels, the search range is ⁇ : ⁇ 15
  • Pixels, j8 set to ⁇ 15 pixels.
  • One-dimensional projection data that can be added in the 1 2 1 2 direction and reference areas E and E can be added in the X direction.
  • FIG. 4 is a diagram illustrating step S3 when using projection data.
  • edge filtering in the x direction is applied to the coarse images f and f.
  • Edge images g V and g v are acquired, and edge images in the y direction are applied to the coarse images f and f.
  • edge images g h and g h are acquired. Note that the edge images g V and g v
  • edge images g h and g h have an edge component in the x direction.
  • the reference area E of the edge image g V is calculated in the y direction, and projection data L h is created.
  • the reference area E of the edge image g V is added in the y direction to create projection data L h.
  • the reference area E of the edge image g h is added in the X direction to create projection data L V.
  • the reference region E of the edge image g h is added in the X direction to generate projection data L V.
  • the correlation value d between the reference areas E and E is the absolute difference between the projection data L h and L h.
  • the edge images g V, g V, g h, g h are accumulated in advance.
  • FIG. 5 is a diagram illustrating step S3 in the case of using the cumulative addition image.
  • the rough image f and f force are also edge images.
  • gh, gh, gv, gv power is acquired.
  • the edge image g v is cumulatively added in the y direction to create a cumulative added image h.
  • edge image g V is cumulatively added in the y direction, and a cumulative added image h is created.
  • edge image g h is cumulatively added in the X direction, and a cumulative added image V is created.
  • edge image g h is cumulatively added in the X direction, and a cumulative added image V is created.
  • the above-described projection data L h is the two lines above and below the reference area E of the cumulative addition image h.
  • the above-mentioned projection data L V is the two left and right lines of the reference area E of the cumulative addition image V.
  • FIG. 6 is a diagram illustrating step S4.
  • R 1, R 2,... Are the blocks in the image, and the symbols V 1, V 2,..., V denote the blocks R 1, R 2,
  • the 24 forces are also images of partial motion vectors searched individually.
  • the number of blocks R is assumed to be 24, and a subscript indicating the block number is attached to each quantity relating to each block.
  • evaluation value ⁇ ⁇ the following two types of evaluation values ⁇ ,, e are used.
  • Each block R 1, R 2,... When a position shift amount substantially equal to the value of the partial motion vector V ( ⁇ X, ⁇ y) is applied to all the blocks R 1, R 2,. ⁇ , R correlation value d,
  • the position shift amount ( ⁇ , j8) of the block R is equal to the partial motion vector V and the value ( ⁇ X k 1 1
  • the correlation value d is calculated while changing in a narrow range, and the minimum correlation value d at that time is regarded as the correlation value d of block R.
  • the change range search range
  • the formula for calculating the first evaluation value ⁇ is specifically as follows (provided that the number of blocks is 24;).
  • two edge components of block R are obtained by edge filtering in the X direction and edge filtering in the y direction, and the average value of the absolute values of the edge components.
  • E is generated, and the partial motion vectors V 1, V 2,..., VI — ii 1 2 24 in ascending order of the first evaluation value ⁇ ⁇ It is However, for partial motion vectors having the same first evaluation value ⁇ ;, a second evaluation value e is further generated and sorted in descending order of the second evaluation value e.
  • the first partial motion vector is selected as the first representative motion vector V (see Fig. 7).
  • a second representative motion vector V and a third representative motion vector V satisfying the following conditions are selected from the second and subsequent partial motion vectors (see FIG. 7).
  • FIG. 8 shows three-dimensional coordinates composed of two-dimensional coordinates (X, y) on the image and one-dimensional coordinates in the ⁇ direction. At this time, the distribution of ⁇ is approximated by a plane Sx as shown by the dotted line in the figure.
  • the center coordinates of block R are set to (X, y, 0), the center coordinates of block R are set to ( ⁇ , y, 0), and the center coordinates of block R are set to (x, y, 0) 3 coordinates
  • the plane Sx is specified by the following linear expression from the three constants A, A, and A that are determined by the above three coordinate forces.
  • the distribution of the y component Ay of the partial motion vector V on the image is approximated based on the y components ⁇ y, ⁇ , Ay of the representative motion vectors V, V, V. .
  • FIG. 9 a three-dimensional image composed of two-dimensional coordinates (X, y) on the image and one-dimensional coordinates in the Ay direction. The coordinates are shown. At this time, the distribution of Ay is approximated by a plane Sy as shown by the dotted line in the figure.
  • This plane Sy is a plane a a a b b b c c c that passes through three coordinates (X, y, ⁇ ), ( ⁇ , y, ⁇ ), ( ⁇ , y, Ay).
  • This plane Sy is given by the three constants B, B, B determined from the above three coordinates.
  • the partial motion vectors V, V, ..., V in the X direction and the y direction are both linear.
  • the low resolution is obtained by using the partial motion vectors V, V, ..., V after replacement.
  • V, V, ..., V are searched.
  • the two detailed images are subjected to the same processing (edge filter processing, conversion to a cumulative addition image) as performed on the two coarse images.
  • the search range of each block scale is the value of the partial motion vector V after replacement ( ⁇ , Ay ).
  • the size of the reference areas E and E is 200 pixels X2 i i 1 2
  • the search range is set to ⁇ : ⁇ ⁇ 6 pixels and ⁇ : Ay ⁇ 6 pixels. If the search range is limited to a narrow range in this way, the amount of computation required for the search can be suppressed.
  • the partial motion vector V after replacement is obtained with coarse and image sizes, and is therefore recorded in a small! / ⁇ size. Therefore, the value ( ⁇ , Ay) needs to be corrected before searching. In the correction, after that, the value ( ⁇ X, ⁇ y) may be multiplied by a detailed image size ratio to the image and an equal coefficient.
  • each of the forces of the blocks R 1, R 2,. , ..., V is searched.
  • the partial motion vectors V, V, ..., V searched in this step are
  • the image blocks R 1, R 2,--R are aligned and synthesized. This makes it possible to
  • V, ⁇ are effectively used, and there is a rotation component in the movement between the two images.
  • the reliability is high!
  • the motion vector distribution is approximated based on the representative motion vector (steps S3 to S5). Can be accurately expressed. Since the approximate surface is a flat surface, the amount of computation for approximating the motion vector distribution and the amount of information for expressing the motion vector distribution can be minimized.
  • projection data is used for searching for a partial motion vector, so that the amount of calculation related to the search can be suppressed rather than using an edge image as it is.
  • the cumulative addition image is created in advance, the amount of computation related to the creation of projection data can be reduced.
  • an approximate motion vector distribution is obtained in advance based on a rough image (steps S2 to S5), and detailed motion of the image is detected with a small amount of calculation using the distribution. (Step S6), it is possible not only to detect the movement with high accuracy, but also to reduce the amount of computation required for detection.
  • step S4 the first evaluation value described above is selected in the selection of the representative motion vectors V 1, V 2, and V,
  • steps S4 and S5 three representative motion vectors V 1, V 2, and V are used to approximate the motion vector distribution in a plane, but four or more representative motion vectors may be used.
  • the approximate surface of the motion vector distribution is a plane, but it may be a curved surface. If a curved surface is used, the motion between images can be expressed in more detail. However, the greater the order of the approximate planes, the greater the number of representative motion vectors to be selected in step S4.
  • step S3 to S5 after approximating the motion vector distribution of the coarse image (steps S3 to S5), the detailed image motion vector is searched again (step S6).
  • S3 to S5) may be performed directly on the detailed image. However, it is more efficient to divide into two stages as in this embodiment.
  • the camera shake correction process is executed by the electronic still camera circuit (image processing circuit 17). However, part or all of the camera shake correction process is performed by another imaging device such as a video camera. Various image input devices, computers, and the like may be executed. If you want a computer to execute a process, install a program to execute that process on the computer.
  • the present embodiment is an embodiment of motion vector detection processing.
  • the number of images is set to 2, and the motion vectors of the blocks in the two images are detected.
  • FIG. 11 is a flowchart showing the flow of detection processing of the present embodiment. Each step will be explained in detail. (Step SI 1, S21)
  • edge filtering is applied to each of the two images f (X, y) and f (x, y).
  • g v (x, y) -f (x, y-2) -f (x, y-l) + f (x, y + l) + f (x, y + 2)
  • g v (x, y) -f (x, y-2) -f (x, y-l) + f (x, y + l) + f (x, y + 2)
  • g h (x, y) -f (x-2, y) -f (x— 1, y) + f (x + l, y) + f (x + 2, y)
  • g h (x, y) -f (x-2, y) -f (x— 1, y) + f (x + l, y) + f (x + 2, y)
  • the filter output gi v (x, y) corresponds to the edge image gi v (x, y) described in the first embodiment (FIG. 5), and the filter output gv (x, y) corresponds to the first embodiment.
  • Edge image gv (x) corresponds to the edge image gi v (x, y) described in the first embodiment (FIG. 5)
  • the filter output gv (x, y) corresponds to the first embodiment.
  • the filter output gi h (x, y) corresponds to the edge image gh (x, y) described in the first embodiment, and the filter output gh (x, y) Edge image gh (x
  • edge filter processing according to the above equation assumes edge filters Fa and Fb as shown in FIG. 12, and is different in size from the edge filter shown in FIG.
  • gh (x, y), gv (x, y), gh (x, y) pixel values are compared with a predetermined threshold
  • the pixel value is replaced with zero.
  • the noise power of the filter outputs g v (x, y), gh (x, y), gv (x, y), gh (x, y) is reduced.
  • filter output after noise reduction g v (x, y), g v (x, y), g h (x, y), g
  • the center coordinates (cx, cy) and size (Bx, By) of the block from which the motion vector is searched are determined.
  • Bx is the size in the X direction
  • By is the size in the y direction. If the motion vector search source is the entire image, the center coordinates of the block should be the center coordinate of the image, and the block size should match the size of the entire image.
  • the calculation method of,) is basically the same as that of the first embodiment. That is, in this step, as conceptually shown in FIG. 12, the projection data L h, L V in the x′y direction of the reference region ⁇
  • Correlation values d, j8) are calculated by adding and subtracting the projection data L 1, L 2, L 3, and L 4. [0060] Even in this step, the projection data L 1, L 2, L 3, and L are calculated using the cumulative addition image h (lh lv 2h 2v 1 x, y), h (x, y), v (x, y) , v (x, y) is used. However, in this embodiment, the block
  • the correlation value d, j8) is calculated using the following formula that is a general expression of the calculation formula described in the first embodiment.
  • the value ( ⁇ , Ay) of the position shift amount (a, j8) that minimizes the correlation value d ( ⁇ , ⁇ ) is found, and the value ( ⁇ , Ay) is used as the motion vector V. Is output. This completes the motion vector detection process.
  • step S36 to S39 since the projection data L 1, L 2, L 3, and L are used for the search for the motion vector V (steps S36 to S39), the feature amount images gv (x, y), gv (x, y ), gh (x, y), and gh (lh lv 2h 2v 1 2 1 2 x, y) are used as they are.
  • step S1 4 and S24 cumulative addition images h (X, y), h (x, y), v (x, y), v (x, y) are created in advance.
  • the projection data L 1, L 2, L 3, L are created, and the correlation value dU, j8) is calculated lh lv 2h 2v
  • the search for the motion vector V (steps S36 to S39) is performed at high speed.
  • steps S12 and S22 of this embodiment since two or more processes including edge filter processing are performed on the image f (X, y), f (x, y), a good feature image gv (x , y), gv (x, y),
  • steps S12 and S22 described above other types of filter processing may be employed as long as it is possible to extract a force feature amount that employs edge filter processing to extract edge information.
  • the detection method of the present embodiment is for processing a plurality of input images.
  • a force obtained by low-resolution conversion of a plurality of input images may be similarly processed.
  • the detection method of the present embodiment is applicable to a camera shake correction method that aligns and combines images based on the motion vectors of two images.
  • the detection method of the present embodiment or the camera shake correction method to which the detection method is applied is executed by an imaging device, an image input device, a computer, or the like. If you want to run it on your computer, you just need to install a program on your computer to run that process.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)

Abstract

 本発明は、画像内を分割してできるブロック数を増やさなくとも複数の画像間の動きを高精度に検出することを目的とする。そのために、本発明の画像処理方法は、前記複数の画像の各ブロックから部分動きベクトルを探索する探索手順(S3)と、前記各ブロックの部分動きベクトルの中から代表動きベクトルを選出する選出手順(S4)と、前記代表動きベクトルに基づき前記画像上の動きベクトル分布を近似する近似手順(S5)とを含むことを特徴とする。因みに、その近似面を平面とすれば、動きベクトル分布を近似するための演算量や、動きベクトル分布を表現するための情報量を最小限に抑えることができる。

Description

明 細 書
画像処理方法、画像処理プログラム、画像処理装置、及び撮像装置 技術分野
[0001] 本発明は、ディジタルカメラ、画像処理ソフトウェアなどに適用される画像処理方法
、画像処理プログラムに関する。また、本発明は、ディジタルカメラなどに適用される 画像処理装置、ディジタルカメラなどの撮像装置に関する。
背景技術
[0002] ディジタル処理による手振れ補正は、連続して撮影された複数枚の画像間の動き ベクトルを検出し、その動きベクトルに応じてそれらの画像を位置合わせして合成す るものである。動きベクトルの検出方法は、特許文献 1などに開示されており、例えば 、複数の画像の各ブロック力も動きベクトル (部分動きベクトル)を検出し、各ブロック の部分動きベクトルに基づき画像全体の動きベクトルを 1つ求めている。
特許文献 1:特開平 7— 38800号公報
発明の開示
発明が解決しょうとする課題
[0003] しかし、部分動きベクトルの中には信頼性の低!、ものも混ざって 、るので、この方法 で動きベクトルの検出精度を向上させるには、ブロック数を増やす必要があり、その 分だけ演算量が増える。また、画像間の動き方によっては、動きベクトルがその動き を的確に表現できて ヽな 、場合もある。
そこで本発明は、ブロック数を増やさなくとも複数の画像間の動きを高精度に検出 することのできる画像処理方法、画像処理プログラム、画像処理装置、及び撮像装置 を提供することを目的とする。
課題を解決するための手段
[0004] 本発明の第 1の画像処理方法は、複数の画像間の動きを検出する画像処理方法 であって、前記複数の画像の各ブロック力 部分動きベクトルを探索する探索手順と 、前記各ブロックの部分動きベクトルの中から代表動きベクトルを選出する選出手順 と、前記代表動きベクトルに基づき前記画像上の動きベクトル分布を近似する近似手 順とを含むことを特徴とする。
[0005] なお、前記代表動きベクトルは、少なくとも 3つ選出され、前記動きベクトル分布は、 前記画像上の位置の一次関数で近似されることが望ましい。
また、前記各ブロックの探索では、前記ブロック内の参照領域の特徴量を 2方向へ 加算してできる 2種類の投影データが用いられることが望ましい。
また、前記各ブロックの探索では、前記ブロックの特徴量を前記 2方向へ累積加算 してできる 2種類の累積加算画像が予め作成され、前記 2種類の投影データは、前 記 2種類の累積加算画像の一部から作成されることが望ましい。
[0006] また、前記探索手順、前記選出手順、及び前記近似手順による前記動きベクトル 分布の算出処理は、前記複数の画像を低解像度変換してできる複数の粗い画像に 対して施されてもよい。
さらに、前記複数の粗い画像力も算出された前記動きベクトル分布を利用して、前 記低解像度変換前の複数の詳細な画像間の動きが検出されてもよい。
[0007] また、前記検出した動きに基づき前記複数の詳細な画像が位置合わせして合成さ れてもよい。
また、本発明の第 1の画像処理プログラムは、本発明の第 1の画像処理方法の何れ かをコンピュータに実行させることを特徴とする。
また、本発明の第 1の画像処理装置は、本発明の第 1の画像処理方法の何れかを 実行する手段を備えたことを特徴とする。
[0008] また、本発明の第 1の撮像装置は、被写体を連続的に撮像して複数の画像を取得 することの可能な撮像手段と、本発明の第 1の画像処理装置の何れかとを備えたこと を特徴とする。
(第 2の発明)
本発明の第 2の画像処理方法は、複数の画像間の動きベクトルを探索する画像処 理方法であって、前記複数の画像中の参照領域の相関を、その参照領域の位置を 前記画像間でずらしながら算出する算出手順を含み、前記参照領域の相関として、 前記参照領域の特徴量を 2方向へ加算してできる 2種類の投影データの相関を算出 することを特徴とする。 [0009] なお、前記算出手順では、前記参照領域の特徴量を前記 2方向へ累積加算してで きる 2種類の累積加算画像が予め作成され、前記 2種類の投影データは、前記 2種 類の累積加算画像の一部から作成されることが望ましい。
また、前記参照領域の特徴量は、前記参照領域に対し 2以上の処理を施して抽出 されたものであることが望まし 、。
[0010] また、前記 2以上の処理のうち 1つは、エッジフィルタ処理であることが望ましい。
また、前記動きベクトルは、前記画像を分割してできるブロックの動きベクトルであつ てもよい。
また、前記動きベクトルは、前記画像の全体の動きベクトルであってもよい。
また、本発明の第 2の画像処理プログラムは、本発明の第 2の画像処理方法の何れ かをコンピュータに実行させることを特徴とする。
[0011] また、本発明の第 2の画像処理装置は、本発明の第 2の画像処理方法の何れかを 実行する手段を備えたことを特徴とする。
また、本発明の第 2の撮像装置は、被写体を連続的に撮像して複数の画像を取得 することの可能な撮像手段と、本発明の第 2の画像処理装置とを備えたことを特徴と する。
発明の効果
[0012] 本発明によれば、複数の画像間の動きを高精度に検出することのできる画像処理 方法、画像処理プログラム、画像処理装置、及び撮像装置が実現する。
図面の簡単な説明
[0013] [図 1]第 1実施形態の電子スチルカメラの構成を示すブロック図である。
[図 2]手振れ補正処理の流れを示すフローチャートである。
[図 3]ステップ S3の原理を説明する図である。
[図 4]投影データを用いる場合のステップ S3を説明する図である。
[図 5]累積加算画像を用いる場合のステップ S3を説明する図である。
[図 6]ステップ S4を説明する図である。
[図 7]代表動きベクトル V , V , Vを示す図である。
a c
[図 8] Δ χの近似平面 Sxを示す図である。 [図 9] Ayの近似平面 Syを示す図である。
[図 10]置換後の部分動きベクトル V;の例を示す図である。
[図 11]第 2実施形態の検出処理の流れを示すフローチャートである。
[図 12]第 2実施形態 (及び第 1実施形態)の相関値 dの算出方法の概念を説明する 図である。
発明を実施するための最良の形態
[0014] [第 1実施形態]
以下、本発明の第 1実施形態を説明する。本実施形態は、手振れ補正機能付きの 電子スチルカメラの実施形態である。
図 1は、電子スチルカメラの構成を示すブロック図である。図 1に示すとおり、電子ス チルカメラ 10には、撮像素子 12、信号処理回路 13、メモリ 14、圧縮'伸張回路 15、 記録部 16、画像処理回路 17などが配置される。
[0015] 電子スチルカメラ 10に装着された撮影レンズ 11は、撮像素子 12上に被写体の像 を形成する。撮像素子 12は、その被写体の像を撮像して画像を取得する。その画像 は、信号処理回路 13において処理された後、メモリ 14^ ^一時的に格納される。画像 処理回路 17は、その画像に対し画像処理を施し、画像処理後の画像は、圧縮'伸張 回路 15にお ヽて圧縮処理が施された後、記録部 16にお ヽて記録される。
[0016] 特に、電子スチルカメラ 10が手振れ補正モードに設定されているとき、撮像素子 12 は、適正露光時間、又は予め設定された露光時間に対して n段アンダーかつ微小時 間間隔で 2 X n枚の画像を取得する。画像処理回路 17は、それら複数枚の画像を入 力し、手振れ補正処理を実行して補正画像を取得する。その補正画像が、圧縮'伸 張回路 15を介して記録部 16に記録される。
[0017] 次に、画像処理回路 17による手振れ補正処理の全体の流れを説明する。
図 2は、手振れ補正処理の流れを示すフローチャートである。図 2に示すとおり、画 像処理回路 17は、複数枚の画像を入力すると (ステップ S1)、それらを低解像度変 換して複数枚の粗い画像を取得し (ステップ S 2)、それら粗い画像の各ブロックから 部分動きベクトルを探索する (ステップ S3)。
[0018] その後、画像処理回路 17は、部分動きベクトルの中力も代表動きベクトルを選出し (ステップ S4)、それら代表動きベクトルに基づき画像上の動きベクトル分布を近似す る(ステップ S5)。以上のステップ S2〜S5の処理は、粗い画像に基づく検出なので「 粗検出」に相当する。
そして、画像処理回路 17は、粗検出で取得した動きベクトル分布を利用して、低解 像度変換前の複数枚の詳細な画像の各ブロックから、改めて部分動きベクトルを探 索する (ステップ S6)。このステップ S6の処理は、詳細な画像に基づく検出なので「詳 細検出」に相当する。
[0019] さらに、画像処理回路 17は、ステップ S6で得た部分動きベクトルに基づき複数枚 の詳細な画像を位置合わせして合成し (ステップ S 7)、合成後の画像を補正画像とし て出力する (ステップ S8)。
次に、ステップ S3〜S7を詳細に説明する。ここでは、簡単のため、画像の枚数を 2 とする。
[0020] (ステップ S3)
図 3は、ステップ S3の原理を説明する図である。
図 3に示すとおり、本ステップでは、粗い画像 f , f に対しそれぞれエッジフィルタ処
1 2
理が施され、エッジ画像 g , gが取得される。そして、エッジ画像 g , gの各々が複数
1 2 1 2
のブロック Rに分割される。ブロック Rの個数は、例えば、画像の水平方向に 6、画像 の垂直方向に 4の合計 24である。以下、画像の水平方向(図の左右方向)を「x方向 」とし、画像の垂直方向(図の上下方向)を「y方向」とする。ブロック Rからの部分動き ベクトルの探索は、次のとおり行われる。
[0021] 先ず、図 3中に拡大して示すとおり、エッジ画像 g , gのブロック R内の参照領域 E
1 2 1
, Eがそれぞれ参照され、それら参照領域 E , Eの間の相関値 dとして、参照領域 E
2 1 2 1
, Eの差分の絶対値が算出される。相関値 dの算出は、参照領域 E , Eの間の位置
2 1 2 ずらし量 (X方向: a , y方向: j8 )を変化させながら繰り返し行われる。
この位置ずらし量(ひ, |8 )の変化範囲 (探索範囲)は十分に広く設定される。例え ば、参照領域 E , Eのサイズが 75画素 X 75画素であるとき、探索範囲は、 α : ± 15
1 2
画素、 j8 : ± 15画素に設定される。
[0022] そして、この探索範囲内で相関値 dが最小となるような位置ずらし量(ひ , j8 )の値( Δ χ, Ay)が見出される。この値(Δ χ, Ay)力 ブロック Rの部分動きベクトル Vと見な される。
但し、以上の探索では、二次元のデータである参照領域 E , Eをそのまま演算に
1 2
用いると演算量が多くなるので、参照領域 E , Eの代わりに、参照領域 E , Eを y方
1 2 1 2 向に加算してできる一次元の投影データと、参照領域 E , Eを X方向に加算してでき
1 2
る一次元の投影データとを用いることが望ま U、。
[0023] 図 4は、投影データを用いる場合のステップ S3を説明する図である。
図 4に示すとおり、この場合、粗い画像 f , f に対し x方向のエッジフィルタ処理が施
1 2
され、エッジ画像 g V, g vが取得されると共に、粗い画像 f , f に対し y方向のエッジフ
1 2 1 2
ィルタ処理が施され、エッジ画像 g h, g hが取得される。なお、エッジ画像 g V, g vに
1 2 1 2 は y方向のエッジ成分が現れ、エッジ画像 g h, g hには、 x方向のエッジ成分が現れ
1 2
る。
[0024] 図 4中に拡大して示すとおり、このうち、エッジ画像 g Vの参照領域 Eが y方向にカロ 算され、投影データ L hが作成される。
1
また、エッジ画像 g Vの参照領域 Eが y方向に加算され、投影データ L hが作成され
2 2 2
る。
また、エッジ画像 g hの参照領域 Eが X方向に加算され、投影データ L Vが作成され
1 1 1
る。
[0025] また、エッジ画像 g hの参照領域 Eが X方向に加算され、投影データ L Vが作成され
2 2 2
る。
この場合、参照領域 E , Eの間の相関値 dは、投影データ L h, L hの差分の絶対
1 2 1 2
値と、投影データ L V, L Vの差分の絶対値との和で表される。
1 2
ここで、これらの投影データ L h, L h, L V, L vは、参照領域 E, Eの位置ずらし
1 2 1 2 1 2
量( α , β )が変化する毎に作成される必要がある。しかし、その度に参照領域 Ε , Ε
1 2 を加算していると演算量が多くなるので、予め、エッジ画像 g V, g V, g h, g hの累積
1 2 1 2 加算画像を作成しておくとよい。
[0026] 図 5は、累積加算画像を用いる場合のステップ S3を説明する図である。
図 5に示すとおり、この場合も、図 4の場合と同様に、粗い画像 f , f力もエッジ画像 g h, g h, g v, g v力取得される。
1 2 1 2
このうち、エッジ画像 g vが y方向に累積加算され、累積加算画像 hが作成される。
1 1
また、エッジ画像 g Vが y方向に累積加算され、累積加算画像 hが作成される。
2 2
[0027] また、エッジ画像 g hが X方向に累積加算され、累積加算画像 Vが作成される。
1 1
また、エッジ画像 g hが X方向に累積加算され、累積加算画像 Vが作成される。
2 2
これら累積加算画像 h , h , V , Vの算出式を具体的に示すと、以下の通りである。
1 2 1 2
[0028] [数 1] 、 =∑giv(x', ) ^(x,y)= ^g]h x, ) f (^ )=∑g2v(^ y) (x,y)^∑ (, ') そして、図 5中に拡大して示すとおり、上述した投影データ L hは、累積加算画像 h
1 1 の参照領域 Eの上下 2ラインの差分をとることによって作成される。
1
また、上述した投影データ L hは、累積加算画像 hの参照領域 Eの上下 2ラインの
2 2 2
差分をとること〖こよって作成される。
[0029] また、上述した投影データ L Vは、累積加算画像 Vの参照領域 Eの左右 2ラインの
1 1 1
差分をとること〖こよって作成される。
また、上述した投影データ L Vは、累積加算画像 Vの参照領域 Eの左右 2ラインの
2 2 2
差分をとること〖こよって作成される。
したがって、この場合、参照領域 E , Eの間の相関値 dは、以下の式により、少ない
1 2
演算量で算出される。但し、 Bは、ブロックサイズである。
[0030] [数 2] d(cc, , B)- (,0)}- ¾ (/, B + )-h2 (, β)} (B, )-v, (0, j)}- {v2 (B + aj)- v2 (a, j)}
Figure imgf000009_0001
(ステップ S4)
図 6は、ステップ S4を説明する図である。図 6において、符号 R , R , ···, R で示す のは、画像内の各ブロックであり、符号 V , V , · ··, V で示すのは、ブロック R , R ,
1 2 24 1 2
· ··, R
24力も個別に探索された部分動きベクトルのイメージである。以下、このように、 ブロック Rの個数を 24とし、各ブロックに関する各量にブロック番号を示す添え字を付 して説明する。
[0031] 本ステップでは、先ず、部分動きベクトル V , V , · ··, V を評価する。各部分動き
1 2 24
ベクトル Vの評価値としては、例えば、次の 2種類の評価値 Δ Ε , eが用いられる。 第 1評価値 Δ Ε :
部分動きベクトル Vの値( Δ X , Δ y )と略同等の位置ずらし量を全てのブロック R , R , · ··, R に対し試験的に当てはめたときの各ブロック R , R , · ··, R の相関値 d ,
2 24 1 2 24 1 d , · ··, d の総和である。この第 1評価値 Δ Εが小さいほど、部分動きベクトル Vの信
2 24 i i 頼度を高いと見なせる。
[0032] 但し、ブロック Rの相関値 dを求める際には、次のような探索を行うことが望ましい。
k k
すなわち、ブロック Rの位置ずらし量( α , j8 )を部分動きベクトル Vと等し 、値( Δ X k 1 1
, Ay)の近傍の狭い範囲で変化させながら相関値 dを算出し、そのときの最小の相 関値 dの値をブロック Rの相関値 dと見なす。その変化範囲(探索範囲)は、例えば、
k k
a: Δ χ ± 2画素, β: Ay ± 2画素である。
[0033] なお、第 1評価値 Δ Ε;の算出式を具体的に示すと、以下のとおりである(但し、プロ ック数を 24とした。;)。
[0034] [数 3]
24
^ =∑ Λ mm k («,/?)] 第 2評価値
部分動きベクトル V;の探索元であるブロック R;のエッジ量である。例えば、 X方向の エッジフィルタ処理及び y方向のエッジフィルタ処理によりブロック Rの 2つのエッジ成 分を取得し、それらエッジ成分の絶対値の平均値である。この第 2評価値 eが大きい ほど、部分動きベクトル Vの信頼度を高いと見なせる。
[0035] さて、本ステップでは、部分動きベクトル V , V , · ··, V の各々に関し第 1評価値 Δ
1 2 24
Eが生成され、第 1評価値 Δ Εの小さい順に部分動きベクトル V , V , · ··, V I — i i 1 2 24 トされる。但し、第 1評価値 ΔΕ;が互いに同じとなった部分動きベクトルに関しては、さ らに第 2評価値 eが生成され、第 2評価値 eの大きい順にソートされる。
以上のソートの結果、第 1位となった部分動きベクトルを、第 1の代表動きベクトル V として選出する(図 7参照)。
[0036] さらに、第 2位以降の部分動きベクトルの中から、以下の条件を満たす第 2の代表 動きベクトル V、第 3の代表動きベクトル Vが選出される(図 7参照)。
•代表動きべクトノレべクトノレ V , V , Vの探索元であるブロック R, R, Rの中心座 標が同一直線上に存在して ヽな 、。
• {ブロック R , R, Rの中心座標を結んでできる三角形の面積 }*{代表動きべタト ル V , V , Vの第 2評価値 e , e , eの総和 }が最大である。
[0037] '代表ベクトル V , V , Vの第 1評価値 ΔΕ , ΔΕ , ΔΕの総和は、上位 3つの部 分動きベクトルの第 1評価値の総和と同じである。
(ステップ S 5)
図 8、図 9は、ステップ S5を説明する図である。
本ステップでは、図 8に示すとおり、代表動きベクトル V , V , Vの X成分 Δχ , Δχ
, Δχ^に基づき、部分動きベクトル Vの x成分 Δχの画像上の分布が近似される。
[0038] 図 8では、画像上の二次元座標 (X, y)と、 Δχ方向の一次元座標とからなる三次元 座標を示した。このとき、 Δχの分布は、図中に点線で示すような平面 Sxで近似され る。
この平面 Sxは、ブロック Rの中心座標を(X , y , 0)とおき、ブロック Rの中心座標 を (χ , y , 0)とおき、ブロック Rの中心座標を (x , y , 0)とおいたときに、 3つの座標
(x, y , Δχ), (x, y , Δχ), (x , y , Δχ )を通る平面である。つまり、平面 Sxは、 上記 3つの座標力 決まる 3つの定数 A , A, A〖こより、以下の 1次式で特定される。
1 2 3
Figure imgf000011_0001
同様に、本ステップでは、図 9に示すとおり、代表動きベクトル V , V, Vの y成分 Δ y, Δγ, Ayに基づき、部分動きベクトル Vの y成分 Ayの画像上の分布が近似され る。
[0039] 図 9では、画像上の二次元座標 (X, y)と、 Ay方向の一次元座標とからなる三次元 座標を示した。このとき、 Ayの分布は、図中に点線で示すような平面 Syで近似され る。
この平面 Syは、 3つの座標(X , y , Δγ), (χ , y , Δγ ), (χ , y , Ay)を通る平 a a a b b b c c c 面である。この平面 Syは、上記 3つの座標から決まる 3つの定数 B , B , Bにより、以
1 2 3 下の 1次式で特定される。
Sv: Ay=Bx + By+B ,
1 2 3
以上の 2つの平面 Sx, Syにより、画像上の動きベクトル分布が表されることになる。
[0040] ここで、 2つの平面 Sx, Syで表された動きベクトル分布に従い、前述した部分動き ベクトル V , V, ···, V の値を置換すると、例えば、図 10に示すようになる。置換後
1 2 24
の部分動きベクトル V, V,…, V の X方向の分布、 y方向の分布は、何れも直線的
1 2 24
になる。
(ステップ S6)
本ステップでは、置換後の部分動きベクトル V , V, ···, V を利用して、低解像度
1 2 24
変換前の 2枚の詳細な画像のブロック R, R,…, R から、改めて部分動きベクトル
1 2 24
V, V, ···, V が探索される。
1 2 24
[0041] 探索に当たり、 2枚の詳細な画像には、 2枚の粗い画像に対し施されたのと同じ処 理 (エッジフィルタ処理,累積加算画像への変換)が施される。
また、粗い画像による粗検出により大凡の探索は済んでいるので、各ブロック尺の 探索範囲 (位置ずらし量(ひ, )の変化範囲)は、置換後の部分動きベクトル Vの値 (Δχ, Ay)の近傍に制限される。例えば、参照領域 E , Eのサイズが 200画素 X2 i i 1 2
00画素であるとき、探索範囲は、 α: Δχ±6画素、 β: Ay ±6画素に設定される。こ のように探索範囲を狭い範囲に制限すれば、探索に要する演算量を抑えることがで きる。
[0042] 但し、置換後の部分動きベクトル Vは、粗 、画像カゝら得られたものなので、小さ!/ヽサ ィズで計上されている。よって、値(Δχ, Ay)は、探索前に補正される必要がある。 その補正では、 ¾ 、画像に対する詳細な画像のサイズ比と等 ヽ係数を値( Δ X , Δ y)に対し乗算すればよい。
以上の条件下で、ブロック R , R , ···, R の各々力 改めて部分動きベクトル V , V , · ··, V が探索される。本ステップで探索された部分動きベクトル V , V , · ··, V が
2 24 1 2 24
、最終的な部分動きベクトルである。
[0043] (ステップ S 7)
本ステップでは、最終的な部分動きベクトル V , V , - --V に応じて、 2枚の詳細な
1 2 24
画像のブロック R , R , - --R が位置合わせされ、合成される。これによつて、 1枚の補
1 2 24
正画像が完成する。なお、この合成の際、画像の必要な箇所が画素補間される。 このように、画像の位置合わせをブロック毎に行えば、最終的な部分動きベクトル V
1
, V ,→が有効利用されることになり、 2枚の画像間の動きに回転成分が生じてい
2 24
た場合や、拡大 Z縮小成分が生じていた場合などにも対処できる (ステップ S7終了)
[0044] 以上、本実施形態の手振れ補正処理では、信頼度の高!、代表動きベクトルに基づ き動きベクトル分布を近似する(ステップ S3〜S5)ので、ブロック数を増やさなくとも、 画像間の動きを的確に表現することができる。し力も、その近似面を平面としたので、 動きベクトル分布を近似するための演算量や、動きベクトル分布を表現するための情 報量は、最小限に抑えられる。
[0045] また、本実施形態の手振れ補正処理では、部分動きベクトルの探索に、投影デー タを用いるので、エッジ画像をそのまま用いるよりも、探索に関わる演算量が抑えられ る。しかも、累積加算画像を予め作成しておくので、投影データの作成に関わる演算 量ち抑免られる。
また、本実施形態の手振れ補正処理では、粗い画像に基づき大凡の動きベクトル 分布を予め求めておき (ステップ S2〜S5)、それを利用して少ない演算量で詳細な 画像の動きを検出するので (ステップ S6)、その動きを高精度に検出できるだけでな ぐ検出に要する演算量を抑えることもできる。
[0046] (その他)
なお、ステップ S3, S6では、フィルタ処理の種類としてエッジフィルタ処理を採用し たのでブロック力も抽出される特徴量がエッジ情報であった力 他の種類のフィルタ 処理を採用し、ブロック力も抽出される特徴量を、ブロック内のパターンを示す他の特 徴量に代えてもよい。 [0047] また、ステップ S4では、代表動きベクトル V , V , Vの選出に上述した第 1評価値,
a b c
第 2評価値の組み合わせを用いた力 部分動きベクトルの信頼度を示すのであれば 、他の組み合わせに代えてもよい。
また、ステップ S4, S5では、動きベクトル分布を平面で近似するのに、 3つの代表 動きベクトル V , V , Vを用いたが、 4以上の代表動きベクトルを用いてもよい。
a b c
[0048] また、ステップ S4, S5では、動きベクトル分布の近似面を平面としたが、曲面として もよい。曲面にすれば、画像間の動きを更に詳細に表現することができる。但し、近 似面の次数が多くなるほど、ステップ S4で選出すべき代表動きベクトルの数も多くな る。
また、本実施形態の手振れ補正処理では、粗い画像の動きベクトル分布を近似し てから (ステップ S3〜S5)、詳細な画像の動きベクトルを改めて探索した (ステップ S6 )力 同様の近似処理 (ステップ S3〜S5)を詳細な画像に対して直接施してもよい。 但し、本実施形態のように 2段階に分けた方が、効率的である。
[0049] また、本実施形態では、手振れ補正処理を電子スチルカメラの回路 (画像処理回 路 17)に実行させたが、手振れ補正処理の一部又は全部を、ビデオカメラなどの他 の撮像装置、各種の画像入力装置、コンピュータなどに実行させてもよい。なお、コ ンピュータに処理を実行させる場合、その処理を実行させるためのプログラムをコン ピュータにインストールすればよ 、。
[0050] [第 2実施形態]
以下、本発明の第 2実施形態を説明する。本実施形態は、動きベクトルの検出処理 の実施形態である。
ここでも簡単のため画像の枚数を 2とし、 2枚の画像中のブロックの動きベクトルを検 出対象とする。また、そのブロックの座標及びサイズは任意とする。よって、ブロックの サイズを大きく設定すれば、 2枚の画像の全体の動きベクトルを検出することができる 。また、ブロックを複数ィ匕し、各ブロックの動きベクトル(=部分動きベクトル)をそれぞ れ検出すれば、第 1実施形態のステップ S3への適用も可能である。
[0051] 図 11は、本実施形態の検出処理の流れを示すフローチャートである。各ステップを 詳細に説明する。 (ステップ SI 1, S21)
本ステップでは、微小時間間隔で取得された 2枚の画像 f (X, y), f (x, y)が入力
1 2
される。
[0052] (ステップ SI 2, S22)
本ステップでは、 2枚の画像 f (X, y), f (x, y)の各々に対しエッジフィルタ処理が
1 2
施される。第 1の画像 f (X, y)に関する垂直 ·水平方向(x'y方向)のフィルタ出力 g V
1 1
(X, y), gh(x, y)、第 2の画像 f (x, y)に関する垂直 ·水平方向(x'y方向)のフィル
1 2
タ出力 g v(x, y) , gh(x, y)は、それぞれ以下の式で表される。
2 2
[0053] g v(x,y)=- f (x,y-2)-f (x,y- l)+f (x,y+l)+f (x,y+2)
1 1 1 1 1
g v(x,y)=- f (x,y-2)-f (x,y- l)+f (x,y+l)+f (x,y+2)
2 2 2 2 2
g h(x,y)=-f (x-2,y)-f (x— 1 ,y)+f (x+l,y)+f (x+2,y)
1 1 1 1 1
g h(x,y)=-f (x-2,y)-f (x— 1 ,y)+f (x+l,y)+f (x+2,y)
2 2 2 2 2
このうちフィルタ出力 giv(x, y)は、第 1実施形態(図 5)で説明したエッジ画像 giv(x , y)に相当し、フィルタ出力 g v(x, y)は、第 1実施形態で説明したエッジ画像 g v(x
2 2
, y)に相当し、フィルタ出力 gih(x, y)は、第 1実施形態で説明したエッジ画像 g h(x , y)に相当し、フィルタ出力 g h(x, y)は、第 1実施形態で説明したエッジ画像 g h(x
2 2
, y)に相当する。
[0054] 但し、上式によるエッジフィルタ処理は、図 12中に示すようなエッジフィルタ Fa, Fb を想定しており、図 5中に示したエッジフィルタとはサイズが異なる。
さらに、本ステップでは、このようなエッジフィルタ処理に他の処理を組み合わせる。 例えば、ノイズ低減処理である。ノイズ低減処理では、上述したフィルタ出力 gv(x, y
1
), gh(x, y), gv(x, y), gh(x, y)の各画素値を所定の閾値と比較し、閾値以下と
1 2 2
なったものについては、その画素値をゼロへと置換する。これによつて、フィルタ出力 g v(x, y), gh(x, y), gv (x, y), gh (x, y)のノイズ力 ^低減される。
1 1 2 2
[0055] (ステップ S13, S23)
本ステップでは、ノイズ低減後のフィルタ出力 g v(x, y), g v(x, y), g h(x, y) , g
1 2 1 2 h(x, y)の各々により画像を作成する。以下、作成された画像を、特徴量画像 g v(x
1
, y), gv(x, y), gh(x, y), g h(x, y)と称す。但し、メモリの使用量を削減するため 、本ステップを省略し、次のステップにおいてフィルタ出力 g v (x, y) , g v(x, y) , g
1 2 1 h (x, y) , g h(x, y)をそのまま使用することも可能である。
2
[0056] (ステップ S14, S24)
本ステップでは、特徴量画像 g v(x, y), g v(x, y), g h (x, y), g h(x, y)の各々
1 2 1 2
に基づき累積加算画像 h (x, y) , h (x, y) , v (x, y) , v (x, y)を作成する。累積加
1 2 1 2
算画像 h (x, y) , h (x, y) , v (x, y) , v (x, y)の算出式は、第 1実施形態で説明し
1 2 1 2
た算出式と同じであり、以下のとおりである。
[0057] [数 4]
Figure imgf000016_0001
( ) =∑ g2v (χ' , y) v2 (χ, y)= ^ Sih ( y')
'=0
(ステップ S35)
本ステップでは、動きベクトルの探索元となるブロックの中心座標(cx, cy)及びサイ ズ(Bx, By)を決定する。 Bxは X方向のサイズ、 Byは y方向のサイズである。なお、動 きベクトルの探索元を画像全体とする場合は、ブロックの中心座標を画像の中心座 標とし、ブロックのサイズを画像全体のサイズに一致させればょ 、。
[0058] (ステップ S36)
本ステップでは、第 1の画像 f におけるブロック内の参照領域 Eと、第 2の画像 f (X
1 1 2
, y)におけるブロック内の参照領域 Eとを設定する。但し、参照領域 E , Eのサイズ
2 1 2 は共通であり、ブロックにおける参照領域 Eの座標は固定なので、ここで設定される
1
のは、参照領域 Eを基準とした参照領域 Eの位置ずらし量 。
1 2 , j8 )のみでよ!/、
[0059] (ステップ S37)
本ステップでは、参照領域 E , Eの間の相関値 d( α , β )を算出する。相関値 d( α
1 2
, )の算出方法は、第 1実施形態のそれと基本的に同じである。すなわち、本ステツ プでは、図 12に概念的に示すとおり、参照領域 Εの x'y方向の投影データ L h, L V
1 1 1 を作成し、参照領域 Eについても同様の投影データ L h, L Vを作成し、それら 4種類
2 2 2
の投影データ L , L , L , L を加減算することで相関値 d , j8 )を算出する。 [0060] そして、本ステップでも、投影データ L , L , L , L の算出には累積加算画像 h ( lh lv 2h 2v 1 x, y) , h (x, y), v (x, y), v (x, y)が利用される。但し、本実施形態では、ブロック
2 1 2
の中心座標(cx, cy)及びサイズ (Bx, By)が任意なので、相関値 d , j8)の算出 には、第 1実施形態で説明した算出式を一般ィ匕した以下の式が使用される。
[0061] [数 5]
ά{α,β)
= ∑ |{v, ((, y+Byl 2)— v, cy-Byl 2)}— ^2(( + a,cy+By/2 + fi)-v^ + a,cy~By/2 + β)}
Figure imgf000017_0001
(ステップ S38, S39)
以上の相関値 d( a, j8)の算出は、位置ずらし量(a, j8)を変更しながら繰り返し 行われる。
(ステップ S40)
本ステップでは、相関値 d (α, β)が最小となるような位置ずらし量( a , j8 )の値( Δχ, Ay)が見出され、その値(Δχ, Ay)が動きベクトル Vとして出力される。これに よって、動きベクトルの検出処理が終了する。
[0062] 以上、本実施形態でも、動きベクトル Vの探索 (ステップ S36〜S39)に投影データ L , L , L , L を用いるので、特徴量画像 gv(x, y), gv(x, y) , gh(x, y), gh( lh lv 2h 2v 1 2 1 2 x, y)をそのまま用いるよりも、探索に関わる演算量が抑えられる。し力も、ステップ S1 4, S24において累積加算画像 h (X, y), h (x, y), v (x, y) , v (x, y)が予め作成
1 2 1 2
されるので、投影データ L , L , L , L の作成、ひいては相関値 dU, j8)の算出 lh lv 2h 2v
(ステップ S37)に関わる演算量も抑えられる。
[0063] したがって、本実施形態では動きベクトル Vの探索 (ステップ S36〜S39)が高速に 行われる。
また、本実施形態のステップ S 12, S22では、エッジフィルタ処理を含む 2以上の処 理を画像 f (X, y), f (x, y)へ施すので、良好な特徴量画像 gv(x, y), gv(x, y),
1 2 1 2 gh(x, y), g h(x, y)を取得することができる。したがって、本実施形態では動きべク
1 2
トル Vを高精度に検出することができる。 [0064] (その他)
なお、上述したステップ S12, S22では、エッジ情報を抽出するためにエッジフィル タ処理を採用した力 特徴量を抽出することができるのであれば他の種類のフィルタ 処理を採用してもよい。
また、本実施形態の検出方法は、入力された複数の画像を処理するものであった 力 入力された複数の画像を低解像度変換したものを同様に処理してもよい。
[0065] また、本実施形態の検出方法は、 2枚の画像の動きベクトルに基づきそれらの画像 を位置合わせして合成する手振れ補正方法に適用可能である。
また、本実施形態の検出方法又は、それが適用された手ぶれ補正方法は、撮像装 置、画像入力装置、コンピュータなどによって実行される。コンピュータに実行させる 場合、その処理を実行させるためのプログラムをコンピュータにインストールすればよ い。

Claims

請求の範囲
[1] 複数の画像間の動きを検出する画像処理方法であって、
前記複数の画像の各ブロック力 部分動きベクトルを探索する探索手順と、 前記各ブロックの部分動きベクトルの中から代表動きベクトルを選出する選出手順 と、
前記代表動きベクトルに基づき前記画像上の動きベクトル分布を近似する近似手 順と
を含むことを特徴とする画像処理方法。
[2] 請求項 1に記載の画像処理方法において、
前記代表動きベクトルは、少なくとも 3つ選出され、
前記動きベクトル分布は、前記画像上の位置の一次関数で近似される ことを特徴とする画像処理方法。
[3] 請求項 1又は請求項 2に記載の画像処理方法にお 、て、
前記各ブロックの探索では、
前記ブロック内の参照領域の特徴量を 2方向へ加算してできる 2種類の投影データ が用いられる
ことを特徴とする画像処理方法。
[4] 請求項 3に記載の画像処理方法において、
前記各ブロックの探索では、
前記ブロックの特徴量を前記 2方向へ累積加算してできる 2種類の累積加算画像 が予め作成され、前記 2種類の投影データは、前記 2種類の累積加算画像の一部か ら作成される
ことを特徴とする画像処理方法。
[5] 請求項 1〜請求項 4の何れか一項に記載の画像処理方法にお 、て、
前記探索手順、前記選出手順、及び前記近似手順による前記動きベクトル分布の 算出処理は、
前記複数の画像を低解像度変換してできる複数の粗い画像に対して施される ことを特徴とする画像処理方法。
[6] 請求項 5に記載の画像処理方法において、
前記複数の粗い画像カゝら算出された前記動きべ外ル分布を利用して、前記低解 像度変換前の複数の詳細な画像間の動きを検出する再検出手順を更に含む ことを特徴とする画像処理方法。
[7] 請求項 6に記載の画像処理方法において、
前記検出した動きに基づき前記複数の詳細な画像を位置合わせして合成する合 成手順を更に含む
ことを特徴とする画像処理方法。
[8] 請求項 1〜請求項 7の何れか一項に記載の画像処理方法をコンピュータに実行さ せる
ことを特徴とする画像処理プログラム。
[9] 請求項 1〜請求項 7の何れか一項に記載の画像処理方法を実行する手段を備え た
ことを特徴とする画像処理装置。
[10] 被写体を連続的に撮像して複数の画像を取得することの可能な撮像手段と、 請求項 9に記載の画像処理装置と
を備えたことを特徴とする撮像装置。
[11] 複数の画像間の動きベクトルを探索する画像処理方法であって、
前記複数の画像中の参照領域の相関を、その参照領域の位置を前記画像間でず らしながら算出する算出手順を含み、
前記参照領域の相関として、前記参照領域の特徴量を 2方向へ加算してできる 2種 類の投影データの相関を算出する
ことを特徴とする画像処理方法。
[12] 請求項 11に記載の画像処理方法にぉ 、て、
前記算出手順では、
前記参照領域の特徴量を前記 2方向へ累積加算してできる 2種類の累積加算画像 が予め作成され、前記 2種類の投影データは、前記 2種類の累積加算画像の一部か ら作成される ことを特徴とする画像処理方法。
[13] 請求項 11又は請求項 12に記載の画像処理方法において、
前記参照領域の特徴量は、
前記参照領域に対し 2以上の処理を施して抽出されたものである
ことを特徴とする画像処理方法。
[14] 請求項 13に記載の画像処理方法において、
前記 2以上の処理のうち 1つは、
エッジフィルタ処理である
ことを特徴とする画像処理方法。
[15] 請求項 11〜請求項 14の何れか一項に記載の画像処理方法において、
前記動きベクトルは、
前記画像を分割してできるブロックの動きベクトルである
ことを特徴とする画像処理方法。
[16] 請求項 11〜請求項 14の何れか一項に記載の画像処理方法において、
前記動きベクトルは、
前記画像の全体の動きベクトルである
ことを特徴とする画像処理方法。
[17] 請求項 11〜請求項 16の何れか一項に記載の画像処理方法をコンピュータに実行 させる
ことを特徴とする画像処理プログラム。
[18] 請求項 1〜請求項 16の何れか一項に記載の画像処理方法を実行する手段を備え た
ことを特徴とする画像処理装置。
[19] 被写体を連続的に撮像して複数の画像を取得することの可能な撮像手段と、 請求項 18に記載の画像処理装置と
を備えたことを特徴とする撮像装置。
PCT/JP2006/321904 2005-11-30 2006-11-01 画像処理方法、画像処理プログラム、画像処理装置、及び撮像装置 WO2007063675A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007547880A JP5082856B2 (ja) 2005-11-30 2006-11-01 画像処理方法、画像処理プログラム、画像処理装置、及び撮像装置
DE602006014723T DE602006014723D1 (de) 2005-11-30 2006-11-01 Bewegungsvektorschätzung
US12/083,553 US8526680B2 (en) 2005-11-30 2006-11-01 Image processing method, image processing program, image processing device, and imaging device
EP06822824A EP1956556B1 (en) 2005-11-30 2006-11-01 Motion vector estimation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005345715 2005-11-30
JP2005-345715 2005-11-30

Publications (1)

Publication Number Publication Date
WO2007063675A1 true WO2007063675A1 (ja) 2007-06-07

Family

ID=38092012

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/321904 WO2007063675A1 (ja) 2005-11-30 2006-11-01 画像処理方法、画像処理プログラム、画像処理装置、及び撮像装置

Country Status (5)

Country Link
US (1) US8526680B2 (ja)
EP (2) EP2204772A1 (ja)
JP (1) JP5082856B2 (ja)
DE (1) DE602006014723D1 (ja)
WO (1) WO2007063675A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011504266A (ja) * 2007-11-12 2011-02-03 クゥアルコム・インコーポレイテッド ブロックベースの画像安定化

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2059027A4 (en) * 2006-09-14 2012-08-08 Nikon Corp IMAGE PROCESSING DEVICE, ELECTRONIC CAMERA, AND IMAGE PROCESSING PROGRAM
WO2008090730A1 (ja) * 2007-01-23 2008-07-31 Nikon Corporation 画像処理装置、電子カメラ、画像処理方法および画像処理プログラム
US8130278B2 (en) * 2008-08-01 2012-03-06 Omnivision Technologies, Inc. Method for forming an improved image using images with different resolutions
TWI471521B (zh) * 2010-07-23 2015-02-01 Pixart Imaging Inc 位移估測方法及使用該方法之位移偵測裝置
JP5863273B2 (ja) * 2011-05-02 2016-02-16 キヤノン株式会社 画像処理装置、制御方法及びプログラム
US9020262B2 (en) 2012-07-31 2015-04-28 Hewlett-Packard Development Company, L.P. Symbol compression using conditional entropy estimation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04180370A (ja) * 1990-11-14 1992-06-26 Matsushita Electric Ind Co Ltd 画像の動きベクトル検出装置及び揺れ補正装置
JPH05260264A (ja) * 1992-03-12 1993-10-08 Sharp Corp 画像処理装置
JP2004343483A (ja) * 2003-05-16 2004-12-02 Acutelogic Corp 手振れ補正装置および方法、手振れ検出装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237405A (en) * 1990-05-21 1993-08-17 Matsushita Electric Industrial Co., Ltd. Image motion vector detecting device and swing correcting device
JP2940762B2 (ja) 1993-06-28 1999-08-25 三洋電機株式会社 手振れ補正装置を有するビデオカメラ
JP2897761B2 (ja) * 1997-07-18 1999-05-31 日本電気株式会社 ブロック・マッチング演算装置及びプログラムを記録した機械読み取り可能な記録媒体
US20020015513A1 (en) * 1998-07-15 2002-02-07 Sony Corporation Motion vector detecting method, record medium on which motion vector calculating program has been recorded, motion detecting apparatus, motion detecting method, picture encoding apparatus, picture encoding method, motion vector calculating method, record medium on which motion vector calculating program has been recorded
US6284711B1 (en) * 1999-12-15 2001-09-04 Basf Corporation Use of a semicarbazone plant growth regulator for early termination of crop plants
JP4294881B2 (ja) 2000-05-12 2009-07-15 富士フイルム株式会社 画像の位置合わせ方法および装置
JP3611507B2 (ja) * 2000-05-30 2005-01-19 松下電器産業株式会社 動きベクトル検出装置
US7227896B2 (en) * 2001-10-04 2007-06-05 Sharp Laboratories Of America, Inc. Method and apparatus for global motion estimation
FR2833797B1 (fr) * 2001-12-19 2004-02-13 Thomson Licensing Sa Procede d'estimation du mouvement dominant dans une sequence d'images
US7142718B2 (en) * 2002-10-28 2006-11-28 Lee Shih-Jong J Fast pattern searching
ATE371913T1 (de) 2003-03-18 2007-09-15 Koninkl Philips Electronics Nv Verfahren und vorrichtung zum optimalen anpassen von datensätzen
JP4730125B2 (ja) * 2006-02-22 2011-07-20 株式会社日立製作所 血流画像表示装置
US8130845B2 (en) * 2006-11-02 2012-03-06 Seiko Epson Corporation Method and apparatus for estimating and compensating for jitter in digital video
EP2141930A4 (en) * 2007-04-26 2011-03-23 Panasonic Corp MOTION DETECTION APPARATUS, MOTION DETECTION METHOD, AND MOTION DETECTION PROGRAM
JP5284048B2 (ja) * 2008-11-12 2013-09-11 キヤノン株式会社 画像処理装置、撮像装置及び画像処理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04180370A (ja) * 1990-11-14 1992-06-26 Matsushita Electric Ind Co Ltd 画像の動きベクトル検出装置及び揺れ補正装置
JPH05260264A (ja) * 1992-03-12 1993-10-08 Sharp Corp 画像処理装置
JP2004343483A (ja) * 2003-05-16 2004-12-02 Acutelogic Corp 手振れ補正装置および方法、手振れ検出装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1956556A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011504266A (ja) * 2007-11-12 2011-02-03 クゥアルコム・インコーポレイテッド ブロックベースの画像安定化
US8600189B2 (en) 2007-11-12 2013-12-03 Qualcomm Incorporated Block-based image stabilization
JP2014143702A (ja) * 2007-11-12 2014-08-07 Qualcomm Incorporated ブロックベースの画像安定化

Also Published As

Publication number Publication date
JP5082856B2 (ja) 2012-11-28
US20090052788A1 (en) 2009-02-26
US8526680B2 (en) 2013-09-03
DE602006014723D1 (de) 2010-07-15
JPWO2007063675A1 (ja) 2009-05-07
EP1956556B1 (en) 2010-06-02
EP1956556A1 (en) 2008-08-13
EP2204772A1 (en) 2010-07-07
EP1956556A4 (en) 2009-08-19

Similar Documents

Publication Publication Date Title
US8194148B2 (en) Image processing device, electronic camera and image processing program
WO2007063675A1 (ja) 画像処理方法、画像処理プログラム、画像処理装置、及び撮像装置
CN108141509B (zh) 图像处理装置、摄像装置、图像处理方法和存储介质
US20100157107A1 (en) Image Apparatus And Electronic Apparatus
CN111164959B (zh) 图像处理装置、图像处理方法以及记录介质
WO2005117455A1 (ja) Rawデ-タから倍率色収差を検出する画像処理装置、画像処理プログラム、および電子カメラ
US20070071282A1 (en) Digital watermark embedding apparatus and method, and digital watermark detection apparatus and method
US8774551B2 (en) Image processing apparatus and image processing method for reducing noise
WO2008056765A1 (fr) Procédé de recherche de point correspondant et procédé de mesure de position tridimensionnelle
JP2007000205A (ja) 画像処理装置及び画像処理方法並びに画像処理プログラム
US20090110331A1 (en) Resolution conversion apparatus, method and program
US20140185882A1 (en) Image processing device, image processing method, image device, electronic equipment, and program
JPWO2007074605A1 (ja) 画像処理方法、画像処理プログラム、画像処理装置、及び撮像装置
JP4250237B2 (ja) 画像処理装置、方法及びコンピュータ読み取り可能な記憶媒体
JP5211589B2 (ja) 画像処理装置、電子カメラ、および画像処理プログラム
US10861135B2 (en) Image processing apparatus, non-transitory computer-readable recording medium storing computer program, and image processing method
JP4095204B2 (ja) 画像処理装置、方法及びコンピュータ読み取り可能な記憶媒体
JP3333012B2 (ja) 画像合成装置
JP6153318B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム、および、記憶媒体
JP6604783B2 (ja) 画像処理装置、撮像装置および画像処理プログラム
JP5055571B2 (ja) 画像処理装置、電子カメラ、および画像処理プログラム
JP2008310418A (ja) 画像処理装置、画像処理プログラム及びそれらを搭載した電子カメラ
JP5683153B2 (ja) 画像処理装置および画像処理方法
JPH0561975A (ja) 信号マツチング装置
JP2012175289A (ja) 画像処理装置、及びその制御方法

Legal Events

Date Code Title Description
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: 2007547880

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 12083553

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2006822824

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE