This invention relates to machine vision systems, and particularly to methods for partitioning a machine vision image.
Searching for a particular pattern in an image is a well-known problem in the art of machine vision, with many known solutions, such as feature-based search methods. Typically, the pattern is assumed to have undergone one or more of a few basic known transformations, such as having been scaled larger or smaller than the original pattern, or having been rotated. However, these known solutions often fail if the pattern has been deformed by being warped, pulled, bent, wrinkled, damaged, or otherwise fundamentally changed from the original pristine shape, or known transformations thereof, that the search method is adapted to find.
However, if the deformed pattern is broken down into smaller sub-patterns, those individual sub-patterns are themselves fairly similar to the corresponding parts of the original pattern bearing only minor deformation. For example, if the pattern has been bent into a “V” or boomerang shape, then the two legs of the boomerang both have good, easily found pieces of the pattern. Therefore, searching for a deformed pattern in an image may be facilitated by dividing the pattern into smaller sub-patterns, because for many typical types of deformation encountered, most of those sub-patterns can probably be found by known feature-based search methods because they are not themselves substantially distorted or deformed. Then, a subsequent algorithm can combine these partial results into a full match of the pattern.
The question is then how to divide the pattern into smaller sub-patterns. A human being can likely examine a large pattern, determine useful parts that will probably survive whatever deformation the image is expected to encounter, and divide it accordingly. However, automating the process is more difficult.
The obvious and standard way to automatically divide a pattern image into sub-patterns is to use a rectilinear grid, such as a tic-tac-toe grid or a checker board grid. Super-imposing such a grid over the main pattern gives, for example, nine smaller sub-patterns. However, this method has significant drawbacks. Pattern matching is based on matching information in the source pattern with information in the target image. But useful information is not usually present uniformly throughout a pattern. Some of the sub-patterns selected with a grid may be blank, and consequently have no useful information contained therein. Some grid-based sub-patterns may have a small amount of information in one corner of the grid square and no information in the rest of it. And some may have a lot of dense information that would be more usefully split into smaller pieces. Further, grids divide the information of a pattern arbitrarily and indiscriminately. If, for example, part of the pattern is a small star, the grid lines might break that star up into two or even four parts, where a human operator would likely choose to keep the star together as one single, dense, easily found sub-pattern.
In one general aspect, the invention provides a method for partitioning a pattern into optimized sub-patterns. The method includes providing a list of features of the pattern, then generating a set of candidate partitions using the list of features of the pattern. Each candidate partition of the set of candidate partitions is then scored, and a best-scoring partition among the set of candidate partitions is determined based on the scoring of each candidate partition. Then, the best scoring partition is applied to the list of features so as to provide a plurality of sub-lists of features respectively representing a plurality of optimized sub-patterns.
In a preferred embodiment, providing a list of features includes using at least one sub-list from the plurality of sub-lists of features generated by an earlier application of the method as the list of features of the pattern. In another preferred embodiment, providing a list of features of the pattern includes providing an image, and extracting a list of features from the image. In a further preferred embodiment, extracting a list of features from the images includes sampling the image so as to provide a regular array of pixels. In an alternate embodiment, extracting a list of features from the images includes using an edge extraction method to provide an edge image, and sampling the edge image to provide a plurality of edge feature points. In a further preferred embodiment, each edge feature point includes the angle of the edge at that edge feature point.
In other preferred embodiments, features of the pattern are 2D image points. Alternatively, features of the pattern are points of any dimensionality.
In yet other embodiments, providing a list of features includes providing an abstract pattern description, and extracting a list of features from the abstract pattern description. In alternate preferred embodiments, providing a list of features includes providing a pre-generated list of features.
In another preferred embodiment, generating a set of candidate partitions using the list of features of the pattern includes using a clustering algorithm. In an alternate preferred embodiment, generating a set of candidate partitions using the list of features of the pattern includes using a spatial subdivision algorithm. In yet another embodiment, generating a set of candidate partitions using the list of features of the pattern includes using a method that yields sub-lists that include pattern features that span an area of the pattern that is spatially small with respect to the area of the entire pattern. In still another preferred embodiment, generating a set of candidate partitions using the list of features of the pattern includes using a method that provides sub-lists having pattern features that are more near to each other than to pattern features in other sub-lists. In a further preferred embodiment, generating a set of candidate partitions using the list of features of the pattern includes building a weighted graph using the list of features of the pattern, and partitioning the weighted graph to generate candidate partitions.
In a preferred embodiment, building a weighted graph using the list of features of the pattern includes fully connecting the feature points to make a graph, and assigning weights to each link. In an alternate preferred embodiment, building a weighted graph using the list of features of the pattern includes sparsely connecting the feature points to make a graph, and assigning weights to each link. In a further embodiment, the weight of each link is based on the distance between each pair of feature points. In other embodiments, weights decrease as the distance between feature points increases. In various other embodiments, the weights on each link are based on at least one of similarity of angle and similarity of magnitude. In yet other embodiments, the weights on each link are based on values associated with the feature points of the pattern. In still further embodiments, the weights on each link are determined such that larger weights represent a pair of features that tend to be together in the same sub-lists of features, and smaller weights indicate a pair of features that can be included in different sub-lists of features.
In some preferred embodiments, partitioning the weighted graph to generate candidate partitions includes dividing the weighted graph into two sub-graphs, one of which may be empty, and converting the two sub-graphs into two sub-lists of features. In other preferred embodiments, partitioning the weighted graph to generate candidate partitions includes partitioning the weighted graph using a “normalized cut” method to generate candidate partitions.
In a preferred embodiment, when generating a set of candidate partitions using the list of features of the pattern, at least one candidate partition has only a single sub-list of features of the pattern. In an alternate embodiment, when generating a set of candidate partitions using the list of features of the pattern, each candidate partition has many sub-lists of features of the pattern. In yet another alternate embodiment, when generating a set of candidate partitions using the list of features of the pattern, some features included in the list of features of the pattern do not appear on any sub-list of features of the pattern. In still another embodiment, when generating a set of candidate partitions using the list of features of the pattern, at least one feature of the pattern appears on a plurality of sub-lists of features of the pattern.
In more preferred embodiments, scoring each partition of the set of candidate partitions includes building sub-patterns using the set of candidate partitions, and scoring each candidate partition using a scoring function based on characteristics of a sub-pattern derived therefrom. In a further embodiment, characteristics of the sub-pattern includes spatial coherence of the features corresponding to the sub-pattern. In an alternate further embodiment, characteristics of the sub-pattern includes overall spatial size of the area spanned by the feature points corresponding to the sub-pattern. In a preferred embodiment, the area spanned by the feature points is represented by the smallest bounding box that includes all the feature points. In another embodiment, characteristics of the sub-pattern includes the number of feature points in the sub-pattern. In yet another embodiment, characteristics of the sub-pattern includes the total amount of weight in links “cut” by the partition algorithm to create the sub-pattern. In still another embodiment, characteristics of the sub-pattern includes the overall “suitability” of the sub-pattern used as a search pattern applied to the original pattern. In still other embodiments, characteristics of the sub-pattern includes spatial coherence of the features corresponding to the sub-pattern, overall spatial size of the area spanned by the feature points corresponding to the sub-pattern, the number of feature points in the sub-pattern, the total amount of weight in links “cut” by the partition algorithm to create the sub-pattern, and the overall “suitability” of the sub-pattern used as a search pattern applied to the original pattern.
In some preferred embodiments, the overall “suitability” of the sub-pattern used as a search pattern applied to the original pattern depends on the search algorithm used. In other preferred embodiments, the overall “suitability” of the sub-pattern used as a search pattern applied to the original pattern depends on degeneracy of the features of a sub-pattern. In yet other preferred embodiments, the overall “suitability” of the sub-pattern used as a search pattern applied to the original pattern depends on redundancy of the sub-pattern within the original pattern.
In a preferred embodiment, determining a best scoring partition based on the scoring includes using a partition score threshold. In some preferred embodiments, the partition score threshold is settable. In other preferred embodiments, the partition score threshold is predetermined. In yet other preferred embodiments, the partition score threshold includes a portion that is predetermined, and a portion that is settable. In a further embodiment, if no candidate partition has a score above the partition score threshold, then the list of features of the candidate partition is deemed to be one that cannot be usefully sub-divided.
In another general aspect, the invention provides a method for automatically extracting a plurality of sub-patterns from a pattern in an image, the method including extracting a plurality of features, building a connected graph using the plurality of features, and using the connected graph and a sub-division parameter to create a plurality of feature groups.
In another general aspect, the invention provides a method for dividing a pattern into a plurality of sub-patterns, each sub-pattern being adapted for use with an image search method that can provide a plurality of sub-pattern search results. In this aspect, the method includes representing the pattern as a plurality of feature points, generating candidate partitions of the plurality of feature points, scoring the candidate partitions by examining characteristics of each potential sub-pattern of each candidate partition, selecting the highest-scoring partition, and then applying it to the plurlaity of feature points so as to create one or more sub-pluralities of feature points. In a preferred embodiment, the sub-pluralities of feature points are used as sub-patterns by an image search method that is adapted to use pluralities of feature points. In another preferred embodiment, the characteristics of each potential sub-pattern of each candidate partition include area, number of feature points, and suitability of the sub-pattern for use with a particular search method.
The invention advantageously provides a plurality of sub-patterns where each sub-pattern contains a similar amount of information, where each sub-pattern has enough information to be located with a feature-based search method, and where that information has also been pre-evaluated as being useful and particularly adapted for running feature-based searches.
The invention will be more fully understood by reference to the detailed description, in conjunction with the following figures, wherein:
a is a depiction of an exemplary sampling of a pattern image consisting of a set of 2D pixels, each pixel including a brightness level;
b is a depiction of an exemplary sampling of a pattern image consisting of a set of edges, each edge including an angle of the brightness gradient at that edge;
a is a flowchart of the step of generating a set of partitions of
b is a is a flowchart of the step of scoring the partitions of
a is a sample image to be subdivided;
b is a set of feature points resulting from an analysis of the sample image of
c is a first candidate partition of the set of feature points of
d is a second candidate partition of the set of feature points of
a is an example of a set of feature points, each point having only position information; and
b is a fully connected graph of the set of feature points of
The method of the invention uses information present in the pattern itself as the basis for dividing the pattern into smaller parts called sub-patterns. Pattern information is discretized into “feature points,” which are points in the pattern where there is some feature, such as an edge, that can be used to effectively find the pattern. Many search methods are already based on such feature points, such as feature-based search methods, some of which may also be called “geometric” search methods. These feature points are then associated in small groups based on proximity to each other and other factors explained below, but without regard to such artificial means as grid-lines. The result is a plurality of sub-patterns where each sub-pattern contains a similar amount of information, where each sub-pattern has enough information to be located with a feature-based search (typically based on approximately 12 to 30 feature points, at differing angles), and where that information has also been pre-evaluated as being useful and particularly adapted for running feature-based searches. Less than 12 feature points may not be enough information for known feature-based searches, and more than 30 feature points can be usefully subdivided into two smaller sub-groups.
An embodiment of the method of the invention takes as input either an image of a pattern 200 or an abstract description of a pattern 210 (e.g. a circle of radius 20 at a point 15,15), either of which can be analyzed so as to provide a representative feature list 220, (where a feature is a point of interest in the pattern, possibly augmented by other information such as a gradient angle or magnitude), by any known feature extraction method, or more advantageously by using the two methods described herein below.
One preferred embodiment of this step 220 is to sample the pattern image 100 so as to provide a regular array of 2D points 110, each of which includes the image brightness level 120 at that point.
Alternatively, if some other method or tool has described the pattern as a list of features already, those features can be used directly 230, without the need for the pattern processing, such as described above. Note that features are typically 2D image points, but one skilled in the art can readily see that this method works identically with points of any dimensionality, such as 3D.
Using the feature list (from either step 220 or 230), step 240 generates a set of partitions of the list, where each partition includes a portion of the list. Each partition might have only a single sub-list, or it might have many sub-lists. Certain features from the original list might not appear on any sub-list, or a feature or features might appear on multiple sub-lists. Any method known in the art can be used to generate this set of partitions, such as any clustering algorithm, or any spatial subdivision algorithm. As an example,
A preferred embodiment for this step 240 is the “Normalized Cut” algorithm 246, as published in the article “Normalized Cuts and Image Segmentation” by Shi and Malik, 1997, herein incorporated by reference. To utilize this algorithm, the feature list is input 242 for conversion 244 into a weighted graph. The weighted graph is constructed by fully connecting the feature points to make a graph, and then setting the weights on each link based on the distance between those represented feature points.
Note that some weights might be zero, in which case those links can be ignored, and the fully connected graph is equivalent to a sparsely connected graph with those zero-weight links missing. This does not affect the method, though it may allow a particular implementation to be more efficient if it can take advantage of the smaller number of links.
Optionally, the weights can be set based on other values such as similarity of angle, magnitude, or any other values that may be available as part of the features themselves. Larger weights represent a pair of points that should stay in the same sub-lists together, while smaller weights indicate points that can be broken apart more easily. Therefore, in a preferred embodiment, weights decrease as the distance between feature points increases. Exact formulas, and the weightings of other feature characteristics, will vary based on the pattern domain, but any formula can be used and still remain within the spirit of the invention. The Normalized Cut method is one that generates multiple partitions which are pairs of sub-lists, where each node (or feature) appears in exactly one of the two lists. These partitions are generated in such a way that the total weight of links between elements of the two sub-lists is small, and the total weight of links between elements within each sub-list is large. This nicely meets the criteria recognized by the invention for a good partition, when weights are high for features spatially near to each other.
a is an example of a set of five feature points 400 each point having only position information.
A scoring function 250 is then applied to each candidate partition. The scoring function can take into account a number of factors. One embodiment of this function scores partitions based on the spatial coherence of the features in each sub-list, where “spatial coherence” refers to features that have positions near to each other, relative to the distances of other features. Since the node weights used for the preferred embodiment of the partitioning method are higher for features that are close to one another, those weights can easily be summed and used in this embodiment. Another embodiment determines the score based on overall spatial size of the area spanned by the feature points (e.g. as represented by the smallest bounding box that includes all the feature points) included in each sub-list. Another embodiment determines the score based on the number of feature points in each sub-list. A preferred embodiment of the function uses the total amount of weight in links “cut” by the partition algorithm (for the “Normalized Cut” partitioning method described above), and another preferred embodiment builds a search pattern 254 from each feature sub-set 252 and bases the score on the overall “suitability” (discussed below) of the sub-list as a search pattern on the original image 255. A preferred embodiment of this function is one that takes into account all of these elements 256 in determining the score. In this final embodiment, each scoring method is applied to the sub-lists to determine a set of scores. Those scores are combined, either by simply summing them or by computing a weighted average based on the applicability of each individual method in the target domain or by any other reasonable method, and the total score is used.
The last factor mentioned, that of “suitability” as a search pattern, depends on the particular algorithm that might later be used to do searching using the result of this invention. However, the “suitability” metric will likely include “degeneracy”. For example, a sub-list where all points lie on the same line is probably not a suitable search pattern, nor is one where they lie on the same circle if the search will involve rotational uncertainty. The “suitability” metric will also likely include “redundancy” within the original pattern. For example, a set of features that can be matched at multiple locations, multiple angles, and/or multiple scales, etc., within the original pattern will probably yield undesirable and possibly unacceptable confusion during a search.
A preferred embodiment of this metric is to run the search algorithm itself on the training image—if that search algorithm is known at the time this method is used. If the search returns only one match, the prospective sub-pattern scores well, i.e., is “suitable”; if it returns multiple matches or confusion about where the sub-pattern is located, the sub-pattern scores poorly, i.e., is “unsuitable”. One skilled in the art will readily recognize that any search algorithm will have certain factors that make some patterns easier to find (i.e., more “suitable”) than others, and this invention allows those factors, whatever they may be, to affect the “suitability” of the sub-pattern, and thereby affect the score of the partitions.
There may be a score threshold 257 for this step, and that score threshold might be set outside the algorithm, or might be fixed within the algorithm, or might be based on a combination of multiple such values. If no partition has a score above this threshold, then the list of features is deemed to be one that cannot be usefully sub-divided.
Otherwise, the top-scoring candidate partition is then used to create sub-lists from the original feature list 260. A partition specifies which feature points go into which sub-lists. The set of sub-lists generated by this step, if any, is returned as the output of the algorithm 270. One skilled in the art can readily see that these output sub-lists may then be returned to the algorithm as a pre-generated feature list 230, in which case the sub-division can be further refined by repeated, recursive application of this method.
Other variants and embodiments will occur to those skilled in the art, without departing from the spirit and scope of the invention. Accordingly, the invention is not intended to be limited by the detailed description, except as set forth in the following claims.
Number | Name | Date | Kind |
---|---|---|---|
3069654 | Hough | Dec 1962 | A |
3560930 | Howard | Feb 1971 | A |
3816722 | Sakoe et al. | Jun 1974 | A |
3898617 | Kashioka et al. | Aug 1975 | A |
3899240 | Gabor | Aug 1975 | A |
3899771 | Saraga et al. | Aug 1975 | A |
3936800 | Ejiri et al. | Feb 1976 | A |
3986007 | Ruoff | Oct 1976 | A |
4115702 | Nopper | Sep 1978 | A |
4115762 | Akiyama | Sep 1978 | A |
4146924 | Birk et al. | Mar 1979 | A |
4183013 | Agrawala et al. | Jan 1980 | A |
4200861 | Hubach et al. | Apr 1980 | A |
4213150 | Robinson et al. | Jul 1980 | A |
4295198 | Copeland et al. | Oct 1981 | A |
4441205 | Berkin et al. | Apr 1984 | A |
4441206 | Kuniyoshi et al. | Apr 1984 | A |
4441248 | Sherman et al. | Apr 1984 | A |
4567610 | McConnell | Jan 1986 | A |
4570180 | Baier et al. | Feb 1986 | A |
4581762 | Lapidus et al. | Apr 1986 | A |
4618989 | Tsukune et al. | Oct 1986 | A |
4637055 | Taylor | Jan 1987 | A |
4651341 | Nakashima et al. | Mar 1987 | A |
4672676 | Linger | Jun 1987 | A |
4685143 | Choate | Aug 1987 | A |
4688088 | Hamazaki et al. | Aug 1987 | A |
4707647 | Coldrenet et al. | Nov 1987 | A |
4736437 | Sacks et al. | Apr 1988 | A |
4763280 | Robinson et al. | Aug 1988 | A |
4783826 | Koso | Nov 1988 | A |
4783829 | Miyakawa et al. | Nov 1988 | A |
4799175 | Sano et al. | Jan 1989 | A |
4809348 | Meyer et al. | Feb 1989 | A |
4823394 | Berkin et al. | Apr 1989 | A |
4843631 | Steinpichler et al. | Jun 1989 | A |
4845765 | Juvin et al. | Jul 1989 | A |
4849914 | Medioni et al. | Jul 1989 | A |
4860374 | Murakami et al. | Aug 1989 | A |
4876457 | Bose | Oct 1989 | A |
4876728 | Roth | Oct 1989 | A |
4893346 | Bishop | Jan 1990 | A |
4903313 | Tachikawa | Feb 1990 | A |
4922543 | Ahlbom et al. | May 1990 | A |
4955062 | Terui | Sep 1990 | A |
4959898 | Landman et al. | Oct 1990 | A |
4972359 | Silver et al. | Nov 1990 | A |
4979223 | Manns et al. | Dec 1990 | A |
4980971 | Bartschat et al. | Jan 1991 | A |
5003166 | Girod | Mar 1991 | A |
5020006 | Sporon-Fiedler | May 1991 | A |
5027417 | Kitakado et al. | Jun 1991 | A |
5033099 | Yamada et al. | Jul 1991 | A |
5040231 | Terzian | Aug 1991 | A |
5046109 | Fujimori et al. | Sep 1991 | A |
5048094 | Aoyama et al. | Sep 1991 | A |
5060276 | Morris et al. | Oct 1991 | A |
5072384 | Doi et al. | Dec 1991 | A |
5086478 | Kelly-Mahaffey et al. | Feb 1992 | A |
5093867 | Hori et al. | Mar 1992 | A |
5111516 | Nakano et al. | May 1992 | A |
5113565 | Cipolla et al. | May 1992 | A |
5161201 | Kaga et al. | Nov 1992 | A |
5168530 | Peregrim et al. | Dec 1992 | A |
5177559 | Batchelder et al. | Jan 1993 | A |
5206917 | Ueno et al. | Apr 1993 | A |
5220621 | Saitoh | Jun 1993 | A |
5226095 | Okumura et al. | Jul 1993 | A |
5245674 | Cass et al. | Sep 1993 | A |
5253306 | Nishio | Oct 1993 | A |
5268999 | Yokoyama | Dec 1993 | A |
5272657 | Basehore et al. | Dec 1993 | A |
5280351 | Wilkinson | Jan 1994 | A |
5313532 | Harvey et al. | May 1994 | A |
5343028 | Figarella et al. | Aug 1994 | A |
5343390 | Doi et al. | Aug 1994 | A |
3531310 | Califano et al. | Sep 1994 | A |
5347595 | Bokser | Sep 1994 | A |
5351310 | Califano et al. | Sep 1994 | A |
5371690 | Engel et al. | Dec 1994 | A |
5384711 | Kanai et al. | Jan 1995 | A |
5398292 | Aoyama | Mar 1995 | A |
5406642 | Maruya | Apr 1995 | A |
5459636 | Gee et al. | Oct 1995 | A |
5471541 | Burtnyk et al. | Nov 1995 | A |
5481712 | Silver et al. | Jan 1996 | A |
5495537 | Bedrosian et al. | Feb 1996 | A |
5497451 | Holmes | Mar 1996 | A |
5500906 | Picard et al. | Mar 1996 | A |
5513275 | Khalaj et al. | Apr 1996 | A |
5515453 | Hennessey et al. | May 1996 | A |
5524064 | Oddou et al. | Jun 1996 | A |
5537669 | Evans et al. | Jul 1996 | A |
5539841 | Huttenlocher et al. | Jul 1996 | A |
5544254 | Hartley et al. | Aug 1996 | A |
5545887 | Smith et al. | Aug 1996 | A |
5550763 | Michael et al. | Aug 1996 | A |
5550937 | Bell et al. | Aug 1996 | A |
559901 | Lobregt | Sep 1996 | A |
5555317 | Anderson | Sep 1996 | A |
5555320 | Irie et al. | Sep 1996 | A |
5557684 | Wang et al. | Sep 1996 | A |
5559901 | Lobregt | Sep 1996 | A |
5568563 | Tanaka et al. | Oct 1996 | A |
5570430 | Sheehan et al. | Oct 1996 | A |
5586058 | Aloni et al. | Dec 1996 | A |
5602937 | Bedrosian et al. | Feb 1997 | A |
5602938 | Akiyama et al. | Feb 1997 | A |
5613013 | Schuette | Mar 1997 | A |
5621807 | Eibert et al. | Apr 1997 | A |
5623560 | Nakajima et al. | Apr 1997 | A |
5625707 | Diep et al. | Apr 1997 | A |
5625715 | Trew et al. | Apr 1997 | A |
5627912 | Matsumoto | May 1997 | A |
5627915 | Rosser et al. | May 1997 | A |
5631975 | Riglet et al. | May 1997 | A |
5633951 | Moshfeghi | May 1997 | A |
5638116 | Shimoura et al. | Jun 1997 | A |
5638489 | Tsuboka | Jun 1997 | A |
5650828 | Lee | Jul 1997 | A |
5657403 | Wolff et al. | Aug 1997 | A |
5663809 | Miyaza et al. | Sep 1997 | A |
5673334 | Nichani et al. | Sep 1997 | A |
5686973 | Lee | Nov 1997 | A |
5694482 | Maali et al. | Dec 1997 | A |
5694487 | Lee | Dec 1997 | A |
5703960 | Soest | Dec 1997 | A |
5703964 | Menon et al. | Dec 1997 | A |
5708731 | Shimotori et al. | Jan 1998 | A |
5717785 | Silver | Feb 1998 | A |
5754226 | Yamada et al. | May 1998 | A |
5768421 | Gaffin et al. | Jun 1998 | A |
5793901 | Matsutake et al. | Aug 1998 | A |
5796868 | Dutta-Choudhury et al. | Aug 1998 | A |
5815198 | Vachtsevanos et al. | Sep 1998 | A |
5822742 | Alkon et al. | Oct 1998 | A |
5825913 | Rostami et al. | Oct 1998 | A |
5825922 | Pearson et al. | Oct 1998 | A |
5828769 | Burns | Oct 1998 | A |
5828770 | Leis et al. | Oct 1998 | A |
5835622 | Koljonen et al. | Nov 1998 | A |
5845288 | Syeda-Mahmood | Dec 1998 | A |
5848184 | Taylor et al. | Dec 1998 | A |
5848189 | Pearson et al. | Dec 1998 | A |
5850466 | Schott et al. | Dec 1998 | A |
5850469 | Martin et al. | Dec 1998 | A |
5859923 | Petry, III et al. | Jan 1999 | A |
5862245 | Renouard et al. | Jan 1999 | A |
5864779 | Fujimoto | Jan 1999 | A |
5871018 | Delp et al. | Feb 1999 | A |
5875040 | Matraszek et al. | Feb 1999 | A |
5881170 | Araki et al. | Mar 1999 | A |
5890808 | Neff et al. | Apr 1999 | A |
5912984 | Michael et al. | Jun 1999 | A |
5912985 | Morimoto et al. | Jun 1999 | A |
5917733 | Bangham | Jun 1999 | A |
5926568 | Chaney et al. | Jul 1999 | A |
5930391 | Kinjo | Jul 1999 | A |
5933516 | Tu et al. | Aug 1999 | A |
5933523 | Drisko et al. | Aug 1999 | A |
5937084 | Crabtree et al. | Aug 1999 | A |
5940535 | Huang | Aug 1999 | A |
5943442 | Tanaka et al. | Aug 1999 | A |
5950158 | Wang | Sep 1999 | A |
5974169 | Bachelder | Oct 1999 | A |
5974365 | Mitchell | Oct 1999 | A |
5982475 | Bruning | Nov 1999 | A |
5995648 | Drisko et al. | Nov 1999 | A |
5995953 | Rindtorff et al. | Nov 1999 | A |
6002793 | Silver et al. | Dec 1999 | A |
6005978 | Garakani | Dec 1999 | A |
6021220 | Anderholm | Feb 2000 | A |
6023530 | Wilson | Feb 2000 | A |
6026186 | Fan | Feb 2000 | A |
6026359 | Yamaguchi et al. | Feb 2000 | A |
6035066 | Michael | Mar 2000 | A |
6052489 | Sakaue | Apr 2000 | A |
6061086 | Reimer et al. | May 2000 | A |
6064958 | Takahashi et al. | May 2000 | A |
6067379 | Silver | May 2000 | A |
6070160 | Geary | May 2000 | A |
6078700 | Sarachik | Jun 2000 | A |
6081620 | Anderholm | Jun 2000 | A |
6111984 | Fukasawa | Aug 2000 | A |
6115052 | Freeman et al. | Sep 2000 | A |
6122399 | Moed | Sep 2000 | A |
6128405 | Fujii | Oct 2000 | A |
6130959 | Li | Oct 2000 | A |
6137893 | Michael et al. | Oct 2000 | A |
6151406 | Chang et al. | Nov 2000 | A |
6154566 | Mine et al. | Nov 2000 | A |
6154567 | McGarry | Nov 2000 | A |
6173066 | Peurach et al. | Jan 2001 | B1 |
6173070 | Michael et al. | Jan 2001 | B1 |
6178261 | Williams et al. | Jan 2001 | B1 |
6178262 | Picard | Jan 2001 | B1 |
6215915 | Reyzin | Apr 2001 | B1 |
6226418 | Miller et al. | May 2001 | B1 |
6246478 | Chapman et al. | Jun 2001 | B1 |
6252986 | Chang | Jun 2001 | B1 |
6272244 | Takahashi et al. | Aug 2001 | B1 |
6272245 | Lin | Aug 2001 | B1 |
6311173 | Levin | Oct 2001 | B1 |
6324298 | O'Dell et al. | Nov 2001 | B1 |
6324299 | Sarachik et al. | Nov 2001 | B1 |
6327393 | Bruder | Dec 2001 | B1 |
6345106 | Borer | Feb 2002 | B1 |
6363173 | Stentz et al. | Mar 2002 | B1 |
6381375 | Reyzin | Apr 2002 | B1 |
6385340 | Wilson | May 2002 | B1 |
6408109 | Silver et al. | Jun 2002 | B1 |
6411734 | Bachelder | Jun 2002 | B1 |
6421458 | Michael et al. | Jul 2002 | B2 |
6424734 | Roberts et al. | Jul 2002 | B1 |
6453069 | Matsugu et al. | Sep 2002 | B1 |
6457032 | Silver | Sep 2002 | B1 |
6462751 | Felser et al. | Oct 2002 | B1 |
6466923 | Young et al. | Oct 2002 | B1 |
6516092 | Bachelder | Feb 2003 | B1 |
6529852 | Knoll et al. | Mar 2003 | B2 |
6532301 | Krumm et al. | Mar 2003 | B1 |
6563324 | Nichani | May 2003 | B1 |
6614926 | Fix et al. | Sep 2003 | B1 |
6625303 | Young et al. | Sep 2003 | B1 |
6636634 | Melikian et al. | Oct 2003 | B2 |
6639624 | Bachelder et al. | Oct 2003 | B1 |
6658145 | Silver et al. | Dec 2003 | B1 |
6681039 | Roberts et al. | Jan 2004 | B1 |
6690842 | Silver et al. | Feb 2004 | B1 |
6691126 | Syeda-Mahmood | Feb 2004 | B1 |
6691145 | Shibata et al. | Feb 2004 | B1 |
6748104 | Bachelder et al. | Jun 2004 | B1 |
6760483 | Elichai et al. | Jul 2004 | B1 |
6771808 | Wallack | Aug 2004 | B1 |
6785419 | Jojic et al. | Aug 2004 | B1 |
6850646 | Silver | Feb 2005 | B1 |
6856698 | Silver et al. | Feb 2005 | B1 |
6859548 | Yoshioka et al. | Feb 2005 | B2 |
6909798 | Yukawa et al. | Jun 2005 | B1 |
6959112 | Wagman | Oct 2005 | B1 |
6973207 | Akopyan et al. | Dec 2005 | B1 |
6993177 | Bachelder | Jan 2006 | B1 |
7016539 | Silver et al. | Mar 2006 | B1 |
7062093 | Steger | Jun 2006 | B2 |
7139421 | Fix et al. | Nov 2006 | B1 |
7190834 | Davis | Mar 2007 | B2 |
7239929 | Ulrich et al. | Jul 2007 | B2 |
7751625 | Ulrich et al. | Jul 2010 | B2 |
20020054699 | Roesch et al. | May 2002 | A1 |
20040081346 | Louden et al. | Apr 2004 | A1 |
20050117801 | Davis et al. | Jun 2005 | A1 |
20090096790 | Wiedemann et al. | Apr 2009 | A1 |
20090185715 | Hofhauser et al. | Jul 2009 | A1 |
Number | Date | Country |
---|---|---|
4406020 | Jun 1995 | DE |
6378009 | Apr 1988 | JP |
06-160047 | Jun 1994 | JP |
3598651 | Dec 2004 | JP |
9718524 | May 1997 | WO |
Number | Date | Country | |
---|---|---|---|
20050117801 A1 | Jun 2005 | US |