JP2007136845A - Printing system, image processor, printer driver, and program - Google Patents

Printing system, image processor, printer driver, and program Download PDF

Info

Publication number
JP2007136845A
JP2007136845A JP2005333761A JP2005333761A JP2007136845A JP 2007136845 A JP2007136845 A JP 2007136845A JP 2005333761 A JP2005333761 A JP 2005333761A JP 2005333761 A JP2005333761 A JP 2005333761A JP 2007136845 A JP2007136845 A JP 2007136845A
Authority
JP
Japan
Prior art keywords
processing
printing
color
image data
halftone
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2005333761A
Other languages
Japanese (ja)
Inventor
Akihisa Ando
晃久 安藤
Masaki Hyogo
正樹 兵庫
Yutaka Hisamatsu
豊 久松
Hiroshi Wanibuchi
博 鰐渕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Corp filed Critical Seiko Epson Corp
Priority to JP2005333761A priority Critical patent/JP2007136845A/en
Publication of JP2007136845A publication Critical patent/JP2007136845A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a printing system or the like that eliminates color unevenness due to a difference in overlapping order of coloring agents in reciprocation printing without reducing printing speed. <P>SOLUTION: A printing system is provided with a color processing LUT composed of color processing LUTs 33a, 33b, which are for deciding a blend ratio of the coloring agents of multiple colors, and an interpolation calculation module 27, which executes interpolation calculation processing for estimating a value not existing on the color processing LUT, so as to execute color matching processing S02 corresponding to the coloring agents of multiple colors to image data by using the color processing LUT and the interpolation calculation module. The color processing LUT is composed of two color processing LUTs respectively for forward printing and backward printing. Color conversion processing is executed by referring to the color processing LUT for the forward printing and that of for the backward printing respectively after decomposing the image data into forward image-data for the forward printing and backward image-data for the backward printing in the color matching processing. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

印刷対象となる画像データを記憶または生成するホストコンピュータと、当該ホストコンピュータからの指示に基づき、複数色の着色剤を用いて往復印刷を行うプリンタと、から成る印刷システム、画像処理装置、プリンタドライバ、プログラムに関する。   Printing system, image processing apparatus, and printer driver comprising a host computer that stores or generates image data to be printed and a printer that performs reciprocal printing using a plurality of colorants based on instructions from the host computer , Related to the program.

従来、主走査方向における印刷ヘッドの動作と副走査方向における紙送り動作とが同期して印刷を行うプリンタにおいて、印刷速度向上のため、印刷ヘッドの往路および復路の双方で印刷を行う往復印刷(双方向印刷)が知られている。この往復印刷は、近年広く普及しているインクジェットプリンタにおいても多く採用されている技術である。しかしながら、インクジェットプリンタの印刷ヘッドは、一般にK(ブラック)、M(マゼンタ)、Y(イエロー)、C(シアン)の各色に対応したノズル列が主走査方向に配列されている(各ノズル列は副走査方向に沿って印刷ヘッド上に搭載されている)ため、カラー画像を印刷すると、往路と復路とのインクの重なり順の違いによって色むらが発生するといった問題があった。そこで、画像データの中から無彩色成分を形成する色調のインクのドット数を算出し、色むらが生じにくいと判断した場合は往復印刷を行い、逆に色むらが生じやすいと判断した場合は一方向印刷を行うといった解決策が提案されている(例えば、特許文献1参照)。
特開2003−305838号公報
Conventionally, in a printer that performs printing in synchronization with the operation of the print head in the main scanning direction and the paper feeding operation in the sub-scanning direction, reciprocal printing that performs printing in both the forward and backward paths of the print head in order to improve the printing speed Bidirectional printing) is known. This reciprocating printing is a technology that is widely used in ink jet printers that are widely used in recent years. However, the print head of an inkjet printer generally has nozzle rows corresponding to each color of K (black), M (magenta), Y (yellow), and C (cyan) arranged in the main scanning direction (each nozzle row is Therefore, when a color image is printed, there is a problem that uneven color occurs due to a difference in the overlapping order of ink in the forward path and the backward path. Therefore, if the number of ink dots of the color tone that forms the achromatic color component is calculated from the image data and it is determined that color unevenness is unlikely to occur, reciprocal printing is performed, and conversely if color unevenness is likely to occur, A solution for performing unidirectional printing has been proposed (see, for example, Patent Document 1).
JP 2003-305838 A

ところが、上記の方法では、色むらが生じやすいか否かの判断処理が必要となると共に、その判断結果によっては一方向印刷を行うため、画像データの色調によってはスループットが大幅に低下するといった問題がある。つまり、印刷速度向上のために往復印刷を採用しているにも拘わらず、それを有効利用できないといった矛盾が生じていた。   However, in the above method, it is necessary to determine whether or not color unevenness is likely to occur, and depending on the determination result, unidirectional printing is performed, so that the throughput is significantly reduced depending on the color tone of the image data. There is. In other words, there is a contradiction that despite the use of reciprocating printing to improve printing speed, it cannot be used effectively.

本発明は、このような問題点に鑑み、印刷速度を低下させることなく、往復印刷における着色剤の重なり順の違いによる色むらを解消し、更なる画質の向上に貢献し得る印刷システム、画像処理装置、プリンタドライバ、プログラムを提供することを目的とする。   In view of such problems, the present invention eliminates color unevenness due to the difference in the order of colorant overlap in reciprocating printing without reducing the printing speed, and can contribute to further improvement in image quality. It is an object to provide a processing device, a printer driver, and a program.

本発明の印刷システムは、印刷対象となる画像データを記憶または生成するホストコンピュータと、当該ホストコンピュータからの指示に基づき、複数色の着色剤を用いて往復印刷を行うプリンタと、から成る印刷システムであって、複数色の着色剤の混合比率を決定するための色処理テーブルと、色処理テーブル上に存在しない値を推定するための補間演算処理を行う補間演算モジュールと、画像データに対し、色処理テーブルおよび補間演算モジュールを用いて、複数色の着色剤に応じた色変換処理を行う色変換処理手段と、色変換処理後のデータに基づいて、プリンタにより往復印刷を行う印刷手段と、を備え、色処理テーブルは、往路印刷用と復路印刷用との2つの色処理テーブルから成り、色変換処理手段は、画像データを、往路印刷用の往路画像データと復路印刷用の復路画像データとに分解し、それぞれ往路印刷用と復路印刷用との色処理テーブルを参照して、色変換処理を行うことを特徴とする。   A printing system according to the present invention includes a host computer that stores or generates image data to be printed, and a printer that performs reciprocal printing using a plurality of colorants based on instructions from the host computer. A color processing table for determining a mixing ratio of a plurality of colorants, an interpolation calculation module for performing an interpolation calculation process for estimating a value that does not exist on the color processing table, and image data, A color conversion processing unit that performs color conversion processing according to a plurality of colorants using a color processing table and an interpolation calculation module; a printing unit that performs reciprocal printing by a printer based on the data after the color conversion processing; The color processing table is composed of two color processing tables for forward printing and for backward printing, and the color conversion processing means Decomposed into return image data of the forward image data and backward printing for printing, respectively with reference to the color processing table and for forward printing and backward printing, and performs the color conversion process.

この構成によれば、画像データを、往路印刷用の往路画像データと復路印刷用の復路画像データに分解し、それぞれ往路印刷用と復路印刷用の色処理テーブルを参照して、色変換処理を行うため、実験値に基づいて色むらを解消できるように各色処理テーブルを設計することにより、往復印刷における画質の低下を防止することができる。また、色処理テーブル上に存在しない値は、補間演算モジュールの補間演算処理によって推定するため、色処理テーブル上に記載すべきデータ量を少なくすることができる。なお、色処理テーブル、補間演算モジュールおよび色変換処理手段は、ホストコンピュータまたはプリンタのいずれに搭載しても良い。   According to this configuration, the image data is separated into forward image data for forward printing and backward image data for backward printing, and color conversion processing is performed with reference to the color processing tables for forward printing and backward printing, respectively. Therefore, by designing each color processing table so as to eliminate the color unevenness based on the experimental value, it is possible to prevent the image quality from being deteriorated in the reciprocating printing. In addition, since values that do not exist on the color processing table are estimated by the interpolation calculation processing of the interpolation calculation module, the amount of data to be described on the color processing table can be reduced. Note that the color processing table, the interpolation calculation module, and the color conversion processing means may be mounted on either the host computer or the printer.

上記に記載の印刷システムにおいて、色変換処理手段は、往路画像データまたは復路画像データの画素毎に、加色混合の割合を決定する加色混合割合決定手段と、決定した加色混合の割合に対応する減色混合の値が、それぞれ往路印刷用または復路印刷用の色処理テーブル上に存在するか否かを判別する色処理テーブル判別手段と、色処理テーブル上に減色混合の割合が存在する場合、当該値を減色混合の割合として決定すると共に、色処理テーブル上に減色混合の割合が存在しない場合、補間演算モジュールを用いて補間演算処理を行うことにより減色混合の割合を決定する減色混合割合決定手段と、を有することが好ましい。   In the printing system described above, the color conversion processing means includes an additive color mixture ratio determining means for determining the additive color mixture ratio for each pixel of the forward pass image data or the return pass image data, and the determined additive color mixture ratio. Color processing table discrimination means for discriminating whether or not the corresponding subtractive color mixing value exists on the color processing table for forward pass printing or return pass printing, and the ratio of subtractive color mixing exists on the color processing table The color reduction mixing ratio that determines the ratio of color reduction mixing by performing interpolation calculation processing using an interpolation calculation module when the value is determined as the ratio of color reduction mixing and there is no ratio of color reduction mixing on the color processing table. And determining means.

この構成によれば、色処理テーブル上に減色混合の割合が存在しない場合のみ、補間演算モジュールを用いた補間演算処理を行うため、色処理テーブルを記憶するメモリ容量と、補間演算処理を制御する制御能力との兼ね合いによって、色処理テーブルのデータ量を決定することができる。すなわち、メモリ容量に制限がない場合は、色処理テーブルのデータ量を大きくすることによって制御負荷を軽減することができ、高性能なCPUを用いる場合は、色処理テーブルのデータ量を小さくすることができる。   According to this configuration, since the interpolation calculation process using the interpolation calculation module is performed only when the ratio of the subtractive color mixture does not exist on the color processing table, the memory capacity for storing the color processing table and the interpolation calculation process are controlled. The data amount of the color processing table can be determined according to the balance with the control capability. That is, when there is no limit on the memory capacity, the control load can be reduced by increasing the data amount of the color processing table. When a high-performance CPU is used, the data amount of the color processing table can be reduced. Can do.

上記に記載の印刷システムにおいて、補間演算モジュールは、立方体補間、三角柱補間、四面体補間および六面体補間のうち、いずれかの補間法を用いて、補間演算処理を行うことが好ましい。   In the printing system described above, it is preferable that the interpolation calculation module performs the interpolation calculation process by using any one of cubic interpolation, triangular prism interpolation, tetrahedral interpolation, and hexahedral interpolation.

この構成によれば、立方体補間、三角柱補間、四面体補間または六面体補間のといった補間法により、高精度な色変換処理を行うことができる。   According to this configuration, highly accurate color conversion processing can be performed by an interpolation method such as cubic interpolation, triangular prism interpolation, tetrahedral interpolation, or hexahedral interpolation.

上記に記載の印刷システムにおいて、色変換処理手段による色変換処理後の往路画像データおよび復路画像データに対し、それぞれハーフトーン処理を行う第1ハーフトーン処理手段と、第1ハーフトーン処理手段による処理に先行して、誤差計算用のハーフトーン処理を行う第2ハーフトーン処理手段と、第2ハーフトーン処理手段による往路画像データの処理によって発生した先行誤差値に続き、当該往路画像データの第1ハーフトーン処理手段によって発生した誤差値を記憶する往路用誤差バッファと、第2ハーフトーン処理手段による復路画像データの処理によって発生した先行誤差値に続き、当該復路画像データの第1ハーフトーン処理手段によって発生した誤差値を記憶する復路用誤差バッファと、第1ハーフトーン処理手段による往路画像データの処理結果を記憶する往路用データバッファと、第1ハーフトーン処理手段による復路画像データの処理結果を記憶する復路用データバッファと、往路用データバッファおよび復路用データバッファに記憶されている処理結果を、印刷手段による印刷用のデータとして交互に切り替えて出力するデータ出力手段と、を備え、第1ハーフトーン処理手段は、往路用誤差バッファおよび復路用誤差バッファに記憶されている先行誤差値を用いて、それぞれ往路画像データおよび復路画像データのハーフトーン処理を開始することが好ましい。   In the printing system described above, the first halftone processing unit that performs halftone processing on the forward image data and the backward image data after the color conversion processing by the color conversion processing unit, and the processing by the first halftone processing unit, respectively. Prior to the second halftone processing means for performing halftone processing for error calculation and the preceding error value generated by the processing of the forward image data by the second halftone processing means, the first half of the forward image data A forward error buffer for storing an error value generated by the halftone processing means, and a preceding error value generated by processing of the return image data by the second halftone processing means, followed by the first halftone processing means for the return image data. A return path error buffer for storing error values generated by the first halftone processing means; Stored in the forward data buffer for storing the processing results of the forward image data, the backward data buffer for storing the processing results of the backward image data by the first halftone processing means, the forward data buffer, and the backward data buffer. Data output means for alternately switching and outputting the processed results as data for printing by the printing means, and the first halftone processing means is stored in the forward path error buffer and the backward path error buffer. It is preferable to start halftone processing of the forward pass image data and the return pass image data, respectively, using the preceding error value.

この構成によれば、往路用データバッファおよび復路用データバッファの2つのデータバッファから交互にハーフトーン処理後の処理済みデータを出力する場合において、各画像データの通常のハーフトーン処理に先行して誤差計算用のハーフトーン処理を行い、それによって発生した先行誤差値を往路用誤差バッファまたは復路用誤差バッファに記憶させておくため、データバッファの切替時に誤差バッファがクリアになっていることがない(切替直後は先行誤差値が既に記憶されているため)。すなわち、第1ハーフトーン処理手段は、第2ハーフトーン処理手段によって計算された先行誤差値の伝搬を受けて(予め誤差バッファに記憶されている先行誤差値を用いて)ハーフトーン処理を開始することができるため、2つのデータバッファを切り替えて用いる場合であっても、誤差バッファの初期化によって生じる画質の低下の問題を解消することができる。   According to this configuration, when the processed data after the halftone processing is alternately output from the two data buffers of the forward pass data buffer and the return pass data buffer, the normal halftone processing of each image data is preceded. Halftone processing for error calculation is performed, and the preceding error value generated thereby is stored in the forward error buffer or the backward error buffer, so that the error buffer is not cleared when the data buffer is switched. (Because the preceding error value is already stored immediately after switching). That is, the first halftone processing unit starts the halftone process upon receiving the propagation of the preceding error value calculated by the second halftone processing unit (using the preceding error value stored in the error buffer in advance). Therefore, even when two data buffers are switched and used, the problem of image quality degradation caused by initialization of the error buffer can be solved.

本発明の画像処理装置は、上記に記載の印刷システムにおける色変換処理手段を備えていることを特徴とする。   An image processing apparatus according to the present invention includes a color conversion processing unit in the printing system described above.

本発明のプリンタドライバは、上記に記載の印刷システムにおける色変換処理手段を備えていることを特徴とする。   A printer driver according to the present invention includes a color conversion processing unit in the printing system described above.

本発明のプログラムは、コンピュータを、上記に記載の印刷システムにおける色変換処理手段として機能させるためのものであることを特徴とする。   The program of the present invention is a program for causing a computer to function as color conversion processing means in the printing system described above.

これらを用いることにより、印刷速度を低下させることなく、往復印刷における着色剤の重なり順の違いによる色むらを解消し、更なる画質の向上に貢献することができる。   By using these, color unevenness due to the difference in the order of colorant overlap in reciprocal printing can be eliminated and the image quality can be further improved without reducing the printing speed.

以下、添付の図面を参照して、本発明の一実施形態に係る印刷システム、画像処理装置、プリンタドライバ、プログラムについて説明する。本発明は、画像データを、往路印刷用の往路画像データと復路印刷用の復路画像データに分解し、それぞれ往路印刷用と復路印刷用の色処理テーブルを参照して、色変換処理を行うことにより、往復印刷における主走査方向の色むらの発生を防止することを課題としたものである。そこで、本発明の印刷システムにおける色変換処理手段をプリンタドライバとしてコンピュータに搭載した場合を例に挙げ、当該コンピュータ(ホストコンピュータ)と、プリンタとから成る印刷システムについて説明する。また、プリンタとしては、インクジェットプリンタを用いた場合を例示する。   Hereinafter, a printing system, an image processing apparatus, a printer driver, and a program according to an embodiment of the present invention will be described with reference to the accompanying drawings. The present invention decomposes image data into forward image data for forward printing and backward image data for backward printing, and performs color conversion processing with reference to color processing tables for forward printing and backward printing, respectively. Thus, it is an object to prevent the occurrence of color unevenness in the main scanning direction in reciprocating printing. Therefore, a case where the color conversion processing means in the printing system of the present invention is installed in a computer as a printer driver will be described as an example, and a printing system including the computer (host computer) and a printer will be described. As an example of the printer, an inkjet printer is used.

図1は、本発明の一実施形態に係る印刷システム10のブロック図である。同図に示すように、印刷システム10は、各種データを記憶または生成すると共にこれを印刷データ(インク吐出データ)化するホストコンピュータ20と、ホストコンピュータ20から出力された印刷データに基づいて印刷を行うプリンタ40と、から成る。   FIG. 1 is a block diagram of a printing system 10 according to an embodiment of the present invention. As shown in FIG. 1, the printing system 10 stores or generates various data and converts the data into print data (ink discharge data), and performs printing based on the print data output from the host computer 20. Printer 40 to be performed.

ホストコンピュータ20は、ハーフトーン処理(2値化処理)を必要とする各種データ(以下、「画像データ」と称する)を生成するためのプログラムであるアプリケーション21と、ホストコンピュータ20を制御するための基本プログラムであるOS(オペレーティングシステム)22と、色変換処理およびハーフトーン処理を含む画像処理やコマンド変換処理などを行うプリンタドライバ23と、プリンタ40に印刷データ(画像処理後の処理済みデータ)を出力する印刷データ出力部24と、を備えている。   The host computer 20 controls an application 21 that is a program for generating various data (hereinafter referred to as “image data”) that requires halftone processing (binarization processing), and the host computer 20. An OS (operating system) 22 that is a basic program, a printer driver 23 that performs image processing and command conversion processing including color conversion processing and halftone processing, and print data (processed data after image processing) are sent to the printer 40. And a print data output unit 24 for outputting.

プリンタドライバ23は、レンダリング処理等を行うドライバ上位層25と、画像処理モジュール26と、から成る。画像処理モジュール26は、制御モジュール30、カラーマッチング&ハーフトーンモジュール(色変換処理手段,第1ハーフトーン処理手段,第2ハーフトーン処理手段)31およびコマンド変換モジュール32の3つのモジュールを有している。   The printer driver 23 includes a driver upper layer 25 that performs rendering processing and the like, and an image processing module 26. The image processing module 26 includes three modules: a control module 30, a color matching & halftone module (color conversion processing means, first halftone processing means, second halftone processing means) 31 and a command conversion module 32. Yes.

制御モジュール30は、カラーマッチング&ハーフトーンモジュール31と、コマンド変換モジュール32とを統括制御すると共に、各モジュール31,32の機能を補うための制御を行う。   The control module 30 performs overall control of the color matching & halftone module 31 and the command conversion module 32 and performs control for supplementing the functions of the modules 31 and 32.

カラーマッチング&ハーフトーンモジュール31は、色処理LUT(色処理テーブル)33を参照して、カラーマッチング処理(色変換処理)を行い、ドット発生LUT34を参照して、着色剤のドットの有無を決定する。ドットの種類としては、例えば、レベル0:ドット無し、レベル1:小ドット、レベル2:中ドット、レベル3:大ドットという4種類のものが挙げられる。それらのうち、どのレベルを何パーセント採用するかを決定することができる。高画質をめざす場合は、4種類だけでなく更にドットの段階を細かく設定してもよい。また、カラーマッチング&ハーフトーンモジュール31は、補間演算モジュール27を有しており、カラーマッチング処理の際に、上記の色処理LUT33上に存在しない値を補間演算により推定する(詳細については後述する)。   The color matching & halftone module 31 performs color matching processing (color conversion processing) with reference to the color processing LUT (color processing table) 33 and determines the presence / absence of dots of the colorant with reference to the dot generation LUT 34. To do. Examples of dot types include four types: level 0: no dot, level 1: small dot, level 2: medium dot, and level 3: large dot. Of these, you can decide what level to use and what percentage. When aiming for high image quality, not only four types but also more detailed dot stages may be set. The color matching & halftone module 31 has an interpolation calculation module 27, and estimates a value that does not exist on the color processing LUT 33 by the interpolation calculation during the color matching process (details will be described later). ).

さらに、カラーマッチング&ハーフトーンモジュール31は、誤差拡散法を用いたハーフトーン処理(誤差拡散処理)を行い、ハーフトーン処理によって発生した誤差値を誤差バッファ35に格納し、ハーフトーン処理の処理結果である2値化データをデータバッファ36に格納する。データバッファ36に格納したデータは、続くコマンド処理のため、所定量ごとにコマンド変換バッファ37と称する記憶領域に出力する。   Further, the color matching & halftone module 31 performs halftone processing (error diffusion processing) using the error diffusion method, stores the error value generated by the halftone processing in the error buffer 35, and the processing result of the halftone processing Is stored in the data buffer 36. The data stored in the data buffer 36 is output to a storage area called a command conversion buffer 37 every predetermined amount for subsequent command processing.

また、コマンド変換モジュール32は、コマンド変換テーブル38を参照して、プリンタ40が解読可能なコマンド形式に変換するためのコマンド処理を行い、当該コマンド処理後のデータをコマンド処理バッファ39に出力する。   Further, the command conversion module 32 refers to the command conversion table 38, performs command processing for conversion into a command format that can be decoded by the printer 40, and outputs the data after the command processing to the command processing buffer 39.

一方、プリンタ40は、ホストコンピュータ20から出力された印刷データを入力(取得)する印刷データ入力部41と、入力した印刷データを一時的に格納する印刷バッファ42と、当該印刷バッファ42に格納された印刷データに基づいて往復印刷を行う印刷部43と、を備えている。   On the other hand, the printer 40 stores a print data input unit 41 that inputs (acquires) print data output from the host computer 20, a print buffer 42 that temporarily stores the input print data, and the print buffer 42. And a printing unit 43 that performs reciprocal printing based on the print data.

印刷部43は、キャリッジ44、キャリッジモータ46、印刷ヘッド(インクジェットヘッド)47および紙送りモータ48を有しており、キャリッジモータ46により、印刷ヘッド47を搭載したキャリッジ44を主走査方向に往復動させる。また、紙送りモータ48により、印刷媒体(用紙)51(図3参照)を副走査方向に搬送させる。そして、これらキャリッジモータ46および紙送りモータ48の駆動と、印刷ヘッド47からのインクの吐出動作とを同期させることにより、所望の印刷画像を印刷媒体51上に形成する。   The printing unit 43 includes a carriage 44, a carriage motor 46, a print head (inkjet head) 47, and a paper feed motor 48. The carriage motor 46 reciprocates the carriage 44 on which the print head 47 is mounted in the main scanning direction. Let Further, the paper feed motor 48 transports the print medium (paper) 51 (see FIG. 3) in the sub-scanning direction. A desired print image is formed on the print medium 51 by synchronizing the drive of the carriage motor 46 and the paper feed motor 48 with the ink ejection operation from the print head 47.

次に、図2を参照し、キャリッジ44(印刷ヘッド47)の構成について説明する。同図は、ノズル面側から見たキャリッジ44の平面図であり、本実施形態では、1つのキャリッジ44上に、K(ブラック)、M(マゼンタ)、Y(イエロー)、C(シアン)の各色に対応した4つの印刷ヘッド47が搭載されている。   Next, the configuration of the carriage 44 (print head 47) will be described with reference to FIG. This figure is a plan view of the carriage 44 as seen from the nozzle surface side. In this embodiment, K (black), M (magenta), Y (yellow), and C (cyan) are formed on one carriage 44. Four print heads 47 corresponding to each color are mounted.

各印刷ヘッド47は、K→M→Y→Cの順に主走査方向(キャリッジ44の移動方向)に配列されており、往路印刷においては、K→M→Y→Cの順にインクを吐出し、復路印刷においては、C→Y→M→Kの順にインクを吐出する。したがって、往路と復路とにおいてインクの吐出順序が異なるため、インクの重ね順序が変わってしまい、往路と復路で発色特性が変わる。したがって、双方向で同一の画像処理(色変換処理)を行うと、往路印刷領域と復路印刷領域との間に色むらが生じてしまう。このため、本実施形態では、カラーマッチング処理において、往路印刷用と復路印刷用の2つの色処理LUT33a,33b(図4参照)を利用し、このインクの吐出順序の違いを起因とする色むらを解消できるようになっている(詳細については後述する)。   The print heads 47 are arranged in the main scanning direction (movement direction of the carriage 44) in the order of K → M → Y → C. In forward printing, ink is ejected in the order of K → M → Y → C. In return pass printing, ink is ejected in the order of C → Y → M → K. Therefore, since the ink ejection order is different between the forward path and the backward path, the ink stacking order is changed, and the color development characteristics are changed between the forward path and the backward path. Therefore, when the same image processing (color conversion processing) is performed in both directions, color unevenness occurs between the forward printing area and the backward printing area. For this reason, in this embodiment, in the color matching process, two color processing LUTs 33a and 33b (see FIG. 4) for forward pass printing and reverse pass printing are used, and color unevenness caused by the difference in the ink ejection order is used. (The details will be described later).

また、各印刷ヘッド47は、副走査方向に沿って2本のノズル列52が形成されており、各ノズル列52には、それぞれ180dpiのピッチで180個のノズル53が配列されている。また、各印刷ヘッド47の2本のノズル列52は、ノズル53の配置を互いに半画素ずつずらしているため、実質的に各印刷ヘッド47は、360dpiのピッチにて一列にノズル53が配列されたものと同じ状態となっている。   Each print head 47 is formed with two nozzle rows 52 along the sub-scanning direction, and 180 nozzles 53 are arranged in each nozzle row 52 at a pitch of 180 dpi. In addition, since the two nozzle rows 52 of each print head 47 are shifted from each other by half a pixel, the nozzles 53 are substantially arranged in a row at a pitch of 360 dpi. It is in the same state as that.

次に、図3を参照し、上記のキャリッジ44の動作について説明する。同図は、印刷媒体51とキャリッジ44との相対的な位置関係を示したものであり、キャリッジ44は印刷媒体51に対して図示矢印の方向に相対移動する。図示点線で示した位置を印刷開始位置(ホームポジション)Pとすると、まずキャリッジ44を主走査方向右側に移動させながら印刷を行う。また、印刷画像の右端まで印刷を終えると一旦キャリッジ44の移動を停止し、図示上方向への紙送りを待って、今度は主走査方向左側に移動させながら印刷を行う。そして、印刷画像の左端まで印刷を終えるとまたキャリッジ44の移動を停止し、図示上方向への紙送り後、再度主走査方向右側に向かって印刷を行う。   Next, the operation of the carriage 44 will be described with reference to FIG. This figure shows the relative positional relationship between the print medium 51 and the carriage 44, and the carriage 44 moves relative to the print medium 51 in the direction of the arrow shown. If the position indicated by the dotted line in the figure is the print start position (home position) P, first, printing is performed while moving the carriage 44 to the right in the main scanning direction. Further, when printing is completed up to the right end of the print image, the carriage 44 is temporarily stopped to move, waits for paper feeding in the upward direction in the figure, and is then printed while moving to the left in the main scanning direction. When printing is completed up to the left end of the print image, the carriage 44 stops moving, and after the paper is fed in the upward direction in the figure, printing is performed again toward the right in the main scanning direction.

このように、主走査方向の印刷と副走査方向の紙送り動作とを繰り返しながら、印刷を行っていくが、以後、主走査方向右側に移動する際の印刷を「往路印刷」と称し、主走査方向左側に移動する際の印刷を「復路印刷」と称する。また、往路印刷または復路印刷によって印刷される印刷領域の印刷画像に相当する1パス分の画像データを「部分画像データ」と称する。   In this way, printing is performed while repeating the printing in the main scanning direction and the paper feeding operation in the sub-scanning direction. Hereinafter, printing when moving to the right in the main scanning direction is referred to as “outward printing”. Printing when moving to the left in the scanning direction is referred to as “return printing”. Further, image data for one pass corresponding to a print image in a print area printed by forward printing or backward printing is referred to as “partial image data”.

すなわち、アプリケーション21によって生成された画像データは、上記のプリンタドライバ23によって、n個の部分画像データ(但し、n≧1となる整数)に分割され、このうち最初の部分画像データ(第1部分画像データ)が最初の往路印刷によって印刷される。また、2番目の部分画像データ(第2部分画像データ)が続く復路印刷によって印刷され、3番目の部分画像データ(第3部分画像データ)が続く往路印刷によって印刷される。つまり、奇数番目の部分画像データが往路印刷、偶数番目の部分画像データが復路印刷で印刷されることとなる。なお、画像データ(n個の部分画像データ)に基づく全印刷画像の印刷を終えると、キャリッジ44を、印刷開始位置Pまで移動させ、次の印刷指示まで待機する。   That is, the image data generated by the application 21 is divided into n partial image data (however, an integer satisfying n ≧ 1) by the printer driver 23, and among these, the first partial image data (first partial data) Image data) is printed by the first forward printing. Further, the second partial image data (second partial image data) is printed by the subsequent backward printing, and the third partial image data (third partial image data) is printed by the subsequent forward printing. That is, odd-numbered partial image data is printed by forward printing, and even-numbered partial image data is printed by backward printing. When printing of all print images based on the image data (n partial image data) is completed, the carriage 44 is moved to the print start position P and waits for the next print instruction.

次に、図4を参照し、プリンタドライバ23における各種処理の概要並びに工程について説明する。プリンタドライバ23は、アプリケーション21(図1参照)によって生成された画像データDを取得すると、まずドライバ上位層25により、レンダリングを行う(S01)。レンダリングとは、数値データとして与えられた物体や図形に関する情報を、計算によって画像化する処理であり、取得した画像データが数値データに相当する場合に当該処理を実行する。   Next, with reference to FIG. 4, the outline and process of various processes in the printer driver 23 will be described. When acquiring the image data D generated by the application 21 (see FIG. 1), the printer driver 23 first performs rendering by the driver upper layer 25 (S01). Rendering is a process of imaging information related to an object or a figure given as numerical data by calculation. This process is executed when the acquired image data corresponds to numerical data.

続いて、プリンタドライバ23は、画像処理モジュール26により、カラーマッチング処理を行う(S02)。ここでは、往路印刷用と復路印刷用の2つの色処理LUT33a,33b、並びに補間演算モジュール27を用いて、RGB多値データをCMYKインク多値データに色変換する。   Subsequently, the printer driver 23 performs color matching processing by the image processing module 26 (S02). Here, the RGB multi-value data is color-converted into CMYK ink multi-value data by using the two color processing LUTs 33a and 33b for the forward pass printing and the return pass print and the interpolation calculation module 27.

カラーマッチング処理を終えると、続いてハーフトーン処理を行う(S03)。ここでは、カラーマッチング処理の処理結果、並びに往路印刷用と復路印刷用の2つのドット発生LUT34a,34bの参照結果に基づいて、部分画像データごとに誤差拡散法を用いたハーフトーン処理を行う。   When the color matching process is finished, a halftone process is subsequently performed (S03). Here, halftone processing using the error diffusion method is performed for each partial image data based on the processing result of the color matching processing and the reference results of the two dot generation LUTs 34a and 34b for forward pass printing and return pass printing.

なお、本実施形態では、往路印刷用と復路印刷用の2つのドット発生LUT34a,34bは同一の内容であるため、画像処理モジュール26内に1つだけ備え、これを双方向の印刷時に用いるようにしても良い。また、ドット発生LUT34a,34bの内容を、往路印刷用と復路印刷用とで変更し、更なる画質の向上を図っても良い。   In the present embodiment, since the two dot generation LUTs 34a and 34b for forward pass printing and reverse pass printing have the same contents, only one is provided in the image processing module 26 and is used for bidirectional printing. Anyway. Further, the contents of the dot generation LUTs 34a and 34b may be changed for forward printing and for backward printing to further improve the image quality.

そして、ハーフトーン処理を終えると、その2値化データ(例えば、レベル0:ドット無し、レベル1:小ドット、レベル2:中ドット、レベル3:大ドットの4種類のデータ。高画質をめざす場合は4種類だけでなくドットの段階が更に細かく設定されたデータ)に基づいて、コマンド変換処理を行い(S04)、プリンタ40に出力する。なお、S02〜S04までの処理は、いずれも画像処理モジュール26によって実行されるものである。   When the halftone processing is completed, the binarized data (for example, four types of data of level 0: no dot, level 1: small dot, level 2: medium dot, level 3: large dot. Aiming for high image quality). In this case, the command conversion process is performed based on the data in which not only the four types but also the dot stage is set more finely (S04), and the data is output to the printer 40. Note that the processes from S02 to S04 are all executed by the image processing module 26.

次に、図5ないし図8を参照し、上記のカラーマッチング処理(S02)について、詳細に説明する。図5は、往路印刷用と復路印刷用の2つの色処理LUT(往路用色処理LUT33a,復路用色処理LUT33b)の一例を示したものである。色処理LUT33a,33bは、上記のとおりRGB(加色混合の割合)をCMYK(減色混合の割合)に変換するための色変換テーブルであり、RGBの各8bit(十進で0〜255)データをCMYKの各8ビット(十進で0〜255)に割り当てるものである。高画質を目指す場合は8ビットでなく16ビットなどの多ビットを割り当てて分解能を向上させることができる。また、色処理LUT33a,33bは、バイナリデータの羅列によって構成され、図示の通りCMYKの順に並べてデータが列記されている(C1M1Y1K1,C2M2Y2K2・・・CnMnYnKn)。   Next, the color matching process (S02) will be described in detail with reference to FIGS. FIG. 5 shows an example of two color processing LUTs (outbound path color processing LUT 33a and inbound path color processing LUT 33b) for forward path printing and backward path printing. The color processing LUTs 33a and 33b are color conversion tables for converting RGB (additional color mixture ratio) to CMYK (subtractive color mixture ratio) as described above, and each RGB 8-bit (decimal 0 to 255) data. Are assigned to each 8 bits of CMYK (0 to 255 in decimal). When aiming for high image quality, resolution can be improved by assigning multiple bits such as 16 bits instead of 8 bits. Further, the color processing LUTs 33a and 33b are composed of a list of binary data, and the data are listed in the order of CMYK as shown (C1M1Y1K1, C2M2Y2K2... CnMnYnKn).

但し、RGB全ての組み合わせは、256(0〜255)の3乗=約1677万通り存在するため、これらの組み合わせを全てテーブル上に記載するのは現実的でない。そこで、予め特定のRGBの値を決めておき、その値に対応するCMYKの値(インク吐出量を決定するための値)だけを、各色処理LUT33a,33bに記載している。したがって、例えばRGBを各10グリッドとした場合は、10の3乗=1000グリッドで各色処理LUT33a,33bを構成することとなる。グリッド数は出力する色の精度に影響を与え、当然多いほうが精度は向上するが、容量が大きくなるなどの弊害も生じるため、製品とのバランスを考慮して決定される。同図(a),(b)は、各色処理LUT33a,33bの一部を示したものである。   However, since there are 256 (0 to 255) cubes = about 16.77 million combinations of all RGB, it is not practical to describe all these combinations on the table. Therefore, specific RGB values are determined in advance, and only the CMYK values (values for determining the ink ejection amount) corresponding to these values are described in the color processing LUTs 33a and 33b. Therefore, for example, when RGB is set to 10 grids, the color processing LUTs 33a and 33b are configured with 10 3 = 1000 grids. The number of grids affects the accuracy of the color to be output. The larger the number of grids, the better the accuracy, but there are also adverse effects such as an increase in capacity, so the number of grids is determined in consideration of the balance with the product. FIGS. 7A and 7B show a part of the color processing LUTs 33a and 33b.

例えば、同図(a)に示すように、往路印刷の対象となる画像データ(奇数番目の部分画像データ)に含まれる任意の画素の加色混合の割合が、R=100,G=30,B=90(十進法)であり、往路用色処理LUT33aに、対応する減色混合の割合(CMYKの組み合わせ)が存在する場合、その減色混合の割合(C=40,M=120,Y=34,B=63(十進法))に基づいて各色のインク量を決定する。   For example, as shown in FIG. 6A, the ratio of the additive color mixture of arbitrary pixels included in the image data (odd-numbered partial image data) to be subjected to forward printing is R = 100, G = 30, When B = 90 (decimal system) and the corresponding color reduction mixing ratio (CMYK combination) is present in the outbound color processing LUT 33a, the ratio of color reduction mixing (C = 40, M = 120, Y = 34, B = 63 (decimal system)), the ink amount of each color is determined.

また、同図(b)に示すように、復路印刷の対象となる部分画像データ(偶数番目の部分画像データ)に含まれる任意の画素の加色混合の割合が、同じくR=100,G=30,B=90(十進法)であり、復路用色処理LUT33bに、対応する減色混合の割合(CMYKの組み合わせ)が存在する場合、その減色混合の割合(C=35,M=128,Y=35,B=66(十進法))に基づいて各色のインク量を決定する。   Further, as shown in FIG. 5B, the ratio of the additive color mixture of arbitrary pixels included in the partial image data (even-numbered partial image data) to be subjected to the backward printing is similarly R = 100, G = 30 and B = 90 (decimal system), and if the corresponding color reduction mixing ratio (CMYK combination) exists in the return color processing LUT 33b, the ratio of the color reduction mixing (C = 35, M = 128, Y = 35, B = 66 (decimal system)), the ink amount of each color is determined.

このように、同じ加色混合の割合であっても、往路用色処理LUT33aと復路用色処理LUT33bに記載されている減色混合の割合は、必ずしも一致しない。これは、インクの重なり順序の違いを考慮したものであり(往路印刷においてはK→M→Y→Cの順、復路印刷においてはC→Y→M→Kの順にインクを吐出する,図2および図3参照)、これによって往路印刷を行った印刷領域と復路印刷を行った印刷領域との色むらを防止している。   As described above, even when the ratio of the additive color mixture is the same, the ratio of the subtractive color mixing described in the forward color processing LUT 33a and the backward color processing LUT 33b does not necessarily match. This is in consideration of the difference in the overlapping order of inks (in the order of K → M → Y → C in forward printing, and in the order of C → Y → M → K in backward printing, FIG. 2). As a result, color unevenness between the print area where the forward printing is performed and the printing area where the backward printing is performed is prevented.

ところで、上記のように、各色処理LUT33a,33bを1000グリッドとした場合、このグリッド数では、実際の処理に対応できないため、グリッド数をRGBすべての組み合わせのグリッドに拡張する必要がある。そこで、本実施形態では、補間演算モジュール27(図4参照)を用いて補間演算を行い、グリッド上に存在しないRGBの値に基づくCMYKの値を推定するようにしている。まず、図6のフローチャートを参照し、カラーマッチング&ハーフトーンモジュール31によるカラーマッチング処理の処理工程から説明する。   By the way, as described above, when each color processing LUT 33a, 33b is 1000 grids, this number of grids cannot cope with the actual processing, so the number of grids needs to be expanded to a combination of all RGB. Therefore, in the present embodiment, interpolation calculation is performed using the interpolation calculation module 27 (see FIG. 4), and CMYK values based on RGB values not existing on the grid are estimated. First, the processing steps of the color matching process by the color matching & halftone module 31 will be described with reference to the flowchart of FIG.

カラーマッチング&ハーフトーンモジュール31は、レンダリング後の画像データに基づいて、RGBの値(加色混合の割合)を決定(算出)する(S06,加色混合割合決定手段)。次に、そのRGBの値に対応するCMYKの値が、各色処理LUT33a,33bのグリッド上の値か否かを判別し(S07,色処理テーブル判別手段)、グリッド上の値である場合、すなわち図5に示した例のようにRGBの値に対応するCMYKの値が存在する場合は(S07:Yes)、各色処理LUT33a,33bの値を参照してCMYKの値を決定する(S08,減色混合割合決定手段)。一方、グリッド上の値でない場合は(S07:No)、補間演算モジュール27による補間演算により、CMYKの値を決定(推定)する(S09,減色混合割合決定手段)。   The color matching & halftone module 31 determines (calculates) RGB values (additional color mixture ratio) based on the rendered image data (S06, additive color mixture ratio determining means). Next, it is determined whether or not the CMYK value corresponding to the RGB value is a value on the grid of each of the color processing LUTs 33a and 33b (S07, color processing table determination means). When CMYK values corresponding to RGB values exist as in the example shown in FIG. 5 (S07: Yes), CMYK values are determined with reference to the values of the color processing LUTs 33a and 33b (S08, color reduction). Mixing ratio determining means). On the other hand, if the value is not on the grid (S07: No), the CMYK value is determined (estimated) by the interpolation calculation by the interpolation calculation module 27 (S09, subtractive color mixture ratio determining means).

ここで、図7および図8を参照し、補間演算処理の原理について簡単に説明する。ここでは、補間法として、「四面体補間」を採用した場合を例示する。同図(a)は、色処理LUT33a,33bを3次元的に示したものである。同図に示すように、RGBの各軸を10分割したとき、各格子点にはCMYKの値が予め記憶されている。今、決定したRGBの値を、この3次元直交座標上でOとすると、Oを含む単位立方体が存在し、その頂点A〜Hは格子点に記憶されている出力値、すなわちグリッド上の値である(同図(b)参照)。   Here, the principle of the interpolation calculation process will be briefly described with reference to FIGS. Here, a case where “tetrahedral interpolation” is employed as an interpolation method is illustrated. FIG. 3A shows the color processing LUTs 33a and 33b three-dimensionally. As shown in the figure, when each axis of RGB is divided into ten, CMYK values are stored in advance at each lattice point. Now, assuming that the determined RGB value is O on the three-dimensional orthogonal coordinates, there is a unit cube containing O, and its vertices A to H are output values stored at lattice points, that is, values on the grid. (Refer to FIG. 2B).

図8(a)に示すように、四面体補間では、単位立方体を6つの四面体に分割し、Oがどの領域に存在するかを、同図(b)に示す境界条件によって決定する。例えば、Oが図7(a)に示す領域に属する場合、すなわち、DL*≧Da*:True,Da*>Db*:True,Db*>DL*:Falseで、BADHの領域に属する場合(図8(a)の斜線部参照)、Oの位置に相当するCMYKの値は、同図(c)に示す計算式によって求めることができる。   As shown in FIG. 8A, in tetrahedral interpolation, a unit cube is divided into six tetrahedrons, and the region where O exists is determined by the boundary condition shown in FIG. 8B. For example, when O belongs to the region shown in FIG. 7A, that is, when DL * ≧ Da *: True, Da *> Db *: True, Db *> DL *: False and belongs to the BADH region ( The value of CMYK corresponding to the position of O can be obtained by the calculation formula shown in FIG. 8C.

なお、上記の例では、四面体補間によって補間演算を行ったが、その他、立方体補間、三角柱補間または六面体補間等の補間法を用いても良い。また、各色処理LUT33a,33bは、RGBを各10グリッドとした場合を例示したが、グリッド数をそれ以上またはそれ以下に設定しても良い。また、拡張後のグリッド数も、RGB全ての組み合わせである、256(0〜255)の3乗=約1677万通りのグリッド数でなく、それ以下に設定しても良いし、入力されたRGBに対して複数回補間演算処理を行うことによって、さらに拡張させても良い。   In the above example, the interpolation calculation is performed by tetrahedral interpolation. However, other interpolation methods such as cubic interpolation, triangular prism interpolation, and hexahedral interpolation may be used. Moreover, although each color processing LUT33a, 33b illustrated the case where RGB was each 10 grids, you may set the number of grids more or less. Also, the number of grids after expansion is not limited to 256 (0 to 255) to the third power = about 16.77 million grids, which is a combination of all RGB, and may be set to less than that or input RGB May be further expanded by performing interpolation calculation processing a plurality of times.

また、各色処理LUT33a,33bのグリッド間隔は、等間隔に設定しても良いし、経験則に基づいて不規則な間隔に設定しても良い。また、色処理LUT33a,33bごとに、グリッド間隔を変えても良いし、グリッド数自体を変えても良い。   Further, the grid intervals of the color processing LUTs 33a and 33b may be set at equal intervals, or may be set at irregular intervals based on empirical rules. Further, the grid interval may be changed for each of the color processing LUTs 33a and 33b, or the number of grids themselves may be changed.

次に、図9ないし図12を参照し、ハーフトーン処理(図4のS03参照)について、詳細に説明する。図9は、ハーフトーン処理に関連する各構成要素を模式的に表したブロック図(以下、「ハーフトーン処理ブロック」と称する)である。同図に示すように、ハーフトーン処理ブロック100は、2つのハーフトーン処理手段110,120と、2つのハンドル130a,130bと、次の工程にハーフトーン処理後の処理済みデータを出力するデータ出力手段140と、から成る。   Next, halftone processing (see S03 in FIG. 4) will be described in detail with reference to FIGS. FIG. 9 is a block diagram (hereinafter, referred to as “halftone processing block”) schematically showing each component related to the halftone processing. As shown in the figure, the halftone processing block 100 includes two halftone processing means 110 and 120, two handles 130a and 130b, and data output for outputting processed data after halftone processing in the next step. Means 140.

2つのハーフトーン処理手段110,120は、いずれもカラーマッチング&ハーフトーンモジュール31(図1参照)を主要構成要素とするものであり、誤差拡散法を用いてハーフトーン処理を行う。また、第1ハーフトーン処理手段110は、画像データをn個に分割した部分画像データに対し、通常のハーフトーン処理を行い、第2ハーフトーン処理手段120は、各部分画像データの先端部における所定データを対象として、誤差計算用(以下、「オーバーラップ用」とも称する)のハーフトーン処理を行う。   Each of the two halftone processing means 110 and 120 has a color matching & halftone module 31 (see FIG. 1) as a main component, and performs halftone processing using an error diffusion method. The first halftone processing unit 110 performs normal halftone processing on the partial image data obtained by dividing the image data into n pieces, and the second halftone processing unit 120 performs processing at the front end of each partial image data. Halftone processing for error calculation (hereinafter also referred to as “overlap”) is performed on predetermined data.

2つのハンドル130a,130bは、それぞれLUT群131a,131bと、作業領域132a,132bと、を有している。参照番号130aが、往路印刷用の部分画像データ(奇数番目の部分画像データ(図3参照),以下、「往路画像データ」と称する)の処理に用いられる往路用のハンドル、参照番号130bが、復路印刷用の部分画像データ(偶数番目の部分画像データ(図3参照),以下、「復路画像データ」と称する)の処理に用いられる復路用のハンドルである。   The two handles 130a and 130b have LUT groups 131a and 131b and work areas 132a and 132b, respectively. Reference number 130a is a forward handle used for processing of partial image data for forward printing (odd-numbered partial image data (see FIG. 3), hereinafter referred to as “forward image data”), and reference number 130b is This is a return path handle used in processing of partial image data for return pass printing (even-numbered partial image data (see FIG. 3), hereinafter referred to as “return pass image data”).

往路用LUT群131aは、往路用色処理LUT33aと、往路用ドット発生LUT34aとから成り、往路画像データのハーフトーン処理時に用いられる。同様に、復路用LUT群131bは、復路用色処理LUT33bと、復路用ドット発生LUT34bとから成り、復路画像データのハーフトーン処理時に用いられる。   The forward path LUT group 131a includes an outbound path color processing LUT 33a and an outbound path dot generation LUT 34a, and is used during halftone processing of outbound path image data. Similarly, the return pass LUT group 131b includes a return pass color processing LUT 33b and a return pass dot generation LUT 34b, and is used during halftone processing of the return pass image data.

また、往路用作業領域132aは、往路用誤差バッファ(奇数誤差バッファ)35aと、往路用データバッファ(奇数データバッファ)36aとから成り、往路画像データのハーフトーン処理によって発生した誤差値と、往路画像データのハーフトーン処理結果とをそれぞれ記憶する。同様に、復路用作業領域132bは、復路用誤差バッファ(偶数誤差バッファ)35bと、復路用データバッファ(偶数データバッファ)36bとから成り、復路画像データのハーフトーン処理によって発生した誤差値と、復路画像データのハーフトーン処理結果とをそれぞれ記憶する。   The forward path work area 132a includes an forward path error buffer (odd error buffer) 35a and a forward path data buffer (odd data buffer) 36a, and includes error values generated by the halftone process of the forward path image data, and the forward path. The halftone processing result of the image data is stored. Similarly, the return path work area 132b includes a return path error buffer (even error buffer) 35b and a return path data buffer (even data buffer) 36b, and error values generated by halftone processing of the return path image data, The halftone processing result of the return path image data is stored.

データ出力手段140は、往路用データバッファ36aおよび復路用データバッファ36bに記憶されている処理結果を、交互に切り替えて、コマンド変換バッファ37(図1参照)に出力する。   The data output means 140 alternately switches the processing results stored in the forward path data buffer 36a and the backward path data buffer 36b and outputs them to the command conversion buffer 37 (see FIG. 1).

ここで、ハーフトーン処理ブロック100における全体処理を説明する。ハーフトーン処理ブロック100が、カラーマッチング処理後の第1部分画像データ(往路画像データ)を取得すると、まず第1ハーフトーン処理手段110により往路用LUT群131aを参照して、ラスタごとにハーフトーン処理を実行する。当該ハーフトーン処理によって発生した誤差値は往路用誤差バッファ35aに記憶され、処理結果である2値化データは往路用データバッファ36aに記憶される。なお、図2に示したとおり、各色のノズル列52は、360個のノズル53が配列されたものであるため、各部分画像データは、各色のノズル数にあわせた360ラスタ分のデータから成る。したがって、ここでは360ラスタ分のハーフトーン処理を実行することとなる。なお、本実施例では各部分画像データを記録する際において、各色のノズル数すべてを使用する例となっているが、この限りでなく各色のノズル数以下の数値を、各部分画像を構成するラスタ数としてもよい。   Here, the overall processing in the halftone processing block 100 will be described. When the halftone processing block 100 acquires the first partial image data (outbound image data) after the color matching processing, the first halftone processing unit 110 first refers to the outbound LUT group 131a and performs halftone processing for each raster. Execute the process. The error value generated by the halftone process is stored in the forward path error buffer 35a, and the binarized data as the processing result is stored in the forward path data buffer 36a. As shown in FIG. 2, since the nozzle row 52 of each color has 360 nozzles 53 arranged therein, each partial image data is composed of 360 raster data corresponding to the number of nozzles of each color. . Therefore, the halftone process for 360 rasters is executed here. In this embodiment, when each partial image data is recorded, all the number of nozzles of each color is used. However, the present invention is not limited to this, and a numerical value equal to or less than the number of nozzles of each color is configured. The number of rasters may be used.

一般的には(従来は)、この第1部分画像データの360ラスタ分のハーフトーン処理を終えたところで、第2部分画像データのハーフトーン処理を開始するが、本実施形態では、第1部分画像データの残り3ラスタを開始するときに、同時に第2ハーフトーン処理手段120により、復路用LUT群131bを参照して第2部分画像データのハーフトーン処理を行う。すなわち、第2部分画像データ以降の処理では、第1ハーフトーン処理手段120による残り3ラスタのハーフトーン処理と、第2ハーフトーン処理手段120による続く部分画像データの先端部における3ラスタ分のハーフトーン処理とを同時進行させる(オーバーラップして処理する)。なお、最初の部分画像データ(第1部分画像データ)に対しては、第2ハーフトーン処理手段120による処理は行わない。これは、最初の部分画像データは、前の画像データとの連続性を考慮する必要が無いため(誤差バッファ35a,35bが初期化された状態で開始しても画質の低下が問題とならないため)である。   Generally (conventionally), after the halftone processing of 360 rasters of the first partial image data is finished, the halftone processing of the second partial image data is started. When starting the remaining three rasters of the image data, the second halftone processing unit 120 simultaneously performs the halftone processing of the second partial image data with reference to the return LUT group 131b. That is, in the processing after the second partial image data, halftone processing of the remaining three rasters by the first halftone processing unit 120 and half of three rasters at the leading end of the subsequent partial image data by the second halftone processing unit 120 The tone processing is performed simultaneously (overlapping processing is performed). Note that the process by the second halftone processing unit 120 is not performed on the first partial image data (first partial image data). This is because the first partial image data does not need to consider continuity with the previous image data (because deterioration in image quality does not pose a problem even when the error buffers 35a and 35b are initialized). ).

第2ハーフトーン処理手段120によって発生した第2部分画像データの誤差値(以下、「先行誤差値」と称する)は、復路用誤差バッファ35bに記憶されるが、処理結果である2値化データは利用されない(一旦、復路用データバッファ36bに記憶されるが、後に第1ハーフトーン処理手段110の処理結果が上書きされる)。つまり、第1ハーフトーン処理手段110が、部分画像データを順次ハーフトーン処理していき、これに先行して(第1ハーフトーン処理手段110が処理している次の部分画像データに対し)第2ハーフトーン処理手段120が、先行誤差値を計算するためだけのハーフトーン処理を行う。   The error value (hereinafter referred to as “preceding error value”) of the second partial image data generated by the second halftone processing means 120 is stored in the return path error buffer 35b. Is not used (it is temporarily stored in the return path data buffer 36b, but the processing result of the first halftone processing means 110 is overwritten later). That is, the first halftone processing unit 110 sequentially performs halftone processing on the partial image data, and precedes this (for the next partial image data processed by the first halftone processing unit 110). 2 Halftone processing means 120 performs halftone processing only for calculating the preceding error value.

そして、第1ハーフトーン処理手段120による第2部分画像データの処理を終えると、続いて第1ハーフトーン処理手段110は、印刷方向の切替に伴い、復路用LUT群131bを参照して第2部分画像データのハーフトーン処理を開始する。このとき、往路用誤差バッファ35bには、第2ハーフトーン処理手段120によって発生した先行誤差値が既に記憶されているため、第1ハーフトーン処理手段110は、この誤差値を用いて第2部分画像データのハーフトーン処理を開始する。そして、第1ハーフトーン処理手段110が第2部分画像データの残り3ラスタの処理を開始するときに、第2ハーフトーン処理手段120が第3部分画像データの最初の3ラスタの処理を開始する。このようにして、第n部分画像データまで2つのハーフトーン処理手段110,120による処理を繰り返す。   Then, when the processing of the second partial image data by the first halftone processing unit 120 is completed, the first halftone processing unit 110 subsequently refers to the return path LUT group 131b in accordance with the switching of the printing direction. Start halftone processing of partial image data. At this time, since the previous error value generated by the second halftone processing unit 120 is already stored in the forward error buffer 35b, the first halftone processing unit 110 uses the error value to generate the second part. Start halftone processing of image data. When the first halftone processing unit 110 starts processing the remaining three rasters of the second partial image data, the second halftone processing unit 120 starts processing the first three rasters of the third partial image data. . In this way, the processing by the two halftone processing means 110 and 120 is repeated up to the nth partial image data.

図10は、この2つのハーフトーン処理手段110,120による処理を、分かり易く図示したものである。ここでは、画像データをD、各部分画像データをD1〜Dnと図示している。上記のとおり、ハーフトーン処理ブロック100では、画像データDをn個に分割した部分画像データD1,D2・・・Dnごとに、ハーフトーン処理後の処理済みデータが出力されることとなるが(「出力データ」と図示)、ハーフトーン処理(「HT1,HT2」と図示)は、第2部分画像データ以降、各部分画像データの先端部(3ラスタ分)がオーバーラップ処理されている。すなわち、図示「HT2」に相当する3ラスタ分のデータを第2ハーフトーン処理手段120が処理し、その処理によって発生した誤差値を用いて、図示「HT1」に相当する360ラスタ分のデータを第1ハーフトーン処理手段110が処理する。   FIG. 10 illustrates the processing by the two halftone processing means 110 and 120 in an easy-to-understand manner. Here, the image data is shown as D, and the partial image data are shown as D1 to Dn. As described above, in the halftone processing block 100, processed data after halftone processing is output for each of the partial image data D1, D2,... Dn obtained by dividing the image data D into n pieces ( In the halftone process (shown as “HT1, HT2”) and the halftone process (shown as “output data”), the tip part (for three rasters) of each partial image data is overlapped after the second partial image data. That is, the data for three rasters corresponding to “HT2” shown in the figure is processed by the second halftone processing means 120, and the data for 360 rasters corresponding to “HT1” shown in the figure is used by using the error value generated by the processing. The first halftone processing unit 110 performs processing.

なお、最後の部分画像データ(第n部分画像データDn)については、続く部分画像データが存在しないため、第n部分画像データの最後3ラスタの処理は、第1ハーフトーン処理手段110単独の処理となる(第2ハーフトーン処理手段120によるオーバーラップ処理は実行されない)。   Since there is no subsequent partial image data for the last partial image data (nth partial image data Dn), the last three rasters of the nth partial image data are processed by the first halftone processing unit 110 alone. (The overlap processing by the second halftone processing means 120 is not executed).

続いて、図11および図12を参照し、図9に示した往路用のハンドル130aと復路用のハンドル130bとの切り替えについて、さらに詳細に説明する。図11に示すように、例えば「往路印刷時」を想定した場合、往路用のハンドル130aは印刷用として機能し、復路用のハンドル130bは、誤差計算用として機能する。すなわち、第1ハーフトーン処理手段110が往路用のハンドル130aを利用し、第2ハーフトーン処理手段120が往路用のハンドル130bを利用する。図示の例は、往路画像データのハーフトーン処理を実行している途中であり、残り3ラスタまでには至っていない状態を示している。したがって、まだ復路用のハンドル130bは機能しておらず、データバッファ36bおよび誤差バッファ35bは初期化された状態(何もデータが書き込まれていない状態)となっている。なお、データバッファ36aが所定量(例えば、32ラスタ分)に達すると、コマンド変換バッファ37に、処理済みデータである2値化データを出力する。そして、往路画像データの全ラスタ分の処理済みデータの出力を終えた時点で、ハンドル130a,130bを切り替え、往路用のハンドル130aを誤差計算用、復路用のハンドル130bを印刷用として機能させる。   Next, switching between the forward handle 130a and the return handle 130b shown in FIG. 9 will be described in more detail with reference to FIGS. As shown in FIG. 11, for example, when “during forward printing” is assumed, the forward handle 130 a functions for printing, and the backward handle 130 b functions for error calculation. That is, the first halftone processing unit 110 uses the forward handle 130a, and the second halftone processing unit 120 uses the forward handle 130b. The illustrated example shows a state in which halfway processing of forward image data is being performed and the remaining three rasters are not reached. Therefore, the return path handle 130b has not yet functioned, and the data buffer 36b and the error buffer 35b are in an initialized state (no data is written). When the data buffer 36a reaches a predetermined amount (for example, 32 rasters), binarized data that is processed data is output to the command conversion buffer 37. When the output of the processed data for all rasters of the forward path image data is finished, the handles 130a and 130b are switched, and the forward path handle 130a functions for error calculation and the return path handle 130b functions for printing.

なお、上記のとおりデータバッファ36a,36bは所定量ごとにデータを出力するため、その容量は任意に設定可能であるが、誤差バッファ35a,35bについては、先行誤差値用の3ラスタ分と1バンド分(本実施例では360ラスタ分)の誤差値を記憶可能な容量が必要となる。   As described above, since the data buffers 36a and 36b output data every predetermined amount, the capacity can be arbitrarily set. However, the error buffers 35a and 35b have three rasters for the preceding error value and one. A capacity capable of storing error values for bands (360 rasters in this embodiment) is required.

図12は、誤差バッファ35a,35bの初期化のタイミングを説明するための図である。例えば、「往路印刷時」においては、上記のとおり往路用のハンドル130aを印刷用、復路用のハンドル130bを誤差計算用として機能させるが、第1ハーフトーン処理手段110が往路画像データの全ラスタ分の処理を終えると、同図(a)に示す状態となる。つまり、誤差バッファ35aには、往路画像データ全て(360ラスタ分)の誤差値が書き込まれており、誤差バッファ35bにも先行誤差値3ラスタ分が書き込まれている。   FIG. 12 is a diagram for explaining the initialization timing of the error buffers 35a and 35b. For example, at the time of “outward printing”, as described above, the forward handle 130a functions for printing and the backward handle 130b functions for error calculation, but the first halftone processing means 110 performs all rasters of the forward image data. When the minute processing is finished, the state shown in FIG. That is, the error values of all the forward path image data (360 rasters) are written in the error buffer 35a, and the preceding error values of 3 rasters are also written in the error buffer 35b.

ここで、印刷方向が切り替わると、第1ハーフトーン処理手段110の処理結果であるデータバッファ36a内のデータをコマンド変換バッファ37に出力し、さらに各ハンドル130a,130bの機能が入れ替わる。同図(b)は、その印刷方向切替直後の状態を示したものである。すなわち、往路用のハンドル130aは、誤差計算用に切り替わったときに、データバッファ36aおよび誤差バッファ35aが初期化される。一方、復路用のハンドル130bには、データバッファ36bおよび誤差バッファ35bに、それぞれ3ラスタ分の処理結果と誤差値が書き込まれているが、データバッファ36bには、続く復路画像データの処理結果が上書きされる。すなわち、先行して行った第2ハーフトーン処理手段120による処理結果は利用されない。したがって、誤差計算用に切り替わったときに、データバッファ36aを初期化しても良い。また、誤差バッファ35bに書き込まれた誤差値はそのまま残り、これを用いて第1ハーフトーン処理手段110により復路画像データのハーフトーン処理が開始される。したがって、復路用のハンドル130bが印刷用として機能したときの最初のラスタの誤差値は、誤差バッファ35bの4ラスタ目に書き込まれることとなる。   Here, when the printing direction is switched, the data in the data buffer 36a, which is the processing result of the first halftone processing means 110, is output to the command conversion buffer 37, and the functions of the handles 130a and 130b are switched. FIG. 5B shows a state immediately after the printing direction is switched. That is, when the forward path handle 130a is switched for error calculation, the data buffer 36a and the error buffer 35a are initialized. On the other hand, the processing result and error value for three rasters are written in the data buffer 36b and the error buffer 35b, respectively, in the return path handle 130b, but the processing result of the subsequent return path image data is stored in the data buffer 36b. Overwritten. That is, the processing result obtained by the second halftone processing unit 120 performed in advance is not used. Therefore, the data buffer 36a may be initialized when switching to error calculation. Further, the error value written in the error buffer 35b remains as it is, and using this, the first halftone processing unit 110 starts the halftone processing of the return path image data. Therefore, the error value of the first raster when the return path handle 130b functions for printing is written in the fourth raster of the error buffer 35b.

次に、図13ないし図15のフローチャートを参照し、プリンタドライバ23(主に画像処理モジュール26)(図1参照)による印刷ジョブの処理について説明する。   Next, the print job processing by the printer driver 23 (mainly the image processing module 26) (see FIG. 1) will be described with reference to the flowcharts of FIGS.

図13に示すように、印刷ジョブの処理工程は、印刷ジョブの初期設定(S10)、ページごとの初期設定(S20)、バンド(印刷ヘッド47の一回の主走査で印刷可能な領域)ごとの印刷処理(S30)、ページごとの終了処理(S40)、印刷ジョブの終了処理(S50)に大別される。   As shown in FIG. 13, the print job processing steps include initial setting of a print job (S 10), initial setting for each page (S 20), and each band (area that can be printed by one main scan of the print head 47). Print processing (S30), page-by-page end processing (S40), and print job end processing (S50).

印刷ジョブの初期設定(S10)では、まずLUT切替フラグを初期化する(S11)。このLUT切替フラグは、上記のとおり参照する色処理LUT33a,33bを往路印刷時と復路印刷時とで切り替えて用いる場合に有効となる。このフラグの切替は、プリンタドライバ23によって提供されるGUIを用いて行うことができる(有効/無効を設定できる)が、ここでは印刷モード(印刷品質や印刷媒体に応じてユーザが設定可能なモード)によって決定されるものとする。すなわち、例えば印刷モードA〜Dのうち、AまたはBが設定されている場合は、LUT切替フラグを有効とし、CまたはDが設定されている場合は、LUT切替フラグを無効とするといった制御を行う。したがって、LUT切替フラグの初期化後(S11)、印刷モードに基づくLUT切替設定を確認し(S12)、LUT切替フラグが有効である場合は(S12:有効)、LUT切替フラグの設定を“true”とする(S13)。   In the initial setting of the print job (S10), first, the LUT switching flag is initialized (S11). This LUT switching flag is effective when the color processing LUTs 33a and 33b referred to as described above are used by switching between forward printing and backward printing. This flag can be switched using a GUI provided by the printer driver 23 (valid / invalid can be set), but here a print mode (a mode that can be set by the user according to print quality and print medium). ). That is, for example, in the printing modes A to D, when the A or B is set, the LUT switching flag is enabled, and when the C or D is set, the LUT switching flag is disabled. Do. Therefore, after initialization of the LUT switching flag (S11), the LUT switching setting based on the print mode is confirmed (S12). If the LUT switching flag is valid (S12: valid), the setting of the LUT switching flag is set to “true”. "(S13).

続いて、ページごとの初期設定(S20)では、LUT切替フラグを確認し(S21)、無効である場合は(S21:false)、ハーフトーン処理ブロック100(図9参照)の往路用のハンドル130aを指定する(S22)。すなわちこの場合は、往路印刷時および復路印刷時の両方において、往路用のハンドル130aを利用し、ハンドル130a,130bの切替を行わない。また、第2ハーフトーン処理手段120による誤差計算用のハーフトーン処理も行わず、第1ハーフトーン処理手段110が往路用のハンドル130aを用いて全ての部分画像データの処理を行うこととなる。   Subsequently, in the initial setting for each page (S20), the LUT switching flag is confirmed (S21). If invalid (S21: false), the forward handle 130a of the halftone processing block 100 (see FIG. 9). Is designated (S22). That is, in this case, the handle 130a for the forward path is used in both the forward printing and the backward printing, and the handles 130a and 130b are not switched. Also, the halftone processing for error calculation by the second halftone processing unit 120 is not performed, and the first halftone processing unit 110 processes all partial image data using the forward handle 130a.

一方、LUT切替フラグを確認し(S21)、有効である場合は(S21:true)、ハーフトーン処理ブロック100の往路印刷用と復路印刷用の2つのハンドル130a,130bを指定し(S23,S24)、これまでの印刷ヘッド47の移動方向を“復路”に設定し、さらに最新の出力バンドの開始ラスタ位置を“−1”とする(S25)。これは(印刷ヘッド47の移動方向を“復路”に設定するのは)、最初の部分画像データD1に対する印刷ヘッド47の移動方向は必ず往路方向となり(印刷開始位置Pから主走査方向右側に移動する,図3参照)、印刷ヘッド47の移動方向は1パス印刷ごとに切り替わるため、これまでの印刷ヘッド47の移動方向、すなわち“前回の印刷ヘッド47の移動方向”を規定するとしたら、仮想的に“復路”としなければならないためである(印刷媒体51への最初の印刷開始前に空白スキップが生じる場合も同様)。これにより、ページの先頭を判別するための処理を省略することができる。また、最新の出力バンドの開始ラスタ位置を“−1”とするのは、ページの初期設定のためである(これから実行するラスタ位置を出力バンドの第1ラスタとするためである)。   On the other hand, the LUT switching flag is confirmed (S21). If it is valid (S21: true), the two handles 130a and 130b for the forward printing and the backward printing of the halftone processing block 100 are designated (S23, S24). ), The previous moving direction of the print head 47 is set to “return”, and the start raster position of the latest output band is set to “−1” (S25). This is because (the movement direction of the print head 47 is set to “return”), the movement direction of the print head 47 with respect to the first partial image data D1 is always the forward direction (move from the print start position P to the right in the main scanning direction). Yes, see FIG. 3), since the movement direction of the print head 47 is switched for every one-pass printing, if the movement direction of the print head 47 so far, that is, “the movement direction of the previous print head 47” is defined, it is virtually This is because the “return path” must be set (the same applies when blank skip occurs before the first printing on the print medium 51 is started). Thereby, the process for discriminating the head of the page can be omitted. The reason why the starting raster position of the latest output band is set to “−1” is for initial setting of the page (to make the raster position to be executed from now the first raster of the output band).

続いて、バンドごとの印刷処理を行い(S30)、バンドが残っているか否かを判別し(S31)、残っている場合は(S31:Yes)、バンドごとの印刷処理を繰り返す(S30)。また、バンドが残っていない場合は(S31:No)、ページごとの終了処理を行い(S40)、ページが残っているか否かを判別し(S41)、残っている場合は(S41:Yes)、ページごとの初期設定を行う(S20)。また、ページが残っていない場合は(S41:No)、印刷ジョブの終了処理を行う(S50)。   Subsequently, the printing process for each band is performed (S30), and it is determined whether or not the band remains (S31). If the band remains (S31: Yes), the printing process for each band is repeated (S30). If no band remains (S31: No), an end process is performed for each page (S40), and it is determined whether or not a page remains (S41). If a band remains (S41: Yes). The initial setting for each page is performed (S20). If no page remains (S41: No), a print job end process is performed (S50).

ここで、図14および図15のフローチャートを参照し、バンドごとの印刷処理(S30)について説明する。図14に示すように、当該バンドごとの印刷処理は、画像データを構成するビットマップのラスタ分、繰り返し実行されるものである(S301)。そして、まずビットマップのラスタの印刷時の方向を、これまでの印刷時のヘッド移動方向、すなわち“復路”とし(図13のS25参照)、さらにその方向の最初のラスタではないものと規定する(S302)。   Here, the print processing (S30) for each band will be described with reference to the flowcharts of FIGS. As shown in FIG. 14, the printing process for each band is repeatedly executed for the raster of the bitmap that forms the image data (S301). First, the direction at which the bitmap raster is printed is defined as the head moving direction at the time of printing so far, that is, the “return path” (see S25 in FIG. 13), and further defined as not being the first raster in that direction. (S302).

続いて、LUT切替フラグの状態を確認し(S303)、LUT切替フラグが有効となっていない場合(S303:false)、通常のハーフトーン処理を実行する(S304)。すなわち、図13のS12およびS21と同様の判別を行い、LUT切替設定が無効である場合は、往路用のハンドル130aのみを用いたハーフトーン処理を行う。そして、ラスタが残っているか否かを判別し(S305)、残っている場合は(S305:Yes)、S301以降の処理を繰り返す。また、ラスタが残っていない場合は(S305:No)、バンドごとの印刷処理(S30)を終了する。   Subsequently, the state of the LUT switching flag is confirmed (S303). When the LUT switching flag is not valid (S303: false), normal halftone processing is executed (S304). That is, the same determination as S12 and S21 in FIG. 13 is performed, and if the LUT switching setting is invalid, halftone processing using only the forward handle 130a is performed. Then, it is determined whether or not the raster remains (S305). If the raster remains (S305: Yes), the processing after S301 is repeated. If no raster remains (S305: No), the band-by-band printing process (S30) is terminated.

一方、LUT切替フラグが有効となっている場合は(S303:true)、最初の出力、または印刷ヘッド47の高さ分のラスタ数(360ラスタ)以上のラスタを処理したか否かを判別する(S306)。なお、本実施例では印刷ヘッド47の高さ分のラスタ数(360ラスタ)を用いたが、前述の部分画像データのラスタ構成で述べたように、印刷ヘッド47のノズル数以下の値をヘッド高さとしてもかまわない。その場合は印刷ヘッド47のすべてのノズルを使用しない状態(一部のノズルを使用した状態)で印刷することになる。ここで、例えばバンドの最初のラスタである場合は(S306:Yes)、その方向の最初のラスタであり、ビットマップのラスタの印刷時の方向を、現在の方向(復路,S302参照)と反対の方向、すなわち“往路”と規定する(S307)。但し、この段階ではあくまでも仮定の印刷方向であり、実際に印刷方向を決定するのは後述するS316(図15参照)である。   On the other hand, if the LUT switching flag is valid (S303: true), it is determined whether or not the first output or rasters equal to or greater than the number of rasters (360 rasters) for the height of the print head 47 has been processed. (S306). In this embodiment, the number of rasters corresponding to the height of the print head 47 (360 rasters) is used. However, as described in the raster configuration of the partial image data, a value equal to or less than the number of nozzles of the print head 47 is used. It doesn't matter if it is high. In this case, printing is performed in a state where all the nozzles of the print head 47 are not used (a state where some of the nozzles are used). Here, for example, when it is the first raster of the band (S306: Yes), it is the first raster in that direction, and the direction when printing the bitmap raster is opposite to the current direction (return path, see S302). Direction, i.e., "outward" (S307). However, at this stage, the print direction is assumed only, and it is S316 (see FIG. 15) described later that actually determines the print direction.

続いて、印刷用のハーフトーン処理ブロック100のハンドルを往路用のハンドル130aとし、さらにオーバーラップ用(誤差計算用)のハーフトーン処理ブロック100のハンドルを復路用のハンドル130bと規定する(S308)。すなわち、第1ハーフトーン処理手段110が往路用のハンドル130aを利用し、第2ハーフトーン処理手段120が復路用のハンドル130bを利用するものと仮定する。なお、S306で“No”と判定した場合は、印刷ヘッド47の移動方向が変わらないものとして、S307を省略し、S308に移行する。   Subsequently, the handle of the halftone processing block 100 for printing is defined as the forward handle 130a, and the handle of the halftone processing block 100 for overlap (for error calculation) is defined as the handle 130b for returning (S308). . That is, it is assumed that the first halftone processing means 110 uses the forward handle 130a and the second halftone processing means 120 uses the return handle 130b. If it is determined as “No” in S306, it is assumed that the moving direction of the print head 47 does not change, S307 is omitted, and the process proceeds to S308.

続いて、ビットマップのラスタの印刷時の方向が“復路”であるか否かを判別する(S309)。例えばバンドの最初のラスタである場合は、S307で“往路”と規定しているため、S309では“No”と判定する。一方、ビットマップのラスタの印刷時の方向が“復路”である場合は、印刷用のハーフトーン処理ブロック100のハンドルを復路用のハンドル130bとし、さらにオーバーラップ用のハーフトーン処理ブロック100のハンドルを往路用のハンドル130aと規定する(S310)。   Subsequently, it is determined whether or not the bitmap raster printing direction is “return” (S309). For example, in the case of the first raster of the band, since “outbound” is defined in S307, “No” is determined in S309. On the other hand, when the bitmap raster printing direction is “return”, the handle of the halftone processing block 100 for printing is set to the handle 130b for returning, and the handle of the halftone processing block 100 for overlap is further used. Is defined as a forward handle 130a (S310).

続いて、最初の出力ではなく、ヘッドの高さ分のラスタを処理するまでの残りラスタ数がオーバーラップを行うラスタ数(3ラスタ)以下であるか否かを判別する(S311)。例えばバンドの最初のラスタである場合は、最初の出力であるから“false”と判定し、印刷用のハーフトーン処理ブロック100のハンドルを用いてハーフトーン処理を行う(S312)。すなわち、当該S312は、第1ハーフトーン処理手段110による処理である。また、S311で“true”と判定した場合は、オーバーラップ用のハーフトーン処理ブロック100のハンドルを用いてハーフトーン処理を行う(S313)。すなわち、当該S312は、第2ハーフトーン処理手段120による処理であり、その処理結果は使わない(各データバッファ36a,36bに一旦書き込むが、後に上書きされる)。また、S311で“true”と判定した場合は、S312の処理(第1ハーフトーン処理手段110による処理)も同時に行う(オーバーラップ処理する)。   Subsequently, it is determined whether the number of rasters remaining until the raster corresponding to the height of the head is not the first output or less is equal to or less than the number of rasters to be overlapped (3 rasters) (S311). For example, if it is the first raster of the band, it is determined as “false” because it is the first output, and halftone processing is performed using the handle of the halftone processing block 100 for printing (S312). That is, S312 is processing by the first halftone processing unit 110. If it is determined as “true” in S311, halftone processing is performed using the handle of the overlapping halftone processing block 100 (S313). That is, S312 is processing by the second halftone processing unit 120, and the processing result is not used (although it is once written in the data buffers 36a and 36b, it is overwritten later). If it is determined as “true” in S311, the processing in S312 (processing by the first halftone processing unit 110) is also performed (overlap processing).

続いて、その方向の最初のラスタであるか否かを判別し(S314)、最初のラスタである場合(例えばバンドの最初のラスタである場合)は(S314:true)、ハーフトーン結果が空白であるか否かを判別する(S315)。ここで、ハーフトーン結果に基づいて判別するのは、ハーフトーン処理によって空白ラスタであるはずの所に有効画素が発生する可能性があるためである。ここで、ハーフトーン結果が空白で無い場合、すなわち印刷すべき有効画素が存在する場合は(S315:No)、ヘッド移動方向をビットマップのラスタの印刷時の方向と決定し、最新の(前回の)出力バンドの開始ラスタ位置を現在のラスタ位置に書き換え、S305(図14参照)に戻る。なお、S316において決定するヘッド移動方向は、S307(図14参照)で仮定した方向、すなわち“往路”である。   Subsequently, it is determined whether or not it is the first raster in that direction (S314). If it is the first raster (for example, the first raster of the band) (S314: true), the halftone result is blank. It is determined whether or not (S315). Here, the reason why the determination is made based on the halftone result is that there is a possibility that an effective pixel is generated at a place where the blank raster is supposed to be generated by the halftone process. Here, if the halftone result is not blank, that is, if there is an effective pixel to be printed (S315: No), the head moving direction is determined as the direction for printing the bitmap raster, and the latest (previous) The starting raster position of the output band is rewritten to the current raster position, and the process returns to S305 (see FIG. 14). Note that the head movement direction determined in S316 is the direction assumed in S307 (see FIG. 14), that is, the “outward path”.

また、S314で“false”と判定した場合、すなわち最初のラスタで無い場合は、空白チェック(S315)は不用であるため、無駄な処理を避けるべく、直接S305に戻る。また、S315で“Yes”と判定した場合、すなわち空白ラスタの場合も、S316を省略してS305に戻る。   If it is determined as “false” in S314, that is, if it is not the first raster, the blank check (S315) is unnecessary, and the process directly returns to S305 to avoid useless processing. Also, if “Yes” is determined in S315, that is, in the case of a blank raster, S316 is omitted and the process returns to S305.

以上説明したとおり、本実施形態によれば、カラーマッチング処理において、往路画像データと復路画像データに対し、それぞれ往路用色処理LUT33aと復路用色処理LUT33bを参照するため、実験値に基づいて色むらを解消できるように各色処理LUTを設計することで、印刷方向の違いを起因とする色むらを解消することができる。また、各色処理テーブル33a,33b上に存在しない値は、補間演算モジュール27の補間演算処理によって推定するため、膨大な色変換のパターンを記載した色処理LUT33a,33bを用いなくても良い。   As described above, according to the present embodiment, in the color matching processing, the forward color processing LUT 33a and the backward color processing LUT 33b are referred to for the forward image data and the backward image data, respectively. By designing each color processing LUT so that unevenness can be eliminated, it is possible to eliminate unevenness in color caused by a difference in printing direction. In addition, since values that do not exist on the color processing tables 33a and 33b are estimated by the interpolation calculation process of the interpolation calculation module 27, it is not necessary to use the color processing LUTs 33a and 33b describing a huge color conversion pattern.

また、補間演算モジュール27は、各色処理LUT33a,33b上に決定したRGBの値に対応するCMYKの値が存在しない場合のみ補間演算処理を実行し、各色処理LUT33a,33b上にCMYKの値が存在する場合は、その値を用いてインク吐出量を決定するため、無駄な処理を省略することができる。また、搭載する機器の(色処理LUT33a,33bを記憶する)メモリ容量と、(補間演算処理を制御する)制御能力とに応じて、各色処理LUT33a,33bのデータ量を決定することができる。すなわち、メモリ容量に制限がない場合は、色処理LUT33a,33bのデータ量を大きくすることによって制御負荷を軽減することができ、高性能なCPUを用いる場合は、各色処理LUT33a,33bのデータ量を小さくすることができる。   The interpolation calculation module 27 executes the interpolation calculation process only when there is no CMYK value corresponding to the determined RGB value on each color processing LUT 33a, 33b, and the CMYK value exists on each color processing LUT 33a, 33b. In this case, since the ink discharge amount is determined using the value, useless processing can be omitted. Also, the data amount of each color processing LUT 33a, 33b can be determined according to the memory capacity (stores the color processing LUTs 33a, 33b) and the control capability (controlling the interpolation calculation processing) of the installed device. That is, when the memory capacity is not limited, the control load can be reduced by increasing the data amount of the color processing LUTs 33a and 33b. When a high-performance CPU is used, the data amount of the color processing LUTs 33a and 33b. Can be reduced.

また、ハーフトーン処理において、往路画像データまたは復路画像データの通常のハーフトーン処理に先行して誤差計算用のハーフトーン処理を行い、それによって発生した先行誤差値を往路用誤差バッファ35aまたは復路用誤差バッファ35bに記憶させておくため、データバッファ36a,36bの切替時に誤差バッファ35a,35bがクリアになっていることがない。すなわち、印刷ヘッド47の移動方向切替時に誤差拡散処理を開始すると、誤差がクリアされてしまうため、ドットの発生遅れが顕著になってしまうが、第1ハーフトーン処理手段110は、第2ハーフトーン処理手段120によって計算された先行誤差値の伝搬を受けて(予め誤差バッファ35a,35bに記憶されている先行誤差値を用いて)ハーフトーン処理を開始することができるため、印刷画像上に不自然な不連続が発生することを防止することができる。したがって、往路印刷用と復路印刷用の2つのデータバッファ36a,36bを切り替えて用いる場合であっても、データバッファ36a,36bの切替時における画質の低下を防止することができる。   Further, in the halftone process, the halftone process for error calculation is performed prior to the normal halftone process of the forward path image data or the backward path image data, and the preceding error value generated thereby is used as the forward path error buffer 35a or the backward path data. Since it is stored in the error buffer 35b, the error buffers 35a and 35b are not cleared when the data buffers 36a and 36b are switched. That is, if the error diffusion process is started when the moving direction of the print head 47 is switched, the error is cleared, so that the delay of dot generation becomes significant. However, the first halftone processing unit 110 does not perform the second halftone. Since the halftone process can be started by receiving the propagation of the preceding error value calculated by the processing means 120 (using the preceding error value stored in the error buffers 35a and 35b in advance), it is not displayed on the printed image. It is possible to prevent natural discontinuities from occurring. Accordingly, even when the two data buffers 36a and 36b for forward printing and backward printing are switched and used, it is possible to prevent the image quality from being deteriorated when the data buffers 36a and 36b are switched.

また、第2ハーフトーン処理手段120による誤差計算用のハーフトーン処理は、各部分画像データの先端部における3ラスタだけで良いため、第2ハーフトーン処理手段120で全ラスタ(360ラスタ)の処理を行う場合と比較して、制御負荷を1/120(3/360)に軽減することができる。   Further, since the halftone processing for error calculation by the second halftone processing unit 120 may be only three rasters at the front end of each partial image data, the second halftone processing unit 120 processes all rasters (360 rasters). The control load can be reduced to 1/120 (3/360) as compared with the case of performing.

また、2つのデータバッファ36a,36bは、往路印刷用と復路印刷用とに分けられているため、印刷方向の切替と同期して使用するデータバッファ36a,36bを切り替えれば良く、制御が容易である。   Further, since the two data buffers 36a and 36b are divided into forward printing and backward printing, the data buffers 36a and 36b to be used may be switched in synchronization with the switching of the printing direction, and the control is easy. is there.

次に、図16を参照し、本発明の第2実施形態を説明する。上記の第1実施形態では、ハーフトーン処理時に、往路印刷用と復路印刷用とで2つのデータバッファ36a,36bを用いるものとしたが(図11参照)、本実施形態では、データバッファ236が1つである点で異なる。そこで、上記の第1実施形態と異なる点を中心に説明する。   Next, a second embodiment of the present invention will be described with reference to FIG. In the first embodiment, the two data buffers 36a and 36b are used for the forward pass printing and the backward pass printing during the halftone process (see FIG. 11). However, in the present embodiment, the data buffer 236 is used. It is different in that it is one. Therefore, the description will focus on the differences from the first embodiment.

図16に示すように、本実施形態のハーフトーン処理ブロック200は、通常のハーフトーン処理を行う第1ハーフトーン処理手段210と、誤差計算用のハーフトーン処理を行う第2ハーフトーン処理手段220と、2つのハンドル230a,230bとを備えている。また、第1ハーフトーン処理手段210と第2ハーフトーン処理手段220が、それぞれハンドル230a,230bを切り替えて用いる点、並びに各ハンドル230a,230bに、それぞれ誤差バッファ(奇数誤差バッファ,偶数誤差バッファ)235a,235bを備えている点については、第1実施形態と同様である。なお、この他第1実施形態と同様、各ハンドル230a,230bに、それぞれ色処理LUT33a,33bおよびドット発生LUT34a,34bを備えても良いし、共通する色処理LUTおよびドット発生LUTを第1ハーフトーン処理手段210および第2ハーフトーン処理手段220の両方が参照するようにしても良い。   As shown in FIG. 16, the halftone processing block 200 of the present embodiment includes a first halftone processing unit 210 that performs normal halftone processing and a second halftone processing unit 220 that performs halftone processing for error calculation. And two handles 230a and 230b. In addition, the first halftone processing unit 210 and the second halftone processing unit 220 switch and use the handles 230a and 230b, respectively, and each handle 230a and 230b has an error buffer (odd error buffer and even error buffer). About the point provided with 235a, 235b, it is the same as that of 1st Embodiment. In addition, as in the first embodiment, the handles 230a and 230b may be provided with color processing LUTs 33a and 33b and dot generation LUTs 34a and 34b, respectively, and the common color processing LUT and dot generation LUT are provided in the first half. Both the tone processing unit 210 and the second halftone processing unit 220 may be referred to.

ここで、本実施形態におけるハーフトーン処理ブロック200の処理について説明する。ハーフトーン処理ブロック200が、カラーマッチング処理後の第1部分画像データ(往路画像データ)を取得すると、まず第1ハーフトーン処理手段210により通常のハーフトーン処理を行い、その結果発生した誤差値を、往路用のハンドル230a内の誤差バッファ235aに記憶させる。また、第1ハーフトーン処理手段210の処理結果は、データバッファ236に記憶させる。   Here, the processing of the halftone processing block 200 in the present embodiment will be described. When the halftone processing block 200 acquires the first partial image data (outbound image data) after the color matching processing, first, the first halftone processing unit 210 performs normal halftone processing, and the error value generated as a result is displayed. And stored in the error buffer 235a in the handle 230a for the forward path. The processing result of the first halftone processing unit 210 is stored in the data buffer 236.

そして、第1部分画像データの残り3ラスタ目(358ラスタ目)の処理を開始するときに、同時に第2ハーフトーン処理手段220による第2部分画像データの誤差計算用のハーフトーン処理を開始する。この結果発生した誤差値(先行誤差値)は、復路用のハンドル230b内の誤差バッファ235bに記憶させ、処理結果は、図示しない他の記憶領域に記憶させておく。当該他の記憶領域には、この後も第2ハーフトーン処理手段220による3ラスタ分の処理結果が書き込まれていくが、当該処理結果は順次上書きされていくものであり、特に利用されない。   Then, when processing of the remaining third raster (358th raster) of the first partial image data is started, halftone processing for error calculation of the second partial image data by the second halftone processing unit 220 is started at the same time. . The error value (preceding error value) generated as a result is stored in the error buffer 235b in the return path handle 230b, and the processing result is stored in another storage area (not shown). Thereafter, the processing results for three rasters by the second halftone processing means 220 are written in the other storage area, but the processing results are overwritten sequentially and are not particularly used.

続いて、第1ハーフトーン処理手段210による第1部分画像データの処理を終えると、印刷方向の切替に伴って、第1ハーフトーン処理手段210は、復路用のハンドル230b内の誤差バッファ235bに既に記憶されている3ラスタ分の誤差値を用いて第2部分画像データの処理を開始する。同図は、第1ハーフトーン処理手段210による第2部分画像データの処理開始時の状態を示したものである。このように、既に誤差バッファ235a,235bに記憶されている誤差値を用いて、各部分画像データの処理を開始するため、誤差値がクリアされることが無く、良好な画質を得ることができる。なお、第1ハーフトーン処理手段210による第2部分画像データの処理結果も、第1部分画像データの処理結果煮続けてデータバッファ236内に記憶させ、データバッファ236は所定量のデータが蓄積された時点で、コマンド変換バッファ37にデータを出力する(データ出力手段)。また、各誤差バッファ235a,235bは、誤差計算用に切り替わった時点で初期化される。   Subsequently, when the processing of the first partial image data by the first halftone processing unit 210 is completed, the first halftone processing unit 210 stores the error buffer 235b in the return path handle 230b as the printing direction is switched. The processing of the second partial image data is started using the error values for the three rasters already stored. This figure shows a state at the start of processing of the second partial image data by the first halftone processing means 210. In this way, since the processing of each partial image data is started using the error values already stored in the error buffers 235a and 235b, the error values are not cleared and a good image quality can be obtained. . The processing result of the second partial image data by the first halftone processing unit 210 is also stored in the data buffer 236 continuously with the processing result of the first partial image data, and the data buffer 236 stores a predetermined amount of data. At this point, data is output to the command conversion buffer 37 (data output means). Each error buffer 235a, 235b is initialized at the time of switching to error calculation.

以上説明したとおり、本実施形態によれば、通常のハーフトーン処理に先行して誤差計算用のハーフトーン処理を行い、それによって発生した先行誤差値を各誤差バッファ235a,235bに記憶させておき、これらを用いて通常の部分画像データのハーフトーン処理を開始するため、ハーフトーン処理の開始時に各誤差バッファ235a,235bがクリアになっていることがない(切替直後は各誤差バッファ235a,235bに先行誤差値が既に記憶されているため)。すなわち、第1ハーフトーン処理手段210は、処理する部分画像データに応じて参照する誤差バッファ235a,235bを切り替えるだけで、第2ハーフトーン処理手段220によって計算された先行誤差値の伝搬を受けた(予め誤差バッファ235a,235bに記憶されている先行誤差値を用いた)ハーフトーン処理を開始することができるため、誤差バッファ235a,235bの初期化に伴う画質の低下を解消することができる。   As described above, according to this embodiment, halftone processing for error calculation is performed prior to normal halftone processing, and the preceding error value generated thereby is stored in each error buffer 235a, 235b. Since these are used to start normal halftone processing of partial image data, the error buffers 235a and 235b are not cleared at the start of halftone processing (immediately after switching, the error buffers 235a and 235b are not cleared). Because the leading error value is already stored in That is, the first halftone processing unit 210 has received the propagation of the preceding error value calculated by the second halftone processing unit 220 only by switching the error buffers 235a and 235b to be referred to according to the partial image data to be processed. Since the halftone process (using the preceding error value stored in advance in the error buffers 235a and 235b) can be started, it is possible to eliminate the deterioration in image quality caused by the initialization of the error buffers 235a and 235b.

また、第1実施形態と比較してデータバッファ236を1つだけ備えればよいため、ハーフトーン処理ブロック200の構成を簡素化できるといった利点もある。   Further, since only one data buffer 236 is required as compared with the first embodiment, there is an advantage that the configuration of the halftone processing block 200 can be simplified.

なお、上記の例では、バンド(印刷ヘッドの一回の主走査で印刷可能な領域)単位で部分画像データを分割するものとしたが、複数バンド単位でも良いし、ページ単位であっても良い。すなわち画像データは、画像処理後のデータの利用形態や、画像処理性能に応じて、任意のデータサイズの部分画像データに分割可能である。この構成によれば、部分画像データのデータ量に応じて、2つの誤差バッファ235a,235bの容量を決定することができるため、誤差バッファ235a,235bに要するメモリ容量を節約することができる。すなわち、部分画像データをページ単位とした場合は、1ページ分の誤差値を記憶できるだけの容量で良く、長尺印刷を行う場合のように、複数のページに跨った連続画像を印刷することを想定した大容量の誤差バッファを設ける必要がない。   In the above example, the partial image data is divided in units of bands (areas that can be printed by one main scan of the print head), but may be in units of multiple bands or in units of pages. . That is, the image data can be divided into partial image data having an arbitrary data size in accordance with the use form of the data after image processing and the image processing performance. According to this configuration, since the capacities of the two error buffers 235a and 235b can be determined according to the data amount of the partial image data, the memory capacity required for the error buffers 235a and 235b can be saved. That is, when the partial image data is in units of pages, the capacity may be sufficient to store an error value for one page, and a continuous image across a plurality of pages may be printed as in the case of long printing. There is no need to provide an assumed large-capacity error buffer.

次に、図17を参照し、本発明の第3実施形態を説明する。上記の第2実施形態では、往路印刷用の誤差バッファ(奇数番目の部分画像データの誤差値を記憶させる誤差バッファ)235aと、復路印刷用の誤差バッファ(偶数番目の部分画像データの誤差値を記憶させる誤差バッファ)235bとを備え、第1ハーフトーン処理手段210および第2ハーフトーン処理手段220が参照する(書き込み対象となる)誤差バッファ235a,235bを切り替えるものとしたが、本実施形態では、通常誤差バッファ331と先行誤差バッファ332とを備え、第1ハーフトーン処理手段310によって発生した誤差値を通常誤差バッファ31に、また第2ハーフトーン処理手段320によって発生した誤差値を先行誤差バッファ332に書き込むようにした点で異なる。そこで、上記の第2実施形態と異なる点を中心に説明する。   Next, a third embodiment of the present invention will be described with reference to FIG. In the second embodiment, an error buffer for forward printing (an error buffer for storing error values of odd-numbered partial image data) 235a and an error buffer for backward printing (error values of even-numbered partial image data are stored). (Error buffer to be stored) 235b, and the error buffers 235a and 235b to be referred to (written to) by the first halftone processing unit 210 and the second halftone processing unit 220 are switched. A normal error buffer 331 and a preceding error buffer 332, the error value generated by the first halftone processing unit 310 is stored in the normal error buffer 31, and the error value generated by the second halftone processing unit 320 is stored in the preceding error buffer. It is different in that the data is written to 332. Therefore, the description will focus on the differences from the second embodiment.

図17に示すように、本実施形態のハーフトーン処理ブロック300は、通常のハーフトーン処理を行う第1ハーフトーン処理手段310と、誤差計算用のハーフトーン処理を行う第2ハーフトーン処理手段320と、通常誤差バッファ331と、先行誤差バッファ332と、を備えている。なお、第2実施形態と同様、色処理LUTやドット発生LUTを有するハンドル内に各誤差バッファ331,332を備えるようにしても良いし、共通する色処理LUTおよびドット発生LUTを各ハーフトーン処理手段310,320が参照するようにしても良い。   As shown in FIG. 17, the halftone processing block 300 of this embodiment includes a first halftone processing unit 310 that performs normal halftone processing and a second halftone processing unit 320 that performs halftone processing for error calculation. A normal error buffer 331 and a preceding error buffer 332. As in the second embodiment, the error buffers 331 and 332 may be provided in the handle having the color processing LUT and the dot generation LUT, or the common color processing LUT and the dot generation LUT are each halftone processed. The means 310 and 320 may be referred to.

ここで、本実施形態におけるハーフトーン処理ブロック300の処理について説明する。ハーフトーン処理ブロック300が、カラーマッチング処理後の第1部分画像データ(往路画像データ)を取得すると、まず第1ハーフトーン処理手段310が通常のハーフトーン処理を行い、その結果発生した誤差値を、通常誤差バッファ331に記憶させる。また、第1ハーフトーン処理手段310の処理結果は、データバッファ336に記憶させる。   Here, the processing of the halftone processing block 300 in the present embodiment will be described. When the halftone processing block 300 obtains the first partial image data (outbound image data) after the color matching processing, the first halftone processing means 310 first performs normal halftone processing, and the error value generated as a result is displayed. And stored in the normal error buffer 331. Further, the processing result of the first halftone processing means 310 is stored in the data buffer 336.

そして、第1ハーフトーン処理手段310が第1部分画像データの残り3ラスタ目(358ラスタ目)の処理を開始するときに、同時に第2ハーフトーン処理手段320による第2部分画像データの誤差計算用のハーフトーン処理を開始する。この結果発生した誤差値(先行誤差値)は先行誤差バッファ332に記憶させ、処理結果は、第2実施形態と同様に図示しない他の記憶領域に記憶させておく。   When the first halftone processing unit 310 starts processing the remaining third raster (358th raster) of the first partial image data, the second halftone processing unit 320 calculates the error of the second partial image data at the same time. Start halftone processing for The error value (preceding error value) generated as a result is stored in the preceding error buffer 332, and the processing result is stored in another storage area (not shown) as in the second embodiment.

続いて、第1ハーフトーン処理手段310による第1部分画像データの処理を終えると、印刷方向の切替に伴って通常誤差バッファ331は初期化される。また、第1ハーフトーン処理手段310は、先行誤差バッファ332に既に記憶されている3ラスタ分の誤差値を読み出して通常誤差バッファ331に書き込み、当該誤差値を用いて第2部分画像データの処理を開始する。なお、読み出した誤差値を通常誤差バッファ331に書き込むのではなく、第1ハーフトーン処理手段310が先行誤差バッファ332に記憶されている先行誤差値を参照しながら第2部分画像データの処理を開始するようにしても良い。このように、第1ハーフトーン処理手段310は、先行誤差バッファ332に記憶されている先行誤差値を用いて、各部分画像データの処理を開始するため、誤差値が0のハーフトーン処理結果となることが無く、良好な画質を得ることができる。なお、先行誤差バッファ332に記憶されている先行誤差値は順次上書きされていくため、先行誤差バッファ332は初期化されない。   Subsequently, when the processing of the first partial image data by the first halftone processing unit 310 is completed, the normal error buffer 331 is initialized as the printing direction is switched. The first halftone processing unit 310 reads out the error values for three rasters already stored in the preceding error buffer 332, writes them into the normal error buffer 331, and processes the second partial image data using the error values. To start. The first halftone processing unit 310 starts processing the second partial image data while referring to the preceding error value stored in the preceding error buffer 332, instead of writing the read error value in the normal error buffer 331. You may make it do. In this way, the first halftone processing unit 310 uses the preceding error value stored in the preceding error buffer 332 to start processing each partial image data. Therefore, good image quality can be obtained. The preceding error buffer 332 is not initialized because the preceding error values stored in the preceding error buffer 332 are sequentially overwritten.

以上説明したとおり、誤差計算用のハーフトーン処理によって発生した先行誤差値を先行誤差バッファ332に記憶させておき、これを用いて通常のハーフトーン処理を開始するため、先行誤差値の伝搬を受けることができる(予め先行誤差バッファ332に記憶されている先行誤差値を用いてハーフトーン処理を開始することができる)。すなわち、誤差値の連続性を失うことなく部分画像データのハーフトーン処理を継続することができるため、通常誤差バッファ331の初期化に伴う画質の低下を解消することができる。また、先行誤差バッファ332の容量は、3ラスタ分の誤差値を記憶するだけの小容量で良いため、先行誤差バッファ332に要するメモリ容量も節約することができる。   As described above, the preceding error value generated by the halftone processing for error calculation is stored in the preceding error buffer 332, and the normal halftone processing is started using this, so that the preceding error value is propagated. (The halftone process can be started using the preceding error value stored in advance in the preceding error buffer 332). That is, since the halftone process of the partial image data can be continued without losing the continuity of the error value, it is possible to eliminate the deterioration in image quality caused by the initialization of the normal error buffer 331. Further, since the capacity of the preceding error buffer 332 may be small enough to store error values for three rasters, the memory capacity required for the preceding error buffer 332 can be saved.

なお、第2実施形態と同様、本実施形態においても、画像処理後のデータの利用形態や、画像処理性能に応じて、部分画像データを任意の単位に設定可能である。   Similar to the second embodiment, in this embodiment, the partial image data can be set in arbitrary units according to the use form of the data after image processing and the image processing performance.

以上、3つの実施形態により本発明を説明したが、上記の実施形態のように、色変換処理やハーフトーン処理を実現する画像処理モジュール26を、ホストコンピュータ20内に備えるのではなく(図1参照)、プリンタ40内に備えるようにしても良い。すなわち、プリンタ40のファームウェアの一部として画像処理モジュール26を搭載しても良い。また、印刷システム10以外にも、画像処理を実行可能なシステムや装置であれば、本発明を適用可能である。   Although the present invention has been described with three embodiments, the image processing module 26 that realizes color conversion processing and halftone processing is not provided in the host computer 20 as in the above embodiments (FIG. 1). For example, the printer 40 may be provided. That is, the image processing module 26 may be mounted as a part of the firmware of the printer 40. In addition to the printing system 10, the present invention can be applied to any system or apparatus that can execute image processing.

また、誤差計算用のハーフトーン処理は、各部分画像データの先端部における3ラスタであるものとしたが、4ラスタや5ラスタなど、その値は適宜変更可能である。但し、制御負荷を考慮すると、10ラスタ以下であることが好ましい。   Further, the halftone processing for error calculation is assumed to be 3 rasters at the tip of each partial image data, but the value thereof can be changed as appropriate, such as 4 rasters or 5 rasters. However, considering the control load, it is preferably 10 rasters or less.

また、上記の誤差計算を行うラスタ数を設定する手段、すなわちGUI等によりユーザが容易にラスタ数を変更することができる手段を設けることが好ましい。この構成によれば、ユーザの好みや画像データの種類に応じて、ラスタ数を設定することができる。   Further, it is preferable to provide means for setting the number of rasters for performing the error calculation, that is, means for allowing the user to easily change the number of rasters by using a GUI or the like. According to this configuration, the number of rasters can be set according to the user's preference and the type of image data.

また、上記の実施形態に示した、画像処理モジュール26の機能をプログラムとして提供することも可能である。また、そのプログラムを記録媒体(図示省略)に格納して提供することも可能である。記録媒体としては、CD−ROM、フラッシュROM、メモリカード(コンパクトフラッシュ(登録商標)、スマートメディア、メモリスティック等)、コンパクトディスク、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク、ハードディスク等を利用可能である。   It is also possible to provide the function of the image processing module 26 shown in the above embodiment as a program. Further, the program can be provided by being stored in a recording medium (not shown). CD-ROM, flash ROM, memory card (compact flash (registered trademark), smart media, memory stick, etc.), compact disk, magneto-optical disk, digital versatile disk, flexible disk, hard disk, etc. can be used as the recording medium. is there.

また、上記の実施形態における印刷システム10やハーフトーン処理ブロック100,200,300の例によらず、装置構成、システム構成、印刷方式、処理工程等について、本発明の要旨を逸脱しない範囲で、適宜変更も可能である。すなわち、上記に示したインクジェットプリンタのみ成らず、感熱転写方式やワイヤドット方式等の印刷方式に本発明を適用しても良い。また、印刷媒体についても、単票紙ではなくレシート紙であっても良いし、用紙以外の記録媒体でも良い。   Further, regardless of the example of the printing system 10 and the halftone processing blocks 100, 200, and 300 in the above-described embodiment, the apparatus configuration, system configuration, printing method, processing process, and the like are within the scope not departing from the gist of the present invention. Changes can be made as appropriate. That is, the present invention may be applied not only to the ink jet printer described above but also to a printing method such as a thermal transfer method or a wire dot method. Also, the print medium may be a receipt paper instead of a cut sheet, or a recording medium other than paper.

また、上記の実施形態では、印刷ヘッド47からインクを吐出して画像形成を行うことを「印刷」と称したが、文字や図形を形成するか否か、また形成したものが視覚可能か否かに関わらず、広く記録媒体上に画像およびパターンを形成する場合にも、本発明を適用可能である。また、「インク」とは、広く着色剤を含むものであり、その種別(染料系インクや顔料系インクなど)は問わない。   In the above-described embodiment, the image formation by ejecting ink from the print head 47 is referred to as “printing”. However, whether or not characters or figures are formed and whether or not the formed one is visually visible. Regardless of this, the present invention can also be applied to the case where images and patterns are widely formed on a recording medium. In addition, “ink” widely includes a colorant, and the type (dye ink, pigment ink, etc.) does not matter.

本発明の一実施形態に係る印刷システムのブロック図である。1 is a block diagram of a printing system according to an embodiment of the present invention. キャリッジの構成を示す図である。It is a figure which shows the structure of a carriage. キャリッジの動作を説明するための図である。It is a figure for demonstrating operation | movement of a carriage. プリンタドライバにおける各種処理の概要を示すフローチャートである。3 is a flowchart illustrating an overview of various processes in a printer driver. 色処理LUTの一例を示す図である。It is a figure which shows an example of a color processing LUT. カラーマッチング処理を示すフローチャートである。It is a flowchart which shows a color matching process. 補間演算処理を説明するための図である。It is a figure for demonstrating an interpolation calculation process. 図7に続く説明図である。It is explanatory drawing following FIG. ハーフトーン処理ブロックの構成図である。It is a block diagram of a halftone processing block. ハーフトーン処理を説明するための図である。It is a figure for demonstrating a halftone process. ハンドルの切替を説明するための図である。It is a figure for demonstrating switching of a handle | steering-wheel. 図11に続く説明図である。It is explanatory drawing following FIG. 印刷ジョブの処理を示すフローチャートである。6 is a flowchart illustrating processing of a print job. 印刷ジョブの処理の一部であるバンドごとの印刷処理のフローチャートである。6 is a flowchart of print processing for each band, which is a part of print job processing. 図14に続くフローチャートである。It is a flowchart following FIG. 本発明の第2実施形態に係るハーフトーン処理を説明するための図である。It is a figure for demonstrating the halftone process which concerns on 2nd Embodiment of this invention. 本発明の第3実施形態に係るハーフトーン処理を説明するための図である。It is a figure for demonstrating the halftone process which concerns on 3rd Embodiment of this invention.

符号の説明Explanation of symbols

10:印刷システム,20:ホストコンピュータ,23:プリンタドライバ,26:画像処理モジュール,31:カラーマッチング&ハーフトーンモジュール,33:色処理LUT,34:ドット発生LUT,35:誤差バッファ,36:データバッファ,40:プリンタ,43:印刷部,44:キャリッジ,47:印刷ヘッド,51:印刷媒体,100:ハーフトーン処理ブロック,110:第1ハーフトーン処理手段,120:第2ハーフトーン処理手段,130:ハンドル,D:画像データ,D1〜Dn:部分画像データ   10: printing system, 20: host computer, 23: printer driver, 26: image processing module, 31: color matching & halftone module, 33: color processing LUT, 34: dot generation LUT, 35: error buffer, 36: data Buffer: 40: Printer, 43: Printing section, 44: Carriage, 47: Print head, 51: Print medium, 100: Halftone processing block, 110: First halftone processing means, 120: Second halftone processing means, 130: Handle, D: Image data, D1 to Dn: Partial image data

Claims (7)

印刷対象となる画像データを記憶または生成するホストコンピュータと、当該ホストコンピュータからの指示に基づき、複数色の着色剤を用いて往復印刷を行うプリンタと、から成る印刷システムであって、
前記複数色の着色剤の混合比率を決定するための色処理テーブルと、
前記色処理テーブル上に存在しない値を推定するための補間演算処理を行う補間演算モジュールと、
前記画像データに対し、前記色処理テーブルおよび前記補間演算モジュールを用いて、前記複数色の着色剤に応じた色変換処理を行う色変換処理手段と、
前記色変換処理後のデータに基づいて、前記プリンタにより前記往復印刷を行う印刷手段と、を備え、
前記色処理テーブルは、往路印刷用と復路印刷用との2つの色処理テーブルから成り、
前記色変換処理手段は、
前記画像データを、往路印刷用の往路画像データと復路印刷用の復路画像データとに分解し、それぞれ前記往路印刷用と前記復路印刷用との色処理テーブルを参照して、色変換処理を行うことを特徴とする印刷システム。
A printing system comprising: a host computer that stores or generates image data to be printed; and a printer that performs reciprocal printing using a plurality of colorants based on instructions from the host computer,
A color processing table for determining a mixing ratio of the colorants of the plurality of colors;
An interpolation calculation module that performs an interpolation calculation process for estimating a value that does not exist on the color processing table;
Color conversion processing means for performing color conversion processing on the image data according to the colorants of the plurality of colors using the color processing table and the interpolation calculation module;
Printing means for performing the reciprocal printing by the printer based on the data after the color conversion processing,
The color processing table comprises two color processing tables for forward printing and for backward printing.
The color conversion processing means includes
The image data is divided into forward image data for forward printing and backward image data for backward printing, and color conversion processing is performed with reference to the color processing tables for forward printing and backward printing, respectively. A printing system characterized by that.
前記色変換処理手段は、
前記往路画像データまたは前記復路画像データの画素毎に、加色混合の割合を決定する加色混合割合決定手段と、
決定した前記加色混合の割合に対応する減色混合の値が、それぞれ前記往路印刷用または前記復路印刷用の色処理テーブル上に存在するか否かを判別する色処理テーブル判別手段と、
前記色処理テーブル上に前記減色混合の割合が存在する場合、当該値を減色混合の割合として決定すると共に、前記色処理テーブル上に前記減色混合の割合が存在しない場合、前記補間演算モジュールを用いて前記補間演算処理を行うことにより減色混合の割合を決定する減色混合割合決定手段と、を有することを特徴とする請求項1に記載の印刷システム。
The color conversion processing means includes
Additive color mixing ratio determining means for determining a ratio of additive color mixing for each pixel of the forward path image data or the backward path image data;
Color processing table determining means for determining whether or not a value of subtractive color mixing corresponding to the determined ratio of additive color mixing exists on the color processing table for the forward printing or the backward printing, respectively;
When the ratio of subtractive color mixing is present on the color processing table, the value is determined as the ratio of subtractive color mixing, and when the ratio of subtractive color mixing is not present on the color processing table, the interpolation calculation module is used. The printing system according to claim 1, further comprising: a subtractive color mixing ratio determining unit configured to determine a subtractive color mixing ratio by performing the interpolation calculation process.
前記補間演算モジュールは、立方体補間、三角柱補間、四面体補間および六面体補間のうち、いずれかの補間法を用いて、前記補間演算処理を行うことを特徴とする請求項1または2に記載の印刷システム。   3. The printing according to claim 1, wherein the interpolation calculation module performs the interpolation calculation processing using any one of cubic interpolation, triangular prism interpolation, tetrahedral interpolation, and hexahedral interpolation. system. 前記色変換処理手段による色変換処理後の前記往路画像データおよび前記復路画像データに対し、それぞれハーフトーン処理を行う第1ハーフトーン処理手段と、
前記第1ハーフトーン処理手段による処理に先行して、誤差計算用のハーフトーン処理を行う第2ハーフトーン処理手段と、
前記第2ハーフトーン処理手段による前記往路画像データの処理によって発生した先行誤差値に続き、当該往路画像データの前記第1ハーフトーン処理手段によって発生した誤差値を記憶する往路用誤差バッファと、
前記第2ハーフトーン処理手段による前記復路画像データの処理によって発生した先行誤差値に続き、当該復路画像データの前記第1ハーフトーン処理手段によって発生した誤差値を記憶する復路用誤差バッファと、
前記第1ハーフトーン処理手段による前記往路画像データの処理結果を記憶する往路用データバッファと、
前記第1ハーフトーン処理手段による前記復路画像データの処理結果を記憶する復路用データバッファと、
前記往路用データバッファおよび前記復路用データバッファに記憶されている前記処理結果を、前記印刷手段による印刷用のデータとして交互に切り替えて出力するデータ出力手段と、を備え、
前記第1ハーフトーン処理手段は、前記往路用誤差バッファおよび前記復路用誤差バッファに記憶されている先行誤差値を用いて、それぞれ前記往路画像データおよび前記復路画像データのハーフトーン処理を開始することを特徴とする請求項1、2または3に記載の印刷システム。
First halftone processing means for performing halftone processing on the forward pass image data and the return pass image data after color conversion processing by the color conversion processing means;
Prior to processing by the first halftone processing means, second halftone processing means for performing halftone processing for error calculation;
A forward error buffer for storing an error value generated by the first halftone processing unit of the forward image data following the preceding error value generated by the processing of the forward image data by the second halftone processing unit;
A return error buffer for storing an error value generated by the first halftone processing unit of the return image data following the preceding error value generated by the processing of the return image data by the second halftone processing unit;
A forward data buffer for storing a processing result of the forward image data by the first halftone processing unit;
A return data buffer for storing the processing result of the return image data by the first halftone processing means;
Data output means for alternately switching and outputting the processing results stored in the forward path data buffer and the backward path data buffer as data for printing by the printing means,
The first halftone processing means starts halftone processing of the forward path image data and the backward path image data using the preceding error values stored in the forward path error buffer and the backward path error buffer, respectively. The printing system according to claim 1, 2, or 3.
請求項1、2または3に記載の印刷システムにおける色変換処理手段を備えていることを特徴とする画像処理装置。   An image processing apparatus comprising color conversion processing means in the printing system according to claim 1, 2 or 3. 請求項1、2または3に記載の印刷システムにおける色変換処理手段を備えていることを特徴とするプリンタドライバ。   A printer driver comprising color conversion processing means in the printing system according to claim 1. コンピュータを、請求項1、2または3に記載の印刷システムにおける色変換処理手段として機能させるためのプログラム。   The program for functioning a computer as a color conversion process means in the printing system of Claim 1, 2, or 3.
JP2005333761A 2005-11-18 2005-11-18 Printing system, image processor, printer driver, and program Pending JP2007136845A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005333761A JP2007136845A (en) 2005-11-18 2005-11-18 Printing system, image processor, printer driver, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005333761A JP2007136845A (en) 2005-11-18 2005-11-18 Printing system, image processor, printer driver, and program

Publications (1)

Publication Number Publication Date
JP2007136845A true JP2007136845A (en) 2007-06-07

Family

ID=38200283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005333761A Pending JP2007136845A (en) 2005-11-18 2005-11-18 Printing system, image processor, printer driver, and program

Country Status (1)

Country Link
JP (1) JP2007136845A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010221700A (en) * 2009-02-25 2010-10-07 Canon Inc Recording apparatus and processing method therefor
US8203754B2 (en) 2007-10-01 2012-06-19 Brother Kogyo Kabushiki Kaisha Color conversion device, program, and method
CN107428173A (en) * 2015-03-24 2017-12-01 精工爱普生株式会社 Printing equipment, printing process, print system, image processing apparatus and image processing method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002254709A (en) * 2001-02-28 2002-09-11 Canon Inc Printer and image forming device
JP2004246596A (en) * 2003-02-13 2004-09-02 Canon Inc Printing control device
JP2004328485A (en) * 2003-04-25 2004-11-18 Brother Ind Ltd Color conversion device, image-forming device, and color conversion program
JP2005196454A (en) * 2004-01-07 2005-07-21 Seiko Epson Corp Installation of color conversion lookup table for printer
JP2005246651A (en) * 2004-03-01 2005-09-15 Canon Finetech Inc Recording apparatus and recording system
JP2005278072A (en) * 2004-03-26 2005-10-06 Seiko Epson Corp Interpolating processor, interpolating processing method and interpolating processing program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002254709A (en) * 2001-02-28 2002-09-11 Canon Inc Printer and image forming device
JP2004246596A (en) * 2003-02-13 2004-09-02 Canon Inc Printing control device
JP2004328485A (en) * 2003-04-25 2004-11-18 Brother Ind Ltd Color conversion device, image-forming device, and color conversion program
JP2005196454A (en) * 2004-01-07 2005-07-21 Seiko Epson Corp Installation of color conversion lookup table for printer
JP2005246651A (en) * 2004-03-01 2005-09-15 Canon Finetech Inc Recording apparatus and recording system
JP2005278072A (en) * 2004-03-26 2005-10-06 Seiko Epson Corp Interpolating processor, interpolating processing method and interpolating processing program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8203754B2 (en) 2007-10-01 2012-06-19 Brother Kogyo Kabushiki Kaisha Color conversion device, program, and method
JP2010221700A (en) * 2009-02-25 2010-10-07 Canon Inc Recording apparatus and processing method therefor
CN107428173A (en) * 2015-03-24 2017-12-01 精工爱普生株式会社 Printing equipment, printing process, print system, image processing apparatus and image processing method
US10245842B2 (en) 2015-03-24 2019-04-02 Seiko Epson Corporation Printing device, printing method, printing system, image processing device, and image processing method

Similar Documents

Publication Publication Date Title
EP2107508B1 (en) Image processing apparatus and image processing method
JP5072349B2 (en) Image forming apparatus and control method thereof
JP4544141B2 (en) Image processing device, printer driver, printing system, program
JP2010017976A (en) Image forming apparatus and image forming method
JP7095545B2 (en) Image processing equipment, image processing methods, and printing equipment
JP2007136845A (en) Printing system, image processor, printer driver, and program
JP4665792B2 (en) Printing system and printing method
JP7219417B2 (en) Controller, printer and computer program
JP4544142B2 (en) Image processing device, printer driver, printing system, program
JP6307939B2 (en) Image forming apparatus and image forming method
JP5087851B2 (en) Inkjet printer, inkjet printer control method, printer system
JP2011076156A (en) Apparatus and method for processing image
JP2006110795A (en) Image forming apparatus and its control method
JP5528209B2 (en) Image processing apparatus and image processing method
JP2006168053A (en) Printer and its control method
JP2019142144A (en) Image formation apparatus, image formation method, image processing apparatus and image processing method
JP5929128B2 (en) Printing device
JP4456823B2 (en) Printing device that prints an image while grouping and storing the determination result of dot formation, and print control device therefor
JP2005354421A (en) Color space conversion device, color space conversion method, and image forming controller
JP2008162096A (en) Image forming apparatus and its control method
JP2006168052A (en) Printer and its control method
JP2019107810A (en) Image processing device, image processing method and inkjet recording device
JP6880707B2 (en) Image processing equipment, printing equipment, and computer programs
JP2008147885A (en) Image processing method and image processor
JP5714156B2 (en) Image processing apparatus and image processing method

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070405

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110105