Apparatus for estimating motion vectors with extended search movement of reference macroblock

Abstract
A motion vector estimation apparatus that can produce motion vectors accurately with an adequately expanded search domain, without increasing computational load too much. A reference macroblock mover moves a reference macroblock in a given reference frame according to a current search pattern, starting from a point identified as a minimum point in a preceding evaluation step. An evaluation processor calculates evaluation values corresponding to specified search movements, thus extracting a minimum evaluation value among as many evaluation values as the number of search movements performed. The evaluation processor finally finds an absolute minimum point from the extracted minimum evaluation values. A search pattern generator provides search patterns specifying extended search movements in a vertical direction so as to move a reference macroblock across different field lines. A motion vector estimator calculates a motion vector representing a distance and direction of the original macroblock relative to the reference macroblock at the absolute minimum point.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a conceptual view of a motion vector estimation apparatus according to the present invention.



FIG. 2 gives an overview of search movement.



FIG. 3 provides an overview of how a conventional motion estimator works with a basic DS algorithm.



FIG. 4 shows a search pattern of the basic DS algorithm.



FIG. 5A illustrates a five-point search pattern of a 16×16 reference macroblock, and FIG. 5B shows an original macroblock compared with the reference macroblock.



FIG. 6 shows a drawback of the basic DS algorithm.



FIG. 7 shows the structure of a motion vector estimation apparatus.



FIG. 8 shows an example search pattern.



FIGS. 9 to 15 show specific search movements of a pixel block during the course of searching a frame.



FIG. 16 gives an overview of an extended search seen in each pixel.



FIGS. 17 and 18 show macroblock movements in an extended search.



FIGS. 19 to 23 give various examples of search patterns.



FIG. 24 shows a search pattern table.



FIG. 25 is a flowchart of search pattern reading.



FIG. 26 shows prediction directions determined depending on picture types.



FIG. 27 shows search mode and arithmetic unit assignment corresponding to each picture type.



FIG. 28 shows a second variation of the present embodiment.



FIGS. 29 and 30 show a third variation of the present embodiment.



FIG. 31 demonstrates an advantage of the motion vector estimation apparatus according to the present embodiment.


Claims
  • 1. A motion vector estimation apparatus that estimates motion vectors from interlaced video frames each composed of odd and even fields, the apparatus comprising: a reference macroblock mover that moves a reference macroblock in a given reference frame according to search movement parameters contained in a given search pattern of a current evaluation step, starting from a search start point that is identified as a minimum point in a preceding evaluation step;an evaluation processor that calculates an evaluation value being either a sum of absolute differences or a square sum of differences between corresponding pixels of the reference macroblock and an original macroblock in a given original frame, with a plurality of search movements performed by the reference macroblock mover, thus extracting a minimum evaluation value among as many evaluation values as the number of search movements performed in one evaluation step and finding an absolute minimum point from the extracted minimum evaluation values;a search pattern generator that provides the reference macroblock mover with search patterns each giving a set of search movement parameters for one evaluation step, search movement parameters including extended search parameters that specify extended search movements of 2n lines (n=1, 2, . . . ) in a vertical direction so as to move the reference macroblock across different field lines; anda motion vector estimator that identifies the reference macroblock at the absolute minimum point as being most correlated with the original macroblock, and calculates a motion vector representing a distance and direction of the original macroblock relative to the identified reference macroblock.
  • 2. The motion vector estimation apparatus according to claim 1, wherein the extended search movements in n=1 include upward and downward movements dependent upon which field contains the topmost line or bottommost line of the reference macroblock sitting at a search start point, and wherein: (a) when the odd field contains the topmost line, the upward movements carry the reference macroblock up to an even line immediately above the topmost line and also to an odd line two lines above the topmost line;(b) when the even field contains the topmost line, the upward movements carry the reference macroblock up to an odd line immediately above the topmost line and also to an even line two lines above the topmost line;(c) when the odd field contains the bottommost line, the downward movements carry the reference macroblock down to an even line immediately below the bottommost line and also to an odd line two lines below the bottommost line; and(d) when the even field contains the bottommost line, the downward movements carry the reference macroblock down to an odd line immediately below the bottommost line and also to an even line two lines below the bottommost line.
  • 3. The motion vector estimation apparatus according to claim 1, wherein: the evaluation processor comprises a plurality of arithmetic units for calculating the evaluation values in a parallel fashion; andthe search movement parameters include instructions specifying how to distribute tasks of each evaluation step to the arithmetic units.
  • 4. The motion vector estimation apparatus according to claim 3, wherein: the plurality of arithmetic units include first and second arithmetic units; andboth the first and second arithmetic units work together to compare the original frame with a forward reference frame temporally preceding the original frame, when the original frame is supposed to be encoded into an interframe forward predictive coded frame; andthe first arithmetic unit compares the original frame with a forward reference frame temporally preceding the original frame, while the second arithmetic unit compares the original frame with a backward reference frame temporally succeeding the original frame, when the original frame is supposed to be encoded into a bidirectionally predictive coded frame.
  • 5. The motion vector estimation apparatus according to claim 4, wherein: the reference macroblock mover performs the extended search movements of the reference macroblock when the original frame is supposed to be encoded into an interframe forward predictive coded frame; andthe reference macroblock mover performs no extended search movements of the reference macroblock when the original frame is supposed to be encoded into a bidirectionally predictive coded frame.
  • 6. The motion vector estimation apparatus according to claim 1, wherein the reference macroblock mover performs the extended search movements of the reference macroblock for vertical search movements in the current evaluation step when the minimum point is found in the preceding evaluation step as a result of a vertical search movement of the reference macroblock.
  • 7. The motion vector estimation apparatus according to claim 1, wherein the search pattern generator receives definitions of the search patterns from an external source.
  • 8. The motion vector estimation apparatus according to claim 1, wherein the extended search parameters in the search pattern generator specify that the extended search movements be used only when the original macroblock in process is located in a central portion of the original frame.
  • 9. The motion vector estimation apparatus according to claim 1, wherein the extended search parameters in the search pattern generator specify that the extended search movements be used only to evaluate the original macroblock whose surrounding macroblocks have motion vectors with a large variation.
  • 10. A method of estimating motion vectors from interlaced video frames each composed of odd and even fields, the method comprising: providing search patterns each giving a set of search movement parameters used for one evaluation step, the search movement parameters each specifying a movement of a reference macroblock in a given reference frame, the search movement parameters including extended search parameters that specify extended search movements of 2n lines (n=1, 2, . . . ) in a vertical direction so as to move the reference macroblock across different field lines;moving the reference macroblock according to the search movement parameters contained in the search pattern of a current evaluation step, starting from a search start point that is identified as a minimum point in a preceding evaluation step;calculating an evaluation value being either a sum of absolute differences or a square sum of differences between corresponding pixels of the reference macroblock and an original macroblock in a given original frame, with a plurality of search movements performed by said moving of the reference macroblock;extracting a minimum evaluation value among as many evaluation values as the number of search movements performed in each evaluation step;finding an absolute minimum point from the extracted minimum evaluation values; andidentifying the reference macroblock at the absolute minimum point as being most correlated with the original macroblock, and calculating a motion vector representing a distance and direction the original macroblock relative to the identified reference macroblock.
Priority Claims (1)
Number Date Country Kind
2006-096312 Mar 2006 JP national