首页 / 专利库 / 视听技术与设备 / 块匹配运动估计 / Method and apparatus for motion estimation using block matching

Method and apparatus for motion estimation using block matching

阅读:841发布:2021-06-20

专利汇可以提供Method and apparatus for motion estimation using block matching专利检索,专利查询,专利分析的服务。并且Block matching is a robust and simple method of motion estimation for television pictures. One important parameter in block matching is the block size. Large blocks give more reliable motion estimation than small blocks, particularly in the presence of noise on the input picture, but they produce a coarser motion vector field. However, if the motion estimation is being used for motion compensated interpolation, for example for upconversion between 50 and 100Hz display rates, the effects on picture quality of wrong vectors for whole blocks, and also of vectors that do not correctly follow the boundaries of moving objects, can be severe. According to the invention, large block (LB) matching is combined with the performance of more localized motion vectors to get pixel motion vectors. For any pixel, the motion vector will be one of four possibilities: the vector calculated for the block containing the pixel and the vectors (V1, V2, V3, V4) of the nearest blocks horizontally, vertically and diagonally.,下面是Method and apparatus for motion estimation using block matching专利的具体信息内容。

Method for motion estimation using block matching, wherein a motion vector (BV) related to each block (LB) is calculated, characterised in that for any pixel of the current block, a pixel motion vector (OV, OPV, OSBV) is calculated using four motion vectors (V1, V2, V3, V4), that is the motion vector of the current block and the motion vectors of the three adjacent blocks.Method according to claim 1, characterised in that for any pixel, from error values (E4) related to said four block motion vectors (V1, V2, V3, V4, BV4) several estimated errors (EE) are calculated (EI), taking into account the position of the pixel relative to the centre of each of the corresponding block (LB), whereby the minimum (R) of said estimated errors is taken to select the related of said four block motion vectors as the final motion vector (OV) for said pixel.Method according to claim 2, characterised in that said estimated errors (EE) are calculated (EI) using linear interpolations.Method according to claim 1, characterised in that in addition, for each pixel a pixel matching (SPM) is performed by comparing said four motion vectors (V1, V2, V3, V4, BV4), followed by counting in rows the number of choices from the left, respectively right, pair of blocks and by counting in columns the number of choices from the upper, respectively lower, pair of blocks and re-ordering the vectors to form groups of identical vector types in such a way, that every pixel has two decisions which together define a unique motion vector (OPV) for the pixel.Method according to claim 1, characterised in that in addition, for each subblock smaller than said block (BL) a subblock matching (SBM) is performed by comparing said four motion vectors (V1, V2, V3, V4, BV4) relevant to the subblock and selecting one (SBV) with respect to a minimum subblock error, whereafter a dominant subblock vector (OSBV) is generated from the selected vectors by combining (MF) them.Method according to claim 5, characterised in that said combining is a median filtering (MF).Method according to any of claims 1 to 6, characterised in that said block matching is carried out on subsampled pictures.Method according to any of claims 1 to 7, characterised in that said block matching is a two-sided block matching.Apparatus, related to a method for motion estimation using block matching, wherein a motion vector (BV) related to each block (LB) of a picture signal is calculated, according to any of claims 1 to 3, 7 and 8 and including:- large-block matching means (LBM) receiving said picture signal (INP) and producing block motion vectors (BV) and related block errors (E);- memory means (BVM, EM) which store said block motion vectors and said errors;- error estimation means (EI), in particular linear error interpolation means, which operate on stored error values (E4) corresponding to each four related block motion vectors (V1, V2, V3, V4, BV4), that is the motion vector of the current block and the motion vectors of the three adjacent blocks, and which calculate for each pixel estimated errors (EE), taking into account the position of the pixel relative to the centre of each of the corresponding block (LB);- comparing means (CEE) which take the minimum (R) of said estimated errors;- selecting means (VS) for selecting in relation to said minimum the respective of said four block motion vectors as a final motion vector (OV) for the current pixel.Apparatus, related to a method for motion estimation using block matching, wherein a motion vector (BV) related to each block (LB) of a picture signal is calculated, according to any of claims 1, 4, 7 and 8 and including:- large-block matching means (LBM) receiving said picture signal (INP) and producing block motion vectors (BV);- memory means (BVM) which store said block motion vectors;- pixel matching means (SPM) which compare each four of said stored block motion vectors (V1, V2, V3, V4, BV4), that is the motion vector of the current block and the motion vectors of the three adjacent blocks;- count means (CV) for counting in rows the number of vector choices from the left, respectively right, pair of blocks and by counting in columns the number of vector choices from the upper, respectively lower, pair of blocks and for re-ordering the vectors to form groups of identical vector types in such a way, that every pixel has two decisions;- assigning means (VA) which combine said two decisions for defining a unique motion vector (OPV) for each pixel, selected from the corresponding block motion vectors (BV).Apparatus, related to a method for motion estimation using block matching, wherein a motion vector (BV) related to each block (LB) of a picture signal is calculated, according to any of claims 1 and 5 to 8 and including:- large-block matching means (LBM) receiving said picture signal (INP) and producing block motion vectors (BV);- memory means (BVM) which store said block motion vectors;- subblock matching means (SBM) which compare each four of said stored block motion vectors (V1, V2, V3, V4, BV4), that is the motion vector of the current block and the motion vectors of the three adjacent blocks to select a vector (SBV) which has a minimum subblock error;- combining means (MF), in particular median filter means, which generate a dominant subblock vector (OSBV) from said selected vectors (SBV).
说明书全文

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. One important parameter in block matching is the block size. Large blocks give more reliable motion estimation than small blocks, particularly in the presence of noise on the input picture, but they produce a coarser motion vector field. If the goal of the motion estimation is to provide a motion compensated prediction, for example in bit rate reduction applications, a suitable compromise can usually be found, bearing in mind the fact that neither reliability nor a fine motion vector field are necessary conditions for good performance since occasional errors can be tolerated. If, however, the motion estimation is being used for motion compensated interpolation, for example for upconversion between 50 and 100Hz display rates, the effects on picture quality of wrong vectors for whole blocks, and also of vectors that do not correctly follow the boundaries of moving objects, can be severe.

Invention

It is one object of the invention to disclose a method by which the reliability advantages of a large block size are combined with the performance of more localized motion vectors. 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 claims 9 to 11.

The inventive solutions are slightly different, but are all based on block matching using large blocks, followed by post-processing in which the boundaries between motion vectors are fixed more precisely or 'localized'.

As depicted in Fig. 1, the picture is divided into large rectangular blocks LB (xb , yb), where xb is a horizontal coordinate increasing from left to right and yb a vertical coordinate increasing from top to bottom of the picture. In the descriptions below, the block size is supposed to be M pixels by N lines. Typical block sizes are 8x8, 16x8 or 16x16. The block matching may be carried out either on a subsampled image as described in EP93 402059 of the applicant or on the original, and may be either conventional or 'two-sided', wherein the block to be interpolated is matched with a previous and a subsequent picture, as described in EP93 402187 of the applicant.

The block matching process yields an error value E(vx ,vy) for each candidate motion vector (vx ,vy). The motion vector chosen for the block is the one for which the error is a minimum.

The aim of the localization process is to produce a separate motion vector for each pixel. One feature that is common to all the localization methods is that, for any pixel, the motion vector will be one of four possibilities: the vector calculated for the block containing the pixel and the vectors of the nearest blocks horizontally, vertically and diagonally, as illustrated in figure 1. The pixels for which the choice will be made from a given set of vectors form an offset block, shown in the figure by a broken line. In this region, localized motion vectors are chosen from the vectors V1, V2, V3 and V4 of the corresponding adjacent large blocks.

In principle, the inventive method is suited for motion estimation using block matching, wherein a motion vector related to each block is calculated and wherein for any pixel of the current block, a pixel motion vector is calculated using four motion vectors, that is the motion vector of the current block and the motion vectors of the three adjacent blocks, whereby

  • for any pixel, from error values related to said four block motion vectors several estimated errors are calculated, taking into account the position of the pixel relative to the centre of each of the corresponding block, whereby the minimum of said estimated errors is taken to select the related of said four block motion vectors as the final motion vector for said pixel, or whereby
  • in addition, for each pixel a pixel matching is performed by comparing said four motion vectors, followed by counting in rows the number of choices from the left, respectively right, pair of blocks and by counting in columns the number of choices from the upper, respectively lower, pair of blocks and re-ordering the vectors to form groups of identical vector types in such a way, that every pixel has two decisions which together define a unique motion vector for the pixel, or whereby
  • in addition, for each subblock smaller than said block a subblock matching is performed by comparing said four motion vectors relevant to the subblock and selecting one with respect to a minimum subblock error, whereafter a dominant subblock vector is generated from the selected vectors by combining them.

Advantageous additional embodiments of the inventive method are resulting from the respective dependent claims.

In principle, a first embodiment of the inventive apparatus for motion estimation using block matching, wherein a motion vector related to each block of a picture signal is calculated, includes:

  • large-block matching means receiving said picture signal and producing block motion vectors and related block errors;
  • memory means which store said block motion vectors and said errors;
  • error estimation means, in particular linear error interpolation means, which operate on stored error values corresponding to each four related block motion vectors, that is the motion vector of the current block and the motion vectors of the three adjacent blocks, and which calculate for each pixel estimated errors, taking into account the position of the pixel relative to the centre of each of the corresponding block;
  • comparing means which take the minimum of said estimated errors;
  • selecting means for selecting in relation to said minimum the respective of said four block motion vectors as a final motion vector for the current pixel.

In principle, a second embodiment of the inventive apparatus for motion estimation using block matching, wherein a motion vector related to each block of a picture signal is calculated, includes:

  • large-block matching means receiving said picture signal and producing block motion vectors;
  • memory means which store said block motion vectors;
  • pixel matching means which compare each four of said stored block motion vectors, that is the motion vector of the current block and the motion vectors of the three adjacent blocks;
  • count means for counting in rows the number of vector choices from the left, respectively right, pair of blocks and by counting in columns the number of vector choices from the upper, respectively lower, pair of blocks and for re-ordering the vectors to form groups of identical vector types in such a way, that every pixel has two decisions;
  • assigning means which combine said two decisions for defining a unique motion vector for each pixel, selected from the corresponding block motion vectors.

In principle, a third embodiment of the inventive apparatus for motion estimation using block matching, wherein a motion vector related to each block of a picture signal is calculated, includes:

  • large-block matching means receiving said picture signal and producing block motion vectors;
  • memory means which store said block motion vectors;
  • subblock matching means which compare each four of said stored block motion vectors, that is the motion vector of the current block and the motion vectors of the three adjacent blocks to select a vector which has a minimum subblock error;
  • combining means, in particular median filter means, which generate a dominant subblock vector from said selected vectors.

Advantageous additional embodiments of the inventive apparatus are resulting from the respective dependent claims.

Drawings

Preferred embodiments of the invention are described with reference to the accompanying drawings, which show in:

Fig. 1
possible motion vectors for localization;

Fig. 2
block diagram of localization by error interpolation;

Fig. 3
localization by vote counting;

Fig. 4
block diagram of localization by vote counting;

Fig. 5
block diagram of localization by subblock matching.

Preferred embodiments

Localisation by error interpolation

This embodiment works by calculating an estimated error for each pixel, for each of the four motion vectors from which the choice will be made, and then choosing the vector for which the estimated error is a minimum. For each of the four vectors, the estimated error is calculated by linear interpolation between the block matching errors produced for each of the four blocks concerned, taking into account the position of the pixel in question relative to the centre of each block.

For example, if the horizontal distance of the pixel from the centre of the upper left block is A and its vertical distance B, the motion vector is V and the errors from each of the four blocks are E₁(V), E₂(V), E₃(V) and E₄(V), the estimated error for the pixel is:



EE = (1-A/M)*(1-B/N)*E₁ + (A/M)*(1-B/N)*E₂ + (1-A/M)*( B/N)*E₃ + (A/M)*( B/N)*E₄



This method extends the areas for which block matching errors are likely to be small, thereby achieving a better match between the motion vectors and objects moving with different velocities, while preserving the continuity of the boundaries between motion vectors.

Figure 2 is a block diagram of a possible hardware implementation. Large-block matching means LBM receiving the input signal INP produce for each candidate motion vector and for each block errors E, which are stored in an error memory EM, together with block motion vectors BV, which are stored in a block vector memory BVM and for which the error is a minimum in each block. Motion vectors BV4 from the memory BVM are used in sets of four to control (C) via error memory control means EMC access to the corresponding error values over four blocks which are stored in error memory EM. These errors E4 form the input to an error interpolator EI which calculates estimated errors EE, pixel by pixel. Finally, the four estimated errors for each pixel are compared in comparing means CEE and the minimum R is used to select in vector selecting means VS from the motion vectors BV the output motion vector OV for that pixel.

An advantage of this embodiment is that it retains good noise performance.

Localization by vote-counting

This embodiment works by first performing the 'block matching' operation on each pixel using a block size of one pixel only and comparing only the four vectors allowed for the pixel.

This can be thought of as giving each pixel a 'vote' for one of the four vectors. On its own, this operation introduces an unacceptable number of spurious vectors, so it is followed by an adjustment of the boundaries between motion vectors. An example of the operation of this embodiment is given in figure 3.

Within each row of the block-sized area marked by the dotted line in Figure 1 (input pixel vectors IPV), the number of choices for vectors from the two blocks on the left (V₁ and V₃, result of counting rows RCR) is counted. If the result (row count RC) is 'a', say, the decision is made that the 'a' leftmost pixels in the row will be given motion vectors V₁ or V₃ and the (M-a) rightmost pixels V₂ or V₄ (vector assignment in rows VAR). Similarly, within each column, the number of choices for the upper pair of vectors (V₁ and V₂, result of counting columns RCC) is counted (column count CC). If the result is 'b', it is decided that the 'b' uppermost pixels in the column will be given motion vectors V₁ or V₂ and the (N-b) lowest pixels V₃ or V₄ (vector assignment in columns VAC).

After both the rows and columns have been looked at in this way, every pixel has two decisions which together define a unique motion vector for the pixel (final vector assignment FVA) by forming areas in which both decisions (VAR and VAC) contain the same kind of vector.

Note: in Fig. 3, '13' means '1 or 3', '24' means '2 or 4', etc.

Figure 4 is a block diagram of a possible hardware implementa tion of this embodiment. Large-block matching means LBM receiving the input signal INP produce for each block block vectors BV, which are stored in a block vector memory BVM. Single-pixel matching means SPM receive the input signal INP and evaluate sets of four block vectors BV4 received from block vector memory BVM. The resulting single-pixel vectors PV (the 'votes') are stored in vote count means CV and are reassigned in a vector assigner VA using the block vectors BV from memory BVM, according to the counting algorithm described above, to provide the final output pixel vectors OPV.

This method also retains good noise performance and is quite simple in hardware because the secondary, single-pixel search requires only four comparisons per pixel. The process of counting votes across rows and columns can be generalized to take into account the magnitudes of the errors resulting from the single-pixel 'block matching' process.

Localization by subblock matching

This method also uses matching of smaller blocks, but here a compromise is made between the reliability of larger blocks and the need for a pixel-based motion vector field. Block matching is performed using small blocks, typically 2x2, again comparing only the four vectors relevant to the small block (or 'subblock'). The resulting motion vector field is much more reliable than that resulting from a search using single pixels, but there is a slight penalty in that the localization is coarser.

With a subblock size of 2x2, there is some benefit in following the subblock search with post-processing to remove the occasional spurious result, especially if the input picture is noisy. One possibility is a median filter, using a window of 3 subblocks by 3 subblocks, on each component of the motion vector separately. This is a fairly simple process but has the slight disadvantage that the output motion vectors might not be one of the nine vectors on the window from which the median is taken. This disadvantage is not severe, especially if the vertical motion vector range is small, but it can be overcome by using a 3x3 'vector median' filter on the motion vectors, as described in "An overview of median and stack filtering", GABBOUJ, M. et al, 1991, Circuits Systems Signal Processing, Vol 11, No 1, 1992.

Simulations have shown that localization by subblock searching, followed by a 3x3 median filter on each component, gives a closer approximation to the true motion field than either of the other two embodiments. In most architectures it is also likely to be the simplest to implement in hardware, but the other embodiments may prove simpler to implement or to have better performance in certain applications.

Figure 5 is a block diagram of a possible implementation. Largeblock matching means LBM receiving the input signal INP produce for each block block vectors BV, which are stored in a block vector memory BVM. Subblock matching means SBM receive the input signal INP and evaluate sets of four vectors BV4 received from block vector memory BVM. The resulting subblock vectors SBV which have been selected in SBM with respect to the minimum subblock error are median filtered in filter means MF to produce the final output subblock vectors OSBV.

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈