Image processing method and apparatus

Abstract: According to the present invention, when image data are subjected to a quantization processing by an error diffusion method, the generation of a striped pattern which is a cause for the deterioration of picture quality in the error diffu­ sion method is prevented. In the present invention, an original image is read and image data are generated. The image data obtained by reading the original image are quan­ tized by an error diffusion method, and the quantized image data are output and recorded by a thermal-head printer. Furthermore, according to the present invention, an er­ ror between the density of an input image and the density of an output image after subjected to a quantization processing by an error diffusion method is perfectly preserved. In an image processing apparatus for performing a quantization by dispersing an error between input image data and output image data when the input image data are quantized to image data of surrounding picture elements, an error between the input image data and the output image data is operated, the operated error is subjected to a predetermined weighing processing, the error subjected to the weighing processing is dispersed to surrounding picture elements, and a surplus of the error generated at the weighing processing is cor­ rected.

Description: BACKGROUND OF THE INVENTION 1. Field of the Invention This invention relates to an image processing method and apparatus for performing a quantization processing of image data, and more particularly, to an image processing method and apparatus for simulately reproduce a half-tone image. 2. Description of the Prior Art Heretofore, there has been an error diffusion method as an image processing method for reproducing a half-tone image by, for example, a binary image, in a digital copier, digital facsimile and the like. In this method, a difference in density for every picture element between the density of an image of an original document and the density of a binary-coded output image, that is, an error is operated, and the value of the error as a result of the operation is dispersed after performing a specific weighing to picture elements surrounding a picture element in question in accordance with coefficients of a weighing matrix. Since this method spatially clears an error which is a difference in density between an image of an original document and an output image, there is no limitation in the number of gradations due to the size of a matrix as in a dither processing which is another binary-coding method, and it is possible to perform a threshold processing which depends on the value of a picture element. Accordingly, the error diffusion method makes possible a compatability of gradation and resolution which is a problem in the dither processing. The error diffusion method has been presented in R. W. Floyd and L. Steinberg, "An Adaptive Algorithm for Spatial Gray Scale" SID75 Digest (1976). The expression of the error diffusion method is as follows. In the following expression, input data are assumed to be of 6 bits. D i,j = X i,j + (ΣΣα i+m, j+n ·E i+m,j+n )(1/Σα m,n ) Y i,j = 63 (D i,j ≧ T) Y i,j = 0 (D i,j < T), where D i,j : the density of a picture element (i,j) in question after correction X i, j : the density of an input image of the picture element (i,j) in question E i,j : an error when the picture element (i,j) in question is binary-coded α i,j : weighing cofficient Y i,j : the density of an output image T : threshold value. That is, in the above expression, weighed (multiplying α i+m, j+n and dividing by Σα m,n ) values of errors E i+m, j+n generated at surrounding picture elements are added to the density X i,j of an input image of a picture element in question, and the resultant value becomes the density D i,j of the picture element in question after error correction. The density Y i,j of an output image is obtained by binary-coding the D i,j with a threshold value T (for example, T = 32). A printer performs an on/off control of a dot in accordance with the value of the Y i,j to perform image formation. However, when highlight portions of an image are binary-coded by the error diffusion method, there is the disadvantage that grain-like noises are generated in the highlight portions of the image. The error diffusion method also has the disadvantage that a unique texture (a striped pattern) appears in highlight and half-tone portions of an image. This is caused by dots of binary outputs connected in a line. Now, the cause of the generation of the texture will be investigated. As described above, in the error diffision method, an error generated in a picture element in question is weighed by a weighing matrix and diffused to surrounding picture elements. For example, a weighing matrix α i,j (X,1), that is, a case in which an error generated at a picture element X in question is dispersed to an adjacent picture element to the right will be investigated. Since there is a higher probability of an output image being 0 in highlight and half-tone portions of an image compared with dark portions, a positive error is generated in many cases. A positive error is generated when an output image is made 0, since input image data have at least a certain degree of density. When the positive error is dispersed to an adjacent picture element to the right with the above-described weighing matrix α i,j (X,1), the probability of a dot being "on" at the dispersed picture element becomes high. When the processing for one line of input image data is completed and the processing is shifted to the next line, the positive error is also dispersed to a picture element which corresponds to that in the preceding line (a picture element under that in the preceding line), and the probability of the dot of this picture element being "on" becomes high. That is, the probability of dots being "on" becomes high periodically in the subscanning direction, and a striped pattern is generated due to a connection of these dots. An appearance of the generation of a striped pattern in the subscanning direction is shown in FIG. 25. According to the shape of a weighing matrix, dots are also connected in the main scanning direction or in an oblique direction, and a striped pattern is generated. As described above, although, in the conventional error diffusion method, resolution is excellent compared with the dither processing, a unique texture (a striped pattern) is generated in highlight and half-tone portions of an image, and it is impossible to reproduce an excellent image. Now, in the error diffusion method, the processing for determining values to be distributed to surrounding picture elements from an error generated at a picture element in question will be investigated. An error generated when the density X i,j of an input image of a picture element (i,j) in question is binary-coded is represented by E i,j , and a weighing matrix α i,j is represented by X : a picture element in question. In order to determine distribution values, first the error E i,j is divided by the sum 10 of numbers of the weighing matrix α i,j , and values in which each coefficient of α i,j is multiplied to the resultant value become distribution values of the E i,j to surrounding picture elements. For example, if E i,j = 25, the values become In this example, the configuration is provided by a hardware, and it is designed to truncate values under the decimal point for the sake of simplification. When the above-calculated distribution values are added, the result is E* i,j = 8 + 2 + 8 + 2 = 20. This value is different from E i,j = 25. The difference (E i,j - E* i,j ) is caused by neglecting a surplus when the error is divided by 10. In the case of the error diffusion method, if there is a difference between an error generated at a picture element in question and an error diffused to surroundings, the density of an input image is not preserved. Hence, it becomes that (the density of an input image ≠ the density of an output image), and the picture quality of the outout image is deteriorated. When a decimal-point operation (it is necessary to execute a decimal-point operation of at least two digits in order to prevent the deterioration of an image) in order to solve the above-described problems, circuit scale becomes very large, and so this approach is not an effective method. As described above, the conventional error diffusion method has the disadvantage that, if an error due to a surplus which is generated when an error is weighed is neglected, density is not preserved, and picture quality is deteriorated. There is also the disadvantage that, if it is tried to suppress the influence of a surplus of an error by performing a decimal-point operation, circuit scale becomes very large. SUMMARY OF THE INVENTION According to the present invention an image processing apparatus comprising: input means for inputting image data; quantization means for quantizing the image data obtained by said input means, using an error diffusion means; and output means for outputting and recording the image data quantized by said quantization means, said error diffusion means including arithmetic means for determining the error between the input image data and the quantized image data, processing means for performing a predetermined weighting processing on the error determined by said arithmetic means, and means for dispersing the error subjected to the weighting processing by said processing means, and to surrounding picture elements, is characterized in that said image processing apparatus further comprises correction means for correcting a surplus of the error generated in the weighting processing by said processing means, and that said output means outputs and records the quantized image data using a thermal-head printer so that the size of a recorded dot for a portion having a higher density in the original image is larger than that for a portion having a lower density. How the invention may be carried out will now be described by way of example only and with reference to the accompanying drawings in which: BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing a first embodiment of the present invention; FIG. 2 is a block diagram showing the detail of a reader unit 1 in FIG. 1; FIG. 3 is a diagram showing a brightness-density conversion table; FIG. 4, which is divided into FIGS. 4A and 4B, is a block diagram showing the detail of a binary-coding processing unit; FIG. 5 is a diagram showing an example of a weighing matrix; FIG. 6 is a diagram showing flows of binary-coding processings by an error diffusion method; FIG. 7 is a diagram showing a relationship between driving current and light power of a semiconductor laser 110; FIG. 8 is a diagram showing energy distributions of a laser light; FIG. 9 is a diagram showing the sizes of dots which are determined by binary data and density data; FIG. 10 is a diagram showing printing examples in the first embodiment; FIG. 11 is a block diagram showing a second embodiment of the present invention; FIG. 12 is a block diagram showing the detail of a thermal-head printer; FIG. 13 is a diagram showing printing examples in the second embodiment; FIG. 14, which is divided into FIGS. 14A and 14B, is a block diagram showing another example of a binary-coding processing unit; FIG. 15 is a diagram showing a weighing mask used in the binary-coding processing unit in FIG. 14; FIG. 16 is a diagram showing positions of the error distribution which is performed in the binary-coding processing unit in FIG. 14; FIG. 17, which is divided into FIGS. 17A and 17B, is a block diagram showing a third embodiment of the present invention; FIG. 18, which is divided into FIGS. 18A and 18B, is a block diagram showing the detail of a binary-coding processing unit in the third embodiment; FIGS. 19, 22 and 23 are recording-control flow charts; FIGS. 20, 21 and 24 are diagrams showing recording examples of the third embodiment; and FIG. 25 is a diagram showing a problem in the prior art. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The embodiments of the present invention will be hereinafter explained with reference to the drawings. <First Embodiment> As a first embodiment, a case in which a laser-beam printer (LBP) is used in a recording unit will be explained. FIG. 1 is a block diagram showing the first embodiment of the present invention. In FIG. 1, a reader unit 1 comprises an image input unit 101 for reading an image of an original document, and an image processing unit 102 in which input image data are subjected to a quantization processing into binary data by an error diffusion method. A random access memory (RAM) 103 is used for image processing and as working areas for a CPU 104. The CPU 104 controls the reader unit 1 and an LBP recording unit which will be described later. Control signals and image data in each block are transferred through a system bus 105. A read-only memory (ROM) 106 stores control programs which the CPU 104 executes. An LBP control circuit 107 controls the LBP by the control of the CPU 104. An LBP recording unit 2 performs image formation according to data which are binary coded by the error diffusion method. The LBP recording unit 2 comprises a laser control circuit 108 for controlling the light power of a laser beam by controlling driving current, a laser driving circuit 109 for driving a laser by the driving current which is controlled by the laser control circuit 108, a laser light source 110 consisting of a semiconductor laser, a rotating polygonal mirror 111 for performing deflection scanning of the light beam on the surface of a photosensitive body 115, an imaging lens 112 for imaging the light beam on the surface of the photosensitive body 115, a driving unit 113 for driving the rotating polygonal mirror 111, and a corona charger 114, the photosensitive body 115, recording paper 116, a charger 117 for transfer and a developer 118 for visualizing a latent image formed on the photosensitive body 115 by a laser 3. It is possible to control the size of a dot diameter by means of controlling the driving current by the laser control circuit 108. A communication control unit 4 performs control when the image processing unit 102 communicates binary-coded data by the error diffusion method, and comprises an image memory, a coding/decoding unit for coding and decoding data or a modulating/demodulating unit of data, and the like. The communication control unit 4 is controlled by a communication program stored in the ROM 106. A receiver 5 is connected to the communication control unit 4 via a communication network. The receiver 5 has an LBP recording unit as the LBP in the present embodiment has. An operation unit 6 inputs communication correspondents and the like. FIG. 2 is a block diagram showing the detail of a reader unit 1 in FIG. 1 An input sensor unit 201 comprises a photoelectric converter, such as a CCD and the like, and a driving device for scanning the photoelectric converter, and performs read scanning of an original document. An A/D converter 202 converts image data read in the input sensor unit 201 into digital signals having a quantization number of 6 bits. The numer of gradations is 64 steps. Data 000000 for the lowest brightness indicates the most dense black, and data 111111 for the highest brightness indicates white. Brightness data from the A/D converter 202 are sent to a correction circuit 203, where the correction of unevenness in sensitivity of the CCD and of shading distortion which is a distortion in the light-distribution characteristic of the light source is performed. A conversion table 204 converts brightness data from the correction circuit 203 into density data, and comprises a ROM which outputs 6 bits of an input of brightness data as 6 bits of density data. In general, there is the relationship (density) = - γ log (brightness) (γ: a positive constant) between brightness and density. Data according to this formula are written in the table 204. An example of the content of the conversion table is shown in FIG. 3. In the correspondence table in FIG. 3, the input data values (brightness data) of 60 or more (white) are all set such that the output data values (density data) are set to 0. The output data X i,j is the density data [0 (white) - 63 (black)]. That is, with respect to the brightness data of 60 or more, in the case of performing the binarization by the error diffusion method by converting the density data into 0, an increase amount of the error data which is distributed to the peripheral pixels is aslo 0 in the portion of the density data of 0. Therefore, by adding the error data, the value of the density data of a certain pixel exceeds the threshold value, so that the output of black dots can be prevented. As described above, according to the embodiment, the brightness density conversion table is set before the binarizing process based on the error diffusion method and the brightness data of a predetermined value or more is set to the density data 0, so that the increase amount of the errors in the error diffusion method can be set to 0. The particle-like noises in the highlight portion can be certainly eliminated at a high speed. On the other hand, by eliminating the particle-like noises in the highlight portion, the encoding process is the facsimile apparatus can be also efficiently executed. A binary-coding processing unit 205 performs quantization processing of 6-bit density data sent from the conversion table 204 into a 1-bit binary signal by the error diffusion method. FIG. 4 is a block diagram showing the detail of the binary-coding processing unit 205 in FIG. 2. Data X i,j sent from the conversion table 204 is added to error data E i,j from an adder 406 which have already been generated when performing the binary coding processing in an adder 401. The data D i,j corrected by the error are represented by the following expression. D i,j = X i,j + E i ,j . The D i,j is binary-coded by the threshold T (T = 32) in a comparator 402. That is, the binary-coded output Y i,j is represented as follows. D i,j ≧ T --- Y i,j = 63 D i,j < T --- Y i,j = 0. On the other hand, the D i,j is sent to an error arithmetic unit 403. In the error arithmetic unit 403, an error E i,j to be distributed to surrounding picture elements is operated according to the D i,j and binary-coded output Y i,j . That is, the E i,j can be represented as follows. E i,j = D i,j - Y i,j . The E i,j is sent to an error-distribution-value arithmetic circuit 404, where values to be distributed to four picture elements surrounding a picture element in question are operated. FIG. 5 is a diagram showing a weighing matrix, which indicates the positions and ratios of picture elements to which the error E i,j generated at the picture element X in question is distributed. In the error-distribution-value arithmetic circuit 404, A i,j and B i,j in FIG. 5 are determined as follows. A i,j = 2 x Int (E i,j x 1/6) B i,j = Int (E i,j x 1/6) The error-distribution-value arithmetic circuit 404 is configured to truncate values under the decimal point. That is, it is possible to execute only operation of integers. "Int" represents that values under the decimal point are truncated. By truncating values under the decimal point, there is generated a surplus R i,j between the error E i,j generated at the picture element in question and the A i,j and B i,j which have been operated at the error-distribution-value arithmetic circuit 404 and which are to be dispersed to surrounding four picture elements. The R i,j is represented by the following expression. R i,j = E i,j - 2 x (A i,j + B i,j ). The R i,j is sent to a latch 405 to be delayed by one picture element, and added to input data X i+1,j of the next picture element. For example, if it is assumed that the density (X i,j ) of the original image of the picture element in question is (34), and the sum ( E i,j ) of errors diffused from surrounding picture elements to the picture element in question is (-9), D i,j becomes 25. If the threshold value is assumed to be (32), the density of an output image becomes 0, and the error E i,j becomes E i,j = 25. Error values to be disributed to surroundings which are operated from E i,j = 25 according to the weighing matrix in FIG. 5 are operated as, for P which is picture element (i+1, j), for Q which is picture element (i-1, j+1), Errors to be distributed to other picture elements can be described as follows. When the values of P, Q, R and S calculated above are added, This value is different from E i,j = 25, and the error value becomes smaller by 1. In the case of the error diffusion method, if there is a difference between an error generated in a picture element in question and an error to be diffused to surroundings, it becomes that (the density of an input image) ≠ (the density of an output image), and the picture quality of an output image is deteriorated. Hence, in the present embodiment, a surplus of the error generated as a result of operation, that is, 1 in the above-described example is not truncated, and the surplus 1 is carried over when the picture element in question is shifted from (i,j) to (i+1, j). The surplus is R i,j in FIG. 4. On the other hand, the A i,j is sent to adders 413 and 408 in order to distribute to picture elements (i+1, j) and (i,j+1), respectively. the B i,j is sent to a latch 407 and an adder 410 in order to distribute to picture elements (i+1, j+1) and (i-1, j+1), respectively. A memory 411 is a memory for storing errors to be distributed to the j+1-th line, and can store error data of picture elements of at least one line. A timing generation circuit 415 generates various kinds of signals, such as latch signals for latch circuits 405, 407, 409, 412 and 414, address signals for the memory 411 and the like. Next, the method of distributing the above-described errors will be explained in more detail with reference to FIG. 6. FIG. 6 is a diagram showing flows of binary-coding processings by the error diffusion method. First, if values weighed to an error generated at the picture element X₁ in question are represented by P₁, Q₁, R₁ and S₁, these values are dispersed to surrounding four picture elements as shown in FIG. 6 (a). The P₁, Q₁ and R₁ and S₁ are sent to adders 413, 410 and 408, and a latch 407 in FIG. 4, respectively. The Q₁ is written in address 1 of the memory 411. Next, when the picture element in question is shifted to X₂, errors P₂, Q₂, R₂ and S₂ are dispersed to surrounding four picture elements as shown in FIG. 6 (b). The P₂ is sent to the adder 413. The Q₂ is added to the R₁ generated at the X₁ in the adder 410, and written in address 2 of the memory 411. The R₂ is added to the S₁ generated at the X₁ in the adder 408. The S₂ is sent to the latch 407. Next, when the picture element in question is shifted to X₃, errors P₃, Q₃, R₃ and S₃ are dispersed to surrounding four picture elements as shown in FIG. 6 (c). The P₃ is sent to the adder 413. The Q₃ is added to the S₁ generated at the X₁ and the R₂ generated at the X₂ in the adder 410, and written in address 3 of the memory 411. The R₃ is added to the S₂ generated at the X₂ in the adder 408. The S₃ is sent to the latch 407. When the above-described processing is performed for one line, the following values are written in the memory 411. That is, address 1 in the memory --- M₁ = Q₁ address 2 in the memory --- M₂ = R₁+ Q₂ address 3 in the memory --- M₃ = S₁ + R₂ + Q₃ address 4 in the memory --- M₄ = S₂ + R₃ + Q₄ address i in the memory --- M i = S i-2 + R i-1 + Q i When the processing for one line has been completed and the processing proceeds to the next line, errors generated at the preceding line are read from the memory. The errors read from the memory are added to an error generated at the preceding picture element in the adder 413 and output from the latch 414. The reading of errors from the memory 411 is controlled by the timing generation circuit 415 so as to correspond to the preceding line. The timing generation circuit 415 controls so that, if the picture element in question is X i , address M i-3 in the memory 411 is read. By means of performing the above-described processing for all input data, it is possible to perform a binary coding by the error diffusion method. As explained above, according to the present embodiment, it is configured such that a surplus of an error generated when the error is dispersed with weighing in the error diffusion method is added to input image data of the next picture element. Hence, it is possible to prevent the deterioration of picture quality with a simple configuration, without performing a decimal point operation which requires a large-scale hardware. A comparator 416 in FIG. 4 determines to which among highlight signal, dark signal and half-tone signal the input picture signal X i,j belongs, and outputs a flag for respective signal. That is, the comparator 416 compares the X i,j with two threshold values TD₁ and TD₂ (TD₁ < TD₂), and outputs a flag in accordance with each gradation level. Next, the recording processing when image data binary-coded in the reader unit 1 in FIG. 1 are recorded at the LBP recording unit 2 will be explained. By the control of the CPU 109, the LBP control circuit 107 transfers binary image data Data from the image processing unit 102, a density flag Flag (417) and a clock signal Ck to the laser control circuit 108. In the present embodiment, the light-beam diameter is changed in accordance with each content of Flag. As means for this purpose, a method for changing driving current is used. FIG. 7 shows a relationship between drive current and light power of a semiconductor laser 10. In the present embodiment, in the case of Flag = 0 (a high-contrast picture-element density), the driving current is I₁ and the light power is LP₁. In the case of Flag = 2 (a dark picutre-element density), the driving current is I₂ and the light power is LP₂. In the case of Flag = 1 (a half-tone picture-element density), the driving current is randomly selected between I₁ and I₂. Since the laser light has a Gaussian energy density distribution, the light-power density distribution becomes D₂ when the driving current is increased from that for the light-power density distribution D₁. When the amount of exposure necessary for recording on the photosensitive body is represented by E r , the diameter of a recording dot on the photosensitive body is varied according to the driving current. The diameter of a recording dot r is expressed by r = a In (P₀/bE r ) , where P₀ is the output of the laser light, and a and b are constants. The driving current is converted into a light beam by the laser light source 110, and the emitted light beam performs deflection scanning on the surface of the photosensitive body 115 by the rotating polygonal mirror 111. The imaging lens 112 images the light beam on the surface of the photosensitive body 115. After the photosensitive body 115 has been charged by the corona charger 114, the light beam 3 projects an image on the photosensitive body 115 to form an electrostatic latent image. The electrostatic latent image is visualized by the developer 118, and transferred to the recording paper 116 by the charger 117 for transfer. FIG. 9 is a diagram showing the sizes of printed dots which are controlled in accordance with data 801 which have been binary coded by the error diffusion method and the content 802 of Flag which indicates the density of an input image. That is, when the value of the binary-doded data 801 is 1(dot "on") and the content of the Flag 802 is 2 (a dark portion), the size of a printed dot becomes large, and when the value of the binary-coded data 801 is 1 and the content of the Flag 802 is 0 (a highlight portion), the size of a printed dot becomes small. When the value of the binary-coded data 801 is 1 and the content of the Flag 802 is 1 (half-tone portion), the size of a printed dot is switched between a large one and a small one. FIG. 10 shows a recording example by the dot sizes shown in FIG. 9. FIG. 10 (a) shows a highlight portion of an output image, in which a connection between dots is prevented because the dot size is small. That is, the generation of a unique striped pattern in the error diffusion method can thereby be prevented. FIG. 10 (b) shows a half-tone portion of the output image. In this case, a connection between dots can be prevented by printing small dots, and thus it is possible to prevent the generation of a unique striped pattern in the error diffusion method. In this case, moreover, since two kinds, that is, a large one and a small one, of dot sizes are printed with switching, it is possible to provide a gradation in the half-tone portion. FIG. 10 (c) shows a dark portion of the input image. In this case, since large dots are printed, it is possible to prevent the generation of white spaces between dots. As described above, according to the first embodiment of the present invention, by changing the size of a printed dot in accordance with the density of an input image, it is possible to prevent the generation of a unique striped pattern in the error diffusion method in highlight and half-tone portions of an image, and further prevent the generation of white spaces in dark portions of the image. Further, according to the first embodiment, the brightness density conversion table is set before the binarizing process based on the error diffusion method and the brightness data of a predetermined value of more is set to the density data 0, so that the increase amount of the errors in the error diffusion method can be set to 0. The particle-like noises in the highlight portion can be certainly eliminated at a high speed. On the other hand, by eliminating the particle-like noises in the highlight portion, the encoding process in the facsimile apparatus can be also efficiently executed. Furthermore, as shown in FIG. 1, it is possible to send binary data and a flag indicating the density level of an image to the receiver 5 via the communication control unit 4. When data are sent to an apparatus in communication, the CPU 104 performs control in accordance with transmission instruction from the operating unit 6. The receiver 5 is provided with a recording unit having the same configuration as that of the LBP recording unit 2. This recording unit performs recording controlling the size of the diameter of a dot according to binary data and a flag which have been sent. Although, in the first embodiment, the density of a picture element in question is divided into three density levels and the diameter of a printed dot is changed in accordance with each density level, a striped pattern which is unique in the error diffusion method can also be reduced by the following methods. (i) The diameter of a dot is randomly changed irrespective of the density level. (ii) The diameter of a dot which is smaller than the standard diameter of a dot is used for a picture element having a high-contrast density, and the density of a dot is randomly changed for other density levels. (iii) The standard diameter of a dot is used for a picture element having a dark density, and the diameter of a dot is randomly changed for other density levels. (iv) The diameter of a dot which is smaller than the standard diameter of a dot is used only for a picture element having a high-contrast density. (v) The standard diameter of a dot is used only for a picture element having a dark density. It is to be noted that the standard diameter of a dot can be obtained by the standard driving current. <Second Embodiment> The above-described first embodiment has a configuration in which the size of a printed dot in the LBP recording unit is controlled in accordance with binary data and a flag indicating the density level of an image. A second embodiment which will be described below has a configuration in which a printer using a thermal head (a thermal-head printer, THP), such as a printer for recording on heat-sensitive recording paper, a printer by a heat-transfer method and the like, is used instead of the LBP in the first embodiment. FIG. 11 is a block diagram showing the second embodiment. In FIG. 11, components indicated by like numerals as those in FIG. 1 have identical configurations, and explanation thereof will be omitted. A thermal-head printer 7 performs switching of the driving electric power for heating resistors used as a thermal head according to data which have been binary coded by the error diffusion method in the reader unit 1, and thereby performs the formation of an image by either coloring heat-sensitive paper or transferring ink of an ink ribbon to ordinary paper while turning on the power. A receiver 8 includes a thermal-head printer unit. It is to be noted that, in the second embodiment, the comparator 416 in FIG. 4, which indicates the detail of the binary-coding processing unit 205 in the reader unit 1 (FIG. 2), is unnecessary. FIG. 12 shows the detail of the thermal-head printer 7. A thermal head control circuit 10 controls the thermal head by the control of the CPU 104. A shift register 11 converts serial data which are binary data sent from the thermal head control circuit 10 into parallel data. A latch circuit 12 temporarily stores data converted into parallel data in the shift register 11. There are also shown a driver circuit 13, heating resistors 14, a power supply circuit 15 for the thermal head for supplying a driving electric power to heating resistors 14, and a ceramic substrate 16 which includes the heating resistors 14. Now, the operation will be hereinafter explained. The thermal head control circuit 10 transfers binary data which have been binary coded in the reader unit 1 to the shift register 11 as serial data signals. The shift register 11 stores data for one line, and sends the data to the latch circuit 12 as parallel data. The latched data for one line are sent to the driver circuit 13 by a latch signal from the thermal head control circuit 10. The driver circuit 13 forms the AND of the binary data from the latch circuit 12 and a printing-strobe-width signal (for example, 0.4 msec) from the control circuit 10, and heats the heating resistors 14 on the ceramic substrate 16. By repeating the above-described operation for plural lines, it is possible to record data which have been binary coded by the error diffusion method by the thermal-head printer. A recorded example by a thermal-head printer is shown in FIG. 13. FIG. 13 (a) shows a dark portion in which the number of black picture elements 1 after binary-coding processing is large, and FIG. 13 (b) is a diagram in which binary data in FIG. 13 (a) are recorded. FIG. 13 (c) shows a highlight portion in which the number of black picture element 1 after binary-coding processing is small, and FIG. 13 (d) is a diagram in which binary data in FIG. 13 (c) are recorded. As is apparent from FIG. 13, in the case of a thermal-head printer, the diameter of a printed dot becomes large in the case of a dark portion in which there are many black dots in surrounding picture elements, and the diameter of a printed dot becomes small in the case of a highlight portion in which there are little black dots. This is caused by the following reason. Since the thermal-head printer performs printing operations by temperature rise and cooling of the head, a printed dot becomes large due to the heat-storage effect of the head when black dots are continuously printed. On the contrary, since the head is cooled in the case of little black dots (in the case of many whites), the temperature of the head does not reach the heating temperature for the standard printing even if an energy is given to the head, and so the diameter of a printed dot becomes small. That is, in the first embodiment, the diameter of a printed dot is changed by controlling the laser driving current of the laser-beam printer, while in the case of using a thermal-head printer, it is possible to change the diameter of a printed dot by utilizing the heat-storage effect of the head. That is, since the diameter of a dot beomes large in a dark portion as shown in FIG. 13 (b), it is possible to prevent the generation of white spaces between bots. Moreover, since the diameter of a dot becomes small in a highlight portion as shown in FIG. 13 (d), it is possible to prevent a connection of dots, and so prevent the generation of a unique striped pattern in the error diffusion method. As shown in FIG. 11, it is possible to transmit binary data which have been binary-coded by the error diffusion method to the receiver 8 via the communication control unit 4. In this case, since it is not necessary to transmit a flag indicating the density level of an image as in the first embodiment, it is possible to increase communication efficiency. When data are sent to an apparatus in communication, the CPU 104 performs control in accordance with a transmission instruction from the operating unit 6. The receiver 8 is provided with a recording unit having the same configuration as that of the thermal-head printer 7, and the recording unit controls the thermal head according to binary data which have been sent to perform recording. As explained above, according to the second embodiment, by means of recording binary data which have been binary coded by the error diffusion method by a thermal-head printer, it is possible to control the size of the diameter of a dot in accordance with the density of an image. It is possible thereby to prevent the generation of a unique striped pattern in the error diffusion method in highlight portions, and also to prevent the generation of white spaces between dots in dark portions, and thus to reproduce an excellent image. Further, according to the second embodiment, as well as the first embodiment, the binarizing process based on the error diffusion method and the brightness data of a predetermined value or more is set to the density data 0, so that the increase amount of the errors in the error diffusion method can be set to 0. The particle-like noises in the highlight portion can be certainly eliminated at a high level. On the other hand, by eliminating the particle-like noises in the highlight portion, the encoding process in the facsimile apparatus can be also efficiently executed. Although, in the present embodiment, a case in which image data are subjected to a binary-coding processing has been explained, the present invention can also be used in a case in which image data are subjected to a multiple-number-coding processing. Furthermore, although, in the first embodiment, a case in which the size of the diameter of a dot is controlled by a laser-beam printer, it is also possible to control the size of the diameter of a dot by controlling an ink-discharge amount in an ink jet printer. As explained above, according to the second embodiment of the present invention, by outputting image data which have been quantized by the error diffusion method by a thermal-head printer, it is possible to provide an image processing method and apparatus which can reproduce or communicate an excellent image having a high resolution with a simple configuration. Next, an embodiment when the binary-coding processing unit in FIG. 2 is partially modified is shown in FIG. 14. In FIG. 14, the comparator 416 shown in FIG. 4 is omitted. An adder 901 adds error values to the density of an original picture element. A comparator 902 converts multi-valued data into binary data by a threshold value. An error arithmetic circuit 903 calculates an error generated in a picture element in question. An error-distribution-value arithmetic circuit 904 calculates error values to be distributed to surrounding picture elements according to a weighing matrix. There are also shown latch circuits 905, 907, 910, 912 and 914, adders 906, 908, 911 and 913, a memory 909 for storing error values, and a timing generation circuit 915 for providing a timing for a latch 907 and latch circuits 905, 907, 910, 912 and 914. The output data X i,j from the conversion table 204 in FIG. 2 and the data E i,j from the latch 914 are added in the adder 901, and becomes an output D i,j is obtained. That is, D i,j = X i,j + E i,j , where E i,j is error data to be added to the picture element (i,j) in question. The corrected density D i,j of the picture element (i,j) in question is binary-coded by the comparator 902, and is output as binary-coded data Y i,j . The printer performs on (black)/off (white) of a dot accoding to the value of the binary-coded data Y i,j . That is, the printer prints a white when an input signal is 0, and a black when an input signal is 63. The data D i,j of the picture element (i,j) in question after correction are sent to the error arithmetic unit 903. The error arithmetic unit 903 operates an error value which is generated when the picture element (i,j) in question is binary-coded. That is, the error E i,j can be expressed as follows. E i,j = D i,j - Y i,j . The error E i,j is distributed to five picture elements surrounding the picture element (i,j) in question, according to a weighing matrix shown in FIG. 15. In FIG. 15, (i+1, j) is a picture element to which a surplus of the error is allocated as described below. In order to operate these distribution amounts, the error E i,j is sent to the error-distribution-value arithmetic circuit 904. An example of distribution of the value of the density X i,j of the picture element in question to surrounding five picture elements is shown in FIG. 16. The operation performed in the error-distribution-value arithmetic unit 904 will be explained illustrating a numerical example. If it is assumed that the density X i,j of the original image of the picture element in question is (34), and the sum of errors diffused from surrounding picture elements to the picture element in question is E i,j = - 5, the density D i,j of the picture element after correction becomes D i,j = 34 + (- 5) = 29. If it is assumed that the threshold value is T = 32, the density of the output image becomes Y i,j = 0, and an error E i,j generated at (i,j) becomes The sum of weighings of the weighing matrix in FIG. 15 exclusive of (i+1, j) becomes 8 from In a digital operation, a division by the divisor 8 can be realized by making upper 3 bits of a divident a quotient. Lower 3 bits become a surplus. When distribution values for E i,j = 29 are operated according to the weighing matrix in FIG. 15, The surplus is lower 3 bits of the E i,j , that is, R i,j = 5. In the present embodiment, the R i,j is carried over to picture element (i+1, j). The weighing coefficient for (i+1, j) is 0. The A i,j , B i,j , C i,j and R i,j enter into the adder 906, the adders 908 and 911, and latch 905 and the adder 913, respectively. The memory 909 is used for storing error values for the (j+1)-th line. Since the distribution processing of errors is nearly identical as that in the case of FIG. 6, an explanation thereof will be omitted. By repeating the above-described processing for plural lines, it is possible to realize a binary-coding processing by the error diffusion method. As described above, according to the second embodiment shown in FIG. 14, when realizing the error diffusion method by a hardware, it is possible to provide a circuit with a simple configuration without deteriorating picture quality, without using a decimal-point arithmetic circuit which becomes a large-scale hardware. Moreover, by allocating a surplus to neighboring picture elements which have a high correlation with a picture element in question, it is possible to prevent a decrease in resolution. Although the surplus R i,j is allocated to picture element (i+1, j) adjacent to the picture element (i,j) in question in FIG. 15, a similar effect may also be obtained by allocating the surplus to picture element (i+2, j) as <Third Embodiment> A connection of dots is prevented in the first embodiment by a configuration in which the size of a printed dot in an LBP recording unit is controlled in accordance with a flag indicating the density level of an image, and in the second embodiment by a configuration in which a terminal-head printer is used instead of the LBP. In a third embodiment which will be hereinafter explained, the generation of a striped pattern (a connection of dots) which causes a deterioration in picture quality in the error diffusion method is further reduced and so an excellent image is reproduced, by using a thermal-head printer in a recording unit and controlling the size of a printed dot. The third embodiment of the present invention will be hereinafter explained in detail with reference to the drawings. FIG. 17 is a block diagram showing the third embodiment of the present invention. In FIG. 17, a reader unit 1001 comprises an image input unit 1104 for reading an image of an original document and an image processing unit 1105 for performing a quantization processing of input image data into binary data by the error diffusion method. A random access memory (RAM) 1102 is used for image processing and as working areas for a CPU 1101. The CPU 1101 controls the reader unit 1001 and a thermal head recording unit 1002 which will be described later. Control signals and image data in each block are transferred through a system bus 1103. A read-only memory (ROM) 1106 stores control programs which the CPU 1101 executes. A thermal head control circuit 1107 controls the thermal head recording unit 1002 by the control of the CPU 1101. The thermal head recording unit 1002 performs image formation according to data which are binary coded by the error diffusion method. A shift register 1108 converts serial data which are binary data sent from the thermal head control circuit 1107 into parallel data. A latch circuit 1109 temporarily stores data converted into parallel data in the shift register 1108. There are also shown a driver circuit 1110, heating resistors 1111, a power supply circuit 1112 for the thermal head for supplying a driving electric power to heating resistors 1111, and a ceramic substrate 1113 which includes the heating resistors 1111. In FIG. 17, the reading unit 1001 has a configuration which is entirely identical as that shown in FIG. 2, and an explanation of each component will be omitted. FIG. 18 is a block diagram showing the detail of a binary-coding processing unit (205 in FIG. 2) of the reader unit 1001 in FIG. 17. Since the configuration of FIG. 18 is identical as that of FIG. 4 except that the comparator 416 in FIG. 4 is removed, like components are indicated by like numerals and an explanation thereof will be omitted. A weighing matrix used in the error-distribution-value arithmetic circuit 404 is also identical as that shown in FIG. 5. It is possible to perform binary coding by the error diffusion method by using a binary-coding circuit shown in FIG. 18. The processing when image data which have been binary coded in the image processing unit 1105 shown in FIG. 17 are recorded in the thermal head recording unit 1002 shown in FIG. 17 will be hereinafter explained. FIG. 19 is a flow chart showing a recording processing procedure. The flow chart is stored in the ROM 1106, and the CPU 1101 executes the flow chart. First, the process proceeds to step S1, where a parameter t₁, for example 0.3 msec, is set in a printing-strobe-width determination circuit of the thermal head control circuit 1107. A strobe width represents a current-passing time for heating resistors 1111. Strobe signals (1) --- (N) in FIG. 17 are used for driving 1/N driver circuits among driver circuits 1110 for one line, respectively. For example, when there are 2048-bit driver circuits for one line and strobe signals are (1) - (4), each strobe signal is used for driving driver circuits for 512 bits. At step S2, 2048-bit (one-line) binary data (DATA)₁ and data (DATA1)₁ which are the logical product of random numbers of 2048 bits are transferred to the shift register 1108. That is, (DATA1)₁ is represented by the following expression. This operation is performed in the thermal head control circuit 1107. A random number generation circuit generates a pulse train of 0 or 1 which is synchronized with 1 bit of (DATA)₁. At setp S3, the data (DATA1)₁ in the shift register 1108 is latched in a latch circuit 1109. At step S4-1, strobe signal (1) having a pulse width t₁ (0.3 msec in this case) is switched on, and thereby each corresponding heating resistor 1111 is heated once when the value of the data latched in the latch 1109 is 1. Heat-sensitive paper is thereby colored. By repeating this operation up to strobe signal (N), a first recording for one line is completed. At step S5, a parameter t₂ (t₂ = 0.4 msec) is then set in the printing-strobe-width determination circuit of the thermal head control circuit 1107 in order to perform a second printing on the same line. At step S6, the above-desribed binary data (DATA)₁ for one line are again read from the RAM 1102 and transferred to the shift register 1108. The (DATA)₁ have been written in the RAM 1102 at the first recording. At step S7, the data (DATA1)₁ in the shift register 1108 are latched in the latch circuit 1109. At step S8, strobe signal (1) having a pulse width t₂ (t₂ = 0.4 msec) is switched on, and each corresponding heating resistor 1111 is heated once. By repeating this operation up to strobe signal (N), the second recording processing for one line is completed. An example of an appearance of the printing in which one line has been printed twice is shown in FIG. 20. Now, as shown in FIG. 20, a case in which 10-bit (DATA) 1201 are printed will be investigated. Fist, the logical product of a pulse train 1202 consisting of random numbers of 0 or 1 and the (DATA) 1201 is obtained to make it DATA1 1203. When printing is then performed with a strobe width of t₁ = 0.3 msec, black dots on paper become as dots 1204. Since an energy provided by the strobe width t₁ is smaller than an energy to be originally provided, the size of the dot becomes smaller than the size of a proper dot. Next, DATA 1201 are printed with a strobe width of t₂ = 0.4 msec at a position which is identical as that where (DATA1) 1203 have originally been printed. As a result, black dots on the paper become dots 1205. That is, two kinds of dot sizes consisting of black dots (DOT1) printed by both t₁ and t₂ and black dots (DOT2) printed only by t₂ randomly appear on the paper. The relationship beween the two sizes is as follows. (DOT1) > (DOT2). The dot size becomes larger when printing is performed twice, because the heat when the first recording has been performed remains in the heating resistors. By repeating the above-described processing for plural lines, it is possible to form an image by changing the sizes of dots. According to the present embodiment, it is possible to prevent a connection of dots, since the dot size is switched between a large one and a small one. An appearance of this type of printing is shown in FIG. 21. By thus preventing a connection of dots, it is possible to prevent the generation of a unique striped pattern in the error diffusion method. However, in the above-described embodiment, although it is possible to prevent the generation of a striped pattern in highlight or half-tone portions of an image, there occur white spaces due to the fact that dots become small in dark portions of an image. Hence, in the following embodiment, a case in which the size of a dot is switched in accordance with the density of an image will be explained. In this case, it is possible to perform the binary-coding processing performed in the image processing unit 1105 in FIG. 17 in the binary-coding processing unit shown in FIG. 4. In FIG. 4, a comparator 416 determines to which among highlight signal, dark signal and half-tone signal the input image signal X i,j belongs, and outputs a flag for each signal. That is, the X i,j is compared with two threshold values TD1 and TD2 (TD1 < TD2) and outputs a flag corresponding to each gradation level. FIG. 22 is a flow chart showing a procedure for recording data which have been binary-coded in the binary-coding processing unit shown in FIG. 4. The process first proceeds to step S11, where a parameter t₁, for example, t₁ = 0.3 msec, is set in the printing-strobe-width determination circuit of the thermal head control circuit 1107. At step S12, binary data DATA (1) to be first printed are set in the shift register 1108. The DATA (1) are prepared in the thermal head control circuit 1107. The flow chart for preparing the (DATA (1) is shown in FIG. 23. At step S20, if the value of a binary-coded output signal Y i,j is Y i,j = 1 (printing of black), the process proceeds to step S21. If Y i,j = 0 (printing of white), the process proceeds to step S24, where it is arranged that Y i,j = 0. At step S21, the value of Flag 417 is investigated, and if Flag = 2 (dark sigal), the process proceeds to step S25, where it is arranged that Y i,j = 1, and if Flag ≠ 2, the process proceeds to step S22. At step S22, the value of Flag 417 is investigated, and if Flag = 1 (half-tone), the logical product of an output signal of the random number generation circuit for generating a signal of 0 or 1 and the Y i,j is obtained to make it Y i,j . If Flag ≠ 1, an arrangement is made that Y i,j = 0. A pulse train of 2048 Y i,j 's obtained in the above-described operation is DATA (1) . At step S13 in FIG 22, the data DATA (1) in the shift register 1108 are latched in the latch circuit 1109. Strobe signal (1) having a pulse width of t₁ is switched on at step S14, and thereby the corresponding heating resistors 1111 are heated once when the value of data latched in the latch 1109 is 1. Heat-sensitive recording paper is thereby colored. By repeating this operation up to strobe signal (N), a first recording processing for one line is completed. The process further proceeds to step S16, where a parameter t₂ (t₂ = 0.4 msec) is then set in the printing-strobe-width determination circuit of the thermal head control circuit 107. At step S16, data DATA (1) to be printed again are set on the same position where the DATA (1) have been printed. At step S17, the data DATA (1) in the shift register 1108 are latched in the latch circuit 1109. At step S18, a strobe signal having a pulse width of t₂ is switched on, and the corresponding each heating resistor 1111 is heated once when the value of data latched in the latch 1109 is 1. An appearance when one line is separately printed twice is shown in FIG. 24. FIG. 24 shows a case in which 10-bit DATA (1) 1301 are printed. It is assumed that 0 represents a white, and 1 represents a black. According to the above-described flow chart in FIG. 23, the DATA (1) becomes DATA (1) 1304. When the DATA (1) 1304 are printed with a strobe width t₁, dots on heat-sensitive paper becomes dots 1305. Since an energy provided to the paper with the strobe width t₁ is smaller than an energy to be originally provided (an energy by which a proper dot size by the thermal head is obtained), the dot size is smaller than a standard size. DATA (1) 1301 are then printed with a strobe width of t₂ on the same position where the DATA (1) 1304 have been printed. Finally, dots on the heat-sensitive paper become dots 1306. Two kinds of dot sizes consisting of black dots (Dot 1) printed by the two strobe width t₁ and t₂ and black dots (Dot 2) printed only by the t₁ appear on the heat-sensitive paper. That is, Dot 2, when the input image signal X i,j is from a highlight portion, Dot 1, when the input image signal X i,j is from a dark portion, and Dot 1 or Dot 2, when the input image signal X i,j is from a half-tone portion. Either of the above-described three cases is selected and printed. The relationship between the sizes of dots is (Dot 1) > (Dot 2). As explained above, according to the third embodiment, a connection of dots is prevented, since printing is performed reducing the dot size in highlight portions of an image. That is, it is possible thereby to prevent the generation of a unique striped pattern in the error diffusion method. Furthermore, since printing is performed with random dot sizes consisting of a large one and a small one in half-tone portions, it is possible to prevent a connection of dots and provide a gradation in half-tone portions. Moreover, since printing is performed with a large dot size in dark portions of an image, it is possible to prevent the occurrence of white spaces between dots. Thus, according to the third embodiment, by changing the size of a printed dot in accordance with the density of an input image, it is possible to prevent the generation of a unique striped pattern in the error diffusion method in highlight and half-tone portions of an image, and also to prevent the occurrence of white spaces in dark portions of an image. Although the dot size is changed by changing the strobe width in two ways in the present embodiment, the dot size may also be changed by controlling voltage or current. Furthermore, although, in the present embodiment, a case in which image data are subjected to binary-coding processing by the error diffusion method as a method of quantization, the present invention may also similarly be utilized for a multiple-value-coding processing. In the case of a color image, the present invention may be executed by providing the circuit in the present embodiment for three colors, R, G and B. While the present invention has been explained in reference to the preferred embodiments, it is not limited to the above-described embodiments, but various changes and modifications are possible within the scope of the appended claims.

Claims: An image processing apparatus comprising: input means (1) for inputting image data; quantization means (205) for quantizing the image data obtained by said input means, using an error diffusion means (Fig. 14); and output means (7,1107) for outputting and recording the image data quantized by said quantization means, said error diffusion means including arithmetic means (903) for determining the error between the input image data and the quantized image data, processing means (904) for performing a predetermined weighting processing on the error determined by said arithmetic means, and means for dispersing (Fig. 14B) the error subjected to the weighting processing by said processing means, and to surrounding picture elements, characterized in that said image processing apparatus further comprises correction means (904) for correcting a surplus (Ri, j) of the error generated in the weighting processing by said processing means, and that said output means (7) outputs and records the quantized image data using a thermal-head printer so that the size of a recorded dot for a portion having a higher density in the original image is larger than that for a portion having a lower density. An image processing apparatus according to Claim 1, wherein said input means includes image reading means (201) for reading an original image and analog to digital conversion means (202) for converting analog image data obtained by reading the original image into digital image data. An image processing apparatus according to Claim 1, wherein said quantization means (205) quantizes the image data obtained by said input means into binary data, using the error diffusion method. An image processing apparatus according to Claim 3, wherein said quantization means (205) quantizes the image data by correcting an error between the image data obtained by the input means and the binary data after the quantization. An image processing apparatus according to Claim 1, further comprising determination means (416) for determining the density of the original image from the image data obtained by said input means, said output means changing the size of a recorded dot in accordance with the density determined by said determination means. An image processing apparatus according to Claim 5, wherein, when said determination means (416) determines that the density level of the image data belongs to a highlight region, said output means (1107) makes the size of a dot smaller than that when the density level is determined to belong to the dark region. An image processing apparatus acccording to Claim 5, wherein said output means (1107) randomly changes the size of a dot between a large one and a small one when said determination means (416) determines that the density of the image data belongs to a half-tone region. An image processing apparatus according to Claim 1, wherein said correction means (904) adds the surplus (Ri, j) of the error generated in the weighting processing by said processing means to input image data of the next picture element. An image processing apparatus according to Claim 1, wherein said correction means (904) corrects the surplus (Ri, j) of the error by dispersing the surplus (Ri, j) of the error generated in the weighting processing by said processing means to a picture element in which the ratio of the weighting is 0. An image processing apparatus according to Claim 1, wherein said input means (1) has a brightness-density conversion table (204), and said brightness-density conversion table converts a density data into 0 for a brightness data of a predermined value or more.

Inventors: ISHIDA SHINICHI, ONO TAKESHI, SAKAMOTO MASAHIRO, SHINADA YASUYUKI, ISHIDA, SHINICHI, ONO, TAKESHI, SAKAMOTO, MASAHIRO, SHINADA, YASUYUKI
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1989
Main classification: H04N1
IPC codes: H04N1