The above and other aspects of the present invention will become more apparent by describing certain exemplary embodiments of the present invention with reference to the accompanying drawings, in which:
Exemplary embodiments of the present invention will now be described in detail with reference to the annexed drawings. In the drawings, the same elements are denoted by the same reference numerals throughout the drawings. In the following description, detailed descriptions of known functions and configurations incorporated herein have been omitted for conciseness and clarity.
The apparatus for correcting motion vectors according to an exemplary embodiment of the present invention comprises a vector template mapping unit 110, a class reliability judgment unit 120, a vector template selection unit 130, and a motion vector correction unit 140.
The vector template mapping unit 110 generates a plurality of vector templates by mapping motion vectors of a block to be processed and adjacent blocks onto blocks of a plurality of templates. The plurality of vector templates are generated using the plurality of templates, and the plurality of templates are composed of a plurality of blocks that are divided into two different classes.
The vector templates are used to more accurately derive the motion vector of the block to be processed.
In order to estimate the motion vector in the area more accurately, reliabilities of the plurality of vector templates, which are generated by mapping the motion vectors estimated by the motion estimation of the input image onto the plurality of templates that can be generated according to the geometrical positions of the foreground and the background, are respectively judged, and the judged reliabilities are used to derive the motion vector more accurately.
The respective vector templates are generated by mapping the motion vectors estimated by the motion estimation of the input image in the unit of a block onto the corresponding blocks of the respective templates. Accordingly, the combinations of the motion vectors that belong to class A or class B vary according to the respective vector templates.
The class reliability judgment unit 120 judges the reliability of class division of the respective vector templates generated by the vector template mapping unit 110. The class reliability judgment unit 120 may comprise a representative motion vector calculation unit 121 for calculating a representative motion vector for the respective class, and a vector-class dispersion calculation unit 122 for calculating the degree of dispersion within each class and the degree of dispersion between classes on the basis of the calculated representative motion vector.
VA=median{V0, V1, V2, V3, V4, V6}
VB=median{V5, V7, V8} (1)
As shown in Equation (1), the representative motion vector is calculated by obtaining a median of the motion vectors that belong to the respective class. In this case, the reason why the representative motion vector of the respective class is defined as a median, and not as an average value, is to prevent the directions and the sizes of the estimated motion vector from being deformed due to the average value of the motion vectors divided by the respective classes.
Based on the representative motion vectors as calculated above, the vector-class dispersion calculation unit 122 calculates the degree of dispersion Sw within each class and the degree of dispersion Sb between classes by Equation (2).
Here, the degree of dispersion Sw within each class is defined as the sum of the degree of dispersion SwA within class A and the degree of dispersion SwB within class B, and the degree of dispersion within the respective class is defined by the sum of distances between the representative motion vector calculated by the representative motion vector calculation unit 121 and the motion vectors included in the respective class.
In addition, since the degree of dispersion Sb between classes indicates the distance between the averages of class A and class B, it is almost the same as the difference in distance between representative motion vectors of the two classes. Here, SbA denotes a distance from the representative motion vector VA of class A to the average value VM between the representative motion vectors, and SbB denotes a distance from the representative vector VB of class B to the average value VM between the representative motion vectors.
The class reliability judgment unit 120 judges the reliability of the class division using Equation (3), on the basis of the degrees of dispersion Sb and Sw calculated by the vector-class dispersion calculation unit 122.
As shown in Equation (3), the reliability of the class division is in reverse proportion to the degree of dispersion Sw within each class, and is in proportion to the degree of dispersion Sb between classes. That is, as Sw becomes larger, the consistency among motion vectors constituting each class is lowered, and as Sb becomes smaller, the judgment of the foreground and the background becomes vague since the representative motion vectors of the two classes are similar.
Accordingly, as Sw becomes smaller and Sb comes larger, the overlapping section between classes is decreased, the independence between classes is increased, and the reliability of class division is increased.
The vector template selection unit 130 selects the vector template having the highest reliability as a result of the judgment by the class reliability judgment unit 120 in order to correct the motion vector of the block to be processed.
The motion vector correction unit 140 corrects the motion vector of the block to be processed using the representative motion vector of a class of the vector template selected by the vector template selection unit 130. That is, the motion vector correction unit 140 corrects the motion vector of the block to be processed by substituting the representative motion vector of the class, to which the block to be processed belongs among the classes of the vector template selected by the vector template selection unit 130, for the motion vector of the block to be processed. For example, if the vector template as shown in
The judging of the reliability of the class division (S520) comprises calculating a representative vector for the respective class, and calculating the degree of dispersion within the class and the degree of dispersion between classes on the basis of the calculated representative motion vector.
The reliability is inversely proportional to the degree of dispersion within each class, and is proportional to the degree of dispersion between classes.
As described above, according to the apparatus for correcting motion vectors and the method thereof according to the exemplary embodiments of the present invention, the occurrence of distortion of an interpolated image can be effectively reduced by correcting inaccurate motion vectors through substitution of a motion vector, having been derived using a vector template having the highest reliability among a plurality of vector templates, for a motion vector of a block to be processed.
The foregoing embodiments are merely exemplary and are not to be construed as limiting the present invention. The present teaching can be readily applied to other types of apparatuses. Also, the description of the exemplary embodiments of the present invention is intended to be illustrative, and not to limit the scope of the claims, and many alternatives, modifications, and variations will be apparent to those skilled in the art.
| Number | Date | Country | Kind |
|---|---|---|---|
| 10-2006-097170 | Oct 2006 | KR | national |