WO2005109851A1 - 画像処理装置、画像処理方法、及びプログラム - Google Patents

画像処理装置、画像処理方法、及びプログラム Download PDF

Info

Publication number
WO2005109851A1
WO2005109851A1 PCT/JP2005/008342 JP2005008342W WO2005109851A1 WO 2005109851 A1 WO2005109851 A1 WO 2005109851A1 JP 2005008342 W JP2005008342 W JP 2005008342W WO 2005109851 A1 WO2005109851 A1 WO 2005109851A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel
center
gravity
image data
image processing
Prior art date
Application number
PCT/JP2005/008342
Other languages
English (en)
French (fr)
Inventor
Nobuhiro Karito
Original Assignee
Seiko Epson Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corporation filed Critical Seiko Epson Corporation
Priority to JP2006516895A priority Critical patent/JPWO2005109851A1/ja
Priority to EP05737323A priority patent/EP1758368A1/en
Publication of WO2005109851A1 publication Critical patent/WO2005109851A1/ja
Priority to US11/553,363 priority patent/US20070047000A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size

Definitions

  • Image processing apparatus image processing method, and program
  • the present invention relates to halftone processing of gradation image data in an image processing device such as a laser printer. More specifically, a predetermined cell is used, and a barycentric position is calculated from the grayscale values of the pixels included in the cell, and a position corresponding to the sum of the grayscale values of the pixels in the cell is calculated at the barycentric position. And a halftone process for generating dots.
  • an image processing apparatus such as a printer converts grayscale data having multiple grayscale values for each pixel into a binary value representing the presence or absence of a dot, and prints the data on printing paper. It has been made to do.
  • the process of converting a multi-value tone value into a binary value is called a halftone process.
  • a pixel group (hereinafter, “cell”) composed of a plurality of pixels is selected by selecting pixels in a predetermined order until the sum of the gradation values of each pixel reaches a predetermined threshold, and the center of the cell is selected.
  • a halftone process in which dots are generated at positions (for example, Patent Document 1 below).
  • a cell is formed while selecting a pixel closest to the position of the center of gravity until a threshold is reached, and a force for generating a dot at the position of the center of gravity in the cell is set to the input gradation value.
  • Patent Document 1 JP-A-11 27528
  • Patent Document 2 Japanese Patent Application No. 2003-352270
  • Japanese Patent Application Laid-Open No. H11-27528 describes that a pixel is selected to form a cell until the sum of gradation values becomes "255", and a dot is generated at a pixel located at the center of the cell. I am doing it. Therefore, since dots for one pixel are generated, isolated dots are similarly generated, and dot reproduction becomes unstable.
  • Japanese Patent Application No. 2003-352270 mentioned above changes the threshold value required for the cell configuration according to the input gradation value, thereby generating dots of a stable size.
  • an isolated dot may be generated depending on a threshold value to be compared in a threshold value matrix.
  • the present invention provides an image processing apparatus and an image processing method that prevent the generation of isolated dots, generate stable dots without image quality degradation, and have a high halftone processing speed. With the goal.
  • the present invention provides an image processing apparatus that converts input image data into output image data having two or more types of level values and outputs the output image data.
  • Position determining means for determining the position of the center of gravity from the input image data of each pixel included in the pixel group based on the
  • an assigning means for assigning a level value to each pixel to be processed.
  • the pixel group is determined in advance, so that the processing becomes faster.
  • the level value for generating the dot is assigned to the pixel based on the position of the center of gravity, the dot is concentrated and the isolated dot is removed. Generation can be prevented.
  • the image processing apparatus may further include a pulse width modulation unit that generates a K-stage (K is a positive integer) pulse width for the N types of level values provided by the providing unit. It is further characterized by being provided.
  • K is a positive integer
  • halftone processing that enables more gradation expression can be realized.
  • the center-of-gravity position determining means may calculate a product of a pixel position of each pixel and a level value of input image data of each pixel for all pixels included in the pixel group. And a value obtained by dividing the sum by the total value of the level values of the input image data of each pixel included in the pixel group is determined as the position of the center of gravity.
  • the position of the center of gravity including the gradation value of each pixel can be easily calculated.
  • the present invention is characterized in that, in the image processing apparatus, the assigning means preferentially selects a level value from a pixel close to the position of the center of gravity, and assigns a level value to the selected pixel. I have. Thereby, for example, since the level value is assigned in order from the pixel closest to the position of the center of gravity, it is possible to prevent the occurrence of isolated dots.
  • the assigning unit when the assigning unit assigns the level value to a pixel closest to the position of the center of gravity, the assigning unit may add the total value of the level values of the pixels included in the pixel group. If there is a surplus in the level value by subtracting the value, the surplus level value is assigned to a pixel other than the pixel to which the level value is assigned and the pixel closest to the position of the center of gravity. Thereby, for example, dots grown from the position of the center of gravity are generated, and a certain amount of dots are generated, so that generation of isolated dots can be prevented.
  • the surplus level value is not N kinds of level values for generating dots for one pixel
  • the surplus level value is set to N kinds of level values.
  • a pixel other than the assigned pixel is assigned to a pixel closest to the center of gravity and included in the pixel group.
  • the center-of-gravity position determining means may include a pixel group. Is characterized in that a pixel group is determined in advance by holding the coordinate position of each pixel included in. This makes it possible to provide an image processing apparatus that performs halftone processing quickly because, for example, the position of the center of gravity is not calculated many times to form a cell.
  • the present invention is characterized in that, in the above-described image processing apparatus, each pixel included in the pixel group is in P-contact with each other.
  • each pixel included in the pixel group is in P-contact with each other.
  • the present invention provides an image processing method for converting input image data into output image data having two or more types of level values and outputting the output image data.
  • a center-of-gravity position determining step of determining a center-of-gravity position from input image data of each pixel included in the pixel group based on the group; and an assigning step of assigning a level value to a pixel based on the center-of-gravity position determined in the center-of-gravity position determining step. It is characterized by having. As a result, for example, the processing is quicker because the pixel group is predetermined, and the level value for generating the dot is assigned to the pixel closest to the position of the center of gravity, so that the dots are concentrated and isolated dots are generated. Can be prevented.
  • the present invention provides a computer-readable storage medium for executing a process of converting input image data into output image data having two or more types of level values and outputting the converted image data.
  • a center-of-gravity position determining process for determining a center-of-gravity position from input image data of each pixel included in the pixel group based on a predetermined pixel group, and a pixel based on the center-of-gravity position determined in the center-of-gravity position determining process are performed.
  • the program is characterized in that it is a program for causing a computer to execute a process of giving a level value.
  • the processing is quicker because the pixel group is predetermined, and the level value for generating the dot is assigned to the pixel closest to the position of the center of gravity, so that the dots are concentrated and the generation of isolated dots is prevented.
  • the processing can be realized by a computer.
  • the present invention provides a halftone image generation for converting an input image data into an output image data having two or more level values to generate a halftone image.
  • a center-of-gravity position determining means for determining a center-of-gravity position from the input image data of each pixel included in the pixel group based on a predetermined pixel group; Providing means for giving the level value to pixels based on the position of the center of gravity determined by the determining means.
  • the present invention provides a halftone image generation for converting an input image data into an output image data having two or more types of level values to generate a halftone image.
  • the present invention provides a halftone image generation for converting an input image data into an output image data having two or more types of level values to generate a halftone image.
  • a center of gravity position is determined from input image data of each pixel included in the pixel group based on a predetermined pixel group, and a center of gravity position determined by the center of gravity position determination process
  • a program for causing a computer to execute a process of giving a level value to a pixel based on This makes it possible, for example, to generate a halftone image with fast processing and prevent the generation of isolated halftone dots, and to further improve the resolution and realize a process for obtaining an output that is faithful to the input tone value. Can be.
  • the present invention provides means for allocating a predetermined cell including a plurality of pixels of the input image data to the input image data
  • An image processing apparatus comprising: means for determining the position of the center of gravity of the pixel; and means for generating dots corresponding to the sum of the gradation values of a plurality of pixels in the cell at least in the pixel including the position of the center of gravity.
  • FIG. 1 is a diagram showing a configuration of an entire system to which the present invention is applied.
  • FIG. 2 is a diagram showing a specific configuration of an image processing device.
  • FIG. 3A is a diagram showing an example of a cell block.
  • FIG. 3B is a diagram showing an example of a cell block.
  • FIG. 3C is a diagram showing an example of a cell block.
  • FIG. 3D is a diagram showing an example of a cell block.
  • FIG. 4 is a diagram for explaining types of cell blocks applied to an input image.
  • FIG. 5 is a flowchart showing an operation of a process according to the present invention.
  • FIG. 6 is a flowchart showing an operation of a process according to the present invention.
  • FIG. 7 is a flowchart showing an operation of a dot generation process.
  • FIG. 8A is a diagram showing an example of an input buffer area 261.
  • FIG. 8B is a diagram showing an example of an output buffer area 262.
  • FIG. 9A is a diagram showing an example of an output buffer area 262.
  • FIG. 9B is a diagram showing an example of an output buffer area 262.
  • FIG. 10A is a diagram showing an example of an input buffer area 261.
  • FIG. 10B is a diagram showing an example of an output buffer area 262.
  • FIG. 11A is a diagram showing an example of an output buffer area 262.
  • FIG. 11B is a diagram showing an example of an output buffer area 262.
  • FIG. 12A is a diagram showing an example of a cell block.
  • FIG. 12B is a diagram showing an example of a cell block.
  • FIG. 13 is a diagram showing an example of a cell block.
  • FIG. 14 is a diagram showing a configuration of another overall system to which the present invention is applied.
  • FIG. 1 is a diagram showing a configuration of an entire system to which the present invention is applied.
  • Host computer as a whole
  • the host computer 10 includes an application unit 11 and a rasterizing unit 12.
  • the application unit 11 prints character data, graphic data, bitmap data, etc.
  • the target data is generated.
  • the host computer 10 generates character data and graphic data by operating a keyboard or the like using an application program such as a word processor or a graphic tool. These generated data are output to the rasterizing unit 12.
  • the rasterizing unit 12 converts the print target data output from the application unit 11 into 8-bit gradation data for each pixel (or for each dot). Therefore, each pixel has a gradation value (level value) from 0 to 255.
  • the generation of the gradation data in the rasterizing unit 12 is actually performed by a driver mounted on the host computer 10.
  • the gradation data output from the rasterizing unit 12 is output to the image processing device 20. In the present embodiment, this gradation data will be described below as monochrome data.
  • the image processing device 20 includes an image processing unit 21 and a print engine 22 as a whole.
  • the image processing unit 21 includes a halftone processing unit 211 and a pulse width modulation unit 212.
  • the halftone processing unit 211 receives the grayscale data output from the host computer 10, converts the grayscale data into a multivalued value (level value) of two or more values, and outputs quantized data.
  • the pulse width modulation unit 212 receives the quantized data output from the halftone processing unit 211, and generates drive data indicating presence or absence of a laser drive pulse for each dot with respect to the quantized data. The generated drive data is output to the print engine 22.
  • the print engine 22 includes a laser driver 221 and a laser diode (LD) 222.
  • the laser driver 221 receives the drive data from the pulse width modulation unit 212, generates control data indicating whether or not there is a drive noise based on the drive data, and outputs the control data to the laser diode 222.
  • the laser diode 222 is driven based on control data output from the laser driver 221, and further drives a photosensitive drum and a transfer belt (not shown) to actually print data from the host computer 10 onto a recording medium such as printing paper. Will be printed.
  • the image processing device 20 includes an input interface (I / F) 23, a CPU 24, a ROM 25, a RAM 26, and a print engine 22, and is connected to each other via a bus.
  • the input I / F 23 serves as an interface between the host computer 10 and the image processing device 20.
  • the gradation data transmitted from the host computer 10 by a predetermined transmission method is input to the input IZF 23, and is converted into data that can be processed by the image processing device 20 under the control of the CPU 24.
  • the input gradation data is temporarily stored in the RAM 26.
  • the CPU 24 is connected to the input IZF 23, the R ⁇ M 25, the RAM 26, and the print engine 22 via a bus, reads a program stored in the ROM 25 as appropriate, and performs various processes such as a halftone process. Details thereof will be described later.
  • the RAM 26 serves as a working memory for each process executed by the CPU 24, and stores various data during and after the process. Further, driving data for driving the laser driver 221 of the print engine 22 is also stored.
  • the print engine 22 has a configuration similar to that of the print engine in FIG. 1, and the drive data stored in the RAM 26 is input under the control of the CPU 24, and the above-described print processing is performed.
  • FIG. 3 four types of cell blocks 25 :! to 254 are prepared. That is, the upper left cell block 251 shown in FIG. 3A, the upper cell block 252 shown in FIG. 3B, the left cell block 253 shown in FIG. 3C, and the normal area cell block 254 shown in FIG. 3D. .
  • each cell block 25:!-254 There are a plurality of cells (indicated by thick lines in the figure) in each cell block 25:!-254. Then, there are a plurality of input pixels in each cell of the cell blocks 25 :! to 254, and the processing for dot generation proceeds by obtaining the position of the center of gravity in each cell.
  • the cell block 252 for the upper end is applied to ⁇ Bk (m ⁇ 2). Also, input image 100
  • the leftmost cell block 253 is applied to the leftmost blocks Bk to Bk (n ⁇ 2), and the input image 100 other blocks Bk (2 ⁇ X ⁇ m, 2 ⁇ Y ⁇ n) have normal area cell blocks
  • the right half of the seventh cell at the top of the upper left cell block 251 is included in the cell block 252 on the right, and therefore, the upper left cell block 252 No cell number is assigned to the left side of the first cell, and no processing is performed in the upper cell block 252.
  • the strong seventh cell is divided into two and the upper left cell block 251 and the upper cell block 252 are processed separately, dots will be printed separately, resulting in isolated dots.
  • cells straddling two cell blocks are processed in one of the cell blocks. This occurs between the cell blocks 251 to 254, such as the cell located at the bottom of the upper left cell block 251 and the cell located at the top of the left cell block 253.
  • Such cell blocks 251 to 254 are applied to the input image 100, and a barycentric position corresponding to the input tone value is determined in a predetermined cell frame in each of the blocks 251 to 254.
  • the value indicating the dot generation (for example, “255”) is assigned to the pixel to be processed.
  • the value is assigned to the pixel closest to the center of gravity.
  • the position of the center of gravity In the calculation of the position of the center of gravity, processing is performed so that dots are concentrated on the position of the center of gravity in accordance with the total value of the tone values of the pixels in the cell. Dots easily occur. Therefore, it is possible to reproduce an image in which stable dots are generated and image quality is not degraded.
  • the position of the center of gravity is not calculated every time to determine a pixel to be taken into the cell, and a predetermined cell in the cell blocks 251 to 254 is applied. Processing time is shortened, and processing is accelerated accordingly.
  • the threshold is compared with the input gradation value in each halftone cell (threshold matrix). It is also conceivable that the occurrence of a dotted dot occurs. However, as in the present invention, since the surrounding pixel power also collects gradation values and generates dots from the position of the center of gravity, it is compared with halftone processing. As a result, a more stable dot can be reproduced.
  • the resolution is improved, and an output faithful to the input gradation value can be obtained. That is, in the conventional halftone dot processing, since the positions of halftone dots (dots) are fixed, the resolution deteriorates to about the halftone dot period. For example, a jagged character occurs, or a small and thin character is generated. There was a problem such as becoming "reading". In the present invention, since dots are generated at the position of the center of gravity to form halftone dots, the reproducibility of fine lines and edges is improved, no jaggies occur, small and thin characters are easy to read, and high resolution is achieved. Generate a halftone image of.
  • the input tone value is truncated due to a large threshold value and a thin line is not reproduced, or conversely, the input tone value is rounded up to "255" indicating dot generation and turned into a thick line.
  • the input tone value is rounded up to "255" indicating dot generation and turned into a thick line.
  • the output gradation value There was a problem of conversion or inconsistency between the input gradation value and the output gradation value.
  • a halftone dot having the same gradation value as the sum of the gradation values included in the cell is generated, and an output faithful to the gradation value of the input image can be obtained.
  • the present invention can be applied not only to the image processing apparatus shown in FIG. 1 but also to a halftone image generating apparatus having the same function, and the same effect can be obtained. Can be said.
  • 5 to 7 are flowcharts showing the processing operation.
  • each gradation value of the input image 100 is stored in an input buffer area 261 provided in a predetermined area of the RAM 26.
  • This example is shown in Figure 8A.
  • Each coordinate position of the input buffer area 261 corresponds to each pixel position of the whole image, and the coordinate position of (0, 0) corresponds to a pixel located at (0, 0) of the whole image.
  • the value stored at each coordinate position indicates the input tone value of the pixel.
  • the input buffer area 261 has the power shown in the example of 5 rows and 5 columns. This is for ease of explanation.
  • the input buffer area 261 may be configured to store an image for one page (one frame). However, the number of rows and columns may be smaller than that in FIG.
  • the CPU 24 sets a repetition block at the upper left of the input image 100, and substitutes “1” for N (step S12). That is, in the upper left block Bk of the input image 100,
  • the CPU 24 refers to all pixels included in the N-th cell in the block (step S13).
  • all pixels included in the cell (1) are referred to.
  • the frame of this cell (1) is shown by a thick line in FIG. 8A.
  • the pixels to be referred to contained in each cell are listed at, for example, coordinate positions, and powerful information is stored in the R ⁇ M 25 (or RAM 26).
  • the CPU 24 reads out and refers to the pixels included in the cell.
  • the pixels included in cell (1) are (0, 0), (1, 0), (4, 0), (0, 1), (1, 4). ) Is restored and stored in the ROM 25 or the like. The same applies to other cells (N) in the cell block 251.
  • the CPU 24 calculates the sum of the gradation values of the reference pixels in the cell (step S14). This is because it is necessary for the subsequent processing of calculating the center of gravity.
  • the sum of the gradation values in the cell (1) is “365”.
  • the total value is stored by the CPU 24 in a predetermined area of the RAM 26, for example.
  • the CPU 24 calculates the center of gravity of the reference pixel (step S15). This is for performing the process of generating dots based on the position of the center of gravity.
  • the calculation of the position of the center of gravity uses the following equation.
  • Equation 1 the value obtained by integrating the gradation value of the pixel at each coordinate position is referred to in the cell.
  • the calculation is performed for all the illuminated pixels, and the sum is divided by the total value of the gradation values in the cell (the value calculated in step S15).
  • This [Equation 1] is stored in, for example, the ROM 25, and C
  • PU24 reads from ROM25 and performs the operation.
  • (X, Y) (1.5 center of gravity
  • the calculated center of gravity position is stored in, for example, the RAM 26.
  • step S16 processing is performed to determine at which pixel position a dot is generated from the calculated center of gravity position.
  • Figure 7 shows the details of the dot generation process.
  • the CPU 24 searches for a dot non-output pixel closest to the position of the center of gravity (step S161).
  • FIG. 8B shows an example of an output buffer area 262 provided in a predetermined area of the RAM 26.
  • the output buffer area 262 is a memory for storing a value indicating whether or not to generate a dot, and each coordinate position corresponds to each pixel position of the entire image, similarly to the input buffer area 261.
  • a dot non-output pixel is a pixel in which “0” indicating no dot is stored, and a search for a dot non-output pixel can be determined from the output buffer area 262.
  • FIG. 8A since the coordinates of the position of the center of gravity are (1.51, 1.51), an unoutput pixel located at the coordinates of (2, 2) is searched.
  • FIG. 8B shows the position of the center of gravity 2621 for easy understanding.
  • step S162 the CPU 24 determines whether or not there is an unoutput pixel.
  • the searched pixel (2, 2) is a dot non-output pixel, so that “YES” is determined in this step, and the flow shifts to step S163.
  • step S163 the CPU 24 determines whether or not the remaining gradation value is larger than “255” (step S163).
  • the total value of the gradation values is “365”, and since the gradation value has not been subtracted at this time, the remaining gradation value is “365”. Therefore, “YES” is selected in step S163, and the process proceeds to step S164.
  • step S164 the CPU 24 outputs “255” to the searched pixel. That is, “255” is stored in the output buffer area 262 at the coordinate position corresponding to the search pixel. In the present embodiment, “255” is a value representing the generation of a dot for one entire pixel. As shown in FIG. 8B, “255” is stored at the coordinate position (2, 2).
  • Step S165 the CPU 24 subtracts “255” from the remaining gradation value (Step S165).
  • Figure 8B example Then, subtracting "255” from the remaining gradation value "365” results in "110".
  • the remaining gradation value after the subtraction is also stored in the RAM 26, for example.
  • step S166 the CPU 24 determines whether or not there is a remaining gradation value. Since the remaining gradation value after the subtraction in the above-described step S165 is stored in the RAM 26, such a value can be read to determine whether it is "0". If there is a remaining gradation value ("YES" in this step), the process returns to step S161 to repeat the above process. On the other hand, if there is no remaining gradation value (when “N ⁇ ” in this step), the dot generation processing ends, and the routine goes to step S17 in FIG.
  • step S161 to step S166 “255” is output in order from the pixel closest to the center of gravity and from the dot non-output pixel, and this is repeated until the total value of the gradation values in the cell is exhausted. become. Therefore, if the total value of the gradation values in the cell is large, the number of pixels that output "255" increases and the generation of dots increases. Conversely, if the total value is low, the generation of dots will decrease. Therefore, it is possible to generate a dot corresponding to the magnitude of the input gradation value in the cell.
  • the remaining tone value is “255” or less (“NO” in step S163)
  • the remaining tone value is output to the searched pixel (step S167).
  • the remaining tone value is “110” and is “255” or less
  • the remaining tone value “110” is output to the dot non-output pixel closest to the center of gravity.
  • the dot non-output pixel closest to the position of the center of gravity (1.51, 1.51) has two pixels located at (2, 1) and (1, 2).
  • the remaining gradation value “110” may be output to two pixels evenly as shown in FIG. 9A, or may be output to one of the pixels as shown in FIG. 9B. Is also good.
  • the dot generation process ends, and the process shifts to step S17 in FIG.
  • step S16 values indicating dot generation are output in order from the pixel closest to the center of gravity based on the total value of the gradation values in the cell.
  • the dots grow in a circle around the center of gravity, creating a solid dot. Rate is higher.
  • a latent image is formed by irradiating the photosensitive drum with laser light in an exposure unit. For example, when a dot for one pixel is formed, such a latent image is formed.
  • toner is applied to the photoconductor drum, the dot width may be too small and the toner may not be applied. In some cases, dots are not formed at the intended positions on the printed and reproduced paper. That is, the reproducibility of an isolated dot is unstable, which leads to deterioration of image quality.
  • step S16 when the dot generation processing (step S16) is completed, it is then determined whether or not the cell number N is N (step S17). N is included in cell blocks 251-254
  • step S13 to step S16 it is determined whether or not the processing from step S13 to step S16 has been completed for all cells in each of the cell blocks 251 to 254.
  • this N is stored in the ROM 25 (or RAM 26), and the CPU 24
  • the processing is performed by reading and comparing with the value of the cell number N stored in the RAM 26.
  • step S18 Adds 1 to the cell number N (step S18), and repeats the above processing for the next cell (moves to step S13).
  • step S13 since the processing has been completed for the first cell, the above processing (steps S13 to S17) is repeated for the second cell.
  • step S19 it is determined whether or not there is an unprocessed pixel to the right of the block right end (step S19). ).
  • the upper left block Bk of the input image 100 see FIG. 4
  • step S19 If there is an unprocessed pixel to the right of the block right end (when “YES” in step S19), the block is moved right by one, and the cell number N is set to "N" to perform the above-described processing in the block. 1 "is substituted (step S20). That is, first, processing is performed on the block Bk in the upper left corner.
  • the coordinate positions in the end cell block 252 are the same.
  • the coordinate position of each pixel is different between the blocks B k and B k of the input image 100. Therefore, the distance for the width of block Bk (o
  • Offset value to the coordinate position of each cell in the top cell block 252 to obtain the block Bk.
  • the coordinate position of each cell of the check 252 is obtained.
  • Step S21 determines whether there is an unprocessed pixel below the lower end of the block. For example, move the block to the right in the upper left
  • step 19 the flow shifts to step S21.
  • “YES” is selected because there is a pixel that has not been processed below the lower end of the block B k.
  • the cell block for the upper end applied to the upper right end block Bk of the input image 100 is 252 ml.
  • step S21 if there is an unprocessed pixel below the lower end of the block (when “YES” in step S21), then the CPU 24 moves the block to the leftmost position one step below, and In order to perform the process, "1" is substituted for the cell number N, and the process proceeds to step S13. For example, when processing is completed up to block Bk (see Fig. 4), the next is the leftmost
  • step S23 when there is no unprocessed pixel below the lower end of the block (when “NO” in step S21), the series of processes described above ends (step S23). For example, when the processing in the block Bk located at the lower right is completed, the block Bk is located to the right of the right end of the block Bk.
  • step S19 There is no processing pixel ("NO" in step S19), and the force is not processed below the lower end of block Bk.
  • step S21 Since no pixel exists ("NO" in step S21), it means that the processing for all blocks of the input image 100 has been completed.
  • step S19 to step S22 is processing relating to how to move the block.
  • the powerful moving method for example, the Bk
  • the processing may be performed on a block.
  • the output value indicating whether or not to generate a dot stored in the output buffer area 262 is output from the halftone processing unit 211 (see FIG. 1) to the pulse width modulation unit 212 as quantized data. Then, a pulse width based on this value is generated, and a print image is formed on printing paper or the like. For example, a pixel for which "255" is output has a pulse width of one pixel, "128” has a pulse width of half of one pixel, "64” has a pulse width of 4/1, and so on. That is, output
  • the output value stored in the buffer area 262 represents a dot area which is a toner beam attachment area, and represents not only the presence or absence of dot generation but also the size of the dot.
  • pulse width modulation section 212 generates a pulse in “256” steps. Of course, pulses that generate more or less steps may be generated.
  • the input image 100 is read by storing the input gradation value in the input buffer area 261 (step Sl). Then, the cell (1) of the cell number 1 of the upper left cell block 251 is applied to this area (steps S12 and S13). Of course, the cell size is fixed for faster processing.
  • step S16 a dot generation process
  • step S161 a dot unprocessed pixel located at the position of the center of gravity is searched.
  • the pixel (3, 1) is searched. Since this pixel position is a dot non-output pixel (a pixel in which “0” is stored), “255” is output to the pixel position (“YES” in steps S162 and S163, and step S164).
  • step S165 when “255” is subtracted from the total tone value "2190", it becomes "1935” (step S165), and there are remaining tone values ("YES” in step S166).
  • Search again for an unoutput pixel closest to the center of gravity step S161).
  • FIG. 11A the state shown in FIG. 11A is obtained.
  • a dot non-output pixel in cell (1) (shown by a dotted line) is searched.
  • FIG. 11B a non-dot output pixel is searched for outside the area of cell (1), and a value indicating dot generation is output to the pixel. You may.
  • the last remaining gradation value is "150". In the example of FIG. 11A, it is output to the pixel position of (1, 1), and in the example of FIG. 11B, it is output to the pixel position of (4, 0).
  • the halftone processing according to the present invention when applied to a flat image having no change in the input tone value, the size of each cell is almost equal, so that the image is generated in an adjacent cell. Variations in the distance between dots are reduced. Therefore, a visually good image is formed. Also in this case, since the dots are generated centering on the position of the center of gravity, it is needless to say that the occurrence of isolated dots is prevented, and that the processing is accelerated because the cell size is fixed.
  • each force cell which is evident from Fig. 3 and the like, are located adjacent to each other in the cell.
  • the pixels constituting the cell (1) are located at the position of a partial force (100, 0) and are located discretely, isolated dots will be generated.
  • the cells By configuring the cells as shown in Fig. 3, etc., it is possible to suppress the occurrence of isolated dots because the cells have a large area. Further, since they are adjacent to each other, it is possible to reduce information on the coordinate position of a pixel located in the cell. Therefore, the position information stored in the ROM 25 or the like is reduced, so that the memory capacity can be reduced.
  • the block composed of a circular cell frame has been described as an example of the cell blocks 25 :! to 254.
  • a cell block having a diamond-shaped cell frame shown in Fig. 12A may be used.
  • the cell frame may be arranged so that the cell frame is square and vertically shifted as shown in FIG. 12B, or the cell may be arranged such that the square cell frame is arranged vertically as shown in FIG. It may be a block. In short, make sure that there are no gaps in each cell block do it. In this case, the same operation and effect as those of the above-described example can be obtained.
  • halftone processing for monochrome data may be performed for color data.
  • RGB red, green, blue
  • CMYK cyan, magenta, yellow, black
  • the above-described halftone processing may be performed by the host computer 10.
  • the quantized data after the above-described halftone processing is input from the host computer 10 to the image processing device 20, and the image processing unit 21 performs pulse width modulation.
  • the host computer 10 functions as the image processing device according to the present invention.
  • the color conversion processing and the halftone processing according to the present invention may be performed by the host computer 10, and the host computer 10 may perform the processing on the color data.
  • the quantized data is output to the image processing device 20, and a process such as pulse width modulation is performed and printing is performed.
  • the input tone value has a level value from “0” to "255”
  • the example of the output tone value also has a level value from “0” to "255”.
  • the input and output may have various level values such as "0" to "127”.
  • N is an integer
  • M is also an integer and N ⁇ M. If you are,
  • the pixel at each position belongs to what cell number.
  • a matrix in which the cell numbers are recorded For example, a powerful matrix is stored in the ROM 25 or the like, the matrix is overlapped with the input data, the CPU 24 determines which cell is included in each pixel, and the center of gravity position is calculated in each cell to perform processing. Let go. Exactly the same effect can be achieved even when the user is strong.
  • a facsimile / copy machine in addition to the above-described printer, a facsimile / copy machine, and a so-called multifunction machine having these functions can also provide the same function and effect.
  • a personal computer a mobile phone, a PDA ( Personal Digital Assistance), digital camera, and other portable information devices

Abstract

孤立したドットの発生を防いで画質劣化のない安定したドットを生成させるとともに、ハーフトーン処理の処理速度の早い画像処理装置や、画像処理方法を提供すること。入力画像データに対して、2種類以上のレベル値を有する出力画像データに変換して出力する画像処理装置において、予め決められた画素群に基づいて前記画素群に含まれる前記各画素の前記入力画像データから重心位置を決定する重心位置決定手段と、前記重心位置決定手段で決定した前記重心位置に基づく画素に前記レベル値を付与する付与手段と、を備えた画像処理装置であることを特徴とする。

Description

明 細 書
画像処理装置、画像処理方法、及びプログラム
技術分野
[0001] 本発明は、レーザプリンタなどの画像処理装置における階調画像データのハーフト ーン処理に関する。詳しくは、予め決められたセルを用レ、、そのセル内に含まれる画 素の階調値から重心位置を求めその重心位置に、セル内の画素の階調値の和に対 応する分のドットを生成させるようにしたハーフトーン処理に関する。
背景技術
[0002] 従来から、プリンタなどの画像処理装置は、画素ごとに多値の階調値を有する階調 データに対して、ドットの有無を表す 2値の値に変換して印刷用紙に印刷を行うように なされている。一般には、多値の階調値を 2値の値に変換する処理のことをハーフト ーン処理と称されている。
[0003] かかるハーフトーン処理として、所定の階調値が蓄積されるまで所定の順番で画素 を探索し、蓄積された階調値を入力階調値が大きい画素から順番に再配分する処理 (以下、 CAPIX法)がある(例えば、以下の非特許文献 1)。
[0004] また、各画素の階調値の合計が所定の閾値になるまで所定の順番で画素を選択し て複数画素からなる画素群(以下、「セル」)を構成し、そのセルの中心位置にドットを 生成させるようにしたハーフトーン処理も知られている(例えば、以下の特許文献 1)。
[0005] さらに、重心位置から最も近い位置にある画素を閾値に達するまで選択しながらセ ルを構成し、セル内の重心位置にドットを生成させるようにする力 その閾値を入力 階調値に応じて変化させるようにしたものもある(例えば、以下の特許文献 2)。
[0006] さらに、入力階調値と所定のサイズからなる閾値マトリックス(変換テーブル)とを比 較してドットを生成させるようにした、いわゆる網点処理によるハーフトーン処理もある 非特許文献 1:黒沢俊晴、他 3名、 "周辺濃度集積再配分法 (CAPIX法)による擬似 中間階調プロセッサ"、画像電子学会誌 第 17卷 第 5号(1988年)
特許文献 1:特開平 11 27528号公報 特許文献 2 :特願 2003— 352270号
発明の開示
発明が解決しょうとする課題
[0007] しかしながら、上述した CAPIX法では入力階調値の大きい画素がとびとびに存在 したとき、その入力階調値に応じて蓄積階調値を配分することになりドットもとびとび に存在することになる。力かる孤立したドットをレーザプリンタで再現させると、必ずし も安定したドットが再現できるとは限らなレ、。感光体ドラムへのトナーの付着はまとまつ た大きさのドットの方が安定するからである。力かる不安定なドットは画質劣化を生じ させる原因となっていた。
[0008] また、上述した特開平 11— 27528号は、階調値の合計が" 255"となるまで画素を 選択してセルを構成するようにし、その中心に位置する画素にドットを生成させるよう にしている。したがって、 1画素分のドットを生成させるようにしているため、同様に孤 立したドットが発生し、ドットの再現が不安定となる。
[0009] 一方、上述した特願 2003— 352270号は、セルの構成に必要な閾値を入力階調 値に応じて変化させることで、安定したサイズのドットを発生させるようにしている。し 力しながら、セルを構成する画素を選択するために重心位置を何度も演算する必要 がありハーフトーン処理が遅くなるという問題があった。
[0010] さらに、上述した網点処理に関しても、連続した入力階調値が存在する領域におい て、閾値マトリックス内の比較する閾値によっては孤立したドットを発生させる場合もあ る。
[0011] そこで、本発明は、孤立したドットの発生を防いで画質劣化のない安定したドットを 生成させるとともに、ハーフトーン処理の処理速度の早い画像処理装置や、画像処 理方法を提供することを目的とする。
課題を解決するための手段
[0012] 上記目的を達成するために本発明は、入力画像データに対して、 2種類以上のレ ベル値を有する出力画像データに変換して出力する画像処理装置において、予め 決められた画素群に基づいて画素群に含まれる各画素の入力画像データから重心 位置を決定する重心位置決定手段と、重心位置決定手段で決定した重心位置に基 づく画素にレベル値を付与する付与手段と、を備えたことを特徴としている。これによ り、例えば、画素群が予め決められているので処理が早くなり、そして重心位置に基 づく画素にドットを生成させるレベル値を付与しているのでドットが集中し孤立したドッ トの生成を防ぐことができる。
[0013] また、本発明は上記画像処理装置において、上記付与手段で付与された N種類の レベル値に対して K段階 (Kは正の整数)のパルス幅を生成するパルス幅変調手段、 をさらに備えることを特徴としている。これにより、例えば、より多くの階調表現を可能 としたハーフトーン処理を実現することができる。
[0014] さらに、本発明は上記画像処理装置において、上記重心位置決定手段は、各画素 の画素位置と各画素の入力画像データのレベル値との積を画素群に含まれる全画 素に対して演算し、その和を画素群に含まれる各画素の入力画像データのレベル値 の合計値で除算した値を重心位置として決定する、ことを特徴としている。これにより 、例えば、各画素の階調値を含めた重心位置を容易に演算することができる。
[0015] さらに、本発明は上記画像処理装置において、上記付与手段は、レベル値を重心 位置に近い画素から優先的に選択し、当該選択した画素にレベル値を付与する、こ とを特徴としている。これにより、例えば、重心位置に近い画素から順番にレベル値を 付与するため、孤立したドットの発生を防ぐことができる。
[0016] さらに、本発明は上記画像処理装置において、上記付与手段は、レベル値を重心 位置に最も近い画素に付与したとき、画素群に含まれる各画素のレベル値の合計値 力 付与したレベル値を減算してレベル値に余りがあれば当該余りのレベル値をレ ベル値を付与した画素以外の画素であって重心位置から最も近い画素に付与する、 ことを特徴としている。これにより、例えば、重心位置から成長したドットが生成され、 ある程度まとまったドットが生成されるので孤立したドットの生成を防ぐことができる。
[0017] さらに、本発明は上記画像処理装置において、上記付与手段は余りのレベル値が 1画素分のドットを生成させる N種類のレベル値でないとき、余りのレベル値を N種類 のレベル値を付与した画素以外の画素で重心位置から最も近い画素でありかつ画 素群に含まれる画素に付与する、ことを特徴としている。
[0018] さらに、本発明は上記画像処理装置において、上記重心位置決定手段は画素群 に含まれる各画素の座標位置を保持することで画素群を予め決めてレ、る、ことを特徴 としている。これにより、例えば、セルを構成するために重心位置を何度も演算するこ とがないためにハーフトーン処理の早い画像処理装置を提供することができる。
[0019] さらに、本発明は上記画像処理装置において、画素群に含まれる各画素は互いに P 接している、ことを特徴としている。これにより、例えば、セルがまとまった面積を持 つため孤立したドットの発生を防ぐとともに、セルを構成する画素の位置情報を少なく することができるためメモリ容量の削減を図ることができる。
[0020] また、上記目的を達成するために本発明は、入力画像データに対して、 2種類以上 のレベル値を有する出力画像データに変換して出力する画像処理方法において、 予め決められた画素群に基づいて画素群に含まれる各画素の入力画像データから 重心位置を決定する重心位置決定工程と、重心位置決定工程で決定した重心位置 に基づく画素にレベル値を付与する付与工程と、を備えたことを特徴としている。これ により、例えば、画素群が予め決められているので処理が早くなり、重心位置に最も 近い画素にドットを生成させるレベル値を付与しているのでドットが集中し孤立したド ットの生成を防ぐことができる。
[0021] さらに、上記目的を達成するために本発明は、入力画像データに対して、 2種類以 上のレベル値を有する出力画像データに変換して出力する処理をコンピュータに実 行させるためのプログラムにおいて、予め決められた画素群に基づいて画素群に含 まれる各画素の入力画像データから重心位置を決定する重心位置決定処理と、重 心位置決定処理で決定した重心位置に基づく画素にレベル値を付与する付与処理 と、をコンピュータに実行させるプログラムであることを特徴としている。これにより、例 えば、画素群が予め決められているので処理が早くなり、重心位置に最も近い画素 にドットを生成させるレベル値を付与しているのでドットが集中し孤立したドットの生成 を防ぐ処理をコンピュータで実現することができる。
[0022] さらに、上記目的を達成するために本発明は、入力画像データに対して、 2種類以 上のレベル値を有する出力画像データに変換することで網点画像を生成する網点 画像生成装置において、予め決められた画素群に基づいて画素群に含まれる各画 素の前記入力画像データから重心位置を決定する重心位置決定手段と、重心位置 決定手段で決定した重心位置に基づく画素に前記レベル値を付与する付与手段と 、を備えたことを特徴としている。これにより、例えば、処理の早い網点画像を生成す るとともに孤立した網点の生成を防ぎ、さらに、解像性が向上し、入力階調値に忠実 な出力を得る。
[0023] さらに、上記目的を達成するために本発明は、入力画像データに対して、 2種類以 上のレベル値を有する出力画像データに変換することで網点画像を生成する網点 画像生成方法において、予め決められた画素群に基づいて画素群に含まれる各画 素の入力画像データから重心位置を決定する重心位置決定工程と、重心位置決定 工程で決定した重心位置に基づく画素に前記レベル値を付与する付与工程と、を備 えたことを特徴としている。これにより、例えば、処理の早い網点画像を生成するととも に孤立した網点の生成を防ぎ、さらに、解像性が向上し、入力階調値に忠実な出力 を得る。
[0024] さらに、上記目的を達成するために本発明は、入力画像データに対して、 2種類以 上のレベル値を有する出力画像データに変換することで網点画像を生成する網点 画像生成処理をコンピュータに実行させるプログラムにおいて、予め決められた画素 群に基づいて画素群に含まれる各画素の入力画像データから重心位置を決定する 重心位置決定処理と、重心位置決定処理で決定した重心位置に基づく画素にレべ ル値を付与する付与処理と、をコンピュータに実行させるプログラムであることを特徴 としている。これにより、例えば、処理の早い網点画像を生成するとともに孤立した網 点の生成を防ぎ、さらに、解像性が向上し、入力階調値に忠実な出力を得る処理を コンピュータで実現することができる。
さらに、上記目的を達成するために本発明は、入力画像データに、入力画像データ の複数の画素を含む予め定められたセルを割り当てる手段と、セル内の複数の画素 の階調値からセル内の重心位置を決定する手段と、セル内の複数の画素の階調値 の和に対応するドットを少なくとも重心位置を含む画素に発生させる手段と、を有する 画像処理装置であることを特徴としている。これにより、例えば、孤立したドットの発生 を防ぐとともに処理の早レ、画像処理装置を提供することができる。
図面の簡単な説明 [0025] [図 1]本発明が適用されるシステム全体の構成を示す図である。
[図 2]画像処理装置の具体的構成を示す図である。
[図 3A]セルブロックの例を示す図である。
[図 3B]セルブロックの例を示す図である。
[図 3C]セルブロックの例を示す図である。
[図 3D]セルブロックの例を示す図である。
[図 4]入力画像に対して適用されるセルブロックの種類を説明するための図である。
[図 5]本発明に係る処理の動作を示すフローチャートである。
[図 6]本発明に係る処理の動作を示すフローチャートである。
[図 7]ドット生成処理の動作を示すフローチャートである。
[図 8A]入力バッファ領域 261の例を示す図である。
[図 8B]出力バッファ領域 262の例を示す図である。
[図 9A]出力バッファ領域 262の例を示す図である。
[図 9B]出力バッファ領域 262の例を示す図である。
[図 10A]入力バッファ領域 261の例を示す図である。
[図 10B]出力バッファ領域 262の例を示す図である。
[図 11A]出力バッファ領域 262の例を示す図である。
[図 11B]出力バッファ領域 262の例を示す図である。
[図 12A]セルブロックの例を示す図である。
[図 12B]セルブロックの例を示す図である。
[図 13]セルブロックの例を示す図である。
[図 14]本発明が適用される他のシステム全体の構成を示す図である。
発明を実施するための最良の形態
[0026] 以下、図面を参照して本発明を実施するための最良の形態を説明する。図 1は、本 発明が適用されるシステム全体の構成を示す図である。全体としてホストコンピュータ
10と、画像処理装置 20とから構成される。
[0027] ホストコンピュータ 10は、アプリケーション部 11とラスタライズ部 12とから構成される
。アプリケーション部 11では、文字データ、図形データ、ビットマップデータ等の印刷 対象のデータが生成される。例えば、ホストコンピュータ 10でワードプロセッサや図形 ツールなどのアプリケーションプログラムを使用してキーボード等の操作により文字デ ータゃ図形データなどが生成される。生成されたこれらのデータは、ラスタライズ部 1 2へ出力される。
[0028] ラスタライズ部 12では、アプリケーション部 11から出力された印刷対象のデータを 画素ごと(又はドットごと)に 8ビットの階調データに変換する。したがって、各画素 0か ら 255までの階調値(レベル値)を有することになる。ラスタライズ部 12における階調 データの生成は、実際にはホストコンピュータ 10に実装されたドライバによって処理 が行われる。ラスタライズ部 12から出力される階調データは、画像処理装置 20に出 力される。なお、本実施例においてこの階調データはモノクロデータとして以下説明 する。
[0029] 画像処理装置 20は、全体として画像処理部 21と印刷エンジン 22とから構成される 。画像処理部 21は、ハーフトーン処理部 211と、パルス幅変調部 212とから構成され る。ハーフトーン処理部 211は、ホストコンピュータ 10から出力された階調データが入 力され、 2値以上の多値の値(レベル値)に変換し、量子化データを出力する。パル ス幅変調部 212は、ハーフトーン処理部 211から出力された量子化データが入力さ れ、この量子化データに対してドットごとにレーザ駆動パルス有り又は無しを示す駆 動データを生成する。生成した駆動データは、印刷エンジン 22に出力される。
[0030] 印刷エンジン 22は、レーザドライバ 221とレーザーダイオード(LD) 222と力 構成 される。レーザドライバ 221は、パルス幅変調部 212からの駆動データが入力され、 その駆動データをもとに駆動ノ^レスあり又はなし等を示す制御データを生成し、レー ザ一ダイオード 222に出力する。レーザーダイオード 222は、レーザドライバ 221から 出力された制御データに基づいて駆動され、さらに図示しない感光ドラムや転写べ ルトが駆動されて、実際に印刷用紙等の記録媒体にホストコンピュータ 10からのデー タが印刷されることになる。
[0031] 次に図 2を参照して、画像処理装置 20の具体的構成について説明する。ここで、 図 1の画像処理装置 20のうち、ハーフトーン処理部 211及びパルス幅変調部 212は 、図 2における CPU24、 R〇M25、及び RAM26に対応する。 [0032] 画像処理装置 20は、入力インターフェース(I/F) 23、 CPU24、 ROM25、 RAM 26、印刷エンジン 22とから構成され、バスを介して互いに接続されている。入力 I/F 23は、ホストコンピュータ 10と画像処理装置 20とのインターフェースの役割を果たす 。入力 IZF23には、所定の伝送方式により伝送された、ホストコンピュータ 10からの 階調データが入力され、 CPU24の制御により画像処理装置 20で処理できるデータ に変換される。入力された階調データは、一旦 RAM26に格納される。
[0033] CPU24は、バスを介して入力 IZF23、 R〇M25、 RAM26、印刷エンジン 22と接 続され、 ROM25に格納されたプログラムを適宜読み出して、ハーフトーン処理等の 各種処理を行う。その詳細は後述する。
[0034] RAM26は、 CPU24で実行される各処理のワーキングメモリとして役割を果たし、 処理中や処理後の各種データが格納される。また、印刷エンジン 22のレーザドライ ノく 221を駆動させるための駆動データも格納される。
[0035] 印刷エンジン 22は、図 1の印刷エンジンと同様の構成で、 RAM26に格納された駆 動データが CPU24の制御により入力されて、上述した印刷処理が行われることにな る。
[0036] 次に本発明によるハーフトーン処理の詳細について図面を参照しながら説明する 力 最初に、図 3乃至図 4を参照して本発明の概要について簡単に説明する。まず、 図 3に示すように 4種類のセルブロック 25:!〜 254を用意する。すなわち、図 3Aに示 す左上端用セルブロック 251と、図 3Bに示す上端用セルブロック 252と、図 3Cに示 す左端用セルブロック 253と、図 3Dに示す通常領域用セルブロック 254である。
[0037] 各セルブロック 25:!〜 254内には複数のセル(図中、太線で表示)が存在する。そ して、セルブロック 25:!〜 254の各セル内には入力画素が複数存在し、各セル内で 重心位置を求めてドット生成のための処理を進めることになる。
[0038] これらの 4つのセルブロック 251〜254は、 1ページ(又は 1フレーム)分の入力画像 100に対して図 4に示すように適用される。すなわち、入力画像 100の左上端ブロッ ク Bk には、左上端用セルブロック 251が適用され、入力画像 100の上端ブロック Bk
11
〜Bk (m≥2)には上端用セルブロック 252が適用される。また、入力画像 100の
21 ml
左端ブロック Bk 〜Bk (n≥ 2)には左端用セルブロック 253が適用され、入力画像 100のそれ以外のブロック Bk (2≤X≤m、 2≤Y≤n)には通常領域用セルブロック
ΧΥ
254が適用される。
[0039] ここで、図 3に戻り左上端用セルブロック 251の上部にある 7番目のセルの右半分は 右隣のセルブロック 252に含まれることになり、したがって上端用セルブロック 252の 左上にある 1番目のセルの左側はセル番号が割り当てられておらず、上端用セルブ ロック 252内で処理は行われないことになる。これは、力かる 7番目のセルを 2つに区 切って左上端用セルブロック 251、上端用セルブロック 252それぞれ別々に処理を 行うと別々にドットが打たれてしまい、孤立したドットの発生につながる。そこで、 2つ のセルブロックに跨っているセルについてはいずれか一方のセルブロック内で処理 するようにしている。このようなことは、左上端用セルブロック 251の最も下に位置する セルと左端用セルブロック 253の最も上に位置するセルなど、各セルブロック 251〜 254間で発生する。
[0040] このようなセルブロック 251〜254を入力画像 100に適用し、各ブロック 251〜254 内の予め決められたセル枠内で入力階調値に応じた重心位置を求め、当該重心に 位置する画素にドット生成を示す値 (例えば" 255")を割り当てる。このときセル内の 階調値の合計に応じてさらにドット生成を示す値を割り当てるときは、重心から最も近 い画素に割り当てるようにする。
[0041] 重心位置の演算ではセル内の画素の階調値の合計値に応じて重心位置にドットを 集中させるよう処理を行っているために、孤立したドットの発生を抑え、ある程度の大 きさのドットが発生しやすくなる。したがって、安定したドットが発生し画質劣化のない 画像を再生することができる。また、セルを構成するときに、毎回重心位置を演算して セルに取りこむべき画素を求めることはせず、セルブロック 251〜254内で予め決め られたセルを適用しているため、セル構成のための処理時間がなくなり、その分処理 が早くなる。
[0042] さらに、従来の網点処理の場合は各網点セル(閾値マトリックス)で閾値と入力階調 値とを比較するようにしている力 閾値によってはドットが発生したりしなかったりなど 孤立したドットの発生が生じることも考えられる。しかし、本発明のようにまわりの画素 力も階調値を集めて重心位置からドットを生成するようにしているため、網点処理と比 較して安定したドットを再現することができる。
[0043] さらに、従来の網点処理と比較して本発明の場合、解像性が向上し、入力階調値 に忠実な出力を得ることができる。すなわち、従来の網点処理では網点(ドット)位置 が固定されているため、解像性が網点周期程度に劣化し、例えば文字がギザつくジ ャギ一が発生したり、小さく薄い文字が読みに《なる等の問題があった。本発明で は重心位置にドットが発生して網点が形成されることになるので、細線やエッジの再 現性が向上してジャギーが発生せず、小さく薄い文字が読み易くなり、高解像度の網 点画像を生成する。また、従来の網点処理の場合、大きい閾値によって入力階調値 が切り捨てられ細い線が再現されなかったり、或いはその逆で入力階調値がドット生 成を示す" 255"に切り上げられ太線に変換されたり、入力階調値と出力階調値との 不一致の問題があった。本発明ではセルに含まれる階調値の合計と同じ階調値を有 する網点が生成されることになり、入力画像の階調値に忠実な出力を得ることができ る。なお、以上の議論に鑑みて、本発明が適用されるのは図 1に示す画像処理装置 のみならず、同じ機能を有する網点画像生成装置に適用しても全く同様の効果を奏 することが言える。
[0044] 次に本発明に係るハーフトーン処理の詳細について適宜図面を参照して説明する ことにする。図 5乃至図 7は、処理の動作を示すフローチャートである。
[0045] 図 5に示すように、 CPU24は ROM25から本処理を実行するためのプログラムを読 み出すことで処理が開始される(ステップ S10)。次いで、 CPU24は入力画像 100を RAM26に読み込む処理を行う(ステップ Sl l)。例えば、 RAM26の所定領域に設 けられた入力バッファ領域 261に入力画像 100の各階調値が格納される。この例を 図 8Aに示す。この入力バッファ領域 261の各座標位置は全体画像の各画素位置に 対応するもので、 (0, 0)の座標位置は、全体画像の(0, 0)に位置する画素に対応 する。また、各座標位置に格納された値は当該画素の入力階調値を示す。図 8Aの 例は、入力画像 100の左上端に薄い線が存在する画像の例である。なお、入力バッ ファ領域 261は 5行 5列の例で示している力 これは説明を容易にするためであって 、例えば 1ページ(1フレーム)分の画像を格納できる構成であってもよいし、この図よ り少ない行と列の構成であってもよい。 [0046] 図 5に戻り、次いで CPU24は繰り返しブロックを入力画像 100の左上に設定し、 N に" 1"を代入する(ステップ S12)。すなわち、入力画像 100の左上端ブロック Bk に
11 左上端用セルブロック 251を適用するようにし、さらにセルブロック 251内のセル番号 を示す Nに" 1"を代入する。入力画像 100の左上端部の領域から処理を始めるため である。図 8Aの例では、この領域 261に左上端用セルブロック 251の番号 1のセル( 以下、セル(1) )が適用されることになる。
[0047] 次レ、で、 CPU24はブロック内の N番目のセルに含まれる全画素を参照する(ステツ プ S13)。図 8Aの例では、セル(1)に含まれる全画素を参照することになる。このセ ル(1)の枠は、図 8Aにおいて太線で示す。ここで、各セルに含まれる参照すべき画 素は例えば座標位置でリストイ匕され、力かる情報が R〇M25 (又は RAM26)に格納 される。そして、本ステップ S13の処理の際に CPU24が読み出してセル内に含まれ る画素を参照することになる。図 8Aの例では、セル(1)に含まれる画素として、(0, 0 )、 (1, 0)、 ·、 (4, 0)、 (0, 1)、 · · ·、 (1, 4)がリストイ匕され ROM25等に格納され てレ、る。セルブロック 251内の他のセル(N)につレ、ても同様である。
[0048] 次いで、 CPU24はセル内における参照画素の階調値の合計を演算する(ステップ S14)。その後の重心位置演算の処理で必要だからである。図 8Aの例においてセル (1)内の階調値の合計は、 "365"となる。この合計値は、 CPU24によって、例えば R AM26の所定領域に格納される。
[0049] 次いで、 CPU24は参照画素の重心を演算する(ステップ S 15)。重心位置に基づ いてドットを生成する処理を行うためである。重心位置の演算は、以下の式を用いる。
[0050] 刚 χ £{ (各画素の X座標) χ (各画素の階調値) }
セル内の階調値の合計 γ (各画素の Υ座標 ) χ (各画素の階調値) }
セル内の階調値の^ ( X重心、 Υ重心は重心位置の座標)
[数 1]に示すように、各座標位置に当該画素の階調値を積算した値をセル内の参 照画素すべてに対して行い、その和をセル内の階調値の合計値 (ステップ S15で演 算した値)で除算する。この [数 1]は、例えば ROM25に格納され、本処理のときに C
PU24が ROM25から読み出して演算を行う。図 8Aの例では、(X , Y ) = (1. 5 重心 重心
1, 1. 51)となる。演算した重心位置は、例えば RAM26に格納される。
[0051] 図 5に戻り、次いで CPU24はドット生成処理を行う(ステップ S 16)。すなわち、演算 した重心位置からドットをどの画素位置に生成させるかの処理を行う。ドット生成処理 の詳細を図 7に示す。ドット生成処理 (ステップ S16)に移行すると、まず CPU24は重 心位置に最も近いドット未出力画素を探索する(ステップ S161)。図 8Bには、 RAM 26の所定領域内に設けられた出力バッファ領域 262の例を示す。この出力バッファ 領域 262は、ドットの生成の有無を示す値を格納するためのメモリで、入力バッファ領 域 261と同様に各座標位置が全体画像の各画素位置に対応する。なお、この出力 バッファ領域 262の全領域には予め" 0"が格納されているものとする。ここでドット未 出力画素とは、ドット無しを示す" 0"が格納された画素のことで、ドット未出力画素の 探索は出力バッファ領域 262から判断することができる。図 8Aの例では、重心位置 の座標が(1. 51, 1. 51)となっているので、(2, 2)の座標に位置する未出力画素を 探索することになる。なお、図 8Bには理解の容易のため、重心位置 2621を示す。
[0052] 図 7に戻り、次いで CPU24は未出力画素があるか否か判断する(ステップ S162)。
図 8Bの例では探索した画素(2, 2)はドット未出力画素なので本ステップで" YES"と 判断され、ステップ S163に移行する。
[0053] ステップ S163において CPU24は、残り階調値が" 255"よりも大きいか否か判断す る(ステップ S163)。図 8Bの例では、階調値の合計値は" 365"で、この時点で階調 値の減算が行われていないので、残り階調値は" 365"である。よって、本ステップ S1 63で" YES"が選択され、処理はステップ S 164に移行する。
[0054] ステップ S164において CPU24は探索した画素に" 255"を出力する。すなわち、 出力バッファ領域 262の探索画素に対応する座標位置に" 255"が格納される。本実 施例においてこの" 255"は、 1画素全体に対してドットの生成を表す値となっている。 図 8Bに示すように、座標位置(2, 2)に" 255"が格納される。
[0055] 次いで、 CPU24は残り階調値から" 255"を減算する(ステップ S165)。図 8Bの例 では、残り階調値" 365"から" 255"を減算すると、 "110"となる。減算後の残り階調 値も、例えば RAM26に格納される。
[0056] 次いで、 CPU24は残り階調値があるか否か判断する(ステップ S166)。上述のステ ップ S165で減算後の残り階調値が RAM26に格納されるので、かかる値を読み出し て" 0"か否かで判断することができる。残り階調値があれば (本ステップで" YES"のと き)、処理は再びステップ S161に移行して上述の処理を繰り返す。一方、残り階調値 がないと(本ステップで" N〇"のとき)、ドット生成処理が終了して図 5のステップ S17 に移行する。
[0057] すなわち、ステップ S161からステップ S166までの処理では、重心に最も近レ、ドット 未出力画素から順に" 255"を出力し、セル内の階調値の合計値がなくなるまでこれ を繰り返すことになる。したがって、セル内の階調値の合計値が多いと、それだけ" 25 5"を出力する画素が多くなりドットの生成が多くなる。合計値が低いと逆にドットの生 成が少なくなる。よって、セル内の入力階調値の大きさに対応したドットを生成させる こと力 Sできる。
[0058] 一方、残り階調値が" 255"以下のとき(ステップ S163で" NO"のとき)、残り階調値 を探索した画素に出力する(ステップ S167)。図 8Bの例では、残り階調値が" 110" で、 "255"以下のため、この残りの階調値" 110"を重心位置に最も近いドット未出力 画素に出力することになる。重心位置(1. 51 , 1. 51)に最も近いドット未出力画素は 、 (2, 1)と(1 , 2)に位置する 2つの画素がある。この場合、図 9Aに示すように残りの 階調値" 110"を均等に 2つの画素に出力するようにしてもよいし、図 9Bに示すように いずれか一方の画素に出力するようにしてもよい。そして、ドット生成処理 (ステップ S 16)が終了して、図 5のステップ S17に移行することになる。
[0059] また、重心に最も近いドット未出力画素を探索したものの未出力画素がないとき(ス テツプ S162で" N〇"のとき)、セル内の全画素についてドット生成を示す値が格納さ れたことになり、本ドット生成処理が終了してステップ S17に移行することになる。
[0060] ドット生成処理 (ステップ S 16)においては、上述したようにセル内の階調値の合計 値に基づいて重心位置に近い画素から順にドット生成を示す値を出力するようにして いるために、ドットは重心位置を中心に円状に成長し、まとまったドットを生成させる確 率が高くなる。
[0061] レーザプリンタの場合、露光ユニット内のレーザ光を感光体ドラムに照射することで 潜像を形成するが、例えば 1画素分のドットを形成させるようにするとき、かかる潜像 が形成された感光体ドラムにトナーを付着させるとドット幅が小さすぎてトナー力 まく 付着できない場合もある。印刷再生された用紙上では本来あるべき位置にドットが形 成されていなかったりする場合もある。すなわち、孤立したドットはその再現性が不安 定で、これが画質の劣化に繋がってしまう。
[0062] —方、 3画素分、 4画素分と、できるだけ大きな、まとまったドットを生成させるように すれば、トナー力 Sうまく付着できすにドットが形成されない等の不都合を解消して画 質劣化を防止することができる。そのために、本発明では重心位置を中心にして順 次ドットを生成させるようにし、孤立したドットの生成を防レ、でレ、る。
[0063] 再び図 5に戻り、ドット生成処理 (ステップ S16)が終了すると、次いでセル番号 Nが N か否か判断する(ステップ S 17)。 N は、セルブロック 251〜254内に含まれる
MAX MAX
セルの数の最大値である。ここでは、各セルブロック 251〜254内の全てのセルに対 してステップ S13からステップ S16までの処理が終了したか否かを判断している。例 えば、この N は ROM25 (又は RAM26)に格納され本ステップで CPU24が適宜
MAX
読み出して、 RAM26に格納されたセル番号 Nの値と比較することで処理を行う。
[0064] セル番号 Nが N と等しくなレ、とき(ステップ S17で" NO',のとき)、次いで CPU24
MAX
はセル番号 Nに 1を加算し(ステップ S18)、その次のセルに対して上述の処理を繰り 返すことになる(ステップ S 13に移行)。図 9A、 Bの例では 1番目のセルに対して処理 が終了したことになるので、 2番目のセルに対して上述の処理(ステップ S13から S17 )を繰り返すことになる。
[0065] 一方、セル番号 Nが N と等しいとき(ステップ S17で" YES"のとき)、すなわち 1つ
MAX
のセルブロック 251〜254内のすべてのセルに対して上述の処理を終えたとき、図 6 のステップ S19に移行し、ブロック右端より右に未処理画素があるか否か判断する(ス テツプ S19)。例えば、図 9A、 Bの例では入力画像 100の左上端ブロック Bk (図 4参
11 照)の処理なので、そのブロック Bk の右隣には未処理画素を含むブロック Bk が存
11 12 在するため、本ステップで" YES"が選択される。 [0066] ブロック右端より右に未処理画素があれば(ステップ S19で" YES"のとき)、ブロック を 1つ右に移動し、そのブロック内での上述した処理を行うべくセル番号 Nに "1"を代 入する(ステップ S20)。すなわち、最初に左上端のブロック Bk に対して処理を行い
11
、次にその右隣にあるブロック Bk の処理(ステップ S13から S18までの処理)を行い
12
、順次処理対象のブロックを 1つずつ右側に移動させるのである。
[0067] なお、上端用セルブロック 252に含まれる各セルのリストイ匕された座標位置につい ては、入力画像の各上端ブロック Bk 〜Bk に適用する各ブロック 252間ですベて
21 ml
同じである。すなわち、入力画像 100のブロック Bk とブロック Bk とで適用される上
21 31
端用セルブロック 252内の座標位置は同じである。し力し、入力画像 100のブロック B k と Bk とでは各画素の座標位置は異なる。そこで、ブロック Bk の幅分の距離(ォ
21 31 21
フセット値)を上端用セルブロック 252の各セルの座標位置に加算してブロック Bk に
31 対して上端用セルブロック 252を適用する。また、ブロック Bk に対しては、この演算
41
した上端用セルブロック 252の各セルの座標位置にブロック Bk の幅分の距離を加
31
算する。順次これを繰り返して各上端ブロック Bk 〜Bk に適用する上端用セルプロ
21 ml
ック 252の各セルの座標位置を求める。これにより、上端用セルブロック 252につい て各ブロック Bk 〜Bk に適用するセルブロック 252ごとに異なるセル内の座標位置
21 ml
を持たせる必要がなぐメモリ容量 (ROM25など)の削減を図ることができる。このこと は、左端用セルブロック 253や通常領域用セルブロック 254に関しても全く同様であ る。
[0068] 図 6に戻り、ブロック右端より右に未処理画素がないとき(ステップ S19で "N〇"のと き)、次いで CPU24はブロック下端より下に未処理画素があるか否か判断する(ステ ップ S21)。例えば、左上端のブロック Bk 力 順次右にブロックを移動させ、右上端
11
のブロック Bk (図 4参照)の処理が終了したとき、その右に未処理画素が存在せず(
ml
ステップ 19で" N〇")、本ステップ S21に移行することになる。この場合に、ブロック B k の下端より下に処理を行っていない画素が存在するので" YES"が選択される。 ml
[0069] ここで、入力画像 100の右上端ブロック Bk に適用される上端用セルブロック 252 ml
に関し、図 3Bに示すように最も右側に位置するセル (セル(7)やセル(13)など)の右 隣には適用すべきセルが存在しない。これは、セル(7)の中央付近から右側には入 力画素が存在しないからである。つまり、入力画像 100の右端は、セル(7)の中央付 近力 鉛直方向を境にして存在している。もし、セル(7)やセル(13)より右側に入力 画像 100の右端が位置しているときは、再びその領域に上端用セルブロック 252を 適用し、入力画素がないと処理を行わないようにすればよレ、。このことは、ブロック Bk に適用される左端用セルブロック 253や、ブロック Bk に適用される通常領域用セ
In mn
ルブロック 254に関しても同様である。
[0070] 図 6に戻り、ブロック下端より下に未処理画素が存在すると(ステップ S21で" YES" のとき)、次いで CPU24はブロックを 1段下の最左位置に移動させ、当該ブロックで の処理を行うべくセル番号 Nに" 1 "を代入して、ステップ S13に移行することになる。 例えば、ブロック Bk (図 4参照)まで処理を終了すると、次はその下の最も左端に位
ml
置するブロック Bk に対して処理 (ステップ S13からステップ S18までの処理)を進め
12
ることになる。
[0071] 一方、ブロック下端より下に未処理画素がないとき(ステップ S21で" NO"のとき)、 以上述べてきた一連の処理は終了することになる(ステップ S23)。例えば、最も右下 に位置するブロック Bk での処理が終了すると、そのブロック Bk の右端より右に未
mn mn
処理画素がなく(ステップ S19で "NO")、し力も、ブロック Bk の下端より下に未処理
mn
画素が存在しない(ステップ S21で "NO")ので、入力画像 100のすベてのブロックに 対する処理が終了したことになる。
[0072] ステップ S19からステップ S22までの処理はブロックの移動のさせ方に関する処理 である。力かる移動の方法以外にも、例えば右上端ブロック Bk 力も順次左側のプロ
ml
ックに移動させ、最も左のブロックに移動するとすぐ下の右端のブロックに移動して処 理を行う場合でもよいし、左下端ブロック Bk 力 順次右ブロックに移動してすぐ上の
In
ブロックへと処理を行う場合でもよい。
[0073] そして、出力バッファ領域 262に格納されたドット生成の有無を示す出力値が量子 化データとしてハーフトーン処理部 211 (図 1参照)からパルス幅変調部 212に出力 される。そして、この値に基づくパルス幅が生成され印刷画像が印刷用紙等に形成さ れる。例えば、 "255"が出力された画素では 1画素分のパルス幅が生成され、 "128" では 1画素の半分のパルス幅、 "64"は 4/1のパルス幅、等となる。すなわち、出力 ノ ッファ領域 262に格納された出力値はトナーのビーム付着領域であるドット領域を 表現し、ドット生成の有無のみならずドットの大きさを表現することになる。より多くの 階調表現(明るさの表現)が可能となり、レーザプリンタで多く使用されている。本実 施例では、パルス幅変調部 212において" 256"段階のパルスを生成するものとする 。もちろん、これ以上の段階数でもこれ以下の段階数のパルスを生成するものでもよ レ、。
[0074] 図 8乃至図 9に示す例は、薄い線が斜めに存在する画像の例でドットの生成につい て説明したが、次に入力階調値が突然変化するような、いわゆるエッジの領域でのド ットの生成について説明する。その例を図 10以降に示す。
[0075] 処理の詳細は説明したので、図 10以降の例では簡単に説明することにする。図 10 Aに示すように入力バッファ領域 261に入力階調値が格納されることで入力画像 100 の読み込みが行われる(ステップ Sl l)。そして、この領域に左上端用セルブロック 25 1のセル番号 1のセル(1)が適用される(ステップ S12、 S13)。もちろん、処理を早く するためにセルの大きさは固定である。セル(1)内の階調値の合計は" 2190" (ステ ップ S14)で、重心位置を 女 1]を用いて演算すると (X , Y ) = (2. 75, 1. 12)
重心 重心
となる(ステップ S 15)。
[0076] そして、ドット生成処理(ステップ S16)に移行し、重心位置に位置するドット未処理 画素を探索する(ステップ S161)。まず、画素(3, 1)を探索する。この画素位置はド ット未出力画素("0"が格納されている画素)なので、当該画素位置に" 255"を出力 する(ステップ S162、 S163ともに" YES,,、ステップ S164)。図 10Bにその列を示す 。次に、階調値値の合計" 2190"から" 255"を減算すると、 "1935"となり(ステップ S 165)、残り階調値があるため(ステップ S166で" YES")再び重心に最も近い未出力 画素を探索する(ステップ S 161)。
[0077] これを繰り返すことで図 11 Aに示す状態となる。なお、この図に示す例は、重心位 置から最も近い画素を探索するときにセル(1)内(点線で図示)のドット未出力画素を 探索するようにしている。しかし、必ずしもセル内でドット未出力画素を探索する必要 はなぐ図 11Bに示すようにセル(1)の領域外でのドット未出力画素を探索し、当該 画素にドット生成を示す値を出力してもよい。なお、最後の残り階調値は" 150"で、 図 11Aの例では(1, 1)の画素位置に、図 11Bの例では(4, 0)の画素位置に出力さ れる。
[0078] 図 11A、 Bに示すように、このエッジの領域においても、重心位置を中心にしてドッ トが固まって配置されるため、孤立したドットと比較して安定したドットの再現を行うこと ができる。また、エッジの再現性についても図 11A、 Bともに入力階調値に忠実で解 像度もよレ、。とくに、セル内でのドット未出力画素の探索に拘泥しない図 11Bの例は 良好である。
[0079] また、入力階調値の変化のない、平坦な画像に対して本発明に係るハーフトーン 処理を適用すると、各セルの大きさはほぼ均等であるため、隣接するセルで生成され るドット間距離にばらつきが少なくなる。したがって、視覚的に良好な画像が形成され る。この場合も、重心位置を中心にしてドットを生成させるようにしているため、孤立し たドットの発生を防ぎ、また、セルの大きさも固定のため処理が早くなることはいうまで もない。
[0080] なお、図 3等から明らかである力 各セルを構成する画素は当該セル内で互いに隣 接して位置している。例えばセル(1)を構成する画素の一部力 (100, 0)の位置に ある等とびとびに存在すると逆に孤立したドットを発生することになる。図 3等のように セルを構成することで、セルがまとまった面積を持っため孤立したドットの発生を抑え ることができる。また、互いに隣接しているため、当該セル内に位置する画素の座標 位置に関する情報を少なくすることができる。したがって、 ROM25等に格納された 位置情報も少なくなるのでメモリ容量の削減を図ることができる。
[0081] 以上説明してきたように、本発明によれば孤立したドットの発生を防いで安定したド ットを生成させるとともに、処理の速度が早いハーフトーン処理を実現することができ る。
[0082] 上述の例では、セルブロック 25:!〜 254の例として円状のセル枠からなるブロックで 説明したが、図 12Aに示すひし形のセル枠を有するセルブロックであってもよレ、。ま た、図 12Bに示すようにセル枠が四角形で上下がずれるような配置であってもよレ、し 、図 13に示すように四角形のセル枠が上下整列して配置されるようなセルブロックで あってもよい。要するに、各セルブロックですき間がないようにセルを構成させるように すればよい。この場合でも、上述した例と同様の作用効果を奏する。
[0083] また、上述の例ではモノクロデータに対するハーフトーン処理であった力 カラーデ ータに対する処理であってもよレ、。この場合、ホストコンピュータ 10から RGB (レッド、 グリーン、ブルー)の階調データが画像処理装置 20に入力され、画像処理装置 20に おいて CMYK (シアン、マゼンタ、イェロー、ブラック)の色変換処理を行い、各色ご とに上述の処理を行うことになる。
[0084] さらに、上述したハーフトーン処理がホストコンピュータ 10で行われるようにしてもよ レ、。この場合、上述したハーフトーン処理後の量子化データがホストコンピュータ 10 から画像処理装置 20に入力され、画像処理部 21でパルス幅変調を行うことになる。 このとき、ホストコンピュータ 10が本発明に係る画像処理装置として機能する。
[0085] さらに、図 14に示すように、色変換処理と本発明に係るハーフトーン処理とがホスト コンピュータ 10で行われ、ホストコンピュータ 10でカラーデータに対する処理が行わ れるようにしてもよい。この場合、量子化データが画像処理装置 20に出力され、パル ス幅変調等の処理が行われて印刷が行われる。
[0086] さらに、上述の例では入力階調値として" 0"から" 255"までのレベル値を有し、また 出力階調値の例も" 0"から" 255"までのレベル値を有するものとして説明した力 こ れ以外にも入出力ともに" 0"から" 127"等種々のレベル値であってもよレ、。一般的に は、入力階調値が N種類 (Nは整数)のレベル値を有していたときに出力階調値が M 種類(Mも整数で、 N≥M)のレベル値を有していればよレ、。
[0087] さらに、上述の例ではセル内に含まれる画素に関して、その座標位置をリストイ匕して 処理を行うとして説明したが、それ以外にも例えば、各位置の画素が何番目のセル に属しているかのセル番号を記録したマトリックスによる処理でもよレ、。例えば、力か るマトリックスを ROM25等に格納しておき、このマトリックスと入力データとを重ねて 画素ごとにどのセルに含まれるかを CPU24で判定し、各セルで重心位置を演算して 処理を進めるようにする。力かる場合でも全く同様の効果を奏することができる。
[0088] さらに、画像処理装置 20の例としては上述したプリンタ以外にも、ファクシミリゃ複 写機、これらの機能を有するいわゆる複合機であっても、同様の作用効果を奏する。 さらに、ホストコンピュータ 10としてパーソナルコンピュータや携帯電話、 PDA ( Personal Digital Assistance)、デジタルカメラ、その他の情報携帯端末であってもよい

Claims

請求の範囲
[1] 入力画像データに対して、 2種類以上のレベル値を有する出力画像データに変換し て出力する画像処理装置におレ、て、
予め決められた画素群に基づいて前記画素群に含まれる前記各画素の前記入力 画像データから重心位置を決定する重心位置決定手段と、
前記重心位置決定手段で決定した前記重心位置に基づく画素に前記レベル値を 付与する付与手段と、
を備えたことを特徴とする画像処理装置。
[2] 請求の範囲 1記載の画像処理装置において、
さらに、前記付与手段で付与された前記レベル値に対して K段階 (Kは正の整数) のパルス幅を生成するパルス幅変調手段、
を備えることを特徴とする画像処理装置。
[3] 請求の範囲 1記載の画像処理装置において、
前記重心位置決定手段は、前記各画素の画素位置と前記各画素の前記入力画像 データのレベル値との積を前記画素群に含まれる全画素に対して演算し、その和を 前記画素群に含まれる各画素の前記入力画像データのレベル値の合計値で除算し た値を重心位置として決定する、ことを特徴とする画像処理装置。
[4] 請求の範囲 1記載の画像処理装置において、
前記付与手段は、前記レベル値を前記重心位置に近い画素から優先的に選択し 、当該選択した画素に前記レベル値を付与する、ことを特徴とする画像処理装置。
[5] 請求の範囲 1記載の画像処理装置において、
前記付与手段は、前記レベル値を前記重心位置に最も近い画素に付与したとき、 前記画素群に含まれる各画素のレベル値の合計値から前記付与したレベル値を減 算して前記レベル値に余りがあれば当該余りのレベル値を前記レベル値を付与した 画素以外の画素であって前記重心位置から最も近い画素に付与する、ことを特徴と する画像処理装置。
[6] 請求の範囲 5記載の画像処理装置において、
前記付与手段は、前記余りのレベル値が 1画素分のドットを生成させる前記レベル 値でないとき、前記余りのレベル値を前記レベル値を付与した画素以外の画素で前 記重心位置から最も近い画素でありかつ前記画素群に含まれる画素に付与する、こ とを特徴とする画像処理装置。
[7] 請求の範囲 1記載の画像処理装置において、
前記重心位置決定手段は、前記画素群に含まれる各画素の座標位置を保持する ことで前記画素群を予め決めてレ、る、ことを特徴とする画像処理装置。
[8] 請求の範囲 1記載の画像処理装置において、
前記画素群に含まれる各画素は互いに隣接している、ことを特徴とする画像処理 装置。
[9] 入力画像データに対して、 2種類以上のレベル値を有する出力画像データに変換し て出力する画像処理方法にぉレ、て、
予め決められた画素群に基づいて前記画素群に含まれる前記各画素の前記入力 画像データから重心位置を決定する重心位置決定工程と、
前記重心位置決定工程で決定した前記重心位置に基づく画素に前記レベル値を 付与する付与工程と、
を備えたことを特徴とする画像処理方法。
[10] 入力画像データに対して、 2種類以上のレベル値を有する出力画像データに変換し て出力する処理をコンピュータに実行させるためのプログラムにおいて、
予め決められた画素群に基づいて前記画素群に含まれる前記各画素の前記入力 画像データから重心位置を決定する重心位置決定処理と、
前記重心位置決定処理で決定した前記重心位置に基づく画素に前記レベル値を 付与する付与処理と、
をコンピュータに実行させることを特徴とするプログラム。
[11] 入力画像データに対して、 2種類以上のレベル値を有する出力画像データに変換す ることで網点画像を生成する網点画像生成装置において、
予め決められた画素群に基づいて前記画素群に含まれる前記各画素の前記入力 画像データから重心位置を決定する重心位置決定手段と、
前記重心位置決定手段で決定した前記重心位置に基づく画素に前記レベル値を 付与する付与手段と、
を備えたことを特徴とする網点画像生成装置。
[12] 入力画像データに対して、 2種類以上のレベル値を有する出力画像データに変換す ることで網点画像を生成する網点画像生成方法において、
予め決められた画素群に基づいて前記画素群に含まれる前記各画素の前記入力 画像データから重心位置を決定する重心位置決定工程と、
前記重心位置決定工程で決定した前記重心位置に基づく画素に前記レベル値を 付与する付与工程と、
を備えたことを特徴とする網点画像生成方法。
[13] 入力画像データに対して、 2種類以上のレベル値を有する出力画像データに変換す ることで網点画像を生成する網点画像生成処理をコンピュータに実行させるプロダラ ムにおいて、
予め決められた画素群に基づいて前記画素群に含まれる前記各画素の前記入力 画像データから重心位置を決定する重心位置決定処理と、
前記重心位置決定処理で決定した前記重心位置に基づく画素に前記レベル値を 付与する付与処理と、
をコンピュータに実行させることを特徴とするプログラム。
[14] 入力画像データに、入力画像データの複数の画素を含む予め定められたセルを割り 当てる手段と、
前記セル内の前記複数の画素の階調値からセル内の重心位置を決定する手段と 前記セル内の前記複数の画素の階調値の和に対応するドットを、少なくとも前記重 心位置を含む画素に発生させる手段と、
を有する画像処理装置。
PCT/JP2005/008342 2004-05-06 2005-05-06 画像処理装置、画像処理方法、及びプログラム WO2005109851A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006516895A JPWO2005109851A1 (ja) 2004-05-06 2005-05-06 画像処理装置、画像処理方法、及びプログラム
EP05737323A EP1758368A1 (en) 2004-05-06 2005-05-06 Image processing device, image processing method, and program
US11/553,363 US20070047000A1 (en) 2004-05-06 2006-10-26 Image Processing Device, Image Processing Method, and Program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-137326 2004-05-06
JP2004137326 2004-05-06

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/553,363 Continuation US20070047000A1 (en) 2004-05-06 2006-10-26 Image Processing Device, Image Processing Method, and Program

Publications (1)

Publication Number Publication Date
WO2005109851A1 true WO2005109851A1 (ja) 2005-11-17

Family

ID=35320584

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/008342 WO2005109851A1 (ja) 2004-05-06 2005-05-06 画像処理装置、画像処理方法、及びプログラム

Country Status (4)

Country Link
US (1) US20070047000A1 (ja)
EP (1) EP1758368A1 (ja)
JP (1) JPWO2005109851A1 (ja)
WO (1) WO2005109851A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007194688A (ja) * 2006-01-17 2007-08-02 Seiko Epson Corp 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体
JP2008067259A (ja) * 2006-09-11 2008-03-21 Seiko Epson Corp 画像処理装置、画像出力装置、画像処理方法、画像処理プログラム、およびそのプログラムを記録した記録媒体
US7660017B2 (en) 2005-05-16 2010-02-09 Seiko Epson Corporation Image processor, image processing method and image processing program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4803063B2 (ja) * 2007-02-16 2011-10-26 セイコーエプソン株式会社 画像処理回路およびこれを搭載したプリンタコントローラ

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6029089A (ja) * 1983-07-28 1985-02-14 Matsushita Electric Ind Co Ltd 画像信号処理方法
JPH03217168A (ja) * 1990-01-23 1991-09-24 Canon Inc 画像形成装置
JPH07210672A (ja) * 1994-01-12 1995-08-11 Canon Inc 二値化方法及び装置
JPH09233332A (ja) * 1996-02-21 1997-09-05 Dainippon Screen Mfg Co Ltd 画像信号処理方法および装置
JPH1127528A (ja) * 1997-07-02 1999-01-29 Ricoh Co Ltd 疑似中間調処理方法、装置および記録媒体
JP2001045287A (ja) * 1999-05-25 2001-02-16 Canon Inc 画像処理装置及び方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5055926A (en) * 1990-04-02 1991-10-08 The United States Of America As Represented By The United States Department Of Energy Video image position determination
JP3427026B2 (ja) * 1999-12-24 2003-07-14 大日本スクリーン製造株式会社 網点形成方法および装置
JP3985437B2 (ja) * 2000-08-03 2007-10-03 セイコーエプソン株式会社 電子写真の画像形成装置及びその画像形成プログラム製品

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6029089A (ja) * 1983-07-28 1985-02-14 Matsushita Electric Ind Co Ltd 画像信号処理方法
JPH03217168A (ja) * 1990-01-23 1991-09-24 Canon Inc 画像形成装置
JPH07210672A (ja) * 1994-01-12 1995-08-11 Canon Inc 二値化方法及び装置
JPH09233332A (ja) * 1996-02-21 1997-09-05 Dainippon Screen Mfg Co Ltd 画像信号処理方法および装置
JPH1127528A (ja) * 1997-07-02 1999-01-29 Ricoh Co Ltd 疑似中間調処理方法、装置および記録媒体
JP2001045287A (ja) * 1999-05-25 2001-02-16 Canon Inc 画像処理装置及び方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660017B2 (en) 2005-05-16 2010-02-09 Seiko Epson Corporation Image processor, image processing method and image processing program
JP2007194688A (ja) * 2006-01-17 2007-08-02 Seiko Epson Corp 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体
JP4539567B2 (ja) * 2006-01-17 2010-09-08 セイコーエプソン株式会社 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体
JP2008067259A (ja) * 2006-09-11 2008-03-21 Seiko Epson Corp 画像処理装置、画像出力装置、画像処理方法、画像処理プログラム、およびそのプログラムを記録した記録媒体
JP4702234B2 (ja) * 2006-09-11 2011-06-15 セイコーエプソン株式会社 画像処理装置、画像出力装置、画像処理方法、画像処理プログラム、およびそのプログラムを記録した記録媒体

Also Published As

Publication number Publication date
US20070047000A1 (en) 2007-03-01
JPWO2005109851A1 (ja) 2008-03-21
EP1758368A1 (en) 2007-02-28

Similar Documents

Publication Publication Date Title
JP4165570B2 (ja) 画像処理装置,画像処理方法,及び画像処理プログラム
JP2009069680A (ja) 画像処理装置及びプログラム
JP2004112269A (ja) 色処理方法および色処理装置、記憶媒体、色処理プログラム、画像形成装置
KR102307264B1 (ko) 화상 처리 장치, 화상 처리 방법 및 저장 매체
WO2005109851A1 (ja) 画像処理装置、画像処理方法、及びプログラム
US9147140B2 (en) Image processing apparatus, method, and product for converting image data into fewer gradations based on total value of pixels in a group except for a detected pixel having a specific value
JP4412248B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
KR20060107395A (ko) 컬러 에러 확산
JP4742871B2 (ja) 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体
JP2004080109A (ja) 画像形成装置、画像形成方法およびその方法をコンピュータに実行させる画像形成プログラム
JP4539567B2 (ja) 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体
JP2012165192A (ja) 印刷装置、および、印刷方法
JP5603613B2 (ja) 画像処理装置および画像処理方法
JPH10229501A (ja) 画像処理装置及び方法
JP4337670B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2005295131A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP4492723B2 (ja) 画像処理装置,画像処理方法,及び画像処理プログラム
JP2006325136A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP2006115369A (ja) 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体
JP2005269131A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2016019111A (ja) 画像処理装置、その制御方法およびプログラム
JP2005151065A (ja) 画像処理装置、及び画像処理のためのプログラム
JP2005341142A (ja) 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体
JP2005341351A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2005318402A (ja) 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2006516895

Country of ref document: JP

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 11553363

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2005737323

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 2005737323

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11553363

Country of ref document: US