-
2006-05-02
10/186,653
2002-07-01
US 7,039,110 B2
2006-05-02
-
-
Gims Philippe | Erick Rekstad
2022-12-04
In the method of motion estimation a tree (120) of segments (102–114) of an image (100) is generated by performing a hierarchical segmentation. The tree (120) of segments is analyzed to control the generation of a set (118) of candidate motion vectors of a segment (104). For the motion vectors of the set (118) match penalties are calculated. Finally, a particular motion vector (116) is selected from the set (118) of candidate motion vectors on the basis of match penalties. In the method of depth estimation depth data is calculated on the basis of a motion vector and the rules of parallax.
Get notified when new applications in this technology area are published.
H04N7/12 IPC
Television systems Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
The invention relates to a method of motion estimation of segments of an image, comprising the steps of:
The invention further relates to a motion estimator unit for motion estimation of segments of an image, comprising:
The invention further relates to a method of depth estimation of segments of an image, comprising the steps of:
The invention further relates to a depth estimator unit for depth estimation of segments of an image, comprising:
The invention further relates to an image processing apparatus comprising:
A method of motion estimation of the kind described in the opening paragraph is known from the article “True-Motion Estimation with 3-D Recursive Search Block Matching” by G. de Haan et. al. in IEEE Transactions on circuits and systems for video technology, vol.3, no.5, October 1993, pages 368–379.
Motion estimation has been used with success in video applications for motion compensated image processing like scan-rate up-conversion, de-interlacing and temporal noise reduction. A category of motion estimation algorithms is called “Block matching”. Block matching algorithms are iterative minimization algorithms which assume that all pixels within a given block move uniformly. For that block a match penalty is minimized with respect to possible motion vector candidates. A match penalty might be e.g. the Sum of Absolute differences (SAD) or Mean Squared Error (MSE). Typically, blocks are 8 by 8 pixels. However the principle of estimating motion vectors by minimization of a match penalty works also for segments with an irregular shape. In that case, the motion estimation/match penalty computation is segment based. Segment boundaries might be aligned with luminosity or color discontinuities. In this way, segments can be interpreted as being objects or parts of objects in the scene.
The speed of the method of finding the best motion vectors of the various segments of an images depends on the number of segments, the size of these segments and on the number of possible candidate motion vectors of each segment. The accuracy depends on two factors:
It is known that the steps of a method of motion estimation may be followed by a calculating step to obtain a method of depth estimation. The following problem is considered: given a series of images of a static scene taken by a camera with known motion, depth information should be recovered. All apparent motion in the series of images results from parallax. Differences in motion between one segment and another indicate a depth difference. Indeed, analyzing two consecutive images, the parallax between a given image segment at time t and the same segment at t+1 can be computed. This parallax corresponds to the motion of different parts of the scene. In the case of translation of the camera, objects in the foreground move more than those in the background. By applying geometrical relations, the depth information can be deduced from the motion. This concept is described by P. Wilinski and K. van Overveld in the article “Depth from motion using confidence based block matching” in Proceedings of Image and Multidimensional Signal Processing Workshop, pages 159–162, Alpbach, Austria, 1998.
It is a first object of the invention to provide a method of motion estimation of the kind described in the opening paragraph with an improved performance.
It is a second object of the invention to provide a motion estimator unit of the kind described in the opening paragraph with an improved performance.
It is a third object of the invention to provide a method of depth estimation of the kind described in the opening paragraph with an improved performance.
It is a fourth object of the invention to provide a depth estimator unit of the kind described in the opening paragraph with an improved performance.
It is a fifth object of the invention to provide an image processing apparatus of the kind described in the opening paragraph with an improved performance.
The first object of the invention is achieved in that the method of motion estimation further comprises the steps of:
In an embodiment of the method of motion estimation according to the invention, the motion vectors of the segments of the tree are estimated by processing the tree of the segments recursively in a top-down direction. This may be done according to the following procedure:
In a modification of the embodiment of the method of motion estimation according to the invention, the motion vectors are estimated of segments, corresponding to children of a node of the tree that corresponds to the particular segment, if a match penalty of the particular motion vector is unsatisfactory. The advantage of this stop criterion is its simplicity. Another criterion might be based on comparing match penalties of the motion vector of a parent segment and the motion vectors of the children segments. However applying this latter criterion implies extra computations.
In an embodiment of the method of motion estimation according to the invention, the motion vectors of the segments of the tree are estimated by processing the tree of the segments in a bottom-up direction. A least common ancestor of two segments is defined as the lowest node in the tree which is on the path from root to each of those segments. Segments which have a least common ancestor at a low position in the tree are more likely to belong to the same object than segments which have a least common ancestor high in the tree. This information can be used to restrict the number of candidate motion vectors by taking only the relevant neighbors into account.
In an embodiment of the method of motion estimation according to the invention, the step of generating the set of candidate motion vectors of the particular segment comprises the following sub-steps of:
The second object of the invention is achieved in that the motion estimator unit further comprises:
The third object of the invention is achieved in that the method of depth estimation further comprises the steps of:
The fourth object of the invention is achieved in that the depth estimator unit further comprises:
The fifth object of the invention is achieved in that the motion estimator unit of the image processing apparatus further comprises:
These and other aspects of the methods of and units for motion or depth estimation and of the image processing apparatus according to the invention will become apparent from and will be elucidated with respect to the implementations and embodiments described hereinafter and with reference to the accompanying drawings, wherein:
FIG. 1 shows an image segmented into 8 segments and the corresponding tree;
FIG. 2A schematically shows the segments for which motion vectors are estimated in the case of a top-down approach, at the second highest level of hierarchy of the tree;
FIG. 2B schematically shows the segments for which motion vectors are estimated in the case of a top-down approach, at the third highest level of hierarchy of the tree;
FIG. 2C schematically shows the segments for which motion vectors are estimated in the case of a top-down approach, at the lowest level of hierarchy of the tree.
FIG. 3A schematically shows elements of a motion estimator designed for a top-down approach;
FIG. 3B schematically shows elements of a motion estimator unit designed for a bottom-up approach;
FIG. 4 schematically shows elements of a depth estimator unit; and
FIG. 5 schematically shows elements of an image processing apparatus. Corresponding reference numerals have the same meaning in all of the Figures.
FIG. 1 shows an image 100 hierarchically segmented into 8 segments 102–114 and the corresponding tree 120. The tree has 13 nodes 122–146 from which node 122 is called the root. Each node 122–146 corresponds to a segment of the image 100. For some nodes it is indicated to which segment of the image 100 it corresponds, e.g. node 130 corresponds to segment 102. References are provided for convenience, A–H.
The concept of hierarchical segmentation will be explained briefly. Hierarchical segmentation is a region-based segmentation technique in which segments in the image are determined that satisfy a certain homogeneity criterion. Subsequently, these segments are extended, e.g. grown by continuously varying the homogeneity parameter, such that the union of segments covers the whole image. Then the segmentation is complete. The basic approach consists of the following steps:
The advantage of the hierarchical segmentation, resulting in the tree 120, for the estimation of the motion vector 116 of segment C 104 is described below. The method of motion estimation according to the bottom-up approach comprises the following steps:
The set CSc of candidate motion vectors is restricted to only those K motion vectors Vi which have the highest relevance.
In the situation of the prior art, the set of candidate motion vectors of segment C 104 would be CSc={VA, VB, VD, VE, VF, VG, VH, VR} where VR is a random motion vector. However according to the invention it is allowed that CSc={VB, VD, VA, VR} is taken, since from the tree structure it can be derived that the least common ancestor 122 of node C 140 and, e.g. node E 134 is so high up in the tree 120 that it is unlikely that segment C 104 and segment E 108 belong to the same object and have the same motion. In this case, K=3 is taken. In this manner, it is possible to restrict the number of candidate motion vectors to be tested. Since the selection of the candidate motion vectors is based on the tree structure of the segmentation, only the information from the most relevant neighboring segments is used. The result is a gain in efficiency, i.e. less candidate motion vectors to be tested without a loss in accuracy, since the non-tested candidate motion vectors are from segments which probably are part of different objects and thus less likely to have a similar motion.
FIG. 2A schematically shows the segments 202,204 and 206 for which motion vectors 208,210 and 212 are estimated. The tree 120 in FIG. 2A shows a state in the method according to a top-down approach: the second highest level of hierarchy of the tree. The nodes 124,126 and 128 correspond with the segments for which motion vectors are estimated. The principle of the top-down approach is described in connection with FIG. 3A.
FIG. 2B schematically shows the segments 202,216,214,218 and 220 for which motion vectors 208,222,224,226 and 228 are estimated. The tree 120 in FIG. 2B shows a state in the method according to a top-down approach: the third highest level of hierarchy of the tree. The nodes 128,130,132,134 and 135 correspond with the segments for which motion vectors are estimated. By comparing FIGS. 2A and 2B the effect of splitting segments into smaller segments on motion vectors can be seen. E.g. a motion vector 210 was estimated for segment 204 and the motion vectors 226 and 228 are estimated for the segments 214 respectively 216. E.g. a motion vector 212 was estimated for segment 206 and the motion vectors 222 and 224 are estimated for the segments 220 respectively 218.
FIG. 2C schematically shows the segments 202,216,218,230,232,234 and 236 for which motion vectors 208,224,228,238,240,244 and 242 are estimated. The tree 120 in FIG. 2C shows a state in the method according to a top-down approach: the lowest level of hierarchy of the tree. The nodes 128,130,134,138,140,142,144 and 146 correspond with the segments for which motion vectors are estimated. By comparing FIGS. 2B and 2C the effect of splitting segments into smaller segments on motion vectors can be seen. E.g. a motion vector 226 was estimated for the segment 214 and the motion vectors 238 and 240 are estimated for the segments 230 respectively 232. A motion vector 222 was estimated for the segment 220 and the motion vectors 242 and 244 are estimated for the segments 236 respectively 234.
FIG. 3A schematically shows elements of a motion estimator unit 300 designed for a top-down approach. The motion estimator unit 300 comprises:
FIG. 3B schematically shows elements of a motion estimator unit 301 designed for a bottom-up approach. Most of the elements of this motion estimator unit 301 are equal to those of the motion estimator unit 300 as described in FIG. 3A. The first generating means 310 for generating the set of candidate motion vectors comprises:
FIG. 4 schematically shows elements of a depth estimator unit 400. The depth estimator unit 400 comprises:
FIG. 5 schematically shows elements of an image processing apparatus 500 comprising:
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 alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be constructed as limiting the claim. The word ‘comprising’ does not exclude the presence of elements or steps not 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 unit claims enumerating several means, several of these means can be embodied by one and the same item of hardware.
1. A method of motion estimation of segments (102–114) of an image (100), wherein the segments satisfy a homogeneity criterion, comprising the steps of:
generating a set (118) of candidate motion vectors of a particular segment (104);
computing for each candidate motion vector a segment-based match penalty; and
selecting a particular motion vector (116) from the set (118) of candidate motion vectors on the basis of a respective match penalty,
characterized in further comprising the steps of:
generating a tree (120) of the segments (102–114) of the image (100) by performing a hierarchical segmentation, wherein the level of a segment within the tree is based on the segment's homogeneity criterion satisfying a known threshold; and
analyzing the tree (120) of the segments (102–114) to control the generation of the set (118) of candidate motion vectors of the particular segment (104).
2. A method of motion estimation as claimed in claim 1, characterized in that motion vectors of the segments (102–114) of the tree (120) are estimated by processing the tree (120) of the segments (102–114) recursively in a top-down direction.
3. A method of motion estimation as claimed in claim 2, wherein if a match penalty of the particular motion vector (116) is unsatisfactory, then motion vectors are estimated of segments (102–114) that correspond to children of a node of the tree (120) that corresponds to the particular segment (104).
4. A method of motion estimation as claimed in claim 1, characterized in that the motion vectors of the segments (102–114) of the tree (120) are estimated by processing the tree (120) of the segments (102–114) in a bottom-up direction.
5. A method of motion estimation as claimed in claim 4, characterized in that the step of generating the set (118) of candidate motion vectors of the particular segment (104) comprises the following sub-steps of:
generating an initial list of candidate motion vectors comprising motion vectors of neighboring segments (102–114);
ordering the initial list of candidate motion vectors according to positions of the corresponding nodes (122–146) within the tree (120); and
restricting the initial list of candidate motion vectors to candidate motion vectors with a relatively high order, resulting in the set (118) of candidate motion vectors.
6. A motion estimator unit (300,301) for motion estimation of segments (102–114) of an image, wherein the segments satisfy a homogeneity criterion, comprising:
a first generating means (310) for generating a set (118) of candidate motion vectors of a particular segment (104);
a computing means (306) for computing for each candidate motion vector a segment-based match penalty; and
a selecting means (308) for selecting a particular motion vector (116) from the set (118) of candidate motion vectors on the basis of respective match penalties,
characterized in further comprising:
a segmentation means (302) for generating a tree (120) of the segments (102–114) of the image, designed to perform a hierarchical segmentation, wherein the level of a segment within the tree is based on the segment's homogeneity criterion satisfying a known threshold; and
an analyzing means (304) for analyzing the tree (120) of the segments (102–114) to control the first generating means (310).
7. A motion estimator unit (300) as claimed in claim 6, characterized in being designed to estimate motion vectors of the segments (102–114) of the tree (120) by processing the tree (120) of the segments (102–114) recursively in a top-down direction.
8. A motion estimator unit (300) as claimed in claim 7, characterized in being designed to estimate motion vectors of segments (102–114), corresponding to children of a node of the tree (120) that corresponds to the particular segment (104), if a match penalty of the particular motion vector (116) is unsatisfactory.
9. A motion estimator unit (301) as claimed in claim 6, characterized in being designed to estimate motion vectors of the segments (102–114) of the tree (120) by processing the tree (120) of the segments (102–114) in a bottom-up direction.
10. A motion estimator unit (301) as claimed in claim 9, characterized in that the first generating means (310) for generating the set (118) of candidate motion vectors of the particular segment (104) comprises:
a second generating means (303) for generating an initial list of candidate motion vectors comprising motion vectors of neighboring segments (102–114);
an ordering means (305) for ordering the initial list of candidate motion vectors according to positions of the corresponding nodes (122–146) within the tree (120); and
a filter (307) to restrict the initial list of candidate motion vectors to candidate motion vectors with a relatively high order.
11. An image processing apparatus (500) comprising:
a motion estimator unit (300,301) for motion estimation of segments (102–114) of an image (100), wherein the segments satisfy a homogeneity criterion, comprising:
a generator (310) for generating a set (118) of candidate motion vectors of a particular segment (104);
a computing means (306) for computing for each candidate motion vector a segment-based match penalty; and
a selecting means (308) for selecting a particular motion vector (116) from the set (118) of candidate motion vectors on the basis of respective match penalties; and
a motion compensated image processing unit (502), characterized in that the motion estimator unit (300,301) comprises:
a segmentation means (302) for generating a tree (120) of the segments (102–114) of the image (100), designed to perform a hierarchical segmentation method, wherein the level of a segment within the tree is based on the segment's homogeneity criterion satisfying a known threshold; and
an analyzing means (304) for analyzing the tree (120) of the segments (102–114) to control the generator (310).