JP2007184730A - Density correction table generating apparatus, density correction table generating method, program, and storage medium - Google Patents

Density correction table generating apparatus, density correction table generating method, program, and storage medium Download PDF

Info

Publication number
JP2007184730A
JP2007184730A JP2006000856A JP2006000856A JP2007184730A JP 2007184730 A JP2007184730 A JP 2007184730A JP 2006000856 A JP2006000856 A JP 2006000856A JP 2006000856 A JP2006000856 A JP 2006000856A JP 2007184730 A JP2007184730 A JP 2007184730A
Authority
JP
Japan
Prior art keywords
data point
density correction
correction table
interpolation
error
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.)
Granted
Application number
JP2006000856A
Other languages
Japanese (ja)
Other versions
JP4487932B2 (en
Inventor
Takashi Tani
宇 谷
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 JP2006000856A priority Critical patent/JP4487932B2/en
Publication of JP2007184730A publication Critical patent/JP2007184730A/en
Application granted granted Critical
Publication of JP4487932B2 publication Critical patent/JP4487932B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technology of generating a correction table whereby an interpolation error can be limited within a permissible range and the memory capacity required for which can be suppressed. <P>SOLUTION: The density correction table generating apparatus disclosed herein includes: an input output characteristic acquisition means for acquiring an input output characteristic of an image forming apparatus; an interpolation characteristic calculation means for calculating an interpolation characteristic between two points in the input output characteristic; an interpolation error calculation means for calculating a representative value of the interpolation errors; and a density correction table update means for adding a data point corresponding to the representative value to a density correction table stored in a storage means when the representative value satisfies a predetermined condition. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、画像形成装置により形成される画像の濃度むらを補正する技術に関する。   The present invention relates to a technique for correcting density unevenness of an image formed by an image forming apparatus.

インクジェットプリンタ等、液滴吐出機構を有する画像形成装置は、印刷の高速化のためにインクを吐出するノズルを複数有している。ここで、理想的にはすべてのノズルが均一な間隔で一列に配列されていることが望ましい。しかし、現実には製造技術上の問題からノズルの間隔には一定のばらつきが存在する。また、ノズルから吐出されるインクの量にばらつきが生じる場合もある。このような印刷ヘッドを用いて印刷を行うと、ヘッドから吐出されたインクは、ノズル間隔のばらつきに起因して着弾位置や大きさにばらつきが発生する。すなわち、用紙上に形成される画像(ドット)は、ノズルのばらつきを反映したものとなってしまう。特にラインヘッド型インクジェットプリンタのような用紙送り方向のみの1パス型の画像形成装置においては、このようなノズルのばらつきはいわゆるバンディング現象を引き起こす原因となる。   An image forming apparatus having a droplet discharge mechanism, such as an ink jet printer, has a plurality of nozzles that discharge ink in order to increase printing speed. Here, ideally, it is desirable that all the nozzles are arranged in a line at a uniform interval. However, in reality, there is a certain variation in the nozzle interval due to a problem in manufacturing technology. Also, there may be variations in the amount of ink ejected from the nozzles. When printing is performed using such a print head, the ink ejected from the head varies in landing positions and sizes due to variations in nozzle spacing. That is, the image (dot) formed on the paper reflects the nozzle variation. In particular, in a one-pass type image forming apparatus only in the paper feeding direction such as a line head type ink jet printer, such nozzle variation causes a so-called banding phenomenon.

ノズルのばらつきに起因するバンディング現象を抑制する技術として、画像処理によりノズルのばらつきを補償する技術がある(例えば特許文献1参照)。特許文献1には、ノズルのばらつきに起因する印刷濃度のむらを、補正テーブルにより補償する技術が開示されている。すなわち、特許文献1は、いわゆるベタパターンを印刷したときの印刷濃度に基づいて得られた補正係数をあらかじめ画像形成装置に記憶しておき、印刷時には画素の階調値に補正係数を乗じることにより濃度むらを補正する技術を開示している。
特開平1−129667号公報
As a technique for suppressing the banding phenomenon caused by nozzle variation, there is a technique for compensating nozzle variation by image processing (see, for example, Patent Document 1). Patent Document 1 discloses a technique for compensating for uneven printing density due to nozzle variation using a correction table. That is, in Patent Document 1, a correction coefficient obtained based on a printing density when a so-called solid pattern is printed is stored in an image forming apparatus in advance, and the gradation value of a pixel is multiplied by the correction coefficient at the time of printing. A technique for correcting density unevenness is disclosed.
Japanese Patent Laid-Open No. 1-129667

濃度補正の精度を上げる方法は様々なものが考えられる。中でも、補正テーブルに記憶するデータの数を増やすことが最も直接的な方法である。精度向上という観点からは、プリンタが出力可能な全階調値についてデータを記憶しておくことが望ましい。しかし、補正テーブルに記憶するデータ量が多くなると、そのぶん多くのメモリを確保しなければならないという問題が生じる。一方、省メモリ化の観点からは、補正テーブルに記憶するデータ量は少ないほうが望ましい。補正テーブルのデータ量を削減した場合、補正テーブルに記憶されたデータ間については、線形補間により補正値を算出する必要がある。しかし、入出力特性が線形性でない領域について線形補間をすると、補間による誤差が大きくなってしまうという問題があった。   There are various methods for increasing the accuracy of density correction. Among these, increasing the number of data stored in the correction table is the most direct method. From the viewpoint of improving accuracy, it is desirable to store data for all gradation values that can be output by the printer. However, as the amount of data stored in the correction table increases, there is a problem that a large amount of memory must be secured. On the other hand, from the viewpoint of saving memory, it is desirable that the amount of data stored in the correction table is small. When the data amount of the correction table is reduced, it is necessary to calculate correction values by linear interpolation between data stored in the correction table. However, when linear interpolation is performed on a region where the input / output characteristics are not linear, there is a problem that an error due to the interpolation becomes large.

本発明は上述の事情に鑑みてなされたものであり、補間誤差を許容範囲に収めることができ、かつ、メモリ容量を抑えた補正テーブルを作成する技術を提供する。   The present invention has been made in view of the above circumstances, and provides a technique for creating a correction table capable of keeping an interpolation error within an allowable range and suppressing a memory capacity.

上述の課題を解決するため、本発明は、画像形成装置の濃度補正に用いる濃度補正テーブルを記憶する記憶手段と、前記画像形成装置の入出力特性であって、複数のデータ点を有する入出力特性を取得する入出力特性取得手段と、前記入出力特性取得手段により取得された入出力特性が有するデータ点のうち、あらかじめ決められた数のデータ点を、前記濃度補正テーブルに含まれるデータ点の初期値として特定する初期化手段と、前記初期化手段により特定されたデータ点のうち、一のデータ点を処理の基準となる基準データ点として、前記基準データ点と特定方向において隣接するデータ点を隣接データ点として特定するデータ点特定手段と、前記基準データ点と前記隣接データ点との間の補間処理により、これら2点間における補間特性を算出する補間特性算出手段と、前記補間特性算出手段により算出された補間特性と、前記入出力特性とを比較することにより、前記基準データ点と前記隣接データ点との間における補間誤差を算出する補間誤差算出手段と、前記補間誤差算出手段により算出された補間誤差が、あらかじめ決められた許容誤差以下または許容誤差未満であるか判断する補間誤差判断手段と、前記補間誤差判断手段により前記補間誤差が前記許容誤差以下または前記許容誤差未満でないと判断された場合、前記入出力特性において前記基準データ点と前記隣接データ点との間に存在するデータ点のうち、あらかじめ決められた条件を満たすデータ点を、前記記憶手段に記憶された濃度補正テーブルに追加する濃度補正テーブル更新手段と、前記濃度補正テーブル更新手段により追加されたデータ点を、新たな隣接データ点として特定する隣接データ点更新手段と、前記判断手段により前記補間誤差が前記許容誤差以下または前記許容誤差未満であると判断された場合、前記隣接データ点を新たな基準データ点として特定する基準データ点更新手段と、前記初期化手段により特定されたデータ点のうち、前記基準データ点更新手段により新たな基準データ点として特定されたデータ点と前記特定方向において隣接するデータ点が存在するか判断する終了判断手段と、前記終了判断手段により、前記基準データ点と前記特定方向において隣接するデータ点が存在しないと判断された場合、前記濃度補正テーブルに含まれるデータ点を確定する濃度補正テーブル確定手段とを有する濃度補正テーブル生成装置を提供する。   In order to solve the above-described problems, the present invention provides a storage unit that stores a density correction table used for density correction of an image forming apparatus, and input / output characteristics of the image forming apparatus, the input / output having a plurality of data points. A data point included in the density correction table includes a predetermined number of data points among the input / output characteristics acquisition means for acquiring characteristics and the data points of the input / output characteristics acquired by the input / output characteristics acquisition means. Data that is adjacent to the reference data point in a specific direction, with one of the data points specified by the initialization means as a reference data point serving as a reference for processing. Interpolation characteristics between these two points by data point specifying means for specifying a point as an adjacent data point and interpolation processing between the reference data point and the adjacent data point. Interpolation characteristic calculation means for calculating the interpolation characteristic, and the interpolation characteristic calculated by the interpolation characteristic calculation means and the input / output characteristics are compared to calculate an interpolation error between the reference data point and the adjacent data point Interpolation error calculating means, interpolation error determining means for determining whether the interpolation error calculated by the interpolation error calculating means is less than or less than a predetermined allowable error, and the interpolation error determining means When it is determined that the error is not less than the tolerance or less than the tolerance, the input / output characteristic satisfies a predetermined condition among the data points existing between the reference data point and the adjacent data point Density correction table updating means for adding data points to the density correction table stored in the storage means; and the density correction table. When the data point added by the data update unit is specified as a new adjacent data point, the adjacent data point update unit, and the determination unit determines that the interpolation error is less than or less than the allowable error Among the data points specified by the initialization means, the reference data point update means for specifying the adjacent data point as a new reference data point, and the reference data point update means specified as a new reference data point End determination means for determining whether there is a data point adjacent to the data point in the specific direction, and when the end determination means determines that there is no data point adjacent to the reference data point in the specific direction, A density correction table generating device having density correction table determining means for determining data points included in the density correction table; Provide a position.

好ましい態様において、この濃度補正テーブル生成装置は、前記画像形成装置が複数のノズルを有し、前記入出力特性が、複数の最大出力値および最小出力値であって、各々前記複数のノズルの各々に対応する複数の最大出力値および最小出力値を含み、前記初期化手段が、前記複数の最大出力値のうち一の出力値に対応するデータ点と、前記複数の最小出力値のうち一の出力値に対応するデータ点とを初期値として特定してもよい。この場合、前記複数の最大出力値のうち一の出力値が、前記複数の最大出力値のうち最小の出力値であり、前記複数の最小出力値のうち一の出力値が、前記複数の最小出力値のうち最大の出力値であってもよい。   In a preferred aspect, in the density correction table generating device, the image forming apparatus has a plurality of nozzles, and the input / output characteristics are a plurality of maximum output values and minimum output values, and each of the plurality of nozzles A plurality of maximum output values and minimum output values corresponding to the data point, and the initialization means includes a data point corresponding to one output value of the plurality of maximum output values and one of the plurality of minimum output values. The data point corresponding to the output value may be specified as the initial value. In this case, one output value among the plurality of maximum output values is a minimum output value among the plurality of maximum output values, and one output value among the plurality of minimum output values is the plurality of minimum output values. It may be the maximum output value among the output values.

さらに別の好ましい態様において、この濃度補正テーブル生成装置は、前記補間の最大値であってもよい。   In still another preferred aspect, the density correction table generating device may be the maximum value of the interpolation.

さらに別の好ましい態様において、この濃度補正テーブル生成装置は、前記入出力特性取得手段が、前記画像形成装置が出力可能な全階調値についてのデータ点を含んでもよい。   In yet another preferred aspect, in the density correction table generation device, the input / output characteristic acquisition unit may include data points for all gradation values that can be output by the image forming apparatus.

また、本発明は、コンピュータ装置に上記の機能を実現させるプログラムおよびそのプログラムを記憶した記憶媒体を提供する。   The present invention also provides a program for causing a computer device to realize the above functions and a storage medium storing the program.

さらに、本発明は、コンピュータ装置に、画像形成装置の濃度補正に用いる濃度補正テーブルを生成する濃度補正テーブル生成方法であって、前記画像形成装置の入出力特性であって、複数のデータ点を有する入出力特性を取得する入出力特性取得ステップと、前記入出力特性が有するデータ点のうち、あらかじめ決められた数のデータ点を、前記濃度補正テーブルに含まれるデータ点の初期値として特定する初期化ステップと、前記初期化ステップにおいて特定されたデータ点のうち、一のデータ点を処理の基準となる基準データ点として、前記基準データ点と特定方向において隣接するデータ点を隣接データ点として特定するデータ点特定ステップと、前記基準データ点と前記隣接データ点との間の補間処理により、これら2点間における補間特性を算出する補間特性算出ステップと、前記補間特性と、前記入出力特性とを比較することにより、前記基準データ点と前記隣接データ点との間における補間誤差の代表値を算出する補間誤差算出ステップと、前記補間誤差の代表値が、あらかじめ決められた許容誤差以下または許容誤差未満であるか判断する補間誤差判断ステップと、前記補間誤差判断ステップにおいて前記補間誤差の代表値が前記許容誤差以下または前記許容誤差未満でないと判断された場合、前記代表値に対応するデータ点を、前記記憶手段に記憶された濃度補正テーブルに追加する濃度補正テーブル更新ステップと、前記濃度補正テーブル更新ステップにおいて追加されたデータ点を、新たな隣接データ点として特定する隣接データ点更新ステップと、前記補間誤差の代表値が前記許容誤差以下または前記許容誤差未満であると判断された場合、前記隣接データ点を新たな基準データ点として特定する基準データ点更新ステップと、前記初期化ステップにおいて特定されたデータ点のうち、前記基準データ点更新手段により新たな基準データ点として特定されたデータ点と前記特定方向において隣接するデータ点が存在するか判断する終了判断ステップと、前記終了判断ステップにおいて、前記基準データ点と前記特定方向において隣接するデータ点が存在しないと判断された場合、前記濃度補正テーブルに含まれるデータ点を確定する濃度補正テーブル確定ステップとを有する補正テーブル生成方法とを有する補正テーブル生成方法を提供する。   Furthermore, the present invention provides a density correction table generation method for generating a density correction table for use in density correction of an image forming apparatus on a computer device, wherein the input / output characteristics of the image forming apparatus are a plurality of data points. An input / output characteristic acquisition step for acquiring the input / output characteristics, and a predetermined number of data points among the data points of the input / output characteristics are specified as initial values of the data points included in the density correction table. Of the data points specified in the initialization step and the initialization step, one data point is used as a reference data point serving as a reference for processing, and a data point adjacent to the reference data point in a specific direction is used as an adjacent data point. A data point identification step to be identified and an interpolation process between the reference data point and the adjacent data point can be performed between these two points. An interpolation error calculation step for calculating an interpolation characteristic, and an interpolation error for calculating a representative value of an interpolation error between the reference data point and the adjacent data point by comparing the interpolation characteristic and the input / output characteristic. A calculation step; an interpolation error determination step for determining whether a representative value of the interpolation error is less than or less than a predetermined allowable error; and the representative value of the interpolation error in the interpolation error determination step is the allowable error In a density correction table update step for adding a data point corresponding to the representative value to a density correction table stored in the storage means, and in the density correction table update step An adjacent data point update step for identifying the added data point as a new adjacent data point; and When it is determined that the representative value of the inter-error is equal to or less than the allowable error or less than the allowable error, the reference data point update step for specifying the adjacent data point as a new reference data point and the initialization step are specified. An end determination step for determining whether there is a data point adjacent to the data point specified as a new reference data point by the reference data point update means among the data points, and the end determination step; A correction table generation method including a density correction table determination step for determining a data point included in the density correction table when it is determined that there is no data point adjacent to the reference data point in the specific direction. A table generation method is provided.

以下、図面を参照して本発明の実施形態について説明する。
<1.画像形成システム>
図1は、本発明の第1実施形態に係る画像形成システム1の機能構成を示すブロック図である。画像形成システム1は、画像形成装置200およびPC(Personal Computer)100から構成される。画像形成装置200は、制御データに従ってインクの吐出を行い用紙(記録材)上に画像を形成する装置である。PC100は、画像形成装置200を制御するコンピュータ装置である。PC100は、ワードプロセッサ、画像加工ソフト等のアプリケーション108と、画像形成装置200を制御するためのデバイスドライバ109とを有する。アプリケーション108は、ユーザの指示入力などに応じて画像データをデバイスドライバ109に引き渡す。デバイスドライバ109は、処理対象の画像データ(RGB(赤、緑、青)カラー多値)を、CMYK(シアン、マゼンタ、イエロー、黒)の色毎にノズルからのインクの吐出を指示する制御データに変換し、制御データを画像形成装置200に出力する機能を有する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
<1. Image forming system>
FIG. 1 is a block diagram showing a functional configuration of an image forming system 1 according to the first embodiment of the present invention. The image forming system 1 includes an image forming apparatus 200 and a PC (Personal Computer) 100. The image forming apparatus 200 is an apparatus that forms an image on a sheet (recording material) by ejecting ink according to control data. The PC 100 is a computer device that controls the image forming apparatus 200. The PC 100 includes an application 108 such as a word processor and image processing software, and a device driver 109 for controlling the image forming apparatus 200. The application 108 delivers the image data to the device driver 109 in response to a user instruction input or the like. The device driver 109 controls the image data to be processed (RGB (red, green, blue) color multi-value) for injecting ink from the nozzles for each color of CMYK (cyan, magenta, yellow, black). And having the function of outputting the control data to the image forming apparatus 200.

デバイスドライバ109は、詳細には以下の機能を有する。解像度変換部101は、入力されたカラー多値の画像データを、画像形成装置200で処理可能な解像度に解像度変換する。色空間変換部102は、RGB形式の画像データをCMYK形式の画像データに変換する。濃度補正部103は、濃度補正テーブルTB1を用いて画像データに濃度補正処理を行う。ここで、濃度補正テーブルTB1は画像形成装置200に記憶されている濃度補正テーブルTB1を読み出してPC100に記憶したものである。濃度補正テーブルTB1の詳細は後述する。量子化部104は、多値CMYKデータを2値CMYKデータに変換する2値化処理を行う。ラスタライズ部105は、2値CMYKデータから制御データを生成する。画像形成装置200の画像形成部250は、制御データに従ってCMYK各色のインクを吐出する。こうして、画像形成システム1は用紙(記録材)上に画像を形成する。   The device driver 109 has the following functions in detail. The resolution conversion unit 101 converts the input color multivalued image data into a resolution that can be processed by the image forming apparatus 200. The color space conversion unit 102 converts image data in RGB format into image data in CMYK format. The density correction unit 103 performs density correction processing on the image data using the density correction table TB1. Here, the density correction table TB1 is obtained by reading the density correction table TB1 stored in the image forming apparatus 200 and storing it in the PC 100. Details of the density correction table TB1 will be described later. The quantization unit 104 performs a binarization process for converting the multivalued CMYK data into binary CMYK data. The rasterizing unit 105 generates control data from the binary CMYK data. The image forming unit 250 of the image forming apparatus 200 ejects CMYK inks according to the control data. Thus, the image forming system 1 forms an image on a sheet (recording material).

図2は、画像形成装置200のハードウェア構成を示すブロック図である。本実施形態において、画像形成装置200はラインヘッド型インクジェットプリンタである。CPU(Central Processing Unit)210は、ROM(Read Only Memory)220に記憶されている印刷処理プログラムを読み出して実行する。ROM220は、画像形成装置200に固有の濃度補正テーブルTB1を記憶している(濃度補正テーブルTB1の詳細は後述する)。また、ROM220は、書き換え可能なEEPROM(Electronically Erasable and Programmable Read Only Memory)であることが望ましい。RAM(Random Access Memory)230は、CPU210がプログラムを実行する際の作業エリアとして機能する。I/F240は、PC100等の他の機器との間でデータや制御信号の送受信を行うためのインターフェースである。RAM230はまた、I/F240を介して受信したデータを記憶する。画像形成部250は、CPU210の制御下で、ノズル制御データに従って用紙上に画像形成を行う。以上の各構成要素は、バス290で相互に接続されている。CPU210がアプリケーション108およびデバイスドライバ109を実行することにより、画像形成装置200は、図1に示される各機能構成要素に相当する機能を具備する。   FIG. 2 is a block diagram illustrating a hardware configuration of the image forming apparatus 200. In the present embodiment, the image forming apparatus 200 is a line head type ink jet printer. A CPU (Central Processing Unit) 210 reads and executes a print processing program stored in a ROM (Read Only Memory) 220. The ROM 220 stores a density correction table TB1 unique to the image forming apparatus 200 (details of the density correction table TB1 will be described later). The ROM 220 is preferably a rewritable EEPROM (Electronically Erasable and Programmable Read Only Memory). A RAM (Random Access Memory) 230 functions as a work area when the CPU 210 executes a program. The I / F 240 is an interface for transmitting and receiving data and control signals to and from other devices such as the PC 100. The RAM 230 also stores data received via the I / F 240. The image forming unit 250 forms an image on a sheet according to the nozzle control data under the control of the CPU 210. The above components are connected to each other via a bus 290. When the CPU 210 executes the application 108 and the device driver 109, the image forming apparatus 200 has functions corresponding to the functional components shown in FIG.

画像形成部250は、図2に示されるように、さらに以下で説明する構成を有している。ラインヘッド251は、インクを吐出するノズル(図示略)を複数(z個)有する印刷ヘッドである。ノズルは、圧電体により液滴を吐出するピエゾ式のもの、加熱により吐出する加熱式のもの等、いかなる構造のノズルでもよい。ラインヘッド251は、画像形成装置200が印刷可能な用紙の最大幅以上の大きさを有している。インクタンク252はノズルにインクを供給するものであって、CMYKの色毎に設けられている。本実施形態において、画像形成装置200は4色のインクを用いて画像形成を行うが、6色、7色、あるいはそれ以上の色数のインクを用いる構成としてもよい。ページバッファ257は、画像1ページ分のノズル制御データを記憶するメモリである。ヘッド駆動回路253は、制御部254の制御下で、ラインヘッド251に搭載された複数のノズルのうち、指定されたノズルからインクの液滴を吐出させるための制御信号をラインヘッド251に出力する。このように、指定されたノズルから、用紙に対しインクの液滴が吐出される。ノズルから吐出されたインクの液滴は、用紙上にドットを形成する。以下、説明の便宜上、ノズルからインクの液滴を吐出することを「ドットのオン」、ノズルからインクの液滴を吐出しないことを「ドットのオフ」と表現する。例えば「ドットのオン/オフを指定するデータ」とは、指定されたノズルについてインクの液滴を吐出するか吐出しないかを指定するデータを意味する。また、「ドット」とはノズルから吐出されるインク滴、またはそのインク滴により用紙上に形成された画像を意味する。   As illustrated in FIG. 2, the image forming unit 250 further has a configuration described below. The line head 251 is a print head having a plurality (z) of nozzles (not shown) that eject ink. The nozzle may be of any structure, such as a piezo type that discharges droplets with a piezoelectric body, or a heating type that discharges by heating. The line head 251 has a size that is equal to or larger than the maximum width of paper that can be printed by the image forming apparatus 200. The ink tank 252 supplies ink to the nozzles, and is provided for each color of CMYK. In this embodiment, the image forming apparatus 200 forms an image using four colors of ink. However, the image forming apparatus 200 may be configured to use six colors, seven colors, or more colors. The page buffer 257 is a memory that stores nozzle control data for one page of an image. The head drive circuit 253 outputs, to the line head 251, a control signal for causing ink droplets to be ejected from a specified nozzle among a plurality of nozzles mounted on the line head 251 under the control of the control unit 254. . In this way, ink droplets are ejected from the designated nozzle onto the paper. The ink droplets ejected from the nozzles form dots on the paper. Hereinafter, for convenience of description, discharging ink droplets from the nozzles is expressed as “dots on” and not discharging ink droplets from the nozzles as “dots off”. For example, “data for designating ON / OFF of dots” means data for designating whether or not to eject ink droplets for a designated nozzle. “Dot” means an ink droplet ejected from a nozzle or an image formed on the paper by the ink droplet.

ラインヘッド251は用紙幅以上のサイズを有しているので、1ライン分のドットを形成することができる。モータ255は用紙を所定方向に移動(紙送り)させるモータである。モータ駆動回路256は、制御部254の制御下でモータ255に駆動信号を出力する。モータ255が用紙を1ライン分移動させると、次のラインの描画が行われる。画像形成装置200は、このようにして1方向の走査(用紙の紙送り)のみで1枚の用紙に画像形成を行うことができる。   Since the line head 251 has a size equal to or larger than the paper width, dots for one line can be formed. The motor 255 is a motor that moves the paper in a predetermined direction (paper feed). The motor drive circuit 256 outputs a drive signal to the motor 255 under the control of the control unit 254. When the motor 255 moves the paper by one line, the next line is drawn. In this way, the image forming apparatus 200 can form an image on one sheet only by scanning in one direction (paper feeding).

図3は、PC100のハードウェア構成を示すブロック図である。CPU110は、PC100の各構成要素を制御する制御部である。CPU110は、HDD(Hard Disk Drive)150に記憶されている制御データ生成プログラム(デバイスドライバ)を読み出して実行する。RAM130は、CPU110がプログラムを実行する際の作業エリアとして機能する。ROM120は、PC100の起動に必要なプログラム等を記憶している。I/F140は、画像形成装置200等の他の機器との間でデータや制御信号の送受信を行うためのインターフェースである。HDD150は、各種データやプログラムを記憶する記憶装置である。また、HDD150は、画像形成装置200から読み出した濃度補正テーブルTB1を記憶する。キーボード160およびディスプレイ170は、ユーザがPC100に対し操作入力を行うためのユーザインターフェースである。以上の各構成要素は、バス190で相互に接続されている。CPU210が印刷処理プログラムを実行することにより、PC100は、図1に示される各機能構成要素に相当する機能を具備する。なお、図示は省略したが、PC100と画像形成装置200とは、I/F140およびI/F240を介して、有線あるいは無線で接続されている。   FIG. 3 is a block diagram illustrating a hardware configuration of the PC 100. The CPU 110 is a control unit that controls each component of the PC 100. The CPU 110 reads and executes a control data generation program (device driver) stored in an HDD (Hard Disk Drive) 150. The RAM 130 functions as a work area when the CPU 110 executes a program. The ROM 120 stores a program and the like necessary for starting up the PC 100. The I / F 140 is an interface for transmitting and receiving data and control signals to and from other devices such as the image forming apparatus 200. The HDD 150 is a storage device that stores various data and programs. The HDD 150 stores a density correction table TB1 read from the image forming apparatus 200. The keyboard 160 and the display 170 are user interfaces for the user to perform operation input to the PC 100. The above components are connected to each other by a bus 190. When the CPU 210 executes the print processing program, the PC 100 has functions corresponding to the functional components shown in FIG. Although not shown, the PC 100 and the image forming apparatus 200 are connected to each other via a wired or wireless connection via the I / F 140 and the I / F 240.

図4は、画像形成システム1の動作を示すフローチャートである。画像形成装置200の図示せぬ電源が投入されると、CPU210は、ROM220から印刷処理プログラムを読み出して実行する。印刷処理プログラムを実行すると、CPU210は、制御データの入力待ち状態となる。PC100において、アプリケーション108から印刷指示が入力されると、CPU110は、HDD150から画像形成装置200のデバイスドライバ109を読み出して実行する。まず、CPU110は処理対象の画像データをHDD150から読み出し、RAM130に記憶する(ステップS100)。本実施形態において、入力画像データはRGBカラー多値の画像データである。また、画像形成装置200はCMYK4色のインクにより画像形成を行うインクジェットプリンタである。したがって、画像形成装置200は、RGBからCMYKへと画像データの色空間を変換する必要がある。また、入力される画像データは画素ごとに階調値を有しているが、画像形成装置200のノズルから吐出されるインクは、あるサイズのドットについてドットのオン/オフ(ドットを打つ/打たない)の2階調のみで中間階調を表現することができない。また、画像形成装置200が形成することのできるドットのサイズはS、M、Lの3種類である。このため画像形成装置200においては、入力画像データの1画素に、aドット×aドットのドットマトリクスを対応させ、ドットマトリクスに描画されるドットの数で階調表現を行っている。なお、ドットマトリクスは正方形に限定されず、長方形であってもよい。したがって、入力画像データをドットのオン/オフを指定するデータに変換する必要がある。このために、以下で説明するように、画像データの解像度を、ノズルの数に相当する解像度に変換する処理、および、多階調の画像データをドットのオン/オフを指定する2階調のデータに変換する処理を行う必要がある。なお、画像形成装置200が形成することのできるドットサイズは3種類に限られず、それ以上でも以下でもよい。   FIG. 4 is a flowchart showing the operation of the image forming system 1. When a power supply (not shown) of the image forming apparatus 200 is turned on, the CPU 210 reads a print processing program from the ROM 220 and executes it. When the print processing program is executed, the CPU 210 waits for input of control data. In the PC 100, when a print instruction is input from the application 108, the CPU 110 reads the device driver 109 of the image forming apparatus 200 from the HDD 150 and executes it. First, the CPU 110 reads out image data to be processed from the HDD 150 and stores it in the RAM 130 (step S100). In the present embodiment, the input image data is RGB color multivalued image data. The image forming apparatus 200 is an ink jet printer that forms an image with CMYK four color inks. Therefore, the image forming apparatus 200 needs to convert the color space of the image data from RGB to CMYK. The input image data has a gradation value for each pixel, but the ink ejected from the nozzles of the image forming apparatus 200 is dot on / off (dot hitting / shotting) for a dot of a certain size. The intermediate gradation cannot be expressed with only two gradations. Also, there are three types of dot sizes S, M, and L that can be formed by the image forming apparatus 200. Therefore, in the image forming apparatus 200, one pixel of input image data is associated with a dot matrix of a dot × a dot, and gradation expression is performed by the number of dots drawn in the dot matrix. The dot matrix is not limited to a square and may be a rectangle. Therefore, it is necessary to convert the input image data into data that designates dot on / off. For this purpose, as described below, the processing for converting the resolution of the image data into a resolution corresponding to the number of nozzles, and the two-gradation designating the on / off of the dots in the multi-gradation image data It is necessary to convert it to data. The dot sizes that can be formed by the image forming apparatus 200 are not limited to three types, and may be larger or smaller.

続いてCPU110は、入力画像データの解像度を判断する。CPU110は入力画像データの解像度が画像形成装置200で処理可能な解像度と異なる場合には、入力画像データを、画像形成装置200が処理可能な解像度とする解像度変換処理を行う(ステップS110)。CPU110は、解像度変換後の画像データをRAM130に記憶する。続いてCPU110は、解像度変換後の画像データを画像形成装置200の色空間に適合させるため、RGB形式の画像データをCMYK形式の画像データに変換する(ステップS120)。CPU110は色変換後の画像データをRAM130に記憶する。続いてCPU110は、色変換後の画像データに対して濃度補正テーブルTB1を用いて濃度補正処理を行う(ステップS130)。濃度補正処理の詳細については後述する。   Subsequently, the CPU 110 determines the resolution of the input image data. If the resolution of the input image data is different from the resolution that can be processed by the image forming apparatus 200, the CPU 110 performs a resolution conversion process that converts the input image data to a resolution that can be processed by the image forming apparatus 200 (step S110). The CPU 110 stores the image data after resolution conversion in the RAM 130. Subsequently, the CPU 110 converts the RGB format image data into the CMYK format image data in order to adapt the resolution-converted image data to the color space of the image forming apparatus 200 (step S120). The CPU 110 stores the color-converted image data in the RAM 130. Subsequently, the CPU 110 performs density correction processing on the image data after color conversion using the density correction table TB1 (step S130). Details of the density correction processing will be described later.

続いてCPU110は、濃度補正後の画像データに対してディザマトリクス法、誤差拡散法等による2値化(量子化)処理を行う(ステップS140)。CPU110は、濃度補正後の画像データをRAM130に記憶する。CPU110は、濃度補正後の画像データから、制御データを生成するラスタライズ処理を行う(ステップS150)。CPU110は、生成された制御データを画像形成装置200に出力する。画像形成装置200の画像形成部250は、制御データに従って用紙上に画像形成を行う。画像形成装置200は、このようにして濃度が補正された画像を用紙に形成する。   Subsequently, the CPU 110 performs binarization (quantization) processing on the image data after density correction by a dither matrix method, an error diffusion method, or the like (step S140). The CPU 110 stores the image data after density correction in the RAM 130. The CPU 110 performs rasterization processing for generating control data from the image data after density correction (step S150). CPU 110 outputs the generated control data to image forming apparatus 200. The image forming unit 250 of the image forming apparatus 200 forms an image on a sheet according to the control data. The image forming apparatus 200 forms an image whose density has been corrected in this way on a sheet.

<2.濃度補正テーブルの生成>
続いて、濃度補正テーブルTB1の生成方法について説明する。ここでは、黒インク(K)を例に取り説明するが、濃度補正テーブルは各色について作成される。
図5は、本実施形態に係る濃度補正テーブル生成システム2の機能構成を示すブロック図である。濃度補正テーブル生成システム2は、画像形成装置200、PC300、およびスキャナ400から構成される。図示は省略したが、PC300と画像形成装置200、PC300とスキャナ400はそれぞれ、有線あるいは無線で接続されている。PC300は、濃度補正テーブル生成のためのテストパターン301を記憶している。画像形成装置200の画像形成部250は、テストパターン301に従って画像Dを出力する。スキャナ400は画像Dを読み取り、スキャン画像を生成する。スキャナ400は、生成したスキャン画像をPC300に出力する。PC300は、受信したスキャン画像をスキャン画像304として記憶する。PC300の濃度測定部303は、スキャナ400から出力されたスキャン画像304の濃度を計算する。濃度補正テーブル生成部302は、濃度測定部303による濃度測定結果に基づいて濃度補正テーブルを生成する。画像形成装置200は、PC300が生成した濃度補正テーブルを濃度補正テーブルTB1として記憶する。
<2. Generation of density correction table>
Next, a method for generating the density correction table TB1 will be described. Here, black ink (K) will be described as an example, but a density correction table is created for each color.
FIG. 5 is a block diagram showing a functional configuration of the density correction table generation system 2 according to the present embodiment. The density correction table generation system 2 includes an image forming apparatus 200, a PC 300, and a scanner 400. Although not shown, the PC 300 and the image forming apparatus 200, and the PC 300 and the scanner 400 are connected by wire or wirelessly. The PC 300 stores a test pattern 301 for generating a density correction table. The image forming unit 250 of the image forming apparatus 200 outputs the image D according to the test pattern 301. The scanner 400 reads the image D and generates a scanned image. The scanner 400 outputs the generated scan image to the PC 300. The PC 300 stores the received scan image as the scan image 304. The density measurement unit 303 of the PC 300 calculates the density of the scan image 304 output from the scanner 400. The density correction table generation unit 302 generates a density correction table based on the density measurement result by the density measurement unit 303. The image forming apparatus 200 stores the density correction table generated by the PC 300 as the density correction table TB1.

図6は、濃度補正テーブル生成部302の詳細を示すブロック図である。入出力特性取得部3021は、濃度測定部303による濃度測定結果から、画像形成装置200の入出力特性を生成する。入出力特性は、複数のデータ点を含む。補間特性算出部3022は、まず、複数のデータ点から、濃度補正テーブルTB1に記録するデータ点を、少なくとも2つ特定する。補間特性算出部3022は、少なくとも2つのデータ点のうち、処理の基準となる基準データ点と、基準データ点と特定方向において隣接する隣接データ点とを特定する。補間特性算出部3022は、基準データ点および隣接データ点から、これら2点間の補間特性を算出する。補間誤差算出部3023は、補間特性と入出力特性とを比較することにより、これら2点間の補間誤差の最大値を算出する。補間誤差判断部3024は、補間誤差の最大値が、あらかじめ決められた許容誤差以下(あるいは許容誤差未満)であるか判断する。補間誤差判断部3024により、補間誤差の最大値があらかじめ決められた許容誤差以下でないと判断された場合、濃度補正テーブル更新部3025は、最大値に対応するデータ点を、あらかじめ決められた条件に従って、濃度補正テーブルTB1に追加する。濃度補正テーブルTB1が更新されると、補間特性算出部3022は、追加されたデータ点を新たな隣接データ点として、基準データ点と隣接データ点の間の補間特性を算出する。また、補間誤差判断部3024により、補間誤差の最大値があらかじめ決められた許容誤差以下でないと判断された場合、隣接データ点が、新たな基準データ点とされる。これらの処理の詳細は後述する。このように、本実施形態において、濃度補正テーブル生成システム2は、補間誤差の代表値として補間誤差の最大値を用いる。しかし、濃度補正テーブル生成システム2は、最大値以外の他の代表値を用いてもよい。   FIG. 6 is a block diagram illustrating details of the density correction table generation unit 302. The input / output characteristic acquisition unit 3021 generates the input / output characteristics of the image forming apparatus 200 from the density measurement result by the density measurement unit 303. The input / output characteristic includes a plurality of data points. The interpolation characteristic calculation unit 3022 first specifies at least two data points to be recorded in the density correction table TB1 from a plurality of data points. The interpolation characteristic calculation unit 3022 specifies a reference data point that is a reference for processing among at least two data points and an adjacent data point that is adjacent to the reference data point in a specific direction. The interpolation characteristic calculation unit 3022 calculates the interpolation characteristic between these two points from the reference data point and the adjacent data point. The interpolation error calculation unit 3023 calculates the maximum value of the interpolation error between these two points by comparing the interpolation characteristics with the input / output characteristics. The interpolation error determination unit 3024 determines whether the maximum value of the interpolation error is equal to or less than a predetermined allowable error (or less than the allowable error). When the interpolation error determination unit 3024 determines that the maximum value of the interpolation error is not less than a predetermined allowable error, the density correction table update unit 3025 sets the data point corresponding to the maximum value according to a predetermined condition. , Added to the density correction table TB1. When the density correction table TB1 is updated, the interpolation characteristic calculation unit 3022 calculates the interpolation characteristic between the reference data point and the adjacent data point by using the added data point as a new adjacent data point. When the interpolation error determination unit 3024 determines that the maximum value of the interpolation error is not less than a predetermined allowable error, the adjacent data point is set as a new reference data point. Details of these processes will be described later. As described above, in the present embodiment, the density correction table generation system 2 uses the maximum value of the interpolation error as the representative value of the interpolation error. However, the density correction table generation system 2 may use a representative value other than the maximum value.

図7は、PC300のハードウェア構成を示す図である。PC300のハードウェア構成は基本的にPC100と同一であるので詳細な説明を省略し、PC100との相違点のみ説明する。HDD350は、濃度補正テーブル生成のための濃度補正テーブル生成プログラムを記憶している。また、HDD350は、濃度補正テーブル生成のためのテストパターン301を記憶している。   FIG. 7 is a diagram illustrating a hardware configuration of the PC 300. Since the hardware configuration of the PC 300 is basically the same as that of the PC 100, a detailed description thereof will be omitted, and only differences from the PC 100 will be described. The HDD 350 stores a density correction table generation program for generating a density correction table. The HDD 350 stores a test pattern 301 for generating a density correction table.

図8は、濃度補正テーブル生成処理を示すフローチャートである。ユーザがキーボード360を操作する等の方法により濃度補正テーブルの生成を指示すると、PC300のCPU310は、HDD350から濃度補正テーブルの生成プログラムを読み出して実行する。CPU310が濃度補正テーブル生成プログラムを実行することにより、PC300は、図6に示される濃度補正テーブル生成装置としての機能を具備する。まず、ステップS20において、CPU310は、画像形成装置200の入出力特性を取得する。入出力特性とは、入力輝度と出力輝度との関係を示す情報である。入出力特性取得処理の詳細は次のとおりである。   FIG. 8 is a flowchart showing the density correction table generation process. When the user instructs generation of a density correction table by a method such as operating the keyboard 360, the CPU 310 of the PC 300 reads out and executes a density correction table generation program from the HDD 350. When the CPU 310 executes the density correction table generation program, the PC 300 has a function as the density correction table generation apparatus shown in FIG. First, in step S <b> 20, the CPU 310 acquires input / output characteristics of the image forming apparatus 200. Input / output characteristics are information indicating the relationship between input luminance and output luminance. The details of the input / output characteristic acquisition processing are as follows.

図9は、入出力特性取得処理の詳細を示すフローチャートである。ステップS201において、CPU310は、テストパターン画像を生成する。CPU310は、HDD350に記憶されているテストパターン301を読み出す。CPU310は読み出したテストパターン301を、I/F340を介して画像形成装置200に出力する。テストパターン301は、画像形成装置200のノズルが出力可能な全階調値を出力させるための画像データである。画像形成装置200が、例えば8ビットの階調表現が可能である場合、テストパターン301は、0〜255の256階調のパターンを含む画像である。テストパターン301のデータを受信すると、ステップS202において、画像形成装置200は、受信したデータに従って用紙上にテストパターンを印刷する。このテストパターンは濃度補正テーブルを生成するためのものであるので、テストパターンの印刷の際には濃度補正処理は行われない。したがって、テストパターンは、ノズルの物理的特性に起因する印刷むらを含んだ状態で印刷される。   FIG. 9 is a flowchart showing details of the input / output characteristic acquisition processing. In step S201, the CPU 310 generates a test pattern image. CPU 310 reads test pattern 301 stored in HDD 350. The CPU 310 outputs the read test pattern 301 to the image forming apparatus 200 via the I / F 340. The test pattern 301 is image data for outputting all gradation values that can be output by the nozzles of the image forming apparatus 200. When the image forming apparatus 200 can express, for example, 8-bit gradation, the test pattern 301 is an image including a 256 gradation pattern from 0 to 255. When the data of the test pattern 301 is received, in step S202, the image forming apparatus 200 prints the test pattern on the sheet according to the received data. Since this test pattern is for generating a density correction table, the density correction processing is not performed when the test pattern is printed. Therefore, the test pattern is printed in a state including printing unevenness due to the physical characteristics of the nozzles.

次に、ステップS203において、スキャナ400は、印刷されたテストパターンの画像Dを読み取る。以降の処理でノズル毎の輝度値を測定するため、画像読み取りの際には印刷解像度より高い解像度で読み取りを行う。例えば、720dpi(dot per inch)の解像度で印刷した場合、2880dpiの解像度で読み取りを行う。この場合、印刷ドット1つに対し4点の濃度データを取得することができる。スキャナ400は、読み取った画像DのデータをPC300に出力する。PC300のCPU310は、入力された画像データをスキャン画像304としてHDD350に記憶する。   Next, in step S203, the scanner 400 reads the image D of the printed test pattern. In order to measure the luminance value for each nozzle in the subsequent processing, reading is performed at a resolution higher than the printing resolution when reading the image. For example, when printing is performed at a resolution of 720 dpi (dot per inch), reading is performed at a resolution of 2880 dpi. In this case, four points of density data can be acquired for one printing dot. The scanner 400 outputs the read image D data to the PC 300. The CPU 310 of the PC 300 stores the input image data as a scan image 304 in the HDD 350.

続いて、CPU310は、スキャン画像304における濃度データ(出力輝度)と、各ノズルとの対応付けを行う。CPU310は、濃度があらかじめ決められたしきい値を下回ったデータに相当する位置をテストパターンの端部と特定する。CPU310は、このようにしてテストパターンの例えば左隅に相当するデータを特定する。CPU310は、特定した左隅から、縦4点×横4点=16点分の濃度データを、テストパターンの左隅の画素(ノズル)に対応する濃度データ、すなわち単位領域の濃度データとして特定する。その他のノズルについても同様である。   Subsequently, the CPU 310 associates density data (output luminance) in the scanned image 304 with each nozzle. The CPU 310 identifies the position corresponding to the data whose density is below a predetermined threshold as the end of the test pattern. In this way, the CPU 310 specifies data corresponding to, for example, the left corner of the test pattern. The CPU 310 specifies the density data of 4 vertical points × 4 horizontal points = 16 points from the specified left corner as the density data corresponding to the pixel (nozzle) at the left corner of the test pattern, that is, the density data of the unit area. The same applies to the other nozzles.

次に、ステップS204において、CPU310は、入出力特性を生成する。CPU310は、テストパターン301の画像データから、入力輝度を得ることができる。また、CPU310は、スキャン画像304から、出力輝度を得ることができる。入出力特性は、複数のデータ点を含む。8ビット画像データの場合、入力輝度は0〜255の256階調なので、あるノズルにおける入出力特性は、256個のデータ点を含む。各データ点は、入力輝度と、その入力輝度に対応する出力輝度とを含む。以下の説明において、入力輝度xおよび出力輝度yに対応するデータ点を(x,y)と表す。   Next, in step S204, the CPU 310 generates input / output characteristics. The CPU 310 can obtain the input luminance from the image data of the test pattern 301. Further, the CPU 310 can obtain output luminance from the scanned image 304. The input / output characteristic includes a plurality of data points. In the case of 8-bit image data, since the input luminance is 256 gradations from 0 to 255, the input / output characteristics of a nozzle include 256 data points. Each data point includes input luminance and output luminance corresponding to the input luminance. In the following description, a data point corresponding to input luminance x and output luminance y is represented as (x, y).

図10は、入出力特性を例示する図である。CPU310は、画像形成装置200が有するz個のノズルの各々に対して、入出力特性Tbestを取得する。図10において、3つのノズルの入出力特性Tbest 〜Tbest が示されている。理想的には、すべてのノズルの入出力特性は同一であることが望ましい。しかし、現実には製造誤差などの理由により、各ノズルの入出力特性は完全に同一とはならない。CPU310は、生成したz組の入出力特性Tbest 〜Tbest z−1を、RAM130に記憶する。 FIG. 10 is a diagram illustrating input / output characteristics. The CPU 310 acquires an input / output characteristic T best for each of the z nozzles included in the image forming apparatus 200. In FIG. 10, input / output characteristics T best 0 to T best 2 of three nozzles are shown. Ideally, all nozzles should have the same input / output characteristics. However, in reality, the input / output characteristics of each nozzle are not completely the same due to reasons such as manufacturing errors. The CPU 310 stores the generated z sets of input / output characteristics T best 0 to T best z−1 in the RAM 130.

再び図8を参照して説明する。入出力特性を取得すると、ステップS21において、CPU310は、濃度補正テーブルを初期化する。すなわち、CPU310は、濃度補正テーブルに含まれるデータ点の初期値を特定する。詳細には次のとおりである。   A description will be given with reference to FIG. 8 again. When the input / output characteristics are acquired, in step S21, the CPU 310 initializes the density correction table. That is, the CPU 310 specifies initial values of data points included in the density correction table. Details are as follows.

図11は、初期化処理の詳細を示すフローチャートである。まず、CPU310は、RAM330に濃度補正テーブルTB1の記憶領域を確保する。この時点では、濃度補正テーブルに含まれるデータ点はない。次に、ステップS111において、CPU310は、z組の入出力特性から、最大入力輝度における各ノズルの出力輝度を算出する。ここで、8ビット画像の場合、最大入力輝度=255である。例えば、CPU310は、入出力特性Tbest 〜Tbest から、入力輝度=255に対応する出力輝度が、それぞれ、252、251、245であると算出する。次に、ステップS112において、CPU310は、最大入力輝度に対する出力値のうち最小値O minを特定する。先ほどの例では、O min=245である。 FIG. 11 is a flowchart showing details of the initialization process. First, the CPU 310 secures a storage area for the density correction table TB1 in the RAM 330. At this point, there are no data points included in the density correction table. Next, in step S111, the CPU 310 calculates the output luminance of each nozzle at the maximum input luminance from the z sets of input / output characteristics. Here, in the case of an 8-bit image, the maximum input luminance = 255. For example, the CPU 310 calculates from the input / output characteristics T best 0 to T best 2 that the output luminances corresponding to the input luminance = 255 are 252, 251, and 245, respectively. Next, in step S112, the CPU 310 specifies the minimum value OH min among the output values for the maximum input luminance. In the previous example, O H min = 245.

次に、ステップS113において、CPU310は、入出力特性から、最小入力輝度における各ノズルの出力輝度を算出する。ここで、8ビット画像の場合、最小入力輝度=0である。例えば、CPU310は、入出力特性Tbest 〜Tbest から、入力輝度=0に対応する出力輝度が、それぞれ、40、43、38であると算出する。次に、ステップS114において、CPU310は、最小入力輝度に対する出力値のうち最大値O maxを特定する。先ほどの例では、O max=38である。 Next, in step S113, the CPU 310 calculates the output luminance of each nozzle at the minimum input luminance from the input / output characteristics. Here, in the case of an 8-bit image, the minimum input luminance = 0. For example, the CPU 310 calculates from the input / output characteristics T best 0 to T best 2 that the output luminances corresponding to the input luminance = 0 are 40, 43, and 38, respectively. Next, in step S114, the CPU 310 specifies the maximum value O L max among the output values for the minimum input luminance. In the previous example, O L max = 38.

次に、ステップS115において、CPU310は、O minおよびO maxに対応するデータ点を、初期値として濃度補正テーブルに追加する。すなわち上記の例では、(255,O min)および(0,O max)で表される2つのデータ点が濃度補正テーブルに追加される。すなわち、濃度補正テーブルがこれら2つのデータ点を含むように、RAM330に記憶された濃度補正テーブルを更新する。これらのデータ点を濃度補正テーブルに追加すると、CPU310は、初期化処理を終了する。なお、初期値として特定されるデータ点の数は2つに限定されない。CPU310は、3つ以上のデータ点を初期値として特定してもよい。例えば、CPU310は、O min、O max、およびこれらの中間点に対応するデータ点の3つのデータ点を初期値として濃度補正テーブルに追加してもよい。また、O minおよびO maxを算出する処理の順序は図11に示されるものに限定されない。CPU310は、O minよりもO maxを先に算出してもよい。 Next, in step S115, the CPU 310 adds data points corresponding to O H min and O L max to the density correction table as initial values. That is, in the above example, two data points represented by (255, O H min ) and (0, O L max ) are added to the density correction table. That is, the density correction table stored in the RAM 330 is updated so that the density correction table includes these two data points. When these data points are added to the density correction table, the CPU 310 ends the initialization process. Note that the number of data points specified as the initial value is not limited to two. The CPU 310 may specify three or more data points as initial values. For example, the CPU 310 may add three data points of O H min , O L max , and data points corresponding to these intermediate points as initial values to the density correction table. Further, the order of the processes for calculating O H min and O L max is not limited to that shown in FIG. CPU310 is the O L max may be calculated before the O H min.

再び図8を参照して説明する。以下の処理は、処理対象ノズルを1つずつ順番に特定して、その処理対象ノズルに対して行われる。処理対象ノズルの特定は、例えば処理対象ノズルを示すパラメータを設定することにより行われる。濃度補正テーブルを初期化すると、ステップS22において、CPU310は、濃度補正テーブルに含まれるデータ点のうち、処理の基準となる基準データ点および、基準データ点と特定方向において隣接する隣接データ点を特定する。本実施形態において、CPU310は、入力輝度値が最小のデータ点を基準データ点として特定する、また、CPU310は、入力輝度値が増加する方向において基準データ点と隣接するデータ点を、隣接データ点として特定する。すなわち、データ点(0,O max)が基準データ点として特定され、データ点(255,O min)が隣接データ点として特定される。CPU310は、基準データ点および隣接データ点を特定する識別子を、RAM330に記憶する。なお、CPU310は、入力輝度値が最大のデータ点を基準データ点として特定してもよい。また、CPU310は、入力輝度値が減少する方向において基準データ点と隣接するデータ点を、隣接データ点として特定してもよい。 A description will be given with reference to FIG. 8 again. The following processing is performed on the processing target nozzles by specifying the processing target nozzles one by one in order. The processing target nozzle is specified by setting a parameter indicating the processing target nozzle, for example. When the density correction table is initialized, in step S22, the CPU 310 specifies a reference data point serving as a reference for processing and an adjacent data point adjacent to the reference data point in a specific direction among data points included in the density correction table. To do. In the present embodiment, the CPU 310 identifies the data point having the smallest input luminance value as the reference data point, and the CPU 310 determines the data point adjacent to the reference data point in the direction in which the input luminance value increases as the adjacent data point. As specified. That is, the data point (0, O L max ) is specified as the reference data point, and the data point (255, O H min ) is specified as the adjacent data point. CPU 310 stores an identifier for specifying the reference data point and the adjacent data point in RAM 330. Note that the CPU 310 may specify the data point with the maximum input luminance value as the reference data point. CPU 310 may specify a data point adjacent to the reference data point in the direction in which the input luminance value decreases as an adjacent data point.

次に、ステップS23において、CPU310は、要求出力特性を算出する。要求出力特性とは、入力輝度−出力輝度座標系において、点(最小入力輝度,O max)と点(最大入力輝度,O min)を結ぶ直線により定義される。すなわち、CPU310は、点(0,O max)と点(255,O min)とを結ぶ直線を特定するパラメータを算出する。CPU310は、要求出力特性を特定するパラメータをRAM330に記憶する。次に、ステップS24において、CPU310は、補間誤差を算出する。詳細には次のとおりである。 Next, in step S23, the CPU 310 calculates a required output characteristic. The required output characteristic is defined by a straight line connecting a point (minimum input luminance, O L max ) and a point (maximum input luminance, O H min ) in the input luminance-output luminance coordinate system. That is, the CPU 310 calculates a parameter for specifying a straight line connecting the point (0, O L max ) and the point (255, O H min ). The CPU 310 stores parameters that specify the required output characteristics in the RAM 330. Next, in step S24, the CPU 310 calculates an interpolation error. Details are as follows.

図12は、補間誤差算出処理の詳細を示すフローチャートである。図13は、補間誤差算出処理を説明する図である。まず、CPU310は、パラメータiの記憶領域をRAM330に確保する。パラメータiは、入力輝度を示すパラメータである。本実施形態において、パラメータiは、0≦i≦255を満たす整数である。CPU310は、パラメータiの初期値を、基準データ点の入力輝度に設定する。本実施形態において、i=0として初期値が決定される。ステップS141において、CPU310は、基準データ点と隣接データ点との間の補間特性を算出する。
本実施形態において、線形補間が行われる。すなわち、CPU310は、点(0,O max)と点(255,O min)とを結ぶ直線を特定するパラメータを算出する。CPU310は、補間特性を特定するパラメータをRAM330に記憶する。本実施形態の1回目の処理において、要求出力特性と補間特性とは同一の直線である。
FIG. 12 is a flowchart showing details of the interpolation error calculation process. FIG. 13 is a diagram for explaining the interpolation error calculation process. First, the CPU 310 secures a storage area for the parameter i in the RAM 330. The parameter i is a parameter indicating the input luminance. In the present embodiment, the parameter i is an integer that satisfies 0 ≦ i ≦ 255. CPU 310 sets the initial value of parameter i to the input luminance of the reference data point. In this embodiment, the initial value is determined as i = 0. In step S141, the CPU 310 calculates an interpolation characteristic between the reference data point and the adjacent data point.
In this embodiment, linear interpolation is performed. That is, the CPU 310 calculates a parameter for specifying a straight line connecting the point (0, O L max ) and the point (255, O H min ). The CPU 310 stores parameters for specifying the interpolation characteristics in the RAM 330. In the first process of this embodiment, the required output characteristic and the interpolation characteristic are the same straight line.

次に、ステップS142において、CPU310は、要求出力特性から、入力輝度Ii=iのときの出力輝度Oiを算出する。CPU310は、算出した出力輝度Oiの値をRAM330に記憶する。次に、ステップS143において、CPU310は、要求出力特性から、出力輝度=Oiのときの補正入力輝度Siを算出する。CPU310は、算出した入力輝度Siの値をRAM330に記憶する。要求出力特性と補間特性とが同一の直線である場合、Ii=Siである。次に、ステップS144において、CPU310は、入出力特性Tbest から、出力輝度=Oiのときの入力輝度Piを算出する。前述のように入出力特性は複数のデータ点を含む。CPU310は、入出力特性が、出力輝度=Oiであるデータ点を含んでいるか判断する。入出力特性が出力輝度=Oiであるデータ点を含んでいる場合、CPU310は、そのデータ点の入力輝度の値と等しくなるようにPiを決定する。入出力特性が出力輝度=Oiであるデータ点を含んでいない場合、CPU310は、補間によりPiを算出する。すなわち、CPU310は、出力輝度=Oiの前後2点のデータ点を用いて、出力輝度=Oiに対応する入力輝度Piを算出する。CPU310は、線形補間、n次多項式補間、指数補間、対数補間など任意のものを用いることができる。CPU310は、算出した入力輝度Piの値をRAM330に記憶する。なお、CPU310は、補間によらず、出力輝度とOiとの差が最小であるデータ点の入力輝度をPiとしてもよい。 Next, in step S142, the CPU 310 calculates the output luminance Oi when the input luminance Ii = i from the required output characteristics. The CPU 310 stores the calculated value of the output luminance Oi in the RAM 330. Next, in step S143, the CPU 310 calculates a corrected input luminance Si when the output luminance = Oi from the required output characteristics. The CPU 310 stores the calculated input luminance Si value in the RAM 330. When the required output characteristic and the interpolation characteristic are the same straight line, Ii = Si. Next, in step S144, the CPU 310 calculates the input luminance Pi when the output luminance = Oi from the input / output characteristic T best i . As described above, the input / output characteristics include a plurality of data points. The CPU 310 determines whether the input / output characteristics include a data point with output luminance = Oi. When the input / output characteristics include a data point with output luminance = Oi, the CPU 310 determines Pi so as to be equal to the input luminance value of the data point. When the input / output characteristic does not include a data point with output luminance = Oi, the CPU 310 calculates Pi by interpolation. That is, the CPU 310 calculates the input luminance Pi corresponding to the output luminance = Oi using two data points before and after the output luminance = Oi. The CPU 310 can use any one of linear interpolation, n-order polynomial interpolation, exponential interpolation, logarithmic interpolation, and the like. The CPU 310 stores the calculated value of the input luminance Pi in the RAM 330. Note that the CPU 310 may set Pi as the input luminance of the data point where the difference between the output luminance and Oi is the minimum, regardless of interpolation.

次に、ステップS145において、CPU310は、補間誤差Diを算出する。補間誤差Diは、補間特性による入力輝度Siと入出力特性による入力輝度Piとの差の絶対値により定義される。すなわち、Di=|Si−Pi|である。CPU310は、算出した補間誤差Diと、補間誤差Diに対応する入力輝度Pi、入力輝度Piに対応する出力輝度DiとをRAM330に記憶する。次に、ステップS146において、CPU310は、必要な補完誤差の算出が完了したか判断する。すなわち、パラメータiが隣接データ点の入力輝度と等しいか判断する。パラメータiが隣接データ点の入力輝度よりも小さい場合(ステップS146:NO)、CPU310は、i=i+1としてパラメータiを更新する。パラメータiを更新すると、CPU310は、ステップS142〜S145の処理を繰り返し実行する。パラメータiが隣接データ点の入力輝度と等しい場合(ステップS146:YES)、CPU310は、補間誤差算出処理を終了する。補間誤差処理が完了すると、RAM330には、基準データ点と隣接データ点との間の補間誤差の変化を示す補間誤差特性が記憶される。   Next, in step S145, the CPU 310 calculates an interpolation error Di. The interpolation error Di is defined by the absolute value of the difference between the input luminance Si due to the interpolation characteristic and the input luminance Pi due to the input / output characteristic. That is, Di = | Si-Pi |. The CPU 310 stores the calculated interpolation error Di, the input luminance Pi corresponding to the interpolation error Di, and the output luminance Di corresponding to the input luminance Pi in the RAM 330. Next, in step S146, the CPU 310 determines whether calculation of necessary complementary errors has been completed. That is, it is determined whether the parameter i is equal to the input luminance of the adjacent data point. When the parameter i is smaller than the input luminance of the adjacent data point (step S146: NO), the CPU 310 updates i as i = i + 1. When the parameter i is updated, the CPU 310 repeatedly executes the processes of steps S142 to S145. When parameter i is equal to the input luminance of the adjacent data point (step S146: YES), CPU 310 ends the interpolation error calculation process. When the interpolation error processing is completed, the RAM 330 stores an interpolation error characteristic indicating a change in interpolation error between the reference data point and the adjacent data point.

再び図8を参照して説明する。補間誤差を算出すると、ステップS25において、CPU310は、補間誤差が許容誤差以下であるか(あるいは許容誤差未満であるか)判断する。具体的に、CPU310は、基準データ点と隣接データ点との間の補間誤差Diのうち、最大値Dimaxを特定する。CPU310は、最大値Dimaxと許容誤差とを比較する。最大値Dimaxが許容誤差を超えていた場合(ステップS25:NO)、CPU310は、処理をステップS26に移行する。最大値Dimaxが許容誤差以下であった場合(ステップS25:YES)、CPU310は、処理をステップS28に移行する。PC300は、あらかじめHDD350またはROM320に許容誤差を記憶している。許容誤差は、2値化処理の精度などに基づいて定められる。本実施形態において、許容誤差は、すべての入力輝度に対して同一の値である。なお、許容誤差は、入力輝度に依存して変化してもよい。例えば、許容誤差が、最大および最小の点において許容誤差が最大となり、入力輝度が中間階調の点において許容誤差が最小となる特性を有してもよい。   A description will be given with reference to FIG. 8 again. When the interpolation error is calculated, in step S25, the CPU 310 determines whether the interpolation error is less than or equal to the allowable error (or less than the allowable error). Specifically, the CPU 310 specifies the maximum value Dimax among the interpolation errors Di between the reference data point and the adjacent data point. CPU 310 compares maximum value Dimax with an allowable error. If the maximum value Dimax exceeds the allowable error (step S25: NO), the CPU 310 shifts the process to step S26. When the maximum value Dimax is equal to or smaller than the allowable error (step S25: YES), the CPU 310 shifts the process to step S28. The PC 300 stores an allowable error in the HDD 350 or the ROM 320 in advance. The allowable error is determined based on the accuracy of the binarization process. In the present embodiment, the tolerance is the same value for all input luminances. Note that the tolerance may vary depending on the input luminance. For example, the tolerance may be such that the tolerance is maximized at a point where the tolerance is the largest and the smallest, and the tolerance is minimized at a point where the input luminance is an intermediate gradation.

ステップS26において、CPU310は、Dimaxに対応するデータ点を追加することにより、濃度補正テーブルを更新する。CPU310は、RAM330から、Dimaxを与える入力輝度Piおよび出力輝度Oiを抽出する。以下、Dimaxを与える入力輝度Piおよび出力輝度Oiを、それぞれIDimaxおよびODimaxと表す。CPU310は、データ点(IDimax,ODimax)を濃度補正テーブルに追加する。なお、CPU310は、データ点(IDimax,ODimax)を濃度補正テーブルに追加する代わりに、入出力特性に含まれるデータ点のうち、入力輝度とIDimaxとの差が最小であるデータ点あるいは出力輝度とODimaxとの差が最小であるデータ点を濃度補正テーブルに追加してもよい。   In step S26, the CPU 310 updates the density correction table by adding a data point corresponding to Dimax. The CPU 310 extracts from the RAM 330 the input luminance Pi and the output luminance Oi that give Dimax. Hereinafter, the input luminance Pi and the output luminance Oi that give Dimax are expressed as IDimax and ODimax, respectively. The CPU 310 adds the data point (IDimax, ODimax) to the density correction table. Instead of adding the data points (IDimax, ODimax) to the density correction table, the CPU 310 selects the data point or the output luminance that has the smallest difference between the input luminance and IDimax among the data points included in the input / output characteristics. A data point having a minimum difference from ODimax may be added to the density correction table.

次に、ステップS27において、CPU310は、濃度補正テーブルに新たに追加されたデータ点を、新たな隣接データ点とする。隣接データ点を更新すると、CPU310は、処理をステップS23に移行する。   Next, in step S27, the CPU 310 sets the data point newly added to the density correction table as a new adjacent data point. When the adjacent data point is updated, the CPU 310 moves the process to step S23.

図14は、濃度補正テーブル更新処理を説明する図である。図14において、点Aおよび点Bは、濃度補正テーブルに初期値として記憶されたデータ点である。データ点Aが基準データ点であり、データ点Bが隣接データ点である。以上で説明した処理により、最大補間誤差に対応するデータ点Cが、あらたに濃度補正テーブルに追加される。そして、データ点Cが、新たな隣接データ点として特定される。すなわち、データ点Aが基準データ点であり、データ点Cが隣接データ点である。こうして隣接データ点が更新されると、再びステップS24の補間誤差算出処理が行われる。   FIG. 14 is a diagram illustrating the density correction table update process. In FIG. 14, points A and B are data points stored as initial values in the density correction table. Data point A is a reference data point and data point B is an adjacent data point. Through the processing described above, the data point C corresponding to the maximum interpolation error is newly added to the density correction table. Then, the data point C is specified as a new adjacent data point. That is, data point A is a reference data point and data point C is an adjacent data point. When the adjacent data point is updated in this way, the interpolation error calculation process in step S24 is performed again.

図15は、補間誤差算出処理を説明する図である。ここでは、基準データ点(データ点A)と隣接データ点(データ点C)の間の領域において補間誤差Diが算出される。前述と同様に、データ点Aとデータ点Cの間の領域において、補間誤差Diの最大値Dimaxが許容誤差以下であるか判断される。Dimaxが許容誤差を超えていた場合、Dimaxに対応するデータ点が、濃度補正テーブルに追加される。   FIG. 15 is a diagram for explaining the interpolation error calculation process. Here, the interpolation error Di is calculated in the region between the reference data point (data point A) and the adjacent data point (data point C). In the same manner as described above, in the region between the data point A and the data point C, it is determined whether the maximum value Dimax of the interpolation error Di is equal to or less than the allowable error. If Dimax exceeds the allowable error, a data point corresponding to Dimax is added to the density correction table.

図16は、濃度補正テーブル更新処理を説明する図である。図16の例では、新たにデータ点Dが濃度補正テーブルに追加されている。CPU310は、データ点Dをあらたな隣接データ点として隣接データ点を更新する。   FIG. 16 is a diagram illustrating the density correction table update process. In the example of FIG. 16, a data point D is newly added to the density correction table. The CPU 310 updates the adjacent data point with the data point D as a new adjacent data point.

再び図8を参照して説明する。補間誤差Diの最大値Dimaxが許容誤差以下であった場合(ステップS25:YES)、ステップS28において、CPU310は、前回の隣接データ点を新たな基準データ点として基準データ点を更新する。図16の例において、基準データ点Aと隣接データ点Dの間の領域における補間誤差Diの最大値Dimaxが許容誤差以下であった場合、データ点Dが新たな基準データ点として特定される。次に、ステップS29において、CPU310は、濃度補正テーブルに含まれるすべてのデータ点について処理が完了したか判断する。具体的には、新たな基準データ点に対して、特定方向(入力輝度が増加する方向)に隣接するデータ点が存在するか判断する。図16の例では、基準データ点であるデータ点Dには、隣接するデータ点(データ点C)が存在する。したがって、まだ濃度補正テーブルに含まれるすべてのデータ点について処理が完了していないと判断される。濃度補正テーブルに含まれるすべてのデータ点について処理が完了していないと判断された場合(ステップS29:NO)、CPU310は、新たな基準データ点に隣接するデータ点を新たな隣接データ点として隣接データ点を更新する。こうして新たな基準データ点および隣接データ点が特定されると、CPU310は処理をステップS24に移行する。   A description will be given with reference to FIG. 8 again. When the maximum value Dimax of the interpolation error Di is equal to or smaller than the allowable error (step S25: YES), in step S28, the CPU 310 updates the reference data point with the previous adjacent data point as a new reference data point. In the example of FIG. 16, when the maximum value Dimax of the interpolation error Di in the region between the reference data point A and the adjacent data point D is equal to or less than the allowable error, the data point D is specified as a new reference data point. Next, in step S29, the CPU 310 determines whether or not processing has been completed for all data points included in the density correction table. Specifically, it is determined whether there is a data point adjacent to a new reference data point in a specific direction (in which the input luminance increases). In the example of FIG. 16, an adjacent data point (data point C) exists at the data point D that is the reference data point. Therefore, it is determined that processing has not been completed for all data points included in the density correction table. When it is determined that the processing has not been completed for all data points included in the density correction table (step S29: NO), the CPU 310 uses a data point adjacent to the new reference data point as a new adjacent data point. Update data points. When the new reference data point and the adjacent data point are specified in this way, the CPU 310 moves the process to step S24.

図16の例において、データ点Cが基準データ点であり、データ点Bが隣接データ点であった場合を考える。基準データ点と隣接データ点の間の領域における補間誤差Diの最大値Dimaxが許容誤差以下であった場合、ステップS28において、CPU310は、濃度補正テーブルに含まれるすべてのデータ点について処理が完了したか判断する。ここで、データ点Bが新たな基準データ点として特定されるが、データ点Bは、特定方向において隣接するデータ点を有しない。したがって、CPU310は、濃度補正テーブルに含まれるすべてのデータ点について処理が完了したと判断する。この場合(ステップS29:YES)、CPU310は、ステップS30において、未処理の濃度補正テーブル(すなわち未処理のノズル)が存在するか判断する。未処理の濃度補正テーブルが存在すると判断された場合(ステップS30:YES)、CPU310は、処理対象の濃度補正テーブル(処理対象ノズル)を更新する。処理対象ノズルを更新すると、CPU310は、処理をステップS21に移行する。未処理の濃度補正テーブルが存在しないと判断された場合(ステップS30:NO)、CPU310は、濃度補正テーブルを確定する。例えば図16に示される状態であった場合、濃度補正テーブルは、データ点A〜Dの4つのデータ点を含むテーブルとして確定される。CPU310は、確定した濃度補正テーブルTB1をHDD350に記憶する。CPU310は、濃度補正テーブル生成処理を終了する。   In the example of FIG. 16, consider a case where data point C is a reference data point and data point B is an adjacent data point. When the maximum value Dimax of the interpolation error Di in the region between the reference data point and the adjacent data point is equal to or smaller than the allowable error, the CPU 310 has completed the processing for all the data points included in the density correction table in step S28. Judge. Here, the data point B is specified as a new reference data point, but the data point B does not have an adjacent data point in the specific direction. Therefore, CPU 310 determines that the processing has been completed for all data points included in the density correction table. In this case (step S29: YES), the CPU 310 determines in step S30 whether an unprocessed density correction table (that is, an unprocessed nozzle) exists. When it is determined that there is an unprocessed density correction table (step S30: YES), the CPU 310 updates the density correction table (processing target nozzle) to be processed. When the processing target nozzle is updated, the CPU 310 shifts the processing to step S21. When it is determined that there is no unprocessed density correction table (step S30: NO), the CPU 310 determines the density correction table. For example, in the state shown in FIG. 16, the density correction table is determined as a table including four data points A to D. CPU 310 stores the determined density correction table TB1 in HDD 350. The CPU 310 ends the density correction table generation process.

次に、CPU310は、濃度補正テーブルの更新を要求するテーブル更新要求および濃度補正テーブルTB1を画像形成装置200に送信する。画像形成装置200のCPU210は、テーブル更新要求を受信すると、受信した濃度補正テーブルTB1をROM220に記憶する。こうして、画像形成装置200は、自身のノズルに特有の濃度むらを補正するための濃度補正テーブルTB1を記憶する。   Next, the CPU 310 transmits a table update request for requesting the update of the density correction table and the density correction table TB1 to the image forming apparatus 200. When receiving the table update request, the CPU 210 of the image forming apparatus 200 stores the received density correction table TB1 in the ROM 220. In this way, the image forming apparatus 200 stores the density correction table TB1 for correcting density unevenness peculiar to its own nozzle.

図17は、生成された濃度補正テーブルTB1を例示する図である。濃度補正テーブルTB1は、複数の濃度補正テーブルを有する。複数の濃度補正テーブルの各々は、それぞれ、画像形成装置200の複数ノズルうちの一ノズルに対応する。このようにして生成された濃度補正テーブルを用いた補間により得られる入出力特性において、テストパターンから得られた入出力特性との誤差が、あらかじめ決められた許容誤差以下に収まっている。したがって、本実施形態によれば、メモリ容量を抑えつつ、補間誤差を許容範囲内に収めた濃度補正テーブルを得ることができる。なお、必要なメモリ容量をさらに低減するため、CPU310は、濃度補正テーブルTB1を圧縮してもよい。CPU310は、例えば、図17において入力輝度および出力輝度が共通する部分のデータに対し、共通のインデックスを付与することによりデータ量を削減してもよい。   FIG. 17 is a diagram illustrating the generated density correction table TB1. The density correction table TB1 has a plurality of density correction tables. Each of the plurality of density correction tables corresponds to one nozzle among the plurality of nozzles of the image forming apparatus 200. In the input / output characteristics obtained by interpolation using the density correction table generated in this way, the error from the input / output characteristics obtained from the test pattern is within a predetermined allowable error. Therefore, according to the present embodiment, it is possible to obtain a density correction table in which the interpolation error is within an allowable range while suppressing the memory capacity. In order to further reduce the necessary memory capacity, the CPU 310 may compress the density correction table TB1. For example, the CPU 310 may reduce the amount of data by assigning a common index to the data of the portion where the input luminance and the output luminance are common in FIG.

<3.濃度補正処理>
次に、上述のようにして生成された濃度補正テーブルTB1を用いた濃度補正処理について説明する。ここで説明する濃度補正処理は、図4のステップS130における濃度補正処理の詳細である。濃度補正処理の概要は次のとおりである。処理は、画像データを構成する画素のうち処理対象となる「自画素」を一画素ずつ順番に特定して行われる。自画素の補正値は、濃度補正テーブルTB1を用いて算出される。なお、以下では黒インク(K)に関する処理についてのみ説明するが、他の色成分(シアン、イエロー、マゼンタ)についても同様に濃度補正処理が行われる。
<3. Density correction processing>
Next, density correction processing using the density correction table TB1 generated as described above will be described. The density correction process described here is details of the density correction process in step S130 of FIG. The outline of the density correction process is as follows. The processing is performed by sequentially specifying “own pixels” to be processed among the pixels constituting the image data one by one. The correction value of the own pixel is calculated using the density correction table TB1. In the following, only the process relating to the black ink (K) will be described, but the density correction process is similarly performed for the other color components (cyan, yellow, magenta).

図18は、本実施形態に係る濃度補正処理の詳細を示すフローチャートである。PC100のCPU110はまず、全てのノズルが出力できる出力輝度範囲を算出する(ステップS301)。すなわち、濃度補正テーブルTB1から、MaxMinおよびMinMaxを算出する。なお、以下では簡単のため、ノズル#00〜#02の3つのノズルについてのみ考慮した説明を行う。ノズル#00〜#02の濃度補正テーブルは、図17に示されるものである。したがって、MaxMin=245.0、MinMax=38.0である。   FIG. 18 is a flowchart showing details of the density correction processing according to the present embodiment. First, the CPU 110 of the PC 100 calculates an output luminance range that can be output from all nozzles (step S301). That is, MaxMin and MinMax are calculated from the density correction table TB1. In the following, for the sake of simplicity, description will be made in consideration of only the three nozzles # 00 to # 02. The density correction table for nozzles # 00 to # 02 is shown in FIG. Therefore, MaxMin = 245.0 and MinMax = 38.0.

次に、CPU110は、画像内の位置を示すパラメータxおよびyを初期化する(ステップS302)。パラメータxおよびyは、自画素を特定するための位置パラメータである。xは画像幅方向(紙送り方向)の位置を、yは画像高さ方向(紙送り方向と直交する方向)の位置(すなわちノズル番号)を示すパラメータである。本実施形態において、CPU110は、xおよびyをそれぞれ0に初期化する。なお、以下の説明では、自画素を形成するインクドットを出力するノズルを「自ノズル」という。   Next, the CPU 110 initializes parameters x and y indicating positions in the image (step S302). The parameters x and y are position parameters for specifying the own pixel. x is a parameter indicating the position in the image width direction (paper feed direction), and y is a parameter indicating the position in the image height direction (direction perpendicular to the paper feed direction) (ie, nozzle number). In the present embodiment, the CPU 110 initializes x and y to 0, respectively. In the following description, a nozzle that outputs an ink dot that forms its own pixel is referred to as “own nozzle”.

続いてCPU110は、要求出力輝度の算出をする(ステップS303)。要求出力輝度とは、出力輝度の目標値のようなものである。本実施形態において、入力画像は256階調(0〜255)の輝度で表現されている。しかし、前述のように画像形成装置200が出力可能な輝度はMinMax〜MaxMinの範囲に制限される(本実施形態では、38〜245)。そこで、入力画像の輝度が出力輝度範囲に収まるように、入力画像の輝度を要求出力輝度に変換する必要がある。CPU110は、次式(2)に従って入力画像の輝度Iを要求出力輝度Creqに変換する。
req=(MaxMin−MinMax)/Cmax×I+MinMax …(2)
ここで、Cmaxは最大輝度(本実施形態ではCmax=255)を示す。
Subsequently, the CPU 110 calculates a required output luminance (step S303). The required output luminance is like a target value of output luminance. In the present embodiment, the input image is expressed with a luminance of 256 gradations (0 to 255). However, as described above, the luminance that can be output by the image forming apparatus 200 is limited to the range of MinMax to MaxMin (38 to 245 in this embodiment). Therefore, it is necessary to convert the luminance of the input image to the required output luminance so that the luminance of the input image falls within the output luminance range. The CPU 110 converts the luminance I of the input image into the required output luminance C req according to the following equation (2).
C req = (MaxMin−MinMax) / C max × I + MinMax (2)
Here, C max indicates the maximum luminance (C max = 255 in the present embodiment).

いま、入力画像として輝度128のベタ画像を入力したとすると、(2)式にMaxMin=245、MinMax=39、Cmax=255、I=128を代入してCreq=142が得られる(小数点以下四捨五入)。入力画像はベタ画像なので、すべての画素で要求出力輝度は142となる。 Assuming that a solid image having a luminance of 128 is input as an input image, C req = 142 is obtained by substituting MaxMin = 245, MinMax = 39, C max = 255, and I = 128 into the equation (2) (decimal point). Rounded down below). Since the input image is a solid image, the required output luminance is 142 for all pixels.

再び図18を参照して説明する。続いてCPU110は、自ノズル、すなわちノズル#yの濃度補正テーブルを取得する(ステップS304)。この処理は例えば、以下のように行われる。CPU110は、濃度補正テーブルの送信を要求するテーブル送信要求を画像形成装置200に送信する。テーブル送信要求を受信すると、画像形成装置200のCPU210は、RAM230から濃度補正テーブルTB1を読み出す。CPU210は、読み出した濃度補正テーブルTB1を含むテーブル送信応答を、テーブル送信要求の送信元であるPC100に送信する。PC100のCPU110は、テーブル送信応答を受信すると、受信したテーブル送信応答から濃度補正テーブルTB1を抽出する。CPU110は、抽出した濃度補正テーブルTB1をHDD150に記憶する。CPU110は、HDD150に記憶された濃度補正テーブルTB1の中からノズル#yの濃度補正テーブルを抽出する。CPU110は、抽出した濃度補正テーブルをRAM130に記憶する。   A description will be given with reference to FIG. 18 again. Subsequently, the CPU 110 acquires a density correction table for the own nozzle, that is, the nozzle #y (step S304). This process is performed as follows, for example. The CPU 110 transmits a table transmission request for requesting transmission of the density correction table to the image forming apparatus 200. When receiving the table transmission request, the CPU 210 of the image forming apparatus 200 reads the density correction table TB1 from the RAM 230. The CPU 210 transmits a table transmission response including the read density correction table TB1 to the PC 100 that is the transmission source of the table transmission request. When receiving the table transmission response, the CPU 110 of the PC 100 extracts the density correction table TB1 from the received table transmission response. The CPU 110 stores the extracted density correction table TB1 in the HDD 150. The CPU 110 extracts the density correction table for the nozzle #y from the density correction table TB1 stored in the HDD 150. The CPU 110 stores the extracted density correction table in the RAM 130.

なお、画像形成装置200からPC100への濃度補正テーブルTB1の読出しは、例えば、PC100にプリンタドライバをインストールしたときなど、図18に示されるフローに先立って行われてもよい。また、画像形成装置200は、濃度補正テーブルTB1のすべてを読み出してもよいし、必要に応じて一部分だけを読み出してもよい。   Note that reading of the density correction table TB1 from the image forming apparatus 200 to the PC 100 may be performed prior to the flow illustrated in FIG. 18, for example, when a printer driver is installed in the PC 100. Further, the image forming apparatus 200 may read all of the density correction table TB1, or may read only a part if necessary.

次に、CPU110は、自ノズルの濃度補正テーブルに基づいて自画素の補正値を計算する(ステップS308)。具体的には、CPU110は、出力輝度が要求出力輝度に一致するように入力輝度の補正値を算出する。要求出力輝度の値が濃度補正テーブルにないときは、補間により補正値を算出する。いま、自画素の要求出力輝度が142であるので、要求出力輝度が150.3と130.0のときのデータを用いて線形補間を行う。要求出力輝度を142とするには、入力輝度の補正値は162となる。CPU110は、こうして算出した補正値をRAM130に記憶する。   Next, the CPU 110 calculates the correction value of the own pixel based on the density correction table of the own nozzle (step S308). Specifically, CPU 110 calculates a correction value for input luminance such that the output luminance matches the required output luminance. When the required output luminance value is not in the density correction table, a correction value is calculated by interpolation. Now, since the required output luminance of the own pixel is 142, linear interpolation is performed using data when the required output luminance is 150.3 and 130.0. In order to set the required output luminance to 142, the input luminance correction value is 162. The CPU 110 stores the correction value calculated in this way in the RAM 130.

次に、ステップS309において、CPU110は、ノズル番号yを更新する。具体的には、y=y+1としてノズル番号yを更新する。CPU110は、すべてのノズルについて処理が完了したか判断する(ステップS310)。すべてのノズルについて処理が完了していない場合(ステップS310:NO)、CPU110は、上述のステップS304〜S309の処理を繰り返し実行する。本実施形態において、ノズル#00(画素[x,0])についてステップS304〜S309の処理が完了すると、続いてノズル#01(画素[x,1])についてステップS304〜S309の処理が行われる。画素[x,1]に対するステップS304〜S309の処理も、基本的には画素[x,0]に対するステップS304〜S309の処理と同様に行われる。   Next, in step S309, the CPU 110 updates the nozzle number y. Specifically, the nozzle number y is updated with y = y + 1. The CPU 110 determines whether the processing has been completed for all nozzles (step S310). When the processing has not been completed for all the nozzles (step S310: NO), the CPU 110 repeatedly executes the processing of steps S304 to S309 described above. In the present embodiment, when the process of steps S304 to S309 is completed for nozzle # 00 (pixel [x, 0]), the process of steps S304 to S309 is subsequently performed for nozzle # 01 (pixel [x, 1]). . The processes in steps S304 to S309 for the pixel [x, 1] are basically performed in the same manner as the processes in steps S304 to S309 for the pixel [x, 0].

一方、1ライン分すべてのノズルについて処理が完了した場合(ステップS310:YES)、CPU110は、xの値をx=x+1として更新し、ノズル番号を0に戻す(ステップS311)。CPU110は、すべての画素について処理が完了したか判断する(ステップS312)。すべての画素について処理が完了していない場合(ステップS310:NO)、CPU110は、ステップS304〜S311の処理を繰り返し実行する。すべての画素について処理が完了した場合(ステップS312:YES)、CPU110は、濃度補正処理を完了する。   On the other hand, when the processing is completed for all the nozzles for one line (step S310: YES), the CPU 110 updates the value of x as x = x + 1 and returns the nozzle number to 0 (step S311). The CPU 110 determines whether the processing has been completed for all pixels (step S312). When the processing has not been completed for all the pixels (step S310: NO), the CPU 110 repeatedly executes the processing of steps S304 to S311. When the processing has been completed for all pixels (step S312: YES), the CPU 110 completes the density correction processing.

CPU110は、以上のようにして算出された補正値を含む制御データを画像形成装置200に出力する。画像形成装置は、補正値に従って画像を形成する。   The CPU 110 outputs control data including the correction value calculated as described above to the image forming apparatus 200. The image forming apparatus forms an image according to the correction value.

以上で説明したように本実施形態によれば、補正対象である自画素に対応する自ノズルの出力特性を考慮した画像補正が行われる。補正処理は、ノズルの出力特性を示す情報を記憶した濃度補正テーブルに基づいて行われる。また、連続するノズルの吐出特性(出力輝度)のバラツキがある許容値以下であれば、濃度補正テーブルのデータが統合される。これにより、濃度補正テーブルを用いた補正により高画質化を実現するとともに、濃度補正テーブルを記憶するメモリ容量を削減することができる。   As described above, according to the present embodiment, image correction is performed in consideration of the output characteristics of the own nozzle corresponding to the subject pixel to be corrected. The correction process is performed based on a density correction table that stores information indicating the output characteristics of the nozzles. Further, if the discharge characteristics (output luminance) of the continuous nozzles are less than an allowable value, the density correction table data is integrated. As a result, high image quality can be achieved by correction using the density correction table, and the memory capacity for storing the density correction table can be reduced.

<4.他の実施形態>
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。
上述の実施形態において、画像形成装置200はラインヘッド型のインクジェットプリンタであったが、画像形成装置200は、マルチパス型のインクジェットプリンタ等、他の種類のプリンタでもよい。
<4. Other embodiments>
The present invention is not limited to the above-described embodiment, and various modifications can be made.
In the above-described embodiment, the image forming apparatus 200 is a line head type ink jet printer. However, the image forming apparatus 200 may be another type of printer such as a multi-pass type ink jet printer.

また、上述の実施形態においては、画像処理装置であるPC100および濃度補正テーブル生成装置であるPC300がそれぞれ別個の装置であったが、単一の装置が画像処理装置および濃度補正テーブル生成装置としての機能を有してもよい。また、画像処理装置あるいは濃度補正テーブル生成装置としての機能を、2つ以上のコンピュータ装置に分散する構成としてもよい。   In the above-described embodiment, the PC 100 that is the image processing apparatus and the PC 300 that is the density correction table generating apparatus are separate apparatuses, but a single apparatus is used as the image processing apparatus and the density correction table generating apparatus. It may have a function. Further, the function as the image processing device or the density correction table generation device may be distributed to two or more computer devices.

また、上述の実施形態においては、入出力特性Tbestが下に凸な曲線である例について説明したが、入出力特性の形状は実施形態で説明したものに限定されない。どのような形状の入出力特性に対しても、本発明を適用することが可能である。 In the above-described embodiment, the example in which the input / output characteristic T best is a downwardly convex curve has been described. However, the shape of the input / output characteristic is not limited to that described in the embodiment. The present invention can be applied to input / output characteristics of any shape.

画像形成システム1の機能構成を示すブロック図である。2 is a block diagram illustrating a functional configuration of the image forming system 1. FIG. 画像形成装置200のハードウェア構成を示すブロック図である。2 is a block diagram illustrating a hardware configuration of an image forming apparatus 200. FIG. PC100のハードウェア構成を示すブロック図である。2 is a block diagram illustrating a hardware configuration of a PC 100. FIG. 画像形成システム1の動作を示すフローチャートである。3 is a flowchart showing the operation of the image forming system 1. 濃度補正テーブル生成システム2の機能構成を示すブロック図である。2 is a block diagram showing a functional configuration of a density correction table generation system 2. FIG. 濃度補正テーブル生成部302の詳細を示すブロック図である。4 is a block diagram showing details of a density correction table generation unit 302. FIG. PC300のハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of PC300. 濃度補正テーブル生成処理を示すフローチャートである。It is a flowchart which shows a density | concentration correction table production | generation process. 入出力特性取得処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of an input / output characteristic acquisition process. 入出力特性を例示する図である。It is a figure which illustrates an input / output characteristic. 初期化処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of an initialization process. 補間誤差算出処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of an interpolation error calculation process. 補間誤差算出処理を説明する図である。It is a figure explaining an interpolation error calculation process. 濃度補正テーブル更新処理を説明する図である。It is a figure explaining a density correction table update process. 補間誤差算出処理を説明する図である。It is a figure explaining an interpolation error calculation process. 濃度補正テーブル更新処理を説明する図である。It is a figure explaining a density correction table update process. 生成された濃度補正テーブルを例示する図である。It is a figure which illustrates the produced | generated density correction table. 本実施形態に係る濃度補正処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the density correction process which concerns on this embodiment.

符号の説明Explanation of symbols

TB1…濃度補正テーブル、1…画像形成システム、2…濃度補正テーブル生成システム、100…PC、100…濃度補正テーブル生成装置、101…解像度変換部、102…色空間変換部、103…濃度補正部、104…量子化部、105…ラスタライズ部、108…アプリケーション、109…デバイスドライバ、110…CPU、120…ROM、130…RAM、140…I/F、150…HDD、160…キーボード、170…ディスプレイ、200…画像形成装置、210…CPU、220…ROM、230…RAM、240…I/F、250…画像形成部、251…ラインヘッド、252…インクタンク、253…ヘッド駆動回路、254…制御部、255…モータ、256…モータ駆動回路、257…ページバッファ、290…バス、300…PC、301…テストパターン、302…濃度補正テーブル生成部、303…濃度測定部、304…スキャン画像、310…CPU、320…ROM、330…RAM、340…I/F、350…HDD、360…キーボード、400…スキャナ、3021…入出力特性取得部、3022…補間特性算出部、3023…補間誤差算出部、3024…補間誤差判断部、3025…濃度補正テーブル更新部 TB1 ... density correction table, 1 ... image forming system, 2 ... density correction table generation system, 100 ... PC, 100 ... density correction table generation device, 101 ... resolution conversion unit, 102 ... color space conversion unit, 103 ... density correction unit , 104 ... Quantization unit, 105 ... Rasterization unit, 108 ... Application, 109 ... Device driver, 110 ... CPU, 120 ... ROM, 130 ... RAM, 140 ... I / F, 150 ... HDD, 160 ... Keyboard, 170 ... Display , 200 ... Image forming apparatus, 210 ... CPU, 220 ... ROM, 230 ... RAM, 240 ... I / F, 250 ... Image forming unit, 251 ... Line head, 252 ... Ink tank, 253 ... Head drive circuit, 254 ... Control , 255, motor, 256, motor drive circuit, 257, page buffer, 2 DESCRIPTION OF SYMBOLS 0 ... Bus, 300 ... PC, 301 ... Test pattern, 302 ... Density correction table generation unit, 303 ... Density measurement unit, 304 ... Scanned image, 310 ... CPU, 320 ... ROM, 330 ... RAM, 340 ... I / F, 350 ... HDD, 360 ... Keyboard, 400 ... Scanner, 3021 ... Input / output characteristic acquisition unit, 3022 ... Interpolation characteristic calculation unit, 3023 ... Interpolation error calculation unit, 3024 ... Interpolation error determination unit, 3025 ... Density correction table update unit

Claims (8)

画像形成装置の濃度補正に用いる濃度補正テーブルを記憶する記憶手段と、
前記画像形成装置の入出力特性であって、複数のデータ点を有する入出力特性を取得する入出力特性取得手段と、
前記入出力特性取得手段により取得された入出力特性が有するデータ点のうち、あらかじめ決められた数のデータ点を、前記濃度補正テーブルに含まれるデータ点の初期値として特定する初期化手段と、
前記初期化手段により特定されたデータ点のうち、一のデータ点を処理の基準となる基準データ点として、前記基準データ点と特定方向において隣接するデータ点を隣接データ点として特定するデータ点特定手段と、
前記基準データ点と前記隣接データ点との間の補間処理により、これら2点間における補間特性を算出する補間特性算出手段と、
前記補間特性算出手段により算出された補間特性と、前記入出力特性とを比較することにより、前記基準データ点と前記隣接データ点との間における補間誤差の代表値を算出する補間誤差算出手段と、
前記補間誤差算出手段により算出された補間誤差の代表値が、あらかじめ決められた許容誤差以下または許容誤差未満であるか判断する補間誤差判断手段と、
前記補間誤差判断手段により前記補間誤差の代表値が前記許容誤差以下または前記許容誤差未満でないと判断された場合、前記代表値に対応するデータ点を、前記記憶手段に記憶された濃度補正テーブルに追加する濃度補正テーブル更新手段と、
前記濃度補正テーブル更新手段により追加されたデータ点を、新たな隣接データ点として特定する隣接データ点更新手段と、
前記補間誤差判断手段により前記補間誤差の代表値が前記許容誤差以下または前記許容誤差未満であると判断された場合、前記隣接データ点を新たな基準データ点として特定する基準データ点更新手段と、
前記初期化手段により特定されたデータ点のうち、前記基準データ点更新手段により新たな基準データ点として特定されたデータ点と前記特定方向において隣接するデータ点が存在するか判断する終了判断手段と、
前記終了判断手段により、前記基準データ点と前記特定方向において隣接するデータ点が存在しないと判断された場合、前記濃度補正テーブルに含まれるデータ点を確定する濃度補正テーブル確定手段と
を有する濃度補正テーブル生成装置。
Storage means for storing a density correction table used for density correction of the image forming apparatus;
Input / output characteristic acquisition means for acquiring input / output characteristics of the image forming apparatus, the input / output characteristics having a plurality of data points;
Among the data points of the input / output characteristics acquired by the input / output characteristics acquisition means, initialization means for specifying a predetermined number of data points as initial values of the data points included in the density correction table;
Data point specification that specifies one data point among the data points specified by the initialization means as a reference data point as a reference for processing and a data point adjacent to the reference data point in a specific direction as an adjacent data point Means,
An interpolation characteristic calculating means for calculating an interpolation characteristic between these two points by an interpolation process between the reference data point and the adjacent data point;
An interpolation error calculating means for calculating a representative value of an interpolation error between the reference data point and the adjacent data point by comparing the interpolation characteristic calculated by the interpolation characteristic calculating means with the input / output characteristic; ,
Interpolation error determination means for determining whether a representative value of the interpolation error calculated by the interpolation error calculation means is equal to or less than a predetermined allowable error or less than the allowable error;
When the interpolation error determining means determines that the representative value of the interpolation error is not less than or less than the allowable error or less than the allowable error, the data point corresponding to the representative value is stored in the density correction table stored in the storage means. Density correction table update means to be added;
An adjacent data point update means for specifying the data point added by the density correction table update means as a new adjacent data point;
Reference data point update means for specifying the adjacent data point as a new reference data point when the interpolation error determination means determines that the representative value of the interpolation error is equal to or less than the allowable error or less than the allowable error;
An end determination unit that determines whether there is a data point adjacent to the data point specified as a new reference data point by the reference data point update unit among the data points specified by the initialization unit in the specific direction; ,
Density correction table determining means for determining data points included in the density correction table when the end determining means determines that there is no data point adjacent to the reference data point in the specific direction. Table generator.
前記画像形成装置が複数のノズルを有し、
前記入出力特性が、複数の最大出力値および最小出力値であって、各々前記複数のノズルの各々に対応する複数の最大出力値および最小出力値を含み、
前記初期化手段が、前記複数の最大出力値のうち一の出力値に対応するデータ点と、前記複数の最小出力値のうち一の出力値に対応するデータ点とを初期値として特定する
ことを特徴とする請求項1に記載の濃度補正テーブル生成装置。
The image forming apparatus has a plurality of nozzles;
The input / output characteristics are a plurality of maximum output values and minimum output values, each including a plurality of maximum output values and minimum output values corresponding to each of the plurality of nozzles;
The initialization means specifies, as an initial value, a data point corresponding to one output value of the plurality of maximum output values and a data point corresponding to one output value of the plurality of minimum output values; The density correction table generating device according to claim 1.
前記複数の最大出力値のうち一の出力値が、前記複数の最大出力値のうち最小の出力値であり、
前記複数の最小出力値のうち一の出力値が、前記複数の最小出力値のうち最大の出力値である
ことを特徴とする請求項2に記載の濃度補正テーブル生成装置。
One output value of the plurality of maximum output values is a minimum output value of the plurality of maximum output values,
The density correction table generation device according to claim 2, wherein one output value among the plurality of minimum output values is a maximum output value among the plurality of minimum output values.
前記補間誤差の代表値が、前記補間誤差の最大値であることを特徴とする請求項1に記載の濃度補正テーブル生成装置。   The density correction table generation device according to claim 1, wherein a representative value of the interpolation error is a maximum value of the interpolation error. 前記入出力特性取得手段が、前記画像形成装置が出力可能な全階調値についてのデータ点を含むことを特徴とする請求項1に記載の濃度補正テーブル生成装置。   2. The density correction table generation device according to claim 1, wherein the input / output characteristic acquisition unit includes data points for all gradation values that can be output by the image forming apparatus. 画像形成装置の濃度補正に用いる濃度補正テーブルを生成する濃度補正テーブル生成方法であって、
前記画像形成装置の入出力特性であって、複数のデータ点を有する入出力特性を取得する入出力特性取得ステップと、
前記入出力特性が有するデータ点のうち、あらかじめ決められた数のデータ点を、前記濃度補正テーブルに含まれるデータ点の初期値として特定する初期化ステップと、
前記初期化ステップにおいて特定されたデータ点のうち、一のデータ点を処理の基準となる基準データ点として、前記基準データ点と特定方向において隣接するデータ点を隣接データ点として特定するデータ点特定ステップと、
前記基準データ点と前記隣接データ点との間の補間処理により、これら2点間における補間特性を算出する補間特性算出ステップと、
前記補間特性と、前記入出力特性とを比較することにより、前記基準データ点と前記隣接データ点との間における補間誤差の代表値を算出する補間誤差算出ステップと、
前記補間誤差の代表値が、あらかじめ決められた許容誤差以下または許容誤差未満であるか判断する補間誤差判断ステップと、
前記補間誤差判断ステップにおいて前記補間誤差の代表値が前記許容誤差以下または前記許容誤差未満でないと判断された場合、前記代表値に対応するデータ点を、前記記憶手段に記憶された濃度補正テーブルに追加する濃度補正テーブル更新ステップと、
前記濃度補正テーブル更新ステップにおいて追加されたデータ点を、新たな隣接データ点として特定する隣接データ点更新ステップと、
前記補間誤差の代表値が前記許容誤差以下または前記許容誤差未満であると判断された場合、前記隣接データ点を新たな基準データ点として特定する基準データ点更新ステップと、
前記初期化ステップにおいて特定されたデータ点のうち、前記基準データ点更新手段により新たな基準データ点として特定されたデータ点と前記特定方向において隣接するデータ点が存在するか判断する終了判断ステップと、
前記終了判断ステップにおいて、前記基準データ点と前記特定方向において隣接するデータ点が存在しないと判断された場合、前記濃度補正テーブルに含まれるデータ点を確定する濃度補正テーブル確定ステップと
を有する補正テーブル生成方法。
A density correction table generation method for generating a density correction table used for density correction of an image forming apparatus,
Input / output characteristics of the image forming apparatus, an input / output characteristics acquisition step for acquiring input / output characteristics having a plurality of data points;
An initialization step of specifying a predetermined number of data points among the data points of the input / output characteristics as initial values of the data points included in the density correction table;
Data point specification that specifies one data point among the data points specified in the initialization step as a reference data point serving as a reference for processing and a data point adjacent to the reference data point in a specific direction as an adjacent data point Steps,
An interpolation characteristic calculating step of calculating an interpolation characteristic between these two points by an interpolation process between the reference data point and the adjacent data point;
An interpolation error calculating step of calculating a representative value of an interpolation error between the reference data point and the adjacent data point by comparing the interpolation characteristic and the input / output characteristic;
An interpolation error determining step of determining whether a representative value of the interpolation error is equal to or less than a predetermined allowable error or less than the allowable error;
When it is determined in the interpolation error determination step that the representative value of the interpolation error is not less than the allowable error or less than the allowable error, the data point corresponding to the representative value is stored in the density correction table stored in the storage means. A density correction table update step to be added;
An adjacent data point update step for specifying the data point added in the density correction table update step as a new adjacent data point;
A reference data point update step for specifying the adjacent data point as a new reference data point when it is determined that a representative value of the interpolation error is equal to or less than the allowable error or less than the allowable error;
An end determination step of determining whether a data point specified as a new reference data point by the reference data point update unit among the data points specified in the initialization step is adjacent to the data point in the specific direction; ,
A correction table having a density correction table determination step for determining a data point included in the density correction table when it is determined in the end determination step that there is no data point adjacent to the reference data point in the specific direction; Generation method.
コンピュータ装置を、
画像形成装置の濃度補正に用いる濃度補正テーブルを記憶する記憶手段と、
前記画像形成装置の入出力特性であって、複数のデータ点を有する入出力特性を取得する入出力特性取得手段と、
前記入出力特性取得手段により取得された入出力特性が有するデータ点のうち、あらかじめ決められた数のデータ点を、前記濃度補正テーブルに含まれるデータ点の初期値として特定する初期化手段と、
前記初期化手段により特定されたデータ点のうち、一のデータ点を処理の基準となる基準データ点として、前記基準データ点と特定方向において隣接するデータ点を隣接データ点として特定するデータ点特定手段と、
前記基準データ点と前記隣接データ点との間の補間処理により、これら2点間における補間特性を算出する補間特性算出手段と、
前記補間特性算出手段により算出された補間特性と、前記入出力特性とを比較することにより、前記基準データ点と前記隣接データ点との間における補間誤差の代表値を算出する補間誤差算出手段と、
前記補間誤差算出手段により算出された補間誤差の代表値が、あらかじめ決められた許容誤差以下または許容誤差未満であるか判断する補間誤差判断手段と、
前記補間誤差判断手段により前記補間誤差の代表値が前記許容誤差以下または前記許容誤差未満でないと判断された場合、前記代表値に対応するデータ点を、前記記憶手段に記憶された濃度補正テーブルに追加する濃度補正テーブル更新手段と、
前記濃度補正テーブル更新手段により追加されたデータ点を、新たな隣接データ点として特定する隣接データ点更新手段と、
前記補間誤差判断手段により前記補間誤差の代表値が前記許容誤差以下または前記許容誤差未満であると判断された場合、前記隣接データ点を新たな基準データ点として特定する基準データ点更新手段と、
前記初期化手段により特定されたデータ点のうち、前記基準データ点更新手段により新たな基準データ点として特定されたデータ点と前記特定方向において隣接するデータ点が存在するか判断する終了判断手段と、
前記終了判断手段により、前記基準データ点と前記特定方向において隣接するデータ点が存在しないと判断された場合、前記濃度補正テーブルに含まれるデータ点を確定する濃度補正テーブル確定手段と
して機能させるプログラム。
Computer equipment,
Storage means for storing a density correction table used for density correction of the image forming apparatus;
Input / output characteristic acquisition means for acquiring input / output characteristics of the image forming apparatus, the input / output characteristics having a plurality of data points;
Among the data points of the input / output characteristics acquired by the input / output characteristics acquisition means, initialization means for specifying a predetermined number of data points as initial values of the data points included in the density correction table;
Data point specification that specifies one data point among the data points specified by the initialization means as a reference data point as a reference for processing and a data point adjacent to the reference data point in a specific direction as an adjacent data point Means,
An interpolation characteristic calculating means for calculating an interpolation characteristic between these two points by an interpolation process between the reference data point and the adjacent data point;
An interpolation error calculating means for calculating a representative value of an interpolation error between the reference data point and the adjacent data point by comparing the interpolation characteristic calculated by the interpolation characteristic calculating means with the input / output characteristic; ,
Interpolation error determination means for determining whether a representative value of the interpolation error calculated by the interpolation error calculation means is equal to or less than a predetermined allowable error or less than the allowable error;
When the interpolation error determining means determines that the representative value of the interpolation error is not less than or less than the allowable error or less than the allowable error, the data point corresponding to the representative value is stored in the density correction table stored in the storage means. Density correction table update means to be added;
An adjacent data point update means for specifying the data point added by the density correction table update means as a new adjacent data point;
Reference data point update means for specifying the adjacent data point as a new reference data point when the interpolation error determination means determines that the representative value of the interpolation error is equal to or less than the allowable error or less than the allowable error;
An end determination unit that determines whether there is a data point adjacent to the data point specified as a new reference data point by the reference data point update unit among the data points specified by the initialization unit in the specific direction; ,
When the end determination means determines that there is no data point adjacent to the reference data point in the specific direction, the end determination means functions as density correction table determination means for determining a data point included in the density correction table. program.
コンピュータ装置を、
画像形成装置の濃度補正に用いる濃度補正テーブルを記憶する記憶手段と、
前記画像形成装置の入出力特性であって、複数のデータ点を有する入出力特性を取得する入出力特性取得手段と、
前記入出力特性取得手段により取得された入出力特性が有するデータ点のうち、あらかじめ決められた数のデータ点を、前記濃度補正テーブルに含まれるデータ点の初期値として特定する初期化手段と、
前記初期化手段により特定されたデータ点のうち、一のデータ点を処理の基準となる基準データ点として、前記基準データ点と特定方向において隣接するデータ点を隣接データ点として特定するデータ点特定手段と、
前記基準データ点と前記隣接データ点との間の補間処理により、これら2点間における補間特性を算出する補間特性算出手段と、
前記補間特性算出手段により算出された補間特性と、前記入出力特性とを比較することにより、前記基準データ点と前記隣接データ点との間における補間誤差の代表値を算出する補間誤差算出手段と、
前記補間誤差算出手段により算出された補間誤差の代表値が、あらかじめ決められた許容誤差以下または許容誤差未満であるか判断する補間誤差判断手段と、
前記補間誤差判断手段により前記補間誤差の代表値が前記許容誤差以下または前記許容誤差未満でないと判断された場合、前記代表値に対応するデータ点を、前記記憶手段に記憶された濃度補正テーブルに追加する濃度補正テーブル更新手段と、
前記濃度補正テーブル更新手段により追加されたデータ点を、新たな隣接データ点として特定する隣接データ点更新手段と、
前記補間誤差判断手段により前記補間誤差の代表値が前記許容誤差以下または前記許容誤差未満であると判断された場合、前記隣接データ点を新たな基準データ点として特定する基準データ点更新手段と、
前記初期化手段により特定されたデータ点のうち、前記基準データ点更新手段により新たな基準データ点として特定されたデータ点と前記特定方向において隣接するデータ点が存在するか判断する終了判断手段と、
前記終了判断手段により、前記基準データ点と前記特定方向において隣接するデータ点が存在しないと判断された場合、前記濃度補正テーブルに含まれるデータ点を確定する濃度補正テーブル確定手段と
して機能させるプログラムを記憶した記憶媒体。
Computer equipment,
Storage means for storing a density correction table used for density correction of the image forming apparatus;
Input / output characteristic acquisition means for acquiring input / output characteristics of the image forming apparatus, the input / output characteristics having a plurality of data points;
Among the data points of the input / output characteristics acquired by the input / output characteristics acquisition means, initialization means for specifying a predetermined number of data points as initial values of the data points included in the density correction table;
Data point specification that specifies one data point among the data points specified by the initialization means as a reference data point as a reference for processing and a data point adjacent to the reference data point in a specific direction as an adjacent data point Means,
An interpolation characteristic calculating means for calculating an interpolation characteristic between these two points by an interpolation process between the reference data point and the adjacent data point;
An interpolation error calculating means for calculating a representative value of an interpolation error between the reference data point and the adjacent data point by comparing the interpolation characteristic calculated by the interpolation characteristic calculating means with the input / output characteristic; ,
Interpolation error determination means for determining whether a representative value of the interpolation error calculated by the interpolation error calculation means is equal to or less than a predetermined allowable error or less than the allowable error;
When the interpolation error determining means determines that the representative value of the interpolation error is not less than or less than the allowable error or less than the allowable error, the data point corresponding to the representative value is stored in the density correction table stored in the storage means. Density correction table update means to be added;
An adjacent data point update means for specifying the data point added by the density correction table update means as a new adjacent data point;
Reference data point update means for specifying the adjacent data point as a new reference data point when the interpolation error determination means determines that the representative value of the interpolation error is equal to or less than the allowable error or less than the allowable error;
An end determination unit that determines whether there is a data point adjacent to the data point specified as a new reference data point by the reference data point update unit among the data points specified by the initialization unit in the specific direction; ,
When the end determination means determines that there is no data point adjacent to the reference data point in the specific direction, the end determination means functions as density correction table determination means for determining a data point included in the density correction table. A storage medium that stores programs.
JP2006000856A 2006-01-05 2006-01-05 Density correction table generation device, density correction table generation method, program, and storage medium Expired - Fee Related JP4487932B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006000856A JP4487932B2 (en) 2006-01-05 2006-01-05 Density correction table generation device, density correction table generation method, program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006000856A JP4487932B2 (en) 2006-01-05 2006-01-05 Density correction table generation device, density correction table generation method, program, and storage medium

Publications (2)

Publication Number Publication Date
JP2007184730A true JP2007184730A (en) 2007-07-19
JP4487932B2 JP4487932B2 (en) 2010-06-23

Family

ID=38340442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006000856A Expired - Fee Related JP4487932B2 (en) 2006-01-05 2006-01-05 Density correction table generation device, density correction table generation method, program, and storage medium

Country Status (1)

Country Link
JP (1) JP4487932B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217498A (en) * 2008-03-10 2009-09-24 Sato Knowledge & Intellectual Property Institute Print test system
JP2010173208A (en) * 2009-01-30 2010-08-12 Seiko Epson Corp Liquid ejecting apparatus and liquid ejecting method
JP2011131432A (en) * 2009-12-22 2011-07-07 Brother Industries Ltd Printer and printing head set
JP2012505614A (en) * 2008-10-14 2012-03-01 ドルビー ラボラトリーズ ライセンシング コーポレイション Efficient calculation of drive signals for devices with nonlinear response curves

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217498A (en) * 2008-03-10 2009-09-24 Sato Knowledge & Intellectual Property Institute Print test system
JP2012505614A (en) * 2008-10-14 2012-03-01 ドルビー ラボラトリーズ ライセンシング コーポレイション Efficient calculation of drive signals for devices with nonlinear response curves
US9020998B2 (en) 2008-10-14 2015-04-28 Dolby Laboratories Licensing Corporation Efficient computation of driving signals for devices with non-linear response curves
JP2010173208A (en) * 2009-01-30 2010-08-12 Seiko Epson Corp Liquid ejecting apparatus and liquid ejecting method
JP2011131432A (en) * 2009-12-22 2011-07-07 Brother Industries Ltd Printer and printing head set

Also Published As

Publication number Publication date
JP4487932B2 (en) 2010-06-23

Similar Documents

Publication Publication Date Title
JP4462347B2 (en) Image processing apparatus, image processing method, and program
JP4419947B2 (en) Printing apparatus, printing apparatus control program, printing apparatus control method, printing data generation apparatus, printing data generation program, and printing data generation method
JP2006231736A (en) Image processor, image forming apparatus, method for processing image, and program
US8896883B2 (en) Image processing apparatus, printing apparatus, and image processing method
JP2006224419A (en) Printing device, printing program, printing method, image processor, image processing program, image processing method, and recording medium having program recorded therein
JP2002127393A (en) Recording system and recording device
JP2007019652A (en) Image processor and image processing method, program, and test pattern
JP4487932B2 (en) Density correction table generation device, density correction table generation method, program, and storage medium
JP4518003B2 (en) Printing apparatus, printing apparatus control program, printing apparatus control method, printing data generation apparatus, printing data generation program, printing data generation method
JP4645020B2 (en) Printing system, printing apparatus, printing control apparatus, program, and printing method
JP5011703B2 (en) Image processing apparatus, image processing method, program, and storage medium
JP4552824B2 (en) Printing apparatus, printing apparatus control program, printing apparatus control method, printing data generation apparatus, printing data generation program, and printing data generation method
JP2007015336A (en) Apparatus, method and program for image processing
JP2007022092A (en) Printing apparatus, printing apparatus control program, printing apparatus control method, printing data generating device, printing data generating program, printing data generating method, correction information generating method, and correction information generating device
JP2005067054A (en) Discharge control of improved ink
JP2007144872A (en) Density correction table compressor, density correction table compressing method, program, and storage medium
JP2006224569A (en) Image forming device, image processor, image processing method and program
JP4238852B2 (en) Image processing device
JP4561543B2 (en) Image processing apparatus, image processing method, and program
JP4561600B2 (en) Image processing apparatus, image processing method, program, and storage medium
JP2006205616A (en) Image forming device, image processing method, and program
JP2006264303A (en) Printer, printing program, printing method, image processor, image processing program, image processing method, and recording medium with the program recorded
JP2006212907A (en) Printing apparatus, printing program, printing method and image processing apparatus, image processing program, image processing method, and recording medium recorded with the same
JP2006248131A (en) Image processor, image forming apparatus, image processing method and program
JP7388025B2 (en) Correction value setting method, recording method, and recording device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080926

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100309

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100322

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees