The invention relates to a motion estimation unit for generating a motion vector corresponding to a block of pixels of an image, comprising:
The invention further relates to a method of generating a motion vector corresponding to a block of pixels of an image, comprising the steps of
The invention further relates to an image processing apparatus comprising:
For motion estimation, two main techniques are usually distinguished namely correspondence-based methods and optical flow-based methods. The former are suitable for large motion. Optical flow-based methods are suited for small motion, and are fast and accurate. The concept of optical flow-based methods is to use the Optical Flow Equation (OFE) to compute a motion vector. The OFE is simply the linearization of the equation describing the hypothesis that luminance L is constant along the motion trajectory. The constant-luminance hypothesis can be written as:
L({overscore (x)}+t{overscore (v)},t)=const., (1)
for fixed {overscore (x)}, location and {overscore (v)}, speed. Differentiating with respect to t yields
with motion vector {overscore (v)}=(u,v), or written differently
Block-matching methods belong to the correspondence-based methods.
An embodiment of the motion estimation unit of the kind described in the opening paragraph is known from WO99/17256. In that document neighboring spatio-temporal candidates are used as input for a block-recursive matching process. In addition, a further update vector is tested against the best candidate of the block-recursive matching process. This update vector is computed by applying a local, pixel-recursive process to the current block, which uses the best candidate of the block-recursive matching process as a start vector. The pixel-recursive process is based on optical flow equations. The final output vector is obtained by comparing the update vector from pixel recursion with the start vector from the block-recursive process and by selecting the one with the best match. The motion estimation unit according to the prior art has two disadvantages related to the optical flow part. First, the pixel-recursive scheme leads to an essentially unpredictable memory access, which is undesirable for hardware implementations. Second, the technique chosen to solve the aperture problem makes the method vulnerable to noise. With aperture problem is meant that a single optical flow equation with two unknowns must be solved, i.e. in Equation 2 both u and v are unknown.
It is a first object of the invention to provide a motion estimation unit of the kind described in the opening paragraph which is designed to estimate a relatively high quality motion vector field.
It is a second object of the invention to provide a motion estimation method of the kind described in the opening paragraph to estimate a relatively high quality motion vector field.
It is a third object of the invention to provide an image processing apparatus of the kind described in the opening paragraph which is designed to perform motion compensated image processing based on a relatively high quality motion vector field.
The first object of the invention is achieved in that the optical flow analyzer is designed to select the first pixel and a second pixel from the block of pixels to solve a set of equations comprising the respective first optical flow equation and a second optical flow equation, with the selecting based on a first gradient vector of the first optical flow equation and a second gradient vector of the second optical flow equation. A major difference between the motion estimation units according to the prior art and according to the invention is that the optical flow analyzer of the motion estimation unit according to the invention is not recursive but block based. In the motion estimation unit according to the prior art a solution of the optical flow equation corresponding to each pixel of the block of pixels is estimated individually and used to estimate a solution of the optical flow equation corresponding to a next pixel. In the motion estimation unit according to the invention the pixels related with the most appropriate optical flow equations are searched and used. The idea is to select those optical flow equations for the set which result in the most reliable solution for {overscore (v)}=(u,v). Typically two optical flow equations are required. This will give, except in degenerate situations, a unique solution for {overscore (v)}=(u,v). By selecting the pixels appropriately, the effects of noise are suppressed. The result is a motion vector field which is relatively accurate. This has benefits, e.g. for coding applications because of less residual image data. Another application which profits from a high quality motion vector field is de-interlacing, as here the sub-pixel accuracy of the motion vector field is crucial. Another advantage is that good candidates stabilize the motion estimation unit, making it less likely that a wrong motion vector candidate, i.e. one which does not correspond to the true motion but which accidentally exhibits a low match error gets selected.
A general approach for solving optical flow equations is adding a smoothness constraint to overcome the aperture problem. An example of this approach is disclosed by Horn and Schunk in the article “Determining optical flow” in Artificial Intelligence 1981, vol. 17, pages 185-203. The smoothness constraint term is non-linear, necessitating an iterative process to solve the equations, which is more complex than the method according to the invention.
In an embodiment of the motion estimation unit according to the invention the optical flow analyzer is designed:
In an embodiment of the motion estimation unit according to the invention the optical flow analyzer is designed to calculate the cross product values for all possible pairs of the gradient vectors of the optical flow equations for the pixels of the block of pixels in order to select the first pixel and the second pixel. This embodiment is developed to take the most straightforward approach to find the pair of gradient vectors that actually maximizes the cross product value. The advantage is that it most probably gives the best result. However the time complexity of this straightforward approach is quadratic in the number of gradient vectors. E.g. it requires on the order of 2000 operations for a block of pixels with dimensions of 8×8.
In another embodiment of the motion estimation unit according to the invention the optical flow analyzer is designed:
In another embodiment of the motion estimation unit according to the invention the optical flow analyzer is designed to:
In an embodiment of the motion estimation unit according to the invention the block-matcher is recursive. A relatively good motion estimation unit is known from the article “True-Motion Estimation with 3-D Recursive Search Block Matching” by G. de Haan et. al. in IEEE Transactions on circuits and systems for video technology, vol. 3, no. 5, October 1993, pages 368-379. That 3DRS block-matcher is in principle accurate up to ¼ pixels. This accuracy can be indeed achieved in large textured regions with translation motion, for example in a camera pan. However, to reach this accuracy in smaller regions, or in regions with more complicated motion, e.g. zooming, the 3DRS matcher has to select many update candidates, and this is undesirable as this in general leads to a degradation of spatial consistency. For this reason, update candidates are suppressed by means of penalties. This leads to a spatially and temporally stable vector field, but also to a sub-optimal accuracy. This embodiment according to the invention combines the good aspects of both a block-matching method and an optical flow-based method. The idea is that the block matcher is used to find the start vector field up to medium accuracy. The residual motion vector is small enough to allow an optical flow method to be applied by the optical flow analyzer. Compared with the 3DRS block-matcher according to the prior art, fewer update candidates have to be considered, as tracking of motion is done mainly by the optical flow analyzer. This improves the efficiency of the motion estimation unit.
Modifications of the image processing apparatus and variations thereof may correspond to modifications and variations thereof of the motion estimation unit described. The image processing apparatus may comprise additional components, e.g. receiving means for receiving a signal representing images and a display device for displaying the processed images. The motion compensated image processing unit might support one or more of the following types of image processing:
These and other aspects of the motion estimation unit, of the method and of the image processing apparatus according to the invention will become apparent from and will be elucidated with respect to the implementations and embodiments described hereinafter and with reference to the accompanying drawings, wherein:
The behavior of the optical flow analyzer 104 is as follows. The gradient operators 208, 210 and 212 calculate the luminance gradients in x-, y- and time-direction, respectively. Typically the gradients of all pixels of a block of pixels are calculated. In the case that optical flow equations are used of only a portion of the block of pixels, less gradients have to be calculated. Gradient vectors are analyzed by the gradient analyzer 214 to find the most appropriate pixels and the corresponding optical flow equations. The result is a set of two instances of optical flow equations according to Equation 2. The set of equations is given in Equation 5. Notice that in this case the indices i and j indicate the most appropriate optical flow equations.
uXi+vYi+Ti=0
uXj+vYj+Tj=0 (5)
Solving Equation 4 yields the update motion vector {overscore (v)}=(u,v) 111:
Finally the two motion vectors, i.e. the start motion vector 110 being calculated by the block-matcher 102 and the update motion vector 111 being calculated by the optical flow analyzer 104 are analyzed by the selector 106 to select the motion vector 126. To achieve this, the block-match error calculator 216 calculates for both motion vectors the match errors, e.g. on the basis of the sum of absolute differences. Then the selector 218 selects the motion vector 126 on the basis of these match errors. The selected motion vector 126 is a possible motion vector candidate for other blocks. Hence the selected motion vector 126 is provided to the generating means 202 of the block-matcher 102.
The gradient analyzer 214 is developed to take the following approaches to search for the most appropriate optical flow equations:
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be constructed as limiting the claim. The word ‘comprising’ does not exclude the presence of elements or steps not listed in a claim. The word “a” or “an” preceding an element does not exclude the presence of a plurality of such elements. The invention can be implemented by means of hardware comprising several distinct elements and by means of a suitable programmed computer. In the unit claims enumerating several means, several of these means can be embodied by one and the same item of hardware. Notice that the functions of the block-match error calculators 216 and 206 are similar. Optionally one of these can perform both tasks. The same holds for the selectors 204 and 218.
Number | Date | Country | Kind |
---|---|---|---|
01204086 | Oct 2001 | EP | regional |
Number | Name | Date | Kind |
---|---|---|---|
4998168 | Gillard | Mar 1991 | A |
5469850 | Iizuka et al. | Nov 1995 | A |
5471252 | Iu | Nov 1995 | A |
5496041 | Broussard | Mar 1996 | A |
5600252 | Rossi | Feb 1997 | A |
6330353 | Lai et al. | Dec 2001 | B1 |
6744933 | Lai et al. | Jun 2004 | B2 |
Number | Date | Country | |
---|---|---|---|
20030086499 A1 | May 2003 | US |