Patent Publication Number: US-7590278-B2

Title: Measurement of corner roundness

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
   This application claims the benefit of U.S. provisional patent application 60/493,518, filed Aug. 8, 2003, which is incorporated herein by reference. 

   FIELD OF THE INVENTION 
   The present invention relates generally to image processing, and specifically to measuring the roundness of corners of a structure in an image, such as rectangular structures in a microscopic image of a semiconductor wafer or reticle. 
   BACKGROUND OF THE INVENTION 
   Structures in reticles and in layers produced on semiconductor wafers by photolithography are generally designed to have square corners. In practice, however, the limitations inherent in fabrication techniques inevitably result in some rounding of the corners. Such rounding may have adverse effects on the performance of microcircuits that incorporate the structures. For example, rounding of the corners of a contact pad reduces the effective contact area and may thus increase the contact resistance. The extent to which corners are rounded may be qualitatively observed in scanning electron microscope (SEM) images of the reticle or wafer, but there is a need for reliable, quantitative techniques for automatically measuring corner curvatures in such images. 
   Various methods are known in the art of image processing for estimating the curvature of a boundary or edge in an image. For example, Lee et al. describe a method for estimation of curvature using cubic polynomial fitting, in “Estimation of Curvature from Sampled Noisy Data,”  Computer Vision and Pattern Recognition  1993 (Proceedings of CVPR &#39;93, IEEE), pages 536-541, which is incorporated herein by reference. 
   As another example, U.S. Pat. No. 6,714,679, whose disclosure is incorporated herein by reference, describes a method for analyzing a boundary of an object in an image. The boundaries are represented as a set of indexed vertices, which are generated by parsing the boundaries into a set of segments. In one embodiment, the curvature of the boundary is approximated by taking the derivative of the local tangent to the boundary. The boundary is segmented by locating the local maxima in the curvature and walking both sides of each maximum until a threshold curvature change on each side of the maximum has been met. 
   As still another example, U.S. Pat. No. 6,195,461, whose disclosure is incorporated herein by reference, describes an image processing method for accurately reproducing an edge part at which luminance abruptly changes. This patent describes methods for analyzing and synthesizing a curve on a plane based on the unit tangent vector to the curve. 
   SUMMARY OF THE INVENTION 
   Although various methods for curvature analysis are known in the art, and may work adequately in some cases, these methods often fail to provide accurate curvature measurements when applied to image features that have noisy edges, i.e., edges that are characterized by random, high-frequency fluctuations. Such noise is a common feature of SEM images. Embodiments of the present invention overcome these shortcomings of the prior art by providing improved methods and systems for automatic curvature measurement, which are reliable even in the presence of substantial noise. These methods and systems are particularly useful in determining corner roundness of features in semiconductor wafers and reticles, but they may also be applied in other areas of image processing. 
   In some embodiments of the present invention, an image processor receives a definition of a contour in an image, wherein the contour is typically the edge of a feature of interest in the image. The image processor locates curved segments of the contour, which typically correspond to corners of the feature, and then applies a smoothing function to reduce the noise associated with the curves. Typically, the smoothing function comprises a polynomial, such as a spline, which the image processor fits to each of the corners. The smoothed curve is then transformed from Cartesian coordinates to a natural coordinate system, in which each point along the curve is represented by its distance along the curve from the origin and the slope of a tangent to the curve at the point. The term “natural coordinates,” as used in the context of the present patent application and in the claims, refers specifically to this sort of &lt;distance, slope&gt; coordinates. 
   Straight segments in the natural coordinate representation of a curve correspond to segments of approximately constant curvature in the Cartesian coordinates. Straight segments of this sort are expected to occur in the vicinity of rounded corners in the image. Therefore, the image processor analyzes the curves in natural coordinates in order to locate such straight segments, and then fits a straight line to each such segment. The slope of this straight line gives an accurate measure of the curvature of the corresponding corner, even in the presence of substantial noise in the original image. 
   There is therefore provided, in accordance with an embodiment of the present invention, a method for analyzing an image, including: 
   identifying a curved segment of a contour that is associated with noise; 
   smoothing the curved segment so as to reduce the noise that is associated with the curved segment, thereby providing a smoothed segment; 
   transforming the smoothed segment to a natural coordinate system, thereby providing a transformed segment; and 
   fitting a line to the transformed segment in order to determine a radius of curvature of the curved segment. 
   In a disclosed embodiment, the contour represents an edge of a feature in the image, and identifying the curved segment includes locating a corner of the feature. Typically, the feature corresponds to an element of an integrated circuit, and the image is a scanning electron microscope (SEM) image of a semiconductor wafer or a reticle used in fabricating the integrated circuit. 
   In a disclosed embodiment, smoothing the curved segment includes fitting a smoothing spline to the curved segment. 
   Typically, the natural coordinate system includes a first coordinate corresponding to a distance along the smoothed segment and a second coordinate corresponding to a slope of the smoothed segment. In one embodiment, transforming the smoothed segment includes transforming the smoothed segment f(x) from Cartesian coordinates (x,y) to natural coordinates (s,φ) in accordance with a transformation that is represented by 
   
     
       
         
           
             φ 
             = 
             
               arc 
               ⁢ 
               
                   
               
               ⁢ 
               tan 
               ⁢ 
               
                 
                   ⅆ 
                   
                     f 
                     ⁡ 
                     
                       ( 
                       x 
                       ) 
                     
                   
                 
                 
                   ⅆ 
                   x 
                 
               
             
           
           , 
           
             s 
             = 
             
               
                 ∫ 
                 0 
                 x 
               
               ⁢ 
               
                 
                   
                     1 
                     + 
                     
                       
                         [ 
                         
                           f 
                           ⁡ 
                           
                             ( 
                             x 
                             ) 
                           
                         
                         ] 
                       
                       2 
                     
                   
                 
                 ⁢ 
                 
                   
                     ⅆ 
                     x 
                   
                   . 
                 
               
             
           
         
       
     
   
   Typically, fitting the line includes performing a least-square fit of a straight line to the curved segment, and determining the radius of curvature responsively to a slope of the line. 
   There is also provided, in accordance with an embodiment of the present invention, apparatus for analyzing an image, including an image processor, which is adapted to identify a curved segment of a contour that is associated with noise, to smooth the curved segment so as to reduce the noise that is associated with the curved segment, thereby providing a smoothed segment, to transform the smoothed segment to a natural coordinate system, thereby providing a transformed segment, and to fit a line to the transformed segment in order to determine a radius of curvature of the curved segment. There is additionally provided, in accordance with an embodiment of the present invention, a computer software product, including a computer-readable medium in which program instructions are stored, which instructions, when read by a computer, cause the computer to identify a curved segment of a contour that is associated with noise, to smooth the curved segment so as to reduce the noise that is associated with the curved segment, thereby producing a smoothed segment, to transform the smoothed segment to a natural coordinate system, thereby producing a transformed segment, and to fit a line to the transformed segment in order to determine a radius of curvature of the curved segment. 
   The present invention will be more fully understood from the following detailed description of the embodiments thereof, taken together with the drawings in which: 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a schematic, pictorial illustration of a system for image capture and analysis, in accordance with an embodiment of the present invention; 
       FIG. 2  is a flow chart that schematically illustrates a method for determining the curvature of edges of a feature in an image, in accordance with an embodiment of the present invention; 
       FIGS. 3 and 4 , respectively, are schematic representations of a feature in an image and of an edge of the feature; 
       FIGS. 5A-5D  are schematic plots showing the corners of the edge of  FIG. 4  in Cartesian coordinates, after fitting of spline curves to the edge, in accordance with an embodiment of the present invention; 
       FIGS. 6A-6D  are schematic plots showing the corners of  FIGS. 5A-5D  as represented in natural coordinates, in accordance with an embodiment of the present invention; 
       FIGS. 7A-7C  are schematic plots showing synthetic curves with differing amounts of noise; and 
       FIGS. 8A-8C  are schematic plots showing the curves of  FIGS. 7A-7C  in natural coordinates, along with straight lines fitted to the curves, in accordance with an embodiment of the present invention. 
   

   DETAILED DESCRIPTION OF EMBODIMENTS 
     FIG. 1  is a schematic pictorial illustration of a system  20  for inspection of a sample  22 , such as a semiconductor wafer, in accordance with an embodiment of the present invention. System  20  is built around means for providing high-resolution images of the sample. Typically, the means comprise a SEM  24 , which images an area of sample  22  using a scanning electron beam. The sample may be mounted on a translation stage (not shown), to permit different areas of the sample surface to be imaged. Alternatively or additionally, the means for providing the high-resolution images may comprise a data storage device, which stores and recalls the images as required. 
   The images of sample  22  are input to an image processor  26  for image enhancement and analysis. The image processor may be a standalone unit, as shown in  FIG. 1 , or it may be integrated into a single unit with the SEM itself. Typically, processor  26  comprises a general-purpose computer, which is programmed in software to carry out the image processing functions described hereinbelow. The software may be loaded into processor  30  in electronic form, over a network link, for example, or it may alternatively be provided on tangible media, such as CD-ROM. Alternatively or additionally, some of the functions of processor  26  may be carried out by dedicated or semi-custom hardware circuits. Although processor  26  is shown in  FIG. 1  as a separate unit from SEM  24 , the image processor may alternatively be integrated into the SEM, and the software for carrying out the functions provided by the present invention may be provided as a software upgrade to an existing image processor of this sort. 
   Reference is now made to  FIGS. 2-4 ,  5 A-D and  6 A-D, which schematically illustrate a method for estimating the curvature of corners of a feature  32  in an image of sample  22 , in accordance with an embodiment of the present invention.  FIG. 2  is a flow chart that shows steps in the method, while the remaining figures show the results of successive steps. To begin the method, SEM  24  captures an image of the feature of interest, at an image capture step  30 . In the example shown in  FIG. 3 , feature  32  is a contact pad that is supposed to be rectangular in shape, with square corners. Due to shortcomings of the reticle and photolithography system used to create feature  32  on sample  22 , however, the corners of the feature are rounded. 
   In preparation for measuring the corner curvatures, image processor  26  locates an edge  36  of feature  32 , at an edge extraction step  34 . The resulting contour, representing the outer edge of the feature, is shown in  FIG. 4 . Normally, the edge is characterized by noise, as illustrated, for example, in  FIGS. 7A-7C  below. For simplicity of illustration, however, the noise is suppressed in  FIG. 4 . Edge  36  may be extracted from the image of feature  32  using any suitable method known in the art, and the choice of method for edge or contour extraction is beyond the scope of the present invention. A variety of techniques for this purpose are described, for example, by Jain in Chapter 9 of  Fundamentals of Digital Image Processing  (Prentice Hall, New Jersey, 1989), which is incorporated herein by reference. 
   Image processor  26  locates one or more corners of edge  36 , and crops the corners from the image for further processing, at a corner location step  38 . The corners may be located, for example, by matching edge  36  to a template of the feature in question or by finding the maxima and minima in the rate of change of direction of the edge. The cropped corners are rotated in the Cartesian plane so that each corner has a functional form (i.e., a unique value of Y for each X). In discrete terms, each corner is now represented by a set of points {y i (x i )}, i=1, . . . , N. 
   The image processor next fits a smoothing spline curve {f(x i )}, such as a cubic spline, to each corner, at a spline fitting step  40 . The coefficients of the spline function are calculated so as to minimize the functional Δf 2 , which is defined as follows: 
   
     
       
         
           
             
               
                 
                   Δ 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     f 
                     2 
                   
                 
                 = 
                 
                   
                     p 
                     ⁢ 
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         N 
                       
                       ⁢ 
                       
                         
                           ( 
                           
                             
                               y 
                               i 
                             
                             - 
                             
                               f 
                               ⁡ 
                               
                                 ( 
                                 
                                   x 
                                   i 
                                 
                                 ) 
                               
                             
                           
                           ) 
                         
                         2 
                       
                     
                   
                   + 
                   
                     
                       ( 
                       
                         1 
                         - 
                         p 
                       
                       ) 
                     
                     ⁢ 
                     
                       
                         ∫ 
                         
                           x 
                           1 
                         
                         
                           x 
                           N 
                         
                       
                       ⁢ 
                       
                         
                           
                             [ 
                             
                               
                                 f 
                                 ″ 
                               
                               ⁡ 
                               
                                 ( 
                                 t 
                                 ) 
                               
                             
                             ] 
                           
                           2 
                         
                         ⁢ 
                         
                           ⅆ 
                           t 
                         
                       
                     
                   
                 
               
             
             
               
                 ( 
                 1 
                 ) 
               
             
           
         
       
     
   
   Here pε[0,1] is a parameter that is chosen empirically to control the degree of smoothing of local perturbations in the original curve y i . Equation (1) may be set up and solved, for example, using the smoothing spline technique of Schoenberg and Reinsh, as defined by de Boor in Chapter XIV of  A Practical Guide to Splines  (Springer-Verlag, Berlin, 2001), which is incorporated herein by reference. The spline curves resulting from step  40  are shown as curves  42 ,  44 ,  46  and  48  in  FIGS. 5A-5D , corresponding to the four corners of edge  36 . Again, the effect of noise is eliminated from these figures for the sake of simplicity. Alternatively, the image processor may apply other methods of curve smoothing that are known in the art in order to reduce the noise in y i . 
   Image processor  26  now transforms the smoothed curve f(x i ) to natural coordinates, at a coordinate transformation step  50 . Formally, the transformation is given by: 
   
     
       
         
           
             
               
                 
                   
                     
                       φ 
                       = 
                       
                         arc 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         tan 
                         ⁢ 
                         
                           
                             ⅆ 
                             
                               f 
                               ⁡ 
                               
                                 ( 
                                 x 
                                 ) 
                               
                             
                           
                           
                             ⅆ 
                             x 
                           
                         
                       
                     
                   
                 
                 
                   
                     
                       s 
                       = 
                       
                         
                           ∫ 
                           0 
                           x 
                         
                         ⁢ 
                         
                           
                             
                               1 
                               + 
                               
                                 
                                   [ 
                                   
                                     f 
                                     ⁡ 
                                     
                                       ( 
                                       x 
                                       ) 
                                     
                                   
                                   ] 
                                 
                                 2 
                               
                             
                           
                           ⁢ 
                           
                             ⅆ 
                             x 
                           
                         
                       
                     
                   
                 
               
             
             
               
                 ( 
                 2 
                 ) 
               
             
           
         
       
     
   
   In other words, φ is the slope at each point of the smoothed curve in the original Cartesian coordinates, while s is the distance along the curve from the origin. As a result of this step, curves  42 ,  44 ,  46  and  48  are respectively transformed into curves  52 ,  54 ,  56  and  58  in the natural coordinate system, as shown in  FIGS. 6A-6D . Although it would have been possible to transform the original curves {y i (x i )} directly into the natural coordinates, prior smoothing by the spline function f(x) is useful as a filtering step beforehand, in order to avoid large excursions due to noise in the calculation of φ. 
   Circular segments in the original Cartesian coordinates (as are seen at the corners of edge  36 ) will appear as straight lines in the natural coordinates of equation (2). The radius of curvature R of such circular segments is simply the inverse of the slope of the corresponding line in the natural coordinates, i.e., 
           R   =     Δ   ⁢           ⁢     s   /     Δφ   .               
For this reason, image processor  26  locates segments in natural coordinate curves  52 ,  54 ,  56  and  58  that are approximately straight, at a segment finding step  60 . Any suitable method known in the art may be used for this purpose. For example, the image processor may apply a Hough transform to the curves. The segments selected in this manner are shown within boxes  62  in  FIGS. 6A-6D . Alternatively, the image processor may select the parts of the curves in natural coordinates that fall within a certain range of values of φ, which are expected to correspond to the corners of edge  36 .
 
   Finally, the image processor fits a straight line to each of the straight segments, at a line fitting step  64 . The slope of this line, as noted above, gives the radius of curvature of each corner. A least-square fit has been found to give good results, with robust and precise measurement of the radii. Alternatively, other fitting methods known in the art may be used. 
   Reference is now made to  FIGS. 7A-7C  and  8 A- 8 C, which schematically illustrate the application of the method of  FIG. 2  to noisy curves, in accordance with an embodiment of the present invention. In this case, the data shown in  FIGS. 7A-7C  correspond to a circular arc in Cartesian coordinates, with R=200 (in arbitrary units), and with differing amounts of added noise. The noise amplitude ranges from 2 in  FIG. 7A to 10  in  FIG. 7C . Curves  70 ,  72  and  74  represent the smoothing spline functions that have been fitted to the data in each case.  FIGS. 8A-8C  show corresponding curves  80 ,  82  and  84  in the natural coordinate system. A dashed line  86  in each of these figures represents the least-square fit of a straight line to each of curves  80 ,  82  and  84 . It can be seen that line  86  provides an accurate reading of the curvature even under the high-noise conditions of curve  84 . 
   Although the embodiments described above are directed specifically to analyzing corner curvature in an integrated circuit pattern, the principles of the present invention may similarly be used to determine curvatures of contours in other image processing applications. It will thus be appreciated that the embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and subcombinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art.