Image processing system and method providing improved automatic object selection

Abstract: An image editor stores color pixels for an image to be edited in an image pixel buffer (61) and a lookup register bank (47). The stored image is displayed on a monitor (35). An operator uses a mouse (52) to designate a screen path that identifies an object in the image, and pixel position data is detected for the screen path. A programmed computer determines in real time one or more criteria for a search controller on the basis of hue, saturation and luminance variables which are determined from the stored pixel color data for pixels along the screen path. The computer further searches the image pixels to identify the object and its boundaries in accordance with the search controller criteria, and applies color edit actions to the identified object within the image.

Description: The present invention relates to image processing systems and methods and more particularly to the selection of objects within an image for edit or other processing. Various kinds of image processing systems employ object selection in image edit or other image processing operations. One such system is a duplicator system in which a stored electronic image can be edited and applied to a platen to produce a hard copy output. Another system is a reprographic system in which a digital image is scanned from a hard copy input and then processed through an image editor to generate an edited hard copy output from a laser printer or the like. In an image edit system, an image editor processes stored images in accordance with edit operations and stores the edited images electronically for use in other systems. Object selection is usually done by selecting a mechanism that physically draws a border around the selected object on the display screen. The selection mechanisms include freehand, squares, rectangles, circles, polygons, and other geometric shapes. Some approaches employ the physical drawing method along with intelligent algorithms that analyze the image content of the bounded object. It is desirable that the productivity of the image editing process be enhanced through increased automation of the object selection procedure. The above-referenced use of algorithms in the prior art represents attempts to achieve increased productivity through computer participation in the object selection. However, raster images differ in many ways and these differences have made it difficult to achieve quality image editing with increased productivity in object selection. Criteria that work well for selecting an object in one image may not work well in another image. In fact, a criterion that works well in one area of an image may not work well in another area of the same image. Differences in image representations , such as black/white or grayscale or color, present additional difficulties to the automation of object selection. Thus, there is no known way to model an object selection algorithm to work well for all different types and classes of images. The following prior patents have been noted: 1. U.S. Patent No. 4,905,148, "Three-Dimensional Surface Representation Using Connectivity Method Without Leaks", dated February 27, 1990, filed by Carl R. Crawford. 2. U.S. Patent No. 4,958,375, "Parallel, Multi-Unit, Adaptive Pattern Classification System Using Inter-Unit Correlations and An Intra-Unit Class Separator Methodology", dated September 18, 1990, filed by Douglas L. Reilly, et al. 3. U.S. Patent No. 5,003,616, "Image Processing Apparatus", dated March 26, 1991, filed by Miyohiko Orita, et al. 4. U.S. Patent No. 5,014,327, "Parallel Associative Memory Having Improve Selection and Decision Mechanisms for Recognizing and Sorting Relevant Patterns", dated May 7, 1991, filed by Terry W. Potter, et al. It is an object of the present invention to provide improved automatic object selection, enabling shortcomings of the prior art to be overcome. Accordingly, an image processing system and method are as set out in claims 1 and 11 respectively. In an image editor in accordance with the invention, the said search criteria determining means may include means for determining one or more color date variables from the stored pixel color data for pixels along the screen path; and means for determining said criteria for the search controller at least as a function of the determined color data variables. The said storing means may include a color lookup register bank in which respective registers contain respective color set where each color value is defined by a set of values for preselected basic color components; a pixel buffer in which the color of each image pixel is stored as a lookup register value; and wherein said color edit applying means includes: means for implementing color edit actions by modifying stored color values for lookup registers containing original colors changed by edit action; and means for selecting image buffer pixels corresponding to the identified object for application of edit actions. In an embodiment of the invention, the stored pixel color data are values for preselected basic colors; said search criteria determining means includes means for determining, in respective multiple data channels, values for preselected multiple color descriptor variables from the detected basic color data values; and the available search criteria, from which the one or more selected search criteria are determined, include respective criteria based on the respective color descriptor variable channels. The color descriptor variables may be hue, saturation and luminance. The available search criteria may include a user specification, and, if entered, a user specification selected as the search criteria. For example, the available search criteria may include a synthetic or solid color, and luminance only, and the selected criterion may be the synthetic or solid color luminance if so indicated by the color data for detected pixels. The selected search criterion may be one of the color descriptor data channels if said one channel is the only color descriptor channel having data values for the detected pixels. In an image editor in accordance with the invention, the said search criteria determining means may include: means for statistically analyzing said stored pixel color data in accordance with predetermined statistical principles to select as said search criteria a portion or portions of said stored color pixel data that will most likely provide effective automatic identification of said object. Said statistical analyzing means generates a histogram that functionally relates frequency of color data to color data values; and each selected color data portion is a node of said histogram. Said imaging searching means executes an image data search in accordance with each node and sums the results. In an embodiment of the invention, the stored pixel color data are values for preselected basic colors; and each statistically selected color data portion is a portion of the color data in one of said color descriptor variable channels. The color descriptor variables may be hue, saturation and luminance. In that embodiment, said statistical analyzing means generates a histogram that functionally relates frequency of color data to color data values; and said histogram includes a component histogram for each color descriptor variable channel. Said search criteria determining means includes means for sorting color descriptor channels by range of standard deviation and for excluding as unusable those channels having a standard deviation below a preselected threshold value; and said search criteria determining means selects for use as search criteria those channels having a standard deviation above said threshold value. The selected search criteria is hue if no other channel is usable. In one form of image editor in accordance with the invention, means are provided for managing a window structure on said screen with said window structure including a window for said image and a menu window for predetermined selectors applicable to said image; said selectors include an automatic object selector; and said designating means is employed to select said automatic object selector when it is desired to apply edit actions only to an object within said image. The said screen designating means may be a mouse. In an image editor in accordance with the invention, color pixel data may be gathered for a pixel band of predetermined pixel width along said path. By way of example only, an embodiment of the invention will be described with reference to the accompanying drawings, in which: FIGURE 1 shows a block diagram for a generalized image processing system in which an image editor in accordance with the present invention is employed; FIGURE 2 shows a block diagram for a reprographic system which is a particular form of the image processing system of FIGURE 1; FIGURE 3 shows another block diagram for a network based image processing system embodying the present invention; FIGURE 4 illustrates a more detailed block diagram for a computer work station employed in the network based system of FIGURE 3; FIGURES 5A and 5B show editing controls and selector menus employed on the screen of the work station monitor; FIGURES 6A and 6B show a flow chart employed in the work station of FIGURE 4 to provide automatic object selection; and FIGURE 7 shows a graph of an illustrative histogram for color data gathered to provide a basis for developing object search criteria. There is shown in FIGURE 1 a general image processing system 10 which is representative of the various kinds of systems in which the present invention can be embodied. Image processing systems may be used for various purposes including the generation of images in the computerized process of creating newspapers, magazines, catalogs, brochures or other documents. High image quality is normally required to meet advertising artwork and other graphic needs in these processes. The system 10 includes an image data source 12 that provides image data for an image processor 14 having an image editor. Processed image data is applied to an output device 16 such as a monitor, a laser or other printer, or a duplicating machine platen. The image data may be organized for high quality, high density color displays. For example, in the preferred arrangement, the combined basic colors, i.e., red, green and blue, of each image element or pixel are stored as a total of twenty-four bit values. Each basic color can have 2 8 or 256 values from 0 to 255. Accordingly, the total number of possible colors for each pixel in a color image is 256 3 or greater than 16 million. Effective, fast, quality image editing is achieved with computer capacity economy by encoding stored image data to a reduced color set, in this case a set of 100 preselected colors. In FIGURE 2, there is shown a specific kind of image processing system 10, namely a reprographic system 18. The reprographic system 18 may be a duplicating system which has an image editing capability. An image scanner 20 detects image data from a hard copy original 22. The image data is placed in 24-bit storage 23 and then processed through an image editor system 24. An encoder 25 produces reduced image data based on a reduced color set, and the reduced image data is applied to an interactive image editor 26. The image edit system 26 processes the stored image to produce a modified image resulting from editing operations. A color monitor 28 and keyboard 29 are interactively operated with the image editor 26 in the editing process. Inputs are applied from the 24-bit storage 23 and the interactive image editor 26 to a background image editor 27. The edited image is applied from the background image editor 27 to an output device, in this case a laser printer 30 that will produce a requested number of copies. In FIGURE 3, another kind of image processing system 10 is shown, namely a networked system 32 having a plurality of image editing computer work stations 34a and 34b with associated color monitors 35a and 35b. A network 36 for the system 32 additionally has coupled to it an image storage apparatus 38, an image server 40 and a print server 42, and, if desired, various other subsystems. On request, the image server 40 provides various more complex image processing services to the work stations. The networked system 32 is the type of system in which the embodiment of the invention described below is implemented. IMAGE EDITING WORK STATION An image editing work station 34, corresponding to the work station 34a or 34b in FIGURE 3, is shown in greater block diagram detail in FIGURE 4. A color monitor 35 provides a display in accordance with red, green, and blue color signals generated by drive circuit means. The drive circuit means preferably comprises a digital-to analog-converter 43 on a display card 44. As indicated in FIGURE 4, a digital color signal for each screen pixel comprises digital red, green and blue signals supplied by lookup color registers 47. Each of the three components of the color signal is an 8-bit signal. Successive screen pixel signals are converted to analog signals by the converter 43 and rastered onto the monitor screen 35 in the conventional manner. A digital computer system 46, such as a Sparc Station II preferably operates the display card 44 to generate the monitor display. In other applications, the functional interface between the digital computer system 46 and the display card 44 may be varied from that which exists in this embodiment. Programmed operation of the computer system 46 occurs under the direction of an operating system 48 such as UNIX. Library support and other procedures 50 are included in the computer program system as needed for the image processing application and for system operation. An operator input control system 52 includes means for entering image editing actions and for otherwise directing the computer system operation. Preferably, the operator input control system 52 includes a mouse (not specifically indicated) which provides various kinds of operator editing entries through interaction with the display on the color monitor 35. The preferred operator control also includes a keyboard for operator entry of alphanumeric editing entries. In other applications, other operator control devices, such as light pens, pressure sensitive pads, etc., can be employed. Images to be processed by the work station 34 are suitably stored. Each image is formed by a predetermined number of pixels each of which is typically, and herein preferably, defined by three 8-bit words respectively for the red, green and blue color components. When a stored image 54 is called by the operator for edit processing, the image 54 is first processed by an image encoder 56 to encode the image with a reduced set of preselected colors for effective yet economic image editing for reasons previously explained. A conventional image algorithm program, such as Floyd-Steinberg error diffusion, is employed for the image encoder 56. Image editing is preferably facilitated in the work station 34 by the use of a windowed display on the screen of the color monitor 35. A conventional windows manager 58 or control, such as Windowing System, as developed by MIT, is employed in the computer program system to control the basic windowed structure of the monitor display. Image encoded editing means is included in the work station 34 to enable the image 54 to be modified in various ways. The image editing means preferably includes the operator input control system 52, various computer editor controls 60, and an image storage means preferably including a lookup color register bank 47 and an image pixel buffer 59 on a display card 44. As previously indicated, prior art techniques for editing images have typically employed procedures having limited productivity. This embodiment of the present invention, as described below, provides significantly enhanced productivity through the image editing means which is characterized by improved structure and operation. The encoded image provided by image encoder 56 is handled by an image display window control 62 for screen display in an image window 63 (see FIGURE 5A). The size and location and screen pixel assignments of the image window 63 are determined by the windows manager 58. The color content of each image pixel in the image window 55 is defined by an image pixel buffer 61 in combination with the lookup color register bank 47. The lookup color register bank 47 contains n registers including a group of registers that respectively define the R, G, and B values of the respective colors in the set of colors preselected for system use. The color lookup register assigned to a particular image pixel generates the output color signals that produce the screen pixel corresponding to the image pixel. The image display window control 62 loads the encoded image into the image buffer 61. The encoded image includes an index value for each image pixel pointing to a color lookup register that contains the R, G, and B values corresponding to the color for that pixel. As indicated in FIGURE 4, the image pixel buffer 61 stores the number of the lookup register specified for each image pixel. Image pixels are thus processed for screen display by reference to the designated lookup registers in the pixel buffer 61. The editor controls 60 also include a pixel selector window control 64 that is operated through a selection menu window 59 (FIGURE 5B) and provides the operator with options for limiting or providing boundaries on the extent to which the image stored in the buffer 61 is to be subjected to color and other edit actions. In the preferred embodiment, the optional selectors include: a. Brush. b. Freehand. c. Rectangle. d. Polygon. e. Color key. f. Automatic object selector. Once a pixel selector is chosen by the operator, color editing of the image is limited to pixels defined by the chosen selector. An editor window control 66 implements various editorial operations selected by the operator from an editor menu window 63 (FIGURE 5A). In the preferred embodiment, editorial operations or user procedures that can be selected include: a. TV color. b. Line art. c. Image color. d. Hi-light. e. Rotate. f. Crop. g. Scale. h. Filter. In many of the user procedures, operator selections in an active box in the editor menu window are implemented in real time on the image in the image window. In other cases, operator selections are displayed in a separate box in the editor menu window and then implemented on the image in the image window upon operator command. In the various edit operations, color modifications are implemented through the color lookup bank 47 as indicated in FIGURE 4. Thus, any single original color selected for change to a selected new color, in accordance with a particular edit operation, is changed to the new color by modifying the R, G, B values in the lookup register for the original color and storing the modified values in a work lookup register bank. When the image is thereafter displayed in the image window, any screen pixels in the image, or within selected limits of the image, that have the specified single original color are automatically assigned the modified color in the work register. Multiple color modifications in a single edit operation are simultaneously implemented in the manner described for the single color modification. An analyzer window control 68 enables the operator to employ the computer to provide image analysis. For example, the operator may request: get pixel color or provide histogram. Once an edited image becomes acceptable to the operator, it is saved by actuating a save selector and implementing appropriate save procedures. The system can then be cleared to its initialized state and a new image may be called from storage for editing. AUTOMATIC OBJECT SELECTION Automatic object selection means operates within the image editing system to provide better image editing with improved system productivity. The automatic object selection (AOS) means is provided as the automatic object selector in the selector window control 64 in FIGURE 4 and the operator input control system 52. Object selection limits the extent to which edit operations change the stored image, i.e., the image pixels to be edited are limited. In the prior art, object selection procedures have typically been very slow, and often painfully slow. Editing difficulty has arisen as a result of the inability or difficulty of adapting available object defining criteria to achieve fast and effective selection of actual objects during edit operations. As previously indicated, intelligent algorithms have been used to provide some automation in object selection, but improvements have been very limited because of selection criteria limitations coupled with the great variability of raster images. This embodiment of the present invention achieves better image editing with higher productivity first by developing object search criteria in real time as a function of image context and thereafter implementing the object search in accordance with the developed criteria. In effect, these mechanized operations produce fast, generally accurate and automatic object selection for significantly improved image editing. A mouse is employed to provide interactive editing control for the system operator. Path data is collected during click-and-drag mouse operation, and statistical image color data is retrieved from a buffered image as a function of the path data. When the mouse button is released, an object selection model is developed from a statistical analysis of the retrieved data. The model may include one or more selection criteria. As one general example, the basic image color data used for model determination may be red, green and blue color channels. After a mouse drag and release, the statistical output may be (values defined relative to 1-byte storage): CHANNEL AVERAGE VALUE STANDARD DEVIATION 1.)red 145 3.2 2.)green 25 23.5 3.)blue 200 5.5 In this case, the standard deviation of the green channel is excessive. The search model accordingly is defined so that the object is selected through the red and blue channels. With standard statistical analysis, the search model can be structured to accept image color data as selected object data if the color data falls within the average value plus or minus 2 Sigma for the red and blue channels. As another example, the image color data used for model determination may be defined to be multiple color descriptors such as hue, saturation and luminance. After a mouse drag and release, the statistical output may be: CHANNEL AVERAGE VALUE STANDARD DEVIATION 1.) Hue 145 0 2.) Sat 25 0 3.) Lum 200 0 n.) --- --- --- In this case, the search model is represented by the value averages for all three of the color data channels. The search then is conducted with statistical analysis as previously described. Various basic color variables or color descriptor variables may be used to structure the search model. Hue, saturation, and luminance constitute one set of color descriptors (or color space) that has been found from experience to optimize the effectiveness of automatic object selection. Accordingly, hue, saturation, and luminance channels are the color data channels that are preferably used. In FIGURE 6A, there is shown a flow chart illustrating a programmed procedure preferred for the automatic object selector (AOS) included in the selector window control 64 (FIGURE 4). After the operator makes a selector request, the selector control window is opened and the AOS selector can then be called. After the operator selects the AOS in block 72, the mouse is clicked and dragged to define a mouse path across a displayed image in the image display window, so that the mouse path defines a desired object as indicated by block 74. In functional block 76, X and Y mouse position data is captured at successive points along the mouse path, and conventional interpolation calculations are used to provide position data for the entire mouse path. Next, color data is gathered in block 78 from the image buffer 61 for pixels along the mouse path. Generally, the pixels from which data is gathered are preferably located in a pixel band having a width of pixels and extending along the mouse path. In this embodiment, the pixel band is 10 pixels wide, with 5 pixels on each side of the mouse path. In effect, the collected data constitutes a color map of the object with its nearby context, as defined by the mouse path. Means are employed to make a statistical analysis of the map data to distinguish the object from its context. Generally, a desired object is automatically selected if the object is visibly distinguishable from its context in the displayed image. The gathered data is determined from red, green and blue values for each feedback pixel specified in the image buffer 61. Thus, hue (H), saturation (S) and luminance (L) values are calculated from the R, G, and B values for use in the preferred structuring of the object color search model for the reasons previously described. Basically, hue corresponds to color, saturation corresponds to color purity (amount of gray combined with the color), and luminance corresponds to the combination of brightness and contrast. Once the mouse is released in block 80, the captured image data is analyzed by analysis means in block 82. The analysis means preferably operates on the basis of statistical principles. A histogram based on the color search model is created from the captured image data. An illustrative histogram 81 is shown in FIGURE 7. The histogram 81 has three components, one for each of three color data channels L, H, and S in the object search model. L, H and S are the preferred luminance, hue, and saturation color descriptors. Each histogram component is a plot of the frequency of values of the color descriptor against the range of values for the descriptor. Thus, L and S values are plotted against a range of color values from 0 to 255 which defines the full original color range. Hue values are plotted against an angle range from -180 to +180, since hue is graphically represented in the system by a circle within which hue continuously varies about the circle as a function of angle. It is noteworthy that the hue channel contains two sharp nodes 81a and 81b. The reason for this is that the dragged image area included a red flower (node 81a) and a yellow flower (node 81b). With reference again to FIGURE 6A, the histogram is decomposed in block 84 into one or more nodes for each color data channel in the color search model. Each identified node in each histogram channel is interpolated to its boundaries with the use of conventional interpolation calculation procedures. A search controller is then developed in block 86 to define one or more criteria under which the object search is to be conducted. Each criterion corresponds to a program selected color variable or to a user specification. The term "variable" herein refers to either basic color values (such as R,G and B) or to a color descriptor. As previously indicated, a color descriptor is a variable that is computed from basic color values Color descriptors typically represent more visible attributes of an image as basic color values are changed in the image. The procedure 86 for developing the search controller is broken into greater detail in FIGURE 6B. Thus, tests are first run to determine whether a user specification or special criteria apply to the current search, and, if so, block 87 records the user specified criteria or the special criteria as the applicable criteria for the object search, i.e., as the controller of the object search. Block 88 tests for user specified criteria and blocks 89-91 respectively test for synthetic or solid color, luminance or gray scale image only, and data in only one color data channel in the search model. If no special or user criteria apply, block 92 sorts the color data channels by range of standard deviation. Channels below a preselected threshold standard deviation are excluded as unuseable. Block 93 then detects whether one or more usable channels are available for the object search. If so, the usable channels are set as the search control channels in block 94. If not, block 95 sets the hue channel as the search channel. Once the search controller is defined by the block 86, the image is searched in accordance with the boundaries or constraints imposed by the search controller, and specifically in accordance with each node in each color data channel selected for the search model (block 96). Generally, the search is made histogram component-by-histogram component and node-by-node. The searching tool may be a conventional search algorithm such as a scan line seed fill algorithm. Reference is made to a textbook entitled "PROCEDURAL ELEMENTS FOR COMPUTER GRAPHICS" published by McGraw-Hill Book Company and authored by David F. Rogers for more information on search algorithms. In block 98, results of multiple channel searches are added to define the object found in the search. After the search results are completed, the identified object in the image may be edited apart from the rest of the image through operation of the editor window control 66.

Claims: An automatic object selector for an image processing system in which color data is stored for pixels of an image to be displayed on a screen for editing, said selector comprising: means for detecting pixel position data corresponding to operator designated path on said screen while displaying the image; means for determining in real time one or more criteria for a search controller as a function of the stored pixel color data for pixels along the screen path; search controller means for searching the image pixels to identify a displayed object and its boundaries within the image in accordance with the search controller criteria; and means for applying color edit actions to the identified object within the image. An automatic object selector as claimed in claim 1, wherein said criteria determining means includes: means for determining one or more color data variables from the stored pixel color data for pixels along the screen path; and means for determining said criteria for the search controller at least as a function of the determined color data variables. An automatic object selector as claimed in claim 1 or claim 2, wherein: the stored pixel color data are values for preselected basic colors; said criteria determining means includes means for determining, in respective multiple data channels, values for preselected multiple color descriptor variables from the detected basic color data values; and the available search criteria, from which the one or more selected search criteria are determined, include respective criteria based on the respective color descriptor variable channels. An automatic object selector as claimed in claim 3, wherein said search criteria determining means includes means for statistically analyzing said stored pixel color data in accordance with predetermined statistical principles to select as said search criteria a portion or portions of said stored color pixel data that will most likely provide effective automatic identification of said object. An automatic object selector as claimed in claim 4, wherein: said statistical analyzing means generates a histogram that functionally relates frequency of color data to color data values; and said histogram includes a component histogram for each color descriptor variable channel. An automatic object selector as claimed in claim 5, wherein: said search criteria determining means includes means for sorting color descriptor channels by range of standard deviation and for excluding as unusable those channels having a standard deviation below a preselected threshold value; and said search criteria determining means selects for use as search criteria those channels having a standard deviation above said threshold value. An automatic object selector as claimed in claim 4, wherein: said statistical analyzing means generates a histogram that functionally relates frequency of color data to color data values; and each selected color data portion is a node of said histogram. An image editor for an image processing system, said editor comprising: means for storing pixel color data for an image to be edited; means for displaying the stored image on a monitor screen; means for designating a screen path that identifies an object in the image; and an automatic object selector as claimed in any one of the preceding claims An image editor as claimed in claim 8, wherein said storing means includes: a color lookup register bank in which respective registers contain respective color values for respective colors in a preselected color set where each color value is defined by a set of values for preselected basic color components; a pixel buffer in which the color of each image pixel is stored as a lookup register value; and wherein said color edit applying means includes: means for implementing color edit actions by modifying stored color values for lookup registers containing original colors changed by edit action; and means for selecting image buffer pixels corresponding to the identified object for application of edit actions. An image editor as claimed in claim 8 or claim 9, wherein: means are provided for managing a window structure on said screen with said window structure including a window for said image and a menu window for predetermined selectors applicable to said image; said predetermined selectors include the automatic object selector; and said designating means is employed to select the automatic object selector when it is desired to apply edit actions only to an object within said image. A process for editing images in an image processing system, the steps of said process comprising: storing color data for pixels of an image to be edited; displaying the stored image on a monitor; designating a screen path that identifies an object in the image; detecting pixel position data corresponding to the screen path; determining in real time at least one criterion for controlling an object search as a function of the stored pixel color data for pixels along the screen path; searching the image pixels to identify the object and its boundaries in accordance with the search control criteria; and applying color edit actions to the identified object image within the image. A process as claimed in claim 11,wherein: the stored pixel color data are values for preselected basic colors; and wherein said search criteria determining step includes: selecting values for preselected multiple color descriptor variables from the detected basic color data values; and using said color descriptor variable channels as available search criteria. A process as claimed in claim 11, wherein said search criteria determining step includes statistically analyzing the stored pixel color data in accordance with predetermined statistical principles to select as the search criteria a portion or portions of the stored pixel color data that most likely will provide effective automatic identification of the object. A process as claimed in claim 13, wherein said analyzing step includes generating a histogram that functionally relates frequency of color data to color data values with each color data portion being a node of said histogram.

Inventors: CAMPANELLI MICHAEL R, FAN ZHIGANG, VENABLE DENNIS L, CAMPANELLI, MICHAEL R., FAN, ZHIGANG, VENABLE, DENNIS L.
Applicants: XEROX CORP, XEROX CORPORATION
Application year: 1992
Main classification: G06F3
IPC codes: G06T11, G06F3, G06T5, H04N1