WO2005104525A1 - 複数画素ずつ多値化を行う画像処理装置 - Google Patents

複数画素ずつ多値化を行う画像処理装置 Download PDF

Info

Publication number
WO2005104525A1
WO2005104525A1 PCT/JP2005/008273 JP2005008273W WO2005104525A1 WO 2005104525 A1 WO2005104525 A1 WO 2005104525A1 JP 2005008273 W JP2005008273 W JP 2005008273W WO 2005104525 A1 WO2005104525 A1 WO 2005104525A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
pixel group
pixel
image
dots
Prior art date
Application number
PCT/JP2005/008273
Other languages
English (en)
French (fr)
Inventor
Toshiaki Kakutani
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 EP05736571A priority Critical patent/EP1744539A4/en
Priority to JP2006512662A priority patent/JP4375398B2/ja
Publication of WO2005104525A1 publication Critical patent/WO2005104525A1/ja
Priority to US11/585,014 priority patent/US20070035772A1/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • 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/4055Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern
    • H04N1/4057Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern the pattern being a mixture of differently sized sub-patterns, e.g. spots having only a few different diameters
    • 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/41Bandwidth or redundancy reduction
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas

Definitions

  • Image processing device that multi-values each pixel
  • the present invention relates to a technology for outputting an image based on image data, and more particularly, to a technology for outputting an image by performing predetermined image processing on image data to generate dots at an appropriate density.
  • Image output devices that output images by forming dots on various output media such as print media and liquid crystal screens are widely used as output devices for various image devices.
  • images are handled in a state subdivided into small areas called pixels, and dots are formed in these pixels.
  • dots are formed in pixels, of course, if one looks at each pixel, one can only take the state of whether dots are formed or not. However, if we look at the area with a certain size, it is possible to cause the density of the dots to be formed to be uneven, and by changing the density of the dots, we can output multi-tone images. It is possible.
  • the dot formation density is appropriately controlled, it is possible to output a multi-tone image.
  • the process of controlling the formation of dots to obtain an appropriate formation density is generated by performing predetermined image processing on an image to be output.
  • these image output devices have been required to have higher quality and larger image output images. To meet the demand for higher image quality, it is effective to divide the image into smaller pixels.
  • An object of the present invention is to provide a simple image processing technology that can be executed without using a device having a high processing capability such as a personal computer.
  • the image processing device of the present invention employs the following configuration. That is, the present invention processes image data representing an image represented by a predetermined number of gradations, and performs multi-level conversion of each pixel constituting the image with a number of gradations smaller than the predetermined number of gradations.
  • a pixel group gradation value which is a gradation value representing a pixel group in which a plurality of pixels are grouped, and a multi-value quantization result value representing a result of the multi-value quantization for each pixel constituting the pixel group.
  • a pixel group gradation value determination unit that extracts a group of pixels corresponding to the pixel group from the image data representing the image, and determines the pixel group gradation value for each pixel group that is the group of the extracted pixels; Means,
  • a multi-level conversion unit that obtains a multi-level conversion result value for each pixel group forming the image based on the pixel group gradation value by referring to the correspondence relationship;
  • Control data output means for generating and outputting a control data for forming the image from the multi-value quantization result value obtained for each pixel group;
  • the gist is to provide Further, the image processing method of the present invention corresponding to the above image processing apparatus processes image data representing an image represented by a predetermined number of gradations, and for each pixel constituting the image,
  • An image processing method for performing multi-level conversion with a small number of gradations comprising: a pixel group gradation value that is a gradation value representing a pixel group in which a plurality of pixels are grouped; A correspondence between the pixel and the multi-value quantization result value representing the result of the multi-value quantization is prepared in advance,
  • a multi-value halftoning result value for each pixel group constituting the image is obtained based on the pixel group gradation value, Generating and outputting control data for forming the image from the multilevel halftoning result value obtained for each of the pixel groups;
  • the gist is.
  • a pixel group gradation value that is a gradation value representative of the pixel group is set. It is determined, and the obtained pixel group gradation values are converted into multi-valued values.
  • the pixel group may be a group of the same number of pixels at all times, but may be, for example, a group of different numbers of pixels according to a predetermined pattern or a predetermined rule. . Further, when determining the pixel group gradation value, for example, it can be determined based on the image data of each pixel included in the pixel group.
  • an average value, a representative value, a total value, and the like of the gradation values of a plurality of pixels can be used as appropriate.
  • Control data for forming an image is generated from the multi-value quantization result value obtained for each pixel group in this way, and this is output.
  • the multi-value quantization result value can be represented by multi-value conversion of the entire image with a very small amount of data as compared with data indicating whether or not dots are formed for all pixels of the image. Therefore, if the control data generated from the multi-value quantization result value is output, it can be output quickly.
  • the image output device that receives such control data determines whether or not dots are formed in each pixel in the pixel group by using a method described later, and then outputs an image based on the determination result. be able to. Therefore, if control data can be quickly supplied to such an image output device, an image can be output more quickly.
  • the multi-value conversion is performed while referring to the correspondence between the pixel group gradation values and the multi-value conversion result values. Value can be obtained. For this reason, control data can be generated quickly, and the control data can be output quickly with a better layer.
  • multi-value conversion is performed by referring to the correspondence set for each pixel group.
  • the correspondence can be set for each pixel group, it is possible to associate the same multi-value quantization result value with different pixel group tone values, so The number of multi-value quantization result values can be reduced as compared with the case where the pixel group gradation value is multi-valued. As a result, the data amount of the control data can be reduced as compared with the case where the pixel group gradation value is simply multi-valued, and the data can be output more quickly.
  • the main processing for generating the multi-value quantization result value refers to the correspondence. This is a simple process.
  • the pixel group gradation value may be multi-valued as follows. First, a classification number assigned to each pixel group is obtained. Then, the pixel group tone value may be multi-valued by referring to the correspondence set for each classification number.
  • the correspondence is set for each classification number, a completely unique correspondence can also be set for each classification number.
  • the pixel group gradation value of each pixel group can be appropriately multivalued.
  • the pixel group can be identified using the classification number, it is possible to simplify the process of multi-valued the pixel group gradation value.
  • the pixel groups may be classified into a plurality of types according to positions in the image, and a classification number may be assigned to each pixel group. By doing so, a classification number can be appropriately assigned as needed without having to assign a classification number to a pixel group in advance.
  • the classification number can be assigned appropriately.
  • the correspondence relation referred to in multi-value conversion may be the following correspondence relation.
  • the correspondence may be such that the multi-value quantization result value for each pixel group is set by the number determined according to the classification number. Since the correspondence referred to in multi-value conversion is set for each pixel group, the number of multi-value quantization result values can be set freely for each pixel group. If the number of multi-value quantization result values can be changed for each pixel group, there is no danger that the multi-value quantization result values are repeated in a fixed pattern as in general multi-value quantization processing.
  • the correspondence relation referred to in multi-value conversion may be the following correspondence relation. That is, the multi-value halftoning result value for the pixel group tone value may be a correspondence defined for each classification number. Alternatively, data that can determine the order in which dots are formed in the pixel group is stored for each classification number, and the dots formed in the pixel group are stored as the multi-value quantization result values. The number of dots is obtained, and from the number of dots obtained by the multi-level conversion means and data that can be used to determine the order of dot formation, it is determined at which pixel in the pixel group a dot is formed.
  • Control data may be output as data that can be used. In this way, simple data can be used to form dots at any position in the pixel group. It can inform the equipment that forms the dots.
  • data of gradation values at which the result of multi-value conversion is switched and the number of dots to be formed in the pixel group at each gradation value may be stored in association with each other. Good. Since the multi-value quantization result value takes the same value in a predetermined gradation range, it can be processed by storing the data of the gradation value at which the result of the multi-value quantization is switched. In this way, the amount of data to be stored as the correspondence can be reduced.
  • the data which can know the order in which dots are formed may be the value itself given to each pixel in the pixel group, or may be an order value describing the order in which dots are formed.
  • the processing can be performed even if the correspondence relationship itself has, for example, the threshold value of the dither matrix as it is, in the present invention, it is said that whether or not to form a dot for each pixel is determined by comparing the gradation value with the threshold value. It does not need to have any thresholds. Therefore, it is sufficient to store the data as a simple order value, and the amount of data to be stored can be reduced.
  • the multi-level conversion may be so-called binarization, but may be more than three-level conversion.
  • the number of formed dots of each type is obtained as the multi-level quantization result value, and the L types of dots are obtained.
  • the control data may be output from the dots having a higher concentration per unit area among the dots in such a manner that the dots are formed in the order described above. This makes it easy to specify the formation of multiple types of dots. 'Furthermore, the following methods can be considered as a method of preparing the correspondence. First, assuming a pixel group consisting of P horizontal pixels X vertical pixels (P and Q are natural numbers of 2 or more) included in a rectangular area, M, N are natural numbers of 8 or more). ⁇
  • the global dither matrix stored in a distributed manner is divided into a plurality of rectangular areas corresponding to the pixel groups, and the PXQ thresholds included in each of the divided areas are extracted. S is assigned and managed. Then, for each area to which the classification number S is assigned, the gradation value converted to the recording rate of the finally formed L types of dots is applied and the pixel at any position in each gradation value is applied. Then, information as to which kind of dot is formed is generated, and the correspondence between the position of the dot formation and the gradation value is stored for each classification number S. After such processing, it is not necessary to store the original dither matrix or the thresholds in the rectangular area corresponding to the pixel group.
  • the same classification number is not assigned to a plurality of pixel groups adjacent to each other. Therefore, the multi-value quantization result value for the pixel group gradation value is determined for each classification number. In this case, even if the same pixel group gradation value continues over a plurality of pixel groups, the same multi-value quantization result value does not continue. For this reason, when an image is output based on such control data, it is possible to avoid the occurrence of dots in a fixed pattern. Further, in such an image processing apparatus, the pixel group staircase value may be multi-valued with reference to the following correspondence.
  • the correspondence in which the pixel group gradation value and the multi-value quantization result value are set may be referred to.
  • the number of unions that arrange the classification numbers is not large enough. For this reason, even if multi-leveling is performed based on the correspondence set for each classification number, a certain regularity may appear in the dot generation pattern in some cases. In order to avoid such a risk, it is desirable that the number of classification numbers is large. However, experience shows that if the number of classification numbers is 100 or more, a certain pattern appears in the dot generation.
  • the number of classification numbers or the number of pixels per pixel group may be set so as to be at least 0 0 0 or more. If the number of pixels included in the pixel group increases, the pattern of dot generation can take many patterns even within one pixel group. Therefore, even if the number of classification numbers is not sufficiently large, if the number of pixels included in the pixel group is large, this is compensated to suppress the occurrence of a certain regularity in the dot generation pattern. it can.
  • the present invention can be realized by using a computer by reading a program for realizing the above-described image processing method in a computer. Therefore, the present invention includes an embodiment as a recording medium on which the following program product or program code is recorded. If such a program product or a program recorded on a recording medium is read into a computer and the various functions described above are realized using the computer, image processing and data transfer can be performed quickly to achieve high image quality. Images can be output quickly.
  • control data used by an image output device that forms a dot and outputs an image to control the formation of the dot is generated by applying predetermined image processing to the image data representing the image.
  • a pixel group gradation value determination unit that determines a pixel group gradation value which is a gradation value representing the pixel group for each pixel group in which a plurality of pixels constituting the image are grouped;
  • the gradation value and the multi-value quantization result value obtained by multi-value conversion of the pixel group gradation value refer to the correspondence relationship set for each pixel group, thereby obtaining the pixel group gradation value of the pixel group.
  • a multivalued means for multivalued the value
  • a control data output means for outputting the multi-value quantization result value obtained for each pixel group as the control data
  • control data used by an image output device that forms a dot and outputs an image to control the formation of the dot is generated by applying predetermined image processing to image data representing the image and generating an image. Processing method,
  • the pixel group gradation value is obtained by multi-leveling the pixel group gradation value, and the multi-value quantization result value obtained by multi-leveling the pixel group gradation value is referred to by referring to the correspondence relationship set for each pixel group.
  • An invention as an image processing method including: Brief Description of Drawings
  • FIG. 1 is an explanatory diagram for explaining the outline of the present invention using a printing system as an example.
  • FIG. 2 is an explanatory diagram illustrating a configuration of a computer as the image processing device of the present embodiment.
  • FIG. 3 is an explanatory diagram showing a schematic configuration of the power lapping machine according to the present embodiment.
  • FIG. 4 is an explanatory diagram showing the arrangement of the ink jet nozzles in the ink discharge head.
  • FIGS. 5 (a) and 5 (b) are explanatory diagrams showing the principle of forming dots having different sizes by controlling the ejection of ink droplets.
  • FIG. 6 is a flowchart illustrating an overall flow of the image printing process according to the first embodiment.
  • FIG. 7 is a flowchart showing the flow of a multi-value quantization result value generation process performed in the image printing process of the first embodiment.
  • FIGS. 8 (a) and 8 (b) are explanatory diagrams showing a method of determining a pixel group classification number.
  • FIG. 9 is an explanatory diagram conceptually showing a multi-value quantization table referred to in the multi-value quantization result value generation processing of the first embodiment.
  • FIG. 10 is an explanatory diagram exemplifying a state in which the multilevel halftoning result value increases stepwise as the pixel group gradation value increases.
  • FIG. 11 is a flowchart showing the flow of the dot formation presence / absence determination processing of the first embodiment.
  • FIG. 12 is an explanatory diagram conceptually showing a conversion table referred to in the dot formation presence / absence determination processing of the first embodiment.
  • FIG. 13 is an explanatory diagram showing the correspondence between the coded number data and the number of various dots represented by each code data.
  • FIGS. 14 (a) to 14 (c) are explanatory diagrams illustrating the order value matrix referred to in the dot on / off state determination processing of the first embodiment.
  • 'FIG. 15 is an explanatory diagram conceptually showing how pixel positions forming various dots in a pixel group are determined based on data of the number of dots while referring to an order value matrix.
  • FIG. 16 is an explanatory diagram conceptually illustrating a part of the dither matrix.
  • Figure 17 shows the dot formation for each pixel while referring to the dither matrix. It is explanatory drawing which showed the mode of judging presence or absence notionally.
  • FIGS. 18 (a) to 18 (c) are explanatory diagrams showing a method for determining a classification number for each pixel group.
  • FIGS. 19 (a) to 19 (d) are explanatory diagrams showing a method of calculating the classification number of a pixel group.
  • Country 20 is an explanatory diagram showing a method of obtaining the classification number from the binary representation of the coordinate value of the pixel group of interest.
  • Fig. 21 is a flow chart showing the flow of the half-I-one process, in which it is possible to determine whether large, medium and small dots are formed for each pixel by developing the dither method.
  • FIG. 23 is an explanatory diagram conceptually showing a state in which the presence / absence of large, medium and small dots is determined for each pixel in the pixel group.
  • FIG. 24 is a flowchart showing the flow of processing for setting the multi-value quantization table.
  • FIG. 25 is a flowchart showing the flow of the processing for setting the conversion table.
  • FIGS. 26 (a) to 26 (c) are explanatory diagrams showing a method of setting an order value matrix.
  • FIG. 27 is an explanatory diagram conceptually showing a rough flow of a process of determining whether or not each of large, medium, and small dots is to be formed for each pixel from the multi-value quantization result value in the process of determining whether or not to form dots in the first embodiment. It is.
  • FIGS. 28 (a) to 28 (c) are explanatory diagrams showing a method of determining a classification number from the position of a pixel group on an image.
  • ' Figure 29 is an explanatory diagram showing how to determine the position on the dither matrix from the pixel group coordinate values (i, j) to determine the classification number.
  • FIG. 30 is an explanatory diagram conceptually showing a threshold value table referred to in the multi-value quantization result value generation processing of the modification.
  • Fig. 31 is a flowchart showing the flow of the process for determining the presence or absence of dot formation according to the modification. is there.
  • FIG. 32 is an explanatory diagram showing a correspondence table in which code data representing the number of dots is associated with intermediate data.
  • FIG. 33 is an explanatory diagram showing a state in which the presence / absence of dot formation is determined by reading data at a location corresponding to the order value from the intermediate data.
  • FIG. 34 is an explanatory diagram conceptually showing a conversion table referred to in the dot formation presence / absence determination processing of the second embodiment.
  • FIGS. 35A and 35B are explanatory diagrams showing the data structure of dot data set in the conversion table of the second embodiment.
  • FIG. 36 is a flowchart showing the flow of the dot on-off state determination process of the second embodiment.
  • FIG. 1 is an explanatory diagram for explaining an outline of the present invention by taking a printing system as an example.
  • the printing system includes a computer 10 as an image processing device, a printer 20 as an image output device, and the like.
  • a predetermined program is loaded and executed on the computer 10
  • the computer 10 and The printer 20 functions as an integrated image output system as a whole.
  • the printer 20 prints an image by forming dots on a print medium.
  • the combination device 10 performs predetermined image processing on image data of an image to be printed, so that the printer 20 generates data for controlling dot formation for each pixel, and Supply 0.
  • a typical printing system prints an image as follows.
  • image data is converted into data representing the presence or absence of dot formation for each pixel by performing predetermined image processing in the evening. Then, the obtained data is supplied to the printer, and the printer prints an image by forming a dot according to the supplied data.
  • the printing system illustrated in FIG. 1 prints an image as follows.
  • a plurality of pixels constituting an image are determined by a predetermined number.
  • a pixel group is generated collectively for each pixel, and for each pixel group, a pixel group gradation value that is a gradation value representing the pixel group is determined.
  • a multi-level halftoning result value is generated by multi-leveling the pixel group gradation value.
  • a classification number assigned to each pixel group is obtained, and the pixel group gradation value and the multi-value quantization result value are referred to by referring to a correspondence relationship associated with each classification number. .
  • the printer 20 When the printer 20 receives the multilevel halftoning result value for each pixel group, it converts it into number data that is data related to the number of dots to be formed in the pixel group. Such conversion is performed in the multi-value quantization result value conversion module.
  • the dot formation presence / absence determination module determines the presence / absence of dot formation for each pixel based on the order of pixels in each of which a dot is formed in the pixel group and the number data.
  • the dot formation presence / absence determination module may store an appropriate pixel order in advance. If the order of the pixels is stored, an appropriate order can be quickly determined.
  • the image is printed by the dot forming module forming dots at the pixel positions determined in this way.
  • the multi-value quantization result value for each pixel group can be a much smaller data amount. Therefore, if instead of supplying data indicating the presence or absence of dot formation for each pixel from the computer 10 to the printer 20 and supplying the multi-value quantization result value for each pixel, the data can be transferred very quickly. Becomes possible.
  • the multi-value quantization result value is generated in the computer 10 as follows. First, the pixel group tone value is determined in the pixel group tone value determination module. In determining the pixel group gradation value, for example, the pixel group gradation value may be determined based on image data of each pixel in the pixel group.
  • the correspondence storage module a correspondence in which the pixel group gradation value is associated with the multi-value quantization result value is stored for each pixel group classification number.
  • the classification numbers of the pixel groups are classified into a plurality of types according to the position in the image.
  • an appropriate classification number can be assigned to each pixel group in advance.
  • the multi-level conversion module Upon receiving the pixel group gradation value of the pixel group, the multi-level conversion module refers to the correspondence according to the pixel group classification number from the correspondence storage module to increase the pixel group gradation value. Convert to a valuation result value.
  • the multi-value quantization result value is generated while referring to the correspondence as described above, the multi-value quantization result value can be generated very quickly. For this reason, the generated multi-value quantization result value can be promptly supplied to the printer 20, and the image can be quickly printed even if the image has a large number of pixels. Also, if the multi-value quantization result value is generated with reference to the correspondence, it can be generated by extremely simple processing. Therefore, in order to generate the multi-value quantization result value, the number data is generated inside the printer 20 or a digital camera without using a device having a high processing capability such as the computer 10. It is also possible.
  • various embodiments of the present invention will be described in detail using such a printing system as an example.
  • FIG. 2 is an explanatory diagram illustrating a configuration of a computer 100 as an image processing apparatus according to the present embodiment.
  • the computer 100 is a well-known computer that is configured by connecting the CPUs 102 and 13 ⁇ 40111 14 ⁇ ⁇ 1 ⁇ AMI06 with each other via a bus 116.
  • the computer 100 has a disk controller DDC 109 for reading data from the flexible disk 124 and the compact disk 126, and a peripheral device interface PIF 1 for exchanging data with peripheral devices. 08, Video interface VIF 112 for driving CRT 114 is connected.
  • the PIF 108 includes a color printer 200 described later and a hard disk 1 18 and so on are connected.
  • FIG. 3 is an explanatory diagram showing a schematic configuration of the color printer 200 of the present embodiment.
  • the color printer 200 is an inkjet printer that can form dots of four color inks of cyan, magenta, yellow, and black.
  • a total of six ink dots including cyan (light cyan) ink with a low dye or pigment concentration and magenta (light magenta) ink with a low dye or pigment concentration, are used.
  • a formable inkjet printer can also be used.
  • the cyan ink, magenta ink, yellow ink, black ink, light cyan ink, and light magenta ink are referred to as C ink, M ink, Y ink, K ink, LC ink, and LM ink, respectively. It may be abbreviated.
  • the color printer 200 has a mechanism for driving a print head 241, which is mounted on a carriage 240, to discharge ink and to form a dot.
  • a control circuit 260 for controlling the conveyance of the printing paper.
  • the carriage 240 is provided with an ink cartridge 242 for storing K ink and an ink cartridge 243 for storing various inks of C ink, M ink and Y ink.
  • FIG. 4 is an explanatory diagram showing an arrangement of the ink jet nozzles Nz in the ink ejection heads 2444 to 247. As shown in the figure, on the bottom surface of the ink discharge head, there are formed four sets of nozzle rows for discharging ink of each color of C, M, K, and K. The nozzles Nz are arranged at a constant nozzle pitch k.
  • the control circuit 260 includes a CPU, a ROM, a RAM, a PIF (peripheral device interface), and the like, which are interconnected by a bus.
  • the control circuit 260 controls the main scanning operation and the sub-scanning operation of the carriage 240 by controlling the operations of the carriage motor 230 and the paper feed motor 235. Based on the print data supplied from 0, control is performed to eject ink droplets from each nozzle at an appropriate timing.
  • the color printer 200 can print a color image by forming ink dots of each color at appropriate positions on the print medium under the control of the control circuit 260.
  • the color printer 200 of the present embodiment can control the size of the ink dot by controlling the size of the ink droplet to be ejected.
  • FIG. 5 (a) is an explanatory diagram showing the internal structure of a nozzle for discharging ink.
  • a plurality of such nozzles are provided in the ink ejection heads 2444 to 247 of each color.
  • each nozzle is provided with an ink passage 255, an ink chamber 256, and a piezo element PE above the ink chamber.
  • Carriage 2 4 0 When the ink cartridges 242 and 243 are mounted, the ink in the cartridge is supplied to the ink chamber 256 via the ink gallery 257.
  • the piezo element PE is an element that, when a voltage is applied, distorts the crystal structure and converts electric-mechanical energy very quickly.
  • the side wall of the ink chamber 256 is deformed by applying a voltage having a predetermined waveform between the electrodes provided at both ends of the piezo element PE.
  • the volume of the ink chamber 256 decreases, and ink corresponding to the reduced volume is ejected from the nozzle Nz as an ink droplet Ip.
  • the ink droplets Ip penetrate into the printing paper P mounted on the platen 236 to form an ink drop on the printing paper.
  • FIG. 5 (b) is an explanatory diagram showing the principle of changing the size of the ink droplet to be ejected by controlling the voltage waveform applied to the piezo element PE. Ink drop from nozzle
  • the ink is once sucked into the ink chamber 256 from the step 257, and then a positive voltage is applied to the piezo element PE to reduce the volume of the ink chamber and discharge the ink droplet IP.
  • a positive voltage is applied to the piezo element PE to reduce the volume of the ink chamber and discharge the ink droplet IP.
  • the suction speed of the ink is appropriate, the ink corresponding to the amount of change in the volume of the ink chamber is sucked, but if the suction speed is too high, the ink gallery 27 Because of the passage resistance, the inflow of ink from the ink gallery 255 cannot be completed in time. As a result, the ink in the ink passage 255 flows back into the ink chamber, and the ink interface near the nozzle is largely retreated.
  • the size of the ejected ink droplets is controlled, and three types of ink dots, large, medium, and small, are formed. Is possible. Of course, not only three types but also other types of dots can be formed. Further, the size of the ink drop formed on the printing paper may be controlled by a method of discharging a plurality of fine ink droplets at a time and controlling the number of the discharged ink droplets.
  • a printing method is used in which ink dots are formed on printing paper using a phenomenon such as thermal transfer, or a method in which toner powder of each color is attached to a printing medium using static electricity. It is also possible to use
  • the color printer 200 having the above-described hardware configuration drives the carriage motor 230 so that the ink discharge heads 244 to 247 of each color are mainly printed on the printing paper P.
  • the printing paper P is moved in the sub-scanning direction by moving the paper in the scanning direction and driving the paper feed motor 235.
  • the control circuit 260 drives the nozzles at an appropriate timing to eject ink droplets while synchronizing with the main scanning and sub-scanning movements of the carriage 240, so that the color printer 200 prints. You are printing a color image on paper.
  • the color printer 200 also has a CPU, RAM, and RO in the control circuit 260. Since the M and the like are installed, it is also possible to execute the processing performed by the computer 100 in the color printer 200. In such a case, the image data of the image captured by the digital camera 120 or the like is directly supplied to the color printer 200, and the necessary image processing is performed in the control circuit 260. It is also possible to print an image directly from 200.
  • FIG. 6 is a flowchart showing the overall flow of the image printing process of the first embodiment.
  • the combination server 100 starts reading image data (step S100).
  • the image data is assumed to be RGB color image data. Not only data but also monochrome image data can be similarly applied.
  • a color conversion process is performed (step S102).
  • Color conversion processing is a process in which R, G, and B color image data expressed by a combination of R, G, and B gradation values is expressed by a combination of gradation values for each color of ink used for printing. This is a process of converting the image data into converted image data.
  • the color printer 200 prints an image using four color inks of C, M, ⁇ , and K. Therefore, in the color conversion processing, the image data represented by each of the RGB colors is converted into data represented by the gradation values of each of the colors C,, Y, and K.
  • the color conversion process is performed by referring to a three-dimensional numerical table called a color conversion table (LUT).
  • LUT the gradation values of each color of C, M, Y, and ⁇ obtained by color conversion for RGB color image data are stored in advance.
  • step S ⁇ 02 by referring to this LUT, it is possible to rapidly perform color conversion of R, G, B color image data into C, M, Y, ⁇ color image data.
  • the resolution conversion processing starts (step S104).
  • the resolution conversion process is a process of converting the resolution of the image data into a resolution at which the printer 200 prints an image (print resolution). If the resolution of the image data is lower than the print resolution, interpolation is performed to generate new image data between pixels.
  • step S106 multi-value quantization result value generation processing
  • the number of pixels grouped as a pixel group does not necessarily have to be the same for all pixel groups.For example, a plurality of pixels are regularly switched, or pixels are grouped into a pixel group according to a position in an image. Although it is possible to switch the number, here, for convenience of explanation, the simplest case will be described assuming that all pixel groups have the same number of pixels. In this way, a plurality of pixels are grouped into a pixel group, and a pixel group gradation value which is a gradation value representative of each pixel group is obtained, and then the pixel group gradation value is multi-valued. As a result, the pixel group tone value for each pixel group is converted into a multi-value quantization result value.
  • the number of states that can be obtained as a result of the multi-value quantization differs for each pixel group. That is, in general multi-level quantization, for example, there is no switching between binary and ternary conversion in one image, but in the multi-level quantization result value generation processing of this embodiment, the pixel group The number of stages of multi-level conversion is different for each. Then, a result value obtained by converting the pixel group gradation value into a multi-level image with the number of stages for each pixel group is output to the power raster printer 200.
  • the amount of data to be output to the color printer 200 is greatly reduced. be able to.
  • the multi-value quantization result value for each pixel group can be generated quickly, coupled with the reduction in the amount of data, the multi-value quantization result value can be output very quickly. It is possible to output 0. Details of the multi-value quantization result value generation processing will be described later.
  • the multilevel halftoning result value is a value obtained by multileveling the pixel group tone value, and is a value indicating which pixel in the pixel group should form a dot. Absent.
  • a so-called density pattern method is used as a method of determining the pixel position at which a dot is formed from the multi-value quantization result value of the pixel group.
  • the density pattern method cannot be applied as it is.
  • a pixel position at which a dot is formed is determined from the multi-value quantization result value obtained for each pixel group by using a special method as described later.
  • the substantial resolution is reduced to the resolution of the pixel group subjected to the multi-value processing, and the image quality tends to be deteriorated.
  • the dot on / off state determination processing of the first embodiment the image quality does not deteriorate depending on the size of the pixel group as described later.
  • step SI10 a process of forming a dot at the determined pixel position is performed. That is, as described with reference to FIG.
  • the ink ejection head is driven to eject ink droplets while repeating the main scanning and the sub-scanning of the carriage 240, so that the ink is printed on the printing paper.
  • Form dots By forming the dots in this manner, an image corresponding to the image data is printed.
  • FIG. 7 is a flowchart illustrating a flow of the multi-value quantization result value generation process performed in the image printing process of the first embodiment described above.
  • the multi-value quantization result value generation processing will be described as being performed in the combo box 100, but as described later, the multi-value quantization result value generation processing can be an extremely simple process.
  • Color printer 200 Alternatively, it can be implemented in the digital camera 120.
  • description will be given in accordance with the flowchart.
  • the pixel group gradation value and the pixel group classification number are determined (step S202).
  • the pixel group gradation value is a gradation value representative of the pixel group, and can be easily obtained as follows. For example, the average value of the image data assigned to each pixel in the pixel group can be determined and used as the pixel group gradation value.
  • FIG. 8 is an explanatory diagram showing a method of determining a classification number of a pixel group.
  • FIG. 8A shows one pixel group generated by combining eight pixels in an image.
  • a method of determining the classification number for this pixel group will be described.
  • Note that a pixel group of interest for determining a classification number as shown in FIG. 8 (a) is referred to as a pixel group of interest.
  • the pixel position is represented by the number of pixels in the main scanning direction and the sub-scanning direction from the origin.
  • the position of the pixel group is represented by the pixel position of the pixel at the upper left corner of the pixel group.
  • the pixels indicating the position of the target pixel group are indicated by black circles.
  • the pixel position of this pixel is (X, Y).
  • the classification number of the pixel group of interest can be determined very easily by simply displaying X and Y in binary numbers and reading data stored in predetermined bits. For example, as shown in FIG. 8B, it is assumed that X and Y representing the position of the pixel group of interest are 10-bit data. Then, the value obtained by reading the uppermost 4th to 8th bits of X is N, and the value obtained by reading the uppermost 4th to 8th bits of ⁇ is obtained. Let the value be M. Then, in the case of this embodiment,
  • the pixel group gradation value is multi-valued by referring to a multi-value conversion table described later (step S204).
  • FIG. 9 is an explanatory diagram conceptually showing a multi-value quantization table referred to in multi-value quantization. As shown in the figure, in the multi-value quantization table, the multi-value quantization result value for the pixel group gradation value is stored in association with each pixel group classification number. It increases stepwise as the pixel group gradation value increases.
  • 1D is an explanatory diagram illustrating a state in which the multilevel halftoning result value gradually increases as the pixel group gradation value increases.
  • the multi-value quantization result value for the pixel group gradation value is displayed using a line graph in which the horizontal axis represents the pixel group gradation value and the vertical axis represents the multi-value quantization result value.
  • the multivalued results for five pixel groups having different classification numbers N1 to N5 are shown, but in order to avoid the polygonal lines of these pixel groups becoming difficult to distinguish.
  • the origin position of the multi-value quantization result value is shifted by a small amount in the vertical axis direction.
  • the pixel group of classification number N 1 indicated by a thick solid line in the figure will be described. If the pixel group gradation value is in the range of 0 to 4, the multi-value quantization result value is ⁇ 0 ''. , Pixel When the group gradation value is in the range of 5 to 20, the multilevel halftoning result value increases to “1”. Next, when the pixel group gradation value is in the range of 21 to 42, the multi-value quantization result value increases to “2”, and when the pixel group gradation value is in the range of 43 to 69, the multi-value quantization result value is “ 3 ”.
  • the multi-value quantization result value increases stepwise, and finally, the multi-value quantization result value increases to “15”.
  • the number of pixel group gradation values that can take the range of gradation values 0 to 255 is increased in 16 levels from gradation values 0 to 15. It means that it is priced (in other words, 16-valued).
  • the range of gradation values 0 to 255 is taken.
  • the obtained pixel group gradation value is multi-valued (18 levels) in 18 steps from gradation values 0 to 17. Furthermore, for the pixel group of classification number N4 incense indicated by a thin solid line and the pixel group of classification number N5 incense indicated by a thin dashed line, the pixel group gradation value is set to 2 in the gradation value 0 to 20. In other words, it is multi-valued (in other words, 21-valued) in one step.
  • the number of stages of multi-value quantization (the number of states that can be obtained as a result of multi-value quantization) of each pixel group is not the same, It is multi-valued with a unique number of stages.
  • the same pixel group gradation value is multi-valued, if the classification number of the pixel group is different, and if the number of stages of multi-value conversion is different, the multi-valued result will be different.
  • the same multi-level quantization result value is not necessarily obtained. For example, as apparent from a comparison between the pixel group of the classification number N2 shown in FIG.
  • the number of multi-level quantization stages for these pixel groups is 18 Although it is a stage, the pixel group gradation value at which the multi-value quantization result value is switched is often not the same.
  • the number of multi-valued stages in each of these pixel groups is 21 but the pixel group floor at which the multi-valued result value is switched The tone values often do not match. From this, even if the number of multi-level quantization stages of the pixel group is the same, a different multi-level quantization result value can be obtained if the classification number is different. It becomes.
  • the multi-value quantization result values for the pixel group tone values are stored for each pixel group classification number.
  • the correspondence relationship between the pixel group gradation value and the multi-value quantization result value is a unique correspondence relationship for each classification number as shown in FIG.
  • the pixel group gradation value is multi-valued with reference to such a multi-value quantization table, so that multi-value Performs processing to generate the result value.
  • the setting method of the multi-valued table shown in FIG. 9 will be described later in detail.
  • step S206 when a plurality of pixels are grouped into a pixel group and the multi-value quantization result value of the pixel group is generated, it is determined whether or not the processing has been completed for all the pixels (step S206). If unprocessed pixels remain (step S 206: n 0), the process returns to step S 200 to generate a new pixel group, and a series of processes described later is performed. A multi-value quantization result value is generated for the pixel group. These operations are repeated, and if it is determined that the processing for all pixels has been completed (step S206: yes), the multi-value quantization result value obtained for each pixel group is output to the color printer 200. Then, the multi-value quantization result value generation processing of FIG. 7 ends.
  • the amount of data to be supplied to the color printer 200 is significantly reduced as compared with the case where the data indicating the presence or absence of dot formation is output for each pixel. Can be done.
  • this point will be described.
  • three types of dots, large dot, medium dot, and small dot can be formed, so if the case where no dot is formed is included, four states can be taken for each pixel. Therefore, in order to indicate the presence or absence of dot formation, two bits of data per pixel are required.
  • one pixel group is assumed to be composed of eight pixels. Therefore, an attempt is made to indicate whether or not dots are formed for each pixel.
  • the number of levels of multi-level quantization is about 15 to 21 although it differs depending on the pixel group classification number (Fig. 9, Fig. 10 See).
  • the method of determining the number of levels of multi-level quantization for each pixel group will be described later. However, it is considered that the number of levels of multi-level quantization will not exceed 30 even if it is estimated at large. Therefore, if the pixel group has a multi-valued result value, it can be sufficiently expressed if there is a 5-bit data amount per pixel group.
  • the color printer 200 Upon receiving the multi-value quantization result value from the computer 100 in this way, the color printer 200 performs dot formation presence / absence determination processing described below to perform dot formation for each pixel in the pixel group. Determine whether or not.
  • C-1 Overview of the process for determining the presence or absence of dots:
  • FIG. 11 is a flowchart showing the flow of the dot formation presence / absence determination processing performed in the image printing processing of the first embodiment described above. This process is executed by the color printer 200 after receiving the multi-value quantization result value for each pixel group from the computer 100.
  • the dot on / off state determination processing of the first embodiment is started, first, one pixel group to be processed is selected, and a multi-value quantization result value of the selected pixel group is obtained (step S300, S 3 0 2) o Next, the multi-value quantization result value of the pixel group is formed in the pixel group. (Step S304).
  • the multilevel halftoning result values take different values even if the pixel group gradation values are the same if the pixel group classification numbers are different. .
  • the multi-value quantization result value of the pixel group can compare the magnitude of the result value only with the pixel group of the same classification number. Is data for which the multi-value quantization result values cannot be compared. Therefore, we consider converting the multi-value quantization result value that depends on the pixel group classification number into a multi-value quantization result value that does not depend on the classification number. If the multi-value quantization result value is converted to a value that does not depend on the classification number, it is possible to compare the magnitude of the multi-value quantization result value for all pixel groups.
  • step S304 of FIG. 11 based on this concept, the multi-value quantization result value depending on the pixel group classification number is converted into data indicating the number of dots to be formed in the pixel group. I do.
  • the actual conversion can be performed extremely quickly by simply referring to a conversion table in which data of the appropriate number of dots is set in advance for each combination of the pixel group classification number and the multi-value quantization result value. it can.
  • FIG. 2 is an explanatory diagram conceptually showing a conversion table referred to when converting a combination of a pixel group classification number and a multi-value quantization result value into data indicating the number of dots.
  • data of the number of dots corresponding to the multi-value quantization result value is set for each classification number.
  • the pixel group of the classification number 1 will be described.
  • For the multi-value quantization result value 0 “0” is set as the data of the number of dots.
  • the dot number data “0” is code data indicating that the number of large dots, medium dots, and small dots is all zero.
  • ⁇ 1 J is set as the dot number data. Yes.
  • Dot number data "1 J is code data indicating that the number of large dots and medium dots formed is 0, and the number of small dots formed is 1. Further, the multi-valued result value For 1 5, dot number data “1 6 4” is set. Dot number data “1 6 4 J is code data indicating that eight large dots are formed and medium dots and small dots are not formed. Thus, the data indicating the number of dots is included in the conversion table. In other words, the number data does not directly indicate the number of dots, but any form of data as long as the number of dots can be specified in some way, even if the number data does not directly indicate the number of dots.
  • 13 is an explanatory diagram showing the correspondence between the coded number data and the combination of the number of large dots / medium dots / small dots represented by each code data.
  • the reason why the number of various dots is coded and handled in this way is as follows.
  • one pixel group is composed of eight pixels collectively, so that the number of large dots, medium dots, and small dots formed can take 0 to 8 values each. Therefore, if we try to represent the number of each dot without coding it, we will use 4 bits each to represent the number of large dots, the number of medium dots, and the number of small dots, for a total of ⁇ 2 bits. Data volume is required.
  • the total number of dots that can be formed in the pixel group is at most eight.
  • a combination of the number of dots, such as four large dots, three medium dots, and two small dots actually occurs because the total number of dots is nine, exceeding eight. I can't get it. Considering these points, it is thought that there are not so many types of dot number combinations that can actually occur.
  • the actual calculation is as follows.
  • the pixel group contains eight pixels, and for each pixel, "form large dots”, “form medium dots”, “form small dots”, and "do not form dots” There are four possible states. Therefore, the combination of the number of dots that can be formed in the pixel group is equal to the number of combinations when these four states are selected eight times, allowing duplication.
  • n H r is an operator that finds the number of overlapping combinations when selecting r times from n objects while allowing overlapping.
  • n C r is an operator for calculating the number of combinations when selecting r times from n objects without allowing duplication. ⁇ If there are 65 combinations, 8 bits can be expressed. Therefore, if a code number is set for a combination of the number of dots that can actually occur, the combination of the number of dots to be formed in the pixel group can be represented by 8-bit data. After all, by coding the combination of the number of dots, the required data amount can be reduced as compared with the case where the number of formed dots is represented for each type of dot.
  • the quantity data is coded as shown in Fig. 13 and expressed in the conversion table shown in Fig. 12, That is, the data of the number of converted dots is set.
  • the method of setting the conversion table as shown in Fig. 12 will be described later in detail with reference to another figure.
  • the dot on / off state determination process shown in FIG. 11 by referring to the conversion table shown in FIG. 12, the process of converting the multilevel halftoning result value of the pixel group into code data representing the number of dots is performed.
  • a pixel group classification number is required in addition to the multi-value quantization result value.
  • the classification number of the pixel group is determined based on the position of the pixel group in the image. Since the multi-valued result value is supplied for each pixel group, based on the order in which the multi-valued result value is supplied, the position of the pixel group of the multi-valued result value to be processed on the image is determined. It is possible to easily determine the classification number. A method of determining the classification number according to the position of the pixel group on the image will be described later. It goes without saying that the classification number may be output together with the multi-value quantization result value from the computer [00] to the color printer 200. Next, a process of reading an order value matrix corresponding to the pixel group is performed (step S306).
  • the order value matrix is a matrix that sets the order in which dots are formed for each pixel in the pixel group.
  • FIG. 14 is an explanatory diagram exemplifying an order value matrix. As shown in the figure, a different matrix is set for the order value matrix for each pixel group classification number. As an example, the ordinal value matrix of the classification number 1 shown in FIG. 14 (a) will be described. In the pixel group of classification number 1, the pixel at the upper left corner is the pixel where dots are most likely to be formed among the eight pixels that make up the pixel group. The number ⁇ ⁇ ”set in the pixel at the upper left corner of the order value matrix indicates that this pixel is the pixel on which the dot is formed first.
  • the numerical value indicating such an order set in the order value matrix is called an order value.
  • the order value “2” set in the pixel at the lower right corner of the pixel group indicates that this pixel is the second dot to be formed in the pixel group.
  • an order value indicating the order in which dots are formed is set for the eight pixels included in the pixel group.
  • These ordinal values matrix have different matrix depending on the pixel group classification number. For example, the ordinal value matrix of classification number 2 shown in Fig. 14 (b)
  • the first pixel where the dot is formed (the pixel with order value ⁇ -)) is the second pixel from the bottom left, and the second pixel where the dot is formed (the order value “2”).
  • Pixel is the pixel in the lower right corner.
  • the pixel where the first dot is formed (the pixel with ordinal value "1") is the second pixel from the right in the upper row. Yes, the pixel where the second dot is formed (the pixel with order value “2”) is the pixel in the lower left corner.
  • the order value matrix as illustrated in FIG. 14 is stored in advance for each pixel group classification number. Then, in step S306 of FIG. 11, a process of reading the order value matrix corresponding to the classification number of the pixel group from the ROM is performed. The method of setting the order value matrix for each pixel group classification number will be described in detail with reference to another figure.
  • a pixel for forming a large dot is first determined from among the eight pixels constituting the pixel group (step S308). Since large dots are more conspicuous than other dots, it is important to prioritize the pixel positions that form the dots so that the dots are formed as dispersed as possible. desirable. For this reason, first, a pixel for forming a large dot is determined.
  • the data of the number of dots obtained by converting the multi-value quantization result value of the pixel group and the ordinal matrix corresponding to the pixel group are used.
  • the code data indicating the number of dots to be formed in a pixel group represents a combination of one large dot, two medium dots, and one small dot.
  • the order value matrix sets the order in which dots are formed for each pixel in the pixel group.
  • a large dot is formed at the pixel for which the order value “1” is set.
  • the number of large dots formed is two, large dots will be formed not only on the pixels with the order value “1” but also on the pixels with the order value “2”.
  • pixels forming large dots are displayed with fine diagonal lines.
  • processing for determining a pixel forming a large dot is performed based on the data of the number of dots and the order value matrix.
  • the pixels that form the medium dot are determined (step S310 in FIG. 11).
  • the number of medium dots to be formed is two. Since a large dot has already been formed at the pixel with the order value ⁇ ”, the medium dot is formed at the pixel with the order value“ 2 ”and the pixel with the order value“ 3 ”.
  • pixels in which medium dots are formed are displayed with slightly coarse diagonal lines.
  • a process of determining a pixel for forming a medium dot from among pixels for which a large dot is not formed is performed.
  • the pixels that form the medium dot are determined, the pixels that form the small dot are then determined (step S312 in Fig. 11).
  • the number of small dots to be formed is one, and pixels with an order value of "1" or "3" have already formed large dots and medium dots. Therefore, the small dot is formed in the pixel having the order value “4”.
  • pixels in which small dots are formed are displayed with coarse diagonal lines.
  • the remaining pixels in the pixel group may be determined to be pixels that do not form a dot (step S314 in FIG. 11).
  • it is determined whether or not dot formation is determined by performing the above-described processing for all the pixel groups (step S 3 16). If an unprocessed pixel group remains (step S 3) 16: n 0), returning to step S 300, selecting a new pixel group, and performing a series of subsequent processes on the pixel group.
  • step S316 the dot formation presence / absence determination processing shown in FIG.
  • the process returns to the image printing process shown in.
  • an image is printed on printing paper by forming a dot according to the result of determining whether or not to form a dot.
  • a plurality of pixels are grouped together to form a pixel group, multi-value processing is performed for each pixel group, and the obtained multi-value conversion result value is color-coded. -Output to printer 200.
  • the classification number of the pixel group and the pixel group gradation value are obtained, and the multi-value quantization result value can be obtained immediately by simply referring to the multi-value quantization table shown in FIG. Obtainable. Since the classification number of the pixel group and the gradation value of the pixel group can be obtained very easily as described above, the multi-value quantization result value of the pixel group can be obtained very quickly and by a very simple process. Become. In addition, since the multilevel halftoning result value can be represented by a small number of bits per pixel group (at most 5 bits in this embodiment), the data amount is smaller than the data indicating whether or not dots are formed for each pixel. It can be greatly reduced.
  • the multi-value quantization result value for each pixel group is output to the color printer 200 instead of the data indicating the presence or absence of dot formation for each pixel, data is supplied promptly as much as the data amount decreases. It becomes possible.
  • the color printer 200 receives the multi-value quantization result value for each pixel group, it converts this into data indicating the number of dots to be formed in the pixel group. Such conversion can be performed quickly only by referring to a conversion table as shown in FIG. Next, the data indicating the number of dots obtained by the conversion and the order value matrix After determining whether large dots, medium dots, and small dots are to be formed, print the image by forming the dots.
  • the order value matrix it is relatively easy to determine the pixels forming the large dot, medium dot, and small dot. Therefore, even in the color printer 200, upon receiving the multivalued result value for each pixel group, the presence / absence of dot formation for each pixel can be quickly determined with relatively simple processing, and further, It is possible to print an image on a computer.
  • the image printing process of the first embodiment not only can images be printed quickly, but also images can be printed with sufficient image quality.
  • a so-called blue noise mask or green noise mask can be used.
  • the image printing processing of the first embodiment described above is an improvement obtained by developing a so-called dither method. Therefore, as a preparation for explaining the concept of determining the classification number of the pixel group and the setting method of the multi-value table, the conversion table, the order value matrix, etc., first, the outline of the dither method will be briefly described.
  • the dither method is a typical method used to convert image data into data indicating the presence or absence of dot formation for each pixel.
  • a threshold value is set in a matrix called a dither matrix, and the tone value of the image data is compared with the threshold value set in the dither matrix for each pixel. For large pixels, it is determined that a dot is formed. Judge that no dot is formed.
  • FIG. 16 is an explanatory diagram showing an example of an enlarged part of dither matrix.
  • the matrix shown in the figure has 128 pixels in the horizontal direction (main scanning direction) and 64 pixels in the vertical direction (sub-scanning direction), for a total of 8192 pixels, with a gradation value of 1-2.
  • a threshold value uniformly selected from the range of 55 is randomly stored.
  • the reason why the threshold gradation value is selected from the range of ⁇ to 255 is that, in this embodiment, the image data is 1 byte data which can take gradation values of 0 to 255.
  • the range in which the threshold can be taken is the range in which the maximum gradation value is excluded from the range in which image data can be taken.
  • a dot is always formed in a pixel having a threshold value equal to the minimum possible gradation value of the image data. It will be formed. To avoid this, the range that the threshold can take is the range that the minimum gradation value is excluded from the range that the image data can take.
  • the possible gradation values of the image data are 0 to 255, and dots are formed in pixels having the same threshold value as the image data. Therefore, the possible range of the threshold value is 1 to 255. 2 5 5
  • the size of the dither matrix is not limited to the size illustrated in FIG. 16, but may be various sizes including a matrix having the same number of vertical and horizontal pixels.
  • FIG. 17 is an explanatory diagram conceptually showing a state in which the presence or absence of dot formation is determined for each pixel with reference to a dither matrix. When judging the presence or absence of dot formation, first, the pixel to be judged is selected, and the gradation value of the image data for this pixel and the threshold value stored at the corresponding position in the dither matrix are determined.
  • the thin dashed arrow shown in Fig. 17 schematically shows that the gradation value of the image data is compared with the threshold value stored in the dither matrix for each pixel. .
  • the tone value of the image data is 97 and the threshold value of the dither matrix is 1, so it is determined that a dot is formed at this pixel.
  • the arrow indicated by a solid line in FIG. 17 schematically shows a state in which it is determined that a dot is formed in this pixel, and the result of the determination is written in the memory.
  • the tone value of the image data is 97
  • the threshold value of the dither matrix is 177, which is larger than the threshold value. to decide.
  • the image data is converted into data representing the presence or absence of dot formation for each pixel by determining whether or not a dot is formed for each pixel while referring to the dither matrix. Based on the contents described above, the method of determining the classification number of the pixel group and the method of setting the multi-value table, conversion table, and order value matrix will be described below.
  • FIG. 18 is an explanatory diagram showing a concept for determining a classification number for each pixel group.
  • Fig. 18 (a) shows that four pixels horizontally and four pixels vertically in the upper left corner of the image. This diagram conceptually shows how one pixel group is generated by putting together a total of eight pixels of two pixels.
  • the gradation value of the image data assigned to the pixel is compared with the threshold value set at the corresponding position of the dither matrix to determine the presence or absence of dot formation for each pixel.
  • a predetermined number of adjacent pixels are grouped together as a pixel group, so that the blocks set for the dither matrix also generate blocks by a predetermined number corresponding to the pixel group.
  • FIG. 18 (b) shows a state in which the threshold values set in the dither matrix shown in FIG. 16 are grouped into four in the horizontal direction and two in the vertical direction to generate a plurality of blocks.
  • the dither matrix 16 has a total threshold value of 128 pixels for 128 pixels in the horizontal direction (main scanning direction) and 64 pixels in the vertical direction (sub-scanning direction). Therefore, if these thresholds are grouped into blocks of four in the horizontal direction and two in the vertical direction, the dither matrix will be divided into 32 blocks in each of the vertical and horizontal directions, for a total of 10 24 blocks. Now, as shown in Fig. 18 (b), these blocks are given serial numbers from 1 to 124. Then, when the dither matrix is applied to the image data, the pixel groups are classified according to the serial numbers of the blocks applied to the positions of the pixel groups. For example, as shown in Fig. 18 (C), the block with the serial number 1 in Fig. 18 (b) is applied to the pixel group at the upper left corner of the image. The classification is made into the pixel group of the classification number ⁇ .
  • FIG. 19 is an explanatory diagram showing a method of calculating a classification number of a pixel group.
  • FIG. 19 (a) shows one pixel group generated in the image. In the following, a method of calculating a classification number using this pixel group as a target pixel group will be described. To do. As described above, the position of the pixel group of interest is represented by the pixel position of the pixel at the upper left corner of the pixel group. In FIG. 19 (a), the pixels indicating the positions of the pixel groups are indicated by black circles. Assume that the pixel position of this pixel is (X, Y). Then, the size of each pixel group is 4 pixels in the main scanning direction and 2 pixels in the sub-scanning direction.
  • n and m are positive integers greater than or equal to 0
  • n pixel groups are arranged on the left side of the pixel group of interest
  • m pixel groups are arranged above the pixel group of interest.
  • the pixel groups are classified based on the serial numbers of the blocks applied to the pixel group of interest when dither matrix is applied to the image data (see FIG. 18). ), The same pixel group is classified into different classification numbers depending on the method applied to image data while moving the dither matrix.
  • any method can be applied to the image data while moving the dither matrix, but here, for convenience of explanation, the simplest method, that is, moving the dither matrix horizontally.
  • Fig. 19 (b) conceptually shows how dither matrices are applied to image data repeatedly while moving them little by little in the horizontal direction.
  • Fig. 19 (c) shows how dither matrices are applied to the target pixel group shown in Fig. 19 (a) while using dither matrices repeatedly as shown in Fig. 19 (b). It is conceptually represented. By moving the dither matrix in this way, one of the blocks in the dither matrix is applied to the target pixel group. Here, it is assumed that the block of the M-th row and the N-th column in the dither matrix is applied to the target pixel group. Then, as shown in Fig.
  • int is an operator indicating that a value after the decimal point is truncated to be converted to an integer. That is, int (n / 32) represents an integer value obtained by truncating the decimal part of the calculation result of ⁇ / 32.
  • the numerical values M and N are obtained from the above-described relational expression shown in Fig. 19 (d), and the block of the block at the Mth row and the Nth column in the dither matrix is obtained.
  • the number may be used as the classification number of the pixel group of interest. In practice, however, as described above with reference to FIG.
  • FIG. 20 is an explanatory diagram showing a method of obtaining the classification number from the binary representation of the coordinate value of the pixel group of interest.
  • the coordinate value of the target pixel group is (X, Y), and X and Y are represented by 10 bits.
  • FIG. 20 (a) conceptually shows 10-bit binary data representing a numerical value X.
  • serial numbers from 1 to 10 are assigned from the most significant bit to the least significant bit.
  • the number n of the pixel groups on the left side of the target pixel group can be obtained by subtracting 1 from the numerical value X and dividing by 4.
  • the division by 4 can be performed by shifting rightward by 2 bits, so subtract 1 from the numerical value X and convert the resulting binary data to 2 bits rightward. You only have to shift the pit by the minute.
  • the numerical value X does not take an arbitrary value, it can only take a numerical value that can be expressed in the form of 4n + 1, so without subtracting 1, only binary data is shifted rightward by 2 bits.
  • the number n of pixel groups can be obtained simply by bit shifting.
  • FIG. 20 (b) conceptually shows the number n of binary data obtained by bit-shifting the numerical value X in this way.
  • int (n / 32) is calculated. That is, the number n is divided by 32, and the operation is performed to round off the number after the decimal point. Division by 32 can be performed by shifting the binary data bitwise by 5 bits to the right. I will. In the end, ⁇ nt (n / 32) binary data can be obtained by simply shifting the number n of binary data by 5 bits to the right.
  • Fig. 20 (c) conceptually shows the binary data of int (n / 32) obtained by bit-shifting the number n. The resulting int (n / 32) is multiplied by 32. Multiplication by 32 can be performed by shifting the binary data by 5 bits to the left.
  • the numerical value N it is possible to obtain the numerical value N extremely simply by only applying the mask data as shown in FIG. 20 (f) to the binary data shown in FIG. 20 (b).
  • mask data as shown in FIG. 20 (g) is applied to the binary data of the numerical value X indicating the position of the pixel group of interest shown in FIG. 20 (a), and the fourth to eighth bit data are obtained.
  • the numerical value N can also be obtained by extracting directly.
  • the dither is calculated from the numerical value X of the coordinate value (X, Y) indicating the position of the pixel group of interest.
  • the numerical value N indicating the block position in the matrix has been described above, but the numerical value M indicating the block position can also be obtained from the numerical value Y in exactly the same way.
  • the position of the pixel group of interest is known, it is only necessary to extract the data of a specific bit position from the binary data, and to know the row and column of the pixel group of interest in the dither matrix
  • the classification number of the pixel group of interest can be obtained.
  • the method of calculating the classification number described above with reference to FIG. 8 is a method derived in this manner.
  • the multi-value quantization table shown in FIG. 9 As described above, in the multi-value quantization table, the multi-value quantization result value for the pixel group gradation value is set for each pixel group classification number, and the multi-value quantization is performed with reference to the multi-value quantization table. As a result, the pixel group tone value is multi-valued in a unique manner according to the pixel group classification number as shown in FIG.
  • the multi-value quantization table of the present embodiment is set based on a method developed from the dither method described above so that the presence or absence of dot formation can be determined for each pixel for a plurality of types of dots having different sizes. ing. The detailed contents of such an approach are disclosed in Japanese Patent No.
  • FIG. 21 is a flowchart showing the flow of the half-I-one processing, which is based on the development of the dithering method and makes it possible to determine whether large dots, medium dots, and small dots are formed for each pixel.
  • the halftone processing is started, first, a pixel for which dot on-off state is to be determined is selected, and image data of the pixel is obtained (step S400). Next, the obtained image data is converted into density data for each of the large, medium, and small dots.
  • the density data is data representing the density of dots to be formed.
  • the density data indicates that the higher the gradation value, the higher the density of dots formed. It indicates that For example, the tone value “255” of the density data indicates that the dot formation density is ⁇ 100%, that is, that dots are formed in all pixels. “0” indicates that the dot formation density is 0%, that is, no dot is formed in any pixel. Conversion to such density data can be performed by referring to a numerical table called a dot density conversion template.
  • FIG. 22 is an explanatory diagram conceptually showing a dot density conversion table which is referred to when converting the gradation value of image data into density data for each of large, medium and small dots.
  • density data is set for each dot of small dot / medium dot * large dot with respect to the gradation value of the image data.
  • the density data of the medium dot and large dot are all set to the gradation value ro.
  • the density data of small dots increases as the tone value of the image data increases, but once the image data reaches a certain tone value, it starts to decrease again, instead of the middle dot. Density data starts to increase.
  • step S402 of FIG. 21 referring to the dot density conversion table, the gradation value of the image data is converted into the density data of the large dot, the density data of the medium dot, and the density data of the small dot. Perform processing to convert to.
  • the density data of the large, medium and small dots is obtained for the pixel to be processed, it is first determined whether or not a large dot is formed (step S404 in FIG. 21).
  • This determination is made by comparing the density data of the large dot with the threshold value of the dither matrix set at the corresponding position of the pixel to be processed. If the density value of the large dot is larger than the threshold value, it is determined that a large dot is formed in the pixel to be processed. Conversely, if the density data is smaller, a large dot is formed. Judge not to. Next, it is determined whether or not it is determined that a large dot is to be formed in the pixel to be processed (step S406). If it is determined that a large dot is to be formed (step S406: yes), the medium dot is determined. The determination of small pixels and small dots is omitted, and it is determined whether or not all pixels have been completed (step S418).
  • step S 418 If there remains any pixels for which dot formation has not yet been determined (step S 418: n 0), the flow returns to step S 400 to select a new pixel and perform a series of subsequent processes.
  • step S406
  • the medium dot density data is used to determine whether or not a medium dot is formed.
  • the intermediate data for the medium dot is calculated by adding the density data (step S408). The intermediate data for medium dots obtained in this way is compared with the threshold value of the dither matrix. If the intermediate data for the medium dot is larger than the threshold value, it is determined that a medium dot is to be formed.
  • a medium dot is formed. It is determined not to be performed (step S410). Next, it is determined whether or not it is determined that a middle dot is to be formed in the pixel to be processed (step S412), and if it is determined that a medium dot is to be formed (step S412: yes) ), Omitting the determination for small dots and determining whether all pixels have been completed (step S418). If it is not determined that a middle dot is to be formed in the pixel to be processed (step S412: n0), a small dot is inserted into the middle data for the middle dot in order to determine whether or not a small dot is formed.
  • the intermediate data for the small dot is calculated by adding the density data of the dot (step S414). Then, the obtained intermediate data for small dots is compared with the threshold of dither matrix. And the intermediate data for small dots is better than the threshold If the threshold value is larger, it is determined that a small dot is to be formed. Conversely, if the threshold value of the dither matrix is larger than the intermediate data, it is determined that no dot is to be formed (step S416) ). In other words, for pixels whose threshold value set in the dither matrix is larger than the large dot density data (pixels in which no large dot is formed), the medium dot density data is added to the large dot density data.
  • the obtained intermediate data is compared with a threshold value, and if the intermediate data is larger, it is determined that a medium dot is to be formed.
  • new intermediate data is calculated by adding the density data of small dots to the intermediate data.
  • the intermediate data is compared with the threshold value, and if the new intermediate data becomes larger, it is determined that a small dot is to be formed. Any pixel for which the threshold value is still larger is formed. You decide not to.
  • step S418 it is determined whether or not the processing has been completed for all the pixels (step S418), and if there are any undetermined pixels (step S418: n0), the process proceeds to step S410. Return to 0, select a new pixel, and continue —run through the sequence. In this way, it is determined whether a large, medium, or small dot is to be formed for each pixel selected as a processing target. Then, when it is determined that the processing has been completed for all the pixels (step S418: yes), the half
  • the method of judging the presence or absence of formation of each of the large, medium, and small dots using dither matrix has been described.
  • the pixel groups are collectively multi-valued by representing the image data of each pixel included in the pixel group with the pixel group gradation value. Therefore, when setting the multi-value conversion table, first, assuming that all the pixels in the pixel group have image data of the same value as the pixel group gradation value, the presence or absence of formation of various large, medium, and small dots for each pixel Think about judging. The determination of the presence or absence of formation of various dots is performed by the half I-one process described above with reference to FIG. FIG.
  • FIG. 23 is an explanatory diagram conceptually showing a state in which the presence / absence of large, medium, and small dots is determined for each pixel in the pixel group.
  • the pixel group of interest for performing the half! ⁇ One processing is indicated by a thick solid line.
  • the pixel group is composed of eight pixels, and the image data of each pixel has the same value as the pixel group tone value (tone value 97 in the example shown).
  • image data is converted to density data for each dot. Conversion to density data is performed by referring to the dot density conversion table shown in Fig.22.
  • the density data of the various dots also have the same value for all the pixels.
  • the gradation value of the large dot density data is “2”
  • the gradation value of the medium dot density data is ⁇ 95
  • the gradation value of the small dot density data is“ 30 ”.
  • the threshold value of the dither matrix used for comparison a threshold value set in a portion corresponding to a pixel group of interest from the dither matrix is used. For example, in the example shown in FIG.
  • the threshold set for the pixel group at the upper left corner in the dither matrix is used as the threshold. Then, among the eight threshold values set for the pixel group, a pixel having a smaller threshold value than the large dot density data is determined to form a large dot.
  • the density data of the large dot has the gradation value “2”
  • the pixel where the large dot is formed is only the pixel for which the threshold value ⁇ 1 J is set.
  • pixels for which a large dot is determined to be formed are displayed with fine diagonal lines.
  • a threshold is set that is larger than the large dot density data “2” and smaller than the medium dot intermediate data “97” obtained by adding the large dot density data and the medium dot density data. It is determined that a medium dot is formed in the pixel. There are only two such pixels, a pixel for which the threshold “42” is set and a pixel for which the threshold “58” is set. In FIG. 23, the pixels for which it is determined that medium dots are to be formed are displayed with slightly coarse hatching. Finally, the intermediate data for small dots “1” which is larger than the intermediate data for medium dots “97” and is obtained by adding the density data for small dots to the intermediate data for medium dots It is determined that small dots are formed for pixels for which a threshold smaller than 27 is set.
  • Such pixels are only those pixels for which the threshold “1 0 9” has been set.
  • the pixels for which it is determined that small dots are formed are indicated by coarse hatching.
  • the pixel group tone value of the pixel group of interest is “97”, one large dot, medium dot Two dots and one small dot will be formed.
  • the pixel group gradation values differ greatly, the number of large dots, medium dots, and small dots formed in the pixel group will also differ. Also, if the pixel group gradation value is changed from “0” to ⁇ '255, the number of large dots, medium dots, and small dots should change in several steps.
  • FIG. 24 is a flowchart showing the flow of the process of actually setting the multi-value table.
  • step S500 one pixel group classification number is selected. For example, here, it is assumed that classification number 1 is selected.
  • a threshold value corresponding to the pixel group of the selected classification number is read out from the dither matrix (step S502). For example, here, it is assumed that the classification number 1 is selected. Therefore, from the dither matrix illustrated in FIG. 16, eight of the dither matrices set at the block positions indicated as No. 1 in FIG. 18 (b) are selected. Read the threshold. Then, the multi-value quantization result value RV and the pixel group gradation value BD are set to “0” (step S504), and the number of large dots, medium dots, and small dots formed is reduced to zero. Set (step S506). Subsequently, by referring to the dot density conversion table shown in FIG.
  • the pixel group tone values are converted into density data for large dots, medium dots, and small dots (step S50).
  • the number of large, medium, and small dots to be formed is determined based on the density data and the threshold value read in advance (step S510). That is, as described with reference to FIG. 21 or FIG. 23, the number of thresholds smaller than the density data of large dots is obtained, and the obtained number is used as the number of large dots formed. Also, the number of thresholds larger than the density data of the large dot and smaller than the intermediate data for the medium dot is obtained, and this is set as the number of medium dots to be formed. Further, the number of thresholds larger than the intermediate data for medium dots and smaller than the intermediate data for small dots is obtained, and this is set as the number of small dots formed.
  • step S512 It is determined whether or not the number of formed various dots obtained in this manner has been changed from the previously set number of formed dots (step S512). If it is determined that the formed number has been changed (step S512: yes), the multivalue quantization result value RV is increased by “1” (step S514), and the obtained multivalue quantization is performed. The result value RV is stored in association with the pixel group gradation value BD (step S5 16). On the other hand, if it is determined that the number of formed pixels has not been changed (step S512: ⁇ 0), the value is used as it is for the pixel group gradation value BD without increasing the multi-value quantization result value RV. And memorize it (Step S5 16).
  • step S5 18 After storing the multi-value halftoning result value for a certain pixel group gradation value, it is determined whether or not the pixel group gradation value BD has reached the gradation value 255 (step S5 18). . If the gradation value has not reached 255 (step S5 18: ⁇ 0), the pixel group gradation value ⁇ D is increased by ⁇ ”(step S520), and the process returns to step S508 and returns to the pixel group again. After converting the gradation value BD into density data, a series of subsequent processes are performed, and the multi-value quantization result value RV is stored in association with the new pixel group gradation value BD (step S5 16).
  • step S516 yes
  • step S516 yes
  • step S516 it is determined whether or not the above processing has been performed for all the classification numbers. If an unprocessed classification number remains (step S522: no), the step S500 is performed. And the above processing is performed again. This process is repeated, and when it is determined that all the multi-value quantization result values have been set for all the classification numbers (step S522: yes), the multi-value quantization table setting process shown in FIG. 24 ends.
  • the multi-value quantization result value is obtained by converting the pixel group gradation value. It is determined by the obtained density data of the large, medium and small dots and the threshold value stored at the position corresponding to the pixel group in the dither matrix.
  • the dot density conversion table shown in FIG. 22 refers to the same table even if the pixel group classification numbers are different, the density data of each dot with respect to the pixel group gradation value also has the classification number. The same density data can be obtained regardless of the data.
  • the set of thresholds read from the dither matrix differs for each classification number.
  • the threshold value should be distributed as much as possible so that the dots do not appear in a fixed pattern on the image, or do not degrade the image quality due to sticking at close positions. And as random as possible. For this reason, when a plurality of threshold values included in the pixel group are viewed as a set, it is considered that the possibility of exactly the same combination is extremely low. For this reason, in the multi-level quantization table referred to in the multi-level quantization result generation processing of the present embodiment, the correspondence between the pixel group gradation value and the multi-level quantization result value differs for each classification number. Also, the number of times that the multi-level quantization result value changes (the number of levels of multi-level quantization shown in Fig. 10) differs depending on the classification number. -
  • Such a conversion table is used to convert the multi-value quantization result value into the data representing the number of dots formed in the pixel group by combining the multi-value quantization result value with the classification number during the dot formation presence / absence determination processing shown in FIG. Table to be referenced.
  • the multi-value quantization result values set in the multi-value quantization table are large, medium, and small dots formed in the pixel group. Is determined based on the number of However, the multilevel halftoning result value does not immediately correspond to the combination of the number of dots formed in the pixel group.
  • FIG. 25 is a flowchart showing a specific processing flow for setting the conversion table. Hereinafter, description will be given according to the flowchart.
  • the number of large, medium, and small dots corresponding to the multi-value quantization result value RV is obtained (step S604). For example, if the multilevel halftoning result value is ⁇ ⁇ , then for the pixel group of that classification number, change the pixel group gradation value from “0” to “255” while Judge the presence or absence of formation, and obtain the number of large dots, medium dots, and small dots when the number of dots formed changes the fourth.
  • the combination of the numbers of the dots thus obtained is converted into a code data (step S606). Conversion from the combination of dot numbers to code data is performed by referring to the correspondence table shown in Fig.13.
  • Step S610 After storing the obtained code data in association with the multi-level quantization result value (step S608), it is determined whether or not the maximum multi-level quantization result for the target classification number has been reached. That is, as described with reference to FIG. 9, the maximum value of the multi-valued Since the classification number differs depending on the classification number, it is determined whether or not the maximum value of the multilevel quantization result for the target classification number has been reached. If the maximum value of the multi-level quantization result has not been reached (step S610: n0), the value of the multi-level quantization result RV is increased by "1" (step S6 12).
  • step S610 the number of dots corresponding to the new multi-value quantization result value RV is obtained, and the subsequent series of processing is repeated. These operations are repeated, and when it is determined that the maximum multi-value quantization result value of the target classification number has been reached (step S610: yes), it is determined that all data for the classification number has been set in the conversion table. Become. Therefore, this time, it is determined whether the same process has been performed for all the classification numbers.
  • Step S 6 1 4 the process returns to step S600, a new classification number is selected, and the above-described series of processing is performed on this classification number.
  • step S614: yes all the data in the conversion table has been set, and the processing shown in FIG. 25 ends.
  • the conversion table set in this way is stored in advance in the ROM built in the control circuit 260. Then, in the dot formation presence / absence determination processing shown in FIG. 11, the multi-value quantization result value is converted into the number of pieces by referring to this conversion table.
  • the order value matrix is a matrix in which the order in which dots are formed is set for each pixel in the pixel group.
  • the order value matrix corresponding to the pixel group is read and the matrix is read.
  • the pixels that form large dots, medium dots, and small dots are determined according to the order set in the boxes.
  • the order value matrix can be formed by the method disclosed in Japanese Patent No. 3922104 (by developing the dither method to determine whether or not plural types of dots having different sizes are formed).
  • the method is set based on That is, when setting the multi-valued table, as described above, it is assumed that all the pixels in the pixel group have the same image data (pixel group gradation value), and the large, medium, and small dots formed in the pixel group are set. While determining the number, change the pixel group gradation value from “0” to ⁇ 255, and set the multi-value quantization result value by paying attention to the change in the number of dots formed at this time. did. Also, as shown in FIG. 12, by combining the multi-value quantization result value and the classification number, it was possible to restore up to the number of large, medium, and small dots formed in the pixel group.
  • the ordinal matrix can be thought of as storing information on the pixel positions where various dots are formed in the pixel group. That is, if the method disclosed in Japanese Patent No. 3922104 is applied to a pixel group, as described above with reference to FIGS. 21 to 23, not only the number of various dots formed but also the pixel Although it is possible to determine the pixel position where a dot is formed in a group, in this embodiment, this method is decomposed into two elements, and the information on the number of formed dots is mainly multi-valued.
  • Result value (Accurately, a combination of the multivalued result value and the classification number) (It can be considered that this is reflected, and the information on the pixel position where the dot is formed is reflected in the order value matrix.
  • Result value matrix can be set relatively easily, and Fig. 26 is an explanatory diagram specifically showing a method of setting an order value matrix.
  • FIG. 26 (a) is an explanatory diagram conceptually showing a state where the dither matrix is divided into a plurality of blocks. Now, assuming that the dither matrix has the size shown in Fig. 16 (that is, 128 pixels in the main scanning direction and 64 pixels in the sub-scanning direction), one pixel group consists of the main scanning direction. As shown in Fig.
  • FIG. 26 (a) is an explanatory diagram showing, as an example, a state in which an ordinal value matrix is generated from a block having a classification number of one.
  • the left half of FIG. 26 (b) shows the threshold of dither matrix included in the block of classification number 1. As described above with reference to FIG. 23, dots are formed in order from the pixel for which a small threshold value is set.
  • the pixel in which the dot is formed first in the block of one incense shown in FIG. 26 (b) can be considered as the pixel for which the threshold value “1” is set. Therefore, “1” is set to this pixel as the order value.
  • the pixel on which the second dot is formed can be considered to be the pixel for which the threshold “4 2”, which is the second smallest threshold, is set. Therefore, an order value “2” is set for this pixel. In this way, if the order value “1” to the order value “8” are determined in order from the pixel with the smallest threshold set in the block, the classification shown in the right half of Fig. 26 (b) can be obtained. You can get the ordinal value matrix of number 1 incense.
  • Fig. 26 (c) shows the classification number 2 by setting the order value M "to the order value” 8 "in order from the discards for which a small threshold is set in the block. It shows how the order value matrix of incense is obtained.
  • classification number“ 1 ” 0 2 4 ”An order value matrix up to incense can be obtained.
  • the order value matrix set in this way is stored in advance in the ROM built in the control circuit 260 in association with the pixel group classification number. Have been. Then, when performing the dot on / off state determination process shown in FIG. 11, the matrix corresponding to the classification number of the pixel group is read from the stored order value matrix.
  • a plurality of pixels are grouped into a pixel group, and the multi-level conversion is performed for each pixel group by referring to the multi-level conversion table illustrated in FIG. Determine the result value.
  • the conversion table illustrated in FIG. 12 and the order value matrix illustrated in FIG. 14 pixel positions at which various dots are formed in the pixel group based on the multi-value quantization result value are determined. decide. Even when the positions of the pixels forming the dots are determined in this way, a high-quality image in which the dots are appropriately dispersed can be output.
  • the dither matrix to be referred to at this time is a so-called blue noise mask or a matrix taking into account the dispersibility represented by a green noise mask
  • a high-quality image in which dots are well dispersed can be obtained.
  • image data generally tends to be assigned similar (or identical) gradation values between adjacent pixels.
  • the resolution of image data has tended to be higher and higher due to the demand for higher image quality.However, the tendency that adjacent pixels have similar or the same gradation value is more pronounced as the resolution of image data is higher. . For this reason, as described above with reference to FIG.
  • the pixel group tone value is multi-valued to generate a multi-value quantization result value depending on the pixel group classification number.
  • the multi-value quantization result value thus generated is combined with the pixel group classification number to provide data indicating the number of various dots formed in the pixel group.
  • the number of large dots, medium dots, and small dots formed by combining with the pixel group classification number is 1, 2, and 1, respectively.
  • a multi-value quantization result value is generated as shown in the following table.
  • the dot formation presence / absence determination processing of the first embodiment described above when such a multi-value quantization result value is received, the presence / absence formation of each of the large, medium, and small dots is determined for each pixel in the pixel group.
  • Fig. 27 is a conceptual diagram showing the general flow of the process for determining whether or not large, medium, and small dots are formed for each pixel in the pixel group by receiving the multi-value quantization result value in the dot formation presence / absence determination process described above.
  • the classification number of the pixel group represented by the result value is obtained, and then the The number of large, medium, and small dots to be formed is obtained based on the binarization result value and the classification number.
  • a matrix stored in association with the classification number is read out from the order value matrix stored in advance. A specific method for obtaining the classification number will be described later. If the description is made assuming the pixel group shown in FIG. 23, the pixel group is located at the upper left corner of the image. By combining the multi-value quantization result value of this pixel group and the obtained classification number, it can be seen that one large dot, two medium dots, and one small dot are formed in this pixel group.
  • the order value matrix of the classification number 1 is referred to.
  • the order value matrix is used to determine whether or not dots are formed for the corresponding portion of the dither matrix used for determining whether or not dots are formed, that is, for each pixel in the pixel group.
  • An ordinal value matrix generated from the part. Based on the number of large, medium and small dots obtained in this way and the order value matrix, the pixel positions at which these dots are formed in the pixel group are determined. Since the specific method of determining the pixel position has already been described with reference to FIG. 15, the description is omitted here and only the result is shown.
  • the middle dot is formed in the pixel with the order value of 2 and the third pixel, and the small dot is formed in the pixel with the order value of 4.
  • Pixel 27 as in Figure 15, pixels forming large dots are finely hatched, pixels forming medium dots are slightly hatched, and pixels forming small dots. Is shown with coarse hatching. Comparing the dot distribution obtained in this way with the dot distribution obtained by judging the presence or absence of dot formation for each pixel shown in Fig. 23, the two dot distributions are complete. It can be seen that they match. That is, even if only the multi-value quantization result value depending on the classification number is received, When the presence or absence of dot formation was determined using the method described above, the above-mentioned Patent No.
  • the multi-value quantization table referenced to generate the multi-value quantization result values is set based on the dither matrix (see Figure 25).
  • the conversion table or ordinal matrix referred to in the process of determining the presence or absence of dot formation from the multi-value quantization result value is also set based on the dither matrix (see FIGS. 25 and 26). ).
  • FIG. 28 is an explanatory diagram showing a method of obtaining a classification number based on the position of a pixel group on an image.
  • the target pixel group is the ⁇ ⁇ -th pixel group in the main scanning direction and the j-th pixel in the sub-scanning direction with reference to the upper left corner of the image.
  • they are in group position.
  • the position of such a pixel group is represented by a coordinate value (i, j).
  • the size of the dither matrix is usually not as large as the image, so as described above with reference to Fig. 19 (b), the dither matrix is repeatedly moved while moving in the main scanning direction. Shall be used.
  • FIG. 29 is an explanatory diagram specifically showing a method of obtaining the position of the pixel group in the dither matrix from the coordinate value (i, j) of the pixel group.
  • FIG. 29 (a) conceptually illustrates a 10-bit binary number representing a numerical value i.
  • serial numbers from 1 to 10 are assigned from the most significant bit to the least significant bit.
  • int (i / 32) is calculated. This operation can be performed by shifting the binary data of ⁇ to the right by 5 bits (see Figure 29 (b)). Next, int (i / 32) ⁇ 32 is calculated. This operation can be performed by shifting the binary data of int (i / 32) leftward by 5 bits (see Figure 29 (c)). Finally, subtracting int (i 32) X 32 from the number i gives the desired number I. This operation is essentially nothing more than extracting the lower 5 bits from the binary data of the numerical value ⁇ . It is very easy to obtain the numerical value I.
  • the classification number can be calculated by using the above equation (2).
  • the multi-value halftoning result value generation processing (step S106 in FIG. 6) and the dot formation presence / absence determination processing (step S108 in FIG. 6) performed during the image printing processing of the first embodiment are described above. The contents were explained in detail.
  • a pixel group is generated by grouping a predetermined number of pixels, and a result value obtained by multi-leveling the pixel group tone value of the pixel group is generated.
  • the multi-value quantization result value obtained in this way is a result value depending on the classification number of the pixel group, but the data amount is much smaller than the data indicating the presence or absence of dot formation for each pixel. Therefore, data can be output very quickly from the computer 100 to the color printer 200. That is, in the above-described multi-value quantization result generation processing, the generation and output of the multi-value quantization result value can be executed at high speed, and the image can be printed quickly by that much. is there.
  • the process of generating the multi-value quantization result value is merely a process of referring to the multi-value quantization table, and the classification numbers and pixel group gradation values used to refer to the multi-value quantization table are extremely simple. Therefore, even when a device such as the computer 100 that does not have a high data processing capability is used, the processing can be performed at a sufficiently practical speed. Furthermore, since most of the processing is extremely simple processing of simply referencing a table, it is not executed by software using a CPU, but by using an IC chip incorporating a dedicated logic circuit. It is easy to execute in hardware, and this makes it possible to process at extremely high speed.
  • the multi-value quantization result value generation processing is performed inside the digital camera 120 or the color printer 200. Executing in, the image can be printed quickly.
  • the dot formation presence / absence determination processing performed during the image printing processing of the first embodiment, when the multi-value quantization result value is received, the presence / absence of dot formation is determined for each pixel in the pixel group.
  • the multi-value quantization result value is converted into a combination of the number of dots by referring to a conversion table. Then, by referring to the order value matrix, the formation positions of various dots are determined.
  • the pixel positions forming various dots can be quickly determined. Normally, when the types of dots that can be formed increase, the process of determining the pixel positions where these various dots are formed becomes complicated at an accelerated rate.
  • the basic processing contents of referring to the conversion table and the order value matrix are the same even when the number of dots increases. The processing content does not become complicated. From this point as well, it can be said that the dot formation presence / absence determination processing of the first embodiment enables simple and quick processing.
  • the gradation value 0 to the gradation value 255 For each pixel group gradation value up to, a multi-value quantization table storing the corresponding multi-value quantization result values is referenced. However, the multi-value quantization result value only increases stepwise as the pixel group tone value increases. Therefore, if only the pixel group tone value at which the multi-value quantization result value switches is stored, the pixel group tone value is obtained. A multi-value halftoning result value for the tone value can be obtained. In an image printing process according to a first modification described below, a multi-value quantization result value generation process according to such a modification is performed. FIG.
  • FIG. 30 is an explanatory diagram conceptually showing a threshold value table referred to in the multi-value quantization result value generation processing of the modification.
  • a threshold value corresponding to the multi-value quantization result value is set in the threshold value table for each classification number.
  • This threshold value represents the largest pixel group gradation value that is the multi-value halftoning value when the pixel group gradation value is increased from gradation value 0 to gradation value 255.
  • the pixel group of the classification number 1 will be described.
  • a threshold “2” is set for the multi-level quantization result value “0”.
  • a threshold value of “15 J” is set for the multi-value quantization result value ⁇ . ” This means that, for the pixel group of classification number 1, the pixel group tone value is from 33 to ⁇ 15 If the value is within the range, the multi-value quantization result value becomes ⁇ ”.
  • a threshold “2 4 3” is set for the multi-level quantization result value “1 4”
  • a threshold “2 5 5” is set for the multi-level quantization result value ⁇ 5 j.
  • the multi-value quantization result value will be “1 5”. Indicates that the maximum value of the multi-value quantization result value is ⁇ 5 ”.
  • the threshold value for each classification number is set corresponding to the multi-value quantization result value.
  • a single set of threshold values may be stored for each classification number without being associated with a multi-value quantization result value. In this case, by counting the number of thresholds smaller than the pixel group gradation value, the multivalued result value can be obtained. The description will be given again using the pixel group of the classification number 1 as an example.
  • the pixel group gradation value is “20”.
  • the multilevel halftoning result value for the pixel group tone value 20 may be determined to be “3”.
  • the multi-value halftoning result value generation processing of the modified example described above after obtaining the pixel group gradation value and the classification number for the pixel group, the multi-value conversion processing is performed by referring to the threshold table illustrated in FIG. Generate the conversion result value.
  • the threshold table can be stored with a smaller amount of data than the multi-level quantization table (see FIG.
  • the multi-value quantization result value can be immediately obtained only by referring to the multi-value quantization table from the classification number and the pixel group gradation value. That is, since it is not necessary to compare the pixel group gradation value with the threshold unlike the processing in the modified example, it is possible to quickly multi-value.
  • the dot formation presence / absence determination process of the first embodiment described above when the classification number of the pixel group and the multi-value quantization result value are received, this is temporarily converted into data representing the number of various dots to be formed in the pixel group. did.
  • judging the presence or absence of dot formation whether or not a dot was formed for each pixel in the pixel group was determined for each type of dot. For example, in the flow chart shown in Fig. 11, it is first determined whether or not a large dot is formed, then the medium dot is determined, and finally the small dot is determined. The presence or absence of dot formation was determined for each type of dot.
  • the method of determining the presence or absence of dot formation is not limited to such a method.
  • FIG. 31 is a flowchart showing a flow of a dot formation presence / absence determination process according to a modification.
  • the dot formation presence / absence determination processing of the modified example will be described with reference to a flowchart.
  • the dot formation presence / absence determination processing of the modified example similarly to the processing in the first embodiment described above, first, when the processing is started, one pixel group to be processed is selected (step S700).
  • the multi-value quantization result value of the selected pixel group is obtained (step S702), and the number of dots to be formed in the pixel group is determined based on the classification number of the pixel and the multi-value quantization result value.
  • the data to be represented is obtained (step S704).
  • the data of the number of dots can be quickly obtained from the combination of the classification number and the multi-value quantization result value by referring to the conversion table shown in FIG. In the dot formation presence / absence determination process of the modified example, the data of the number of dots thus obtained is temporarily converted into intermediate data having a length of 16 bits (step S706). That is, in the conversion table of FIG. 12, the data of the number of dots is represented as 8-bit length code data in order to reduce the amount of data.
  • the data length of the data is 16 bits because the number of pixels included in the pixel group is 8, and the presence or absence of dot formation for each pixel can be expressed with 2 bits By being.
  • the intermediate data is data that represents the number of dots using eight sets of data corresponding to the number of pixels, with one set of two bits each. If the number of dots to be formed in the pixel group is expressed in such a format, it is easy to correspond to the pixels as described later, so that it is possible to easily determine whether or not to form dots.
  • the correspondence between the code data representing the number of dots and the intermediate data is stored in advance.
  • FIG. 32 is an explanatory diagram showing a correspondence table in which code data representing the number of dots is associated with intermediate data.
  • code data representing the number of dots is associated with intermediate data.
  • the type of the dot is represented by two bits as one set.
  • 16-bit data can be obtained.
  • the 16-bit intermediate data is data obtained by converting the expression format of the code data in this way. For example, code data "" indicates a combination of 0 large dots, 0 medium dots, and 1 small dot. For reference, the combination of the number of dots indicated by each code data is shown on the right side of FIG.
  • the 16-bit data corresponding to the code data. 1 J contains only one set of“ 0 1 ”.
  • the two-bit data is data such as “0 0”.
  • the 2-bit data “0 0” is data indicating that no dot is formed.
  • the code data “1 63” indicates a combination of 7 large dots, 1 medium dot, and 0 small dots.
  • the large dot Only one set of “1 1” is set at the right end, two sets of 2-bit data ⁇ 1 0 indicating the middle dot are set next to the left, and further to the left Subsequently, three sets of 2-bit data “0 1” representing a small dot are set, and the remaining two sets are set with 2-bit data “0 0” indicating that no dot is formed. In the end, these 2-bit data may be set left-justified. That is, large dots, medium dots, and small dots may be set in order from the left.
  • the combination of the classification number and the pixel group gradation value is once converted into 8-bit code data representing the number of dots.
  • the code data is converted to 16-bit intermediate data.
  • 16-bit intermediate data is set in the conversion table shown in Fig. 12 instead of 8-bit code data. It is also possible to immediately obtain intermediate data from a combination of the pixel group classification number and the pixel group gradation value.
  • step S708 the order value matrix corresponding to the pixel group is read (step S708), and the pixel for which dot formation is to be determined from the pixel group is determined. Is selected (step S710), and the order value set at the pixel position selected in the order value matrix is acquired (step S712).
  • step S710 the order value set at the pixel position selected in the order value matrix is acquired (step S712).
  • step S710 the presence or absence of dot formation for the selected pixel is determined by reading the 2-bit data set at the location corresponding to the order value from the intermediate data obtained earlier.
  • Figure 33 shows that the presence or absence of dot formation is determined by reading the data at the location corresponding to the order value from the intermediate data.
  • FIG. 33 (a) shows an example of intermediate data obtained by converting data of the number of dots formed in a certain pixel group.
  • the intermediate data is 16-bit data, and is composed of eight sets of data each two bits.
  • one set of 2-bit data ⁇ 1 J representing a large dot two sets of 2-bit data ⁇ 10 representing a medium dot
  • two sets of small dots Three sets of 2-bit data "0 1" and two sets of 2-bit data "0 0" indicating that no dot is formed.
  • the two-bit data consists of large dots, medium dots, and small dots. Right-justified in dot order.
  • FIG. 33 (b) conceptually shows a state where 2-bit data in the third set from the right end of the intermediate data is read.
  • the read 2-bit data is “1 0”, so it may be determined that a medium dot is to be formed in this pixel. If the sequence value is “1”, the 2-bit data set at the right end of the intermediate data should be read out and determined to form a large dot.
  • the presence / absence of dot formation is determined by an extremely simple operation of reading 2-bit data set at a position corresponding to the order value from the intermediate data. Can be determined. This is for the following reasons.
  • two-bit data representing large dots, medium dots, and small dots are set right-justified.
  • the dots are arranged in the order of large, medium, and small dots. The presence or absence of formation is determined.
  • the 2-bit data set in the intermediate data is read in order from the right end, various dots are formed by applying the method described above with reference to FIG. 21 or FIG. In this order, two-bit data representing large dots, medium dots, and small dots are obtained in the same order in which the pixel positions to be determined are determined.
  • dots are formed in order from the pixel for which a small threshold is set in the dither matrix.
  • the order value set in the order value matrix indicates the order of smaller threshold values set in the dither matrix. Therefore, the order value matches the order in which the dots were formed when the presence or absence of the dot formation was determined using the method described above with reference to FIG. 21 or FIG.
  • the order value of the target pixel is known, then when applying the method of Fig. 21 or Fig. 23, it is determined in which order the pixel is the pixel in which the dot is formed in the pixel group If the intermediate data is counted from the right end and the two-bit data of the ordinal value set is read, the presence or absence of dot formation obtained when the method of FIG. 21 or FIG. 23 is applied is obtained. You can know the result of the decision. In the above description, the place where the 2-bit data is read out of the intermediate data is changed according to the order value. However, instead of changing the location to be read in the intermediate data, the location from which the data is read may be fixed, and the intermediate data may be shifted by the number of sets corresponding to the order value.
  • FIG. 33 (c) is an explanatory diagram conceptually showing a state in which the presence / absence of dot formation is determined by shifting the intermediate data.
  • the 2-bit data at the right end of the intermediate data is read out, and the intermediate data is shifted rightward by the number of sets corresponding to the pixel order value (specifically, the number of sets that is one less than the order value). I'm shifting.
  • the two bits set at the same position in the intermediate data are ultimately obtained. This means that data is being read.
  • step S714 If there is a pixel in the pixel group for which dot formation has not yet been determined (step S714: ⁇ 0), the process returns to step S710 to select a new pixel. Then, after performing the above-described series of processes on the selected pixel, it is determined again whether or not dot formation is determined for all pixels in the pixel group (step S 716). This operation is repeated until it is determined whether or not dots are formed for all the pixels in the pixel group. If it is determined that all the pixels have been determined (step S 716: yes), then all the pixels in the image are set. It is determined whether or not dot formation is determined for the group by performing the processing described above (step S718).
  • step S 718: n 0 If an unprocessed pixel group remains (step S 718: n 0), the process returns to step S 700 to select a new pixel group and perform a series of subsequent processing on the pixel group. . These operations are repeated, and when it is determined that the processing for all the pixel groups is finally completed (step S718: yes), the processing for determining whether or not to form a dot in the modified example shown in FIG. 31 is completed. .
  • dot formation can be performed simply by reading 2-bit data set at an appropriate position according to the order value from the intermediate data. Can be determined.
  • the presence or absence of the dot formation can be quickly determined in this way, so that the image can be printed more quickly.
  • the dot formation presence / absence determination processing of the first embodiment described above when the multi-value quantization result value for each pixel group is received, the number of dots is temporarily determined by referring to the conversion table shown in FIG. After converting the data to represent data, the pixel positions where dots are to be formed within the pixel group were determined with reference to the order value matrix. However, upon receiving the multi-value quantization result value for each pixel group, it is also possible to immediately determine the pixel positions forming various dots.
  • D-1 Principle of the process for determining the presence or absence of dot formation in the second embodiment:
  • the dot formation presence / absence determination processing of the first embodiment when a multi-value quantization result value is received for each pixel group, a classification number of the pixel group is obtained, and then the multi-value quantization is performed. From the combination of the result value and the classification number, the number of various dots formed in the pixel group was determined. Then, the pixel positions for forming these dots are determined by referring to the order value matrix corresponding to the classification number. That is, if the multi-value halftoning result value and the classification number of the pixel group are determined, the type of dot formed at each pixel in the pixel group can be determined.
  • FIG. 34 is an explanatory diagram conceptually showing a conversion table referred to in the dot formation presence / absence determination processing of the second embodiment.
  • data representing the type of dot formed in each pixel in the pixel group is associated with the combination of the multi-value quantization result value and the classification number. Is set. In the following, such data will be referred to as dot data.
  • dot data can be immediately read out from the combination of the pixel group classification number and the pixel group gradation value. For example, if the classification number is i and the pixel group gradation value is j, the dot data is DD (i, j). The dot data read in this manner describes whether or not a dot is formed for each pixel in the pixel group.
  • the dot data is 16-bit long data composed of 8 sets of 2-bit data.
  • one dot data is composed of eight sets of data, which corresponds to the fact that one pixel group includes eight pixels in the image printing process of this embodiment. That is what you do. Therefore, for example, when one pixel group is composed of four pixels, one dot data is composed of four sets of data.
  • the reason why one set of data consists of two bits is that the color printer 200 of the present embodiment has one pixel, a large dot, a medium dot, and a small dot.
  • each of the eight sets of data constituting the dot data is associated with a pixel at a predetermined position in the pixel group.
  • the first set of data at the beginning of the dot data shown in Fig. 35 (a) corresponds to the pixel at the upper left corner in the pixel group as shown in Fig. 35 (b). .
  • the second set of data from the top of the dot data corresponds to the second pixel from the left in the upper row in the pixel group.
  • the eight sets of data constituting the dot data are respectively associated with the pixels at the predetermined positions in the pixel group in advance.
  • the content of each set of data indicates the type of dot to be formed in the corresponding pixel. ing.
  • the 2-bit data "1 1” means that a large dot is formed.
  • Two-bit data "10” means forming a medium dot, "01J means forming a small dot, and" 0 0 "means not forming a dot. ing.
  • a large dot is formed in the pixel at the upper left corner of the pixel group, and a medium dot is formed in the third pixel from the left in the upper row.
  • a small dot is formed in the second pixel from the left in the lower row, a medium dot is formed in the pixel at the lower right corner of the pixel group, and data indicating that no dot is formed in other pixels.
  • FIG. 36 is a flowchart showing the flow of the dot on-off state determination process of the second embodiment. The following is a brief description according to the flowchart.
  • the dot data representing the presence or absence of dot formation for each pixel in the pixel group is read out.
  • the position corresponding to the dot is By simply reading out the stored dot data, the presence or absence of dot formation can be determined for each pixel in the pixel group.
  • it is determined whether or not dot formation is determined for all pixel groups step S806). If an unprocessed pixel group remains (step S806: no), the step is performed. Returning to S800, a new pixel group is selected, and a series of subsequent processing is performed on the pixel group.
  • step S806 the dot formation presence / absence determination processing of the second embodiment shown in FIG. 36 is terminated.
  • the dot formation presence / absence of each pixel in the pixel group can be determined from the multi-value quantization result value simply by referring to the conversion table on the first floor. You can decide immediately. Therefore, the presence / absence of the dot formation can be determined more quickly even in the process of determining the presence / absence of the dot formation of the first embodiment shown in FIG. It is possible to output.
  • the present invention is not limited to all the embodiments described above, and can be implemented in various modes without departing from the gist of the invention.
  • the present invention can be suitably applied to a liquid crystal display device or the like that expresses an image whose gradation continuously changes by dispersing bright spots on a liquid crystal display screen at an appropriate density.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

 画素を所定の複数個ずつ画素群にまとめて、画素群を代表する画素群階調値を決定する。次いで、画素群階調値と、該画素群階調値を多値化することによって得られる多値化結果値とが画素群毎に設定された対応関係を参照することにより、画素群階調値を多値化する。こうして画素群毎に得られた多値化結果値を画像出力装置の制御データとして供給する。画像出力装置では、供給された制御データに基づいて、画素群内の各画素についてドットの形成有無を決定した後、出力媒体上にドットを形成して画像を出力する。こうすれば、多値化結果値を迅速に生成することが可能となるだけでなく、生成した多値化結果値を迅速に供給することができるので、画像を迅速に出力することが可能となる。

Description

明細書
複数画素ずつ多値化を行う画像処理装置 技術分野
この発明は、 画像データに基づいて画像を出力する技術に関し、 詳しくは、 画 像データに所定の画像処理を施してドッ卜を適切な密度で発生させることによ リ、 画像を出力する技術に関する。 背景技術
印刷媒体や液晶画面といった各種の出力媒体上にドッ卜を形成することで画像 を出力する画像出力装置は、各種画像機器の出力装置として広く使用されている。 これら画像出力装置では、 画像は画素と呼ばれる小さな領域に細分された状態で 扱われており、 ドットはこれら画素に形成される。 ドットを画素に形成した場合、 もちろん画素 1つ 1つについて見れば、 ドッ卜が形成されるか否かのいずれかの 状態しか取り得ない。 しかし、 ある程度の広さを持った領域で見れば、 形成する ドッ卜の密度に粗密を生じさせることは可能であ 、 ドッ卜の形成密度を変える ことによつて多階調の画像を出力することが可能である。
例えば、 印刷用紙上に黒いインクのドットを形成する場合、 ドットが密に形成さ れている領域は暗く見えるし、 逆にドッ卜がまばらに形成されている領域は明る く見える。 また、 液晶画面に輝点のドットを形成する場合、 ドットが密に形成さ れた領域は明るく見え、 まばらに形成された領域は暗く見える。 従って、 ドット の形成密度を適切に制御してやれば、多階調の画像を出力することが可能となる。 このように、 適切な形成密度が得られるようにドッ卜の形成を制御するた のデ 一夕は、出力しょうとする画像に所定の画像処理を施すことによって発生させる。 近年では、 これら画像出力装置には、 出力画像の高画質化ゃ大画像化が要請さ れるようになってきた。 高画質化の要請に対しては、 画像をより細かな画素に分 割することが効果的である。 画素を小さくしてやれば、 画素に形成されるドット が目立たなくなるので画質を向上させることができる。 また、 大画像化の要請に 対しては、 画素数を増加させることによって対応する。 もちろん、 個々の画素を 大きくすることによつても出力画像を大きくすることはできるが、 これでは画質 の低下を招いてしまうので、 大型化の要請に対しては画素数を増加させることが 効果的である。 もっとも、 画像を構成する画素数が増加すると画像処理に時間がかかってしま い、 画像を迅速に出力することが困難となる。 そこで、 画像処理を迅速に実行可 能とする技術が提案されている (例えば、 特開 2 0 0 2— 1 8 5 7 8 9号公報参 照)。 発明の開示
しかし、 画像処理を迅速に行ったとしても、 画像データの転送に、 あるいは処 理済みの画像データの転送に時間がかかってしまったのでは、 画像の出力を迅速 化する効果にも自ずから限界がある。 また、 近年では、 デジタルカメラなどで撮影した画像のデータを、 印刷装置な どの画像出力装置に直接供給して直ちに画像を出力したいという要請も存在す る。 このような場合は、 いわゆるパーソナルコンピュータ等のような高い処理能 力を備えた画像処理装置を用いて画像処理を行うことはできない。 従って、 デジ タルカメラなどの画像撮影装置あるいは画像出力装置のいずれか、 若しくは両者 で分担して実行可能なように、 簡素な画像処理としておく必要がある。 この発明は従来技術における上述した課題を解決するためになされたものであ リ、 十分な出力画質を維持したまま、 画像処理およびデータ転送を高速に実行可 能であるとともに、 画像処理のためにパーソナルコンピュータ等のような高い処 理能力を有する機器を用いずとも実行可能な、 簡素な画像処理技術の提供を目的 とする。 上述した課題の少なくとも一部を解決するために、 本発明の画像処理装置は、 次の構成を採用した。 すなわち、 本発明は、 所定階調数で表現された画像を表わ す画像データを処理し、 画像を構成する各画素については、 前記所定階調数より 少ない階調数での多値化を行なう画像処理装置であつて、
複数個の画素がまとめられた画素群を代表する階調値である画素群階調値と、 該画素群を構成する各画素についての前記多値化の結果を表わす多値化結果値と の対応関係を予め準備する対応関係準備手段と、
前記画像を表わす画像データから前記画素群に相当する画素のまとまりを取り 出し、 該取り出された画素のまとまりである画素群毎に、 前記画素群階調値を決 定する画素群階調値決定手段と、
前記対応関係を参照することにより、 前記画素群階調値に基づき、 前記画像を 構成する各画素群についての多値化結果値を取得する多値化手段と、
前記画素群毎に得られた多値化結果値から、 前記画像を形成するための制御デ 一夕を生成して出力する制御データ出力手段と
を備えることを要旨とする。 また、 上記の画像処理装置に対応する本発明の画像処理方法は、 所定階調数で 表現された画像を表わす画像データを処理し、画像を構成する各画素については、 前記所定階調数より少ない階調数での多値化を行なう画像処理方法であつて、 複数個の画素がまとめられた画素群を代表する階調値である画素群階調値と、 該画素群を構成する各画素についての前記多値化の結果を表わす多値化結果値と の対応関係を予め準備し、
前記画像を表わす画像データから前記画素群に相当する画素のまとまりを取り 出し、 該取り出された画素のまとまりである画素群毎に、 前記画素群階調値を決 定し、
前記対応関係を参照することにより、 前記画素群階調値に基づき、 前記画像を 構成する各画素群についての多値化結果値を取得し、 前記画素群毎に得られた多値化結果値から、 前記画像を形成するための制御デ —夕を生成して出力すること
を要旨としている。 かかる本発明の画像処理装置および画像処理方法においては、 画像を構成する 画素が所定の複数個ずつまとめられた画素群毎に、 該画素群を代表する階調値た る画素群階調値を決定し、 得られた画素群階調値を多値化する。 ここで画素群と しては、 常に同数の画素をまとめたものであっても良いが、 例えば、 所定のパ夕 ーンあるいは所定の規則に従って異なる個数ずつ画素をまとめたものとすること もできる。 また、 画素群階調値の決定に際しては、 例えば画素群内に含まれる各 画素の画像データに基づいて決定することができる。 例えば、 複数の画素の階調 値の平均値、 代表値、 合計値などを適宜用いることができる。 こうして画素群毎 に得られた多値化結果値から、 画像を形成するための制御データを生成し、 これ を出力する。 詳細には後述するが、 画像の全画素についてドッ卜形成の有無を表すデータに 比べれば、 多値化結果値はたいへんに少ないデータ量で、 画像全体を多値化して 表現することができる。 従って、 多値化結果値から生成された制御データを出力 してやれば、 迅速に出力することが可能となる。 また、 このような制御データを 受け取った画像出力装置では、 後述する方法を用いることにより、 画素群内の各 画素についてドッ卜形成の有無を判断した後、 判断結果に基づいて画像を出力す ることができる。 従って、 こうした画像出力装置に迅速に制御データを供給する ことができれば、 それだけ迅速に画像を出力することが可能となる。 また、 画素群階調値の多値化を行うに際しては、 画素群階調値と多値化結果値 との対応関係を参照しながら多値化を行っているため、 迅速に多値化結果値を得 ることができる。 このため、 制御データを迅速に生成することが可能であり、 よ リー層、 迅速に制御データを出力することができる。 更に、 多値化に際しては、 画素群毎に設定された対応関係を参照することによ つて多値化を行っている。 画素群毎に対応関係を設定することができれば、 異な る画素群階調値に対して同じ多値化結果値を対応付けておくことが可能となるの で、 画素群を区別することなく単に画素群階調値を多値化した場合と比べて、 多 値化結果値の個数を減少させることができる。 その結果、 単に画素群階調値を単 に多値化した場合よりも制御データのデータ量を減少させることができ、 より一 層、 迅速にデータを出力することが可能となる。 加えて、 詳細には後述するが、 画素群の画素群階調値は極めて容易に求めるこ とができるから、 多値化結果値を生成するための主な処理は、 対応関係を参照す るという簡素な処理となる。 このため、 多値化のために、 多数の比較や複雑な分 岐処理などを行なうコンピュータなど、 高度な処理能力を備えた機器を必要とし ない。 条件判断などを高速に行なうことができない機器においても、 十分に実用 的な速度で処理することが可能である。 従って、 例えば画像データを、 コンビュ 一夕などを介さずに直接、 画像出力装置に供給し、 画像データにこれらの画像処 理を画像出力装置の内部で施して、 適切に画像を出力することも可能となる。 こうした画像処理装置においては、 次のようにして画素群階調値を多値化する こととしてもよい。 先ず、 画素群毎に付された分類番号を取得する。 そして、 分 類番号毎に設定された対応関係を参照することにより、 画素群階調値を多値化す ることとしてもよい。ここで、対応関係は分類番号毎に設定されていることから、 分類番号毎に全く固有の対応関係とすることもできる。 ' こうすれば、 画素群に適切な分類番号を付与しておくことで、 各画素群の画素 群階調値を適切に多値化することができる。 また、 分類番号を用いて画素群を識 別することができるので、 画素群階調値を多値化する処理の簡素化を図ることも 可能となる。 また、 こうした画像処理装置においては、 画素群を、 画像中での位置に応じて 複数種類に分類することによって、 それぞれの画素群に分類番号を付与すること としてもよい。 こうすれば、 画素群に予め分類番号を付与しておかずとも、 必要 に応じて適宜、 分類番号を付与することができる。 また、 画像中での位置に応じ て付与することで、 分類番号を適切に付与することが可能となる。 また、多値化に際して参照する対応関係は、次のような対応関係としても良い。 すなわち、 画素群毎の多値化結果値が、 分類番号に応じて定められた個数だけ設 定されているような対応関係としてもよい。 多値化に際して参照される対応関係は画素群毎に設定されていることから、 多 値化結果値の個数は画素群毎に自由に設定しておくことができる。 そして、 画素 群毎に多値化結果値の個数を変えることができれば、 一般的な多値化処理のよう に、 多値化結果値が一定のパターンで繰り返されると言ったおそれがない。 従つ て、 このようにして生成した制御データに基づいて画像を出力すれば、 常に安定 した画質を得ることが可能となる。 更には、 多値化に際して参照する対応関係を、 次のような対応関係としても良 い。 すなわち、 画素群階調値に対する多値化結果値が、 分類番号毎に定められた 対応関係としてもよい。 あるいは、 一つの分類番号毎に、 画素群内にドットが形成される順序を矢 άるこ とができるデータを記憶しておき、 前記多値化結果値として、 画素群内に形成さ れるドッ卜の個数を取得し、 多値化手段が取得したドッ卜の個数とドッ卜形成の 順序を知ることができるデータとから、 その画素群内のどの画素にドッ卜を形成 するかを定めたることが可能なデータとして、 制御データを出力するものとする ことができる。 こうすれば、 簡単なデータで、 画素群内のどの位置にドットを形 成するかを、 ドッ卜の形成を行なう機器に知らせることができる。 またこのとき、対応関係として、多値化の結果が切り替わる階調値のデータと、 各階調値において当該画素群に形成されるべきドッ卜の個数とを対応付けて記憶 しておくものとしてもよい。 多値化結果値は、 所定の階調範囲では同一の値を取 ることから、 多値化の結果が切り替わる階調値のデータを記憶しておけば、 処理 することは可能である。 こうすれば、 対応関係として記憶しておくべきデータ量 を減らすことができる。 ここで、 ドットが形成される順序を知ることができるデータは、 画素群内の各 画素に与えられた値自体でもよいが、 ドッ卜の形成順序を記述した順序値とする こともできる。 対応関係自体に、 例えばディザマトリクスの閾値をそのまま持た せても処理は可能だが、 本願発明では、 各画素についてドットを形成するか否か を階調値と閾値とを比較して求めると言ったことは行なわないので、 閾値などを 持つ必要がない。 従って、 単純な順序値として記憶すれば良く、 記憶するデータ 量を低減することができる。 多値化は、 いわゆる 2値化でも良いが、 3値化以上であっても差し支えない。 例えば-、最終的に形成される L種類のドッ卜(Lは、 1以上の自然数) について、 各種類のドットの形成個数を、 前記多値化結果値として取得するものとし、 L種 類のドッ卜のうち単位面積当たりの濃度が高い種類のドッ卜から、 前記順序に従 つて、 ドッ卜が形成されるものとして制御データを出力しても良い。こうすれば、 複数種類のドッ卜の形成を簡単に指定することができる。 ' 更に、 対応関係を準備する手法としては、 次のような手法を考えることができ る。 まず、 画素群として、 方形の区域に含まれる横 P個 X縦 Q個 (P、 Qは、 2 以上の自然数) の画素から構成された画素群を想定し、 横 M個 X縦 N個 (M、 N は、 8以上の自然数) のマトリクスにドット形成の判断基準となる階調の閾値を δ
分散して記憶した大域的ディザマ卜リクスを、 画素群に対応した複数の方形の領 域に分割し、 分割された各領域に含まれる P X Q個の閾値を取りだしたもの毎に 前記一つの分類番号 Sを付与して管理する。 そして、 分類番号 Sを付与された各 領域毎に、 最終的に形成される L種類のドッ卜の記録率に換算された階調値を当 て嵌めて、 各階調値でいずれの位置の画素にいずれの種類のドッ卜が形成される か否かの情報を生成し、 該ドッ卜形成の位置と階調値との対応関係を前記分類番 号 S毎に記憶するのである。 こうした処理を済ませてしまえば、 元になつたディ ザマトリクスや画素群に対応した方形の領域内の各閾値などを記憶しておく必要 はない。 こうした対応関係の準備の手法を採用すれば、 互いに隣り合う複数の画素群に 同じ分類番号が付与されることはないから、 画素群階調値に対する多値化結果値 を、 分類番号毎に定めておけば、 例え、 複数の画素群に亘つて同じ画素群階調値 が続いた場合でも、 同じ多値化結果値が連続することはない。 このため、 こうし た制御データに基づいて画像を出力したときに、 一定のパターンでドッ卜が発生 することを回避することが可能となる。 また、 こうした画像処理装置においては、 次のような対応関係を参照して画素 群階諷値を多値化することとしても良い。 すなわち、 少なくとも 0 0個以上の 分類番号の各々について、 画素群階調値と多値化結果値とが設定された対応関係 を参照することとしてもよい。 例えば、 分類番号が数個しかないのであれば、 分類番号を配列する組合 の数 が十分に多いわけではない。 このため、 例え、 分類番号毎に設定された対応関係 に基づいて多値化を行ったとしても、 場合によっては、 ドットの発生パターンに 一定の規則性が表れてしまう可能性がある。 このようなおそれを回避するために は、 分類番号の個数が多い方が望ましいが、 経験上、 分類番号の個数が 1 0 0以 上あれば、 ドットの発生に一定のパターンが現れることを、 実用上の問題が発生 しない程度に抑制することが可能となるので望まし t あるいは、 こうした画像処理装置においては、 対応関係に設定されている分類 番号の個数と、 画素群 1つあたりに含まれる画素数との乗算値が、 少なくとも】 0 0 0以上となるように、 分類番号の個数あるいは画素群 1つあたりの画素数を 設定しておくこととしても良い。 画素群に含まれる画素数が多くなれば、 1つの画素群内でもドッ卜の発生パ夕 ーンは多くのパターンを取ることができる。 従って、 分類番号の個数が十分には 多くない場合でも、 画素群に含まれる画素数が多ければ、 これを補って、 ドット の発生パターンに一定の規則性が表れてしまうことを抑制することができる。 経 験によれば、 分類番号の個数と、 画素群に含まれる画素数とを、 これらの乗算値 が 1 0 0 0以上となるように選んでおけば、 ドットの発生に一定のパターンが現 れることを抑制して、実用上の問題が発生することを回避することが可能である。 更に本発明は、 上述した画像処理方法を実現するためのプログラムをコンビュ 一夕に読み込ませ、 コンピュータを用いて実現することも可能である。 従って、 本発明は次のようなプログラムプロダク卜、 あるいはプログラムコードを記録し た記録媒体としての態様も含んでいる。 こうしたプログラムプロダク卜、 あるいは記録媒体に記録されているプロダラ 厶をコンピュータに読み込ませ、 該コンピュータを用いて上述の各種機能を実現 させれば、 画像処理およびデータ転送を迅速に行って、 高画質な画像を迅速に出 力することが可能となる。 なお、 本願は、 次の画像処理装置の発明の概念を含んでいる。 即ち、 ドッ卜を形成して画像を出力する画像出力装置が該ドッ卜の形成を制御するた めに用いる制御データを、 該画像を表す画像データに所定の画像処理を加えて生 成する画像処理装置であつて、
前記画像を構成する画素が所定の複数個ずつまとめられた画素群毎に、 該画素 群を代表する階調値たる画素群階調値を決定する画素群階調値決定手段と、 前記画素群階調値と該画素群階調値を多値化することによって得られる多値化 結果値とが前記画素群毎に設定された対応関係を参照することにより、 該画素群 の画素群階調値を多値化する多値化手段と、
前記画素群毎に得られた多値化結果値を前記制御データとして出力する制御デ 一夕出力手段と
を備える画像処理装置としての発明である。 また、 本願は、 次の画像処理方法の発明の概念も含んでいる。 即ち、 ドッ卜を形成して画像を出力する画像出力装置が該ドッ卜の形成を制御するた めに用いる制御データを、 該画像を表す画像データに所定の画像処理を加えて生 成する画像処理方法であつて、
前記画像を構成する画素が所定の複数個ずつまとめられた画素群毎に、 該画素 群を代表する階調値たる画素群階調値を決定する第 1の工程と、
前記画素群階調値と該画素群階調値を多値化することによつて得られる多値化 結果値とが前記画素群毎に設定された対応関係を参照することにより、 該画素群 の画素群階調値を多値化する第 2の工程と、
前記画素群毎に得られた多値化結果値を前記制御データとして出力する第 3の 工程と
を備える画像処理方法としての発明である。 図面の簡単な説明
図 1は、 印刷システムを例にとって本発明の概要を説明するための説明図であ る。
図 2は、 本実施例の画像処理装置としてのコンピュータの構成を示す説明図で ある。 図 3は、 本実施例の力ラープリン夕の概略構成を示す説明図である。
図 4は、 インク吐出用へッドにおけるインクジエツ卜ノズルの配列を示す説明 図である。
図 5 ( a ) および図 5 ( b ) は、 インク滴の吐出を制御することにより、 大き さの異なるドッ卜を形成する原理を示した説明図である。
図 6は、 第 1実施例の画像印刷処理の全体的な流れを示すフローチャートであ る。
図 7は、 第 1実施例の画像印刷処理で行われる多値化結果値生成処理の流れを 示すフローチヤ一卜である。
図 8 ( a ) および図 8 ( b ) は、 画素群の分類番号を決定する方法を示した説 明図である。
図 9は、 第 1実施例の多値化結果値生成処理で参照される多値化テーブルを概 念的に示した説明図である。
図 1 0は、 画素群階調値が増加するに従って多値化結果値が段階的に増加して いく様子を例示した説明図である。
図 1 1は、 第 1実施例のドッ卜形成有無決定処理の流れを示すフローチヤ一卜 である。
図 1 2は、 第 1実施例のドッ卜形成有無決定処理で参照される変換テーブルを 概念的に示した説明図である。
図 1 3は、 コード化された個数データと各コードデータが表す各種ドットの個 数との対応関係を示した説明図である。
図 1 4 ( a ) ないし図 1 4 ( c ) は、 第 1実施例のドット形成有無決定処理で 参照される順序値マ卜リックスを例示した説明図である。 ' 図 1 5は、 順序値マ卜リックスを参照しながらドット個数のデータに基づいて 画素群内で各種ドッ卜を形成する画素位置を決定する様子を概念的に表した説明 図である。
図 1 6は、 ディザマトリックスの一部を概念的に例示した説明図である。 図 1 7は、 ディザマ卜リックスを参照しながら各画素についてのドット形成の 有無を判断する様子を概念的に示した説明図である。
図 1 8 ( a ) ないし図 1 8 ( c ) は、 画素群毎の分類番号を決定するための考 え方を示した説明図である。
図 1 9 ( a ) ないし図 1 9 ( d ) は、 画素群の分類番号を算出する方法を示し た説明図である。
國 2 0は、 着目画素群の座標値の 2進数表示から分類番号を求める方法を示し た説明図である。
図 2 1は、 ディザ法を発展させて画素毎に大中小各ドッ卜の形成の有無を決定 可能としたハーフ I一ン処理の流れを示すフローチヤ一卜である。
図 2 2は、 画像データの階調値を大中小 = &ドッ卜についての密度データに変換 する際に参照されるドッ卜密度変換テーブルを概念的に示した説明図である。 図 2 3は、 画素群内の各画素について大中小各ドッ卜の形成有無を判断してい る様子を概念的に示した説明図である。
図 2 4は、 多値化テーブルを設定する処理の流れを示したフローチャートであ る。
図 2 5は、変換テーブルを設定する処理の流れを示したフローチャートである。 図 2 6 ( a ) ないし図 2 6 ( c ) は、 順序値マトリックスを設定する方法を示 した説明図である。
図 2 7は、 第 1実施例のドッ卜形成有無決定処理において多値化結果値から大 中小各ドッ卜の形成有無を画素毎に決定する処理の大まかな流れを概念的に示し た説明図である。
図 2 8 ( a ) ないし図 2 8 ( c ) は、 画像上での画素群の位置から分類番号を 決定する方法を示した説明図である。 ' 図 2 9は、 分類番号を決定するために、 画素群の座標値 ( i, j ) からディザ マトリックス上での位置を求める方法を示した説明図である。
図 3 0は、 変形例の多値化結果値生成処理において参照される閾値テーブルを 概念的に示した説明図である。
図 3 1は、 変形例のドッ卜形成有無決定処理の流れを示したフローチヤ一卜で ある。
図 32は、 ドッ卜個数を表すコードデータと中間データとを対応付けた対応表 を示す説明図である。
図 33は、 中間データの中から順序値に対応する箇所のデータを読み出すこと によってドッ卜形成の有無を決定する様子を示した説明図である。
図 34は、 第 2実施例のドッ卜形成有無決定処理で参照される変換テーブルを 概念的に示した説明図である。
図 35 (a) および図 35 (b) は、 第 2実施例の変換テーブルに設定されて いるドッ卜データのデータ構造を示した説明図である。
図 36は、 第 2実施例のドット形成有無決定処理の流れを示すフローチャート である。 発明を実施するための最良の形態
以下では、 本発明の作用 ·効果をより明確に説明するために、 本発明の実施の 形態を、 次のような順序に従って説明する。
実施例の概要:
B. 装置構成:
C. 第 1実施例の画像印刷処理の概要:
C- 1. 多値化結果値生成処理の概要:
C一 2. ドッ卜形成有無決定処理の概要:
C- 3. ディザ法の概要:
C一 4. 分類番号を決定するための考え方:
C-5. 多値化テーブルの設定方法:
C一 6. 変換テーブルの設定方法:
C一 7. 順序値マ卜リックスの設定方法:
C-8. 多値化結果値からドッ卜形成有無を適切に決定可能な原理:
C-9. 画素群の位置から分類番号を決定する方法:
C一 1 0. 変形例: D . 第 2実施例:
D— 1 . 第 2実施例のドッ卜形成有無決定処理の原理:
D— 2 . 第 2実施例のドッ卜形成有無決定処理: A . 実施例の概要:
実施例の詳細な説明に入る前に、 図 1を参照しながら、 実施例の概要について 説明しておく。 図 1は、 印刷システムを例にとって、 本発明の概要を説明するた めの説明図である。 本印刷システムは、 画像処理装置としてのコンピュータ 1 0 と、 画像出力装置としてのプリンタ 2 0等から構成されており、 コンピュータ 1 0に所定のプログラムがロードされて実行されると、 コンピュータ 1 0およびプ リン夕 2 0などが全体として、 一体の画像出力システムとして機能する。 プリン タ 2 0は、 印刷媒体上にドットを形成することによって画像を印刷する。 コンビ ユー夕 1 0は、 印刷しょうとする画像の画像データに所定の画像処理を施すこと によって、 プリンタ 2 0が画素毎にドッ卜の形成を制御するためのデータを生成 して、 該プリンタ 2 0に供給する。 般的な印刷システムでは、 次のようにして画像を印刷する。 先ず、 コンビュ —夕で所定の画像処理を施すことにより、 画像データを、 画素毎にドット形成の 有無を表すデータに変換する。 次いで、 得られたデータをプリン夕に供給し、 プ リン夕では供給されたデータに従ってドッ卜を形成することにより画像を印刷し ている。 ここで、 印刷しょうとする画像の画素数が多くなると、 それに伴って、 画像処理に要する時間が増加して、 画像を迅速に印刷することが困難となる。 ま た、 画素数が多くなるにつれて、 画素毎にドット形成の有無を表すデータ デー 夕量が増加するので、 コンピュータからプリン夕にデータを出力するために要す る時間が長くなり、 それだけ印刷に要する時間が増加してしまう。 こうした点に鑑みて、 図 1に例示した印刷システムでは、 次のようにして画像 を印刷する。 先ず、 コンピュータ 1 0では、 画像を構成する画素を、 所定の複数 個ずつまとめて画素群を生成し、 各画素群について、 画素群を代表する階調値た る画素群階調値を決定する。 次いで、 画素群階調値を多値化することにより多値 化結果値を生成する。 多値化に際しては、 画素群毎に付与された分類番号を取得 して、 画素群階調値と多値化結果値とを、 分類番号毎に対応付けた対応関係を参 照することによって行う。 プリンタ 2 0では、 各画素群についての多値化結果値を受け取ると、 画素群内 に形成すべきドッ卜個数に関連したデータである個数データに変換する。 かかる 変換は、 多値化結果値変換モジュールにおいて行われる。 次いでドット形成有無 決定モジュールは、 画素群内で各画素にドットが形成される画素の序列と、 個数 データとに基づいて、 各画素についてのドット形成の有無を決定する。 ここでド ッ卜形成有無決定モジュールには、 適切な画素の序列を予め記憶しておくことと しても良い。 画素の序列を記憶しておけば、 適切な序列を迅速に決定することが できる。 このようにして決定された画素位置に、 ドット形成モジュールがドット を形成することによつて画像が印刷される。 ここで、 画素毎にドット形成の有無を表すデータに比べれば、 画素群毎の多値 化結果値は遙かに小さなデータ量とすることができる。 従って、 コンピュータ 1 0から画素毎にドッ卜形成の有無を表したデータをプリンタ 2 0に供給する代わ りに、 画素毎の多値化結果値を供給してやれば、 極めて迅速にデータを転送する ことが可能となる。 また、 多値化結果値は、 コンピュータ.1 0内で次のようにして生成され ¾。 先 ず、 画素群階調値決定モジュールにおいて画素群階調値が決定される。 画素群階 調値の決定に際しては、 例えば、 画素群内の各画素の画像データに基づいて決定 することとしてもよい。 一方、 対応関係記憶モジュールには、 画素群階調値と多 値化結果値とを対応付けた対応関係が、 画素群の分類番号毎に記憶されている。 ここで画素群の分類番号は、 各画素群を画像中での位置に応じて複数種類に分類 することによって設定することもできるし、 また、 画像がいつも同じように分割 される場合などには、 各画素群毎に予め適切な分類番号を付与しておくこともで きる。 更に、 簡便には、 乱数などを用いてランダムに分類番号を付与することも 可能である。 多値化モジュールは、 画素群の画素群階調値を受け取ると、 対応関 係記憶モジュールの中から、 画素群の分類番号に応じた対応関係を参照すること によって、 画素群階調値を多値化結果値に変換する。 このように対応関係を参照しながら多値化結果値を生成しているために、 多値 化結果値は極めて迅速に生成することができる。 このため、 生成した多値化結果 値をプリンタ 2 0に迅速に供給可能なことと相まって、 たとえ画素数の多い画像 であっても迅速に画像を印刷することが可能となる。 また、 対応関係を参照して 多値化結果値を生成すれば、 極めて簡素な処理で生成することができる。 このた め、 多値化結果値を生成するためには、 コンピュータ 1 0のような高度な処理能 力を有する機器を用いずとも、 プリンタ 2 0あるいはデジタルカメラなどの内部 で個数データを生成することも可能となる。 以下では、 こうした印刷システムを 例に用いることにより、 本発明の各種実施例について詳細に説明する。
B . 装置構成:
図 2は、 本実施例の画像処理装置としてのコンピュータ 1 0 0の構成を示す説 明図である。 コンピュータ 1 0 0は、 C P U 1 0 2を中心に、 1¾ 0 1 1 1 0 4ゃ1¾ A M I 0 6などが、 バス 1 1 6で互いに接続して構成された周知のコンピュータ である。 コンピュータ 1 0 0には、 フレキシブルディスク 1 2 4やコンパクトディスク 1 2 6等のデータを読み込むためのディスクコントローラ D D C 1 0 9や、 周辺 機器とデータの授受を行うための周辺機器インタ一フェース P I F 1 0 8、 C R T 1 1 4を駆動するためのビデオインターフェース V I F 1 1 2等が接続されて いる。 P I F 1 0 8には、 後述するカラープリンタ 2 0 0や、 ハードディスク 1 1 8等が接続されている。 また、 デジタルカメラ 1 2 0やカラースキャナ 1 2 2 等を P I F 1 0 8に接続すれば、 デジタルカメラ 1 2 0やカラースキャナ 1 2 2 で取り込んだ画像を印刷することも可能である。 また、 ネットワークインターフ エースカード N I C 1 1 0を装着すれば、 コンピュータ 1 0 0を通信回線 3 0 0 に接続して、 通信回線に接続された記憶装置 3 1 0に記憶されているデータを取 得することもできる。 図 3は、 本実施例のカラープリン夕 2 0 0の概略構成を示す説明図である。 力 ラープリンタ 2 0 0はシアン, マゼン夕, イエロ, ブラックの 4色インクのドッ 卜を形成可能なインクジェットプリンタである。 もちろん、 これら 4色のインク に加えて、 染料または顔料濃度の低いシアン (淡シアン) インクと、 染料または 顔料濃度の低いマゼン夕 (淡マゼン夕) インクとを含めた合計 6色のインクドッ 卜を形成可能なインクジェットプリンタを用いることもできる。 尚、 以下では場 合によって、 シアンインク, マゼンタインク, イエロインク, ブラックインク, 淡シアンインク, 淡マゼンタインクのそれぞれを、 Cインク, Mインク, Yイン ク, Kインク, L Cインク, L Mインクと略称することがあるものとする。 カラープリンタ 2 0 0は、 図示するように、 キャリッジ 2 4 0に搭載された印 字へヅド 2 4 1を駆動してインクの吐出およびドッ卜形成を行う機構と、 このキ ャリッジ 2 4 0をキャリッジモ一夕 2 3 0によってプラテン 2 3 6の軸方向に往 復動させる機構と、 紙送りモータ 2 3 5によって印刷用紙 Pを搬送する機構と、 ドッ卜の形成やキヤリッジ 2 4 0の移動および印刷用紙の搬送を制御する制御回 路 2 6 0などから構成されている。 キャリッジ 2 4 0には、 Kインクを収納するインクカートリッジ 2 4 2と、 C インク, Mインク, Yインクの各種インクを収納するインクカートリッジ 2 4 3 とが装着されている。 インクカー卜リッジ 2 4 2, 2 4 3をキャリッジ 2 4 0に 装着すると、 カートリッジ内の各インクは図示しない導入管を通じて、 印字へッ ド 2 4 1の下面に設けられた各色毎のインク吐出用へッド 2 4 4ないし 2 4 7 1: 供給される。 図 4は、 インク吐出用へッド 2 4 4ないし 2 4 7におけるインクジエツ卜ノズ ル N zの配列を示す説明図である。 図示するように、 インク吐出用ヘッドの底面 には、 C, M , Υ , Kの各色のインクを吐出する 4組のノズル列が形成されてお リ、 1組のノズル列あたリ 4 8個のノズル N zが、 一定のノズルピッチ kで配列 されている。 制御回路 2 6 0は、 C P Uや、 R O M、 R A M , P I F (周辺機器インターフ エース) 等がバスで相互に接続されて構成されている。 制御回路 2 6 0は、 キヤ リッジモータ 2 3 0および紙送りモータ 2 3 5の動作を制御するこどによってキ ャリッジ 2 4 0の主走査動作および副走査動作を制御するとともに、 コンビユー 夕 1 0 0から供給される印刷データに基づいて、 各ノズルから適切なタイミング でインク滴を吐出する制御を行う。 こうして、 制御回路 2 6 0の制御の下、 印刷 媒体上の適切な位置に各色のインクドッ卜を形成することによって、 カラープリ ン夕 2 0 0はカラー画像を印刷することができる。 また; 本実施例のカラ一プリンタ 2 0 0は、 吐出するインク滴の大きさを制御 することにより、 インクドットの大きさを制御することが可能である。 以下、 力 ラープリンタ 2 0 0が大きさの異なるインクドッ卜を形成する方法について説明 するが、 その準備として、 先ず、 各色インクを吐出するノズルの内部構造につい て説明する。 ' 図 5 ( a ) は、 インクを吐出するノズルの内部構造を示した説明図である。 各 色のインク吐出用へッド 2 4 4ないし 2 4 7には、 このようなノズルが複数設け られている。 図示するように、 各ノズルにはインク通路 2 5 5と、 インク室 2 5 6と、 インク室の上にピエゾ素子 P Eとが設けられている。 キャリッジ 2 4 0に インクカートリッジ 2 4 2, 2 4 3を装着すると、 カートリッジ内のインクがィ ンクギャラリ 2 5 7を経由してインク室 2 5 6に供給される。ピエゾ素子 P Eは、 周知のように電圧を印加すると結晶構造が歪んで極めて高速に電気一機械工ネル ギの変換を行う素子である。 本実施例では、 ピエゾ素子 P Eの両端に設けられた 電極間に所定波形の電圧を印加することで、インク室 2 5 6の側壁を変形させる。 その結果、 インク室 2 5 6の容積が減少し、 容積の減少分に相当するインクがィ ンク滴 I pとなってノズル N zから吐出される。 このインク滴 I pがプラテン 2 3 6に装着された印刷用紙 Pに染み込むことで、 印刷用紙上にインクドッ卜が形 成される。 図 5 ( b ) は、 ピエゾ素子 P Eに印加する電圧波形を制御することで、 吐出す るインク滴の大きさを変更する原理を示した説明図である。 ノズルからインク滴
1 pを吐出するためには、 ピエゾ素子 P Eに府の電圧を印加してインクギャラリ
2 5 7からインク室 2 5 6内に一旦インクを吸入し、 その後、 ピエゾ素子 P Eに 正電圧を印加してインク室容積を減少させて、 インク滴 I Pを吐出させる。 ここ で、 ィンクの吸引速度が適切であればィンク室容積の変化量に相当するィンクが 吸入されるが、 吸引速度が速すぎると、 インクギャラリ 2 5 7とインク室 2 5 6 との間には通路抵抗があるためにインクギャラリ 2 5 7からのインクの流入が間 に合わなくなる。その結果、インク通路 2 5 5のインクがインク室内に逆流して、 ノズル付近のインク界面が大きく後退した状態となる。 図 5 ( b ) に実践で示し た電圧波形 aは、 適正な速度でインクを吸引する波形を示し、 破線で示した電圧 波形 bは適切速度より大きな速度で吸引する波形の一例を示している。 十分なインクがインク室 2 5 6内に供給された状態で、 ピエゾ素子 P Eに正電 圧を印加すると、 インク室 2 5 6の容積減少に相当する体積のインク滴 I pがノ ズル N zから吐出される。 これに対して、 インクの供給量が不足してインク界面 が大きく後退した状態で正電圧を印加すると、 吐出されるインク滴は小さなイン ク滴となる。 このように、 本実施例のプリンタ 2 0 0では、 インク滴の吐出前に 印加する府の電圧波形を制御してインクの吸引速度を変更することで、 吐出する インク滴の大きさを制御し、 大ドット、 中ドット、 小ドットの 3種類のインクド ッ卜を形成することが可能となっている。 もちろん、 3種類に限らずより他種類のドットを形成することも可能である。 更には、 微細なインク滴を一度に複数吐出して、 吐出するインク滴の数を制御す るといった方法を用いて、 印刷用紙上に形成されるインクドッ卜の大きさを制御 してもよい。 このようにしてインクドットの大きさを制御すれば、 印刷しようと する画像の領域に応じて異なる大きさのインクドッ卜を使い分けてやることで、 より高画質の画像を印刷することも可能となる。 尚、 各色のインク吐出ヘッドからインク滴を吐出する方法には、 種々の方法を 適用することができる。 すなわち、 ピエゾ素子を用いてインク滴を吐出する方式 や、 インク通路に配置したヒータでインク通路内に泡 (バブル) を発生させてィ ンク滴を吐出する方法などを用いることができる。 また、 インク滴を吐出する代 わりに、 熱転写などの現象を利用して印刷用紙上にインクドッ卜を形成する方式 や、 静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリン夕 を使用することも可能である。 以上のようなハードウェア構成を有するカラープリンタ 2 0 0は、 キャリッジ モータ 2 3 0を駆動することによって、 各色のインク吐出用へッド 2 4 4ないし 2 4 7を印刷用紙 Pに対して主走査方向に移動させ、 また紙送りモータ 2 3 5を 駆動することによって、 印刷用紙 Pを副走査方向に移動させる。 制御回路 2 6 0 は、 キャリッジ 2 4 0の主走査および副走査の動きに同期させながら、 適切な夕 イミングでノズルを駆動してインク滴を吐出することによって、 カラ一プリンタ 2 0 0は印刷用紙上にカラー画像を印刷している。 尚、 カラープリンタ 2 0 0にも、 制御回路 2 6 0内には C P U, R A M , R O Mなどが搭載されていることから、 コンピュータ 1 0 0が行う処理をカラープリ ン夕 2 0 0内で実施することも可能である。 このような場合は、 デジタルカメラ 1 2 0などで撮影した画像の画像データをカラープリンタ 2 0 0に直接供給し て、 制御回路 2 6 0内で必要な画像処理を実施することにより、 カラープリンタ 2 0 0から直接画像を印刷することも可能となる。
C . 第 1実施例の画像印刷処理の概要:
以下では、 上記のようなコンピュータ 1 0 0およびカラープリンタ 2 0 0が、 画像を印刷するために、 それぞれの内部で行われる画像処理 (画像印刷処理) に ついて説明する。 ここでは、 理解の便宜を図るため、 初めに画像印刷処理の概要 について説明し、 次に、 こうした画像印刷処理を行うことで、 画質を低下させる ことなく画像を迅速に印刷することが可能な理由について説明する。 尚、 以下では、 画像印刷処理の前半部分はコンピュータ 1 0 0で実施され、 後 半部分はカラープリンタ 2 0 0で実施されるものとして説明するが、 コンビュ一 夕 1 0 0が行う処理をカラ一プリンタ 2 0 0の内部で実施したり、 あるいはデジ 夕ルカメラ 1 2 0など、 画像データを生成する機器の内部で実施することも可能 である。 すなわち、 第 1実施例の画像印刷処理によれば、 後ほど詳細に説明する ように、 前半部分の処理をたいへん簡素なものとすることができるので、 高い処 理能力を有していない C P Uを用いた場合でも迅速に実施することが可能であ る。 このため、 カラープリンタ 2 0 0やデジタルカメラなどに画像印刷処理の前 半部分を組み込んだ場合でも、 十分に実用的な印刷システムを構成することがで さる。 、 図 6は、 第 1実施例の画像印刷処理の全体的な流れを示すフローチヤ一卜であ る。 図示されているように、 画像印刷処理を開始すると先ず初めに、 コンビユー 夕 1 0 0が画像データの読み込みを開始する (ステップ S 1 0 0 )。 ここでは、 画像デー夕は R G Bカラ一画像データであるものとして説明するが、 カラー画像 データに限らず、 モノクロ画像データについても同様に適用することができる。 また、 カラープリン夕に限らず単色プリンタについても同様に適用することが可 能である。 カラー画像データの読み込みに続いて、色変換処理を行う(ステップ S 1 02)。 色変換処理とは、 R, G, Bの階調値の組合せによって表現されている RG B力 ラー画像データを、 印刷のために使用されるインク各色についての階調値の組合 せによって表現された画像データに変換する処理である。 前述したように、 カラ —プリンタ 200は C, M, Υ, Kの 4色のインクを用いて画像を印刷している。 そこで、 色変換処理では RG B各色によって表現された画像データを、 C, , Y, Kの各色の階調値によって表現されたデータに変換する。 色変換処理は、 色 変換テーブル (LUT) と呼ばれる 3次元の数表を参照することで行う。 LUT には、 RGBカラー画像データに対して、 色変換によって得られる C, M, Y, Κ各色の階調値が予め記憶されている。 ステップ S〗 02の処理では、 この LU Tを参照することにより、 RG Bカラー画像データを C, M, Y, Κ各色の画像 データに迅速に色変換することが可能となっている。 色変換処理を終了すると、 解像度変換処理を開始する (ステップ S 1 04)。 解像度変換処理とは、 画像データの解像度を、 プリンタ 200が画像を印刷する 解像度 (印刷解像度) に変換する処理である。 画像データの解像度が印刷解像度 よりも低い場合は、 補間演算を行って画素間に新たな画像データを生成し、 逆に 画像データの解像度が印刷解像度よりも高い場合には、 一定の割合でデータを間 引くことによって、 画像データの解像度を印刷解像度に一致させる処理を柠う。 以上のようにして解像度を印刷解像度に変換したら、 コンピュータ 1 00は、 多値化結果値生成処理を開始する (ステップ S 1 06)。 多値化結果値生成処理 の詳細な内容は後ほど詳しく説明することとして、ここでは概要のみを説明する。 多値化結果値生成処理では、 隣接する画素を所定個数ずつ画素群としてまとめる ことにより、 1つ画像を複数の画素群に分割する。 画素群としてまとめられ画素 数は、 必ずしも全ての画素群が同数である必要はなく、 例えば、 複数の画素数を 規則的に切り換えたり、 あるいは画像中での位置に応じて画素群にまとめられる 画素数を切り換えることも可能であるが、 ここでは理解の便宜から、 最も単純な 場合として全画素群が同数の画素を有するものとして説明する。 こうして複数の 画素を画素群にまとめて、 各画素群を代表する階調値である画素群階調値を求め た後、 画素群階調値の多値化を行う。 その結果、 画素群毎の画素群階調値が多値 化結果値に変換されることになる。 ここで、 本実施例の多値化結果値生成処理では、 多値化の結果として取り得る 状態数が画素群毎に異なっている。 すなわち、 一般的に行われる多値化では、 例 えば 1つの画像中で 2値化と 3値化とが切り換わることはないが、 本実施例の多 値化結果値生成処理では、 画素群毎に多値化の段数が異なっている。 そして、 画 素群階調値を、 画素群毎に個数の段数で多値化して得られた結果値を、 力ラープ リン夕 2 0 0に向かって出力する。 このように画素群階調値を、 画素群毎に固有 の段数で多値化して、 得られた結果を出力することとすれば、 カラープリンタ 2 0 0に出力すべきデータ量を大きく低減することができる。 また、 後述するよう に、 画素群毎の多値化結果値は、 迅速に生成することができることから、 データ 量が小さくなることと相まって、 多値化結果値を極めて迅速に力ラープリンタ 2 0 0に出力することが可能となる。 こうした多値化結果値生成処理の詳細につい ては後述する。 カラープリンタ 2 0 0の制御回路 2 6 0に内蔵された C P Uは、 コンピュータ 1 0 0から画素群毎に供給された多値化結果値のデータを受け取ると、 ドット形 成有無決定処理を開始する (ステップ S 1 0 8 )。 上述したように、 多値化結果 値は、 画素群階調値を多値化して得られた値であり、 画素群内でいずれの画素に ドッ卜を形成すればよいかを示した値ではない。 画素群の多値化結果値からドッ 卜を形成する画素位置を決定する手法としては、 いわゆる濃度パターン法と呼ば れる手法が知られているが、 本実施例の多値化結果値は画素群毎に固有の段数で 多値化されており、濃度パターン法をそのまま適用することはできない。そこで、 第 1実施例のドッ卜形成有無決定処理では、 後述するような特殊な方法を用いる ことにより、 画素群毎に得られた多値化結果値からドッ卜を形成する画素位置を 決定する。 また、 いわゆる濃度パターン法では、 実質的な解像度が、 多値化を行った画素 群の解像度まで低下してしまい、 画質の悪化を招き易い傾向があった。 これに対 して、 第 1実施例のドット形成有無決定処理によれば、 後述するように画素群の 大きさに依存して画質が悪化することがない。 更に、 いわゆるブルーノイズマス ク、 あるいはグリーンノイズマスクと呼ばれるディザマ卜リックスを用いること で実現されるような、 ドッ卜が良好に分散した高画質な画像を印刷することが可 能となる。 第 1実施例のドット形成有無決定処理の詳細な内容、 および、 かかる 処理を適用してドッ卜形成の有無を決定することで、 こうした特性が得られる理 由については、 後ほど詳しく説明する。 以上のようにして、 ドットを形成すべき画素位置を決定したら、 決定した画素 位置にドットを形成する処理を行う (ステップ S I 1 0 )。 すなわち、 図 3を用 いて説明したように、 キヤリッジ 2 4 0の主走査および副走査を繰り返しながら インク吐出用へッドを駆動してインク滴を吐出することにより、 印刷用紙上にィ ンクのドットを形成する。 こうしてドットを形成することにより、 画像データに 対応した画像が印刷されることになる。
C一 Ί . 多値化結果値生成処理の概要:
図 7は、 上述した第 1実施例の画像印刷処理で行われる多値化結果値生成処理 の流れを示すフローチャートである。 ここでは、 多値化結果値生成処理はコンビ ユー夕 1 0 0で実施されるものとして説明するが、 後述するように、 多値化結果 値生成処理は極めて簡素な処理とすることができるから、 カラープリンタ 2 0 0 あるいはデジタルカメラ 1 2 0内で実施することも可能である。 以下、 フローチ ヤー卜に従って説明する。 本実施例の多値化結果値生成処理を開始すると、 先ず初めに、 互いに隣接する 所定個数の画素をまとめて画素群を生成する (ステップ S 2 0 0 )。 ここでは、 主走査方向に 4画素分、 副走査方向に 2画素分の合計 8つの画素を画素群にまと めるものとする。 尚、 画素群としてまとめる画素は、 このように矩形状に縦横の 位置が揃った画素である必要はなく、 互いに隣接し且つ所定の位置関係にあれば どのような画素を画素群としてまとめても良い。 次いで、画素群階調値と、画素群の分類番号とを決定する(ステップ S 2 0 2 )。 画素群階調値とは、 画素群を代表する階調値であり、 次のようにして簡単に求め ることができる。 例えば、 画素群内の各画素に割り当てられた画像データの平均 値を求めて画素群階調値とすることができる。 あるいは、 画素群の中で最も多く の画素に割り当てられた画像データ、 更には、 画素群内で特定の位置にある画素 の画像デ一夕を画素群階調値とすることも可能である。 また、 画素群の分類番号は、 次のようにして極めて簡便に決定することができ る。図- 8は、画素群の分類番号を決定する方法を示した説明図である。図 8 ( a ) は、 画像中で 8つの画素をまとめて生成された 1つの画素群を表している。 以下 では、 この画素群についての分類番号を決定する方法について説明する。 尚、 図 8 ( a ) に示すような、 分類番号を決定するために着目している画素群を、 着目 画素群と呼ぶことにする。 、 今、 画像の一番左上隅を原点に取って、 原点からの主走査方向および副走査方 向への画素数によって画素位置を表すものとする。 また、 画素群の位置は、 画素 群の左上隅にある画素の画素位置によって表すものとする。 図 8 ( a ) では、 着 目画素群の位置を示す画素に黒丸を付して表示している。 この画素の画素位置が ( X, Y )であったとする。着目画素群の分類番号は、 X, Yを 2進数表示して、 所定のビッ卜に記憶されているデータを読み出すだけで、 極めて容易に決定する ことができる。 例えば、 図 8 ( b ) に示すように、 着目画素群の位置を表す X, Yがそれぞれ 1 0ビットデータであったとする。 そして、 Xの最上位の 4ビット 目から 8ビット目までのデータを読み出して得られた値を Nとし、 丫の最上位の 4ビッ卜目から 8ビット目までのデータを読み出して得られた値を Mとする。 すると、 本実施例の場合は、
N + ( M - 1 ) X 3 2 … ( 1 )
を算出することによって、 画素群の分類番号を簡単に決定することができる。 こ のようにして画素群の分類番号を決定可能な理由については後述する。 こうして、 画素群の分類番号と画素群階調値とを決定したら、 後述する多値化 テーブルを参照することによって、 画素群階調値を多値化する (ステップ S 2 0 4 )。 図 9は、 多値化に際して参照される多値化テーブルを概念的に示した説明 図である。図示されているように、多値化テーブルには、画素群の分類番号毎に、 画素群階調値に対する多値化結果値が対応づけて記憶されておリ、 多値化結果値 は、 画素群階調値が増加するに従って段階的に増加していく。 図 1 Όは、 画素群階調値が増加するに従って多値化結果値が段階的に増加して いく様子を例示した説明図である。 図 1 0では、 横軸に画素群階調値を取り、 縦 軸の多値化結果値を取った折れ線グラフを用いて、 画素群階調値に対する多値化 結果値を表示している。 尚、 図中では、 異なる分類番号 N 1〜N 5を有する 5つ の画素群についての多値化結果を示しているが、 これら画素群の折れ線が鲎なつ て判別し難くなることを避けるために、 多値化結果値の原点位置を縦軸方向に少 しずつ、 ずらして表示している。 一例として、 図中に太い実線で示した分類番号 N 1番の画素群について説明す ると、 画素群階調値が 0 ~ 4の範囲では、 多値化結果値は 「0」 であるが、 画素 群階調値が 5〜 2 0の範囲では多値化結果値は 「1」 に増加する。 次いで、 画素 群階調値が 2 1〜4 2の範囲では多値化結果値は 「2」 に増加し、 画素群階調値 が 4 3〜6 9の範囲では多値化結果値は 「3」 に増加する。 このように、 画素群 階調値が増加するに従って、多値化結果値も段階的に増加していき、最終的には、 多値化結果値は 「1 5」 まで増加する。 すなわち、 分類番号 N 1香の画素群につ いては、 階調値 0〜2 5 5の範囲を取り得る画素群階調値を、 階調値 0〜1 5ま での 1 6段階に多値化 (言わば、 1 6値化) していることになる。 同様に、 図中で太い破線で示した分類番号 N 2番の画素群や、 太い一点鎖線で 示した分類番号 N 3香の画素群については、 階調値 0〜2 5 5の範囲を取り得る 画素群階調値を、 階調値 0 ~ 1 7までの 1 8段階に多値化 (言わば、 1 8値化) している。 更に、 細い実線で示した分類番号 N 4香の画素群および細い一点鎖線 で示した分類番号 N 5香の画素群については、 画素群階調値を階調値 0〜2 0ま での 2 1段階に多値化 (言わば、 2 1値化) していることになる。 このように、 本実施例の多値化結果値生成処理では、 各画素群の多値化の段数 (多値化の結果 として取り得 状態数) が同じではなく、 画素群の分類番号に応じて固有の段数 で多値化されている。 この結果、 同じ画素群階調値を多値化した場合でも、 画素 群の分類番号が異なり、 そのため多値化の段数が異なっていれば、 異なる結果値 に多値化されることになる。 また、 多値化段数が同じであったとしても、 同じ多値化結果値が得られるわけ ではない。 例えば、 図 1 0に示した分類番号 N 2の画素群と、 分類番号 N 3の画 素群とを比較すれば明らかなように、 これら画素群についての多値化段数ばいず れも 1 8段であるが、 多値化結果値が切り換わる画素群階調値は多くの場合、 致していない。 分類番号 N 4の画素群と分類番号 N 5の画素群とについても同様 に、 これら画素群の多値化段数はいずれも 2 1段であるが、 多値化結果値が切り 換わる画素群階調値は一致していないことが多い。 このことから、 例え画素群の 多値化段数が同じでも、 分類番号が異なれば、 異なる多値化結果値が得られるこ とになる。 図 9に示した多値化テーブルには、 画素群階調値に対する多値化結果値が画素 群の分類番号毎に記憶されている。 そして、 画素群階調値と多値化結果値との対 応関係は、 図 1 0に示したように、 分類番号毎に固有の対応関係となっている。 図 7に示した多値化結果値生成処理のステップ S 2 0 4では、 このような多値化 テーブルを参照して画素群階調値を多値化することにより、 画素群毎に多値化結 果値を生成する処理を行う。 尚、 図 9に示す多値化テーブルの設定方法について は、 後ほど詳しく説明する。 以上のようにして、 複数の画素を画素群にまとめて、 その画素群の多値化結果 値を生成したら、 全画素について処理を終了したか否かを判断する (ステップ S 2 0 6 )。そして、未処理の画素が残っている場合は(ステップ S 2 0 6 : n 0 )、 ステップ S 2 0 0に戻って新たな画素群を生成し、 後述する一連の処理を行うこ とにより、 その画素群についての多値化結果値を生成する。 こうした操作を繰り 返し、 全画素についての処理を終了したと判断されたら (ステップ S 2 0 6 : y e s )、 各画素群について得られた多値化結果値をカラープリンタ 2 0 0に出力 した後、 図 7の多値化結果値生成処理を終了する。 このように、 画素群毎に多値化結果値を出力してやれば、 画素毎にドット形成 の有無を表すデータを出力する場合よりも、 カラープリンタ 2 0 0に供給すべき データ量を大幅に減少させることができる。以下では、この点について説明する。 本実施例では、 大ドット、 中ドット、 小ドットの 3種類のドットを形成可能と しているから、 ドッ卜を形成しない場合も含めると、 画素毎に 4つの状態を取り 得ることになり、 従って、 ドット形成の有無を表すためには 1画素あたり 2ビッ 卜のデータ量が必要となる。 また、 本実施例では、 1つの画素群は 8つの画素で 構成されているものとしているから、 画素毎にドッ卜形成の有無を表そうとする と、 画素群あたり 1 6ビット (= 2ビット X 8画素) のデータ量が必要となる。 一方、 図 7に示した多値化結果値生成処理では、 画素群の分類番号によって異 なるものの、 多値化の段数は 1 5〜2 1程度となっている (図 9、 図 1 0を参照 のこと)。 画素群毎に多値化の段数を決定する方法については後述するが、 多値 化の段数は、 多く見積もっても 3 0を越えることはないと考えられる。 従って、 画素群の多値化結果値であれば、 1画素群あたり 5ビッ卜のデータ量があれば十 分に表現することが可能である。 前述したように、 画素毎にドット形成の有無を 表す場合には画素群あたり〗 6ビッ卜のデータ量が必要となることから、 画素群 階調値を多値化して得られた結果値を出力することにすれば、 カラープリンタ 2 0 0に出力すべきデータ量を 1 / 3以下に減少させることができる。 この様に、 本実施例の画像印刷処理では、 画素群の多値化結果値を出力しているため、 デー タ量を大きく減少させることができ、 カラープリンタ 2 0 0に迅速にデータを出 力することが可能となっている。 カラープリン夕 2 0 0は、 こうしてコンピュータ 1 0 0から多値化結果値を受 け取ると、 以下に説明するドット形成有無決定処理を行うことにより、 画素群内 の各画素についてドッ卜形成の有無を決定する。 C一 2 . ドッ卜形成有無決定処理の概要:
図 1 1は、 前述した第 1実施例の画像印刷処理で行われるドッ卜形成有無決定 処理の流れを示すフローチヤ一卜である。 かかる処理は、 コンピュータ 1 0 0か ら画素群毎に多値化結果値を受け取った後、 カラープリン夕 2 0 0によって'実行 される処理である。 以下、 図 1 1のフローチャートに従って説明する。 第 1実施例のドット形成有無決定処理を開始すると、 先ず初めに、 処理対象と する画素群を 1つ選択し、 選択した画素群の多値化結果値を取得する (ステップ S 3 0 0、 S 3 0 2 ) o 次いで、 画素群の多値化結果値を、 その画素群に形成す るドット個数を表すデータに変換する (ステップ S 3 0 4 )。 ここで、 図 9およ び図 1 0に示したように、 多値化結果値は、 画素群の分類番号が異なれば、 例え 画素群階調値が同じであっても異なった値を取る。このことから明らかなように、 画素群の多値化結果値は、 同じ分類番号の画素群との間でのみ結果値の大小を比 較することが可能であり、 分類番号が異なる画素群については、 多値化結果値を 比較することができないデータとなっている。 そこで、 画素群の分類番号に依存する多値化結果値を、 分類番号に依存しない 多値化結果値に変換することを考える。 多値化結果値を分類番号に依存しない値 に変換してやれば、 全ての画素群についての多値化結果値の大小を比較すること ができるので、 それぞれの変換値の序列に応じて、 大ドッ卜 ·中ドッ卜■小ドッ 卜の適切な形成個数、 すなわちドッ卜個数を表すデータを対応付けることが可能 となる。 図 1 1のステップ S 3 0 4では、 このような考え方に基づいて、 画素群の分類 番号に依存する多値化結果値を、 画素群に形成するべきドッ卜の個数を示すデー 夕に変換する。実際の変換は、画素群の分類番号と多値化結果値との組合せ毎に、 適切なドッ卜個数のデータを予め設定しておいた変換テーブルを参照するだけ で、 極めて迅速に行うことができる。
.
図 Ί 2は、 画素群の分類番号と多値化結果値との組合せを、 ドット個数を示す データに変換する際に参照される変換テーブルを概念的に示した説明図である。 図示されているように、 変換テーブルには、 多値化結果値に対応するドッド個数 のデータが、 分類番号毎に設定されている。 一例として、 分類番号 1番の画素群 について説明すると、 多値化結果値 0に対しては、 ドット個数のデータとして 「0」が設定されている。 このドッ卜個数データ 「0」 は、 大ドッ卜、 中ドッ卜、 小ドッ卜の形成個数がいずれも 0個であることを表したコードデータである。 ま た、 多値化結果値 1 に対しては、 ドット個数のデータとして Γ 1 J が設定されて いる。 ドッ卜個数データ 「1 Jは、大ドッ卜、 中ドッ卜の形成個数は 0個であり、 小ドットの形成個数が 1個であることを表すコードデータである。 更に、 多値化 結果値 1 5に対してはドット個数データ 「1 6 4」 が設定されている。 ドット個 数データ 「1 6 4 J は、 大ドットを 8個形成し、 中ドットおよび小ドットは形成 しないことを表すコードデータである。 このように、 変換テーブルには、 ドット個数を示すデータはコード化されたデ 一夕として設定されている。 すなわち個数データは、 直接的にドット個数を表す ものでなくても、 何らかの方法で、 ドット個数を特定可能であれば、 どのような 形態のデータとすることもできる。 また、分類番号 1香の画素群については、 Π 6」 より大きな多値化結果値に対してはドッ卜個数を示すデータが設定されてい ない。 これは、 分類番号 1番の画素群は多値化段数が 1 6段であり、 多値化結果 値は 0〜1 5の値しか取り得ないことに対応するものである。 従って、 分類番号 2番の画素群のように多値化段数が 1 8段の画素群については、 0〜1 7の多値 化結果値に対してのみドット個数を示すデータが設定され、 「1 8」 より大きな 多値化結果値に対しては、 ドッ卜個数を示すデータが設定されることはない。 図 1 3は、 コード化された個数データと、 各コードデータが表す大ドット -中 ドット ·小ドッ卜の個数の組合せとの対応関係を示した説明図である。 このよう に、 各種ドットの個数をコード化して扱っているのは、 次のような理由によるも のである。 ここでは、 1つの画素群は 8つの画素をまとめて構成されているものとじてい るから、 大ドット、 中ドット、 小ドットの形成個数は、 それぞれ 0〜8個の値を 取り得る。 従って、 各ドットの個数をコード化せずに、 そのまま表現しようとす ると、 大ドットの個数、 中ドットの個数、 小ドットの個数を表すためにそれぞれ 4ビッ卜ずつ、 合計では〗 2ビッ卜のデータ量が必要となる。 一方、 1つの画素群は 8つの画素から構成されているから、 画素群に形成され 得るドット個数の合計は、 最大でも 8個である。 例えば、 大ドットが 4個、 中ド ッ卜が 3個、 小ドットが 2個といったドット個数の組合せは、 ドット個数の合計 が 9個となって 8個を越えてしまうので現実には発生し得ない。 こうした点に着 目すれば、 現実に発生し得るドット個数の組合せは、 それほど多くの種類はない と考えられる。 実際に算出すれば、 次のようになる。 画素群には 8つの画素が含 まれており、 各画素についてみれば 「大ドットを形成する」、 「中ドットを形成す る」、 「小ドットを形成する」、 「ドットを形成しない」 の 4つの状態を取り得る。 従って、 画素群に形成し得るドット個数の組合せは、 これら 4つの状態を、 重複 を許して 8回選択した時の組合せの数に等しくなるから、
4 H 8 (= 4 + 8— ,C 8 )
によって求められ、 結局、 最大でも 1 6 5通りの組合せしか出現しないことにな る。 ここで、 n H rは、 n個の物の中から重複を許して r回選択するときの重複 組合せ数を求める演算子である。 また、 n C rは、 n個の物の中から重複を許さ ずに r回選択するときの組合せ数を求める演算子である。 〗 6 5通りの組合せで あれば、 8ビットあれば表現することができる。 従って、 現実に発生し得るドッ 卜個数の組合せにコード番号を設定しておけば、 画素群に形成すべきドッ卜個数 の組合せを 8ビットのデータで表すことができる。 結局、 ドット個数の組合せを コード化しておくことで、 ドットの種類毎に形成個数を表した場合よりも、 必要 なデータ量を低減することが可能となる。 このような理由から、 個数データを図 1 3に示したようにコード化して表現することとして、 図 1 2に示した変換テー ブルでは、 分類番号毎の多値化結果値に対して、 コード化されたドット個数のデ 一夕が設定されているのである。 尚、 図.1 2に示すような変換テーブルを設定す る方法については、 別図を用いて後ほど詳しく説明する。 図 1 1に示したドット形成有無決定処理では、 図 1 2に示した変換テーブルを 参照することにより、 画素群の多値化結果値を、 ドット個数を表すコードデータ に変換する処理を行う。 尚、 図 1 2に示した変換テーブルを参照するためには、 多値化結果値に加えて、 画素群の分類番号が必要となる。 ここで、 図 8を用いて 前述したように、 本実施例においては、 画素群の分類番号は画像中での画素群の 位置に基づいて決定されている。 多値化結果値は画素群毎に供給されるから、 多 値化結果値が供給される順序に基づいて、 処理しょうとする多値化結果値の画素 群が画像上でどの位置にあるかを知ることができ、 これにより分類番号を簡単に 決定することが可能である。 画像上での画素群の位置に応じて分類番号を決定す る方法については、 後述する。 尚、 コンピュータ】 0 0からカラープリンタ 2 0 0に向けて、 多値化結果値とともに分類番号を出力してもよいことは言うまでも 無い。 次いで、 画素群に対応する順序値マトリックスを読み込む処理を行う (ステツ プ S 3 0 6 )。 ここで、 順序値マトリックスとは、 画素群内の各画素について、 ドットが形成される順番を設定したマトリックスである。 図 1 4は、 順序値マ卜 リックスを例示した説明図である。 図示されているように、 順序値マ卜リックス も画素群の分類番号毎に異なるマ卜リックスが設定されている。 一例として、 図 1 4 ( a ) に示した分類番号 1香の順序値マ卜リックスについて説明する。 分類 番号 1番の画素群は、 画素群を構成する 8つの画素の中で、 左上隅にある画素が 最もドッ卜の形成され易い画素である。 順序値マトリックスの左上隅の画素に数 値 Γ Γ」 が設定されているのは、 この画素が 1番目にドットが形成される画素で あることを表したものである。 尚、 順序値マトリックスに設定されているこのよ うな順番を表す数値を、 順序値と呼ぶものとする。 また、 画素群の右下隅の画素 に順序値 「2」 が設定されているのは、 この画素が画素群中で 2番目にドットが 形成されることを表している。 このように、 順序値マ卜リックスには、 画素群に. 含まれる 8つの画素について、 ドッ卜が形成される順番を示す順序値が設定され ている。 ' こうした順序値マ卜リックスは、 画素群の分類番号によって異なったマ卜リッ クスとなっている。 例えば、 図 1 4 ( b ) に示した分類番号 2香の順序値マトリ ックスでは、 1番目にドットが形成される画素 (順序値 Π -Ι の画素) は、 下段 の左から 2番目の画素であり、 2番目にドットが形成される画素 (順序値 「2」 の画素) は、 右下隅の画素である。
図 1 4 ( c ) に示した分類番号 3香の順序値マ卜リックスでは、 1番目にドット が形成される画素(順序値「 1」の画素) は、上段の右から 2番目の画素であり、 2番目にドットが形成される画素 (順序値 「2」 の画素) は、 左下隅の画素であ る。 第 1実施例のカラープリンタ 2 0 0に搭載された R O Mには、 図 1 4に例示し たような順序値マ卜リックスが画素群の分類番号毎に、 予め記憶されている。 そ して、 図 1 1のステップ S 3 0 6では、 画素群の分類番号に対応する順序値マ卜 リックスを、 R O Mから読み出す処理を行う。 尚、 画素群の分類番号毎に順序値 マトリックスを設定する方法については、 別図を用いて詳しく説明する。 画素群に対応する順序値マ卜リックスを読み込んだら、 画素群を構成する 8つ の画素の中から、 先ず初めに大ドットを形成する画素を決定する (ステップ S 3 0 8 )。 大ドットは他のドットよりもドットが目立ち易いことから、 できるだけ ドッ卜が分散して形成されるように、 ドッ卜を形成する画素位置を他のドッ卜に 優先させて決定しておくことが望ましい。 このため、 先ず初めに大ドットを形成 する画素を決定するのである。 ドットを形成する画素の決定に際しては、 画素群 の多値化結果値を変換して得られたドッ卜個数のデータと、 画素群に対応する順 序値マ卜リックスとを使用する。 図 1 5は、 ドット個数のデータと順序値マトリックスとを用いて、 画素群内で 各種ドッ卜を形成する画素を決定している様子を概念的に表した説明図である。 例えば、 画素群に形成すべきドット個数を示すコードデータが、 大ドット 1個、 中ドット 2個、小ドット 1個の組合せを表していたものとする。前述したように、 順序値マ卜リックスには画素群内の各画素にドッ卜が形成される順番が設定され ており、 また、 初めに大ドットを形成する画素から決定するのであるから、 順序 値「1」が設定されている画素には大ドッ卜が形成されることになる。もちろん、 仮に大ドットの形成個数が 2個であれば、 順序値 「1」 の画素に加えて、 順序値 「2」 の画素にも大ドッ卜が形成されることになる。 図 1 5では、 大ドッ卜が形 成される画素には、 細かい斜線を付して表示している。 図 1 1のステップ S 3 0 8では、このようにしてドッ卜個数のデータと順序値マ卜リックスとに基づいて、 大ドッ卜を形成する画素を決定する処理を行う。 大ドッ卜を形成する画素を決定したら、 続いて中ドッ卜を形成する画素を決定 する (図 1 1のステップ S 3 1 0 )。 図 1 5に示した例では、 中ドットを形成す べき個数は 2個である。 順序値 Π」 の画素には既に大ドットを形成することに しているから、 中ドットは順序値 「2」 の画素と順序値 「3」 の画素とに形成さ れることになる。 図 1 5では、 中ドットが形成される画素に、 少し粗い斜線を付 して表示している。 図 1 1のステップ S 3 1 0では、 このようにして大ドッ卜を 形成しない画素の中から中ドットを形成する画素を決定する処理を行う。 中ドッ卜を形成する画素を決定したら、 今度は小ドッ卜を形成する画素を決定 する (図 1 1のステップ S 3 1 2 )。 図 1 5に示した例では、 小ドットを形成す べき個数は 1個であり、 順序値 「1」 ないし順序値 「3」 の画素には既に大ドッ 卜および中ドットを形成することにしているから、 小ドットは順序値 「4」 の画 素に形成されることになる。 図 1 5では、 小ドットが形成される画素に、 粗い斜 線を付して表示している。 こうして大ドット、 中ドット、 小ドットを形成する画素を決定したら、 画素群 の中で残った画素はドッ卜を形成しない画素であると決定すればよい (図 1 1の ステップ S 3 1 4 )。 以上のような処理を全て行ったら、 画素群内の全画素につ いてドッ卜形成の有無を決定したことになる。 次いで、 全画素群について、 上述した処理を行ってドット形成の有無を決定し たか否かを判断し (ステップ S 3 1 6 )、 未処理の画素群が残っていれば (ステ ップ S 3 1 6 : n 0 )、 ステップ S 3 0 0に戻って新たな画素群を選択し、 その 画素群について続く一連の処理を行う。 こうした操作を繰り返し、 最終的に全画 素群についての処理を終了したと判断されたら (ステップ S 3 1 6 : y e s )、 図 1 1に示したドット形成有無決定処理を終了して、 図 6に示した画像印刷処理 に復帰する。 前述したように画像印刷処理では、 ドット形成有無の決定結果に従 つてドッ卜を形成することにより、 印刷用紙上に画像が印刷される。 以上に説明したように、 第 1実施例の画像印刷処理では、 複数の画素をまとめ て画素群を構成し、 画素群毎に多値化を行って、 得られた多値化結果値をカラ-- プリンタ 2 0 0に出力する。 画素群の多値化に際しては、 画素群の分類番号と画 素群階調値とを求めて、 図 9に示すような多値化テーブルを参照するだけで直ち に多値化結果値を得ることができる。 画素群の分類番号も画素群階調値も、 前述 したように極めて簡単に求めることができることから、 画素群の多値化結果値は 極めて迅速に、 しかも極めて簡素な処理によって求めることが可能となる。 加えて、 多値化結果値は、 画素群あたり僅かなビット数 (本実施例では高々 5 ビット) で表現することができるので、 画素毎にドット形成の有無を表すデータ よりも、 データ量を大幅に減少させることができる。 このため、 画素毎にドット 形成の有無を表すデータに代えて、 画素群毎の多値化結果値をカラープリンタ 2 0 0に出力してやれば、 データ量が減少する分だけ迅速にデータを供給すること が可能となる。 また、 カラープリンタ 2 0 0では、 画素群毎の多値化結果値を受け取ると、 こ れを画素群内に形成すべきドッ卜の個数を示すデータに変換する。かかる変換は、 図 1 2に示すような変換テーブルを参照するだけで、 迅速に行うことができる。 次いで、 変換して得られたドット個数を示すデータと、 順序値マ卜リックスとに 基づいて、 大ドット ·中ドット ·小ドットの形成有無を決定した後、 ドットを形 成して画像を印刷する。 順序値マ卜リックスを参照すれば、 大ドット ·中ドット •小ドットを形成する画素は比較的簡単に決定することができる。 従って、 カラ 一プリンタ 2 0 0においても、 画素群毎の多値化結果値を受け取ると、 比較的簡 素な処理で、 迅速に画素毎のドット形成の有無を決定し、 延いては、 迅速に画像 を印刷することが可能となる。 加えて、 第 1実施例の画像印刷処理では、 単に迅速に画像を印刷することがで きるだけでなく、 十分な画質で画像を印刷することができる。 特に、 画素群の分 類番号に応じて、 多値化テーブルや、 変換テーブル、 および順序値マトリックス を適切に設定しておくことで、 いわゆるブルーノイズマスク、 あるいはグリーン ノイズマスクと呼ばれるディザマトリックスを用いて実現されるような、 ドッ卜 が良好に分散した高画質な画像を印刷することが可能となる。 以下では、 こうし たことが可能な理由も含めて、 画素群の分類番号を決定する考え方、 多値化テー ブル、 変換テーブル、 順序値マトリックスなどを設定する方法について、 順次説 明する。
C一 3 . ディザ法の概要:
上述した第 1実施例の画像印刷処理は、 いわゆるディザ法と呼ばれる方法を発 展させて改良したものである。 そこで、 画素群の分類番号を決定する考え方や、 多値化テーブル、 変換テーブル、 順序値マトリックスなどの設定方法を説明する 準備として、 先ず、 ディザ法の概要について簡単に説明しておく。 ディザ法とは、 画像データを、 画素毎にドット形成の有無を表すデータに変換 するために用いられる代表的な手法である。 この手法では、 ディザマトリックス と呼ばれるマトリックスに閾値を設定しておき、 画像データの階調値とディザマ トリックスに設定されている閾値とを画素毎に比較して、 画像データの階調値の 方が大きい画素についてはドッ卜を形成すると判断し、 そうでない画素について はドッ卜を形成しないと判断する。 このような判断を画像中の全画素について行 えば、 画像データを画素毎にドッ卜形成の有無を表すデータに変換することがで さる。 図 1 6は、 ディザマ卜リックスの一部を拡大して例示した説明図である。 図示 したマ卜リックスには、 横方向 (主走査方向) に 1 2 8画素、 縦方向 (副走査方 向) に 6 4画素、 合計 8 1 9 2個の画素に、 階調値 1〜2 5 5の範囲から万遍な く選択された閾値がランダムに記憶されている。 ここで、 閾値の階調値が〗〜 2 5 5の範囲から選択されているのは、 本実施例では、 画像データが階調値 0〜2 5 5の値を取り得る 1バイ卜データとしていることに加えて、 画像データの階調 値と閾値とが等しい場合には、 その画素にはドッ卜を形成するものと判断してい ることによるものである。 すなわち、 ドッ卜が形成されるのは画像データの階調値が閾値よりも大きい画 素に限る (すなわち階調値と閾値とが等しい画素にはドットは形成しない) とし た場合、 画像データの取り得る最大階調値と同じ値の閾値を有する画素には、 決 してドットが形成されることはない。 こうしたことを避けるため、 閾値の取り得 る範囲は、画像データの取り得る範囲から最大階調値を除いた範囲とする。逆に、 画像データの階調値と閾値とが等しい画素にもドッ卜を形成するとした場合、 画 像データの取り得る最小階調値と同じ値の閾値を有する画素には、 常にドッ卜が 形成されてしまうことになる。 こうしたことを避けるため、 閾値の取り得る範囲 は、 画像データの取り得る範囲から最小階調値を除いた範囲とする。
本実施例では、 画像データの取り得る階調値が 0〜2 5 5であり、 画像データと 閾値が等しい画素にはドッ卜を形成するとしていることから、 閾値の取り得る範 囲を 1〜2 5 5としておくのである。 尚、 ディザマ卜リックスの大きさは、 図 1 6に例示したような大きさに限られるものではなく、 縦と横の画素数が同じマト リックスも含めて種々の大きさとすることができる。 図 1 7は、 ディザマトリックスを参照しながら、 各画素についてのドット形成 の有無を判断している様子を概念的に示した説明図である。 ドッ卜形成の有無を 判断するに際しては、 先ず、 判断しょうとする画素を選択し、 この画素について の画像データの階調値と、 ディザマ卜リックス中で対応する位置に記憶されてい る閾値とを比較する。 図 1 7中に示した細い破線の矢印は、 画像データの階調値 と、 ディザマ卜リックスに記憶されている閾値とを、 画素毎に比較していること を模式的に表したものである。 例えば、 画像データの左上隅の画素については、 画像データの階調値は 9 7であり、 ディザマトリックスの閾値は 1であるから、 この画素にはドットを形成すると判断する。 図 1 7中に実線で示した矢印は、 こ の画素にはドッ卜を形成すると判断して、 判断結果をメモリに書き込んでいる様 子を模式的に表したものである。 一方、 この画素の右隣の画素については、 画像 データの階調値は 9 7、 ディザマトリックスの閾値は 1 7 7であり、 閾値の方が 大きいので、この画素についてはドッ卜を形成しないと判断する。ディザ法では、 こうしてディザマ卜リックスを参照しながら、 画素毎にドッ卜を形成するか否か を判断することで、 画像データを画素毎にドット形成の有無を表すデータに変換 する。 以上に説明した内容を踏まえて、 以下では、 画素群の分類番号を決定する考え 方や、 多値化テーブル、 変換テーブル、 順序値マ卜リックスなどの設定方法につ いて説明する。
C一 4 . 分類番号を決定するための考え方:
以下では、 先ず初めに、 画素群の分類番号を付与する考え方を説明する。 '次い で、 図 8を用いて前述した簡便な方法によって、 画素群の分類番号を求めること ができる理由について説明する。 図 1 8は、画素群毎の分類番号を決定するための考え方を示した説明図である。 図 1 8 ( a ) は、 画像の一番左上隅の箇所において、 横方向に 4画素、 縦方向に 2画素の合計 8画素をまとめることによつて画素群を 1つ生成した様子を概念的 に示したものである。 前述したように、 ディザ法では画素に割り当てられた画像データの階調値と、 ディザマ卜リックスの対応する位置に設定されている閾値とを比較して、 画素毎 にドット形成の有無を判断している。 一方、 本実施例では、 隣接する所定数の画 素を画素群としてまとめているから、 ディザマ卜リックスに設定されている閾値 についても、 画素群に対応する所定数ずつまとめてプロックを生成することにす る。 図 1 8 ( b ) は、 図 1 6に示したディザマトリックスに設定されている閾値 を、 横方向に 4つ、 縦方向に 2つずつまとめて複数のブロックを生成した様子を 示している。 図 1 6に示したディザマトリックスは、 横方向 (主走査方向) に 1 2 8画素分、 縦方向 (副走査方向) に 6 4画素分の合計 8 1 9 2画素分の閾値が 設定されているから、 これら閾値を横方向に 4つ、 縦方向に 2つずつプロックに まとめれば、 ディザマトリックスは縦横それぞれ 3 2個ずつ、 合計 1 0 2 4個の ブロックに分割されることになる。 今、 図 1 8 ( b ) に示すように、 これらブロックに 1番〜 1 0 2 4番までの通 し番号を付しておく。そして、画像データにディザマトリックスを適用した時に、 各画素群の位置に適用されるブロックの通し番号によって、 画素群を分類してや る。例えば、 図 1 8 ( C ) に示したように、画像の一番左上隅にある画素群には、 図 1 8 ( b ) 中の通し番号 1番のブロックが適用されるから、 この画素群は分類 番号〗番の画素群に分類するのである。
以上が、 画素群の分類番号を決定するための基本的な考え方である。 ' 次に、 図 8を用いて前述した方法によって、 画素群の分類番号を算出可能な理 由について説明する。 図 1 9は、 画素群の分類番号を算出する方法を示した説明 図である。 図 1 9 ( a ) は、 画像中で生成された 1つの画素群を表している。 以 下では、 この画素群を着目画素群として、 分類番号を算出する方法について説明 する。 前述したように、 着目画素群の位置は、 画素群の左上隅にある画素の画素 位置によって表すものとする。 図 1 9 ( a ) では、 画素群の位置を示す画素に黒 丸を付して表示している。 この画素の画素位置が (X, Y ) であったとする。 す ると、 各画素群の大きさは、 主走査方向に 4画素、 副走査方向に 2画素としてい るから、
X = 4 n + 1、 Y = 2 rn + 1
となるような n、 m (ここで、 n, mは 0以上の正整数) が存在する。 換言すれ ば、 着目画素群の左側には n個の画素群が並んでおり、 着目画素群の上側には m 個の画素群が並んでいることになる。 ここで、 前述したように画素群は、 画像データにディザマ卜リックスを適用し たときに、 着目画素群に適用されるブロックの通し番号に基づいて分類すること としているから (図 1 8参照のこと)、 ディザマ卜リックスを移動させながら画 像データに適用する方法によって、 同じ画素群でも異なった分類番号に分類され ることになる。 実際には、 ディザマトリックスを移動させながら画像データに適 用する方法はどのような方法でも構わないが、 ここでは説明の便宜から、 最も単 純な方法すなわちディザマ卜リックスを横方向に移動させるものとして説明す る。図 1 9 ( b ) には、ディザマ卜リックスを横方向に少しずつ移動させながら、 繰り返し画像データに適用している様子が概念的に示されている。 図 1 9 ( c ) は、 図 1 9 ( b ) に示すようにディザマ卜リックスを繰り返して 用いながら、 図 1 9 ( a ) に示した着目画素群にディザマ卜リックスを適用して いる様子を概念的に表している。 このようにディザマトリックスを移動させ'てい くと、 ディザマ卜リックス中のいずれかのブロックが、 着目画素群に適用される ことになる。 ここでは、 着目画素群には、 ディザマ卜リックス中で M行 N列目の ブロックが適用されたものとする。 すると、 図 1 9 ( a ) に示したように着目画 素群の左側には n個の画素群があり、上側には m個の画素群があるから、 Nと n、 および Mと mとの間には、 それぞれ N= n 一 i n t ( n/32) X 32 + 1
M = m - i n t (m/32) X 32 + 1
の関係が成り立つている。 ここで、 i n tは、 小数点以下を切り捨てて整数化す ることを表す演算子である。 すなわち、 i n t (n/32) は、 η/32の計算 結果に対して小数点以下の数値を切り捨てることによつて得られた整数値を表し ている。 このように、 着目画素群の位置が分かれば、 図 1 9 (d) に表示した上 述の関係式から数値 Mおよび Nを求めて、 ディザマトリックス中で M行 N列目に あるプロックのブロック番号を、 その着目画素群の分類番号としてやればよい。 もっとも実際には、 図 8を用いて前述したように、 着目画素群の座標値 X, Yを 2進数表示したデータから、 所定ビットのデータを抜き出すだけで、 極めて簡単 に求めることができる。 以下、 この理由について説明する。 図 20は、 着目画素群の座標値の 2進数表示から分類番号を求める方法を示し た説明図である。 着目画素群の座標値を (X, Y) として、 X, Yが 1 0ビット で表現されているものとする。 図 20 (a) は、 数値 Xを表す 1 0ビットの 2進 数データを概念的に示している。 図では、 各ビットを識別するために、 最上位ビ ッ卜から最下位ビッ卜に向かって 1番から 1 0番までの通し番号を付して表示し ている。 図 1 9を用いて前述したように、 着目画素群の左側にある画素群の個数 nは、 数値 Xから 1を減算して 4で除算すれば得ることができる。 ここで、 4での除算 は、 2ビット分だけ右方向にシフトさせることで実施することができるから、 数 値 Xから 1を減算して、 得られた 2進数データを右方向に 2ビッ卜分だけピッ卜 シフトさせればよい。 更に、 数値 Xは任意の値を取るのではなく、 4 n+ 1の形 式で表現可能な数値しか取り得ないから、 1を減算せずに、 単に 2進数データを 右方向に 2ビッ卜分だけビッ卜シフ卜させるだけで、 画素群の個数 nを得ること ができる。 図 20 (b) は、 こうして数値 Xをビットシフトして得られた個数 n の 2進数データを概念的に表している。 次いで、 i n t (n/32)を算出する。 すなわち、個数 nを 32で除算して、 小数点以下の数値を切り捨てる操作を行う。 32による除算は、 2進数データを 右方向に 5ビット分だけビットシフトさせることで実行可能であり、 また、 デー 夕を整数形式で扱っていれば、 小数点以下の数値は自動的に切り捨てられてしま う。 結局、 ί n t (n/32) の 2進数データは、 個数 nの 2進数データを、 単 に右方向に 5ビッ卜分だけビッ卜シフ卜させることで得ることができる。 図 20 (c) は、 個数 nをビットシフ卜して得られた i n t (n/32) の 2進数デー 夕を概念的に表している。 こうして得られた i n t (n/32) に 32を乗算する。 32による乗算は、 2進数データを 5ビッ卜分だけ左方向にビッ卜シフ卜することで実施することが できる。 図 20 (d) は、個数 nをビッ卜シフトして得られた i n t (n/32) X 32の 2進数データを概念的に表している。 次いで、 個数 nから i n t (n/32) X 32を減算すれば、 前述の数値 Nを 得ることができる。 個数 nの 2進数データ (図 20 (b) 参照) と i n t (n/ 32) X 32の 2進数データ (図 20 (d) 参照) とを比較すれば明らかなよう に、 これら 2進数データは、 上位の 5ビットは共通しており、 減算する側の数値 の下位 5ビットは全て 「0」 となっている。 従って、 減算される側の数値 (個数 n) の下位 5ビットをそのまま抜き出せば、 求める数値 Mを得ることができる。 すなわち、 図 20 (b) に示した 2進数データに対して、 図 20 (f ) に示すよ うなマスクデータを作用させるだけで、 極めて簡便に数値 Nを得ることが对能で ある。 あるいは、 図 20 (a) に示した着目画素群の位置を示す数値 Xの 2進数 データに、 図 20 (g) のようなマスクデータを作用させて、 4番目〜 8番目の ビッ卜データを直接抜き出すことによつても、 数値 Nを得ることができる。 図 20では、 着目画素群の位置を示す座標値 (X, Y) の数値 Xから、 ディザ マトリックス中でのプロック位置を示す数値 Nを求める場合について説明した が、 全く同様にして、 ブロック位置を示す数値 Mも数値 Yから求めることができ る。 結局、 着目画素群の位置が分かれば、 2進数データから特定のビット位置の データを抜き出すだけで、 着目画素群がディザマ卜リックス中で何行何列目のブ ロックに対応するかを知ることができ、 このブロックの通し番号を算出すれば、 着目画素群の分類番号を得ることができる。 図 8を用いて前述した分類番号の算 出方法は、 このようにして導かれた方法である。
C - 5 . 多値化テーブルの設定方法:
次に、 図 9に示した多値化テーブルを設定する方法について説明する。 前述し たように、 多値化テーブルには、 画素群階調値に対する多値化結果値が画素群の 分類番号毎に設定されておリ、多値化テーブルを参照しながら多値化することで、 画素群階調値は、 図 1 0に示したように画素群の分類番号に応じた固有な態様で 多値化されることになる。 本実施例の多値化テーブルは、 大きさの異なる複数種類のドッ卜について画素 毎にドッ卜形成の有無を判断可能なように、 前述したディザ法を発展させた手法 を基にして設定されている。 かかる手法の詳細な内容は、 特許 3 2 9 2 1 0 4号 に開示されている。多値化テーブルの設定方法を説明する前に、その準備として,. 上記の特許公報に開示された技術の概要について簡単に説明しておく。 図 2 1は、 ディザ法を発展させて、 画素毎に大ドッ卜 ·中ドット ·小ドットの 形成の有無を決定可能としたハーフ I ^一ン処理の流れを示すフローチヤ一ト あ る。 ハーフトーン処理を開始すると、 先ず初めに、 ドットの形成有無を判断しよ うとする画素を選択して、その画素の画像データを取得する(ステップ S 4 0 0 )。 次いで、 取得した画像データを、 大中小の各ドットについての密度データに変換 する。 ここで、 密度データとは、 ドットをどの程度の密度で形成するかを表すデ —夕である。 密度データは、 階調値が大きくなる程、 ドットが高い密度で形成さ れることを表している。 例えば、 密度データの階調値 「2 5 5」 は、 ドットの形 成密度が Ί 0 0 %、すなわち全ての画素にドッ卜が形成されることを表しており、 密度データの階調値 「0」 は、 ドットの形成密度が 0 %、 すなわちいずれの画素 にもドッ卜が形成されないことを表している。 こうした密度データへの変換は、 ドッ卜密度変換テ一プルと呼ばれる数表を参照することによって行うことができ る。 図 2 2は、 画像データの階調値を大中小各ドッ卜についての密度データに変換 する際に参照されるドッ卜密度変換テーブルを概念的に示した説明図である。 図 示されているように、 ドット密度変換テーブルには、 画像データの階調値に対し て、 小ドット ·中ドット *大ドットの各ドットについての密度データが設定され ている。 画像データが階調値 r o」 近傍の領域では、 中ドット■大ドッ卜の密度 データはいずれも階調値 r o」 に設定されている。 小ドットの密度データは、 画 像データの階調値が大きくなるに連れて増加して行くが、 画像データがある階調 値に達すると今度は逆に減少し始め、 代わりに中ドッ卜の密度データが増加し始 める。 画像データの階調値が更に増加して、 ある階調値に達すると、 小ドットの 密度データが階調値 「0」 となり、 中ドットの密度データが減少し始めて、 代わ りに大ドッ卜の密度データが少しずつ増加していく。 図 2 1のステップ S 4 0 2 では、 'このドット密度変換テーブルを参照しながら、 画像データの階調値を、 大 ドッ卜の密度データ、 中ドッ卜の密度データ、 小ドッ卜の密度データに変換する 処理を行う。 処理対象とする画素について、 大中小各ドットの密度データが得られたら、 先 ず初めに大ドッ卜についての形成有無を判断する(図 2 1のステップ S 4 0 4 )。 かかる判断は、 大ドットの密度データと、 処理対象としている画素の対応する位 置に設定されているディザマトリックスの閾値とを比較することによって行う。 大ドッ卜の密度デ一夕が閾値よりも大きい場合は、 処理対象の画素には大ドッ卜 を形成するものと判断し、 逆に密度データの方が小さい場合は、 大ドットは形成 しないものと判断する。 次いで、 処理対象の画素に大ドッ卜を形成すると判断されているか否かを判定 し (ステップ S 406)、 大ドットを形成すると判断されている場合は (ステツ プ S 406 : y e s)、 中ドットおよび小ドットについての判断は省略して、 全 画素を終了したか否かを判断する (ステップ S 4 1 8)。 そして、 ドット形成の 有無を未判断の画素が残っている場合は (ステップ S 4 1 8 : n 0)、 ステップ S 400に戻って新たな画素を選択し、 続く一連の処理を行う。 —方、 処理対象の画素に大ドットを形成すると判断されていない場合は (ステ ップ S 406 : η ο)、 中ドットについての形成有無を判断するべく、 大ドット の密度データに中ドッ卜の密度データを加算して中ドッ卜用の中間データを算出 する (ステップ S 408)。 こうして得られた中ドット用の中間データと、 ディ ザマトリックスの閾値とを比較する。 そして、 中ドット用の中間データの方が閾 値よりも大きければ、 中ドットを形成するものと判断し、 逆に中間データよりも ディザマ卜リックスの閾値の方が大きければ、 中ドッ卜を形成しないものと判断 する (ステップ S 4 1 0)。 次いで、 処理対象の画素に中ドッ卜を形成すると判断されているか否かを判定 し (ステップ S 4 1 2)、 中ドットを形成すると判断されている場合は (ステツ プ S 4 1 2 : y e s)、 小ドットについての判断は省略して、 全画素を終了した か否かを判断する (ステップ S 4 1 8)。 処理対象の画素に中ドッ卜を形成すると判断されていない場合は (ステップ S 4 1 2 : n 0)、 小ドッ卜についての形成有無を判断するべく、 中ドッ卜用の中 間データに小ドッ卜の密度データを加算して小ドッ卜用の中間データを算出する (ステップ S 41 4)。 そして、 得られた小ドット用の中間データと、 ディザマ 卜リックスの閾値とを比較する。 そして、 小ドット用の中間データの方が閾値よ りも大きければ、 小ドットを形成するものと判断し、 逆に中間データよりもディ ザマトリックスの閾値の方が大きければ、 いずれのドッ卜も形成しないものと判 断する (ステップ S 4 1 6 )。 すなわち、 大ドットの密度データよりもディザマトリックスに設定された閾値 の方が大きい画素 (大ドッ卜が形成されない画素) については、 大ドッ卜の密度 データに中ドッ卜の密度データを加算して、 得られた中間データと閾値とを比較 し、 中間データの方が大きくなれば、 中ドットを形成すると判断する。 一方、 中 間データよりも依然として閾値の方が大きい画素については、 中間データに小ド ッ卜の密度データを加算して新たな中間データを算出する。 そして、 この中間デ 一夕と閾値とを比較して、 新たな中間データの方が大きくなれば小ドッ卜を形成 すると判断し、 依然として閾値の方が大きい画素についてはいずれのドッ卜も形 成しないと判断するのである。 以上のような処理を行うことにより、 処理対象の画素について、 大ドッ卜、 中 ドット、 小ドットのいずれのドットを形成するか、 若しくは、 いずれのドットも 形成しないかを判断することができる。 そこで、 全画素についての処理を終了し たか否かを判断し (ステップ S 4 1 8 )、 未判断の画素が残っている場合は (ス テツプ S 4 1 8 : n 0 )、 ステップ S 4 0 0に戻って新たな画素を選択し、 続く —連の処理を行う。 このようにして、 処理対象として選択された画素について 1 つずつ、 大中小のいずれのドットを形成するか否かを判断していく。 そして、 全 画素について処理を終了したと判断されたら (ステップ S 4 1 8 : y e s )、 図 2 1に示したハーフ | ^一ン処理を終了する。 以上、 ディザマ卜リックスを利用して、 大中小の各ドットについての形成有無 を判断する方法について説明した。 以下では、 上述の説明を踏まえて、 図 9に示 した多値化テーブルの設定方法について説明する。 前述したように多値化結果値生成処理では、 画素群内に含まれる各画素の画像 データを画素群階調値で代表させることにより、 画素群をまとめて多値化してい る。 そこで、 多値化テーブルを設定するに際しては、 先ず、 画素群内の全画素が 画素群階調値と同じ値の画像データを有するものとして、 各画素について大中小 の各種ドッ卜についての形成有無を判断することを考える。 各種ドッ卜について の形成有無の判断は、 図 2 1を用いて前述したハーフ I ^一ン処理によって行う。 図 2 3は、 画素群内の各画素について、 大中小各ドットの形成有無を判断して いる様子を概念的に示した説明図である。 図中では、 ハーフ ! ^一ン処理を行うた めに着目している画素群を太い実線で囲って表している。 画素群は 8つの画素か ら構成されており、 各画素の画像データは、 いずれも画素群階調値と同じ値 (図 示した例では階調値 9 7 ) を有している。 大中小各種ドッ卜の形成有無を判断す るためには、 画像データを各ドットについての密度データに変換する。 密度デー 夕への変換は、 図 2 2に示したドット密度変換テーブルを参照することによって 行う。 ここでは、 画素群内の全画素が同じ画像データを有するものとしているか ら、 各種ドッ卜についても密度データも全て画素について同じ値となる。 図示し た例では、 大ドットの密度データの階調値が 「2」、 中ドットの密度データの階 調値が Γ 9 5」、 小ドッ卜の密度データの階調値が 「3 0」 であった場合を表し ている。 次いで、 図 2 1を用いて説明したように、 大ドットの密度データ、 中ドット用 の中間デ一夕、 あるいは小ドット用の中間データと、 ディザマ卜リックスに設定 されている閾値とを比較することによって、 各種ドッ卜についての形成有無を画 素毎に判断する。 ここで、 比較に用いるディザマ卜リックスの閾値は、 ディザマ 卜リックスの中から、 着目している画素群に対応する箇所に設定されている閾値 を使用する。 例えば、 図 2 3に示した例では、 画素群が画像の左上隅にあること から、 閾値についても、 ディザマ卜リックス中の左上隅の画素群に設定されてい る閾値を使用する。 そして、 画素群に設定されている 8つの閾値の中で、 大ドットの密度データよ りも小さな閾値が設定されている画素については、 大ドッ卜を形成すると判断す る。 ここでは、 大ドットの密度データは階調値 「2」 としているから、 大ドット が形成される画素は、閾値 Γ 1 Jが設定されている画素だけである。図 2 3では、 大ドッ卜が形成されると判断された画素には、細かい斜線を付して表示している。 大ドットの密度データ 「2」 よりも大きく、 大ドットの密度データと中ドットの 密度データとを加算して得られた中ドット用の中間データ 「9 7」 よりも小さな 閾値が設定されている画素には、 中ドットを形成するものと判断する。 このよう な画素は、 閾値 「4 2」 が設定された画素、 および閾値 「5 8」 が設定された画 素の 2つの画素だけである。 図 2 3では、 中ドットが形成されると判断された画 素には、 少し粗い斜線を付して表示している。 そして、 最後に、 中ドット用の中 間データ 「9 7」 よりも大きく、 中ドット用の中間データに小ドット用の密度デ 一夕を加算して得られた小ドット用の中間データ 「1 2 7」 よりも小さな閾値が 設定されている画素には、 小ドットを形成するものと判断する。 このような画素 は、 閾値 「1 0 9」 が設定された画素だけである。 図 2 3では、 小ドッ卜が形成 されると判断された画素には、粗い斜線を付して表示している。このようにして、 大ドット、 中ドット、 小ドットの形成有無を判断した結果、 着目している画素群 の画素群階調値が 「9 7」 である場合には、 大ドット 1個、 中ドット 2個、 小ド ッ卜 1個が形成されることになる。 画素群階調値が大きく異なれば、 画素群内に形成される大ドット、 中ドット、 小ドットの個数も異なったものとなる。 また、 画素群階調値を 「0」 から Γ' 2 5 5」 まで変化させれば、 それに伴って大ドット、 中ドット、 小ドットの個数は、 幾段階かに変化するはずである。 更に、 画素群の分類番号が異なれば、 ディザマ トリックスの閾値も異なることから、 ドッ卜個数の変化の仕方も異なるはずであ る。 図 9に示した多値化テーブルは、 画素群階調値を 「0」 から 「2 5 5」 まで 変化させたときの、 各種ドットの個数が段階的に変化する挙動を、 分類番号毎に 調べることによって設定されている。 図 2 4は、 実際に、 多値化テーブルを設定する処理の流れを示したフローチヤ 一卜である。 以下、 フローチャートに従って説明する。 多値化テーブルの設定処 理を開始すると、 先ず初めに、 画素群の分類番号を 1つ選択する (ステップ S 5 0 0 )。 例えば、 ここでは分類番号 1番を選択したものとする。 次いで、 選択した分類番号の画素群に対応する閾値を、 ディザマトリックスの 中から読み出してやる (ステップ S 5 0 2 )。 例えば、 ここでは分類番号 1番を 選択したものとしているから、 図 1 6に例示したディザマトリックスの中から、 図 1 8 ( b ) 中で 1番と表示したブロック位置に設定されている 8つの閾値を読 み出す。 そして、 多値化結果値 R Vおよび画素群階調値 B Dを 「0」 に設定し (ステツ プ S 5 0 4 )、 更に、 大ドット、 中ドット、 小ドットの形成個数をいずれも 0個 に設定する (ステップ S 5 0 6 )。 続いて、 図 2 2に示したドット密度変換テーブルを参照することにより、 画素 群階調値を大ドッ卜、中ドッ卜、小ドッ卜についての密度データに変換した後(ス テツプ S 5 0 8 )、 これら密度データと先に読み込んでおいた閾値とに基づいて、 大中小の各種ドットについての形成個数を決定する (ステップ S 5 1 0 )。 すな わち、 図 2 1あるいは図 2 3を用いて説明したように、 大ドットの密度データよ りも小さな閾値の個数を求めて、 得られた個数を大ドッ卜の形成個数とする。 ま た、 大ドッ卜の密度データよりも大きく且つ中ドッ卜用の中間データよりも小さ な閾値の個数を求めて、 これを中ドットの形成個数とする。 更に、 中ドット用の 中間データよりも大きく且つ小ドッ卜用の中間データよりも小さな閾値の個数を 求めて、 これを小ドットの形成個数とする。 こうして求めた各種ドッ卜の形成個数が、 先に設定されていた形成個数に対し て変更されたか否かを判断する (ステップ S 5 1 2)。 そして、 形成個数が変更 されたと判断されれば(ステップ S 5 1 2 : y e s)、 多値化結果値 RVを 「1」 だけ増加させて (ステップ S 5 1 4)、 得られた多値化結果値 RVを画素群階調 値 B Dに対応づけて記憶する (ステップ S 5 1 6)。 一方、 形成個数が変更され ていないと判断された場合は (ステップ S 5 1 2 : η 0)、 多値化結果値 RVを 増加させることなく、そのままの値を画素群階調値 BDに対応づけて記憶する(ス テツプ S 5 1 6)。 以上のようにして、 ある画素群階調値に対する多値化結果値を記憶したら、 画 素群階調値 B Dが階調値 255に達したか否かを判断する(ステップ S 5 1 8)。 階調値 255に達していなければ (ステップ S 5 1 8 : η 0)、 画素群階調値 Β Dを 门」 だけ増加させて (ステップ S 520)、 ステップ S 508に戻って再 び画素群階調値 B Dを密度データに変換した後、 続く一連の処理を行って、 新た な画素群階調値 B Dに対応づけて多値化結果値 R Vを記憶する (ステップ S 5 1 6)。画素群階調値 B Dが階調値 255に達するまで、 こうした操作を繰り返す。 そして、 画素群階調値 B Dが階調値 255に達したら (ステップ S 51 6 : y e s)、 選択した分類番号については、 すべての多値化結果値を設定したことにな る。 そこで、 すべての分類番号について、 以上のような処理を行ったか否かを判断 し (ステップ S 522)、 未処理の分類番号が残っている場合は (ステップ S 5 22 : n o)、 ステップ S 500に戻って再び上述した処理を行う。 こうした処 理を繰り返し、 すべての分類番号について、 すべての多値化結果値を設定したと 判断されたら (ステップ S 522 : y e s), 図 24に示した多値化テーブル設 定処理を終了する。 以上の説明から明らかなように、 多値化結果値は、 画素群階調値を変換して得 られた大中小各ドッ卜の密度データと、 ディザマ卜リックス中で画素群に対応す る位置に記憶されている閾値とによって決定される。 ここで、 図 2 2に示したド ッ卜密度変換テーブルは、 画素群の分類番号が異なっていても同じテーブルを参 照するから、 画素群階調値に対する各ドットの密度データも、 分類番号によらず 同じ密度データが得られる。 しかし、 ディザマトリックスから読み出された閾値 の組は、 分類番号毎に異なったものとなる。 何故なら、 ディザマトリックスは、 画像上でドッ卜が一定のパターンで発生したり、 あるいは近接した位置に固まつ て発生することで画質を悪化させることの無いように、 閾値は出来るだけ分散さ せて且つ出来るだけランダムに設定されている。 このため、 画素群に含まれる複 数個の閾値を組として見たときに、 全く同じ組合せとなる可能性は極めて低いと 考えられるからである。 このような理由から、 本実施例の多値化結果値生成処理 で参照される多値化テーブルは、 画素群階調値と多値化結果値との対応関係が分 類番号毎に異なったものとなり、 また、 多値化結果値が変化する回数 (図 1 0に 示した多値化の段数) も、 分類番号に応じて異なったものとなっている。 -
C一 6 . 変換テーブルの設定方法:
次に、 図 1 2を用いて前述した変換テーブルの設定方法について説明する。 か かる変換テーブルは、 図 1 1に示したドット形成有無決定処理中で、 多値化結果 値を分類番号と組み合わせて、 画素群に形成されるドッ卜個数を表すデータに変 換するために参照されるテーブルである。 図 2 4を用いて前述した多値化テーブルの設定方法から明らかなように、 多値 化テーブルに設定されている多値化結果値は、 画素群に形成される大中小の各ド ッ卜の個数に基づいて決定されている。 もっとも、 多値化結果値が、 画素群に形 成されるドッ卜個数の組合せに直ちに対応しているわけではなく、 多値化結果値 と画素群の分類番号とを組み合わせることで初めて、 具体的なドッ卜個数の組合 せに対応付けることができる。 何故なら、 多値化結果値は、 画素群階調値を階調 値 0から階調値 2 5 5まで増加させたときに、 大中小各ドッ卜の形成個数が変化 したか否かだけを抽出し、 具体的に各ドッ卜個数の組合せがどのように変化した かを示す情報は省かれた状態で設定されているからである。 とは言え、 画素群の分類番号が分かっていれば、 その画素群で何回目の変化に 相当するか、 すなわち多値化結果値から、 各種ドットについての具体的な個数の 組合せを特定することはできる。 そこで、 分類番号毎に、 多値化結果値を設定す る元になつた各種ドッ卜の具体的な個数を求め、 得られたドッ卜個数の組合せに 対応するコードデータを、 多値化結果値に対応付けて記憶しておく。 図 1 2に示 した変換テーブルは、 こうした操作を、 全ての分類番号について行うことによつ て設定されている。 図 2 5は、 変換テーブルを設定する具体的な処理の流れを示したフローチヤ一 卜である。 以下、 フローチャートに従って説明する。 変換テーブル設定処理を開 始すると、 先ず初めに、 設定対象とする分類番号を 1つ選択し (ステップ S 6 0 0 )、 多値化結果と R Vを 0に設定する (ステップ S 6 0 2 )。 次いで、 多値化結果値 R Vに対応する大中小各ドットの個数を取得する (ステ ップ S 6 0 4 )。 例えば、 多値化結果値が Γ Ν」 であったとすると、 その分類番 号の画素群について、 画素群階調値を 「0」 から 「2 5 5」 に変化させながら大 中小各ドッ卜の形成有無を判断し、 ドッ卜の形成個数が Ν番目に変化したときの 大ドット、 中ドット、 小ドッ卜の個数を取得する。 こうして取得した各ドットの個数の組合せを、 コードデ一夕に変換する (ステ ップ S 6 0 6 )。 ドット個数の組合せからコードデータへの変換は、 図 1 3に示 した対応表を参照することによって行う。 次いで、 得られたコードデータを、 多 値化結果値に対応付けて記憶した後 (ステップ S 6 0 8 )、 対象としている分類 番号についての最大の多値化結果に達したか否かを判断する (ステップ S 6 1 0 )。 すなわち、 図 9を用いて説明したように、 多値化結果の最大値は、 画素群 の分類番号によって異なっていることから、 対象としている分類番号についての 多値化結果の最大値に達したか否かを判断するのである。 そして、多値化結果の最大値に達していない場合は(ステップ S 6 1 0 : n 0 )、 多値化結果 R Vの値を 「1」 だけ増加させる (ステップ S 6 1 2 )。 そして、 ス テツプ S 6 0 4に戻って、 新たな多値化結果値 R Vに対応する各ドッ卜の個数を 取得した後、 続く一連の処理を繰り返す。 こうした操作を繰り返し、 対象として いる分類番号の最大多値化結果値に達したと判断されたら (ステップ S 6 1 0 : y e s )、 その分類番号については全データが変換テーブルに設定されたことに なる。 そこで今度は、 全ての分類番号について同様の処理を行ったか否かを判断する
(ステップ S 6 1 4 )。 そして、 未だ処理していない分類番号が残っている場合 は、ステップ S 6 0 0に戻って新たな分類番号を選択し、この分類番号について、 上述した一連の処理を行う。 こうして全ての分類番号について処理を終了したと 判断されたら (ステップ S 6 1 4 : y e s )、 変換テーブルの全てのデータが設 定されたことになるので、 図 2 5に示す処理を終了する。 第 Γ実施例のカラープリンタ 2 0 0は、 このようにして設定された変換テープ ルが、 制御回路 2 6 0に内蔵された R O M内に予め記憶されている。 そして、 図 1 1に示したドット形成有無決定処理では、 この変換テーブルを参照することに よって、 多値化結果値を個数デ一夕に変換しているのである。
C一 7 . 順序値マ卜リックスの設定方法:
次に、図 1 4に例示した順序値マ卜リックスを設定する方法について説明する。 前述したように、 順序値マ卜リックスとは、 画素群内の各画素について、 ドット が形成される順番を設定したマ卜リックスである。 図 1 1に示したドット形成有 無決定処理中では、 画素群に対応する順序値マトリックスを読み込んで、 マトリ ックスに設定されている順番に従って、 大ドット、 中ドット、 小ドットを形成す る画素を決定していた。 順序値マトリックスも、 前述した多値化テーブルと同様に、 特許 3 2 9 2 1 0 4号に開示された手法 (ディザ法を発展させて、 大きさの異なる複数種類のドッ 卜の形成の有無を判断可能とした手法) を基にして設定されている。 すなわち、 多値化テーブルを設定する場合は、 前述したように画素群内の全画素が同じ画像 データ (画素群階調値) を有するものとして、 画素群内に形成される大中小ドッ 卜の個数を決定しながら、 画素群階調値を「0」から Γ 2 5 5」 まで変化させて、 このときに各ドッ卜が形成される個数の変化に着目して多値化結果値を設定し た。 また、 図 1 2に示すように、 多値化結果値と分類番号とを組み合わせれば、 画素群内に形成される大中小の各ドッ卜の個数までは復元することができた。 し かし、 これら各種ドットが、 画素群内のどの画素に形成されるかに関する情報は 省略されており、 多値化結果値あるいは分類番号からは知ることはできない。 順 序値マ卜リックスは、 画素群内で各種ドッ卜が形成される画素位置に関する情報 を記憶したものと考えることができる。 すなわち、 特許 3 2 9 2 1 0 4号に開示 された手法を画素群に適用すれば、図 2 1ないし図 2 3を用いて前述したように、 各種ドッ卜の形成個数だけでなく、 画素群内でドッ卜が形成される画素位置まで 決定可能であるところ、 本実施例ではこの手法を 2つの要素に分解して、 各種ド ッ卜の形成個数に関する情報については、 主に多値化結果値 (正確には、 多値化 結果値および分類番号の組合せ) (こ反映させ、 ドットが形成される画素位置に関 する情報ついては、順序値マトリックスに反映させていると考えることができる。 このような順序値マトリックスは、 実際には、 比較的簡単に設定することができ る。 図 2 6は、 順序値マ卜リックスを設定する方法について具体的に示した説明図 である。
以下、図を参照しながら説明する。順序値マ卜リックスの設定に際しては、先ず、 ディザマトリックスを画素群と同じ大きさを有する複数のプロックに分割して、 各ブロックに通し番号を付しておく。 図 1 8を用いて前述したように、 この通し 番号がそのまま画素群の分類番号となる。 図 2 6 ( a ) は、 ディザマトリクスを 複数のブロックに分割した様子を概念的に示した説明図である。 今、 ディザマ卜 リックスが図 1 6に示した大きさ (すなわち、 主走査方向に 1 2 8画素、 副走査 方向に 6 4画素) を有しているものとすると、 1つの画素群は主走査方向に 4画 素、 副走査方向に 2画素の大きさを有するとしているから、 図 2 6 ( a ) に示す ように、 ディザマ卜リックスは主走査方向および副走査方向にそれぞれ 3 2プロ ックずつ、 全体では、 1香から 1 0 2 4香までの分類番号が付された 1 0 2 4個 のブロックに分割されることになる。 ディザマトリックスを複数のブロックに分割したら、 各ブロックから 1組ずつ 順序値マ卜リックスを生成する。 図 2 6 ( b ) は、 一例として、 分類番号 1香の ブロックから順序値マトリックスを生成している様子を示した説明図である。 図 2 6 ( b ) の左側半分には、 分類番号 1番のブロックに含まれるディザマ卜リツ クスの閾値が示されている。 図 2 3を用いて前述したように、 ドットは小さな閾 値が設定されている画素から順番に形成される。 従って、 図 2 6 ( b ) に示した 1香のブロックの中で 1番初めにドットが形成される画素は、 閾値 「1」 が設定 された画素と考えることができる。 そこで、 この画素には順序値として 「1」 を 設定する。 同様に、 2番目にドットが形成される画素は、 2番目に小さな閾値で ある閾値 「4 2」 が設定された画素と考えることができる。 そこで、 この画素に は順序値 「2」 を設定する。 このようにして、 ブロック内に設定されている閾値 の小さな画素から順番に、順序値「1」から順序値「8」までを決定してやれば、 図 2 6 ( b ) の右側半分に示した分類番号 1香の順序値マ卜リックスを得ること ができる。 図 2 6 ( c ) は、 同様にして、 ブロック内で小さな閾値が設定されている画棄 から順番に、 順序値 M」 から順序値 「8」 までを設定することで、 分類番号 2 香の順序値マトリックスが得られる様子を示している。 図 2 6 ( a ) に示した分 類番号 Γ 1」 番から 「〗 0 2 4」 番までの全てのプロックについて、 以上のよう な操作を行うことにより、 分類番号 「1」 香から 「1 0 2 4」 香までの順序値マ トリックスを得ることができる。 第 1実施例のカラープリンタ 2 0 0は、 このようにして設定された順序値マ卜 リックスが、 制御回路 2 6 0に内蔵された R O M内に、 画素群の分類番号に対応 付けて予め記憶されている。 そして、 図 1 1に示したドット形成有無決定処理を 実施する際には、 記憶されている順序値マトリックスの中から、 画素群の分類番 号に対応するマ卜リックスを読み出しているのである。
C一 8 . 多値化結果値からドッ卜形成有無を適切に決定可能な原理:
以上に説明したように、 第 1実施例の画像印刷処理では、 複数個の画素を画素 群にまとめて、 図 9に例示した多値化テーブルを参照することにより、 画素群毎 に多値化結果値を決定する。 次いで、 図 1 2に例示した変換テーブル、 および図 1 4に例示した順序値マ卜リックスを参照しながら、 多値化結果値に基づいて画 素群内に各種ドッ卜を形成する画素位置を決定する。 このようにしてドッ卜を形 成する画素位置を決定した場合でも、 ドッ卜が適切に分散された高画質な画像を 出力することができる。 加えて、 比較的少数ずつ (本実施例では 8個ずつ) の画 素群をまとめて処理しているにも関わらず、 いわゆるブルーノイズマスク、 ある いはグリーンノイズマスクに代表される画素数が千個を越えるような大規模なデ ィザマ卜リックスを用いることで実現されるような、 良好なドッ卜分布を得るこ とが可能である。以下では、このようなことが可能となる原理について説明する。 前述した特許 3 2 9 2 1 0 4号に開示された技術を用いれば、 図 2 1および図 2 2を用いて前述したように、 画像データを大ドットの密度データ、 中ドット用 の中間データ、 小ドット用の中間データに変換して、 ディザマトリックスに設定 されている閾値と比較することで、 大中小各ドッ卜についての形成の有無を判断 することができる。 更に、 このときに参照するディザマトリックスを、 いわゆる ブルーノイズマスク、 あるいはグリーンノイズマスクに代表されるような分散性 が考慮されたマ卜リックスとしておけば、 ドッ卜が良好に分散した高画質な画像 を得ることができる。 また、画像データは一般的に、隣接する画素間では近似する(若しくは同一の) 階調値が割り当てられる傾向がある。 近年では、 高画質化の要請から画像データ の解像度は益々高くなる傾向にあるが、 隣接する画素間で近似若しくは同一の階 調値が割り当てられる傾向は、画像データの解像度が高くなるほど顕著に現れる。 このことから、 図 2 3を用いて前述したように、 複数個の画素を画素群としてま とめてしまい、 画素群内の画素は全て同じ画像データを有するものとして大中小 各ドッ卜の形成有無を判断した場合でも、 実際には画質に差が生じることは稀で ある。 ここで、 前述した本実施例の多値化結果値生成処理では、 画素群階調値を多値 化して、 画素群の分類番号に依存した多値化結果値を生成する。 こうして生成さ れた多値化結果値は、 画素群の分類番号と組み合わせることで、 画素群内に形成 される各種ドッ卜の個数を示すデータとなっている。 図 2 3に示した画素群につ いては、. 画素群の分類番号と組み合わせることで、 大ドット、 中ドット、 小ドッ 卜の形成個数が、 それぞれ 1個、 2個、 1個であることを示すような多値化結果 値が生成されることになる。 前述した第 1実施例のドッ卜形成有無決定処理では、 このような多値化結果値 を受け取ると、 画素群内の各画素について、 大中小各ドットについての形成有無 を決定する。 図 2 7は、 前述したドット形成有無決定処理において、 多値化結果 値を受け取って、 画素群内の各画素について大中小各ドッ卜の形成有無を判断す る処理の大まかな流れを概念的にまとめた説明図である。図示されているように、 多値化結果値を受け取ると、 その結果値が表す画素群の分類番号を求めた後、 多 値化結果値と分類番号とに基づいて、 大中小各ドットの形成個数を取得する。 ま た、 予め記憶されている順序値マトリックスの中から、 分類番号に対応付けて記 憶されているマトリックスを読み出してやる。 尚、 分類番号を求める具体的な方 法については後述する。 図 2 3に示した画素群を想定しながら説明すれば、 画素群は画像の左上隅にあ るから分類番号は〗香と求められる。 この画素群の多値化結果値と、 求めた分類 番号とを組み合わせることにより、 この画素群には、 大ドット 1個、 中ドット 2 個、 小ドット 1個がそれぞれ形成されることが分かる。 これら各ドットが、 画素 群内のどの画素に形成されるかを決定するために、 分類番号 1香の順序値マ卜リ ックスを参照する。 この順序値マ卜リックスは、 図 2 3において、 ドット形成有 無の判断に用いたディザマトリックスの該当部分、 すなわち画素群内の各画素に ついてドッ卜形成の有無を判断するために用いた該当部分から生成した順序値マ 卜リックスである。 このようにして得られた大中小各ドッ卜の個数と、 順序値マ卜リックスとに基 づいて、 画素群内でこれらドットを形成する画素位置を決定していく。 画素位置 を決定する具体的な方法は、 図 1 5を用いて既に説明しているので、 ここでは説 明は省略して結果のみを示すと、 大ドットは順序値 1香の画素に形成され、 中ド ットは順序値 2香の画素と 3番の画素とに形成され、 小ドッ卜は順序値 4番の画 素に形成される。 図 2 7では、 図 1 5に倣って、 大ドットを形成する画素には細 かいハッチングを付し、中ドッ卜を形成する画素には少し粗いハッチングを付し、 小ドッ卜を形成する画素には粗いハッチングを付して表している。 こうして得ら れたドッ卜の分布と、 図 2 3に示した画素毎にドッ卜形成の有無を判断して得ら れたドッ卜の分布とを比較すれば、 両者のドッ卜分布は完全に一致していること が分かる。 すなわち、 分類番号に依存した多値化結果値のみを受け取った場合でも、 上述 した方法を用いてドッ卜形成の有無を決定してやれば、 前述した特許 3 2 9 2 1 0 4号を適用してディザ法を参照しながら画素毎に大中小各ドッ卜の形成有無を 判断した場合と、 全く同じドット分布を得ることができる。 このため、 ドットが 良好に分散された高画質な画像を得ることが可能となるのである。 加えて、 多値化結果値を生成するために参照された多値化テーブルは、 ディザ マトリックスに基づいて設定されている (図 2 5参照)。 同様に、 多値化結果値 からドッ卜形成有無を決定する過程で参照された変換テーブルあるいは順序値マ 卜リックスも、 ディザマ卜リックスに基づいて設定されている (図 2 5、 図 2 6 参照)。 従って、 これらテーブル類の設定に用いられるディザマ卜リックスとし て、いわゆるブルーノイズマスク、あるいはグリーンノイズマスクを使用すれば、 これらマスクを用いることで初めて得られるような、 高画質な画像を得ることが 可能となる。 C - 9 . 画素群の位置から分類番号を決定する方法:
ここで、 画像上での画素群の位置から、 その画素群の分類番号を求める方法に ついて、 簡単に説明しておく。 図 2 8は、 画像上での画素群の位置に基づいて、 分類番号を求める方法を示し た説明図である。 今、 対象としている画素群が、 図 2 8 ( a ) に示すように、 画 像の一番左上隅を基準として主走査方向に ί個目の画素群、 副走査方向に j個目 の画素群の位置にあるとする。 また、 このような画素群の位置を、 座標値 ( i, j ) によって表すものとする。 また、 ディザマ卜リックスの大きさは、 通常は、 画像のようには大きくはないので、 図 1 9 ( b ) を用いて前述したように、 ディ ザマトリックスを主走査方向に移動させながら、繰り返して使用するものとする。
1つのディザマトリックスには主走査方向 ·副走査方向にそれぞれ 3 2個ずつ のブロックが含まれるとしているから (図 1 8 ( b ) 参照)、 ディザマ卜リック ス中で、 対象の画素群がある位置を I行」列とすれば、 し Jはそれぞれ次式で 求めることができる。
I = i 一 i n t ( i /32) X 32
J = j 一 i n t (j /32) X 32
ここで、 i n tは、 小数点以下を切り捨てて整数化することを表す前述した演 算子である。 従って、 画素群の座標値 ( i , j ) に上式を適用して I , Jを求め ることで、 その画素群がディザマトリックス中で I行」列にあることが分かる。 これより、 分類番号は、
I + (J - 1 ) X 32 … (2)
によって求めることができる。 また、 画素群のディザマ卜リックス中での位置を表す値 I, Jは、 上述したよ うな計算を実行せずとも、 i, jの 2進数表示から所定ビットのデータを抜き出 すだけで、 極めて簡便に求めることができる。 図 29は、 画素群の座標値 ( i, j ) から、 画素群のディザマトリックス中での位置を求める方法を具体的に示し た説明図である。 図 29 (a) は、 数値 iを表す 1 0ビットの 2進数表示したデ —夕を概念的に示している。 尚、 図 29 (a)では、各ビットを識別するために、 最上位ビッ卜から最下位ビッ卜に向かって 1番から 1 0番までの通し番号を付し て表示している。 画素群の位置を示す値 Iを求めるに際しては、先ず初めに、 i n t ( i /32) を算出する。 この演算は、 ίの 2進数データを右方向に 5ビット分だけビットシ フ卜させることで実行することができる (図 29 (b) 参照)。 次いで、 i n t ( i /32) X 32を算出する。 この演算は、 i n t ( i /32) の 2進数デー タを左方向に 5ビッ卜分だけビッ卜シフ卜させることで実行することができる (図 29 (c) 参照)。 最後に、 数値 iから、 i n t ( i 32) X 32を減算 すれば、 目的とする数値 Iを得ることができる。 この操作は、 結局は、 数値 ίの 2進数データから下位の 5ビッ卜のみを抜き出していることに他ならないから、 極めて簡便に数値 Iを得ることが可能である。 同様にして、 数値 jの 2進数デー 夕から下位の 5ビッ卜のみを抜き出すことで、 極めて簡便に数値」を得ることが 可能である。 こうして数値 Iおよび」が求まれば、 上述の (2 ) 式を用いて分類 番号を算出することができる。 以上、 第 1実施例の画像印刷処理中で行われる多値化結果値生成処理 (図 6の ステップ S 1 0 6 )、 およびドッ卜形成有無決定処理(図 6のステップ S 1 0 8 ) の内容について詳しく説明した。 上述した多値化結果値生成処理では、 所定数の 画素をまとめて画素群を生成し、 その画素群の画素群階調値を多値化して得られ た結果値を生成する。 多値化結果値の生成に際しては、 多値化テーブルを参照す ることにより、 極めて迅速に生成することができる。 加えて、 こうして得られた 多値化結果値は、 画素群の分類番号に依存した結果値であるが、 画素毎にドット 形成の有無を表すデータに比べて、 データ量が遙かに小さくなつているため、 コ ンピュー夕 1 0 0からカラ一プリンタ 2 0 0に向かって極めて迅速にデータを出 力することができる。 すなわち、 上述した多値化結果値生成処理では、 多値化結 果値の生成および出力を高速に実行することが可能であり、 その分だけ画像を迅 速に印刷することが可能となるのである。 加えて、 多値化結果値を生成する処理は、 単に多値化テーブルを参照する処理 に過ぎず、多値化テーブルを参照するために使用する分類番号や画素群階調値も、 極めて簡便な処理で求めることができるので、 コンピュータ 1 0 0のような高い データ処理能力を備えていない機器を用いた場合でも、 十分に実用的な速度で処 理することができる。 更に、 処理内容の大部分は、 単にテーブルを参照するという極めて簡素な処理 となることから、 C P Uを用いてソフトウェア的に実行するのではなく、 専用の 論理回路を組み込んだ I Cチップを用いてハードウェア的に実行することも容易 であり、 こうすることで極めて高速に処理することも可能である。 従って、 デジ タルカメラ 1 2 0などの画像データを生成する機器と、 カラ一プリンタ 2 0 0と を直接接続した場合でも、 多値化結果値生成処理をデジタルカメラ 1 2 0やカラ 一プリンタ 2 0 0の内部で実行することで、 迅速に画像を印刷することも可能と なる。 一方、 第 1実施例の画像印刷処理中で行われるドッ卜形成有無決定処理では、 多値化結果値を受け取ると、 画素群内の各画素についてドッ卜の形成有無を決定 する。 ドッ卜形成の有無を決定するに際しては、変換テーブルを参照することで、 多値化結果値をドット個数の組合せに変換する。 そして、 順序値マ卜リックスを 参照することで、 各種ドットの形成位置を決定する。 すなわち、 変換テーブルお よび順序値マトリックスを参照することによって、 各種ドッ卜を形成する画素位 置を迅速に決定することができる。 通常、 形成可能なドットの種類が増加すると、 これら各種ドットを形成する画 素位置を決定する処理は加速度的に複雑なものとなる。 これに対して、 上述した 第 1実施例のドッ卜形成有無決定処理では、 ドッ卜の種類が増加した場合でも、 変換テーブルおよび順序値マトリックスを参照するという基本的な処理内容は同 じであり、 処理内容が複雑化することはない。 この点からも、 第 1実施例のドッ 卜形成有無決定処理によれば、簡素で且つ迅速な処理が可能と言うことができる。 更に、 上述した多値化結果生成処理と同様に、 本実施例のドット形成有無決定処 理においても、 処理内容の大部分は、 単にテーブルを参照するという極めて簡素 な処理であるため、 C P Uを用いてソフトウェア的に実行するのではなく、 専用 の論理回路を組み込んだ I Cチップを用いてハードウェア的に実行することも容 易であリ、 こうすることで極めて高速に処理することが可能である。
C— 1 0 . 変形例:
C— 1 0— 1 . 第 1の変形例:
上述した第 1実施例の多値化結果値生成処理では、 階調値 0から階調値 2 5 5 までの画素群階調値毎に、 対応する多値化結果値を記憶した多値化テーブルを参 照している。 しかし多値化結果値は、 画素群階調値が増加するに従って段階的に 増加するだけなので、 多値化結果値が切り換わる画素群階調値だけを記憶してお けば、 画素群階調値に対する多値化結果値を求めることができる。 以下に説明す る第 1の変形例の画像印刷処理では、 こうした変形例の多値化結果値生成処理を 行う。 図 3 0は、 変形例の多値化結果値生成処理において参照される閾値テーブルを 概念的に示した説明図である。 図示されているように閾値テーブルには、 分類番 号毎に、 多値化結果値に対応する閾値が設定されている。 この閾値は、 画素群階 調値を階調値 0から階調値 2 5 5まで増加させたときに、 その多値化結果値とな る最も大きな画素群階調値を表している。 一例として、 分類番号 1番の画素群に ついて説明する。 分類番号 1番については、 多値化結果値 「0」 に対しては閾値 「2」 が設定されている。 これは、 分類番号 1香の画素群については、 画素群階 調値が 「0」 ないし 「2」 の範囲にあれば、 多値化結果値が 「0」 となることを 表している。 また、 多値化結果値 门」 に対しては閾値 「1 5 J が設定されてい る。 これは、 分類番号 1香の画素群については、 画素群階調値が 「3」 から Γ 1 5」 の範囲にあれば多値化結果値が Π」 となることを表している。 同様に、 多 値化結果値 「1 4」 に対しては閾値 「2 4 3」 が、 そして多値化結果値 Π 5 j に対しては閾値「2 5 5」が設定されている。 これは、 画素群階調値が「2 4 4」 から 「2 5 5」 の範囲にあれば多値化結果値が 「1 5」 になることを、 そして、 分類番号 1香の画素群については、 多値化結果値の最大値が Π 5」 であること を表している。 尚、 図 3 0では、 分類番号毎の閾値は、 それぞれ多値化結果値に対応させて設 定されているものとした。 しかし、 特に多値化結果値に対応付けることなく、 単 なる閾値の組を分類番号毎に記憶することとしてもよい。 この場合は、 画素群階 調値よりも小さな閾値の個数を数えることで、 多値化結果値を求めることができ る。 再び、 分類番号 1香の画素群を例に用いて説明する。 例えば、 画素群階調値 が 「2 0」 であったとする。 分類番号 1番に設定されている閾値の組の中で、 階 調値 2 0よりも小さな閾値は、 「2」、 Γ 1 5」、 Π 8」 の 3個である。 このこと から、 画素群階調値 2 0に対する多値化結果値は 「3」 であると求めることとし てもよい。 以上に説明した変形例の多値化結果値生成処理では、 画素群についての画素群 階調値と分類番号とを求めた後、 図 3 0に例示した閾値テーブルを参照すること によって、 多値化結果値を生成する。 閾値テーブルは、 前述した第 1実施例の多 値化結果生成処理中で参照する多値化テーブル (図 9参照) よりも少ないデータ 量で記憶しておくことができる。 このため、 変形例の多値化結果値生成処理は、 第 1実施例として示した処理に比べて、 メモリ使用量を節約することが可能であ る。 これに対して、 第 1実施例の多値化結果値生成処理は、 分類番号と画素群階 調値とから多値化テーブルを参照するだけで直ちに多値化結果値を求めることが できる。 すなわち、 変形例における処理のように画素群階調値と閾値とを比較す る必要がないので、 迅速に多値化することが可能である。
C - 1 0 - 2 . 第 2の変形例:
上述した第 1実施例のドッ卜形成有無決定処理では、 画素群の分類番号と多値 化結果値とを受け取ると、 これを、 画素群内に形成する各種ドットの個数を表す データに一旦変換した。 そして、 ドット形成の有無を判断するに際しては、 画素 群内の各画素についてドッ卜を形成するか否かをドッ卜の種類毎に決定した。 例 えば、 図 1 1に示したフローチャートでは、 初めに大ドットについてのドット形 成の有無を判断し、 次に中ドットのついての判断を行い、 最後に小ドットについ て判断するといつたように、 ドッ卜の種類毎にドッ卜形成有無を判断していた。 しかし、 ドット形成有無を判断する方法は、 こうした方法に限られるものではな い。 例えば、 画素群内から画素を 1つずつ選択して、 各画素について、 大中小の いずれのドッ卜が形成されるのか、 あるいはドッ卜が形成されないかを判断する こととしてもよい。 以下に説明する第 2の変形例の画像印刷処理では、 こうした 変形例のドッ卜形成有無決定処理を行う。 図 3 1は、 変形例のドッ卜形成有無決定処理の流れを示したフローチャートで ある。 以下、 フローチャートに従って、 変形例のドット形成有無決定処理につい て説明する。 変形例のドッ卜形成有無決定処理においても前述した第 1実施例における処理 と同様に、 処理を開始すると先ず初めに、 処理対象とする画素群を 1つ選択する (ステップ S 7 0 0 )。 次いで、 選択した画素群の多値化結果値を取得し (ステ ップ S 7 0 2 )、 画素分の分類番号と多値化結果値とに基づいて、 その画素群に 形成するドット個数を表すデータを取得する (ステップ S 7 0 4 )。 ドット個数 のデータは、 分類番号と多値化結果値との組合せから、 図 1 2に示した変換テー ブルを参照することによつて迅速に取得することができる。 変形例のドッ卜形成有無決定処理では、 こうして取得したドッ卜個数のデータ を一旦、 1 6ビッ卜長の中間データに変換する (ステップ S 7 0 6 )。 すなわち、 図 1 2の変換テーブルではデータ量を低減するために、 ドット個数のデータを 8 ビッド長のコードデータとして表したが、変形例のドッ卜形成有無決定処理では、 ドッ卜形成有無をより簡便に決定可能な形式で表現された中間データに一旦変換 しておくのである。 ここで、 中間.データのデータ長が 1 6ビットとなっているの は、 画素群内に含まれる画素数が 8個であり、 各画素についてのドット形成の有 無は 2ビットあれば表現可能であることによる。 換言すれば、 中間データは 2ビ ッ卜ずつを 1組として、 画素数に相当する 8組のデータを用いてドッ卜個数を表 すデータとなっている。 画素群に形成するドット個数をこのような形式で表現し ておけば、 後述するように画素との対応が取り易くなるため、 ドット形成有無を 簡便に決定することが可能となる。変形例のドッ卜形成有無決定処理においては、 ドッ卜個数を表すコードデータと中間データとの対応関係が予め記憶されてお り、 ステップ S 7 0 6の処理では、 かかる対応関係を参照することによって中間 データを取得する。 図 3 2は、 ドッ卜個数を表すコードデータと中間データとを対応付けた対応表 を示す説明図である。 前述したようにコードデータは、 各種ドットについての個 数の組合せに対応付けられているから (図 1 3参照)、 2ビットを 1組としてド ッ卜の種類を表し、 そのビッ卜の組をドッ卜の個数に相当する数だけ並べた表現 形式に変換すれば、 1 6ビットのデータを得ることができる。 1 6ビット長の中 間データは、 コードデータの表現形式をこの様にして変換して得られたデータと なっている。 例えば、 コードデータ Π」 は、 大ドット 0個、 中ドット 0個、 小ドット 1個 の組合せを示している。 尚、 参考として、 図 3 2の右側には、 それぞれのコード データが示すドット個数の組合せが示されている。 今、 小ドットを表す 2ビット データを Γ 0 1」 とすれば、 コードデータ Γ 1 J に対応する 1 6ビットデータは.. 「0 1」 が 1組だけ含まれており、 他の 7組の 2ビットデータは 「0 0」 である ようなデータとなる。 尚、 2ビットデータ 「0 0」 はドットを形成しないことを 表すデータである。 同様に、 コードデータ Γ 1 6 3」 は、 大ドット 7個、 中ドット 1個、 小ドット 0個の組合せを示している。 今、 大ドットを表す 2ビットデータを Γ 1 1」 とし て、 中ドッ卜を表す 2ビッ卜データを「1 0」 とすれば、 コードデータ 「1 6 3」 に対応する 1 6ビットデータは、 Γ 1 1」の 2ビットデータが 7組含まれており、 Π 0」 の 2ビットデータが 1組含まれたデータとなる。 尚、 これら 2ビッ卜データは、 大ドッ卜、 中ドッ卜、 小ドッ卜の順番で、 右詰 めで設定されている。 例えば、 ドット個数の組合せが、 大ドット 1個、 中ドット 2個、 小ドット 3個であったとすると、 8組の 2ビットデータの中で、 大ドット を表す 2ビットデ一夕 「1 1」 は右端に 1組だけ設定され、 その左隣に続けて、 中ドッ卜を表す 2ビッ卜データ Γ 1 0」が 2組設定され、更にその左隣に続けて、 小ドットを表す 2ビットデータ 「0 1」 が 3組設定され、 残った 2組には、 ドッ 卜を形成しないことを表す 2ビットデータ 「0 0」 が設定されることになる。 も つとも、これら 2ビッ卜データを左詰めで設定することとしても良い。すなわち、 大ドット、 中ドット、 小ドットの順番で左から順番に設定しても良い。 図 3 1に示した変形例のドッ卜形成有無決定処理の S 7 0 6では、 図 3 2に示 した対応関係を参照することによって、 ドット個数を表すデータを、 中間データ に変換する処理を行う。 尚、 以上の説明では、 図 1 2に示した変換テーブルを参 照することによって、 分類番号および画素群階調値の組合せを、 ドット個数を表 す 8ビッ卜のコードデータに一旦変換した後、 図 3 2に示した対応関係に基づい て、 コードデータを 1 6ビットの中間データに変換するものとした。 もっとも、 コードデータと中間データとは 1対 1に対応付けられていることから、 図 1 2に 示した変換テーブルに、 8ビットのコードデータではなく 1 6ビットの中間デー 夕を設定しておき、 画素群の分類番号および画素群階調値の組合せから、 直ちに 中間データを取得することも可能である。 このようにすれば、 変換テーブルのデ 一夕量は大きくなるものの、 迅速に中間データを得ることができる。 以上のようにして中間デー夕を取得したら、 画素群に対応する順序値マ卜リッ クスを読み込んだ後 (ステップ S 7 0 8 )、 画素群の中からドット形成有無を決 定しょうとする画素を 1つ選択して (ステップ S 7 1 0 )、 順序値マ卜リックス 中で選択した画素位置に設定されている順序値を取得する(ステップ S 7 1 2 )。 次いで、 先に取得しておいた中間データの中から、 順序値に対応する箇所に設 定されている 2ビッ卜データを読み出すことによって、 選択した画素についての ドット形成の有無を決定する (ステップ S 7 1 4 )。 図 3 3は、 中間データの中 から順序値に対応する箇所のデータを読み出すことにより、 ドッ卜形成の有無を 決定している様子を示した説明図である。 図 3 3 ( a ) は、 ある画素群に形成す るドッ卜個数のデータを変換して得られた中間データを例示したものである。 前 述したように中間データは、 1 6ビット長のデータであり、 2ビットずつ 8組の データから構成されている。 また、 図 3 3 ( a ) に示した中間データには、 大ド ッ卜を表す 2ビットデータ Π 1 J が 1組、 中ドットを表す 2ビットデータ Γ 1 0」 が 2組、 小ドットを表す 2ビットデータ 「0 1」 が 3組、 ドットを形成しな いことを表す 2ビットデータ 「0 0」 が 2組含まれており、 これら 2ビットデ一 夕が、 大ドット、 中ドット、 小ドットの順序で右詰めに設定されている。 今、 ドット形成有無を決定しょうとしている画素の順序値が 「3」 であったと する。 この場合は、 中間データの中で、 右から 3組目に設定されている 2ビット データを読み出せば、 順序値 3の画素に形成すべきドッ卜の種類を決定すること ができる。 図 3 3 ( b ) には、 中間データの右端から 3組目にある 2ビットデ一 タを読み出している様子が、 概念的に示されている。 図示した例では、 読み出し た 2ビットデータは 「1 0」 であるから、 この画素には中ドットを形成するもの と決定すればよい。 仮に、 順序値が 「1」 であれば、 中間データの右端に設定さ れている 2ビッ卜データを読み出して、 大ドッ卜を形成するものと決定すればよ い。 このように、 変形例のドット形成有無決定処理では、 中間データの中から、 順 序値に相当する箇所に設定されている 2ビッ卜データを読み出すという極めて簡 単な操作によって、 ドット形成の有無を決定することができる。 これは、 次の理 由によるものである。 先ず、 中間データには、 大ドット、 中ドット、 小ドットを 表す 2ピッ卜データが右詰めで設定されている。 一方、 図 2 1あるいは図 2 3に 示したように、ディザ法を用いて大中小各ドッ卜の形成有無を判断する処理では、 大ドッ卜、 中ドッ卜、 小ドッ卜の順番でドッ卜形成の有無を決定している。 従つ て、 中間データに設定されている 2ビッ卜データを右端から順番に読み出してい けば、 図 2 1あるいは図 2 3を用いて前述した手法を適用して各種ドットを形成 する画素位置を決定した順番と同じ順番で、 大ドット、 中ドット、 小ドットを表 す 2ビッ卜データの並びが得られることになる。 また、 図 2 1あるいは図 2 3を用いて前述した手法では、 ディザマトリックス に小さな閾値が設定されている画素から順番にドッ卜が形成されていく。 一方、 順序値マ卜リックスに設定されている順序値は、 ディザマ卜リックスに設定され ている閾値の小さい順番を表している。 従って、 順序値は、 図 2 1あるいは図 2 3を用いて前述した手法を用いてドッ卜形成の有無を判断したときに、 ドッ卜が 形成された順番と一致する。 このことから、 対象としている画素の順序値が分かれば、 図 2 1あるいは図 2 3の手法を適用したときに、 その画素が画素群中で何番目にドッ卜が形成された 画素であるかを知ることができ、 更に、 中間データを右端から数えて順序値組目 の 2ビッ卜データを読み出せば、 図 2 1あるいは図 2 3の手法を適用したときに 得られるドッ卜形成有無の判断結果を知ることができるのである。 尚、 以上では、 中間データの中で 2ビットデータを読み出す箇所を順序値に応 じて変更するものとして説明した。 しかし、 中間データの中で読み出す箇所を変 えるのではなく、 データを読み出す箇所は固定しておき、 中間データを順序値に 相当する組数だけシフトさせることとしても良い。 この様にしても、 ドット形成 の有無を決定することができる。 図 3 3 ( c ) は、 中間データをシフトさせるこ とによって、ドッ卜形成有無を決定している様子を概念的に示した説明図である。 図示した例では、中間データの右端にある 2ビッ卜データを読み出すこととして、 中間データを画素の順序値に応じた組数 (具体的には順序値から 1だけ少ない組 数) だけ右方向にシフトさせている。 図 3 3 ( b ) と図 3 3 ( c ) とを比較すれ ば明らかなように、 どちらの操作を行った場合でも、 結局は、 中間データの中の 同じ箇所に設定されている 2ビッ卜データを読み出していることになる。 データ を所定のビット数だけシフトさせる処理は、 比較的高速に実施可能であることか ら、 この様にして中間データをシフトさせれば、 順序値に応じた箇所の 2ビット データを迅速に読み出して、 着目している画素についてのドッ卜形成の有無を迅 速に決定することができる。 以上のようにして、 中間データの中から順序値に相当する箇所に設定されてい る 2ビッ卜データを読み出すことにより、 着目している画素についてのドッ卜形 成の有無を決定したら (図 3 1のステップ S 7 1 2 )、 処理対象としている画素 群内の全画素についてドッ卜形成の有無を決定したか否かを判断する (ステップ S 7 1 4 )。 そして、 画素群内に未だドッ卜形成の有無を決定していない画素が 残っている場合は (ステップ S 7 1 4 : η 0 )、 ステップ S 7 1 0に戻って新た な画素を 1つ選択し、選択した画素について上述した続く一連の処理を行った後、 再び画素群内の全画素についてドッ卜形成の有無を決定したか否かを判断する (ステップ S 7 1 6 )。 画素群内の全画素についてドッ卜形成の有無を決定する まで、 こうした操作を繰り返し、 全画素について決定したと判断されたら (ステ ップ S 7 1 6 : y e s )、 今度は画像中の全画素群について、 上述した処理を行 つてドット形成の有無を決定したか否かを判断する (ステップ S 7 1 8 )。 そし て、 未処理の画素群が残っていれば (ステップ S 7 1 8 : n 0 )、 ステップ S 7 0 0に戻って新たな画素群を選択し、その画素群について続く一連の処理を行う。 こうした操作を繰り返し、 最終的に全画素群についての処理を終了したと判断さ れたら (ステップ S 7 1 8 : y e s )、 図 3 1に示した変形例のドッ卜形成有無 決定処理を終了する。 以上に説明したように、 変形例のドッ卜形成有無決定処理では、 中間データの 中から順序値に応じた適切な箇所に設定されている 2ビッ卜データを読み出すだ けで、 簡便にドット形成の有無を決定することができる。 第 2の変形例の画像印 刷処理では、 このようにして迅速にドッ卜形成の有無を決定することができるの で、 それだけ迅速に画像を印刷することが可能となる。 D . 第 2実施例:
以上に説明した第 1実施例のドッ卜形成有無決定処理では、 画素群毎の多値化 結果値を受け取ると、図 1 2に示した変換テーブルを参照することによつて一旦、 ドット個数を表すデータに変換した後、 順序値マトリックスを参照しながら、 画 素群内でドットを形成する画素位置を決定した。 しかし、 画素群毎の多値化結果 値を受け取ると、 各種ドッ卜を形成する画素位置を直ちに決定することも可能で ある。 以下では、 こうした第 2実施例のドット形成有無決定処理について説明す る。 D— 1 . 第 2実施例のドッ卜形成有無決定処理の原理:
図 2 7に示したように、 第 1実施例のドッ卜形成有無決定処理においては、 画 素群毎に多値化結果値を受け取ると、 画素群の分類番号を求めた後、 多値化結果 値と分類番号との組合せから、 画素群内に形成される各種ドッ卜の個数を決定し た。 そして、 これらドットを形成する画素位置については、 分類番号に対応した 順序値マトリックスを参照することによって決定していた。 すなわち、 画素群の 多値化結果値および分類番号が決まれば、 画素群内の各画素に形成されるドッ卜 の種類を決定することができる。 従って、 予め、 多値化結果値と分類番号との組 合せ毎に、 画素群内の各画素に形成されるドッ卜の種類を求めて対応表に記憶し ておげば、 かかる対応表を参照するだけで、 直ちにドット形成有無を決定するこ とができるはずである。 第 2実施例のドット形成有無決定処理は、 このような考 え方に基づいて、 画素群の多値化結果値から、 各画素についてのドット形成の有 無を迅速に決定することが可能となっている。 図 3 4は、 第 2実施例のドッ卜形成有無決定処理で参照される変換テーブルを 概念的に示した説明図である。 図示されているように、 第 2実施例の変換テープ ルには、 多値化結果値と分類番号との組合せに対応付けて、 画素群内の各画素に 形成されるドット種類を表すデータが設定されている。 以下では、 このようなデ 一夕をドッ卜データと呼ぶことにする。 図 3 4に示した変換テーブルを参照すれ ば、 画素群の分類番号と画素群階調値との組合せから、 対応するドットデータを 直ちに読み出すことができる。例えば、分類番号 i番、画素群階調値 jであれば、 ドットデータは D D ( i , j ) となる。 こうして読み出されたドットデータには、 画素群内の各画素についてドッ卜形成の有無が記述されている。 図 3 5は、 第 2実施例の変換テーブルに設定されているドッ卜データのデータ 構造を示した説明図である。 図 3 5 ( a ) に示すように、 ドットデータは 2ビッ 卜ずつのデータ 8組から構成された 1 6ビッ卜長のデータとなっている。ここで、 1つのドッ卜データが 8組のデ一夕から構成されているのは、 本実施例の画像印 刷処理では、 1つの画素群には 8つの画素が含まれていることに対応するもので ある。 従って、 例えば、 1つの画素群が 4つの画素から構成される場合は、 1つ のドットデータは 4組のデータから構成されることになる。 また、 1組のデータ が 2ビッ卜となっているのは、 本実施例のカラープリンタ 2 0 0が 1つの画素あ たり、 Γ大ドットを形成」、 「中ドットを形成」、 「小ドットを形成」、 「ドットを形 成しない」 の 4つの状態を表現し得ることに対応したものである。 すなわち、 1 つの画素あたり 4つの状態しか取り得ないのであれば、 2ビッ卜で表現可能であ る。 そこで、 画素 1つ分に対応する 1組のデータを、 2ビットのデータ長として いるのである。 図 3 5に示すように、 ドットデータを構成する 8組のデータは、 それぞれ画素 群内の所定位置の画素に対応付けられている。 例えば、 図 3 5 ( a ) に示したド ッ卜データの先頭にある 1組目のデータは、 図 3 5 ( b ) に示すように、 画素群 内で左上隅の画素に対応している。 また、 ドットデータの先頭から 2組目のデー 夕は、 画素群内で上段の左から 2番目の画素に対応している。 このように、 ドッ 卜データを構成する 8組のデータは、 それぞれ画素群内の所定位置の画素に予め 対応付けられている。 そして、 各組のデータの内容は、 対応する画素に形成するドットの種類を表し ている。
すなわち、 2ビッ卜のデータ「1 1」は大ドッ卜を形成することを意味している。 2ビッ卜のデータ 「 1 0」 は中ドッ卜を形成することを意味しており、 「0 1 J は小ドットを形成することを、 そして 「0 0」 はドットを形成しないことを意味 している。 以上の説明から分かるように、 図 3 5 ( a ) に例示したドットデータ は、 画素群の左上隅の画素には大ドッ卜を形成し、 上段の左から 3番目の画素に は中ドットを、 下段の左から 2番目の画素には小ドットを、 画素群の右下隅の画 素には中ドットを形成し、 そして、 その他の画素にはドットを形成しないことを 表すデータとなっている。 このような変換テーブルを参照すれば、 画素群の分類番号と多値化結果値とに 基づいて、 各画素についてのドッ卜形成の有無を速やかに決定することが可能で ある。 D— 2 . 第 2実施例のドッ卜形成有無決定処理:
次に、 第 2実施例のドット形成有無決定処理において、 多値化結果値から画素 群内の各画素についてドッ卜形成の有無を決定する具体的な処理について説明す る。 図 3 6は、 第 2実施例のドット形成有無決定処理の流れを示すフローチャート である。 以下、 フローチャートに従って簡単に説明する。 第 2実施例のドット形 成有無決定処理を開始すると、 処理対象とする画素群を 1つ選択する (ステップ S 8 0 0 ) o 次いで、 選択した画素群の多値化結果値を取得する (ステップ S 8 0 2 )。 このとき、 画素群の分類番号が与えられていなければ、 分類番号も算出 しておく。 そして、 分類番号および多値化結果値の組合せに基づいて、 図 3 4に 示した変換テーブルを参照することにより、 画素群内の各画素についてドッ卜形 成の有無を表したドットデータを読み出してやる (ステップ S 8 0 4 )。 第 2実 施例のドッ卜形成有無決定処理では、 こうして変換テーブルから対応する位置に 記憶されているドッ卜データを読み出すだけで、 画素群内の各画素についてドッ 卜形成の有無を決定することができる。 次いで、 全画素群についてドット形成の有無を決定したか否かを判断し (ステ ップ S 8 0 6 )、 未処理の画素群が残っていれば (ステップ S 8 0 6 : n o )、 ステップ S 8 0 0に戻って新たな画素群を選択し、 その画素群について続く一連 の処理を行う。 こうした操作を繰り返して、 全画素群について処理を終了したと 判断されたら (ステップ S 8 0 6 : y e s )、 図 3 6に示す第 2実施例のドット 形成有無決定処理を終了する。 以上に説明したように、 第 2実施例のドッ卜形成有無決定処理では、 変換テー ブルを 1階参照するだけで、 多値化結果値から画素群内の各画素についてのドッ 卜形成有無を直ちに決定することができる。 従って、 図 1 1に示した第 1実施例 のドッ卜形成有無決定処理に対しても、 よリー層迅速にドッ卜形成の有無を決定 することができ、 延いては、 極めて迅速に画像を出力することが可能となる。 以上、 各種の実施例について説明してきたが、 本発明は上記すベての実施例に 限られるものではなく、 その要旨を逸脱しない範囲において種々の態様で実施す ることができる。 例えば、 以上の実施例では、 印刷用紙上にドットを形成して画 像を印刷する場合について説明したが、 本発明の適用範囲は画像を印刷する場合 に限られるものではない。 例えば、 液晶表示画面上で輝点を適切な密度で分散さ せることにより、階調が連続的に変化する画像を表現する液晶表示装置などにも、 本発明を好適に適用することができる。

Claims

請求の範囲
1 . 所定階調数で表現された画像を表わす画像データを処理し、 画像を構成 する各画素については、 前記所定階調数より少ない階調数での多値化を行なう画 像処理装置であって、
複数個の画素がまとめられた画素群を代表する階調値である画素群階調値と、 該画素群を構成する各画素についての前記多値化の結果を表わす多値化結果値と の対応関係を予め準備する対応関係準備手段と、
前記画像を表わす画像データから前記画素群に相当する画素のまとまりを取り 出し、 該取り出された画素のまとまりである画素群毎に、 前記画素群階調値を決 定する画素群階調値決定手段と、
前記対応関係を参照することにより、 前記画素群階調値に基づき、 前記画像を 構成する各画素群についての多値化結果値を取得する多値化手段と、
前記画素群毎に得られた多値化結果値から、 前記画像を形成するための制御デ —夕を生成して出力する制御データ出力手段と
を える。
2 . 請求項 1記載の画像処理装置であつて、
前記対応関係準備手段は、 前記対応関係を複数種類用意すると共に、 該複数種 類の対応関係に分類番号を付与し、
前記多値化手段は、 前記画素群毎に付与された分類番号を取得して、 該分類番 号毎に準備された前記対応関係を参照することにより、 前記多値化結果値を取得 する。
3 . 請求項 2記載の画像処理装置であつて、
前記画素群を前記画像中での位置に応じて複数種類に分類することにより、 該 各々の画素群に前記分類番号を付与する分類番号付与手段を備える。
4 . 請求項 2記載の画像処理装置であつて、
前記対応関係準備手段は、 前記画素群毎の多値化結果値を、 前記分類番号に応 じて定められた個数だけ準備しており、
前記多値化手段は、 該準備されている対応関係を参照することにより、 前記画 素群階調値に基づいて、 前記準備された個数の前記多値化結果値の中から一つの 多値化結果値を取得する。
5 . 前記対応関係記憶手段は、 前記階調値の範囲とその範囲で形成されるド ッ卜の種類および位置の情報とを対応付けて記憶している請求項 2記載の画像処 理装置。
6 . 請求項 2記載の画像処理装置であつて、
前記対応関係準備手段は、 一つの分類番号毎に、 前記画素群内にドットが形成 される順序を知ることができるデータを記憶しており、
前記多値化手段は、 前記多値化結果値として、 当該画素群内に形成されるドッ 卜の個数を取得し、
前記制御データ出力手段は、 多値化手段が取得した前記ドッ卜の個数と前記順 序を知ることができるデータとから、 当該画素群内のどの画素にドッ卜を形成す るかを定めたることが可能なデータとして、 前記制御データを出力する。
7 . 請求項 6記載の画像処理装置であって、
前記対応関係準備手段は、 前記対応関係として、 多値化の結果が切り替わる階 調値のデータと、 各階調値において当該画素群に形成されるべきドッ卜の個数と を対応付けて記憶している。
8 . 前記ドットが形成される順序を知ることができるデータは、 ドットの形 成順序を記述した順序値である請求項 6記載の画像処理装置。
9 . 請求項 6ないし請求項 8のいずれか記載の画像処理装置であって、 前記多値化手段は、 最終的に形成される L種類のドット (Lは、 1以上の自然 数) について、 各種類のドットの形成個数を、 前記多値化結果値として取得し、 前記制御データ出力手段は、 前記し種類のドッ卜のうち単位面積当たりの濃度 が高い種類のドットから、 前記順序に従って、 ドットが形成されるものとして前 記制御データを出力する。
1 0 . 請求項 2記載の画像処理装置であって、
前記対応関係準備手段は、
前記画素群として、 方形の区域に含まれる横 P個 X縦 Q個 (P、 Qは、 2以 上の自然数)の画素から構成された画素群を想定し、横 M個 X縦 N個(M、 Nは、 8以上の自然数) のマトリクスにドッ卜形成の判断基準となる階調の閾値を分散 して記憶した大域的ディザマトリクスを、 前記画素群に対応した複数の前記方形 の領域に分割し、 該分割された各領域に含まれる P X Q個の閾値を取りだしたも の毎に前記一つの分類番号 Sを付与して管理する分類番号管理手段と、
該分類番号 Sを付与された各領域毎に、 最終的に形成される L種類のドッ卜の 記録率に換算された階調値を当て嵌めて、 各階調値でいずれの位置の画素にいず れの種類のドッ卜が形成されるか否かの情報を生成し、 該ドッ卜形成の位置と階 調値との対応関係を前記分類番号 S毎に記憶する対応関係記憶手段と
を備える。
1 1 . 請求項 2ないし請求項 1 0のいずれかに記載の画像処理装置であって、 前記対応関係準備手段は、 少なくとも' 1 0 0個以上の前記分類番号毎に前記画 素群階調値と前記多値化結果値とが対応付けられた前記対応関係を準備してい る。
1 2 . 前記対応関係に設定されている分類番号の個数と前記画素群 1つあた りに含まれる画素数との乗算値が、 少なくとも〗 0 0 0以上である請求項 2ない し請求項 1 0のいずれかに記載の画像処理装置
1 3 . 前記多値化手段は、 最終的に形成されるし種類のドット (Lは、 1以 上の自然数) の各々について、 前記画素群内の各位置に該ドットを形成するか否 かの情報として、 前記多値化結果値を取得する請求項 1記載の画像処理装置。
1 4 . 前記画素群は、 2画素 X 2画素または 2画素 X 4画素からなる請求項 1記載の画像処理装置。
1 5 . 所定階調数で表現された画像を表わす画像データを処理し、 画像を構 成する各画素については、 前記所定階調数より少ない階調数での多値化を行なう 画像処理方法であって、
複数個の画素がまとめられた画素群を代表する階調値である画素群階調値と、 該画素群を構成する各画素についての前記多値化の結果を表わす多値化結果値と の対応関係を予め準備し、
前記画像を表わす画像データから前記画素群に相当する画素のまとまりを取り 出し、 該取り出された画素のまとまりである画素群毎に、 前記画素群階調値を決 定し、
前記対応関係を参照することにより、 前記画素群階調値に基づき、 前記画像を 構成する各画素群についての多値化結果値を取得し、
前記画素群毎に得られた多値化結果値から、 前記画像を形成するための制御デ
—夕を生成して出力する。
1 6 . 所定階調数で表現された画像を表わす画像データを処理し、 画像を構 成する各画素については、 前記所定階調数より少ない階調数での多値化を行なう 画像処理を、 コンピュータによる実現するプログラムプロダクトであり、 前記処理を実現するプログラムコードと該プログラムコードを記録した媒体と を備え、 該プログラムコードは、 複数個の画素がまとめられた画素群を代表する階調値である画素群階調値と、 該画素群を構成する各画素についての前記多値化の結果を表わす多値化結果値と の対応関係を予め準備する第 1のプログラムコードと、
前記画像を表わす画像データから前記画素群に相当する画素のまとまりを取り 出し、 該取り出された画素のまとまりである画素群毎に、 前記画素群階調値を決 定する第 2のプログラムコードと、
前記対応関係を参照することにより、 前記画素群階調値に基づき、 前記画像を 構成する各画素群についての多値化結果値を取得する第 3のプログラムコード と、
前記画素群毎に得られた多値化結果値を、 前記画像を形成するための制御デー 夕を生成して出力する第 4のプログラムコードと
を備える。
1 7 . 画像処理装置とこれに接続された印刷装置とからなる画像形成装置で あって、
前記画像処理装置は、 所定階調数で表現された画像を表わす画像データを処理 し、 画像を構成する各画素については、 前記所定階調数より少ない階調数での多 値化を行なう装置であって、 当該画像処理装置は、
複数個の画素がまとめられた画素群を代表する階調値である画素群階調値 と、 該画素群を構成する各画素についての前記多値化の結果を表わす多値化結果 値との対応関係を予め準備する対応関係準備手段と、
前記画像を表わす画像データから前記画素群に相当する画素のまとまりを取 リ出し、 該取り出された画素のまとまりである画素群毎に、 前記画素群階調値を 決定する画素群階調値決定手段と、
前記対応関係を参照することにより、 前記画素群階調値に基づき、 前記画像 を構成する各画素群についての多値化結果値を取得する多値化手段と、
前記画素群毎に得られた多値化結果値を、 前記画像を形成するための制御デ 一夕を生成して出力する制御データ出力手段と を備え、
前記印刷装置は、
前記少ない階調数に対応した種類のドッ卜を印刷媒体上に形成する印刷メカ ニズ厶と、
前記画像処理装置が出力する前記制御データを受け取る制御データ受取手段 と、
該受け取った制御データに従って、 各画素群の位置と該画素群内のドッ卜形 成の位置を演算する画素位置演算手段と、
該演算した印刷媒体上の当該位置に、 前記印刷メカニズムを用いて前記ドッ 卜を形成するドッ卜形成制御手段と
を備える。
PCT/JP2005/008273 2004-04-22 2005-04-22 複数画素ずつ多値化を行う画像処理装置 WO2005104525A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP05736571A EP1744539A4 (en) 2004-04-22 2005-04-22 IMAGE PROCESSOR FOR IMPROVED IMPLEMENTATION IN UNITS OF PIXELS
JP2006512662A JP4375398B2 (ja) 2004-04-22 2005-04-22 複数画素ずつ多値化を行う画像処理装置
US11/585,014 US20070035772A1 (en) 2004-04-22 2006-10-23 Image processing apparatus for carrying out multi-value quantization in multiple-pixel units

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-126971 2004-04-22
JP2004126971 2004-04-22

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/585,014 Continuation US20070035772A1 (en) 2004-04-22 2006-10-23 Image processing apparatus for carrying out multi-value quantization in multiple-pixel units

Publications (1)

Publication Number Publication Date
WO2005104525A1 true WO2005104525A1 (ja) 2005-11-03

Family

ID=35197354

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/008273 WO2005104525A1 (ja) 2004-04-22 2005-04-22 複数画素ずつ多値化を行う画像処理装置

Country Status (5)

Country Link
US (1) US20070035772A1 (ja)
EP (1) EP1744539A4 (ja)
JP (1) JP4375398B2 (ja)
CN (1) CN1947409A (ja)
WO (1) WO2005104525A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007142848A (ja) * 2005-11-18 2007-06-07 Seiko Epson Corp ディザマトリックスを用いたハーフトーン処理
US7924464B2 (en) 2005-11-18 2011-04-12 Seiko Epson Corporation High-image-quality halftone process
US8023151B2 (en) 2005-11-18 2011-09-20 Seiko Epson Corporation High-image-quality halftone process

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4241823B2 (ja) * 2004-05-19 2009-03-18 セイコーエプソン株式会社 ドットデータ処理装置、画像出力システムおよびそれらの方法
US8270498B2 (en) * 2009-03-26 2012-09-18 Apple Inc. Dynamic dithering for video compression
US20110135011A1 (en) 2009-12-04 2011-06-09 Apple Inc. Adaptive dithering during image processing
KR102537608B1 (ko) * 2016-01-28 2023-05-30 삼성디스플레이 주식회사 표시 장치 및 그의 영상 표시 방법
JP2018121277A (ja) 2017-01-27 2018-08-02 セイコーエプソン株式会社 画像形成システム、画像形成装置、画像形成方法、プログラム
CN111950510B (zh) * 2020-08-26 2023-10-03 上海申瑞继保电气有限公司 高压开关分合指示牌图像识别方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62176371A (ja) * 1986-01-30 1987-08-03 Toshiba Corp デイザ中間調伝送方式
JPH0865511A (ja) * 1994-08-22 1996-03-08 Murata Mach Ltd 中間調画像データの伝送方法
JPH08116440A (ja) * 1994-10-17 1996-05-07 Fuji Xerox Co Ltd 階調画像2値化装置
JP2002185789A (ja) * 2000-10-06 2002-06-28 Seiko Epson Corp 画像処理装置、印刷制御装置、画像処理方法、および記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4266249A (en) * 1978-09-19 1981-05-05 Bell Telephone Laboratories, Incorporated Digital encoder for facsimile transmission
US6191868B1 (en) * 1997-09-08 2001-02-20 Hitachi, Ltd. Distributed PWM halftoning unit and printer
US5966467A (en) * 1997-09-12 1999-10-12 Xerox Corporation System for compressing and decompressing binary representations of dithered images
JP2000008913A (ja) * 1998-06-18 2000-01-11 Yanmar Diesel Engine Co Ltd 火花点火機関の可変混合気濃度分布制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62176371A (ja) * 1986-01-30 1987-08-03 Toshiba Corp デイザ中間調伝送方式
JPH0865511A (ja) * 1994-08-22 1996-03-08 Murata Mach Ltd 中間調画像データの伝送方法
JPH08116440A (ja) * 1994-10-17 1996-05-07 Fuji Xerox Co Ltd 階調画像2値化装置
JP2002185789A (ja) * 2000-10-06 2002-06-28 Seiko Epson Corp 画像処理装置、印刷制御装置、画像処理方法、および記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1744539A4 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007142848A (ja) * 2005-11-18 2007-06-07 Seiko Epson Corp ディザマトリックスを用いたハーフトーン処理
JP4534963B2 (ja) * 2005-11-18 2010-09-01 セイコーエプソン株式会社 画像形成方法、画像形成装置、画像形成システム、印刷方法、印刷物の生成方法および画像形成装置を制御するためのコンピュータプログラム
US7924464B2 (en) 2005-11-18 2011-04-12 Seiko Epson Corporation High-image-quality halftone process
US7957031B2 (en) 2005-11-18 2011-06-07 Seiko Epson Corporation High-image-quality halftone process
US8023151B2 (en) 2005-11-18 2011-09-20 Seiko Epson Corporation High-image-quality halftone process

Also Published As

Publication number Publication date
JPWO2005104525A1 (ja) 2008-03-13
CN1947409A (zh) 2007-04-11
US20070035772A1 (en) 2007-02-15
EP1744539A1 (en) 2007-01-17
JP4375398B2 (ja) 2009-12-02
EP1744539A4 (en) 2008-06-25

Similar Documents

Publication Publication Date Title
JP4375235B2 (ja) 複数画素ずつコード化しながら画像を出力する画像出力システム
JP4534963B2 (ja) 画像形成方法、画像形成装置、画像形成システム、印刷方法、印刷物の生成方法および画像形成装置を制御するためのコンピュータプログラム
WO2005104525A1 (ja) 複数画素ずつ多値化を行う画像処理装置
US7580156B2 (en) Image processing system, image processing device, dot data processing device, and method and program product therefor
JP4506652B2 (ja) 高画質ハーフトーン処理
JP4241823B2 (ja) ドットデータ処理装置、画像出力システムおよびそれらの方法
WO2005076592A1 (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム
JP4534964B2 (ja) 画像形成方法、画像形成装置、画像形成システム、印刷物の生成方法および画像形成装置を制御するためのコンピュータプログラム
US7796303B2 (en) Image processing system, image processing device, dot data processing device, and method and program product therefor
JP4297033B2 (ja) 複数画素ずつ多値化を行う画像処理装置
JP2004350257A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム
JP4375050B2 (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム
JP4225319B2 (ja) 画像出力制御システム、画像処理装置およびその方法
JP4297006B2 (ja) 複数画素ずつ多値化を行いながら画像を出力する画像出力システム
JP4375071B2 (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム
JP4274030B2 (ja) 画像出力システム、画像処理装置、画像出力装置およびそれらの方法
JP2006229810A (ja) 複数画素ずつコード化しながら画像を出力する画像出力システム
JP2005224983A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム
JP4059121B2 (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム
JP2006191268A (ja) 複数画素ずつ画像処理を行いながら画像を出力する画像出力装置
JP2007245347A (ja) 高画質ハーフトーン処理
WO2004086750A1 (ja) 画像出力制御システム、画像出力装置および画像処理装置
JP2005007801A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム
JP2005039491A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム

Legal Events

Date Code Title Description
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): 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: 2006512662

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200580012398.X

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 11585014

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2005736571

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 2005736571

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11585014

Country of ref document: US