Pattern image correction and image inspection in accordance with illustrative embodiments of this invention will be described with reference to the accompanying drawings below.
A configuration of a pattern image inspection apparatus 10 including an image correction device 11 is shown in
As shown in
The image divider 60 is the one that divides an image into a plurality of spatial frequency regions and creates more than two frequency division images. Known image dividing methods include sub-band encoding and discrete wavelet conversion. For example, the subband coding is a technique for using filters of low to high frequencies to divide an image into a plurality of portions of different frequency bands. The wavelet conversion is a scheme for dividing an image by sequential decomposition or “disassembling” of low frequency components of the image.
See
The decomposition image generator unit 61 is the one that provides a plurality of reference points in an image and applies weighting thereto with each reference point being as a center to thereby decompose or “disassemble” the image into image segments which correspond in number to the reference points. Relatively large variations of spaced-apart image segments, such as image distortions, are the objects to be corrected, wherein the reference points are provided at spaced-apart pixel positions within the image. Preferably, the reference points are set at peripheral portions which are great in difference of image variation. Several approaches are available to providing such reference points in the image and applying weighting with each reference point as the center, one known example of which is to employ a linear interpolation method as will be stated below. (This is disclosed, for example, in “Computer Image Processing,” by H. Tamura, Ohmsha (2002), pp. 126-127.)
The model parameter identifier 62 is the one that obtains through computation one or more model parameters for creation of a model image. This model image is an aimed correction image. The model image is reduced or minimized in pixel misalignment of less than one pixel size, expansion/reduction and swell noises as well as resizing processing and sensing noises, and is capable of achieving correction of entire image distortion and correction of high frequency components. It is thus possible to correct high frequency components while retaining the versatility of four-corner linear weighting division-less schemes. The model parameter identifier 62 includes a functional unit 620 for generation of a set of simultaneous equations and a function unit 622 for solving the equations.
As shown in
Let the 2D input data be u(i,j), v(i,j), w(i,j), x(i,j), z(i,j) while letting the 2D output data be y(i,j). Letting the suffices of a target pixel be “i” and “j,” the suffices of twenty five (25) pixels in total in two back and forth rows and two back and forth columns which surround this pixel are shown in Table 1. For the pixel data of an area of one set of 5×5 pixels, a relational expression such as Equation (2) is set, wherein y(i,j) represents the grayscale level of a specific pixel at coordinate position (i,j) of the test image 14 whereas u(i,j), v(i,j), w(i,j), x(i,j) and z(i,j) indicate the grayscale levels of decomposed images a to d and a matrix of 5×5 pixels (those in Table 1) with the specific pixel at (i,j) in the high frequency division image 122 being as the center thereof.
Those suffices b00 to b44, c00 to c44, d00 to d44, e00 to e44, f00 to f44 of the input data u(i,j), v(i,j), w(i,j), x(i,j) and z(i,j) are the model parameters to be identified. Additionally in Equation (2), the model parameters are five types of ones, i.e., bi,j, ci,j, di,j, ei,j and fi,j, each consisting of a matrix of 5×5 pixels, so its entirety has 125 pixels (i.e., 5×5×5). The number of unknown values becomes 125, and it is possible to identify the model parameters from Equation (2). Note here that in Equation (2), [g,p] indicates [b,u], [c,v], [d,w], [e,x], [f,z]. [b,u], [c,v], [d,w], [e,x], [f,z] is obtainable by substitution of b, c, d, e, f in place of g in an equation of [g,p] while substituting u, v, w, x, z as an alternative to p.
In Equation (2), the data yk=y(i,j) of a one pixel (i,j) of the to-be-tested image 14 is represented by the linear coupling of data of 5×5 pixels which are around the one pixel (i,j) in respective five images of the four decomposed images a to d in the corresponding reference image 12 and the single high frequency division image 122 (refer to
The equation solving unit 622 is operable to solve the set of simultaneous equations of Equation (2) and obtain the model parameters. The intended model parameter identification is achievable by scanning the coordinates i, j of the four decomposed images a-d of the inspection reference image 12 and the one high frequency division image 122 plus the to-be-tested image 14 and then letting 125 sets of data be organized into a simultaneous equation system. In practical implementation, from statistical viewpoints, n (>125) sets of data are prepared; then, solve 125-dimensional simultaneous equations based on the least squares method, thereby to identify the model parameters. Examples of the method of solving these equations other than the least squares method include, but not limited to, a maximal likelihood estimation method. Any kind of method may be used.
For example, if the four decomposition images a-d of the inspection reference image 12 and the one high frequency division image 122 plus the test image 14 are each a matrix of 512×512 pixels, the 5×5-dimensional model scanning results in a decrease of 2 pixels at each side of the image's surrounding. Thus, the number of equations is given by Equation (3), that is, 258,064 sets of data are obtainable. With this approach, a statistically sufficient number of ones are acquirable.
n=(512−4)×(512−4)=258064 (3)
The model parameter generator 64 operates to substitute into Equation (2) the identified model parameters and the input image data used for the identification and then performs simulation processing for scanning pixel coordinates i, j to thereby generate a model image. This model image is capable of achieving, by the least squares method-based fitting, the correction of pixel position misalignment less than one pixel size, expansion/contraction and swell noises, and resize processing, sensing noises, entire image distortion and high frequency components, thereby making it possible to further correct or “amend” high frequency components while at the same time having versatility of four-corner linear weighting division-less scheme. This model image is less in image degradation and in number of setup parameters due to the combination or “integration” of the alignment and image correction. Using this model image enables obtainment of effective image correction. Note here that although the data for obtaining the model parameters can naturally contain therein defective pixels, such defective pixels are much less in number than an entirety of the data used for the identification, so they are out of the fitting in the least squares method and thus hardly appear in the model image. Moreover, the model image increases in signal to noise (S/N) ratios of its surroundings so that there is also an effect that defective pixels may be emphasized. In this way, use of the frequency division scheme in combination with the four-corner linear weighting makes it possible to correct image distortions of certain frequency components which cannot complete the fitting by mere use of the linear interpolation of pixel values.
As shown in
While in prior art methods the difference image is improvable by execution of expansion/contraction and swell correction and resize correction or else, repeated execution of such correction processes would result in generation of cumulative errors, which in turn causes appreciable image degradation. Another problem faced with the prior art is that it is difficult to set up suitable values of many to parameters as needed for each correction and to determine an adequate execution order of respective correction processes.
Turning to
A recording medium with a software program for image inspection being written therein is a record carrier body which stores a program of the image inspection method having the process steps S1 to S5 of
Referring to
The optical image acquisition unit 20 is for acquiring an optical image of the workpiece 30 being tested, such as a reticle. The test workpiece 30 is put and held on an XYθ table 32. This table 32 is a three-axis (X-Y-θ) manipulator which is movable in X and/or Y direction and rotatable in θ direction while being driven by a table control unit 56, which operates in response to receipt of a command(s) from a central processor unit (CPU) 52. The table is driven by an XYθ motor assembly 34 in X, Y and θ directions. Examples of the motor 34 are known servo motors and stepper motors or like electric motors. The coordinates of a present location of the XYθ table 32 are measured, for example, by a laser-assisted length measurement system 28. Its output is sent to a position measurement unit 70. The position coordinate data as output from position measurement unit 70 is fed back to the table controller 56.
The workpiece 30 under testing is loaded by an auto-loader 22 onto the XYθ table 32 in an automated fashion under the control of an auto-loader control unit 54, and is automatically unloaded therefrom after completion of the inspection required. A light source 24 and an irradiation unit 26 are laid out over the XYθ table 32. Light as emitted from the light source 24 travels through a collection lens of the irradiator 26 to fall onto the test workpiece 30. Beneath the workpiece 30-supporting XYθ table 32, a signal detection unit is disposed, which is generally made up of a magnification optical lens assembly 36 and a photodiode (PD) array 38. Light that passed through the workpiece 30 travels through the magnification optics 36 and is then focussed onto a photosensitive surface of the PD array 38. The optics 36 is automatically focus-adjusted by its associated focus adjustment device (not shown) having a piezoelectric element or the like. This focus adjuster is controlled by an auto-focus control circuit (not shown) which is connected to the CPU 52. The focus adjustment may alternatively be achievable by use of a separately provided viewing monitor, e.g., observation scope. The PD array 38 serves as a photoelectric conversion unit, examples of which are a line sensor or an area sensor with a plurality of photosensors being disposed therein. By continuously moving the XYθ table 32 in X-axis direction, the PD array 38 detects or “captures” a pattern image of the workpiece 30, and then generates a measurement signal corresponding thereto.
This measurement signal is converted by a sensor circuit 40 into digital data, which is then input to a buffer memory 68 as the data of optical image sensed. The buffer memory 68 is replaceable with more than two buffer memories. An output of buffer memory 68 is sent to the comparison processing unit 66. The optical image data may be a stream of sign-less 8-bit data representing the brightness or luminance of each pixel. The image inspection apparatus 10 of this type is usually operable to read these pattern data out of the PD array 38 in a way synchronous with the clock frequency of about 10 to 30 MHz and apply thereto adequate data sorting for permitting the data to be handled as raster-scanned 2D image data. The 2D image data becomes the to-be-tested image 14 or the inspection reference image 12.
The data processor 50 is generally made up of the CPU 52, the auto-loader controller 54, the table controller 56, a referential image creation unit 58, the image divider 60, the model parameter identifier 62, the model image generator 64, the comparison processor 66, the buffer memory 68, the position measurement unit 70, an external storage unit 72, a main storage device 74, a printer 76, a display device such as cathode ray tube (CRT) monitor, and a bundle of data transfer buses 80. Design pattern data of a reticle as an example is stored in a way such that an entirety of an inspection area is divided into short narrow portions-namely, strips. The image creator 58 arithmetically expands the design pattern data to create image data and then performs processing for causing it to resemble an optical image by rounding the corner edges of graphics patterns and/or slightly defocusing or “fogging” them, thereby to form a referential image, which is stored in a storage area for DB comparison. The referential image is for later use as the inspection reference or “fiducial” image 12. Note here that the referential image is created from the design data and is used as the reference image 12 in any events, although an optical image as read out of the reticle is also usable as the reference image. Consequently, the reference image 12 is the optical image in some cases and is the referential image in other cases. The comparison processor 66 executes comparison algorithm, has parallel processing functionalities if necessary, and is equipped with a plurality of identical functions. Thus it is capable of performing processing tasks in a parallel way. Additionally the image inspection apparatus 10 is configurable from electronic circuitry, software program, firmware, personal computer (PC) or any possible combinations of more than two of them.
The optical image acquisition of an ultrafine circuit pattern as drawn on the to-be-tested workpiece 30, such as a reticle, is achievable by the scanning using a line sensor. Here, for the convenience of explanation, the image of a strip-like segment (2,048 pixel width) 300 as obtained by elongate cutting in the X-axis direction (i.e., the direction of one side of the reticle) is called a one strip. The image of an almost square-shaped area 302 that is obtained by further finely cutting the one strip in Y-axis direction (the direction at right angles to X-axis direction) is called a one sub-strip. For instance, the one strip consists of a matrix of 2,048 rows and 2,048 columns of pixels. The inspection for determining whether defects are present or absent is performed on a per-substrip basis. Additionally, a single pixel has 256 different levels of grayscale.
Other various combinations are available in addition to the above-stated embodiment. Regarding the model setting and the mathematical computation scheme such as the least squares method, other schemes or techniques are applicable. Apparently this invention should not exclusively be limited to the embodiments as described herein. Although in the above-stated embodiments the inspection reference image 12 is applied the processing for division and decomposition, the image 14 being tested may alternatively be divided and decomposed. While the division number of the frequency regions are set to two, i.e., high and low frequency regions, such number may be three or greater. Additionally the reference points used for obtaining the decomposed images are set at four corners, more or less number of reference points are employable as far as these are spaced apart from one another. The invention is, therefore, to be limited only as indicated by the scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2006-227347 | Aug 2006 | JP | national |