METHOD AND APPARATUS FOR MOTION ESTIMATION USING BLOCK MATCHING

Abstract: Block matching is well known as a robust and intuitively simple method of motion estimation for television pictures. However, when the purpose of the motion estimation is to provide accurate interpolation between images, for example in a 50 Hz to 100 Hz upconverter, conventional block matching suffers from the problem that the blocks are situated in the original fields rather than in the fields to be interpolated, leading to possible errors in the calculated motion field. The invention uses two-sided block matching. The search window (BSW and FSW) is shared between the two input fields (BF, FF) in such a way that the candidate motion vectors related to the candidate pixel blocks (CPBB and CPBF) all pass through the same points in the field (IF) to be interpolated. Thus, the "current block" becomes a notional area in the field to be interpolated, and each of the two search windows extends to half the maximum motion vector in each direction. Each motion vector points forward (FHMV) to the forward field (FF) by half its value and backward (BHMV) to the backward field (BF) by half its value. Two-sided block matching solves the positional error problem because the current blocks IFB cover the interpolated field and are correctly placed in the interpolated field, and it solves the problem of gaps and conflicts because every point in the interpolated field has precisely one motion vector assigned to it.

Description: Method and Apparatus for motion estimation using block matching The present invention relates to a method and to an apparatus for motion estimation using block matching. Background Block matching is well known as a robust and intuitively simple method of motion estimation for television pictures. However, when the purpose of the motion estimation is to provide accurate interpolation between images, for example in a 50 Hz to 100 Hz upconverter, conventional block matching suffers from the prob¬ lem that the blocks are situated in the original fields rather than in the fields to be interpolated, leading to possible errors in the calculated motion field. Invention It is one object of the invention to disclose a method of block matching, which overcomes this problem. This object is reached by the method disclosed in claim 1. It is a further object of the invention to disclose an apparatus which utilises the inventive method. This object is reached by the apparatus disclosed in claim 6. The invention uses two-sided block matching. The advantages of two-sided block matching are not confined to 50Hz to 100Hz upconversion but apply to any temporal interpolation, for exam¬ ple 50Hz to 60Hz or 50Hz to 75Hz standards conversion, for which motion vectors are required at points in time between input fields- In a conventional, or 'one-sided', block matching as depicted in Fig. 1, the current field (or frame) CF of the picture is divided into blocks, typically rectangular. For each current block CB, a search is made among overlapping blocks of the same size in the previous field (or frame) PF to find one that matches the current-field block CB best, usually using a mean- square or mean-absolute error criterion summed across the pix¬ els in the block. The relative position of the best-matching block in the previous frame gives the chosen displacement, or motion, vector V for the current block. For a given current block CB, the set of pixels involved in the previous frame is known as the search window S corresponding to that block. Thus, the block matching process makes use of the current block and the search window. The problem with one-sided block matching, when applied to field rate upconversion, is that the blocks for which motion vectors are sought lie in the input fields rather than in the fields IF to be interpolated. This leads to a positional error PE (with respect to the position PCB of the current block) in Fig. 2 in the information used to estimate the motion vector, which increases with the speed of motion. This error becomes more important when block matching is applied to localising the boundaries between moving areas, as described in EP93 402188 of the applicant. The positional error PE can be corrected by displacing the block in the interpolated field IF appropriately according to the motion vectors, but this leads to the occurrence of gaps GP (areas in the interpolated field for which no motion vec¬ tors exist) and, equally, of areas CT for which two or more motion vectors conflict, as shown in Fig. 3. The inventive solution to the above problem is to use two- sided block matching which is explained with reference to Fig. 4. Here, the search window (BSW and FSW) is shared between the two input fields BF and FF in such a way that the candidate motion vectors (related to the candidate pixel blocks CPBB and CPBF) all pass through the same points in the field IF to be interpolated. Thus, the 'current block' becomes a notional area in the field to be interpolated, and each of the two new search windows BSW and FSW extends to half the maximum motion vector in each direction. Each motion vector points forward (forward half of motion vector FHMV) to the forward field FF by half its value and backward (backward half of motion vector BHMV) to the backward field BF by half its value. Both vector parts depend on the same candidate motion vector. Two-sided block matching solves the positional error problem because the current blocks IFB cover the interpolated field and are correctly placed in the interpolated field, and it solves the problem of gaps and conflicts because every point in the interpolated field has precisely one motion vector as¬ signed to it, see Fig. 5. One problem with two-sided block matching is that, for a given motion vector accuracy, pixel coordinates need to be expressed twice as accurately as for one-sided block matching. This is particularly difficult if the motion vectors are required to integer accuracy, because the forward- and backward-pointing halves of the motion vector will then be expressed to the nearest half-integer. This problem can be overcome either (i) by interpolating the field to provide the half-pixel points (for which simple bilinear interpolation will suffice) or (ii) by rounding the forward and backward half-vectors in such a way that their sum remains correct. Method (i) involves an increase in hardware complexity, while method (ii) avoids the need for half-pixel interpolation but re-introduces a slight positional error (i.e. the vector is not calculated at the exact position, but because the present vector position is very near to the required one the direction of the ideal vector will be very similar to the direction of the calculated one) of up to half a pixel in the information used to estimate the motion vectors, an error which has been shown to have negligible effect on the final picture quality. These two methods are illustrated (for one dimension only) in Fig. 6. Fig. 6A depicts the two-sided case with interpolated pixels IP for method (i) and Fig. 6B the two-sided case with slight positional error SPE (maximum case) for method (ii) . In principle, the inventive method is suited for motion estima¬ tion using block matching within a preselected search window width, wherein each successive pixel block of a current field or frame is matched with respective candidate pixel blocks within a search window of a backward field or frame having a half of said preselected width and with the corresponding pixel blocks within the corresponding search window of a forward field or frame hav¬ ing a half of said preselected width in order to select a motion vector related to the location of the best matching block of the backward field or frame and to the location of the best matching block of the forward field or frame, whereby the current posi¬ tion of said search window is related to the position of the current pixel block of said current field or frame. Advantageous additional embodiments of the inventive method are resulting from the respective dependent claims. In principle the inventive apparatus is suited for motion esti¬ mation using block matching within a preselected search window width and includes: - field or frame delay means and line delay means and sample de¬ lay means providing for each successive pixel block of a current field or frame the pixel positions of a search window of a backward field or frame having a half of said preselected width and the pixel positions of the corresponding search window of a forward field or frame having a half of said preselected width; - processing elements arranged in respective order with said de¬ lay means, for matching each of said successive pixel blocks of a current field or frame with the corresponding candidate pixel blocks within said search windows by accumulating the errors be¬ tween such pixels which arrive at its two inputs, storing par¬ tial results in order to arrive at a total error for each block; - detection means connected to said processing means for select¬ ing a motion vector related to the location of the best matching pair of forward and backward blocks, a first part of which is related to the backward field or frame and a second part of which is related to the forward field or frame, whereby the cur¬ rent position of said search windows is related to the position of the current pixel block of said current field or frame. Advantageous additional embodiments of the inventive apparatus are resulting from the respective dependent claim. Drawings Preferred embodiments of the invention are described with refer¬ ence to the accompanying drawings, which show in: Fig. 1 one-sided block matching; Fig . 2 positional error in one-sided block matching; Fig . 3 motion vector gaps and conflicts in one-sided block matching; Fig . 4 two-sided block matching; Fig . 5 avoidance of gaps and conflicts in two-sided block matching; Fig . 6 overcoming the accuracy problem; Fig . 7 one architecture for one-sided block matching; Fig . 8 one architecture for two-sided block matching. Preferred embodiments Fig. 7 and Fig. 8 show possible architectures for one-sided and two-sided block matching motion estimators with a range of ±2 pixels per field horizontally and vertically, to integer accuracy. Each architecture is based on processing elements, one per candidate motion vector. Each processing element PE accumulates the errors between the pixels (which form a group related to a candidate block position and vector, respec¬ tively) arriving at its two inputs, storing partial results in order to arrive at a total error for each block. The process¬ ing elements are connected together by means not shown in the figures in order to find which one yields the minimum error for each block. The processing elements may calculate the minimum absolute value or the minimum squared error. In the one-sided motion estimator in Fig. 7, all the process¬ ing elements PE have a common input INP, corresponding to the current block. The relative displacements between the pixels in the search window are provided by a network of line LD and sample SD delays that follow the field delay FD connected to input INP. The two-sided motion estimator in Fig. 8 uses method (ii) de¬ scribed above to overcome the accuracy problem. The line LD and SD sample delays used to generate the relative search win¬ dow displacements are now shared between the two fields, and both inputs of each processing element PE depend on the motion vector being tested, whereby the one input includes the field delay FD connected to input INP. Advantageously, with the architecture described, the two-sided implementation is actually slightly simpler than the one¬ sided. The inventive motion compensation improves the subjective pic¬ ture quality and can also be used in slow motion generation, noise reduction, standard conversion and for controlling LCD displays.

Claims: Claims 1. Method for motion estimation using block matching within a preselected search window (SW) width, characterised in that each successive pixel block (IFB) of a current field or frame (IF) is matched with respective candidate pixel blocks (CPBB) within a search window (BSW) of a backward field or frame (BF) having a half of said preselected width and with the corre¬ sponding pixel blocks (CPBF) within the corresponding search window (FSW) of a forward field or frame (FF) having a half of said preselected width in order to select a motion vector, a first part (BHMV) of which is related to the location of the best matching block of the backward field or frame and a sec¬ ond part (FHMV) of which is related to the location of the best matching block of the forward field or frame, whereby the current position of said search windows (BSW, FSW) is related to the position (PCB) of the current pixel block of said cur¬ rent field or frame. 2. Method according to claim 1, characterised in that said cur¬ rent field or frame (IF) is a field or frame to be interpo¬ lated from said, in particular for field or frame rate upcon- version. 3. Method according to claim 1 or 2, characterised in that for the calculations within said search windows (BSW, FSW) said backward (BF) and said forward (FF) field or frame are inter¬ polated to provide half-pixel points (IP) . 4. Method according to any of claims 1 to 3, characterised in that the first part (BHMV) and the second part (FHMV) of said motion vector is rounded in such a way that the related sum remains correct. 5. Method according to any of claims 1 to 4, characterised in that it is used in slow motion generation, noise reduction and/or for controlling LCD displays. 6. Apparatus for motion estimation using block matching within a preselected search window (SW) width, related to a method ac¬ cording to any of claims 1 to 5 and including: field or frame delay means (FD) and line delay means (LD) and sample delay means (SD) providing for each successive pixel block (IFB) of a current field or frame (IF) the pixel posi¬ tions of a search window (BSW) of a backward field or frame (BF) having a half of said preselected width and the pixel positions of the corresponding search window (FSW) of a for¬ ward field or frame (FF) having a half of said preselected width; processing elements (PE) arranged in respective order with said delay means, for matching each of said successive pixel blocks (IFB) of a current field or frame (IF) with the corre¬ sponding candidate pixel blocks (CPBB, CPBF) within said search windows (BSW, FSW) by accumulating the errors between such pixels which arrive at its two inputs, storing partial results in order to arrive at a total error for each block; detection means connected to said processing means for select¬ ing a motion vector related to the location of the best match¬ ing pair of forward and backward blocks, a first part (BHMV) of which is related to the backward field or frame and a sec¬ ond part (FHMV) of which is related to the forward field or frame, whereby the current position of said search windows (BSW, FSW) is related to the position (PCB) of the current pixel block of said current field or frame. 7. Apparatus according to claim 6, characterised in that said de¬ tection means round the first part (BHMV) and the second part (FHMV) of said motion vector in such a way that the related sum remains correct.

Inventors: BOLENDER NADINE, HACKETT ANDREW, KERDRANVAT MICHEL, KNEE MICHAEL, BOLENDER, NADINE, HACKETT, ANDREW, KERDRANVAT, MICHEL, KNEE, MICHAEL
Applicants: BOLENDER NADINE, HACKETT ANDREW, KERDRANVAT MICHEL, KNEE MICHAEL, THOMSON CONSUMER ELECTRONICS, BOLENDER, NADINE, HACKETT, ANDREW, KERDRANVAT, MICHEL, KNEE, MICHAEL, THOMSON CONSUMER ELECTRONICS S.A.
Application year: 1994
Main classification: H04N7
IPC codes: H04N5, H04N7