Abstract:
A computerized method for controlling the density of pixels deposited by a print engine includes the steps of: (a) obtaining a two-dimensional pixel map of an image to be printed; (b) comparing a value of a first pixel element in the pixel map with values of pixel elements adjacent to the first pixel element in the pixel map; (c) changing the value of the first pixel element responsive to a determination, in the comparing step, that a predetermined number of pixel elements adjacent to the first pixel element have the same value as the first pixel element; and (d) dispatching the pixel map to a print engine. The comparing step (b) includes the steps of assigning like-value pixel elements immediately adjacent to the first pixel element a first weight, assigning like-value pixel elements diagonally adjacent to the first pixel element a second weight, different than the first weight, adding the assigned weights together to produce a total weight, and testing the weight against a predetermined threshold. The changing step includes the step of changing the value of the first pixel element if the total weight is equal to or greater than the predetermined threshold. Alternatively, the changing step is performed if all pixel elements immediately adjacent to the first pixel element have the same value of the first pixel element.

Description:
CROSS-REFERENCE TO RELATED APPLICATION(S) 
     The present application claims priority under 35 U.S.C. §119 from U.S. Provisional Patent Application Ser. No. 60/058,763, filed Sep. 12, 1997; the disclosure of which is incorporated herein by reference. 
    
    
     BACKGROUND OF THE INVENTION 
     The present invention relates to raster printer controllers for controlling print engines, and more particularly, to a computerized method operable on a raster printer controller for reducing pixel density in high pixel density areas of bitmaps before dispatching such bitmaps to the print engines. 
     Certain printing engines or marking engines utilize a non-impact printing technology known as magnetography. In magnetography a revolving metal drum is selectively magnetized by an array of small electromagnets to create a latent magnetic image on the drum. The drum is then exposed to magnetic toner particles which are retained by the magnetized image areas of the drum. The image is then transferred onto a substrate such as paper and subsequently fused thereto. Commercially available marking engines utilizing the magnetographic technology include the Nipson M700 and 7000 Series printers. A more detailed description of the magnetography process can be found in Nipson&#39;s web page, “http://www.nipson.com/magnetog.htm” 
     Single color (i.e., black and white) versions of such magnetographic printers receive bitmaps from printer controllers, and in turn, transfer the bitmaps to the paper utilizing the magnetographic process described above. Such bitmaps are generally two-dimensional arrays of binary digits, corresponding to two-dimensional arrays of pixels to be transferred to the printed page. A positive valued binary digit (“1”) in the bitmap corresponds to a solid-colored pixel in the printed image while a null valued binary digit (“0”) in the bitmap corresponds to a blank or clear pixel in the printed image. 
     One known problem with the magnetographic process is that the intensity of the magnetic domains that are created on the imaging drum is non-linear. Extremely dense areas in the image (areas in the image having a multitude of packed-together solid-color pixels) will often cause the magnetic toner to bleed over into surrounding, less dense, areas. Narrow bands of blank pixels surrounded by the dense areas of solid-color pixels are particularly sensitive to this bleed over effect. 
     Accordingly, there is a need for a means to reduce the density of solid-color pixels in high-density solid-color areas within a bitmap, prior to printing the image represented by the bitmap, to compensate for the non-linear behavior of the magnetographic marking engine. 
     DEFINITIONS 
     For the purposes of this disclosure, the following terms are defined as follows: 
     Pixel Map: a two-dimensional arrangement of elements, corresponding to a two-dimensional arrangement of pixels making up a printed image. Of course, a bitmap is an example of a pixel map. 
     Positive Valued Pixel Element: an element of a pixel map corresponding to a solid-colored pixel in the printed image. Typically represented by a binary “1” in a bitmap. 
     Null Valued Pixel Element: an element of a pixel map corresponding to a blank or clear pixel in the printed image. Typically represented by as a binary “0” in a bitmap. 
     SUMMARY OF THE INVENTION 
     The present invention provides a computerized method which compensates for the non-linear behavior of the magnetographic marking engines by reducing the density of solid-color pixels in high-density solid-color areas within an image. The method may be performed by the printer controller or by the marking engine itself, resulting in improved image quality. Preferably, the computerized method also preserves the less dense portions of the image. 
     In one embodiment of the present invention, a computerized method for controlling the density of pixels deposited by print a engine includes the steps of: (a) obtaining a two-dimensional pixel map of an image to be printed; (b) selecting a first positive valued pixel element in the pixel map; (c) changing the first pixel element to a null value if a predetermined number of pixel elements in the pixel map immediately adjacent to the first pixel element have a positive value; and (d) dispatching the pixel map to the print engine. 
     In a preferred embodiment of this method, the predetermined number of pixel elements in the pixel map immediately adjacent to the first pixel element having a positive value must equal four (corresponding to all of the immediately adjacent pixel elements). Preferably this method is performed for each pixel element in the pixel map prior to dispatching the pixel map to the print engine. Furthermore, in various embodiments of the present invention, borders of high density pixel areas need not be subjected to the above test. 
     In another embodiment of the present invention a computerized method for controlling the density of pixels deposited by a print engine includes the steps of: (a) obtaining a two-dimensional pixel map of an image to be printed; (b) selecting a first positive valued pixel element in the pixel map; (c) assigning positive value pixel elements in the pixel map immediately adjacent to the first pixel element a first weight; (d) assigning positive valued pixel elements in the pixel map diagonally adjacent to the first pixel element a second weight; (e) adding the assigned first and second weights together to produce a total weight; (f) changing the first pixel element to a null value if the total weight is equal to or greater than a predetermined threshold; and (g) dispatching the pixel map to the print engine. In a preferred embodiment, the weight to be applied to immediately adjacent positive pixel elements equals “5,” the weight applied to diagonally adjacent positive pixel elements equals “1,” and the threshold value equals either “16” or “17.” 
     Accordingly, it is an object of the present invention to provide a computerized method for reducing the density of positive valued pixels in high density areas prior to transmitting the pixel map to the marking engine. It is a further object of the present invention to preserve less dense portions of the image. 
     It is a further object of the present invention to provide a computerized method for controlling the density of pixels deposited by a print engine that comprises the steps of: (a) obtaining a two-dimensional pixel map of an image to be printed; (b) comparing the value of a first pixel element in the pixel map with values of pixel elements adjacent to the first pixel element in the pixel map; (c) changing the value of the first pixel element responsive to a determination, in the comparing step, that a predetermined number of the pixel elements adjacent to the first pixel element have the same value as the first pixel element; and (d) dispatching the pixel map to the print engine. 
     It is a further object of the present invention that the above changing step be performed responsive to a determination, in the comparing step, that all pixel elements immediately adjacent to the first pixel element have the same value as the first pixel element. 
     It is a further object of the present invention that the comparing step includes the steps of assigning pixel elements immediately adjacent to the first pixel element and having the same value as the first pixel element a first weight, assigning pixel elements diagonally adjacent to the first pixel element and having the same value as the first pixel element a second weight different than the first weight, adding the weights for the immediately adjacent and diagonally adjacent pixel elements to produce a total weight, and testing the total weight against a predetermined threshold; and where the changing steps include the step of changing the value of the first pixel element responsive to a determination, in the comparing step, that the total weight is equal to or greater than the predetermined threshold. 
     It is also an object of the present invention to provide a software program, stored on a memory device, configured to control a printer controller or a marking engine to perform the steps of: (a) obtaining a two-dimensional pixel map of an image to be printed; (b) preparing a value of a first pixel element in the pixel map with values of pixel elements adjacent to the first pixel element in the pixel map; and (c) changing the value of the first pixel element responsive to a determination, in the comparing step, that a predetermined number of pixel elements adjacent to the first pixel element have the same value as a first pixel element. 
     These and other objects and advantages of the present invention will be apparent from the following description, the attached drawings, and the appended claims. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram representation of a computer controlled printing system incorporating the present invention; 
     FIG. 2 is a representative illustration of a pixel map; 
     FIG. 3 is a flow diagram representation of a method of the present invention; 
     FIG. 4 is a schematic flow diagram representation of a method of the present invention; and 
     FIG. 5 is a flow diagram representation of another method of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     As shown in FIG. 1, an embodiment of a computer controlled printing system  10  incorporating the method and system of the present invention includes a network line, such as an ETHERNET line  12 , a high speed printer controller  14  coupled to the ETHERNET line  12 , an operator display terminal  16  coupled to the ETHERNET line  12 , and at least one host or peripheral computer  18  coupled to the ETHERNET line. The printer controller  14  is configured to receive page description language (“PDL”) files from the network. (e.g., transmitted from one of the computers  18 ) and converts the PDL files into bitmaps that are transmitted to one or more print engines  20 . The operator display terminal  16  preferably used a touch screen graphical user interface for allowing a person to control or monitor the operations of the printer controller  14 . For detailed description of a high-speed printer controller and printing system for use with the present invention, see U.S. Pat. Nos. 5,594,860, 5,729,665 and 5,740,338. 
     The printer controller  14  includes a processor  22  operatively coupled to a random access memory (“RAM”)  24 . The operations of the controller  14  are controlled according to a computer program resident within the RAM  24 . The processor  22  is also operatively coupled to a non-volatile memory  26  as is known to those of ordinary skill in the art. The non-volatile memory  26  may store a version of the program so that it can be downloaded into the RAM  24  upon booting up the controller  14 . For the purposes of the present invention, software embodying the computerized method of the present invention (described below) may be resident within a computer such as the printer controller  14 , or alternatively, resident within a memory device such as the RAM  24  or non-volatile memory  26 . Such a memory device may also take the form of any read-only memory (“ROM”) as is known to those of ordinary skill in the art. Examples of suitable ROM devices include CD ROM&#39;s, hard disks, floppy disks, EEPROM devices, flash memory devices, tapes and the like. 
     As shown in FIG. 2, a two-dimensional pixel map representation  28  of an image is generally a two-dimensional array of pixel elements. The pixel maps transferred to the printed page are typically arranged in a plurality of scan lines  30 , which are rows of the pixel elements. For the purposes of this disclosure, each pixel element P in a pixel map includes four immediately adjacent pixel elements  32 , and also includes four diagonally adjacent pixel elements  34 . 
     Referring FIG. 3, a first method for reducing the density of solid-colored areas (i.e., areas in a pixel map having a multitude of positive-valued pixel elements in close proximity to each other) within an image to compensate for the non-linear behavior of a marking engine is provided. A software program resident in RAM  24  of the printer controller  14  will be configured to control the printer controller  14  to perform the following steps: First, as shown in functional block  36 , a pixel map of an image is obtained. Because, in this particular embodiment, pixel elements on the borders of the pixel map will never be reset since at least one immediately adjacent pixel element will always have a null value, in functional block  38 , the first scan line of the pixel map is skipped. Advancing the functional block  40 , the next scan line is retrieved from the pixel map. In functional block  42 , the program determines whether or not the scan line retrieved from the pixel map is the last scan line, and if so, the method will be finished and the program will advance to functional block  44 . If, in functional block  42 , the program determines that the present scan line is not the last scan line in the pixel map, the program will advance to functional block  46 . In functional block  46 , the program will skip the first pixel element of the scan line, since the first pixel element in a scan line will be a border pixel element. Advancing to functional block  48 , the program will obtain the next pixel element in the scan line. In functional block  50 , the program will determine whether the present pixel element is the last pixel element in the scan line; and if so, will return to functional block  40  to retrieve the next scan line. If, in functional block  50  the program determines that the present pixel element is not the last pixel element in the scan line, the program will advance to functional block  52 . In functional block  52 , the program will test whether or not the present pixel element is a positive valued pixel element. If the present pixel element is not a positive valued pixel element, the program returns to functional block  48  to get the next pixel element in the scan line. However, if the present pixel element is a positive valued pixel element, the program advances to functional block  54 . In functional block  54 , the program will determine whether or not all of the immediately adjacent pixel elements are positive valued pixel elements. If not, the program returns to functional block  48  to get the next pixel in the scan line. However, if in functional block  54 , the program determines that all of the immediately adjacent pixel elements are positive valued pixel element, then the program advances to functional block  56  to reset the present pixel element to a null valued pixel element. From functional block  56 , the program returns to functional block  48  to retrieve the next pixel element in the scan line. 
     Accordingly, the program will retrieve one scan line at a time, skipping the top and bottom scan lines, and will test each of the pixel elements on the scan lines, skipping the end pixel elements, to determine whether or not to reset the pixel element from a positive valued pixel element (representing a solid colored pixel in the printed image) to a null valued pixel element (representing a blank or clear pixel in the printed image). 
     The following is an example of the operation of the first method described above. The notation for the example is as follows: “[A,B]” represents a pixel A on scan line B, and “X” represents a positive valued pixel element in the pixel map, and an “O” represents a null valued pixel element in the pixel map. 
     Given five scan lines of pixel elements which are mostly positive valued pixel elements except for a small strip of null valued pixel elements near the upper right side of the pixel map, represented as follows: 
     
       
         
               
               
               
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 0 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
               
               
                   
               
             
             
               
                 1 
                 X 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                 2 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 3 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 4 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 5 
                 X 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                   
               
             
          
         
       
     
     according to the above described method, for each pixel element, examine the immediately adjacent pixel elements, and if all four immediately adjacent pixel elements are positive valued, then reset the current pixel element to be a negative valued pixel element. According to the above method, the first and last scan lines are skipped, the first and last pixel elements in each scan line are skipped, and any null valued pixel element is skipped. Processing the second pixel element in the second scan line, positive valued pixel element [ 2 , 2 ], examine the immediately adjacent pixel elements [ 2 , 1 ], [ 3 , 2 ], [ 2 , 3 ], and [ 1 , 2 ]. Because all of the immediately adjacent pixel elements are positive valued, pixel element [ 2 ,  2 ] is then reset to a null valued pixel element. The following table represents the appearance of the example pixel map after the above steps: 
     
       
         
               
               
               
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 0 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
               
               
                   
               
             
             
               
                 1 
                 X 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                 2 
                 X 
                 ◯ 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 3 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 4 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 5 
                 X 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                   
               
             
          
         
       
     
     Next, processing pixel element [ 3 , 2 ], the immediately adjacent pixels are [ 3 , 1 ], [ 4 , 2 ], [ 2 , 2 ] and [ 3 , 3 ]. Because immediately adjacent pixel element [ 2 , 2 ] is now a null valued pixel element, the present positive valued pixel element [ 3 , 2 ] is left unchanged. Accordingly, the pixel map after this step remains as follows: 
     
       
         
               
               
               
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 0 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
               
               
                   
               
             
             
               
                 1 
                 X 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                 2 
                 X 
                 ◯ 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 3 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 4 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 5 
                 X 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                   
               
             
          
         
       
     
     Next, processing pixel element [ 4 , 2 ], the immediately adjacent pixel elements are [ 4 , 1 ], [ 5 , 2 ], [ 4 , 3 ], and [ 3 , 2 ]. Because all of these pixel immediately adjacent pixel elements are presently positive valued pixel elements, the present pixel element [ 4 , 2 ] is reset to a null valued pixel element. This results in the following appearance of the pixel map: 
     
       
         
               
               
               
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 0 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
               
               
                   
               
             
             
               
                 1 
                 X 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                 2 
                 X 
                 ◯ 
                 X 
                 ◯ 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 3 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 4 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 5 
                 X 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                   
               
             
          
         
       
     
     This process continues for all pixel elements on scan lines  2 - 5 , except for the first and last pixel elements. At the end of this process, as shown in the following resultant pixel map, only pixel elements [ 2 , 2 ], [ 4 , 2 ], [ 3 , 3 ], [ 2 , 4 ] and [ 4 , 4 ] have been reset to a null element: 
     
       
         
               
               
               
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 0 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
               
               
                   
               
             
             
               
                 1 
                 X 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                 2 
                 X 
                 ◯ 
                 X 
                 ◯ 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 3 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 4 
                 X 
                 ◯ 
                 X 
                 ◯ 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 5 
                 X 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                   
               
             
          
         
       
     
     As shown in FIG. 4, if the pixel map  28  is a bitmap having binary digits of “1” corresponding to solid-colored pixels and binary digits of “0” corresponding to blank pixels, a version of the first method described above can be implemented in hardware or software utilizing a shift-right register or step  58 , a shift-left register or step  60 , a logical AND device or step  62 , a logical NOT device or step  64 , and a logical AND device or step  65 . The shift-right register or step  58  and the shift-left register or step  60  are adapted to receive a scan line from the pixel map and respectively shift the scan line one digit right or left. 
     To process a particular pixel element P in the pixel map  28  using to the hardware or software scheme illustrated in FIG. 4 the following steps are performed: First, the scan line  66  containing the present pixel element P is sent through the shift-right register or step  58 , the result of which is sent to the AND device or step  62 ; the present scan line  56  is also sent through the shift-left register or step  60 , the result of which is sent to the AND device or step  62 ; the previous scan line  68  is sent to the AND device or step  62 ; and the subsequent scan line  70  is also sent to the AND device or step  62 . The logical AND device  62  will produce a resultant scan line  72 . Next, the pixel element P′ in the resultant scan line  72 , corresponding to the position of the present pixel element P in the present scan line  68  is sent through the NOT device or step  64 , the output of which is sent to the a input of the AND device or step  65 . The other input to the AND device or step  65  is the present pixel element P. Finally, the result of the AND device or step  65  is then inserted in place of the present pixel element P in the pixel map  28 . 
     Referring FIG. 5, a second method for reducing the density of solid-colored areas (i.e., areas in a pixel map having a multitude of positive-valued pixel elements in close proximity to each other) within an image to compensate for the non-linear behavior of a marking engine is provided. A software program resident in RAM  24  of the printer controller  14  will be configured to control the printer controller  14  to perform the following steps: First, in functional block  74 , the program will obtain the pixel map. Advancing to functional block  76 , the program will access the first scan line from the pixel map. Advancing to functional block  78 , the program will access the first pixel element in the scan line. Advancing to functional block  80 , the program will determine whether the present pixel element is a positive valued pixel element. If the present pixel element is a positive valued pixel element, the program will advance to functional block  82  and if the present pixel element is a null valued pixel element, the program will advance to functional block  84 . In functional block  82 , the program will apply a weight value of “5” to all positive valued pixel elements that are immediately adjacent to the present pixel element. Advancing to functional block  86 , the program will apply a weight value of “1” to all positive valued pixel elements diagonally adjacent to the present pixel element. Advancing to functional block  88 , the program will add together all of the weights applied to the immediately adjacent and diagonally adjacent pixel elements from steps  82  and  86  to determine the total weight. Advancing to functional block  90 , the program will compare the total weight computed in functional block  88  against a threshold value. If the total weight is greater or equal to the threshold value the program will advance to functional block  92 ; but if the total weight is not greater or equal to the threshold value the program will advance to functional block  84 . It has been found that threshold values of 16 or 17 appear to work well with the Nipson 700 print engine. However those of ordinary skill in the art will be able to experiment with other threshold values to determine which threshold value works best for the particular application. In functional block  92 , because the total weight calculated in functional block  88  is greater or equal to the threshold, the program will reset the present pixel element to a null valued pixel element and then advance to functional block  84 . In functional block  84 , the program will determine whether or not the present pixel element is at the end of the scan line. If not the program will advance to functional block  94  to obtain the next pixel element of the scan line and then will return to functional block  80 . If, in functional block  84 , the program determines that the present pixel element is at the end of the scan line, then the program will advance to functional block  96  to determine whether or not the present scan line is the last scan line. If the present scan line is not the last scan line then the program will advance to functional line  98  to get the next scan line in the pixel map, and from functional block  98  the program will return to functional block  78 . If, in functional block  96 , the program determines that the present scan line is the last scan line in the pixel map, then the method is completed and the program will advance to functional block  100 . Note that in this second method, the first and last scan lines, as well as the first and last pixel elements in each scan line, are not skipped. 
     The following is an example of the second method described in FIG. 5 performed on the same pixel map of the previous example, which is as follows: 
     
       
         
               
               
               
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 0 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
               
               
                   
               
             
             
               
                 1 
                 X 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                 2 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 3 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 4 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 5 
                 X 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                   
               
             
          
         
       
     
     In the present example, the threshold value is set at 16. Processing element [ 1 , 1 ], weights are applied and summed as shown in the following table: 
     
       
         
               
               
               
               
               
             
           
               
                   
                   
               
               
                   
                   
                   
                   
                 Weighted 
               
               
                   
                 Pixel Element 
                 Value 
                 Weight 
                 Value 
               
               
                   
                   
               
             
             
               
                   
                 [1,0] 
                 Null 
                 5 
                 0 
               
               
                   
                 [2,0] 
                 Null 
                 1 
                 0 
               
               
                   
                 [2,1] 
                 Positive 
                 5 
                 5 
               
               
                   
                 [2,2] 
                 Positive 
                 1 
                 1 
               
               
                   
                 [1,2] 
                 Positive 
                 5 
                 5 
               
               
                   
                 [0,2] 
                 Null 
                 1 
                 0 
               
               
                   
                 [0,1] 
                 Null 
                 5 
                 0 
               
               
                   
                 [0,0] 
                 Null 
                 1 
                 0 
               
               
                   
                   
                   
                 Weighted 
                 11  
               
               
                   
                   
                   
                 sum: 
               
               
                   
                   
               
             
          
         
       
     
     Using a threshold value of 16 would result in this pixel element remaining a positive valued pixel element. Processing the next pixel element in the scan line, pixel element [ 2 , 1 ], the weights are applied and summed as shown in the following table: 
     
       
         
               
               
               
               
               
             
           
               
                   
                   
               
               
                   
                   
                   
                   
                 Weighted 
               
               
                   
                 Pixel Element 
                 Value 
                 Weight 
                 Value 
               
               
                   
                   
               
             
             
               
                   
                 [2,0] 
                 Null 
                 5 
                 0 
               
               
                   
                 [3,0] 
                 Null 
                 1 
                 0 
               
               
                   
                 [3,1] 
                 Positive 
                 5 
                 5 
               
               
                   
                 [3,2] 
                 Positive 
                 1 
                 1 
               
               
                   
                 [2,2] 
                 Positive 
                 5 
                 5 
               
               
                   
                 [1,2] 
                 Positive 
                 1 
                 1 
               
               
                   
                 [1,1] 
                 Positive 
                 5 
                 5 
               
               
                   
                 [1,0] 
                 Null 
                 1 
                 0 
               
               
                   
                   
                   
                 Weighted 
                 17  
               
               
                   
                   
                   
                 sum: 
               
               
                   
                   
               
             
          
         
       
     
     Using a threshold value of 16 would result in this pixel element being reset to a null pixel element, which results in the following pixel map at this point: 
     
       
         
               
               
               
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 0 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
               
               
                   
               
             
             
               
                 1 
                 X 
                 ◯ 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                 2 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 3 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 4 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 5 
                 X 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                   
               
             
          
         
       
     
     Processing the remaining pixel elements in the first scan line, one by one, in the same manner results in the following pixel map: 
     
       
         
               
               
               
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 0 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
               
               
                   
               
             
             
               
                 1 
                 X 
                 ◯ 
                 X 
                 ◯ 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                 2 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 3 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 4 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 5 
                 X 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                   
               
             
          
         
       
     
     And finally, processing the remaining scan lines, one by one, in the same manner as the first scan line, results in the following pixel map: 
     
       
         
               
               
               
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 0 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
               
               
                   
               
             
             
               
                 1 
                 X 
                 ◯ 
                 X 
                 ◯ 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                 2 
                 ◯ 
                 X 
                 ◯ 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 3 
                 X 
                 ◯ 
                 X 
                 ◯ 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 4 
                 ◯ 
                 X 
                 ◯ 
                 X 
                 ◯ 
                 ◯ 
                 ◯ 
                 ◯ 
                 X 
               
               
                 5 
                 X 
                 X 
                 X 
                 X 
                 X 
                 X 
                 ◯ 
                 X 
                 X 
               
               
                   
               
             
          
         
       
     
     It is to be understood that modifications may be made to any of the above embodiments without departing from the scope of the present invention as defined by the following claims. For example, in any of the above methods, it is within the scope of the present invention process every 2 nd , 3 rd  or 4 th  pixel element in the scan line, rather than processing every pixel on a scan line. Likewise it is within the scope of the present invention to process every 2 nd , 3 rd  or 4 th  scan line as well.