A single pass marker enclosed area detection system and method for a photocopier

Abstract: A marker detection and thinning process for a photocopier which is executed during a single scan of a document and does not require a prescan of the document. The system realtime analyzes pixel image data, which is stored in a memory during the scanning process, to detect a marker line of a predetermined color and to thin the marker line. This analysis begins with image data stored in the memory that corresponds to a first pixel. The first pixel is associated with the scanline being presently scanned. It is determined if the image data of the first pixel represents a color that is equivalent to the predetermined color. Marker data is then stored in a buffer at a location corresponding to the first pixel if it is determined that the image data of the first pixel represents a color that is equivalent to a predetermined marker color. The data, stored in the buffer at a second pixel location, is analyzed. The second pixel is associated with a scanline that is prior in time to the scanline of the first pixel. It is determined if the data at the second pixel location is marker data. Also, the data stored in pixel locations adjacent to the second pixel location is analyzed to determine if this data is marker data. The marker data at the second pixel location is eliminated if it is determined, upon examining data of pixel locations adjacent to the second pixel location, that the elimination of this marker data would maintain the connectivity of the marker line. However, the data at the second pixel location is maintained if it is determined that, upon examining the data of pixel locations adjacent to the second pixel location, the elimination of this marker data would cause disconnectivity of the marker line.

Description: The present invention is directed to a marker editing system for a photocopier. More specifically, the present invention is directed to a marker editing system which provides marker editing while using only a single pass in the image scanning process of a document. Conventional photocopiers have utilized a variety of marker editing features. These marker editing features allow a user to specify an area of the document with a color marker for special processing. In these systems, the photocopier detects an area enclosed by a marker and applies image processing steps to the pixels within the enclosed area specified by the user. These image processing steps could be, for example, deleting the image inside the color marker, changing the color of the image inside the color marker, highlighting the area inside the color marker, inserting graphical material or text within the color marker, or utilizing different image recognition processes upon the text within the color markers, using the color marker as a boundary for the processes. Although the conventional devices utilize a marker editing feature, most conventional devices require a prescanning of the document to detect the enclosed area or color marker. Marker editing can be accomplished in several steps. First, the color markers from the document are detected by analyzing pixels which represent the scanned image. In other words, the pixels representing a color marker are determined. Each non-marker pixel is then classified as either belonging to an interior or an exterior of the marker curve. For the interior pixels, the image can remain unchanged, or user specified color conversion or other image processing steps can be performed thereon. For the exterior pixels, the image can remain unchanged, or user specified color conversion or other image processing steps can be performed thereon. For the marker pixel itself, the image data associated with the marker pixel is replaced by a predetermined background value to erase the color marker from the output image. To detect the color marker pixels, for example, the RGB values of each pixel of the document being scanned can be analyzed directly. However, a preferred approach is to convert RGB image data into hue, chroma (saturation) and lightness (intensity) (L*C*h) data. By comparing the chroma value of a pixel against a minimum chroma value to determine that the pixel is a color pixel and the hue angle of the pixel against a window surrounding a known marker hue value h m , the color marker pixels can be readily identified. Figure 1 illustrates a polar coordinate diagram showing the boundary parameters of a possible target color. More specifically, if the chroma and hue values of the pixel fall within the shaded area of the polar coordinate diagram, the pixel is determined to be a marker pixel. If the chroma and hue values of the pixel fall outside the shaded area of Figure 1, the pixel is determined to be a non-marker pixel. It is noted that the hue window limits are h min = h m - dh and h max = h m + dh wherein dh is a half window. Hue windows are defined in the range from 0° to 360°. Moreover, the hue value of the pixel is normalized prior to this analysis such that if the hue value of the pixel is less than 0°, the normalized hue value of the pixel becomes equal to h m + 360°, and if the hue value of the pixel is greater than or equal to 360°, the normalized hue value of the pixel becomes equal to h m - 360°. This normalization process is repeated until the normalized hue value of the pixel is within the range of 0° to 360°. Figure 2 illustrates a method for the detection of a color marker. At step S1, the chroma value of the pixel is compared with the minimum chroma value C* min to determine if the chroma value is greater than the minimum chroma value C* min . If the chroma value of the pixel is not greater than the minimum chroma value C* min , the method determines that the pixel does not represent a color marker. However, if step S1 determines that the chroma value for the pixel is greater than the minimum chroma value C* min , step S2 determines whether h max is greater than h min for the hue window of the color marker. Step S2 takes into account a case where the hue window straddles the 0° line. In other words, if h min is greater than h max , the hue window is straddling the 0° line. If step S2 determines that the hue window is straddling the 0° line, step S4 further analyzes the hue value for the pixel to determine whether the pixel is a marker pixel. Step S4 determines whether the hue value for the pixel is less than h max or the hue value for the pixel is greater than h min . If step S4 makes a positive determination, the pixel is determined to be a marker pixel. However, if step S4 makes a negative determination, the pixel is determined to be a non-marker pixel, not a color marker. If the hue window does not straddle the 0° line, step S3 makes a determination of whether the hue value of the pixel is within the hue window. More specifically, step S3 determines whether the hue value of the pixel is greater than h min and less than h max . If step S3 makes a positive determination, the pixel is determined to be a color marker pixel. However, if step S3 makes a negative determination, the pixel is determined to be a non-marker pixel, not a color marker pixel. Since several markers of distinct colors can be used to mark a document, the hue of each pixel has to be checked against each marker's hue window. The result of this analysis and classification for the "j" pixel and the "i" scanline are stored in an integer array with the value set to zero for a non-marker pixel and 1 to "n" for a pixel representing one of the "n" marker colors. Once the marker pixels are identified, the pixels that are inside the marker or markers need to be identified. Techniques such as region growing and crossing counts can be used to determine which pixels are inside the marker or markers. Region growing determines which region a pixel belongs by examining its immediate neighbors in the current and previous scan line. Region growing can be utilized to analyze a convex shaped enclosed area. This process can also work for a general shape in a two pass marker editing system with the sorting and merging of different regions being done between the two passes. The border crossing count technique is also well known in computer graphics for raster scan conversion of a filled polygon. A horizontal line is drawn to the left from the pixel and the number of crossings along the line with the polygon edges are counted, excluding the crossings of a horizontal edge or a vertex that is a local minimum or maximum in the vertical coordinate. If the number of crossings is odd, the pixel is determined to be inside the enclosed marker area. On the other hand, if the number of crossings is even, the pixel is determined to be outside of the enclosed marker area. One problem with utilizing this approach is that a typical marker trace is considerably wider than a pixel and a fairly large window is needed to discern the up and down characteristics of the marker border. A typical marker could be as large as 1mm thick. This would correspond to 16 pixels at a resolution of 400 spi (spots per inch). In order to effectively utilize a cross counting approach, a thinning step of the marker trace is required. Conventional methods for thinning use repeated applications of a logic operation upon a stored bit map to obtain the skeleton of the marker trace. This technique requires the prescanning of the document in conventional copiers. US-A-5,041,919 to Yamamoto et al., issued August 20, 1991, discloses an image processing apparatus which utilizes a marker editing system to identify the area on a document for separate image processing. In this device, Yamamoto et al. disclose that two separate scannings of the document are required to identify the area outlined by the marker. US-A-5,142,355 to Fujima, issued August 25, 1992, discloses a marker editing system for use in an image processing apparatus. More specifically, Fujima discloses that prior to the main scanning of the document, a marker scan or a closed area scan is performed. This way, marker image or closed frame image data can be preliminary stored in a plane memory prior to the copying or image processing of a main scanning operation. EP-A-0357407 describes a copier in which thin out processing is carried out in the main scanning direction and based on the chromatic relationship between pixels in a neighbourhood. There is a need to provide a marker editing process which is capable of being implemented during the single pass of the document. More specifically, the marker editing process needs to be carried out, in realtime, during the actual photocopying process. The two scanning requirements to implement a marker editing function retards any increase or improvements realized in speed realized by other components in a copier system. Therefore, it is desirable that the marker editing function be carried out during the single pass of the document to enable a true increase in the processing speed of the photocopier system. Also, there is a need to provide a marker editing process which is capable of being implemented during the single pass of the document that does not place additional burdens upon the operator to be overly precise when the marking a region. In other words, the marker editing system must be able to overcome common deficiencies in the operator's marking process, while maintaining the necessary speed to enable processing of the information during the real scan time of a document. In accordance with one aspect of the present invention, a color copier for processing marker data during a single pass scanning of a document comprises: scanning means for scanning the document using a single pass scanning operation and for generating image and marker data therefrom, the marker data representing a marker line; marker data buffer means for buffering the marker data; first analyzing means, operatively connected to said marker data buffer means, for analyzing that data; and thinning means for selectively thinning the data and is characterized in that the first analyzing means analyzes during the single pass scanning operation of said scanning means, the buffered marker data associated with pixels adjacent to a first pixel, the first pixel being a pixel in a first scanline, the first scanline having been scanned prior in time to a second scanline, said second scanline being presently scanned in the single pass scanning operation by said scanning means; and in that the copier further comprises determining means, responsive to said first analyzing means, for determining a connectivity relationship of a marker line, the connectivity relationship being between the first pixel and pixels adjacent to the first pixel, wherein the thinning means eliminates, during the single pass scanning operation of said scanning means, marker data in said marker data buffer means associated with the first pixel when said first analyzing means determines that elimination of the marker data associated with the first pixel is not required to maintain connectivity of the marker line; second analyzing means for analyzing marker data at a second pixel, the second pixel being a pixel in a third scanline, the third scanline being scanned prior in time to the first scanline, to determine if the marker data associated with the second pixel represents a crossover of the marker line; and flag means for establishing a marker/crossover flag value when said second analyzing means determines that the marker data of the second pixel represents a crossover of the marker line. In accordance with another aspect of the present invention, a method for analyzing, during a single pass scanning process, pixel image data stored in a memory to detect marker data of a predetermined color and to thin the marker data comprises: (a) buffering, during the single pass scanning process, marker data representing a marker line, in a buffer; (b) analyzing, during the single pass scanning process, buffered marker data associated with a first pixel, the first pixel being a pixel in a first scanline, the first scanline having been scanned prior in time to a scanline being presently scanned in the single pass scanning process, to determine if the data associated with the first pixel is marker data; (c) analyzing, during the single pass scanning process, marker data associated with pixels adjacent to the first pixel stored in the buffer in response to said step (b) determining that the buffered marker data associated with the first pixel represents the marker line; (d) eliminating, during the single pass scanning process, the buffered marker data associated with the first pixel in response to said step (c) determining that the elimination of the buffered marker data associated with the first pixel would maintain connectivity of the marker line; (e) analyzing marker data in the buffer associated with a second pixel, the second pixel being a pixel in a second scanline, the second scanline having been scanned prior in time to the first scanline, to determine if the marker data associated with the second pixel represents a crossover of the marker line; and (f) establishing a marker/crossover flag value representing a crossover of the marker line when said step (e) determines that the marker data associated with the second pixel represents a crossover of the marker line. The present invention provides a copier and method that enables the implementation of a marker editing function during the actual scanning of the document. The present invention also provides a specific thinning process which simplifies the marking editing function. A crossover detection function is provided which analyzes the thinned marker to determine the area enclosed by the marker in a more accurate fashion. The method preferably further comprises: (k) maintaining, during the single pass scanning process, the buffered marker data associated with the first pixel when said step (c) determines that the elimination of the buffered marker data associated with the first pixel would cause disconnectivity of the marker line. The method preferably further comprises the steps of: (g) analyzing the image data stored in the memory associated with a third pixel, the third pixel having been scanned subsequent in time to the second pixel and being in the second scanline, when the marker/crossover flag value is set, to determine if the image data associated with the third pixel represents a color equivalent to a predetermined source color; and (h) converting the image data of the third pixel to image data representing a destination color when said step (g) determines that the image data of the third pixel represents a color equivalent to a predetermined source color. The method preferably further comprises the steps of: (i) selecting a target source color and a corresponding target destination color; and (j) converting, electronically, the selected target source color into first, second, and third target source values representing a three-dimensional color space, the first target source value representing a source hue value, and converting, electronically, the selected target destination color into first, second, and third target destination values representing a same three-dimensional color space, the first target destination value representing a destination hue value; said step (g) including the substep of, (g1) determining if the first color value corresponds to the first target source value; said step (j) including the substeps of, (h1) receiving image data associated with the fourth pixel from the memory and converting, electronically, the image data into first, second, and third color values representing the same three-dimensional color space, the first color value representing a hue value, (h2) generating a second destination value using a first function when the second color value is in a range from the second source target value to a predetermined minimum second source value, (h3) generating a second destination value using a second function when the second color value is in a range from the second source target value to a predetermined maximum second source value, (h4) generating a third destination value using a third function when the third color value is in a range from the third target source value to a predetermined minimum third source value, (h5) generating the third destination value using a fourth function when the third color value is in a range from the third target source value to a predetermined maximum third source value, and (h6) generating output color data representing the destination color based on the first destination target value and the generated second and third destination values for the fourth pixel when said substep (g1) determines that the first color value corresponds to the first target source value. Preferably, the first function is a first straight line from the predetermined minimum second source value to the second target source value, the second function is a second straight line from the predetermined maximum second source value to the second target source value, the third function is a third straight line from the predetermined minimum third source value to the third target source value, and the fourth function is a fourth straight line from the predetermined maximum third source value to the third target source value. The method may further comprise the step of erasing the image data in the memory at the next pixel when the marker/crossover flag is set. The method may alternatively or additionally further comprise the step of inserting new image data in the memory at the next pixel when the marker/crossover flag is set. The method preferably further comprises the step of printing a colored hardcopy of the scanned document with at least one original color being printed as a destination color according to the color conversion of said step. Preferably, the thinning means maintains the data at the second pixel location in response to said second analyzing means determining that the elimination of the marker data of the second pixel location causes disconnectivity of the marker line. Preferably, the second analyzing means includes a memory which has prestored therein a look-up table representing relationships between the second pixel location and pixel locations adjacent therewith, the look-up table storing data indicating connectivity or disconnectivity. The copier preferably further comprises: third analyzing means for analyzing, when said marker/crossover flag value is set, the image data associated with a third pixel when said marker/crossover flag value is set, the third pixel being scanned subsequent in time to said second pixel and in the third scanline and for determining if the image data associated with the third pixel represents a color equivalent to a predetermined source color; color converting means for converting the image data of the third pixel to image data representing a destination color when said third analyzing means determines that the image data of the third pixel represents a color equivalent to the predetermined source color; printer means for producing a colored hardcopy of the scanned document with at least one original color being printed as a destination color according to said color converting means. The copier preferably further comprises: fourth analyzing means for analyzing the image data in the memory at a next pixel in the same scanline as the fourth pixel, when said marker/crossover flag is set, to determine if the image data associated with the next pixel location represents a color equivalent to a predetermined source color; and color converting means for converting the image data of the next pixel to image data representing a destination color in response to said fourth analyzing means determining that the image data of the next pixel location represents a color equivalent to a predetermined source color. The copier preferably further comprises: first input means for selecting a target source color and a destination color; first converting means for converting the inputted target source color to a source hue value, a source chroma reference value, and a source lightness reference value and for converting the inputted destination color to a destination hue value, a destination chroma reference value, and a destination lightness reference value; said color converting means including, converting means for converting the image data of the next pixel to a first hue value, a first chroma value, and a first lightness value, and comparing means for comparing the source hue value with the first hue value; said color converting means including, first table means for generating a first set of source/destination chroma values representing a source/destination chroma relationship for sources values in a range from the source chroma reference value to a minimum source chroma value using a first function, second table means for generating a second set of source/destination chroma values representing a source/destination chroma relationship for source values in a range from the source chroma reference value to a maximum source chroma value using a second function, third table means for generating a third set of values representing a source/destination lightness relationship for values in a range from the source lightness reference value to a minimum source lightness value using a third function, fourth table means for generating a fourth set of values representing a source/destination lightness relationship for values in a range from the source lightness reference value to a maximum source lightness value using a fourth function, chroma memory means for storing the first and second sets of values, lightness memory means for storing the third and fourth sets of values, chroma data generating means for selecting a destination chroma value associated with the source chroma value that corresponds to the first chroma value based on the source/destination chroma relationship stored in said chroma memory means when said comparing means determines that the first hue value corresponds to the source hue value, lightness data generating means for selecting a destination lightness value associated with the source lightness value that corresponds to the first lightness value based on the source/destination lightness relationship stored in said lightness memory means when said comparing means determines that the first hue value corresponds to the source hue value, and converting means for converting the destination hue value and the selected destination chroma and lightness values into new image data, representing the destination color, for the next pixel; said memory storing the new image data for the next pixel. Preferably, the first function is a first straight line from the predetermined minimum second source value to the second target source value, said second function is a second straight line from the predetermined maximum second source value to the second target source value, said third function is a third straight line from the predetermined minimum third source value to the third target source value, and said fourth function is a fourth straight line from the predetermined maximum third source value to the third target source value. The copier preferably further comprises: erasing means for erasing the image data in the memory at the next pixel when the marker/crossover flag is set and the fourth pixel location contains no marker data. The copier preferably further comprises: editing means for inserting new image data in the memory at the next pixel when the marker/crossover flag is set and the fourth pixel location contains no marker data. The copier preferably further comprises: stack means for storing a value representing the color of the marker when said thinning means maintains the data at the second pixel location; and tracking means for tracking a positional relationship between two or more color markers using the color values stored in said stack means. The copier preferably further comprises: printing means for printing a colored hardcopy of the scanned document with at least one original color being printed as a destination color according to said color converting means. Further objects and advantages of the present invention will become apparent from the following description of the various features of the present invention, in conjunction with the drawings, wherein: Figure 1 illustrates a polar coordinate diagram showing possible boundary parameters for detecting a color marker; Figure 2 shows a flowchart illustrating a conventional process for detecting a color marker; Figure 3 is a schematic elevational view of an exemplary color copier that utilizes the various aspects of the present invention; Figure 4 shows a circuit illustrating an example of an arrangement of CCD line sensors and corresponding video image processing circuitry; Figure 5 shows a block diagram illustrating one embodiment of the present invention; Figure 6 shows a block diagram illustrating an image processing system implementing the present invention; Figure 7 illustrates a chronological relationship between the various processes of the marker editing function of the present invention; Figures 8(A)-8(D) show examples of marker pixel patterns encountered in the thinning process of the present invention; Figure 9 shows a circuit diagram illustrating one embodiment of the present invention for thinning of marker pixels utilizing a look-up table; Figures 10(A)-10(F) show examples of thin marker patterns encountered by the crossover detection function of the present invention; Figure 11 shows a circuit diagram illustrating one embodiment of the present invention which detects the crossover of the marker trace; Figures 12(A)-12(E) illustrate other examples of thin marker patterns utilized in describing Figure 11; Figure 13 illustrates a flowchart for determining spans of exterior, thinned marker, and interior pixels; Figure 14 illustrates a flowchart for color editing of interior pixels; Figures 15(A)-15(D) illustrate an example showing the steps of marker detection in color editing; Figures 16(A) and 16(B) illustrate an example of marker editing with two color markers; Figures 17(A) and 17(B) illustrate an example of marker editing with image replacement; Figures 18(A) and 18(B) illustrate marker editing with image insertion; Figures 19(A) and 19(B) illustrate an example of marker editing with image deletion; Figure 20 illustrates an example of marker editing utilized with a character recognition process; Figure 21 illustrates a further example of marker editing utilized with a character recognition process; Figure 22 illustrates a flowchart showing a color conversion process for the present invention; and Figures 23(A) and 23(B) illustrate graphical representations of functional relationships between source chroma and lightness values and destination chroma and lightness values according to a preferred color conversion process for the present invention. In the following description, as well as in the drawings, like reference numerals represent devices or circuits or equivalent circuits which perform the same or equivalent functions. The present invention is applicable to a variety of photocopy machines, preferably color copy machines. With respect to a preferred embodiment of the present invention, an example of such a photocopier is described in US-A-5,014,123 to Imoto, issued May 7, 1991. The relevant features of the color copy machine of US-A-5,014,123 are illustrated in Figures 3, 4, and 6 of the present application. With respect to Figure 3, this illustrates the basic components of the color copying machine. For conciseness, a detailed description of the machine has been omitted from the present disclosure. Further information is disclosed with reference to Fig. 3 of USSN 08/117,591, a copy of which was filed with the present application. Figure 4 illustrates the video signal processing circuit of the present invention. This video signal processing circuit reads the original sheet in color in the form of the reflexive ratio signals for each color red, green, and blue by means of a CCD line sensor 226 and converts the reflexive ratio signals into digital values as density signals. For conciseness, a detailed description of the circuit has been omitted from the present disclosure. Further information is disclosed with reference to Fig. 4 of USSN 08/117,591, a copy of which was filed with the present application. Figure 5 illustrates a circuit diagram of one embodiment of the present invention which implements the marker editing functions described below with respect to Figure 7. In Figure 5, a scanner or other optical device receives the image data from the document being processed by the photocopier. This scanner 1 feeds the image data into an image data memory 2 which stores the image data for further processing. An image color analyzer 5 is also connected to the scanner 1 to determine if the data being outputted by the scanner 1 corresponds to a color marker. The result of the image color analysis carried out by the image color analyzer 5 is stored in a marker buffer 6 which is connected to a thinning circuit 8 that analyzes the data within the marker buffer, according to the preferred 3 pixel by 3 pixel window for marker thinning. The thinning circuit 8 processes the data within the marker buffer so as to eliminate all unnecessary marker data, thereby producing a skeletal trace of the marker. The marker buffer 6 is also connected to a crossing circuit 7 which analyzes the thinned marker data to determine which pixels are within the marker area and which pixels are outside the marker area. The thinned marker data in marker buffer 6 is fed into an image data processor 3 so as to convert the image data associated with the marker pixel to a predetermined background value. Moreover, the results of the crossing analysis carried out by the crossing circuit 7 are also inputted into the image data processor so that the image data processor 3 can carry out the proper image processing steps upon the image data within the marker area. Upon processing the image data received from the image data memory in response to the data received from the marker buffer 6 and the crossing circuit 7, the image data processor 3 outputs the finalized image data to an output device 4. The output device 4 can either store the image data, print the image data to produce a hard copy of the image, transmit the image data onto another device, or display the image data on the display screen. Figure 6 illustrates a block diagram showing an overall embodiment of the present invention which implements the features described above with respect to Figure 5. In Figure 6, a scanner or other optical device receives the image data from the document being processed by the photocopier. This scanner feeds the image data into a color space conversion circuit 110 which converts the RGB data into hue, chroma, and lightness data (L*C*h), for example. This hue, chroma, and lightness data is fed into an image data memory 2 which stores the image data for further processing and an area generator 120 which detects the area enclosed by the marker as described with respect to Figure 5. The area generator 120 also receives control signals from the user interface 36 which was fed along the enclosed area information into the image processing device 3. The information fed into the image processing device 3 from the area generator 120 is used to control the functions of the color conversion circuit 130, the highlighting circuit 150, image insertion circuit 160, and the character recognition circuit 180. If one of these circuits is supposed to process the image data being fed from the image memory 2, the data will be processed according to the control signals received the area generator 120. Otherwise, the circuit will allow the data from the memory to pass through without processing. Upon processing the image data received from the image data memory in response to the data received from the area generator 120, the image data processor 3 outputs the finalized image data to a printer 170 or a storage device 190, for example. The image data processor 3 can also output the finalized image data to a transmitter to transmit the image data to another device or to a display screen to display the image data. Figure 7 illustrates the chronological relationship between the scanning of the pixel, the marker thinning process of the present invention, and the crossing detection process of the present invention. With respect to Figure 7, the location, j = j0 in the fast scan direction and scan line i = 0 in the slow scan direction, shows the current pixel being scanned by the copy process. In Figure 7, the current scanline is labeled 0 and the previous scanlines (i) are labeled 1, 2, 3, etc. Also, with respect to Figure 7, it is assumed that the image is processed from the top to bottom and from left to right. However, if the image is processed differently, the chronological relationship of Figure 7 would remain the same, but the physical or spatial relationship would be changed to correspond to the new processing direction. Moreover, it is noted that Figure 7 includes Columns A and Columns B. With respect to Column A, the "i" values correspond to the "i" values utilized in determining a location in arrays MBUF and BUF which will be discussed later, whereas Column B illustrates the "i" values for arrays MFLAG, IFLAG, and XSTART which will also be discussed later. As illustrated in Figure 7, a dashed line represents the window for the marker thinning process. In the marker thinning process, the pixel located at j = j1 and i = 1 is the pixel under consideration for the thinning process. More specifically, the marker thinning process analyzes the pixels in the window for marker thinning to determine whether the pixel at j = j 1 and i = 1 can be removed or thinned out. It is noted that this window for marker thinning is centered on the scanline which is immediately prior in time to the scanline associated with the pixel being currently scanned. Thus, the present invention is able to carry out a thinning process during the actual scanning process of the document. Moreover, the locating of the central pixel of the thinning process on this scanline reduces the amount of memory required to process the marker data. Figure 7 also illustrates a dotted line which represents a window for the crossing detection. As with the marker thinning process, the crossing detection process analyzes all the pixels within the window for crossing detection to determine whether the pixel located at j2 and i = 2 represents a crossover of the thin marker. It is noted that the center of the window for the crossing detection is centered on a scanline immediately prior to the central scanline of the window for the marker thinning process. With respect to the present invention, the window for the marker thinning process must be centered on a scanline at least one scan line prior in time to the scanline being presently scanned in the slow scan direction. Moreover, the central scanline of the window for crossing detection must be at least one scanline prior in time to the central scanline of the window for marker thinning. This delay in the situating of the two windows is necessary to effectively analyze the data in the thinning process and in the crossing detection process. The actual thinning process of the present invention will now be described with respect to Figures 8(A)-8(D) and Figure 9. Figures 8(A)-8(D) illustrate examples of marker pixel patterns encountered in the thinning process. As discussed previously, the pixels surrounding the central pixel of the window for marker thinning are analyzed to determine whether the marker data associated with the center pixel can be eliminated or thinned out. The result of the marker detection of the j0-th pixel in scan line i = 0 is stored in an array MBUF[i][j] at MBUF[0][j0]. If a value within this array is 0, the pixel associated with the location is not a marker pixel. However, if a value within this array is non-zero, the pixel associated with the location is considered a marker wherein the non-zero value indicates which of one of many color markers that this pixel is associated therewith. If the value within the array is a marker pixel, the thinning process determines whether the pixel should be removed under certain conditions so that the marker curves can be properly thinned. The result of the thinning process can be stored in another array BUF[i][j]. The recursive thinning of the marker area utilized in the present invention can be realized for the pixel at i = 1 and j = j1 = (j0-2) as illustrated in Figure 7 by examining the contents of the array MBUF and the array BUF within a 3 pixel by 3 pixel window centered on the pixel (i = 1,j = j1). In the present invention, the array BUF is initially set to zero. If the value at MBUF[1][j1] is 0, indicating a non-marker pixel, the value in BUF[1][j1] remains zero. However, if the value at MBUF[1][j1] is not zero, indicating a marker pixel, and upon analysis of the values of the pixels surrounding this marker pixel it is determined that the removal of this marker pixel will not create disconnectivity between the pixels already processed and those pixels yet to be processed, the value at BUF[1][j1] is set to zero. However, if upon analyzing the pixel values in the neighborhood of the marker pixel in question indicates that the removal of this marker pixel will create disconnectivity between the pixels already processed and those pixels yet to be processed, the value at BUF[1][j1] is set to one. Figures 8(A)-8(D) illustrate various examples of marker pixel patterns that are encountered in a thinning process. More specifically, these Figures will be utilized to explain the thinning process and which pixels can be removed. For example, the center pixel in Figures 8(A) and 8(B) can be removed because the removal of these marker pixels will not create disconnectivity between the pixels already processed and those pixels yet to be processed. On the other hand, the center pixels in Figures 8(C) and 8(D) should be retained because the removal of these pixels will create disconnectivity between the pixels already processed and those pixels yet to be processed. It is noted that for all pixels associated with this scan line i = 2 and those pixels associated with the scanline i = 1 and j is less than j1, the thin results from the array BUF[i][j] can be used in producing the pattern for analysis. One implementation of this thinning process is illustrated in Figure 9. Figure 9 illustrates the circuit used to decide whether to remove the center pixel of the window for marker thinning. This circuit utilizes a look-up table with 256 addresses corresponding to all possible patterns of the 8 pixels which surrounds the central pixel within a 3 pixel by 3 pixel window. An example of the values for the look-up table are set forth below. With respect to the table set forth below, the column labeled 'IN' reflects the decimal value of the binary word inputted to the look-up table at ports 0-7. Upon receiving a binary word equivalent to the values listed in the IN column, the look-up table 85 outputs the binary bit value illustrated in the columns labeled 'OUT'. For example, if the inputs to the ports 0-7 represent the decimal value 1, the output from the look-up table 85 would be a 0. The output from the look-up table 85 is inputted into an AND gate 87 which produces the value to be stored in the array BUF at the location corresponding to the center pixel of the window for marker thinning, in this example, BUF[1][j1]. IN OUT IN OUT IN OUT IN OUT IN OUT IN OUT IN OUT IN OUT 0 0 32 0 64 0 96 0 128 0 160 1 192 0 224 0 1 0 33 1 65 1 97 1 129 1 161 1 193 1 225 1 2 0 34 1 66 1 98 1 130 1 162 1 194 1 226 1 3 0 35 1 67 1 99 1 131 1 163 1 195 1 227 1 4 0 36 1 68 1 100 1 132 1 164 1 196 1 228 1 5 1 37 1 69 1 101 1 133 1 165 1 197 1 229 1 6 0 38 1 70 1 102 1 134 1 166 1 198 1 230 1 7 0 39 1 71 1 103 1 135 1 167 1 199 1 231 1 8 0 40 0 72 0 104 0 136 1 168 1 200 0 232 0 9 0 41 0 73 0 105 0 137 1 169 1 201 0 233 0 10 0 42 0 74 0 106 0 138 1 170 1 202 0 234 0 11 0 43 0 75 0 107 0 139 1 171 1 203 0 235 0 12 1 44 1 76 1 108 1 140 1 172 1 204 1 236 1 13 1 45 1 77 1 109 1 141 1 173 1 205 1 237 1 14 0 46 0 78 0 110 0 142 1 174 1 206 0 238 0 15 0 47 0 79 0 111 0 143 1 175 1 207 0 239 0 16 0 48 1 80 0 112 0 144 0 176 1 208 0 240 0 17 1 49 1 81 1 113 1 145 1 177 1 209 1 241 1 18 0 50 1 82 0 114 0 146 0 178 1 210 0 242 0 19 0 51 1 83 0 115 0 147 0 179 1 211 0 243 0 20 0 52 1 84 0 116 0 148 0 180 1 212 0 244 0 21 1 53 1 85 1 117 1 149 1 181 1 213 1 245 1 22 0 54 1 86 0 118 0 150 0 182 1 214 0 246 0 23 0 55 1 87 0 119 0 151 0 183 1 215 0 247 0 24 1 56 1 88 0 120 0 152 1 184 1 216 0 248 0 25 1 57 1 89 0 121 0 153 1 185 1 217 0 249 0 26 0 58 0 90 0 122 0 154 0 186 0 218 0 250 0 27 0 59 0 91 0 123 0 155 0 187 0 219 0 251 0 28 1 60 1 92 0 124 0 156 1 188 1 220 0 252 0 29 1 61 1 93 0 125 0 157 1 189 1 221 0 253 0 30 0 62 0 94 0 126 0 158 0 190 0 222 0 254 0 31 0 63 0 95 0 127 0 159 0 191 0 223 0 255 0 Figure 9 also includes a plurality of comparators 81-84 and 86 which determine whether the data being received from the array MBUF is marker data or not. For example, if the data being received from the array MBUF at the center pixel of the window for marker thinning is not marker data, comparator 86 will output a low signal thus automatically causing the value in the array BUF at the central pixel to be set to 0. This operation is clearly illustrated in Figure 9. If the image is processed from left to right and from top to bottom, the recursive thinning tends to erode the marker to the right and to the bottom. However, such an erosion is overcome since the original marker pixels can be explicitly identified and excluded from being classified as interior pixels even though the original pixel could be inside or outside of the thinned marker trace. Once the marker curve has been thinned, the crossing of a scanline with the thin marker trace can be determined utilizing another 3 pixel by 3 pixel window as illustrated in Figure 7. More specifically, as illustrated in Figure 7, the center pixel of the window should be located on a scanline which is at least one scanline prior in time to the scanline having the central pixel for the window for marker thinning. In the example illustrated in Figure 7, the central pixel of the window for crossing detection is on scanline i = 2 in the slow scan direction and at location j =j2 = (j0-4) in the fast scan direction. By having the window located no nearer than this to the central pixel of the window for marker thinning, the pixels immediately surrounding the central pixel for the window for crossing detection will have already been thinned by the thinning process. Figures 10(A)-10(F) illustrate examples of thin marker patterns encountered when determining the crossing of the center scanline. Figures 10(A)-10(D) illustrate the examples of marker pixels that are either a peak, valley, or horizontal segment. In such instances, the examples illustrated in Figures 10(A)-10(D) are not be counted as a crossover of the marker. Figures 10(E) and 10(F) illustrate horizontal segments which represent a crossover of the marker line. Since the present invention is capable of recognizing a plurality of marker colors, wherein "N" is the actual number of marker colors, "N" number of flags are needed to indicate if a pixel is inside of any of the N color markers. These flags are stored in an array INSIDE[M] with M = 0 to N-1. The flags are all initialized to zero at the beginning of the scanline. Upon encountering a crossing of a color marker, the INSIDE flag will be toggled. For example, the INSIDE[N-1]FLAG will be toggled with each crossing of the Nth marker trace. Moreover, to keep track of the curvature of the marker trace, two additional flags are needed, UP and DOWN. These two additional flags, UP and DOWN, are used to keep track of the situation when a horizontal marker trace is encountered, as illustrated in Figures 10(C)-10(F). Figure 11 illustrates a logic circuit which can generate the crossing flags and the UP and DOWN flags. As illustrated in Figure 11, all the surrounding pixels are inputted into the logic circuit to determine whether the central pixel represents a crossing point and whether the crossing point corresponds to up or down situations. Moreover, Figures 12(A)-12(E) provide examples of pixel patterns which would produce positive output at the different locations labeled A-E, respectively, in Figure 11. For example, Figure 12(A) would give a positive output at location A of Figure 11. Figure 13 illustrates a flowchart for determining spans of exterior pixels, thinned marker pixels, and interior pixels. Each scanline is composed of spans of exterior pixels, thinned marker pixels, and interior pixels. Each span is characterized by two flags and a starting coordinate. A one bit flag, MFLAG[0][k], is used to indicate whether the span is composed of thinned marker pixels or not. The index 0 refers to the scanline i = 2 in Figure 7 and k is an index for each span. Another flag of N + 1 bits, IFLAG[0][k], indicates a span of interior or exterior pixels. A zero value in IFLAG indicates a span of pixels exterior to all of the marker loops. A value of m would indicate the span is an interior span of the m-th color marker. An integer array XSTART[0][k] is used to store the starting position of the k-th span in scan line i = 2. The status of the spans is determined at scanline location i=2 and j=j2 based on the INSIDE flag and the stored span information MFLAG[1][k], IFLAG[1][k], and XSTART[1][k] of the previous scanline at i = 3. The spans are determined on scan line i = 2, following the flowchart in Figure 13. It is assumed that a pixel status flag LAST, the span starting position XSTART[0][k0], and two span indices k0 and k1 are initialized to zero at the beginning of the scanline. The flag LAST stores the MFLAG of the previous pixel. Initially, step s10 determines if k1 is less than nk1 and XSTART[1][kt + 1]=j2. If this determination is positive, k1 is incremented, and the process proceeds to step s11. It is noted that this incrementation of k1 is the updating of the index k1 before it's use. That is, if k1 is less than nk1 and j2 is equal to XSTART[1][k1 + 1], k1 is incremented. The parameter nk1 is the number of spans in scan line i = 3 and XSTART[1][nk1] is set to the number of pixels at the end of a scanline. At step s11, the process determines if BUF[2][j2] is equal to one. If this is true, the process proceeds to step s12 to determine if LAST equals zero. If BUF[2][j2] is one and LAST is zero, a new thinned marker span has been encountered. At step s14, index k0 is incremented, MFLAG[0][k] and LAST are set to one, and XSTART[0][k] is set to the pixel index j2. The process then proceeds to step s16 where the crossing is checked. Also, if BUF[2][j2] is one and LAST is not zero, the process also proceeds to step s16 where the crossing is checked. If a crossing is detected at step s16, the appropriate INSIDE[m2] flag is toggled at step s18 and MBUF[2][j2]-1 is set to color index m2. To handle the case of one marker loop inside the other, a stack is needed to keep track of the inner most marker color. In Figure 13, a stack, MSTACK, is implemented as an array having the dimensions N and an index sp according to the next available element. The index sp is set to zero at the beginning of each scanline. If a marker crossing has occurred and step s20 determines that the appropriate INSIDE[m2] flag is off before toggling, the marker index m2 is put on the stack at step s24; i.e., MSTACK[sp] is set to m2 and sp is incremented. If a marker crossing has occurred, and step s20 determines that the appropriate INSIDE[m2] flag is on before toggling, this indicates the leaving of a loop of color M, and thus, at step s22 the stack pointer sp is decremented. If BUF[2][j2] is zero and step s13 determines that LAST is one, the beginning of a non-marker span has been indicated and the process proceeds to step s15. At step s15, k0 is incremented and MFLAG[0][k0] and LAST are set to zero, XSTART[0][k0] is set to pixel index j2, and the process proceeds to step s17. The IFLAG[0][k0] is set to m top + 1, if step s17 determines that the flag INSIDE[m top ] is set, where m top is a current marker color index, with a value from 0 to m-1, on the top of the stack. If INSIDE[m top ] is zero, IFLAG[0][k0] is set to zero at step s21, indicating an exterior span of pixel. For each non-marker pixel; i.e., BUF[2][j2] equals zero, the status of MFLAG[1][k1] is also checked in the previous scan line at step s23. If MFLAG[1][k1] is zero, indicating a connected non-marker span, IFLAG[0][k0] is set to IFLAG[1][K1] at step s25, overriding any previous value of IFLAG[0][k0]. The span status, MFLAG, IFLAG, and XSTART, provides the necessary information for identifying interior pixels. The user specified image processing or color conversion can then be performed upon the interior pixels in this scanline. This color editing process is illustrated by the flowchart of Figure 14. For the pixel at i = 3 and j =j2, step s50 determines if MBUF[3][j2] is not zero, indicating an original marker pixel. If the determination is true, at step s51, lightness, chroma and hue indicated by Lv, Cv and hv will be set to that of a predetermined background value indicated by L bkg , C bkg and h bkg . If MBUF[3][j2] is zero and step s52 determines that IFLAG[1][k1] is not zero, the pixel is inside a marker loop, and step s53 sets IFLAG[1][k1]-1 equal to color index m3, and the appropriate blanking, inverting, and color change operations are carried out. In Figure 14, the flag doBlank specifies erasing of all the interior pixels, and dolnvert specifies changing black to a background color and white to a color. The destination color, lightness, chroma and hue, specified for pixels inside the marker are set to index m3; i.e., Lv d [m3], Cv d [m3], and hv d [m3] are set to m3. The parameter LT is a specified threshold in lightness to separate the interior black pixel from the interior white pixel. As noted above, the information in the arrays contain span status. Once this span information is image processed with the image data, the span information can be deleted. Thus, the memory capacity of the arrays can be minimized when image processing the scanned image data concurrently with the establishment of span data. In other words, both the thinning process and the cross counting process may only require arrays having a capacity no greater than four scanlines of data. Moreover, it is noted that each marker color could be assigned individual single bit arrays for certain aspects of the data needing to be stored. With respect to the marker editing function of the present invention, the marker editing function is a function for performing editing work and processing work in an area surrounded by a marker. This function is applicable to documents, and consequently the original sheets are marked by various color markers. The images within the specified area outlined by the markers are processed according to the selected functions which may be selected by the soft buttons on the cathode ray tube or hard buttons on the panel next to the cathode ray tube. The areas other than the area surrounded by the color markers are most likely reproduced in their original form. With respect to the marker editing function described above, the specification of the area to be processed is specified by drawing a closed loop on the original sheet. This same procedure applies also to the specification of the area for processing in each of the editing functions mentioned below. Additionally, the area specified by the color marker can be displayed in an analogous figure in a bit map area on the cathode ray tube. In a black and red mode, the image inside the marker area is changed to red while the areas other than the area surrounded by the marker are rendered in black and red on the copy. This function is accompanied with trimming, masking, color mesh, and black to color functions. The trimming function works to copy only the image within the marked area and to erase the image position outside the marked area. The masking function works to erase the image within the marked area and to copy only the image position outside the marked area. The color mesh function places a specified color mesh pattern in the marked area and reproduces the image therein. The color of the color mesh can be selected from eight standard colors (the specified colors being determined in advance), eight registered colors (colors being preregistered by the user, a maximum of eight colors can be registered at the same time out of 16,700,000 available colors), or by the actual color of the marker. A mesh pattern can be selected out of four available patterns. The black to color function permits the reproduction of the image within the marked area on the copy to be reproduced in any specified color selected from eight standard colors, eight preregistered colors, or the color of the actual marker. Furthermore, it is possible also to use any combination of the basic copying functions, the additional functions, and the marker editing function to process the document in the desired fashion. Figures 15(A)-15(D) illustrate an example of a typical color conversion process utilizing the marker editing of the present invention. More specifically, Figure 15(A) illustrates an image that is colored blue and surrounded by a red marker. During the scanning of the image illustrated in Figure 15(A), the present invention carries out the marking editing technique discussed above. Figure 15(B) illustrates what the image would look like if only the data in the BUF array were printed. More specifically, Figure 15(B) illustrates the thinned marker line surrounding the original blue image. On the other hand, Figure 15(C) illustrates what the output of array XSTART would look like after the determination of which pixels are within the thinned marker area. Lastly, Figure 15(D) illustrates the image which is outputted from the process wherein the original blue image is converted to a red image. Figures 16(A) and 16(B) illustrate an example of processing two color markers with one color marker inside the other color marker. In this example, one color marker is red and the other color marker is blue. Figure 16(A) illustrates the marker edited original, and Figure 16(B) illustrates the outputted image. In this example, the white pixels inside the blue marker are changed to blue and the black pixels are changed to white. Moreover, the black pixels inside the red marker but outside the blue marker are changed to red. Thus, the word ABC is converted from a black type on a white background to a white type on a blue background and the black lines surrounding the word ABC are changed to red lines. Figures 17(A), 17(B), 18(A), 18(B), 19(A), 19(B), 20 and 21 illustrate various examples of image processing which can be easily carried out using the marking editing procedures of the present invention. For example, Figures 17(A) and 17(B) illustrate how the marker editing procedure of the present invention can be utilized to remove the image within the marker line and replace the image with a new image. In this example, the image of a box has been replaced with the image of a ball. Figures 18(A) and 18(B) illustrate how the marker editing procedure of the present invention can be utilized to insert image data, such as graphical representations or text data into the area outlined by the marker line. In this example, graphical data was inserted into the area enclosed by the marker line. With respect to Figures 19(A) and 19(B), the marker editing process of the present invention is used to delete image data from inside the marker line. The marker editing procedure of the present invention can also be utilized in assisting character recognition processes. More specifically, when analyzing a text that has characters of a different sizes or styles, a different color marker line can be used to enclose the different types of text such that the image recognition process can be modified or adjusted to easily handle the text being analyzed. For example, Figure 20 illustrates that the blue marker line encloses text having a certain size such that the image recognition process can adapt its algorithm to correspond to that particular size. Moreover, Figure 20 illustrates that a red marker line is used to enclose a text having a larger size than the text within the blue marker line such that when the image processing encounters this text, the image recognition algorithm can be readily adapted to correspond to this larger text. Lastly, Figure 20 illustrates the utilization of a green marker line to enclose text of a script or cursive nature. Again, the image processing device can utilize the marker editing process of the present invention to inform the image recognition process that the text now being received will be of a cursive or script nature and thus making the image recognition process more efficient. Figure 21 illustrates the use of a marker line in an image recognition process which would inform the image recognition process to ignore all data within the marking line because such data is graphical data and need not be analyzed for character recognition. Thus, the character recognition process can be carried out more effectively. An example of a color to color conversion process that can be implemented with the present invention is illustrated in Figure 22. The process of Figure 22 is carried out upon the pixel data within the thinned marker. First, it is determined at step s100 whether the incoming pixel value is a gray source. If the pixel value in question is a gray source, step s110 determines whether the pixel value has a chroma value less than the maximum chroma value(C* max ). If the chroma value of the pixel in question is not less than C* max , step s190 establishes the hue, chroma, and lightness values to remain unchanged in the pixel in question. However, if step s110 determines that the chroma value of the pixel in question is less than C* max , step s120 determines whether the lightness value of the pixel in questions is greater than a minimum lightness value (L* min ) and less than a maximum lightness value (L* max ). If this condition is not satisfied at step s120, the hue, chroma, and lightness values are established as described above with respect to step s190. If the lightness value of the pixel in question does satisfy the conditions of step s120, step s130 determines whether a gradation mode has been selected. If a gradation mode has been selected, step s200 establishes the hue and chroma values to be the destination hue and chroma values while allowing the lightness value to remain unchanged. On the other hand, if step s130 determines that no gradation mode has been selected, step s140 establishes the hue, chroma, and lightness values to be the destination hue, chroma, and lightness values, respectively. On the other hand, if step s100 determines that the source is not a gray source, step s150 determines whether the maximum hue value (h max )of the hue window is greater than or equal to the minimum hue value (h min ) for the hue window. If h max is greater than h min , step s160 determines whether the hue value of the pixel in question is greater than h min of the hue window and less than h max of the hue window. If step s150 determines that h max for the hue window is not greater than h min for the hue window, step s170 determines whether the hue value for the pixel in question is greater than h min for the hue window or less than h max for the hue window. If the hue value of the pixel in question does not meet the condition of step s160 or the condition of step s170, the hue, chroma, and lightness values are established as discussed above with respect to step s190. However, if the hue value of the pixel in question meets the conditions of either step s160 or step s170, step s180 determines whether the chroma value of the pixel in question is greater than a minimum chroma value (C* min ). If step s180 determines that the chroma value of the pixel in question is not greater than C* min , the hue, chroma, and lightness values remain unchanged as discussed above with respect to step s190. On the other hand, if the chroma value of the pixel in question is greater than C* min , step s210 determines whether the destination color is a gray destination. If the destination color is a gray destination, step s220 determines whether a gradation mode has been selected. If a gradation mode has been selected, step s300 establishes the hue value as being undefined, the chroma value as being equal to zero, and allows the lightness value to remain unchanged. However, if step s220 determines that no gradation has been selected, step s230 establishes the hue value as being undefined, the chroma value as zero, and the lightness value as being equal to the destination lightness value. On the other hand, if step s210 determines that the destination color is not a gray destination, step s240 determines whether a gradation mode has been selected. If no gradation mode has been selected, step s340 establishes the hue value as the destination hue value, the chroma value as the destination chroma value, and the lightness value as the destination lightness value. However, if a gradation has been selected in step s240, step s390 establishes the hue value as the destination hue value, the chroma value as the destination chroma value, and the lightness value as the destination lightness value according to a predetermined functional relationship. The functional relationship between the chroma value of the pixel in question and the chroma value for the destination color can be realized in many ways. Also, the functional relationship between the lightness value of the pixel in question and the lightness value for the destination color can be realized in many ways. The functional relationship between the chroma and lightness values of the pixel in question and the destination chroma and lightness values may be mapped through the chroma and lightness values of the selected source color and the chroma and lightness values of the selected destination color. Such a mapping technique is represented by a "rubber band" transformation as illustrated in Figures 23(A) and 23(B). With respect to the "rubber band" transformation, the actual chroma and lightness values for the selected source color and the chroma and lightness values of the designated color are an integral part of the mapping function. In this embodiment, the actual chroma and lightness values for the selected source color are, initially, mapped directly to the chroma and lightness values of the designated color (point c). Using the mapping of the chroma values as an example, the mapping function of the "rubber band" transformation will be explained. The remaining chroma values, the chroma values other than the chroma values for the selected source and destination color, are mapped utilizing a first straight line (line a) connecting the point representing pure gray to the exact mapped point (c) and a second straight line (line b) connecting the exact mapped point (c) to the point representing a pure hue. In other words, the chroma values which are less than the chroma value of the selected source color (point c) are mapped according to a first function (line a), and the chroma values greater than the chroma value of the selected source color (point c) are mapped utilizing a second function (line b). In this way, the chroma values of the selected source and destination colors are integrated into the mapping function such that the actual mapping function is dependent upon these values. This mapping function is also equally applicable to the mapping of the lightness values. This transformation takes on the characteristics of a rubber band being originally extended between two points (in case of the chroma mapping, the two points are gray and pure hue) and which has been stretched to a third point (point (c), the point established by the chroma values of the selected source and destination colors) outside the original path of extension (the dotted line). By using this type of transformation to map the chroma and lightness values, the negative effects of different average chroma and lightness values for the source and destination colors in a color to color conversion process can be significantly reduced or effectively overcome. Figures 23(A) and 23(B) represents only two possibilities for implementing the "rubber band" transformation. More specifically, the apex (point c) of each transformation (function) could be below or above the dotted line. Also, the chroma and lightness values could be mapped using a nonlinear function. Moreover, the type of mapping for the individual values is interchangeable. Various modifications can be implemented: for example, the mapping functions, although only described in detail with respect to a few embodiments, may incorporate any type of function wherein the selected source chroma and lightness values and the selected destination chroma and lightness values are made an integral part of the functions; i.e., the functions are dependent upon these values. Moreover, the mapping can more sophisticated by having more than one selected source chroma value, selected source lightness value, selected destination chroma value, and selected destination lightness value. For example, the user may select two source colors of the same hue, thus, producing two selected source chroma values. In this example, the "rubber band" transformation would consist of three lines with respect to the mapping function. Therefore, the present invention is not limited to the selection of only one source color and one destination color having a same hue. Moreover, the present invention has been described in utilization with respect to digital copiers. However, the present invention can be utilized in any device which utilizes a marker editing system. More specifically, the marker editing system as described above could be utilized with respect to a display device and a light pen wherein the light pen could be used to markup an image on the display device with various color marker lines. Moreover, the present invention can be utilized in any marker editing system which requires a fast and efficient way of determining the enclosed marker area.

Claims: A color copier for processing marker data during a single pass scanning of a document, comprising: scanning means (1) for scanning the document using a single pass scanning operation and for generating image and marker data therefrom, the marker data representing a marker line; marker data buffer means (6) for buffering the marker data; first analyzing means (8), operatively connected to said marker data buffer means, for analyzing that data; and thinning means (8) for selectively thinning the data, characterized in that the first analyzing means analyzes during the single pass scanning operation of said scanning means, the buffered marker data associated with pixels adjacent to a first pixel, the first pixel being a pixel in a first scanline, the first scanline having been scanned prior in time to a second scanline, said second scanline being presently scanned in the single pass scanning operation by said scanning means; and in that the copier further comprises determining means (8), responsive to said first analyzing means, for determining a connectivity relationship of a marker line, the connectivity relationship being between the first pixel and pixels adjacent to the first pixel, wherein the thinning means eliminates, during the single pass scanning operation of said scanning means, marker data in said marker data buffer means associated with the first pixel when said first analyzing means determines that elimination of the marker data associated with the first pixel is not required to maintain connectivity of the marker line; second analyzing means (7) for analyzing marker data at a second pixel, the second pixel being a pixel in a third scanline, the third scanline being scanned prior in time to the first scanline, to determine if the marker data associated with the second pixel represents a crossover of the marker line; and flag means for establishing a marker/crossover flag value when said second analyzing means determines that the marker data of the second pixel represents a crossover of the marker line. The color copier as claimed in claim 1, wherein said thinning means (8) during the single pass scanning operation of said scanning means, maintains the marker data associated with the first pixel when said first analyzing means determines that maintaining of the marker data associated with the first pixel is required to maintain connectivity of the marker line. The color copier as claimed in claim 1 or claim 2, wherein said first analyzing means includes a memory (85) which has prestored therein a look-up table representing possible relationships between the first pixel and pixels adjacent thereto, the look-up table having data associated with each possible relationship indicating connectivity or disconnectivity. The color copier as claimed in any of claims 1 to 3, further comprising: third analyzing means (7) for analyzing, when said marker/crossover flag value is set, the image data associated with a third pixel when said marker/crossover flag value is set, the third pixel being scanned subsequent in time to said second pixel and in the third scanline and for determining if the image data associated with the third pixel represents a color equivalent to a predetermined source color; color converting means (3) for converting the image data of the third pixel to image data representing a destination color when said third analyzing means determines that the image data of the third pixel represents a color equivalent to the predetermined source color; and printer means (4) for producing a colored hardcopy of the scanned document with at least one original color being printed as a destination color according to said color converting means. A method for analyzing, during a single pass scanning process, pixel image data stored in a memory to detect marker data of a predetermined color and to thin the marker data, comprising the steps of: (a) buffering, during the single pass scanning process, marker data representing a marker line, in a buffer; (b) analyzing, during the single pass scanning process, buffered marker data associated with a first pixel, the first pixel being a pixel in a first scanline, the first scanline having been scanned prior in time to a scanline being presently scanned in the single pass scanning process, to determine if the data associated with the first pixel is marker data; (c) analyzing, during the single pass scanning process, marker data associated with pixels adjacent to the first pixel stored in the buffer in response to said step (b) determining that the buffered marker data associated with the first pixel represents the marker line; (d) eliminating, during the single pass scanning process, the buffered marker data associated with the first pixel in response to said step (c) determining that the elimination of the buffered marker data associated with the first pixel would maintain connectivity of the marker line; (e) analyzing marker data in the buffer associated with a second pixel, the second pixel being a pixel in a second scanline, the second scanline having been scanned prior in time to the first scanline, to determine if the marker data associated with the second pixel represents a crossover of the marker line; and (f) establishing a marker/crossover flag value representing a crossover of the marker line when said step (e) determines that the marker data associated with the second pixel represents a crossover of the marker line. The method as claimed in claim 5, further comprising the steps of: (g) analyzing the image data stored in the memory associated with a third pixel, the third pixel having been scanned subsequent in time to the second pixel and being in the second scanline, when the marker/crossover flag value is set, to determine if the image data associated with the third pixel represents a color equivalent to a predetermined source color; and (h) converting the image data of the third pixel to image data representing a destination color when said step (g) determines that the image data of the third pixel represents a color equivalent to a predetermined source color. The method as claimed in claim 6, further comprising the steps of: (i) selecting a target source color and a corresponding target destination color; and (j) converting, electronically, the selected target source color into first, second, and third target source values representing a three-dimensional color space, the first target source value representing a source hue value, and converting, electronically, the selected target destination color into first, second, and third target destination values representing a same three-dimensional color space, the first target destination value representing a destination hue value; said step (g) including the substep of, (g1) determining if the first color value corresponds to the first target source value; said step (h) including the substeps of, (h1) receiving image data associated with the fourth pixel from the memory and converting, electronically, the image data into first, second, and third color values representing the same three-dimensional color space, the first color value representing a hue value, (h2) generating a second destination value using a first function when the second color value is in a range from the second source target value to a predetermined minimum second source value, (h3) generating a second destination value using a second function when the second color value is in a range from the second source target value to a predetermined maximum second source value, (h4) generating a third destination value using a third function when the third color value is in a range from the third target source value to a predetermined minimum third source value, (h5) generating the third destination value using a fourth function when the third color value is in a range from the third target source value to a predetermined maximum third source value, and (h6) generating output color data representing the destination color based on the first destination target value and the generated second and third destination values for the fourth pixel when said substep (g1) determines that the first color value corresponds to the first target source value. The method as claimed in claim 7, wherein the first function is a first straight line from the predetermined minimum second source value to the second target source value, the second function is a second straight line from the predetermined maximum second source value to the second target source value, the third function is a third straight line from the predetermined minimum third source value to the third target source value, and the fourth function is a fourth straight line from the predetermined maximum third source value to the third target source value. The method as claimed in any of claims 5 to 8, further comprising the step of: (k) maintaining, during the single pass scanning process, the buffered marker data associated with the first pixel when said step (c) determines that the elimination of the buffered marker data associated with the first pixel would cause disconnectivity of the marker line. The method as claimed in any of claims 5 to 9, further comprising the steps of: (1) storing image data in the memory during the single pass scanning process. The method as claimed in any of claims 5 to 10, further comprising the step of: erasing the image data associated with the third pixel in the memory when the marker/crossover flag value is set. The method as claimed in any of claims 5 to 11, further comprising the step of: inserting new image data associated with the third pixel in the memory when the marker/crossover flag value is set. The method as claimed in any of claims 5 to 12, when dependent on claim 9, further comprising the steps of: storing a value representing the color of the marker data on a stack memory when said step (k) maintains the marker data associated with the first pixel; and tracking a positional relationship between two or more marker lines using the color values stored on the stack memory. The method as claimed in claim 6, further comprising the step of: printing a colored hardcopy of the scanned document with at least one original color being printed as a destination color according to the color conversion of said step (h).

Inventors: SHIAU JENG-NAN, SHIAU, JENG-NAN
Applicants: XEROX CORP, XEROX CORPORATION
Application year: 1994
Main classification: H04N1
IPC codes: H04N1, G06T1, G03G15