Abstract:
An image processing apparatus providing a halftoning process such as error diffusion prevents an image contour distortion, as follows: data in an image to be processed is used to partially extend the image to be processed. Then error diffusion or the like is employed to provide a halftoning process. The extension is removed to obtain image data. A dot generation delay can be prevented that would otherwise be introduced such as when an extension-free image is halftoned.

Description:
[0001]    This application is based on application No. 2000-154316 filed in Japan, the content of which is hereby incorporated by reference.  
         BACKGROUND OF THE INVENTION  
         [0002]    1. Field of the Invention  
           [0003]    The present invention relates generally to image processing apparatus and methods and recording media having an image processing program recorded therein and particularly to those provided to halftone image data to be processed.  
           [0004]    2. Description the Related Art  
           [0005]    An image processing apparatus has been conventionally known as providing a halftoning process such as error diffusion. Error diffusion allows an image to be generally reproduced with the tone of an input image while reducing the number of gray levels of dots configuring the image.  
           [0006]    [0006]FIG. 16 shows a specific example of an image input to an image processing apparatus. As shown in the figure, this image has a square contour, with a density low at the upper left portion and higher as it comes closer to the lower right portion.  
           [0007]    [0007]FIG. 17 shows a result of processing the FIG. 16 image through error diffusion. As is apparent from FIG. 17, the image has an upper left portion with a contour which should be pointed but in effect rounded. Thus the conventional technique disadvantageously introduces a contour distortion in an image particularly at a portion having a light color.  
         SUMMARY OF THE INVENTION  
         [0008]    The present invention has been made to overcome the aforementioned disadvantage and it contemplates an image processing apparatus, method and program capable of eliminating an image contour distortion.  
           [0009]    In order to achieve the above object the present invention in one aspect provides an image processing apparatus including: an extender extending at least one side of first image data outwardly of the first image data by a predetermined amount to produce second image data; a halftoner halftoning the second image data to produce third image data; and an extractor extracting from the third image data a portion corresponding to the first image data.  
           [0010]    The present invention in another aspect provides an image processing apparatus including: an extender extending at least one side of first image data outwardly of the first image data by a predetermined amount to produce second image data; and a halftoner halftoning the second image data and extracting only a portion corresponding to the first image data from the second image data halftoned.  
           [0011]    The present invention in still another aspect provides an image processing method comprising the steps of: extending at least one of first image data outwardly of the first image data by a predetermined amount to produce second image data; halftoning the second image data to produce third image data; and extracting from the third image data a portion corresponding to the first image data.  
           [0012]    The present invention in still another aspect provides an image processing program executing a method including the steps of: extending at least one side of first image data outwardly of the first image data by a predetermined amount to produce second image data; halftoning the second image data to produce third image data; and extracting from the third image data a portion corresponding to the first image data.  
           [0013]    The foregoing and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0014]    In the drawings:  
         [0015]    [0015]FIG. 1 is a block diagram showing a configuration of an image processing apparatus in a first embodiment of the present invention;  
         [0016]    [0016]FIG. 2 represents an image to be processed;  
         [0017]    [0017]FIG. 3 represents the FIG. 2 image with an extension added thereto;  
         [0018]    [0018]FIG. 4 represents a configuration of the FIG. 1 halftoning block  200 ;  
         [0019]    [0019]FIG. 5 is an illustration of an error propagation;  
         [0020]    [0020]FIG. 6 illustrates an error received by a single pixel;  
         [0021]    [0021]FIG. 7 is a view for illustrating a disadvantage of conventional art;  
         [0022]    [0022]FIG. 8 illustrates a process in the present embodiment;  
         [0023]    [0023]FIG. 9 is a flow chart representing a process in the first embodiment;  
         [0024]    [0024]FIG. 10 is a view for illustrating an effect of the first embodiment;  
         [0025]    [0025]FIG. 11 is a block diagram showing a portion of a configuration of an image processing apparatus in a second embodiment of the present invention;  
         [0026]    [0026]FIG. 12 is a diagram for illustrating a process provided by the FIG. 11 threshold calculation block  207 ;  
         [0027]    [0027]FIG. 13 is a view for illustrating an effect of the second embodiment;  
         [0028]    [0028]FIG. 14 shows a result of outputting an image when an approach against dot delay is simply taken;  
         [0029]    [0029]FIG. 15 is a block diagram showing a configuration of a computer executing a program of the present invention;  
         [0030]    [0030]FIG. 16 shows a specific example of image data to be processed; and  
         [0031]    [0031]FIG. 17 is a view for illustrating a disadvantage of a process in conventional error diffusion. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0032]    First Embodiment  
         [0033]    [0033]FIG. 1 is a block diagram showing a configuration of an image processing apparatus in a first embodiment of the present invention. With reference to the figure, the image processing apparatus includes an image extension block  100  extending at least a portion of image data input, a halftoning block  200  halftoning the extended image data, and a cutting block  300  cutting off the extension of the image data.  
         [0034]    Halftoning block  200  includes a subtracter  201  subtracting an error from the image data of a pixel to be processed (a target pixel), a thresholding block  205  thresholding the output of subtracter  201 , and a subtracter  203  subtracting the output of subtracter  201  from the result obtained at thresholding block  205 .  
         [0035]    [0035]FIG. 2 represents image data to be processed by the FIG. 1 image processing apparatus, i.e., input image data. With reference to the figure, the image data is configured of horizontally arranged M pixels multiplied by vertically arranged N pixels. Each pixel has a pixel value represented by a yx , wherein y represents a vertical position and x represents a horisontal position.  
         [0036]    With reference to FIG. 1, image extension block  100  provides a process of steps S 1 -S 13  to extend an image leftward, upper-leftward and upward.  
         [0037]    More specifically, initially at step S 1  image data of a 11  is read m times and thus output, wherein m represents the number of pixels extending the image horizontally.  
         [0038]    Then at step S 3  data of a 1x  are successively read, wherein x=1 to M. Steps S 1  and S 3  are repeated n times, wherein n represents the number of pixels extending the image vertically. Note that preferably m and n are both approximately several tens to approximately one hundred.  
         [0039]    Then steps S 11  and S 13  are repeated for y=1 to n.  
         [0040]    At step S 11 , data of a y1  is read m times. At step S 13 , data of a yx  are successively read, wherein x=1 to m.  
         [0041]    The FIG. 2 image data thus processed becomes an extended image data, as shown in FIG. 3. More specifically, the FIG. 2 image data has left, upper left and upper portions with new image data added thereto as an extension. The extension contains image data derived from the image data of an end of the input image data, as shown in the figure.  
         [0042]    The image data produced as shown in FIG. 3 is halftoned by the FIG. 1 halftoning block  200 . In the present embodiment a halftoning process is provided through such an error diffusion as shown in FIG. 4.  
         [0043]    More specifically, subtracter  201  subtracts from input data an error generated from a neighboring pixel and thereon is performed a thresholding operation. The difference between the result of the thresholding operation and the value before it is thresholded is provided as an error and sent to a neighboring pixel.  
         [0044]    As shown in FIG. 5, in the present embodiment an error calculated through processing a single pixel is sent to right, lower right, lower and lower left pixels for a total of four pixels. More specifically, as shown in FIG. 6, a single pixel receives errors from upper left, upper, upper right and left pixels for a total of four pixels.  
         [0045]    As such, with reference to FIG. 7, a pixel A, a pixel at which the process starts, does not receive any error from any pixels and a pixel B, a pixel in the uppermost row, only receives an error from a left pixel. Thus in an image pixels at left and upper ends receive an error smaller than should be received, as compared to other pixels. This prevents a normal halftoning process.  
         [0046]    Thus, in conventional art, dot generation is delayed for an original image particularly at a portion having a light color, disadvantageously resulting in a contour having a distortion inward, as shown in FIG. 17.  
         [0047]    Accordingly the present invention, as shown in FIG. 8, provides an image processing wherein an original image is partially extended, as shown at (C), and then halftoned as shown at (D) and then has an extension (an unnecessary portion) cut, as shown at (E).  
         [0048]    This can prevent a dot generation delay introduced for example when, as shown at (A), an image which is not extended is halftoned, as shown at (B).  
         [0049]    The FIG. 1 extension cutting block  300  cuts an image, as described hereinafter.  
         [0050]    At the FIG. 1 step S 21  initial, (m+M)×n image data are ignored. Then at step S 23  initial m image data are ignored and the subsequent M image data are output. Step S 23  is repeated until the image data ends.  
         [0051]    [0051]FIG. 9 is a flow chart representing an operation of the image processing apparatus in the present embodiment. Note that this flow chart may be executed by a program recorded in a recording medium, such as a CD-ROM, a RAM, a ROM, a hard disk or a floppy disk, as will be described hereinafter.  
         [0052]    With reference to FIG. 9, at step S 101  an image is extended and at step S 103  the extended image is halftoned. Then at step S 105  the extension is cut and an image to be output is produced.  
         [0053]    [0053]FIG. 10 shows a result of processing the same image as FIG. 15 in the image processing apparatus of the present embodiment. In the FIG. 10 example, image extension block  100  extends input image data by 200 pixels for the process.  
         [0054]    As is apparent from FIG. 10, in the present embodiment such an image contour distortion as shown in FIG. 17 can be eliminated.  
         [0055]    Second Embodiment  
         [0056]    A second embodiment provides an image processing apparatus having a threshhold value adapted to vary with an input to further alleviate dot delay to output a good image.  
         [0057]    More specifically in the second embodiment the FIG. 1 halftoning block  200  is replaced by a halftoning block shown in FIG. 11. As shown in FIG. 11, in the present embodiment, an input is referred to by a threshold calculation unit  207  to calculate a threshold value which is in turn used by thresholding block  205  to provide a thresholding operation.  
         [0058]    [0058]FIG. 12 is a diagram for illustrating a threshold value calculated by the FIG. 11 threshold calculation block  207 . As shown in the figure, threshold calculation block  207  outputs a threshold value in proportion to an input. More specifically, it outputs a threshold value having a relationship with an input, as represented by the following expression:  
         [0059]    Threshold value=0.8×input+0.1  
         [0060]    More specifically, for an input of 0, a threshold value of 0.1 is provided and for an input of 1 a threshold value of 0.9 is provided. With a threshold value varying with an input, dot delay can be alleviated to output a better image.  
         [0061]    [0061]FIG. 13 shows a result of processing an image in the present embodiment with a condition similar to that of the first embodiment as shown in FIG. 10.  
         [0062]    Furthermore, FIG. 14 shows a result of halftoning an image, as shown in FIG. 11, without extending the image. As is apparent from FIGS. 13 and 14, simply taking an approach against dot delay cannot prevent an image from still disadvantageously having an upper left portion with a distorted contour. By contrast, the approach against dot delay plus the image extension can maintain an image contour in a good condition, as shown in FIG. 13.  
         [0063]    Modification  
         [0064]    [0064]FIG. 15 is a block diagram showing a configuration of a computer executing a program of the present invention.  
         [0065]    With reference to the figure, the computer includes a CPU  601  generally controlling the apparatus, a printer  603 , a display  605 , a local area network (LAN) card or modem card  607  allowing a network connection, an external communication and the like, an input unit  609  configured for example of a keyboard, a mouse and the like, a floppy disk drive  611 , a CD-ROM drive  613 , a hard disk drive  615 , a RAM  617 , and a ROM  619 .  
         [0066]    The program represented in the FIG. 9 flow chart, for driving CPU (a computer)  601 , can be recorded in a floppy disk F, a CD-ROM  613   a,  or a similar recording medium. This program is sent from the recording medium to the RAM or any other recording medium and recorded therein. Note that the program may be recorded in a hard disk, a ROM, a RAM, a memory card or any other similar recording medium and thus provided to a user. Alternatively, it may be downloaded via the Internet from an external site or the like to a work station, a printer or the like and thus executed thereby.  
         [0067]    Note that while in the above embodiments a halftoning process is provided through error diffusion, it may alternatively be provided through the threshold diffusion as described in an application disclosing an invention achieved by the present inventors, U.S. application Ser. No. 09/399,180.  
         [0068]    Although the present invention has been described and illustrated in detail, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, the spirit and scope of the present invention being limited only by the terms of the appended claims.