Method and document scanner for providing contrast/intensity control

Abstract: A document scanner (10) generates an 8-bit binary scan word (30) for each picture element (PEL) of a document (11). An intensity and/or contrast look-up table memory element (40), or a computation means (47) is addressed using the scan words. The stored content of each storage location in the look-up table memory element, or the value that is computed by the computation means, comprises an enhanced 8-bit binary word (44) that varies as a function of user selected image intensity (48) and/or contrast (49) enhancement. In this way, each document PEL scan word produces its intensity and/or contrast enhanced equivalent PEL word.

Description: This invention relates to the field of document scanning, and more specifically to image-intensity and/or image-contrast enhancement of the electronic image signal that results from a document scanning process or apparatus. The technology of document scanning relates to method and apparatus whereby the visible image(s) carried by a document is converted to an electronic signal, for use by a variety of other electronic processing means. Typical documents comprise a black image, and/or a shades-of-grey image, on a white paper background, although within the teachings of this invention a document need not be of these specific types. More generally, the document's image may comprise colored line-text images, and/or color-scale pictorial images on a different color background substrate such as paper. The document's visual image is converted into a digital image signal by the scanning process. This digital image signal can be used in many ways. For example, the image signal can be transmitted to remote locations for storage or for reproduction by a printer, or the image signal can be manipulated in a manner to enhance or change the image, or the image can be merged with other images. The present invention relates to method and apparatus for manipulating or enhancing the image signal that is provided by a document scanner means. More specifically, the invention provides operator controlled image-intensity and/or image-contrast enhancement of the digital image signal that results from a document scanning process or apparatus. In accordance with well known techniques, the scanning of a document operates to divide the document into an X-Y matrix comprising a large number of individual picture elements (PEL or PELS) equal in number to X times Y. For each document PEL, an electronic signal is generated by the scanner apparatus. Very simplistically, if a portion of the document's black image (assuming a black image on white paper background) is detected within a document PEL, the binary signal "1" can be generated, in which case, the absence of a portion of the document's black image at the PEL location (i.e. the PEL contains the white document background) would result in a binary "0" being generated. Usually, however, the scanner signal that is generated for each document PEL is a multi-bit digital signal. This is desirable since a multi-bit signal allows the sensing of different levels of blackness within each PEL area of the document (i.e. grey scale PEL information can be provided). Thus, a 4-bit signal per PEL allows 16 different color-shades of document image (i.e. white, 14 different shades of grey, and black) to be generated for each document PEL. The range of values of such a 4-bit signal would vary from a low value of hexadecimal"0", to a high value of "F". When an 8-bit per PEL signal is generated, the 256 different signals represent 256 different color-shades of document image for each document PEL. The range of values of such an 8-bit signal would vary from a low value of "00" to a high value of "FF". The present invention will be described in relation to a document scanner that provides an 8-bit signal for each document PEL. The scan word "00" will represent a white PEL. The scan word "FF" will represent a dense black PEL, and intermediate value words will represent shades of grey PELS. However, as those skilled in the art will readily appreciate, the invention is of general scanner utility, and is not to be limited to this specific multi-bit scan signal format. Two image enhancement functions that can be provided in an image scanning process are image intensity (i.e. image brightness) enhancement and image contrast enhancement. Image intensity or brightness is defined as the overall whiteness or lightness of the image, for example the overall whiteness of a black-on-white image. Image contrast is defined as the rate at which an image's color shade changes from the deepest color portion to a no-color or background color portion, for example the rate at which a black-on-white image changes from a dense black image area to an all-white image area. An image enhancement technique of interest is described in the IBM Journal of Research and Development, January 1987, at pages 2 through 15. This publication contains an article entitled "Digital halftoning on the IBM 4250 Printer" describing the adjustment of contrast and brightness of a grey-level input image signal by the use of an input-output mapping technique. The described mapping technique makes use of an 0.8-unit-square map that is placed concentrically within a 1.0-unit-square, input-output, transformation map. The input-output mapping provided thereby comprises three regions; (1) a straight-line central region that is located entirely within the inner 0.8-unit-square map, this line being having a contrast-determined slope and a brightness-determined point that lies on the line, (2) a first parabolic curve that extends from (a) the intersection of the above mentioned straight line with the edge of the 0.8-unit-square map to (b) the 0,0 (white,white) input-output corner of the 1.0-unit-square map, and (3) a second parabolic curve that extends from (a) the intersection of the straight line with the edge of the 0.8-unit-square map to (b) the 1,1 (black,black) corner of the 1.0-unit-square map. Another image enhancement technique of interest is disclosed in published European patent application EP-A-0 095 716 (Linotype-Paul Ltd). This document discloses a graphics editing display terminal having a CRT screen and a keyboard input device by which an operator may effect modulation of a stored display. As described in the Abstract of this document, a screen RAM contains a memory location for each pixel. A mapping RAM contains a number of values corresponding to the display intensity range. The mapping RAM is substantially smaller than the screen RAM. A change in the input-output intensity characteristic requires only a change to affected values in the mapping RAM without changing the greater number of locations in the screen RAM corresponding to those affected values. A one-to-one correspondence between the input intensity levels and the output intensity levels from the mapping RAM is shown by a 45° slope input-output intensity curve in Figure 6. As shown in Figure 7, the relationship between input and output intensity may be varied by the user, for example with a computer program, at selected points on the surve to determine the slope of a modified curve. While brightness/contrast enhancement as disclosed in both the IBM article and the Linotype-Paul patent application document as referred to above is somewhat satisfactory, the present invention is more versatile, and provides more pleasing enhanced images upon printing and the like. The present invention provides intensity/contrast control by means of a unique enhancement computation means. It is to be noted that the technical features included in the pre-characterising portions of independent claims 1 and 10 according to the first and second aspects of the present invention as defined below are based on what is known from the above referred to Linotype-Paul patent application EP-A-095716. According to a first aspect of the invention there is provided a method of enhancing digital image signals comprising a plurality of multi-bit input signal words each having a magnitude that represents the intensity of light that is reflected from a document individual picture element (PEL) during scanning of the document, each such input signal word being capable of varying in magnitude from a minimum value (Imin) to a maximum value (Imax), the method operating to provide corresponding enhanced output signal words varying in magnitude from a minimum value (Omin) to a maximum value (Omax), the method comprising the steps of, providing computational means having a rectangular computational signal value field, the value field having an input axis that is addressable over the range (Imin-Imax) of input signal magnitude value locations, and an orthogonal output axis that provides corresponding enhanced output signal values over the output signal magnitude range (Omin-Omax), defining an input-output function line within said computational value field and having a user-determined slope, addressing said input axis of said computational value field using said input signal words, and providing enhanced output signal words from said output axis, as is defined by said input-output function line and by said addressing input signal words, each addressing input signal word being projected from said input axis orthogonally therefrom on to said input-output function line and then onto said output axis orthogonally thereto to determine a corresponding enhanced output signal word, the method being characterised in that (a) said computational signal value field has an image parameter line that extends from the maximum output signal magnitude value on said output axis to the maximum input signal magnitude value on said input axis, (b) a point is defined on said image parameter line as a function of a first user-defined image parameter, and (c) said input-output function line extends through said point and has a slope that is determined by a second user-defined image parameter. The just-mentioned first image parameter may be image intensity and the second image parameter may be image contrast. According to a second aspect of the invention there is provided a document scanner operable to scan a document and to generate an X-bit input scan word for each picture element of the document, said input scan words comprising Y different binary words that vary in magnitude and ranging from a low value to a high value, representing a document individual picture element (PEL) containing image coloration of one extreme to image coloration of the opposite extreme, respectively, including apparatus for providing intensity/contrast enhancement of said input scan words , comprising, control means enabling user selection of image intensity, computation means having an input-output scan word value coordinate system that defines a rectangular input-output value field, said coordinate system being defined by an input scan word value axis and an orthogonal output scan word value axis, the origin of said coordination system containing the low value of the input scan word range of values and the low value of an output scan word range of values, said computation means responding to said control means to provide an input-output function line that extends through said value field and has a slope determined by said user selection, said computation means operating to project a received input scan word value from said input axis orthogonally therefrom onto said input-output function line and then onto said output axis orthogonally thereto to determine an enhanced output scan word value for each received input scan word value, output scan word utilization means, and means connecting said enhanced output scan words to said utilization means, said document scanner being characterised in that (a) said control means includes first control means enabling user selection of said image intensity enhancement, and second control means enabling user selection of image contrast enhancement, (b) said input-output value field has an intensity-point-line that connects the high value of said input scan word range of values to the high value of said output scan word range of values, said computation means responding to said first control means to establish a point on said intensity-point-line in accordance with user selection of said image intensity, and (c) said computation means is responsive to said second control means to provide said input-output function line that contains said point and that extends through said value field at a slope determined by user selection of said image contrast. A particularly advantageous feature of the invention is that the computation means may determine that if a straight input-output function line were to be used with a given set of image intensity and contrast, then image detail would be lost at low and/or at high values of input signal/input scan words, whereupon the input-output function line is modified to compress the detail contained in such low and/or at high values of input signal/input scan words. The input-output value function line can be modified to extend in a curved (e.g. parabolic) fashion, to compress, but not eliminate, such image details. The computation means may provide a memory map or look-up table that is addressable by each of the different input-signal document scan PEL values, to accordingly fetch an enhanced output-signal document PEL value from memory for each of these different input-signal document scan PEL values. Embodiments of the invention will now be described in detail with reference to the accompanying drawings, in which: FIG. 1 is a showing of a representative document scanner in which the invention finds utility; FIG. 2 shows the object-plane/image-plane optical path of the FIG. 1 scanner in its unfolded state, FIG. 3 shows the manner in which the analog output of the individual sensor cells of FIG. 1 are converted to a digital signal, FIG. 4 is a showing of the invention as it is incorporated into an electronic circuit means that operates to accept the digital image signal scan output from the A/D convertor of FIG. 3, enhance the intensity and/or contrast of the signal, and then apply the signal to a host computer system, FIG. 5 is a showing of the computation means input-output value matrix that is controlled by user selection of image-intensity and/or image-contrast enhancement, FIG. 6 show a number of exemplary input-output signal translation functions that may be generated as the user selects image intensity and image contrast that vary from minimum, to normal, to maximum, FIGS. 7a and 7b are used to explain an enhancement of the invention where the input-output signal translation function is modified to incorporate two parabolic portions, and FIG. 8 is used to explain an enhancement of the invention that is similar to FIGS 7a and 7b, where the input-output signal translation function is modified to incorporate one parabolic portion. A typical document scanning machine environment for implementing the present invention is shown in Figs. 1-3 in the form of a scanner 10. This scanner is of the general type in which the present invention finds utility. However, the invention is not to be limited thereto. In this exemplary scanner, document 11 is positioned with its visual image facing downward on transparent platen 12. The image is then scanned, so as to convert the visual image contained thereon into an electronic signal image form that is useable by data processing machines and the like. The scanning process is accomplished by a movable carriage 15 which contains a linear light source 16 and a reflecting mirror 17. Motor 18 is mechanically coupled to carriage 15 as by gears, cables or the like, to move carriage 15 along the length of platen 12. The light reflected from the document image is redirected by movable corner mirror 19 into lens 20 and thence into sensor 21. As is well known in the art, mirror 19 is mounted for movement concurrently with carriage 15, but at one half the velocity of carriage 15, so that the optical path from the object plane of scan line 24 to the image plane of sensor 21 is maintained constant in length. Sensor 21, without limitation thereto, is preferably a charge coupled device (CCD) that is configured as a linear serial array of discrete light detector cells. Each detector cell of sensor 21 defines a document picture element (PEL). For instance, CCD's which can distinguish 300 of these PEL cells per inch on the document provide good quality resolution, and are readily available from contemporary commercial sources. In Fig. 2, the typical 8.5 inch long image scan line 24 (also note numeral 24 in Fig. 1) is optically reduced in length as it passes through lens 20 in a ratio of 7.7:1 before reaching CCD detector array 21. The analog electrical signal content of sensor 21 is periodically read out, document line by document line, as carriage 15 moves along the length of document 11 on platen 12. Thus, if sensor 21 is configured with 2310 sensors per inch, it is possible, with appropriate controls, to record image densities of 300x300 detected PELS per square inch from the document. The output scan signals from sensor 21 are coupled to electronic controller 22, where the signals are converted to digital signals, as described below in conjunction with Fig. 3. Controller 22 introduces drive signals to motor 18, and may also receive position or movement feedback information relative to carriage 15 and/or mirror 19, such as from the output of a tachometer position detector 23. Fig. 3 illustrates one arrangement for reading out the analog signal content of sensor 21. By means of gating signal controls (not shown), the analog signal content of every other detector cell of sensor 21 is coupled in parallel into analog shift register 25, while the signals present in the other intervening detector cells are coupled in parallel into analog shift register 26. That is, in the example shown, the contents of the odd numbered cells of sensor 21 are periodically transferred to shift register 25, whereas the even numbered cells have their contents transferred to shift register 26 at the same periodic time. The analog signals that are loaded into shift registers 25 and 26 are representative in magnitude of the various light levels that are reflected from the individual PELS of document 11. The magnitude of these analog signals corresponds to the average of the light that is reflected from a small incremental surface area or PEL of document 11 over a predetermined period of time. Subsequent to transfer into registers 25 and 26, these analog signals are shifted serially into an analog to digital converter (A/D) 29. A variety of appropriate analog to digital converters are commercially available for this purpose. The output 30 of A/D 29 is a sequence of multi-bit digital data, for example one byte of data for each document PEL. Each of those data bytes is encoded so as to correspond digitally to the magnitude of a discrete one of the analog signals that is retrieved from shift registers 25 and 26, and thus each byte corresponds to the magnitude of the reflected light present at one of the document PELS. That is, if array 21 images 300 cells or PELS per inch, output 30 of A/D 29 comprises a similar 300 bytes per inch. FIG. 4 shows the PEL word output 30 of FIG. 3's A/D convertor 29 connected to the addressing means 43 of a look-up table or tone map memory means 40. It will be appreciated by those skilled in the art that the showing of FIG. 4 is but a simplified showing, and that other well known circuit means are usually found in such a system that connects the output of sensor array 21 (FIG. 1) to a utilization device such as host computer system 41. Memory means 40 is shown as having a storage section 42 that contains 256 storage locations, i.e. locations having addresses hexadecimal "00" through "FF". Storage section 42 is addressed by address section 43. Address section 43 is connected to receive the 8-bit output 30 from A/D convertor 29. Thus, the document PEL scan word "00", for example, that is received from A/D convertor 29 addresses the "00" storage location of memory section 42, and the enhanced PEL word that is stored at that memory location is presented to the output bus 44 of memory means 40. While the invention finds utility in the intensity and/or contrast enhancement of any multi-bit per PEL image signal that is supplied by bus 30, this embodiment of the invention will be described relative the enhancement of an 8-bit per PEt signal. The embodiment operates to supply an intensity and/or contrast enhanced 8-bit per PEL signal on output bus 44, as will be described. As those skilled in the art will appreciate, the scope and content of the invention is not to be limited to this specific 8-bit input/output signal format. The enhanced 8-bit signal on bus 44 can be sent or connected to a variety of electronic signal utilization means. In FIG. 4, bus 44 is connected to an exemplary means 45 whereat other functions, such as image scaling, dithering, thresholding, windowing and/or packing can be provided, as desired. The resulting signal is then buffered at 46, in preparation for transmission to host computer system 41, for example. The image intensity enhancement and/or image contrast enhancement of the multi-bit per PEL signal on bus 30, takes place prior to other signal modification functions such as a dither function that may be provided by means 45. The enhanced PEL words that are stored in storage section 42 are computed by computation means 47 in accordance with the user's image intensity selection at 48 and/or the user's image contrast selection at 49. As will be described in greater detail, computation means 47 comprises and implements an algorithm means that references an X-Y coordinate input/output value matrix having an origin 58. The X axis of this coordinate system contains all possible scan input PEL values, in this case ranging from "00" at 51 to "PF" at 52. The Y axis of this coordinate system contains all possible enhanced output PEL values, in this case ranging from "00" at 53 to "FF" at 54. The enhanced PEL value that is stored at a particular address location in storage section 42 is found by projecting that address value scan PEL up to an intersection with the input/output function line 55 of computation means 47, and then projecting this intersection point horizontally onto the Y axis, to find the value of the enhanced output PEL word to be stored at that address location in storage section 42. In FIG. 4, the particular input/output function line 55 that is disclosed is, for example, a default function line that results when the user does not make a specific intensity selection 48 or a specific contrast selection 49. Note that in this case, the enhanced output PEL word that is accessed by an address scan PEL word 30 is equal in value to the value of that scan PEL word. This is true because intensity-determined point 56 is located in the middle of the value coordinate system, and the contrast-determined slope of input/output function line 55 is 45 degrees. As will be described in greater detail, the selection of an image intensity different from the default intensity shown in FIG. 4 causes point 56 to move along a computation means diagonal line 57, which line connects the "FF" input value point on the X axis to the "FF" output value point on the Y axis. More specifically, increasing image intensity causes point 56 to move downward on line 57 (see the HIGH row of FIG 6). Also, the selection of an image contrast different from the default contrast shown in FIG. 4 causes the slope of input/output function line 55 to change. More specifically, increasing image contrast causes the input/output function line 55 to become more vertical (see the HIGH column of FIG 6). FIG. 4 shows an embodiment of the invention that can be called an off-line system in that prior to scanning of the document, the user's selection of intensity and contrast has resulted in the loading of storage section 42 with an enhanced output PEL word for each of the possible scan PEL words that will later be supplied to address section 43 during or after scanning. It is within the scope and content of the invention to provide an on-line system wherein, during scanning, the serial stream of scan PEL words are supplied to the input of computation means 47, and the resulting enhanced output of the computation means is dynamically suppled to a utilization such as means 45. Also, those skilled in the art may elect to implement embodiments of the invention by scanning a document, storing the resulting scan PELS in memory, and then later replaying the scan PELS to a utilization means, as is desired, using the memory means 40 and/or the computation means 47, or their equivalent. The present invention is implemented in the preferred embodiment by input-output tone map, translation table, or look-up table memory means 40 and/or by a computation means 47. In a generic sense, memory means 40 and computation means 47 are each input-signal (i.e. address-input) to output-signal translation means. Each input scan PEL signal that is presented to memory means 40 or to translation means 47 comprises the information content of a scanned document PEL. Each input scan PEL signal operates to address a unique memory location within means 40, and/or operates to generate a unique enhanced PEL output signal, based upon the unique magnitude of the input scan PEL signal. As a result of this addressing of means 40 or means 47, an enhanced PEL output signal is supplied to a utilization means 45 as an intensity/contrast enhanced output signal that corresponds to each input scan signal. In the case of an off-line system, the enhanced PEL signal is stored at the addressed location of the memory's storage section 42. In the case of an on-line system, the enhanced PEL signal is generated by the input-output signal function 55 of computation means 47. Storage section 42 is preferably a random access memory device (RAM) in which a unique output PEL value is stored for each and every possible input PEL value. The output PEL signal values that are loaded in section 42 are generated by computation means 47, for example by the execution of a computer program. Computation means 47 generates the output PEL signal values that are stored in storage section 42, based upon (1) the user-selected image intensity 48 which defines a point 56 on the diagonal line 57 of the X-Y value matrix, and (2) the user-selected image contrast 49 which defines the slope of the input-output function line 55 that extends through point 56. This input-output function line defines all of the unique output PEL signal values that are available for each of the possible scan PEL values, for a particular intensity and/or contrast enhancement. FIG. 5 shows the value matrix of computation means 47 of FIG. 4 in greater detail. In this showing, the X input axis and the Y output axis coordinates of the value matrix identify the four corners 58-61 of the value matrix. For purposes of explanation, and without limitation to the scope and content of the invention, corner 58 will be called the "input-minimum, output-minimum", or "Imin-Omin", corner of the matrix. As shown in FIG. 5, map corner 58 can also be identified as the "00-00" corner, or the "white-white" corner, and corner 59 can be called the "white-black" corner, while corner 60 can be called the "black-black" corner. Using this above defined convention, corner 59 of the value matrix is the "Imin-Omax" corner, corner 60 is the "Imax-Omax" corner of the matrix, and corner 61 is the "Imax-Omin" corner of the matrix. In the specific embodiment being described, where an 8-bit per PEL input scan signal on bus 30 is enhanced by operation of the invention, an "Imin" signal 30 comprises the hexadecimal byte "00", representing a white document PEL. As will be apparent, the corresponding enhanced output PEL on bus 44 need not always be "00", and more specifically the content of the output byte varies as a function of the user selected image intensity and image contrast. In this same embodiment, when the input scan signal on bus 30 is equal to "Imax", the Hexadecimal byte "FF". is present on bus 30. The byte "FF" represents, for example, a dense black image color. As will be apparent, the corresponding enhanced output byte on bus 44 need not always be "11", and more specifically the content of the corresponding output byte also varies as a function of the user selected intensity and contrast. The computational straight diagonal line 57 of the FIG. 5 value matrix, upon which the user-selected intensity point 56 is always located, terminates at the Imax or "FF" corner 61 and at the Omax or "FF" corner 59 of the matrix. The input-output function line 55 that is shown in FIG. 4 is an exemplary default function line that is used in the absence of an image intensity and/or image contrast selection by the user. As can be seen, this default condition yields an enhanced output byte that is identical in value to the input scan byte. As stated, the matrix's intensity-determined point 56 is always located on intensity image parameter computation line 57. The image contrast is the slope of the input-output function line 55 that always extends through point 56. Note that the exemplary default line 55 of FIG. 4 passes through the map's Imin-Omin and Imax-Omax corners 51 and 60. As those skilled in the art will appreciate, the input-output matrix 47 of the invention can be implemented in a number of different ways, all of which are to be considered as being within the spirit and scope of the invention. For example, a microprocessor (not shown) can be provided to accept the user selected image intensity 48 and/or image contrast values 49 as inputs. This processor accepts these inputs, and uses the input scan values in the range Imin-Imax to calculate a corresponding output value in the range Omin-Omax for each and every possible value of the scan signal. For example, an output signal byte is calculated and stored in storage section 42 for each and every possible byte of input signal that may be provided by bus 30 during document scanning operation. In the above example the input bytes range in value from "00" to "FF". The corresponding calculated input-output translation bytes are loaded into storage section 42 at addressable locations "00" to "FF", which locations are addressed by the corresponding input byte. As a result, the output byte that is accessed from storage section 42 for each of the possible input bytes equals the calculated intensity/contrast enhanced translation for the input bytes. Again with reference to FIG. 5, when the user selects a specific value of image intensity 48, intensity-determined point 56 moves along line 57. The mid point of this line indicates no change in image intensity from the input to the output of the computation means. When the user selects a specific value of image contrast, the input-output function line 55 pivots about the position of point 56 on line 57. Function line 55 can vary from nearly horizontal to nearly vertical, depending upon the contrast selection. Generally speaking, as the selected image intensity or brightness increases, point 56 moves downward on line 57, that is the output image becomes more white, i.e. point 56 moves toward the Omin value; and, as the selected image contrast increases, the input-output function line 55 pivots about intensity-determined point 56 to become more nearly vertical. These characteristics of the embodiment of the invention are shown in FIG. 6, where the "normal intensity" and "normal contrast" expression 70 of value matrix 47 is seen to be identical to the showing of FIG. 4. An enhancement to the above defined embodiment of the invention is provided by an input-output function line 55 that is not always the straight line that is shown in all of the examples of FIG. 6. In this enhancement function line 55 retains the above described intensity-determined point 56, and the slope of function line 55 at this point 56 remains as described, i.e. the slope is determined by the user selection of contrast. However, function line 55 may deviate from a straight line, to intercept the matrix's Imin-Omin corner 58 and/or the matrix's Imax-Omax corner 60 by way of a curved line-that extends from point 56 to the corner(s), for example by way of a parabolic function line 71 of FIG. 7B that extends from point 56 to the corners 58 and 60, or by way of parabolic function line 83 that extends from point 56 to corner 58 in FIG. 8. More specifically, when the map's input-output translation function 55, when considered as a straight line function, would intersect either or both of the matrix's upper or lower boundaries that define the input image signal (see the matrix examples 72, 73, 74, 75 and 76 of FIG. 6), such that detail would be lost in a value range Imin-Imax of the input image, the input-output function line that will be implemented by this enhancement is redefined so as to eliminate this loss of input image detail. FIG. 7a is an example of the loss of image detail. This figure shows a computation value matrix 47 having a signal translation function 55 similar to that shown in matrix example 74 of FIG. 6. In this situation, the user has selected a high (i.e. HIGH) image contrast, but has elected to use normal (i.e. NORM) image intensity. Note from FIG. 7a that all input scan PELS whose byte values are between decimal 0 and decimal 96 yield the same output PEL value of decimal 0. Also, all input scan PELS whose byte values lie between decimal 160 and decimal 255 yield the same output PEL value of decimal 255. As a result, all input document information that is contained in document PELS having these signal magnitude ranges will be lost. When this result is undesirable, the input/output value user may elect to implement the use of an enhancement matrix, and to generate output values in accordance with a matrix such as is shown in FIG. 7b. In FIG. 7b, the same intensity-determined point 56 is used. However, in this case the input-output function line 71 that passes through point 56 is of the contrast-determined slope only at point 56, and has a curved (i.e. parabolic) shape from point 56 to both of the corners 58 and 60 of value matrix 47. In this case, the input document PELS whose byte value are between decimal 0 and decimal 96 are compressed to yield output byte values in the range of from decimal 0 to decimal 48; and input document PELS whose byte values are between decimal 160 and decimal 255 are compressed to yield output byte values between decimal 207 and decimal 255. As a result, the document detail information that is contained in these scan PEL value ranges are compressed, but the detail is not lost. The FIG. 7b example pertains to a situation where input image detail would be lost at both low input PEL values and at high input PEL values, i.e. in the 0-96 value range and in the 160-255 value range, as above described. In the situation where input image detail would be lost at only one end of the input PEL value range, i.e. matrix examples 72, 73, 75 and 76 of FIG. 6, it is preferable that the enhancement algorithm of the invention provide a curved function line only in relation to the end of the input range at which the document scan information would be lost, should a straight line input-output function be implemented. FIG. 8 shows an example of a computation value matrix 47 such as is shown at 73 in FIG. 6. Note that when a straight input-output translation function line is implemented in this example, input image detail is lost for low value scan PELS. When the user wishes to retain these low magnitude input image details, the matrix of FIG. 8 is implemented. In this matrix the input-output function line 55 retains the straight line portion 80, having the above mentioned contrast-determined slope. However, the function line of the FIG. 8 computation matrix 47 incorporates a curved or parabolic portion 83 that extends from intensity-determined point 56 to the Imin-Omin corner 58 of the matrix. In this way the low magnitude input PEL values are compressed, but they are not lost. In a similar manner, the concept of FIG. 8 can be extended to matrix examples such as 72, 75 and 76 of FIG. 6. As previously discussed, computation means 47 may be implemented by a processor that executes a program to generate input-output function line 55, based upon selected image intensity enhancement 48 and image contrast enhancement 49. An exemplary algorithm for program expression and processor execution will now be described. Note that the following description assumes that Imin equals zero. In this description (1) The term "X" equals the value of an input axis input scan word, (2) the term "Y" equals the value of the corresponding output axis output scan word, (3) the term "X-target" equals the input scan word value that is determined by the location of intensity point 56 on line 57, (4) the term "Y-target" equals the output word value that is determined by the location of intensity point 56 on line 57, (5) the term "Slope" is the SINE of the angle between the straight input-output function line 55 (as defined by the contrast selection) and the input axis, (6) the term "Y-intercept" equals the output word value (i.e. the "Y" value) of the straight input-output function line 55 for the condition where the input scan word is at its minimum value (i.e. the "X" value is at its minimum value). With these terms as above defined the following equations can be used to generate the appropriate straight or curved function line. (1) "Y-intercept" = "Y-target" - (Slope" * "X-target") (2) If "Y-intercept" > = 0 then "Y" = "Y-target" - ("Slope" * "X") ¦ for 0 < = "X" < = "X-target" (3) If "Y-intercept" < 0 then (a) "N" = ("X-target" / "Y-target") * "Slope" (b) "A" = "Y-target" / ("X-target" "N" ) (c) "Y" = "A" * ("X" "N" ) ¦ for 0 < = "X" < = "X-target" The above equations may also be used to generate the output "Y" values which correspond to the input "X" values which are greater than "X-target." One way to accomplish this is by temporarily rotating the computation value matrix 180 degrees such that the Imax-Omax corner 60 becomes the Imin-Omin corner 58 for the purpose of computing the input-output function line segment between the new Imin-Omin corner and intensity point 56 on line 57. Another way would be to generate a second set of equations which are customized for the right side of the matrix. When input scan word information would be lost at low and/or high "X" values, as a result of intersection with the lower or upper boundaries of the computation value matrix by the input-output function line, respectively, the input-output function line is changed by the above equations to provide intersection of matrix corners 58 and/or 60 by a parabolic portion(s) of the function line.

Claims: A method of enhancing digital image signals (30) comprising a plurality of multi-bit input signal words (30) each having a magnitude that represents the intensity of light that is reflected from a document individual picture element (PEL) during scanning of the document, each such input signal word (30) being capable of varying in magnitude from a minimum value (Imin) (50) to a maximum value (Imax) (52), the method operating to provide corresponding enhanced output signal words (44) varying in magnitude from a minimum value (Omin) (53) to a maximum value (Omax) (54), the method comprising the steps of, providing computational means (47) having a rectangular computational signal value field, the value field having an input axis (58,61) that is addressable over the range (Imin-Imax) of input signal magnitude value locations, an orthogonal output axis (58,59) that provides corresponding enhanced output signal values over the output signal magnitude range (Omin-Omax), defining an input-output function line (55) within said computational value field and having a user-determined slope, addressing said input axis (58,61) of said computational value field using said input signal words (30), and providing enhanced output signal words (44) from said output axis (58,59), as is defined by said input-output function line (55) and by said addressing input signal words (30), each addressing input signal word (30) being projected from said input axis (58,61) orthogonally therefrom on to said input-output function line (55) and then onto said output axis (58,59) orthogonally thereto to determine a corresponding enhanced output signal word (44), the method being characterised in that (a) said computational signal value field has an image parameter line (57) that extends from the maximum output signal magnitude value (54) on said output axis (58,59) to the maximum input signal magnitude value (52) on said input axis (58,61), (b) a point is defined (56) on said image parameter line as a function of a first user-defined image parameter (48), and (c) said input-output function line (55) extends through said point and has a slope that is determined by a second user-defined image parameter (49). The method of claim 1 including the steps of determining said first and/or second user-defined image parameters that cause said input-output function line (55) to intersect (1) said input axis (58,61), and/or (2) an axis (59,60) that is parallel thereto and contains the full input signal magnitude value range (Imin-Imax) (51,52), and the minimum input signal magnitude value (Imin) (51) of which is coincident with the maximum output signal magnitude value (54) of said output axis (58,59), and upon making such a determination, implementing a curved input-output function (83) within said value field that extends from said point (56) to the input-axis/output- axis origin (58) of said rectangular value field, and/or to the maximum input signal magnitude value point (60) on said parallel axis (59,60), respectively. The method of claim 2 wherein the curved portion (83) or portions of said input-output function line (55) comprise a parabolic portion. The method of any of claims 1 to 3 wherein said ranges of input signal value magnitude (Imin-Imax) and output signal value magnitude (Omin-Omax) are equal. The method of any one of claims 1 to 4 wherein said first image parameter (48) is image intensity and wherein said second image parameter (49) is image contrast. The method of claim 5 wherein said point (56) on said image parameter line (57) is located about halfway along said image parameter line to define no change in image intensity from input to output, and wherein said point moves toward said input axis (58,61) as the output intensity (49) is increased. The method of claim 6 wherein said input-output function line (55) extends at a slope of about 45 degrees to said input axis (58,61) to define no change in image contrast (49) from input to output, and wherein the said input-output function line (55) extends at a slope greater than 45 degrees to said input axis (58,61) as the output contrast (49) is increased. The method of any preceding claim wherein said computational means (47) includes memory means (40) having a plurality of individual storage locations (42) each of which are capable of storing an enhanced output signal word (44), the method further comprising the steps of loading individual storage locations of said memory means (40) with values of said output signal words (53,54), corresponding to input signal words (51,52), using said input signal words (30) to address said memory means (40), to thereby access corresponding enhanced output signal words (44), and providing said accessed enhanced output signal words (44). A method according to any one of claims 1 to 3 wherein the digital input signals comprise an X-bit input scan word (30) for each picture element (PEL) of the document, said input scan words comprising Y different binary words that vary in magnitude, ranging from a low value (51) to a high value (52), representing a document picture element containing image coloration of one extreme to image coloration of the opposite extreme, respectively, and said computation means (47) have an input-output coordinate system (58,59,60,61) that defines a rectangular value field, said coordinate system being defined by a first input scan word axis (58,61) and a second orthogonal output scan word axis (58,59), the origin (58) of said coordinate system containing the low value (51) of the input scan word range of values and the low value (53) of an output scan word value range, and wherein the image parameter line is an image-intensity-line (57) that connects a high value (52) of said input scan word range of values and a high value (54) of said output scan word range of values, and wherein said second image parameter is image contrast. A document scanner (10) operable to scan a document (11) and to generate an X-bit input scan word (30) for each picture element of the document, said input scan words comprising Y different binary words that vary in magnitude and ranging from a low value (51) to a high value (52), representing a document individual picture element (PEL) containing image coloration of one extreme to image coloration of the opposite extreme, respectively, including apparatus for providing intensity/contrast enhancement of said input scan words (30), comprising, control means (48,49) enabling user selection of image intensity, computation means (47) having an input-output scan word value coordinate system (58,59,60,61) that defines a rectangular input-output value field, said coordinate system being defined by an input scan word value axis (58,61) and an orthogonal output scan word value axis (58,59) the origin (58) of said coordination system containing the low value (51) of the input scan word (30) range of values and the low value (53) of an output scan word (44) range of values, said computation means (47) responding to said control means (48,49) to provide an input-output function line (55) that extends through said value field and has a slope determined by said user selection, said computation means (47) operating to project a received input scan word value from said input axis (58,61) orthogonally therefrom onto said input-output function line (55) and then onto said output axis (58,59) orthogonally thereto to determine an enhanced output scan word value for each received input scan word value, output scan word utilization means, (45) and means (44) connecting said enhanced output scan words to said utilization means (45), said document scanner being characterised in that (a) said control means (48,49) includes first control means (48) enabling user selection of said image intensity enhancement and second control means (49) enabling user selection of image contrast enhancement, (b) said input-output value field has an intensity-point-line (57) that connects the high value (52) of said input scan word range of values (51,52) to the high value (54) of said output scan word range of values (53,54), said computation means (47) responding to said first control means (48) to establish a point (56) on said intensity-point-line (57) in accordance with user selection of said image intensity, and (c) said computation means (47) is responsive to said second control means (49) to provide said input-output function line (55) that contains said point (56) and that extends through said value field at a slope determined by user selection of said image contrast. The scanner of claim 10 wherein said computation means (47) including means for determining user-selected intensity (48) enhancement and/or contrast (49) enhancement that cause said input-output function line (55) to intersect (1) said input value axis, (58,61) and/or (2) an axis (59.60) that is parallel thereto and contains said input scan word range of values (51,52), and the low value (51) of said input scan word range of values being coincident with the high value (54) of said output scan word range of values, and upon making such a determination, means (47) for implementing a curved input-output function line (83) within said input-output value field is rendered operative, said curved function line (83) containing a portion or portions that extend from said point (56) to the low value (51) of said input scan word range of values (51,52) on said input axis (58,761) and/or to the high value (60) of said output scan word range of values on said parallel axis (59.60). The scanner of claim 11 wherein the curved portion or portions of said input-output function line (55) comprise a parabolic curved portion. The method of claim 9 or respectively the scanner of any one of claims 10 to 12 wherein said image coloration of one extreme (51) comprises the white background of a colour-on-white document, and wherein said image coloration of the opposite extreme (52) comprises the most densely coloured portion of the image that is carried by said colour-on-white document (11). The method or respectively the scanner of any one of claims 9 to 13 wherein X is equal to 8, and wherein Y is equal to 256. The method or respectively the scanner of any one of claims 9 to 14 wherein said low value of said input scan word (51) and of said output scan word (53) comprises an all 0's binary word, and wherein said high value of said input scan word (52) and of said output scan word (54) comprises an all l's binary word. The method or respectively the scanner of any one of claims 9 to 15 further including in said method the step of providing (or respectively including in said scanner) look-up table memory means (40) having Y storage locations (42), each storage location being addressable (43) by a different individual one of said input scan words, including in said method the step of (or respectively including in said scanner means for) loading said determined enhanced output scan words for each of said input scan words into corresponding storage locations (42) of said memory means (40), one enhanced output scan word corresponding to each of said input scan words, and including in said method the step of using said input scan words (30) to address said memory means (40), (or respectively providing in said scanner means (43) said input scan words (30) as addresses to said memory means (40)) such that the storage location of said memory means that is addressed by its corresponding input scan word causes a corresponding enhanced output scan word (44) to be fetched from said memory means (40).

Inventors: DALTON DAN LEANY, DALTON, DAN LEANY
Applicants: HEWLETT PACKARD CO, HEWLETT-PACKARD COMPANY
Application year: 1989
Main classification: H04N1
IPC codes: G06T5, H04N1