Apparatus and method for arbitrary binary resolution conversion

Abstract: A method of arbitrary image resolution conversion takes an original print ready image at a first resolution and orientation and simulates printing of that image by creating a representation of a page at a particular resolution and orientation using a nonlinear spot model for the reconstruction function (100). The image is then sampled with an aperture that corresponds to the desired output (120,130,160). The image data, which may be definable at several bits per pixel, is then made print-ready (140) by reducing the number of bits defining each pixel to a valid output state. The reduction step is accomplished through error diffusion methods (150) that maintain the local area gray density level. Since the reconstruction model is nonlinear, the spot model more closely emulates the actual printed dot and reduces artifacts in the printed image, namely moire.

Description: The present invention is directed to arbitrary resolution conversion of binary images. More specifically, the present invention is directed to arbitrary resolution conversion of binary images using a nonlinear spot model. Image information, be it color or black and white, is commonly generated in a bitmap format at a particular scale, orientation Θ and resolution K x L x b, corresponding to a desired printer output, where K is a number of spots per unit of length in one dimension, L is a number of spots per unit length in the other dimension, and b is the depth of each pixel, in number of levels. This bitmap is present for every color separation of the output device; i.e., 4 bitmaps for a 4-color output device, 3 for a 3-color, 2 for a 2-color and 1 for a black and white output device. In a common example of a black and white output, image data comprising a bitmap to be printed is provided to a printer suitable for printing at 12 spots per mm (300 spots per inch (spi)) in both dimensions, at a one bit depth giving 2 levels. Many considerations drive this single selection of resolution, including the desirability of providing only a limited number of fonts (alphanumeric bitmaps) so as to use only a limited amount of storage space. Common software packages available on personal computers or for operation of input scanners for document creation also usually provide only a single resolution output. Images are commonly arranged at a fixed orientation. Increasingly, the resolution available from printers varies over a wider range of choices. Printer resolutions are available over a range, for example, from less than 8 spots per mm (200 spi) to to more than 24 spots per mm (600 spi). Resolutions vary for a number of reasons, generally related to the quality of the output image. Simply printing a 300 spi bitmap at 400 spi or 600 spi is undesirable however, since the image will be reduced substantially in size on the output page or display. It would be highly desirable to provide the capability of printing any image at any resolution, while maintaining or selecting the output size and orientation. It is a common practice to implement conversion of a bitmap of first resolution K x L x b to a bitmap of second resolution M x N x d through simple pixel level and raster level operations, such as pixel doubling. Pixel doubling is undesirable at the binary level (where printing is commonly done, with binary printers) because of a tendency to distort pixel relationships. Scaling is an identical operation to resolution conversion, i.e., the number of pixels representing the image is increased, except that output image is represented by a lower resolution than the number of increased pixels representing the image. In other words, a conversion is implemented for a bitmap of first resolution K x L x b to a bitmap of second resolution M x N x d through simple pixel level and raster level operations, such as pixel doubling, but if the image is then directed to a K x L for output, it is considered scaled. A primary problem of the art is that the density in any given area of coverage is not maintained with pixel doubling or similar methods. Thus, image artifacts which give the image a different appearance are noted in the resolution converted and/or rotated image. Algorithms that convert gray images to binary or other number of level images attempting to preserve the local density exist in applications separate from conversion. These and similar methods might be applied as one part of the method in conversion. One algorithm, which can be used to prepare an image at a given resolution and level depth of K x L x c for printing on a printer with resolution K x L x d, is error diffusion as described in US-A 5,208,871 to Reiner Eschbach. US-A 5,208,871 discloses a method of image conversion using error diffusion techniques. This method emulates the operation of a printer/scanner/printer combination to convert an K x L x b at Θ bitmap to an M x N x c at Φ bitmap, and subsequently to an M x N x d at Φ bitmap for printing. K, L, M and N are resolutions in spots per unit length and b, c and d are the number of levels per pixel at which the pixel information is encoded, and Θ and Φ designate the orientation of the fast scan axes of both systems. This is illustrated in Figures 1-5 of the present application. Figure 1 shows a conventional block diagram for performing the image conversions method described hereinafter to convert a K x L x b at Θ bitmap to a M x N x d Φ bitmap. The scaling of the input bitmap is done by emulating or mimicking a printing and scanning process with an electronic device. Figure 1 illustrates an image conversion method 10 that emulates a useful physical method of image conversion. Using the following described operations, a printer 12 would print an image that is ready for printing or display at a resolution of K x L x b at orientation Θ. "K" and "L", the resolutions in spots per unit length along the corresponding directions, hereinafter "spots per inch" (spi), can range from 72 spi to 1200 spi (about 3 spots per mm to about 48 spots per mm), with greater or lesser values not excluded and Θ is the angle or axis along which the image is oriented. Angles Θ and Φ are measured in relation to this arbitrary axis and the actual rotation performed is given by the difference Θ - Φ. Printers usually have equal resolutions in two dimensions, i.e.: K = L and M = N, but this is not a requirement. The symbol "b" represents the number of levels at which each pixel may appear. The most common printers (binary printers) have two levels, in which the first level is represented by a white spot, and the second level is represented by a black spot. Some printers use 4 levels, where levels 0 and 3 are represented respectively by white and black spots, and levels 1 and 2 are represented by intermediate gray levels. This digital description is used to software simulate a "printed image" at the necessary spatial and level resolution, where either or both the resolutions to describe this virtual page may be different from the original representation K x L x b at Θ. The "printed image" is then scanned by a scanner 14, which is selected to have a resolution M x N at Φ (where M, N are resolutions in spi and Φ is the angle or axis along which the image is oriented, not necessarily parallel to Θ) related to the ultimate desired output. Scanners usually produce gray image data, where each pixel forming the image data has a value representing the amount of light detected from the image. This value is immediately converted to a gray level value, e.g.: between 0 and 2 n , so that a scanned image is available as an output from the scanner at a M x N x c at Φ. That image must be then converted to "d" levels at a print quantization device 16, where d is the number of levels that the ultimate printer is able to print. This can be done with an error diffusion algorithm. The output of print quantization device 16 is then an image in M x N x d at Φ, ready to be printed by a printer capable of printing such an image. Depending on the resolution of the output device, the image now has a new resolution, scale and/or orientation. The equipment described with respect to Figure 1 operates in accordance with the method described in the flow chart of Figure 2. At step 100, the method takes a print ready image for conversion. The input bitmap, defined by the function B(x,y) can be described by a series of delta (δ) peaks: Where: b e,f is the value of the bitmap at pixel e,f; (x e, y f ) is the location of the discrete set of pixels (e,f); (x,y) is the spatial coordinate; and E, F are the number of pixels in the bitmap along the different axes. Ideal printing is simulated at step 110 by attaching the pulses that would be generated by an ideal printer at each delta (δ) peak giving the "printed" output. The print-mark of the simulated output printer can be denoted by ' dot ( x /Δ xi , y /Δ yi )', giving the print function P(x,y) as: Where denotes the convolution operation. Dot(x/Δ xi , y/Δ yi ) describes the mark the printer would generate on paper with the dot's center located at (x,y) = (0,0) and resolution 1/Δ xi , 1/Δ yi , where the dot may be a real or ideal printer output. P(x,y) thus describes the page as it would be generated by a printer having the same resolution as the input bitmap. For simplicity and speed, approximations can be made to P(x,y). At step 115, P(x,y) is optionally modified using adjustments of the tone-reproduction-curve or other standard image processing techniques as filtering, giving a modified P'(x,y) described by the function F , in order to compensate for actual printer characteristics, including enhancement or compensation for adjacency effects of two adjacent spots running together: **Former Equation Frame - converted to Text Frame when downgrading** At step 120, P'(x,y) is "rescanned" with an aperture apert(v/Δ vo , w/Δ wo ) that reflects the new resolution and orientation for the desired output and resampled at the new resolution and orientation, so that the output of the scanning function O(v,w) can be defined as: O(v g , w h ) is then optionally produced in step 125 by a function G , as given by **Former Equation Frame - converted to Text Frame when downgrading** where G can be used to adjust the tone-reproduction-curve or enhance or filter the intermediate image, giving **Former Equation Frame - converted to Text Frame when downgrading** The mapping function generated by convolving the two functions is shown in Figure 3. It can be seen that pixels in portion 300 of function B(x) at a first resolution Δ i partially overlap with pixels at a second resolution Δ o . Thus, pixels at the second resolution have both black and white area coverage within the pixel, that can be considered as gray, where the level of gray, which lies between black and white, is a percentage of the area that is black. Figure 4 illustrates the results of the conversion of the bitmap P(x,y), from K x L binary image at orientation Θ, to O(v,w) at orientation Φ, an M x N gray level image 320. The depth 'c' of each pixel is determined by the scaling and/or rotation used, the resolutions involved and the system handling the computation of the amount of gray. With reference again to Figure 2, at step 130, the output O(v,w) generated by the scaling step 120, followed by an optional adjustment 125, has, in general, a number of levels 'c', larger than the desired number of levels d for printing. If an eight bit gray system is used, for example, 256 levels of gray might be generated, dependent on the actual scaling and rotation, which must be reduced to 2 levels, either black or white in a binary printer or display system. The reduction or quantization to the required number is performed using an error diffusion algorithm. Figure 5 illustrates an example of an error diffusion method, adaptive error diffusion. Adaptive error diffusion changes the weights and the destination of the error depending on the input context Starting at step 400 with O(g,h), each pixel gray level value in O(g,h) is thresholded at step 410. At step 420, error E(g,h) is derived, as the difference between the threshold value (in a binary system, 0 or 1) and the gray level pixel value O(g,h). At step 430, if the value of O(g,h) equals one of the legal output values of the printer system, no error E(g,h) is generated and the output B o (g,h) is set to O(g,h). If the value of O(g,h) is not equal to one of the legal output states of the system, the error E(g,h) is calculated as difference between the value O(g,h) and the legal output state B o (g,h) used at location (g,h). The error E(g,h) is then distributed to succeeding adjacent pixels in an image content dependent way. With continued reference to Figure 5, at step 440, if all the succeeding, adjacent pixels of the pixel in consideration are gray, an error diffusion algorithm with fixed weights is applied at step 450. Subsequently, the next pixel is handled. Alternatively, at step 440, if any of the succeeding adjacent pixels are legal values (0, 1), at step 460, the function is examined to determine if all of the succeeding adjacent pixels are legal values. If all the succeeding adjacent pixels are legal values. an error diffusion algorithm is applied at step 450. If the adjacent succeeding pixels are of mixed gray and legal values, at step 470. the errors from a pixel having a gray level value are passed on to other gray level value pixels, as opposed to legal value pixels. Subsequent to distribution of the error, the next pixel is handled. This conventional process provides a method for arbitrary resolution conversion with good image output results. However, although this process provides good results for an arbitrary resolution conversion, the method does not remove every artifact in the produced image. More specifically, when utilizing the above-described method, moire can still be present in the image. Thus, the above-described method is not an ideal process for halftone generation due to the presence of moire in the generated image. Therefore, one object of the present invention is to provide an apparatus which is capable of arbitrary resolution conversion while substantially eliminatinq moire in the halftone areas. One aspect of the present invention is a method for converting a binary image signal having a first resolution to a gray image signal having a desired resolution, comprising the steps of: (a) receiving a binary image signal having the first resolution; (b) electronically simulating, using the received image signal, a printing process using a function resembling a Gaussian function or a Gaussian function that has been modified with a flat top to generate a first continuous gray image signal from the received binary image signal; (c) sampling the first continuous gray image signal at a second resolution to produce a sampled gray image signal, the second resolution being higher than the first resolution; (d) filtering the sampled gray image signal to produce a bandlimited gray image signal; (e) linearly interpolating the bandlimited gray image signal to produce a second continuous gray image signal; and (f) sampling the second continuous gray image signal at a certain frequency, thereby producing a gray image signal having the desired resolution. A second aspect of the present invention is a system for converting a binary image signal having a first resolution to a gray image signal having a desired resolution, comprising: reconstructing means for electronically simulating, using the binary image signal having the first resolution, a printing process using a function resembling a Gaussian function or a Gaussian function that has been modified with a flat top to generate a first continuous gray image signal from the image signal having the first resolution; first sampling means for sampling the first continuous gray image signal at a second resolution to produce a sampled gray image signal, the second resolution being higher than the first resolution; filter means for filtering said sampled gray image signal to generate a bandlimited gray image signal; means for linearly interpolating the bandlimited gray image signal to produce a second continuous gray image signal; and second sampling means for sampling the second continuous gray image signal at a certain frequency, thereby producing a gray image signal having the desired resolution. A method and system in accordance with the invention will now be described, by way of example, with reference to the accompanying drawings, in which:- Figure 1 illustrates a block diagram showing a system of a conventional device used to convert resolution; Figure 2 illustrates a flow chart showing the conversion method utilized in Figure 1; Figure 3 shows a mapping function generated by convolving two rectangular functions; Figure 4 shows a mapping function generated by convolving two rectangular functions; Figure 5 illustrates a flow chart showing the steps of adaptive error conversion; Figure 6 illustrates a block diagram showing the system emulation of the present invention; Figure 7 illustrates a block diagram showing a second embodiment of the present invention; Figure 8 illustrates a system implementing the concepts of the present invention; Figure 9 illustrates a sampled image defined only by its sampling point; Figure 10 illustrates a reconstructed image which has a value at every point; Figure 11 illustrates one embodiment of the present invention which produces the simulated printed image; Figure 12 shows a second embodiment of the present invention which produces the simulated printed image; Figure 13 illustrates a third embodiment of the present invention which produces the simulated printed image; Figure 14 illustrates a relationship between the arrangement of original binary pixels and the location of the desired gray pixels; Figure 15 illustrates a Gaussian spot model in the spatial domain; Figure 16 illustrates a Gaussian spot model in the frequency domain; Figure 17 illustrates a rectangular spot model in the spatial domain; Figure 18 illustrates a rectangular spot model in the frequency domain; and, Figure 19 illustrates a Gaussian spot model with a flat top in the spatial domain. The following will be a detailed description of the drawings illustrating the present invention. In this description, as well as in the drawings, like reference numerals represent devices or circuits or equivalent circuits which perform the same or equivalent functions. Figure 6 illustrates a block diagram showing one embodiment of the present invention. In this embodiment, an image to be printed is inputted into a reconstruction circuit 100 which electronically simulates the printing of the image data. To enable a more accurate resolution conversion, the converting of the resolution should be from a printed image. In other words, the resolution conversion should take place during the actual scanning of the image, not at the printing routine. This technique is realized using the electronic simulation process wherein the image is reprinted electronically and scanned electronically at a new resolution. Thus, the present invention simulates electronically the printing of the image so that the simulated printed image can be scanned at either a higher or lower resolution. This scanning of the simulated printed image is carried out by the sampling circuit 110. In the preferred embodiment of the present invention, the sampling circuit samples the simulated printed image at four times the resolution of the simulated image. The sampled image is then fed into a filter 120 which in the preferred embodiment is a digital low pass filter that outputs a gray signal that is bandlimited having a resolution four times the original resolution of the simulated printed image. The filtered signal is then inputted into a linear interpolation circuit 130 which converts the bandlimited gray image signal into a continuous gray signal. The continuous gray signal is fed into a sampling circuit 160 which samples the continuous gray image at the desired resolution. This sampled gray image is inputted into an error diffusion circuit 150 which produces a binary image at the desired resolution. The binary image is then fed into a printer 140 for producing an image on the document at a resolution different from the resolution of the original image but which has the same output size as the original image. Filter 120, linear interpolation circuit 130, sampling circuit 160, and error diffusion circuit 150 operate substantially the same as the above-identified conventional circuits, and thus, a detailed explanation of the specific functions and operations will be omitted for the sake of brevity. Figure 7 illustrates another embodiment of the present invention which converts an image having a first resolution to an image having a second resolution. In Figure 7, the image having the first resolution is inputted into the printer simulation circuit 210. The printer simulation circuit 210 produces a continuous gray signal which is inputted into a low pass filter 220 to produce a bandlimited gray signal. The band limited gray signal is then fed into a scanner simulation circuit 230 which samples the bandlimited gray signal at the desired resolution to produce a gray image having the second resolution. The gray image having the second resolution is inputted into a binarization circuit 240 to produce a binary image having a second resolution. The binary image is then inputted into a printer 250 which produces a document having the image contained thereon with the second resolution and a same output size as the original image. Figure 8 illustrates the utilization of the concepts of the present invention in a system. More specifically, an image having a first resolution is fed into a printer 320 for printing an image at the first resolution and into a resolution converter circuit 310. The resolution converter circuit 310 may be either the circuit described in Figure 6 or the circuit described in Figure 7. The resolution converter circuit 310 converts the image having a first resolution into an image having a second resolution. This image signal having a second resolution is fed into a printer 330 which prints images having the second resolution. Both printer1 320 and printer2 330 print out the inputted images at the specified resolution onto documents. The images formed on each of the documents are of the same size but have different resolutions. In the preferred embodiment of the present invention, the systems illustrated in Figures 6 and 7 are incorporated into a digital copier system. With respect to the reconstruction circuit 100 and the printer simulation circuit 210, the electronic printing can be carried out using the hardware illustrated in Figures 11, 12, and 13. In Figure 11, a look up table (LUT) 400 receives a single bit binary value from each of the old pixels (P(-2,2) to P(2,-2)) to generate an eight-bit value for one of the sixteen new pixels corresponding to pixel P(0,0) illustrated in Figure 14. In other words, Figure 11 only illustrates one of 16 LUTs to generate the values for the new pixels illustrated in Figure 14. The LUT 400 has values corresponding to the reconstruction model. In the preferred embodiment, the reconstruction model is the Gaussian function. The reconstruction function could also be one of the other functions illustrated in Figures 15 and 19. In Figure 12, five LUT1s (501 - 505) receive a single bit binary value from five of the old pixels (P(-2,2) to P(2,-2)) to generate five eight-bit values to be fed into a summer 510. The summer 510 generates the eight value for one of the sixteen new pixels corresponding to pixel P(0,0) illustrated in Figure 14. The LUT1s (501 - 505) have values corresponding to the reconstruction model. In the preferred embodiment, the reconstruction model is the Gaussian function. The reconstruction function could also be one of the other functions illustrated in Figures 15 and 19. In Figure 13, twenty-five LUT1s (601 - 625) receive a single bit binary value from one of the old pixels (P(-2,2) to P(2,-2)) to generate twenty-five eight-bit values to be fed into a summer 630. The summer 630 generates the eight value for one of the sixteen new pixels corresponding to pixel P(0,0) illustrated in Figure 14. The LUT1s (601 - 625) have values corresponding to the reconstruction model. In the preferred embodiment, the reconstruction model is the Gaussian function. The reconstruction function could also be one of the other functions illustrated in Figures 15 and 19 . Figure 14 illustrates the pixel relationship between existing (old) pixels and the newly generated (new) pixels with respect to the reconstruction process. The sixteen new pixels (4X resolution) for pixel P(0,0) are generated with respect to the twenty-five surrounding pixels, (P(-2,2) to P(2,-2)), a 5X5 window centered on P(0,0). If the sampling resolution was something other than four times the original resolution, the number of newly generated pixels would change accordingly. With respect to the look-up tables, the look-up table procedure described in Figure 12 is the preferred embodiment because it requires a moderate amount of memory and a small number of adders. The entire circuit, including memory, can be implemented on a single ASIC device. The new pixels will be generated one new scan line at a time. After the new pixels are generated, the video is fed to a device that performs conventional two-dimensional filtering and thereafter to a device that then performs conventional two-dimensional linear interpolation. Finally, the image data is fed to a device that performs conventional error diffusion. To further explain the present invention, the operations carried out by the present invention will be described below. As described above, if the bitmap of an image, originally prepared for printing on a printer of resolution R1, is to be printed on a binary printer of a different resolution R2, the original bitmap at R1 needs to be converted to a bitmap in order to make the size of the images from the two printers match. To enable this conversion, the present invention performs the following three steps. The present invention converts the bitmap at resolution R1 to a continuous gray image. Next, the present invention resamples the continuous gray image at resolution R2. Upon resampling the continuous gray image at resolution R2, the present invention converts the gray image at R2 to a binary image at resolution R2. Starting with a bitmap of an image at resolution R1, assume that this bitmap of the image is sent to its intended printer and a printed image is obtained. This printed image is the ideal result. The printed image is continuous in the sense that it has values at every point of the bitmap, while a sampled image has values only at the sampled points. Note that printing is one way of reconstructing the continuous image from the samples. In other words, reconstruction can mean the reverse of sampling. Therefore, converting the bitmap to a continuous gray image can be done by first printing, then measuring the printed image. However, to obtain the continuous image values, it is not necessary to carry out the actual printing and measuring process. The printing process can be modeled with a reconstruction function. An equivalent result can be obtained through the frequency space by filtering the frequency spectrum of the image with the frequency response of the reconstruction function and making an inverse transformation. One conventional way to model the printer is to assume that a printed pixel is a black square with its sides equal to the sampling spacing. For example, a printed 12 spot per mm (300 spot per inch) image will consist of black and white squares 1/12 mm (1/300 of an inch) on the side. This is equivalent to using a rectangular pulse as a reconstruction function as described in US-A 5,208,871. Such a function is illustrated by Figures 17 and 18 in the present application. As discussed above, unfortunately this simple reconstruction function has the undesirable property of introducing (or not eliminating) sharp edges in the reconstructed image and leaving moire in the halftone areas, thereby making the reconstructed image rich in high frequency contents. To eliminate these problems, the present invention utilizes a nonlinear function as a model, such as a Gaussian function. In the preferred embodiment, a Gaussian function is used to model a printed spot on paper. In other words, the Gaussian function is used as a reconstruction function. As illustrated in Figure 18, the rectangular pulse reconstruction function frequency response is a sine function which allows considerable amount of high frequency information to leak through, whereas the frequency response of the Gaussian reconstruction function as illustrated in Figure 16 is also a Gaussian function. Another reconstruction function that can be used is a flattop Gaussian function as illustrated in Figure 19. The type of model to use should be chosen to best emulate the shape of the printed dot, while also ensuring high quality. In the present invention, for a laser printer, a Gaussian model is used because it closely emulates the actual printed dot's shape and realizes high quality. A flattop Gaussian function may be used with an inkjet printer to achieve similar results. In the present invention, the sampled image is bandlimited such that it does not contain frequency components above the Nyquist frequency, 0.5 R2. To ensure this, the continuous image should be processed by a bandlimiting filter, a low pass filter, with a cutoff frequency at 0.5 R2. To filter the continuous gray image digitally, it is sampled first, at a sufficiently high sampling rate such that no aliasing problem occurs. In the preferred embodiment of the present invention, over-sampling is at four times RI, the resolution of the original and the simulated printed image. Starting with this high resolution gray image, a digital filter can filter out frequency components above 0.5 R2, thus ensuring no aliasing when it is sampled at R2. The next step is to sample the filtered image at resolution R2. The sampling points in general will not coincide with the sampling points at 4-R1. To calculate the image values at the new sampling points, linear interpolation can be used. An important aspect of the filter being used is the frequency response of the bandlimiting filter. A filter with a sharp cutoff at 0.5 R2 will give the maximum image sharpness and no aliasing. However, such a filter can be costly. In practice, a compromise can be made between the amount of aliasing versus the cost of the filter. The requirement of the bandlimiting filter is less stringent when the output resolution is higher than the input resolution. However, when conversion is from high resolution to low resolution, a good bandlimiting filter is required to control aliasing. Once the continuous gray image is sampled and converted to a gray image at the second resolution, the image must be converted to a binary image at the second resolution for printing on a binary printer. There are many methods to implement this conversion of the scan image to a binary image to achieve satisfactory results. One such method is the use of automatic image segmentation to recognize halftone areas and treat them in a way different from text in line areas. Image segmentation is based on the binary bitmap or the gray image. Halftone areas are low-pass filtered to remove the original halftone screen, and a new screen, which is optimized for the printer, is applied. Text/line areas are enhanced with an edge enhancement filter and then thresholded. Another method is error diffusion. Error diffusion does not depend upon image segmentation because this method can be applied without knowing the image type. Error diffusion observes the local average gray level which is beneficial for fine line reproduction and tone scale preservation. If the original image is of high contrast, such that in the gray image of resolution R2, gray pixels occur only at the edges of black lines or dots, error diffusion is likely to generate dots attached to black pixels which substantially eliminates the dispersed dots and worm shaped artifacts. In contrast, if error diffusion is applied to a general scanned image, the error diffusion method tends to generate isolated dots which are difficult to print and cause worm shaped artifacts to appear in uniform gray areas. The following is an explanation of how the look-up tables are precalculated and loaded in order to process the images in real time. With respect to this explanation, Figure 13 will be used. In Figure 13, the original pixels are identified as P(i,j) wherein i = -2, -1, 0, 1, 2, and = -2, -1, 0, 1, and 2. Also, with respect to Figure 13, the new pixels (16 new pixels for each original pixel) are labeled as P(n,m, wherein n = 0, 1, 2, 3 and m = 0, 1, 2, 3. The following equation governs the conversion of the original pixel to the new pixel: In this equation, g( i , j ; n , m ) is the contribution to the new pixel at P ( n , m ), from the Gaussian function centered at P ( i , j ). Pixel P ( i , j is binary, either 1 or 0. When the pixel P ( i , j ) is 1, there is a contribution to the sum. When the pixel P ( i , j ) is 0, there is no contribution to the sum. The Gaussian function g( i , j ; n , m ) depends on the distance from the point P ( n , m ) to the point P ( i , j ), the distance being d ( i , j ; n , m ). In other words, the Gaussian function can be described with the following equation. g( i , j ; n , m ) = A•exp -((d(n,m;i,j)2 /σ 2 ) In this equation, σ is an adjustable parameter, and A is a normalization constant such that the sum of the contribution from all the 25 points ( P ( i , j )) to the new pixel at n = o and m = o is equal to 255. The function d( n , m ; i , j ) is given by the following equation: d( n , m ; i , j ) = (( m / 4 + i ) 2 + ( n / 4 + j ) 2 ) 1/2 • Δ In this equation, Δ is the spacing between old pixels as illustrated in Figure 14. If the old pixels are at 12 spots per mm (300 spots per inch), for example, then Δ = 1/300 inch. The Gaussian spot function g ( i , j ; n , m ) can be pre-computed and stored wherein the stored values are used to calculate the new pixel values P '( n , m ) as given in the above equation in real time. These values are generated in the reconstruction circuit to simulate electronically the actual printing of the original image. The image values are then processed in conventional manners by the remaining circuits of the arbitrary resolution conversion system. Although the present invention has been described in detail above, various modifications can be implemented. For example, the reconstruction functions, although only described in detail with respect to a few embodiments, may incorporate any nonlinear function wherein the function provides a functional description of the spot being generated by the final printer. In other words the spot model can vary from machine to machine and technology to technology as the shape of the printed spot changes. For example, to emulate the appearance of an ink jet printer, a Gaussian spot model with a flattop can be used. Moreover, the present invention has been described in utilization with respect to digital copiers. However, the present invention can be utilized in any device which converts digital images of one resolution to digital images of another resolution. More specifically, the arbitrary resolution conversion system as described above could be utilized with respect to a display device. With respect to the look-up tables, although the look-up table procedure described in Figure 12 is the preferred embodiment because it requires a moderate amount of memory and a small number of adders; if memory is at a premium, the embodiment illustrated in Figure 13 can be used which requires only 400 bytes but will need a total of 24 adders. The addition operations or adders can be pipelined to maintain throughput. Look-up tables can be loaded with functional values other than Gaussian. For example, to emulate the appearance of an ink jet printer, a Gaussian with a flattop can be loaded. Thus, by loading different forms in the look-up table, one can tune the appearance of the resolution converted image to the type of printer being used to print the final image onto a document. It may also be possible to include the effect of bandlimiting filter in the same look-up table. This will increase the size of the look-up table but will eliminate the two-dimensional filter, thereby saving on costs.

Claims: A method for converting a binary image signal having a first resolution to a gray image signal having a desired resolution, comprising the steps of: (a) receiving a binary image signal having the first resolution; (b) electronically simulating, using the received image signal, a printing process using a function resembling a Gaussian function or a Gaussian function that has been modified with a flat top to generate a first continuous gray image signal from the received binary image signal; (c) sampling the first continuous gray image signal at a second resolution to produce a sampled gray image signal, the second resolution being higher than the first resolution; (d) filtering the sampled gray image signal to produce a bandlimited gray image signal; (e) linearly interpolating the bandlimited gray image signal to produce a second continuous gray image signal; and (f) sampling the second continuous gray image signal at a certain frequency, thereby producing a gray image signal having the desired resolution. The method as claimed in claim 1, further comprising the steps of: (g) error diffusing the gray image signal having the desired resolution; and (h) printing the gray image signal produced by said step (g) onto a document. A system for converting a binary image signal having a first resolution to a gray image signal having a desired resolution, comprising: reconstructing means (100) for electronically simulating, using the binary image signal having the first resolution, a printing process using a function resembling a Gaussian function or a Gaussian function that has been modified with a flat top to generate a first continuous gray image signal from the image signal having the first resolution; first sampling means (110) for sampling the first continuous gray image signal at a second resolution to produce a sampled gray image signal, the second resolution being higher than the first resolution; filter means (120) for filtering said sampled gray image signal to generate a bandlimited gray image signal; means (130) for linearly interpolating the bandlimited gray image signal to produce a second continuous gray image signal; and second sampling means (160) for sampling the second continuous gray image signal at a certain frequency, thereby producing a gray image signal having the desired resolution. The system as claimed in claim 3, further comprising: error diffusion means (150) for error diffusing the gray image signal having the desired resolution. The system as claimed in claim 4, further comprising: means (140) for printing the image signal from said error diffusion means onto a document. The system as claimed in any of claims 3 to 5, wherein said reconstructing means comprises: a plurality of look-up tables (400, 501-505; 601-625), each generating an eight-bit value, prestored therein, representing a new pixel according to predetermined input pixel values corresponding to the received binary image. The system as claimed in any of claims 3 to 5, wherein said reconstructing means comprises: a plurality of look-up tables (400, 501-505; 601-625), each generating an eight-bit value, prestored therein, according to predetermined received pixel values corresponding to the received binary image; and a summer (510; 630), operatively connected to each look-up table to generate an eight-bit value representing a new pixel. The system as claimed in any of claims 3 to 5, wherein said reconstructing means comprises: a plurality of look-up tables (400, 501-505; 601-625), each generating an eight-bit value, prestored therein, according to a single received pixel value corresponding to the received binary image; and a summer (510; 630), operatively connected to each look-up table to generate an eight-bit value representing a new pixel. The method or system as claimed in any of the preceding claims, wherein the second resolution is four times greater than the first resolution.

Inventors: LIN YING-WEI, SHIAU JENG-NAN, LIN, YING-WEI, SHIAU, JENG-NAN
Applicants: XEROX CORP, XEROX CORPORATION
Application year: 1994
Main classification: H04N1
IPC codes: H04N1, G06T5, G06T3