Offset, gain and bad pixel correction in electronic scanning arrays

Abstract: Method and apparatus for a wide range of correction of photosite offset and gain. Each photosite is provided with a correction value for offset and gain based on measured light intensity value. Each photosite correction value is also provided with an attribute value which is detected by a decoder (208) and indicates (i) whether the correction values are to be used as stored (in a memory 200); (ii) whether a shift of the values (by shift means 210 a , 210 b ) is appropriate, in accordance with a shift value stored in a shift memory (212); or (iii) whether the photosite is non-correctable, and accordingly requires the implementation by an output selector (214) of a bad pixel routine comprising the substitution of an approximated photosite response derived at a bad pixel correction device (218).

Description: The present invention relates to image scanning devices. In electronic input scanners for document scanning, image information is acquired by sensing light from an image at an array of photosites arranged across a path of relative movement of the array and the image. The photosites, typically photodiodes or amorphous silicon sensors, are formed on a semiconductor substrate or chip, with a number of chips butted or arranged closely together to form the array. The photosite array may provide a 1:1 correspondence of photosites to the width of the actual image (a full width array), or may rely on optics to reduce the apparent image size to correspond to a smaller array. In use, a photosite produces an output signal proportional to light intensity detected at the photosite As the number of photosites in the imaging bar increases to provide a full width array or greater number of photosites, the problems of manufacturing the larger arrays begin to become prominent. In a 300-600 spot per inch (spi) full width array for scanning documents, which may include 3000 - 6000 (or more) photosites, even a manufacturing process that has a 99% yield can produce bad photosites along the array. Even when the photosites are not bad, the offset and gain response may be non-uniform across the array. To allow the use of arrays not meeting the required specifications for number of bad photosites or uniformity, correction of the array output is required. Accordingly, it may be seen that correction techniques are important to the economic manufacture of the arrays. Without correction techniques, arrays not meeting specifications in these areas would be discarded. Responsivity at the photosites is measured against a standard value. Gain is a measure of sensitivity of the photosite to light and is the slope of the curve of light intensity (x-axis) versus output voltage (y-axis). Offset indicates the voltage output of the photosite at zero light intensity, or constitutes the y-axis intercept of the light intensity curve. These values have a tendency to vary somewhat from photosite to photosite within a range of values. Uniformity is desirable to avoid a streaking response. US-A-4,698,685 to Beaverson shows an arrangement which provides a gain correction for each pixel in an array. Gain values are stored for each pixel in an electronic storage device. As data is acquired by the array and directed to an image processor, each incoming pixel value is multiplied by a selected gain correction value to produce a gain corrected output. US-A-4,639,781 to Rucci et al. shows that distortions in a video signal may be corrected by applying a continuous gain adjustment to the video information generated at the pixels and dynamically changing the gain factors on a line by line basis. US-A-4,660,082 to Tomohisa et al., teaches that calibration and shading correction of image data may be corrected in synchronism with the input scanning by comparison to a density reference value. US-A-4,216,503 to Wiggins shows deriving offset and gain values from the sensor, storing those values and subsequently using those values for signal correction. US-A-4,314,281 to Wiggins et al. teaches providing a compensation signal compensating for variations in light to which the sensors are subjected and deriving the compensation signal over a group of pixels, by taking an average response from the group as the group is exposed to a test pattern. US-A-4,602,291 to Temes teaches a multimode pixel correction scheme which includes correction for pixel offset and gain. US-A-4,590,520 to Frame et al. and US-A-4,314,281 to Wiggins et al. teaches correction of bad photosites (sometimes, "bad pixels") in an array of photosites by detecting the pixel information from the photosites and substituting the previous pixel value. US-A-4,701,784 to Matsuoka et al. teaches correcting a bad pixel by calculating the correlation coefficient and selecting a substitute value for the bad pixel based on the calculated value. The present invention is directed towards providing, for an image scanning device, a method and apparatus that enable a comparatively wide range of correction to be provided for photosite offset and gain. The method and apparatus may also enable bad pixel correction to be provided when the photosite output can not be corrected. The present invention provides an image scanning device having a scanning array with a plurality of photosites detecting light from an image, each photosite producing a response indicative of light intensity, and including means for correction of responsivity of the photosites, said means comprising: a memory storing correction values at corresponding places for photosites along the array, means to apply said correction portion to the photosite response; characterised in that each of said correction values including a correction portion and an attribute value; and in that the device further comprises a decoder for detecting said attribute value; and shift means for shifting said correction portion prior to application to the photosite response by a selected number of said places, said shift means being responsive to detection by said decoder of an attribute value indicating that shifting should occur. The invention further provides an image scanning device having a scanning array with a plurality of photosites detecting light from an image, each photosite producing a response indicative of light intensity, and including means for correction of responsitivity of the photosites, comprising: a memory storing correction values for photosites along the array; said correction values including an offset correction, a gain correction and an attribute value; offset correcting means for correcting the offset of photosite response in accordance with the stored offset corrections; gain correcting means for correcting the gain of the photosite response in accordance with the stored gain corrections; a decoder for detecting the attribute values; shift means for shifting said offset correction and said gain correction prior to the application thereof to said photosite response, by a selected number of places, said shift means responsive to detection by the decoder of an attribute value indicating that shifting should occur. The invention also provides a method of correcting the responsivity of photosites in an image scanning device having a scanning array with a plurality of photosites detecting light from an image, each photosite producing a response indicative of light intensity, said method comprising the steps of: storing correction values for correction of photosite response in a memory at corresponding places; characterised by providing each said correction value with an attribute value; for each photosite response to be corrected, sensing said attribute value; applying a predetermined shift function defining a shift by a predetermined number of places to said correction value in response to said sensed attribute value indicating that a shift should occur, to derive a new correction value; and applying said new correction value to said photosite response. The attribute value may be selected, from a limited number of values, indicating a choice of predetermined shift functions to be applied. A method in accordance with the invention may also include the step of substituting an approximated response for an actual response from a particular photosite, responsive to sensing an attribute value indicating that said substitution should occur. More specifically, a method in accordance with the invention may comprise the steps of: storing correction values for correction of photosite offset and gain response in a memory; providing each said correction value with an attribute value, said attribute value being one of a limited number of values, each attribute value indicating that a different particular function is to be performed; automatically selecting one of a limited number of different functions in response to detection of the attribute value, at least one of said different functions applying a shift function to said offset and gain correction values to derive a new correction value; and applying said new offset and gain correction values value to said photosite response. In the case in which at least one of said different functions represented by said attribute value indicates that substitution of an approximated response for an actual response from a particular photosite, should be performed, the method may include the step of substituting an approximated response for an actual response from a particular photosite. One method described herein comprises the steps of: storing binary values for correction of photosite offset and gain response in a memory; providing each said correction value with an attribute value, said attribute value being one of a limited number of values, each attribute value indicating that a different particular function is to be performed, a first of said attribute values indicating that the correction values stored in memory for the photosite are to be applied to the photosite response, a second and third of said attribute values indicating that said correction values stored in memory for the photosite are to be shifted by first and second numbers of places, and a fourth attribute value indicating that an approximated response should be derived for substitution for an actual response from a particular photosite; performing functions indicated by said attribute value; applying said new offset and gain correction values to said photosite response, or substituting the approximated response for an actual response in accordance with the stored attribute value. By way of example, embodiments of the invention will now be described with reference to the accompanying drawings, in which: Figure 1 demonstrates a block diagram of an image information processing system; Figure 2 is a block diagram illustrating one form of the corrector of the system of Figure 1; and Figure 3 is a block diagram illustrating another form of the corrector. Digital image information in the form of image data picture elements, (hereinafter, pixels), digital voltage representations of image intensity at discrete locations in an image, is provided from a suitable source. For example, the image data pixels may be obtained through line by line scanning of an image bearing original by one or more photosensitive imaging devices, such as an array of photosites. Image data pixels constitute the response of photosites indicating the intensity of light detected at the photosites over a given period. Line by line scanning of an image bearing original for the derivation of image information (image data pixels) is well known and does not form a part of the present invention. With reference now to the drawings, Figure 1 shows an arrangement for processing image information or image data which may be initially derived from an imaging device, typically comprising a scanning array (not shown) of photosensitive elements (photosites), which generate an analog signal response indicative of sensed light intensity in accordance with exposure to light imagewise reflected from an original document. When image information is produced from a scanning device, it might be produced along several channels, where each channel represents a portion of the scanning array from which image information is derived. Providing plural channels will allow parallel and faster processing of the image information. In a high density scanning array, which may have a length corresponding to the full width of a document to be scanned, several channels may be present, but for the purpose of the present description, only one channel is illustrated. Each channel directs image information, assumed to be converted at an analog to digital converter (not shown) functionally adjacent to the scanning array, from the analog signal initially derived from the scanning array to a digital signal, typically 9 bit data, into corrector 100 to output 8 bits of corrected data. As will be explained further below, at corrector 100, pixel data is normalized against a predetermined calibration to account for discrepancies in the sensitivity of each photosensitive element and correction algorithms account for bad photosensitive element locations in the array by various interpolation and bad pixel routines. Corrected pixel data is stored into scan line buffer 102, which stores a plurality of scan lines for operation by the two dimensional filter 104. Two dimensional filter 104 converts halftone screened pixel data into grey data for the prevention of moire effects. Because filtering routines useful in the conversion require information about the nearest neighbors to any particular pixel, scan line buffer 102 provides two dimensional filter 104 with pixel data for groups of adjacent scan lines. It will, of course, be appreciated that while the data line is illustrated as a single line, 8 bit data is transmitted from device to device along 8 parallel data transmission lines. One dimensional image processor 106 is provided for operation on the pixel data along each scan line and performs many common operations expected in image processing devices. User interface 108, causes a device controller (not shown), which may be a microprocessor driven device, responsive to operator commands and selection of functions, to enable processing function circuits for windowing and blanking, magnification and reduction or scaling, etc., in one dimensional image processor 106. A pixel synch is provided at one dimensional image processor 106 to provide an indication of which pixel data is being processed. Additionally, at one dimensional image processor 106, an address token is assigned to each pixel of pixel data, indicating its appropriate position in the data stream image. Pixel data is passed from one dimensional image processor 106 to video manipulation device 110. At this device, image manipulation desired by a user is applied to data to vary the information content or its position in the image data stream. Slow scan data information is provided to describe the position of the data in the slow scan direction. Manipulated data is directed to video formatting device 112 which, in combination with buffer 114, places image data appropriately in the output data stream in accordance with its address token. With reference to Figure 2, corrector 100 is provided with a memory 200 which stores correction values to be applied to the pixel data. In common practice, this may be a RAM-type memory, suitable for first in-first out (FIFO) recall, which will hold an 8-16 bit correction value for each photosite along the array. Other types of memory are possible. When a pixel enters corrector 100, in accordance with the pixel synch directed to the memory 200, a sixteen bit correction value is stored in latch 202. In one possible format, the pixel information is stored with 7 bits for the gain correction value, 7 bits for the offset correction value, and two bits for an attribute value, although different formats may be used. The offset value stored in latch 202 will be added to the pixel data at adder 204, to correct the offset response of the photosite where the pixel originated. The pixel data will be multiplied in multiplier 206, with the gain correction stored in latch 202, to correct the photosite gain response. Prior to these corrections, however, the attribute portion of the correction value stored in latch 202 is read at attribute decoder 208. In accordance with the attribute value detected, which for example may be 00, 01, 10, or 11, the offset and gain correction values will be either applied as they are (right justified), or shifted a first or second number of places (e.g. for 00, 01, 10, 11, respectively). Interposed between the latch 202, and adder 204 and multiplier 206, are shifters 210a and 210b, which shift the correction values stored in latch 202 a selectable number of places. Values for shift, i.e., how many places the correction values are shifted, can be stored in a shift memory 212 in registers, m₀n₀, m₁n₁, or m₂n₂ where m x is the offset shift and n x is the gain shift. One of the shift values, m₀n₀, may be zero, indicating that no shift will occur. This value does not need to be stored, as it could easily be read by the decoder as a signal to disable the shifters. Shift memory may provide 8 bit storage, so that 4 bits each are available for offset shift m x and gain shift n x . In accordance with the detected attribute value, the gain and offset values are shifted by the amounts stored in m x n x . Given that offset may be expressed as p '= p - ( offset ) and that gain may be expressed as p"= p' (1 + gain ) where p is the original pixel value; p' is the offset corrected value; p" is the gain corrected value; and offset and gain are 7 bit numbers. It can therefor be seen that if a 4 bit shift is available, it expands the range of correction values to p'= p - (2 m (offset)) and p "= p '(1 + (2 n ( gain )) If n = m = 0, (that is, there is no shifting to occur) the available offset may be 25% of the range and the gain correction can be from 1.0 to 1.25. With a four bit value controlling the number of shifts that can be applied to the correction values, the stored offset and gain values may be varied by a factor of 2¹⁶, more than adequate for practical cases. Of course, it is not required that m x equal n x . When the attribute value encounters the fourth possible value (e.g. 11) provided in the attribute, a bad pixel is indicated. By a bad pixel, it is meant that the pixel cannot be corrected to obtain an appropriate or normalized response. Sensing the attribute for a bad pixel causes decoder 208 to enable the output selector 214 to substitute the bad pixel approximation derived at bad pixel correction device 218 for the data in the pixel information stream Bad pixel correction device 218 may simply operate along the lines of US-A-4,314,281 to Wiggins et al. by detecting the pixel information from the photosites and substituting the previous pixel value. Alternative bad pixel correction may take an average of nearest neighbor pixels to derive a substitute value. It will be appreciated that with the provision of the above general arrangement, modifications may be made in accordance with the needs of the device. Thus, for example, if only a single shift value is required to bring a number of pixels into the desired responsivity characteristics, one might use only a single bit for the attribute. This might provide one signal that would indicate no shift and another signal that provides a value as a shift. Bad pixel indications can be loaded as a data for a correction value in memory 200, as an unusual correction value, perhaps every bit equaling one. A data signal of this value could be read a bad pixel. Thus, as shown for example in Figure 3, the correction value for a bad pixel in the array would have a distinctive value associated with it, perhaps 7 of the 14 correction value bits equaling one, i.e. the offset correction value has all ones. When this event occurs an AND gate 310 with 7 inputs connected to each of 7 bits of latch 302 , would produce an appropriate response signaling the occurrence of a bad pixel when all 7 bits equal one. A one bit attribute value might be provided at the correction value stored in memory 200 to indicate either a shift or no shift. Shift memory 312 is therefore required to store only a single shift value (or two shift values, one of which may equal a zero or no shift). It will be recognized that the desirability of such an arrangement is in the reduction of memory size required for the storage of correction values. Of course, a two bit attribute value could be maintained, thus allowing a selection of four shift choices. The same device as proposed could be used in a configurations not requiring variable shifting, by simply loading fixed values in the shift memory. Bad pixels again can be indicated from the data stored in memory 200. Thus, no attribute value would be necessary and the size of the pixel correction memory can be reduced, if the photosite array met these requirements, even though the same device is used. It will be recognized that while arrangements have been described for correcting both gain and offset, either one could also be corrected independently if the offset or gain of the device is satisfactory as manufactured. Bad pixel correction may also be corrected independently from this arrangement, or not at all. The method and apparatus described above provide for a wide range of correction of photosite offset and gain. Each photosite is provided with a correction value for offset and gain based on measured light intensity value. Each photosite is also provided with an attribute value which indicates whether the correction values are to be used as stored, whether a shift of the values is appropriate, in accordance with a stored shift value, or whether the photosite is non-correctable, and accordingly requires the implementation of a bad pixel routine. The attribute value may be two bit binary value associated with the offset and gain correction values that provides four choices with respect to the photosite. The correction values can be used (1) as stored, (2-3) first or second shift values may be applied, in accordance with a stored shift value, or (4) a bad pixel routine may be implemented. Summarized briefly, the described correction arrangements implementing the described correction method include a memory, storing for each photosite correction values for offset and gain, and an attribute value. When data is detected by that photosite, the correction values for that photosite will be applied, respectively, at an offset adder, and a gain multiplier. A decoder is used to detect the attribute value of the correction value. Depending on the attribute value, logic is enabled to vary the correction values in accordance with a stored routine for shifting the stored correction value, or implementing a bad pixel routine. If the attribute requires a shifted value, the correction value is shifted a number of places in accordance with a shift stored in the decoder, before it is applied. If the attribute indicates that the photosite response is not correctable, a bad pixel correction routine is enabled, to produce substitute data. The magnitude of the correction value that can be applied to correct offset and gain is increased to provide an increased range of correction values. While the stored correction value may be a certain number of bits, all significant, the ability to shift that value effectively increases the stored correction by a factor corresponding to the number of shifted positions, to increase the correction range significantly. As described with reference to Figure 3, a distinctive value indicating a bad pixel may be stored as a correction value for a photosite. Detection of the distinctive value in the correction value indicates that a bad pixel routine should be implemented, substituting an approximated photosite response for an actual photosite response. This arrangement finds particular value when it is desirable not to indicate a bad pixel at the attribute value, where, for example four shift routines are desired, or only two shift routines are desired. In the latter instance, only a one bit attribute value will then be required.

Claims: An image scanning device having a scanning array with a plurality of photosites detecting light from an image, each photosite producing a response indicative of light intensity, and including means for correction of responsivity of the photosites, said means (100) comprising: a memory (200, 202) storing correction values at corresponding places for photosites along the array, means (204, 206) to apply said correction portion to the photosite response; characterised in that each of said correction values including a correction portion and an attribute value; and in that the device further comprises a decoder (208) for detecting said attribute value; and shift means (210a, 210b) for shifting said correction portion prior to application to the photosite response by a selected number of said places, said shift means being responsive to detection by said decoder of an attribute value indicating that shifting should occur. A device as defined in claim 1, wherein: the correction portion of said correction values includes an offset correction and a gain correction; the means for applying said correction portion comprises offset correcting means (204) for correcting the offset of photosite response in accordance with the stored offset corrections and gain correcting means (206) for correcting the gain of the photosite response in accordance with the stored gain corrections; and the shift means is operable to shift said offset correction and said gain correction prior to the application thereof to said photosite response. A device as defined in claim 1 or claim 2, wherein said attribute value is one of a limited number of different values (00, 01, 10, 11) , each different value indicating a different shift (m₀n₀, m₁n₁, m₂n₂) to be applied to said shift means. A device as defined in claim 3, including a shift memory (212) for storing the shift function indicated by the attribute values (00, 01, 10, 11), for use by said shift means (210a, 210b). A device as defined in any one of the preceding claims, and including means (214) for substituting an approximated response for an actual response from a particular photosite. A device as defined in claim 5, wherein said means (214) for substituting an approximated response for an actual response from a particular photosite is responsive to detection by said decoder (208) of an attribute value (11) indicating that said substitution should occur. A device as defined in any one of the preceding claims, wherein said correction value is a multi bit binary value, including a first number of bits for gain correction, a second number of bits for offset correction and a third number of bits for the attribute value. A device as defined in claim 7, wherein said third number of bits for the attribute value is equal to two bits, providing a total of four choices (00, 01, 10, 11) for the attribute value. A device as defined in claim 8, wherein for the possible choices for the attribute value, a first value indicates that the gain and offset values should be shifted by 0 places, second and third values indicate that said gain and offset correction should be shifted selected numbers of places respectively, and a fourth value indicates that an approximated photosite response should be substituted for the photosite response. A method of correcting the responsivity of photosites in an image scanning device having a scanning array with a plurality of photosites detecting light from an image, each photosite producing a response indicative of light intensity, said method comprising the steps of: storing correction values for correction of photosite response in a memory at corresponding places; characterised by providing each said correction value with an attribute value; for each photosite response to be corrected, sensing said attribute value; applying a predetermined shift function defining a shift by a selected number of places to said correction value in response to said sensed attribute value indicating that a shift should occur, to derive a new correction value; and applying said new correction value to said photosite response.

Inventors: CALARCO ANTHONY F, LIN YING-WEI, CALARCO, ANTHONY F., LIN, YING-WEI
Applicants: XEROX CORP, XEROX CORPORATION
Application year: 1989
Main classification: H04N1
IPC codes: H04N1, H04N5, G06T1