Image enhancement

Abstract: A method, system and process for improving image enhancement tools through the application of expert systems. The improvements are accomplished by the operation of a process in the memory of a processor that enhances an image based on a set of criteria entered by a user. The image is enhanced in at least two ways and the two enhanced images (510, 520) are presented to the user. The user selects the image that appears best and the selected image (530) is thereafter used for subsequent image enhancements according to the user criteria until a final choice of images (550, 560) is presented.

Description: This invention generally relates to improvements in image processing and more particularly to enhancing images using expert system technology. Image enhancement has been the subject of a large body of patent art. For example, US Patent 4,606,625 discloses a system for colorizing black and white film in which interpolative techniques are used to reduce the number of frames which have to be individually colorized. Another example of a prior art image enhancement is US Patent 4,907,075 which discloses a method for selecting a limited number of presentation colors from a larger palette for a selected image. A three dimensional color histogram of an image is generated and a first color is selected based upon the color occurring most frequently in the image. Subsequent presentation colors are selected by choosing one at a time those colors having the highest weighted frequency of occurrence wherein the weighting is such that colors closest to the previously selected color are weighted very little while colors furthest away from the selected color are weighted the most. Still another example of an image enhancement system is found in US Patent 4,984,072 which discloses a system and method for color enhancing an image or a series of images such as a motion picture by digitally capturing the images, interactively defining masks corresponding to objects in the images having similar hues, creating regions from these masks, and for each region, defining a color transfer function for converting image gray-scale information to unique values of hue, luminance, and saturation. The gray-scale values within each region are then processed through that region's color transfer function, and the resulting colors applied to the image and stored for later retrieval and display. Still another example of an imaging system is US Patent 5,041,992 which discloses a system and method for interactive design of user manipulable graphic elements. The system allows a user to create and manipulate graphic elements that can be subsequently employed to create a program. Joseph R.D. & Viglione S.S in Proceedings of Two Dimensional Digital Signal Processing Conference, 7-1-1 - 7-1-16, October 6, 1971, and JP 61-208,577 disclose respective apparatus for automated image enhancement, comprising: (a) means for enhancing an image to produce and present a plurality of enhanced images on a display; (b) means for prompting a user to select a single image from the plurality of images as the one best meeting the user's requirements; and (c) means for automatically enhancing the image based on the user selection. It is an object of the present invention to provide improved image enhancement by more effective use of user input than hitherto. According to the invention there is provided an apparatus for automated image enhancement in accordance with claim 1. There is further provided a corresponding method for image enhancement as claimed in claim 10 and a computer program product for use with a computer implemented image enhancement system as claimed in claim 13. The different enhancements may be based on various criteria such as white level, black level and the gamma values of the various colours in the image. An embodiment of the invention will now be described with reference to the accompanying drawings, in which: Figure 1 is a block diagram of a personal computer system in accordance with the subject invention; and Figure 2 is an illustration of an image enhancement system in accordance with the subject invention; Figure 3 is an illustration of an image enhancement technique for optimizing brightness in accordance with the subject invention; Figure 4 is an illustration of an image enhancement technique that optimizes brightness as a function of gamma in accordance with the subject invention; Figures 5 and 6 are illustrations of display processing of an image enhancement system in accordance with the subject invention; and Figure 7 is a flowchart of the detailed logic in accordance with the subject invention. Detailed Description of the Invention The invention is preferably practiced in the context of an operating system resident on an IBM RISC SYSTEM/6000 computer available from IBM Corporation. A representative hardware environment is depicted in Figure 1 , which illustrates a typical hardware configuration of a workstation in accordance with the subject invention having a central processing unit 10 , such as a conventional microprocessor, and a number of other units interconnected via a system bus 12 . The workstation shown in Figure 1 includes a Random Access Memory (RAM) 14 , Read Only Memory (ROM) 16 , an I/O adapter 18 for connecting peripheral devices such as disk units 20 to the bus, a user interface adapter 22 for connecting a keyboard 24 , a mouse 26 , a speaker 28 , a microphone 32 , and/or other user interface devices such as a touch screen device (not shown) to the bus, a communication adapter 34 for connecting the workstation to a data processing network and a display adapter 36 for connecting the bus to a display device 38 . The workstation has resident thereon the AIX operating system and the computer software making up this invention which is included as a toolkit. There are several ways the invention can be implemented using the techniques known in the art of expert systems. Figure 2 illustrates one implementation of logic that models human reasoning in evaluating the quality of an image. The block inputs an image, and specific settings for adjustments to that image available for the system to affect. These inputs typically include: white level, black level, and gamma for each of the three colors; and the two potentially subtractive crosscolors for each of the three colors. The estimate of quality is typically based on uniformity of gray-scale distribution and percent of pixels in saturation. Based on those specific settings, the block outputs a numerical expected quality level Q. As the input controls are varied, so is Q, thus mapping Q into an N dimensional space, where N is the number of controls. Figure 3 illustrates the simple case of N=1 dimensions. For this case, there is only one variable, brightness. As brightness varies, the block calculates a quality curve 300 . The system is given an initial input image with a brightness at state 302 . The system then calculates what it thinks is an optimum brightness at state 304 and presents both to a user for selection of the best perceived brightness. For example, if a user selected state 302 as the preferable state, the system knows that state 302 actually has a better quality than state 304 . The system also assumes that there is some state with a still better quality 306 . The system must make this assumption to attempt to improve the perceived image. If this assumption is incorrect, then the user will keep selecting the old values and eventually terminate successfully. In order to make the quality of state 302 higher than state 304 , the system must multiply the curve of the initial estimate 300 by another curve that reaches an appropriately higher number 308 at state 302 than the number 310 at state 304 to overcome the original curve 300 and attain the desired difference between the two empirical quality levels 302 and 304 . The system determines the curve at other points by using a spline fitting function to obtain curve 312 . The system must assume that there is a better state 306 that has not been found. The system uses this knowledge to create another curve 314 as though the curve intercepts at point 306 . Then, the system generates a third curve 316 between the first two curves that touches curve 312 at empirically determined points 308 and 302 , and rises to the second curve in between the two other curves. The initial estimate 300 is multiplied by this curve 316 to yield the new quality estimate curve 318 . The peak of this new curve 320 is presented to the user as the next candidate state 320 to compare with the previously best state 304 . Now, the system has three empirically determined points and ordered states. Based on the three points, the method is repeated to determine a fourth candidate, and so on until a user determines that the choice is adequate. The selection is normally multidimensional, and although the mathematics gets more complex, the principle of empirically determining points, fitting a spline, and multiplying the predicted quality curve remains the same. Figure 4 illustrates the case for two dimensions. A previous state 460 is compared with a new candidate state 462 which is at the multidimensional maximum of the predicted quality function. In this particular implementation the user presses the left mouse button to display the previous best state, the right mouse button to display the candidate state, and both mouse buttons simultaneously to select as empirically best the state currently being displayed. Figure 4 also allows an additional selection technique. Out of the N dimensional state, the system selects a one dimensional line 464 cresting along the predicted quality maxima between the previous best state, and the new candidate state. At any time, the user may move the mouse to traverse this line and thus select the optimum magnitude of the correction. Multidimensional adjustments tend to confuse the human system. However, a continuous choice along a single dimension is usually easy. Figure 5 is an example of the selection process in accordance with the subject invention. A user is presented with two choices 510 and 520 based on the approaches described above. The selected choice 520 is further refined into 530 and 540 . The next selected choice, 530 is further refined into 550 and 560 until no further refinement can occur. Figure 6 is another example of the selection process in accordance with the subject invention. The user is presented with a display 600 which includes two images 602 and 604 side by side. Then, the user selects the image that best matches the user's tastes. This processing continues with 610 where the selected screen from 600 is further refined into 612 and 614 . Then, a final pair of selection 622 and 624 are created and displayed on display 620 for the user's final choice. Figure 7 is a flowchart of the detailed logic in accordance with the subject invention. The Static Evaluator 710 uses knowledge of what looks good 711 to predict image quality for any given setting of available controls 720 . Using this information, it scans a multidimensional color control space 720 to identify the predicted best image adjustment 730 . The Selector 750 receives as input the predicted best image adjustment 730 and applies this adjustment to the image. The adjusted image is presented along with the previous best image to the human operator as shown in 750 . The Selector block 750 allows an operator to select the best image along a line continuum connecting the two images, or provide another control. In any case, the operator picks the best image 760 . The Record block 700 catalogs this best choice, and keeps a record of the past choices in the order in which they were picked. This recording quantifies relative quality by empirical measurement for selected points in the multidimensional space of image controls. The Static Evaluator 710 receives the empirical data as input and modifies its knowledge of what looks good to conform with the measurement data. The Static Evaluator also receives as input another critical assumption. This assumption is that the best image has not yet been created. The system iterates until the user 760 selects a finished image (best choice) 770 .

Claims: An apparatus for automated image enhancement, comprising: (a) means for enhancing an image (710) to produce and present a plurality of enhanced images on a display (Fig. 5); (b) means for prompting (750) a user (760) to select a single image from the plurality of images as the one best meeting the user's requirements; and (c) means for automatically enhancing the image based on the user selection; characterised in that said image is enhanced according to a multidimensional enhancement function (Fig. 4), each of said enhanced images having different parameter values for said multidimensional enhancement function; said adjustment means automatically adjusts said parameter values for said multidimensional enhancement function based on at least one of the specific parameter values of a precious user selection and the specific parameters valves of an initial image so as to optimize a predetermined quality criterion; and said apparatus includes means for repeating steps (a), (b) and (c) until the user indicates the image enhancement is completed. An apparatus as recited in claim 1, wherein the multidimensional enhancement function of the means for enhancing the image represents an image quality function and is based on a plurality of parameter values for image enhancement that are initially determined by the user. An apparatus as recited in claim 2, wherein the plurality of parameter values include image white level. An apparatus as recited in claim 2, wherein the plurality of parameter values include image black level. An apparatus as recited in claim 2, wherein the plurality of parameter values include image gamma for each of a plurality of colors in the image. The apparatus of claim 2, wherein the multidimensional enhancement function represents a multidimensional surface having a theoretical maximum image quality based on said selected parameter values and said user selections. The apparatus of claim 6, where in the means for enhancing further comprises: means for determining a theoretical maximum image quality based on said user selection and said multidimensional enhancement function; and means for determining image quality values surrounding the theoretical maximum to generate alternate enhanced images. A method for image enhancement, comprising the steps of: (a) enhancing an electronically stored image to produce and present a plurality of enhancement images on a display; (b) prompting a user to select a single image from the plurality of images as the one best meeting the user's requirements; and (c) automatically modifying the image based on the user selection; characterised in that said image is enhanced according to a multidimensional enhancement function, each of said plurality of enhanced images having a different set of image parameter values, the parameter values for multidimensional enhancement function are chosen on the specific image parameter values of the image previously selected by the user or of an initial image so as to optimize a predetermined quality criterion, said method including the step of (d) repeating steps (a), (b) and (c) until the user indicates the image enhancement is completed. A method as recited in claim 8, wherein the step of enhancing the image includes the step of receiving a plurality of image parameter values initialising the image enhancement function. A computer usable medium for use with a computer implemented image enhancement system having computer readable program code means embodied in said medium for causing said computer implemented image enhancement system to automatically enhance an image, said computer program product having: computer readable program code means for causing a computer to (a) enhance an image to produce and present a plurality of enhanced images on a display; computer readable program code means for causing a computer to (b) prompt a user to select a single image from the plurality of images as the one best meeting the user's requirements; and computer readable program code means for causing a computer to (c) automatically adjust said enhancement based on said user selection; characterised in that said image is enhanced according to a multidimensional enhancement function, each of said enhanced images having different parameter values for said multidimensional enhancement function, said parameter values for said multidimensional enhancement function being automatically adjusted based on at least one of the specific parameter values of a previous user selection and the specific parameter values of an initial image so as to optimize a predetermined quality criterion, and said computer program product includes computer readable program cod means for causing a computer to repeat steps (a), (b) and (c) until the user indicates the image enhancement is completed.

Inventors: EDGAR ALBERT DURR, PENN STEVEN CRAIG, EDGAR, ALBERT DURR, PENN, STEVEN CRAIG
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES
Application year: 1993
Main classification: G06T5
IPC codes: G06T11, G06F9, G06T5, H04N1, G09G5