SUB-PIXEL ACCURATE MOTION VECTOR ESTIMATION AND MOTION-COMPENSATED INTERPOLATION

Abstract: Sub-pixel accurate motion estimation from digital video requires interpolation of data. In a symmetrical motion estimator that shifts the neighboring images over complementary fractions (-<u>D</u>/2, <u>D</u>/2) of the vector (<u>D</u>) two such interpolating filters are required. In case of block-matching motion estimation algorithms, the match error of various candidate vectors depends on the quality of the sub-pixel interpolation filter(s). As these filters differ per fractional value of the vector, unintentional preferences for some fractional vector values over other may result. The candidate vectors (<u>D</u>) are split into an integer part (Rnd(<u>D</u>/2)) and a generally non-integer part (D-Rnd(<u>D</u>/2)), as this gives a better accuracy and a lower cost than splitting the candidate vectors (<u>D</u>) exactly conform the temporal position at which the vectors need to be valid.

Description: Sub-pixel accurate motion vector estimation and motion-compensated interpolation. The invention relates to methods and devices for sub-pixel accurate motion vector estimation and motion-compensated interpolation or prediction, as well as to a television apparatus comprising such a sub-pixel accurate motion-compensated interpolation •device. Motion vectors are used in a range of image processing applications, such as coding, noise reduction, and scan rate conversion. Some of these applications, particularly the scan rate conversion applications, require the true motion of objects to be estimated [1], [2]. Other applications, e.g. coding and interlaced to sequential scan conversion, demand a high accuracy of the motion vectors to realize a low amplitude of remaining coding error, or alias respectively [3], [4]. Finally there is a category of applications, e.g. consumer applications of motion estimation, where the cost of the motion estimator is of crucial importance [5]. Several algorithms have been proposed to realize true motion estimation [1], [2], [5], [6], [7], and [8]. Also algorithms have been proposed to realize motion estimation at a low complexity level, e.g. [5], [8], [9], [10] and [11], and apart from the pel-recursive algorithms that usually allow sub-pixel accuracy, see e.g. [12], or [13], also a number of block-matching algorithms have been reported that allow the estimation of highly accurate motion vectors [1], [14], and [15]. In a non-symmetrical motion estimator, it is tried to match a shifted portion of a previous (or next) image to a fixed portion of the present image. If the estimator is a block matcher, its error measure, using the Summed Absolute Difference (SAD) criterion is: where C is the candidate vector under test, X indicates the position of the block BQQ, F(x, n) is the luminance signal, and n the picture or image number. The resulting motion vectors describe the velocity of the block in the current image. In a symmetrical motion estimator, two portions from two (usually successive) images are shifted in opposite direction, again such that the optimal match results. The match error results as: SAD(C,X,n)= F(x-aC(2L,n),n-l)- F(x + (l -a)C(X,n),n) \ (2) ϊ.*B(x) The resulting motion vectors (sum of the two shifts, after inverting one of them) describe the velocity of the block in an (not available) image positioned in between the two shifted images. The parameter α, which lies between 0 and 1 , determines the temporal position. This type of motion estimator is particularly relevant for frame rate conversion applications. This disclosure addresses the problem of true-motion estimation with sub-pixel accuracy, where the vectors need to be valid at a point in time that lies between two input pictures (or images). This is particularly relevant for estimators applied in scan rate converters. Sub-pixel accuracy requires the interpolation of pixels at positions between given pixel values. The commonly used method is the so-called bi-linear interpolation, which is attractive for implementation because of its low complexity. It is, inter alia, an object of the invention to provide an improved motion vector estimation and motion-compensated interpolation. To this end, the invention provides methods and devices for motion vector estimation and motion-compensated interpolation or prediction as defined in the independent claims. Advantageous embodiments are defined in the dependent claims. It is to be noted that in G. de Haan's dissertation "Motion estimation and compensation; An integrated approach to consumer display field rate conversion", Eindhoven 1992, section 8.1.1, a method is described to obtain first and second integer vectors (i.e. having only integer vector components) from an integer candidate vector (i.e. also having only integer vector components), to prevent sub-pixel interpolation for odd candidate vectors. For odd candidate vectors, i.e. a vector having an odd vertical component, a multiplication by a fraction of 0.5 results in a non-integer vector component. For candidate vectors having an even vertical component there is no problem, as no non-integer value results from multiplying that even vertical component by a fraction of 0.5. This known method includes the steps of multiplying the vector components of the integer candidate vector by a fraction to obtain fractional vector components, rounding the fractional vector components to obtain integer vector components of the first vector, and subtracting the integer first vector from the integer candidate vector to obtain the integer second vector, so that the second vector also has only integer vector components. In the description and claims, the term "rounding" encompasses both a rounding down (or up) towards the largest smaller (or smallest larger) integer value (i.e. a truncation), and a rounding towards the nearest integer value. The expression "image" encompasses both a field and a frame. These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter. In the drawings: Fig. 1 shows a position versus time diagram of the present invention; Fig. 2 shows an embodiment of a motion vector estimation device in accordance with the present invention; Fig. 3 shows an embodiment of a motion-compensated interpolation device in accordance with the present invention; and Fig. 4 shows an embodiment of a television apparatus in accordance with the present invention. We found that the straightforward use of the above-mentioned simple bi-linear interpolation algorithm in both neighboring images introduces a rather strong preference for some displacement vectors over others, which can be prevented by using sub-pixel interpolation in one image only, accepting a small but negligible deviation from the intended temporal position at which the vector image should be valid. The algorithm that we propose resulted from the observation that the stated problem of preferred sub-pixel velocities occurred particularly in case of symmetrical motion estimation. As long as all motion vectors tested lead to integer shifts on the pixel grid, no preferences, unrelated to picture content, for particular motion vectors result. This is different, however, in case sub-pixel interpolation is required. In the symmetrical estimator with bi- linear interpolation, both shifted images that are matched, result with the same spectral loss from the interpolating filter. The higher the loss of the interpolating filter for a given fractional velocity, the lower the match error, i.e. a preference for this velocity results. In case of a non- symmetrical motion estimator only one image is spatially filtered due to the sub-pixel shifting, and therefore the higher the loss of a filter the higher the match error and the lower the preference for this velocity. In both cases, more expensive filters can be applied to reduce unintended preferences. Experiments showed that sub-pixel accuracy of true motion sub-pixel motion estimation are better in the asymmetrical configuration than in the symmetrical situation, when using the simplest possible interpolation filters (linear interpolation). With some calculational effort it could be proven that this had to be expected, by calculating the match error for all interpolation filters for a frequency sweep with gradually changing velocity. This observation leads to an interesting implementation of a symmetrical motion estimator. The implementation is interesting because it introduces the higher accuracy and the lower cost of the asymmetrical estimator in the symmetrical motion estimator. The invention exists in simply making the estimator symmetrical for the integer part of the motion estimator only, and asymmetrical for the fractional part of the vector. The match error results as: ∑\F(x- C p (X,n),n-l)- F(x + C„ (X,n),n) \ (3) _*B(x) where the relation between the original candidate vector C(X, n) and C„(X___ n) pointing to the next image, and C p (X, n) and (C n (X, n) pointing to the previous image respectively, on the other hand, is given by: C p (X,n)=(Rnd(a.C x (X,n)),Rnd(a.C y (X,n))) C π (^ (4) where Rnd(A) returns the nearest integer value for A. As a consequence, Q n Q, n) contains the fractional part, whereas C P (X. ) is an integer vector. Obviously, it is also possible to make Q, fully integer and C p the remainder that may have non-integer components. This alternative is within the scope of the claims. Strictly speaking the resulting estimate no longer indicates the velocity of the fixed block at the required point in time (in-between two successive images), but should be assigned to a slightly (half the sub-pixel part of the vector at maximum) shifted block or to the corresponding position in a temporally slightly shifted image. The resulting error however is fundamentally very small and is therefore negligible. The advantage of the proposed algorithm is not only an improved accuracy for a motion estimator applying the method, but the implementation can be realized at a lower cost as well. It makes sense, therefore, to not only apply the idea in a motion estimator, but also in a motion-compensated image interpolator. In general, a temporally interpolated image results as: FM > n)=^(F(x -aD(X,n),n - l) + F(x+ (l - a)D(X,n),n)) (5) where D is the displacement or motion vector calculated between images n and n-1. In complete analogy with the proposal from the previous section we can now modify this to: with D p (X, n) = (Rnd (a.D x (X, ή)), Rnd(a.D y (X, n))) τ , D„ (X, n) = D( , ») - D_ p (X, n) (1) The advantage again is a cost reduction, since sub-pixel interpolation is required for the pixels from one image only (may also reduce access to memories), while only a very small modification of the temporal instance, at which the image is interpolated, results. The above-described algorithm for motion compensated interpolation has been shown to be sub-optimal for gradually changing motion vector fields. Because of the rounding of one of the two motion vectors, there will be a discontinuity in the temporal position for which the combination of the two motion vectors is valid. This discontinuity is clearly visible in the up-converted image, in the case of a gradually changing motion vector field. An adapted version of the original proposal makes these discontinuities smaller. Equation 6 remains as shown above, as does the formula for D p but the equation for D„ is changed to: D n (X, n) = (l -a)D(X, «) ( 8 ) Note that the sum of vectors D p and D n is not equal to D anymore. The revised algorithm has the same advantages, cost reduction, as the original algorithm, but does not show discontinuities (motion judder) when gradually changing motion vector fields are applied (in stead, the resolution may vary per picture, but experimentally this turned out to be subjectively superior over judder). This revised algorithm is only applied in the case of motion compensated up-conversion, the motion estimation algorithm remains as described above. Fig. 1 shows a position (P) versus time (T) diagram of the present invention. The column n-1 represents the lines in image n-1 , the column n represents the lines in image n, and the dot in column n-'Λ represents a line to be interpolated. An interrupted line shows that a general sub-pixel accurate vector D would result in two half vectors DI2 each pointing at some position between two existing lines, thus necessitating two non-integer interpolations. In accordance with the invention, one of these half vectors is rounded ( Rnd /2) ) to obtain a vector pointing at an existing line, while the other half vector is obtained by subtracting this rounded first vector Rnd(Z)/2) from the original sub-pixel accurate vector D. Fig. 2 shows an embodiment of a motion vector estimation device in accordance with the present invention. An image memory FM ensures the required temporal delay: image n is present at its input, while image n-1 is present at its output. The embodiment of Fig. 2 further comprises a set of two line memory sections LMl, LM2, each comprising a tapped delay line of, for example, 5 line memories and 16 pixel memories per line memory tap, so that each pixel in a given area can be reached. Fig. 2 further shows a motion vector estimator ME that communicates with the line memory sections LMl, LM2 through a switch matrix SMX and a position interpolator INT, respectively. In this manner, the motion vector estimator ME furnishes candidate motion vectors C to the line memory sections LMl , LM2, and the line memory sections LMl , LM2 furnish corresponding pixel values to the motion vector estimator ME. As disclosed in EP-A-0,415,491 (PHN 13,068), the motion vector estimator ME preferably uses also vectors determined for a previous image which are supplied by a motion vector memory VM. The motion estimator furnishes an output vector D. In accordance with the present invention, the candidate vector C is split up into a fully integer vector Q, and a remaining vector Q, by a deriving unit DU, the division between C r and Q, depending on the fraction α. To this end, the candidate motion vector C is multiplied by the fraction α, the result is applied to a rounding circuit RND that supplies the vector Cp that is applied to the switch matrix SMX. The vector C p is subtracted from the candidate motion vector C by a subtraction circuit S to obtain the remaining vector C„ that is applied to the position interpolator INT. Fig. 3 shows an embodiment of a motion-compensated interpolation device in accordance with the present invention. The input motion vector D is split up into a fully integer vector D p and a remaining vector Dj_ by the deriving unit DU, according to equations (6), with D p as in equation (7) and D„ as in equation (8). The deriving unit DU' of Fig. 3 thus differs from the deriving unit DU of Fig. 2 in that a multiplier M2 multiplies the input motion vector D by a factor 1-α to obtain the vector D„. The pixel values retrieved from the position interpolator INT and the switch matrix SMX are averaged by an averaging circuit AV to obtain the output image n-'Λ. Fig. 4 shows an embodiment of a television apparatus in accordance with the present invention. An antenna A supplies a television signal to a t'iner TUN that furnishes a video signal to a processor PROC to generate a processed video signal. The number of images in the processed video signal is doubled by a motion compensated interpolator MCINT of the type shown in Fig. 3. The motion-compensated interpolator MCINT may have received its motion vectors./) from a motion vector estimator of the type shown in Fig. 2. Advantageously, as disclosed in US-A-5,495,300 (Attorneys' docket PHN 14,079), the motion vector estimator and the motion-compensated interpolator are combined to form a single circuit. Primary aspects of the invention can be summarized as follows. Sub-pixel accurate motion estimation from digital video requires interpolation of data. In a symmetrical motion estimator that shifts the neighboring images over complementary fractions of the vector two such interpolating filters are required. In case of block-matching motion estimation algorithms, the match error of various candidate vectors depends on the quality of the sub- pixel interpolation filter(s). As these filters differ per fractional value of the vector, unintentional preferences for some fractional vector values over other may result. We propose to split the candidate vectors into an integer part and a generally non-integer part, as this gives a better accuracy and a lower cost than splitting the candidates exactly conform the temporal position at which the vectors need to be valid. A method and apparatus for estimating motion vectors, or interpolating images, from an image pair, comprising: means to generate a first and a second vector from an input vector, means to shift pixels from a first image over the first vector means to shift pixels from a second image over the second vector characterized in that the ratio of the components of the first vector and the input vector depends on the value of these components. Preferably, the difference of the first and the second vector equals the input vector. Advantageously, the ratio of the components of the first vector and the input vector approach a fixed factor between 0 and 1 as good as possible, provided that the first vector is only allowed to have integer components, whereas the second vector can have one or more non-integer components. A method and apparatus for estimating motion vectors, or interpolating an image, from an image pair, comprising: means to generate a first and a second vector from an input vector, means to shift pixels from a first image over the first vector means to shift pixels from a second image over the second vector characterized in that the first vector has only integer components, whereas the second vector can have one or more non-integer components. 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 many alternative embodiments without departing from the scope of the appended claims. Fig. 3 of the first priority application EP 99201298.9, filed on 26.04.1999, shows an alternative motion- compensated interpolator falling within the scope of the interpolation claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps other than those 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 suitably programmed computer. In the device claim enumerating several means, several of these means can be embodied by one and the same item of hardware. References: [1] G.A. Thomas, "Television motion measurement for DATV and other applications", BBC Research Report No. BBC RD 1987/11. [2] R. Thoma and M. Bierling, "Motion Compensating Interpolation Considering Covered and Uncovered Background", Image Communications 1, Elseviers 1989, pp. 191- 212. [3] "Time-Recursive Deinterlacing for IDTV and Pyramid Coding", F.M. Wang and D. Anastassiou, Image Communication 2, Elseviers 1990, pp. 365-374. [4] "A Motion Adaptive De-Interlacing Method", Kwon, Seo, Kim, and Kim, IEEE Tr. on Consumer Electronics, Vol. 38, NoJ, 1992. [5] G. de Haan and H. Huijgen, "Motion Estimation for TV Picture Enhancemene', Proc. 4th Int. Workshop on HDTV and beyond, Torino, 1991. [6] T. Reuter, "A modified blockmatching algorithm with vector reliability checking and adaptive smoothing", 3h Int. Conf. on Image Processing and its Applications, University of Warwick, England, 18-20 July 1989. [7] J. Konrad, and E. Dubois "A comparison of stochastic and deterministic solution methods in Bayesian estimation of 2-D motion", Proc. 1" European Conf. on Computer Vision, Antibes, April 1990. [8] G. de Haan, P.W.A.C Biezen. H. Huijgen, and O.A. Ojo, "True Motion Estimation with 3-D Recursive Search Block-Matching", to be published in IEEE Tr. on Circuits & Systems for Video Technology. [9] R. Srinivasan and K.R. Rao, "Predictive Coding Based on Efficient Motion Estimation", IEEE Tr. on Communication, No. 8, 1985, pp. 888-896. [10] J.R. Jain and A.K. Jain, "Displacement Measurement and Its Application in Interframe Image Coding", IEEE Tr. on Communications, COM-29, no. 12,1981. [11] T. Koga, K. Iinuma, A. Hirano, Y. Iilima and T. Ishiguro, "Motion- Compensated Interframe Coding for Video Conferencing", IEEE, Proc. of the NTC 81, G5.3.L, New Orleans LA, 198 1. [12] H.G. Musmann, P. Pirsch and J. Grallert, "Advances in picture coding", Proc. of the IEEE, vol. 73, no. 4, April 1985, pp. 523-548. [13] J.N. Driessen, L. Boroczki and J. Biemond, "Pel-Recursive Motion Field Estimation from Image Sequences", J. on Visual Comm. and Image Representation, 1991. [14] K. Hildenbrand and J. Mayer, "Method to determine motion vectors for blocks in an image source-sequence" (in German), Patent, no. DE 40 23 449 Cl, 23-01-92. [15] M. Ziegler, "Hierarchical motion estimation using the phase correlation method in 140 Mbit/s HDTV-coding", Proc. 3th Int. Workshop on HDTV and beyond, Torino, 1989.

Claims: CLAIMS: 1. A method of estimating sub-pixel accurate motion vectors (D) between first (n-1) and second (n) images having a given mutual temporal distance, the sub-pixel accurate motion vectors (D) being intended for use in an inteφolation or prediction of an image (n-Y_) at a fractional distance from said first image (n-1), said fractional distance being a fraction (α) of said given distance, the method comprising the steps of: generating (ME) a candidate vector (C) having vector components that may have non-integer values; deriving (DU) first (C p ) and second (C„) vectors from said candidate vector (C); and evaluating (ME) said candidate vector (Q by comparing a first position in said first image (n-1) shifted (SMX, LMl) over said first vector (C p ) to a second position in said second image (n) shifted (INT, LM2) over said second vector (Q,); characterized in that said deriving step (DU) comprises: multiplying (M) said vector components of said candidate vector (C) by said fraction (α) to obtain fractional vector components; and rounding (RND) said fractional vector components to obtain vector components of said first vector (C p ), said first vector (C p ) having only integer vector components, said second vector (CX) having vector components that may have non-integer values. 2. A method as claimed in claim 1 , wherein said deriving step (DU) further comprises: subtracting (S) said first vector (C p ) from said candidate vector (C) to obtain said second vector (Q,). 3. A method of generating an image (n-V.) by means of sub-pixel accurate motion vectors (D) having vector components that may have non-integer values, from first (n-1) and second (n) images having a given mutual temporal distance, the image ( -V.) being at a fractional distance from said first image (n-1), said fractional distance being a fraction (α) of said given distance, the method comprising the steps of: deriving (DU) first (D p ) and second (DX) vectors from said sub-pixel accurate motion vectors (D); and generating (AN) said intermediate image (n-V) by combining first positions in said first image (n-1) shifted (SMX, LMl) over said first vectors (D p ) and second positions in said second image (n) shifted (IΝT, LM2) over said second vectors (QX); characterized in that said deriving step (DU) comprises: multiplying (M) said vector components of said sub-pixel accurate motion vectors (D) by said fraction (α) to obtain fractional vector components; and rounding (RΝD) said fractional vector components to obtain vector components of said first vectors (D p ), said first vectors (D p ) having only integer vector components, said second vectors (D„) having vector components that may have non-integer values. 4. A method as claimed in claim 3, wherein said deriving step (DU) further comprises: subtracting (S) said first vectors (D p ) from said sub-pixel accurate motion vectors (D) to obtain said second vectors (D^). 5. A method as claimed in claim 3, wherein said deriving step (DU) further comprises: multiplying (M2) said sub-pixel accurate motion vectors (D) by a factor equal to 1 minus said fraction (α) to obtain said second vectors (D n ). 6. A device for estimating sub-pixel accurate motion vectors (D) between first (n-1) and second (n) images having a given mutual temporal distance, the sub-pixel accurate motion vectors (D) being intended for use in an interpolation or prediction of an image (n-V.) at a fractional distance from said first image (n-1), said fractional distance being a fraction (α) of said given distance, the device comprising: means (ME) for generating a candidate vector (C) having vector components that may have non-integer values; means (DU) for deriving first (Cp) and second (CX) vectors from said candidate vector (C); and means (ME) for evaluating said candidate vector ( by comparing a first position in said first image (n-1) shifted (SMX, LMl) over said first vector (C p ) to a second position in said second image (n) shifted (IΝT, LM2) over said second vector (C„); characterized in that said deriving means (DU) comprise: means (M) for multiplying said vector components of said candidate vector (C) by said fraction (α) to obtain fractional vector components; and means (RND) for rounding said fractional vector components to obtain vector components of said first vector (C p ), said first vector (Cp) having only integer vector components, said second vector (Cn) having vector components that may have non-integer values. 7. A device as claimed in claim 6, wherein said deriving means (DU) further comprise: means (S) for subtracting said first vector (Cp) from said candidate vector (C) to obtain said second vector (Cn). 8. A device for generating an image (n-V.) by means of sub-pixel accurate motion vectors (D) having vector components that may have non-integer values, from first (n-1) and second (n) images having a given mutual temporal distance, the image (n- l Δ) being at a fractional distance from said first image (n-1), said fractional distance being a fraction (α) of said given distance, the device comprising: means (DU) for deriving first (D p ) and second (DX) vectors from said sub-pixel accurate motion vectors (D); and means (AN) for generating said intermediate image (n-V.) by combining first positions in said first image (n-1) shifted (SMX, LMl) over said first vectors (D p ) and second positions in said second image (n) shifted (IΝT, LM2) over said second vectors (Dj_); characterized in that said deriving means (DU) comprise: means (M) for multiplying said vector components of said sub-pixel accurate motion vectors (D) by said fraction (α) to obtain fractional vector components; and means (RΝD) for rounding said fractional vector components to obtain vector components of said first vectors (D p ), said first vectors (D p ) having only integer vector components, said second vectors (DX) having vector components that may have non-integer values. 9. A device as claimed in claim 8, wherein said deriving means (DU) further comprise: means (S) for subtracting said first vectors (D p ) from said sub-pixel accurate motion vectors (D) to obtain said second vectors (DX). 10. A device as claimed in claim 8, wherein said deriving means (DU) further comprise: means (S) for multiplying (M2) said sub-pixel accurate motion vectors (D) by a factor equal to 1 minus said fraction (α) to obtain said second vectors (DX). 11. A television apparatus, comprising: means (TUN, PROC) for receiving a television signal; a generating device as claimed in claim 8, coupled to said receiving means (TUN, PROC), to obtain a display signal; and means (DD) for displaying said display signal.

Inventors: BELLERS ERWIN B, DE HAAN GERARD, SCHUTTEN ROBERT J, BELLERS, ERWIN, B., DE HAAN, GERARD, SCHUTTEN, ROBERT, J.
Applicants: KONINKL PHILIPS ELECTRONICS NV, KONINKLIJKE PHILIPS ELECTRONICS N.V.
Application year: 2000
Main classification: H04N7
IPC codes: G06T7, H03M7, H04N5, H04N7