(57)【要約】【課題】装置全体の処理速度を向上させる。【解決手段】本発明は、（Ａ）複数のノズルを備え、移動方向に移動しながら各ノズルからインクを吐出して、各ノズルが移動方向に沿う単位領域にドット列を形成することにより単位領域に画像片を形成するヘッドと、（Ｂ）各単位領域に対応する補正値を記憶するメモリと、（Ｃ）入力されてくる画素データの属する単位領域に対応する補正値をメモリから読み出し、メモリから読み出された補正値に基づいて画素データを補正して、各単位領域に形成される画像片の濃度を補正する補正ユニットと、を備え、（Ｄ）補正された濃度の画像片を並べて形成して印刷画像を印刷する印刷装置であって、（Ｅ）補正ユニットには、単位領域の並ぶ順に画素データが入力され、（Ｆ）補正ユニットは、入力された画素データの数に基づいて、メモリから読み出すべき補正値を決定することを特徴。【選択図】  図２１
2006224388.tif 000002
【特許請求の範囲】
【請求項１】
（Ａ）複数のノズルを備え、移動方向に移動しながら各前記ノズルからインクを吐出して、各前記ノズルが前記移動方向に沿う単位領域にドット列を形成することにより前記単位領域に画像片を形成するヘッドと、
（Ｂ）各前記単位領域に対応する補正値を記憶するメモリと、
（Ｃ）入力されてくる画素データの属する前記単位領域に対応する前記補正値を前記メモリから読み出し、
前記メモリから読み出された前記補正値に基づいて前記画素データを補正して、各前記単位領域に形成される画像片の濃度を補正する補正ユニットと、
を備え、
（Ｄ）補正された濃度の画像片を並べて形成して印刷画像を印刷する印刷装置であって、
（Ｅ）前記補正ユニットには、前記単位領域の並ぶ順に前記画素データが入力され、
（Ｆ）前記補正ユニットは、入力された画素データの数に基づいて、前記メモリから読み出すべき補正値を決定する
ことを特徴とする印刷装置。
【請求項２】
請求項１に記載の印刷装置であって、
前記メモリの指定されたアドレスから順に所定のデータを自動的に転送する転送ユニットを更に備え、
前記補正ユニットは、前記入力された画素データの数に基づいて、前記アドレスを前記転送ユニットに指定する
ことを特徴とする印刷装置。
【請求項３】
請求項２に記載の印刷装置であって、
前記補正ユニットは、
入力されてくる画素データの数をカウントする第１カウンタと、前記第１カウンタが所定の値になったときにインクリメントされる第２カウンタとを有し、
前記第２カウンタの値に応じて前記アドレスを指定する
ことを特徴とする印刷装置。
【請求項４】
請求項１〜３のいずれかに記載の印刷装置であって、
ＣＰＵと、前記メモリとは別のＣＰＵ用メモリと、前記ＣＰＵと前記ＣＰＵ用メモリとの間でデータを伝送するＣＰＵバスとを備え、
前記ＣＰＵが、前記ＣＰＵバスを介して、前記ＣＰＵ用メモリに記憶された補正値を前記メモリに記憶させた後、
前記補正ユニットは、前記ＣＰＵバスを介さずに、前記メモリから前記補正値を読み出す
ことを特徴とする印刷装置。
【請求項５】
請求項４に記載の印刷装置であって、
前記ＣＰＵ用メモリは、上端印刷領域用補正値と、通常印刷領域用補正値と、下端印刷領域用補正値とを記憶し、
前記ＣＰＵは、
通常印刷の前に、前記上端印刷領域用補正値と通常印刷領域用補正値とを前記メモリに記憶し、
通常印刷中に、前記上端印刷領域用補正値を消去して、前記下端印刷領域用補正値を記憶する
ことを特徴とする印刷装置。
【請求項６】
請求項５に記載の印刷装置であって、
前記メモリが前記下端印刷領域用補正値を記憶する前に、前記補正ユニットは、下端印刷により形成される前記画像片の濃度を補正しない
ことを特徴とする印刷装置。
【請求項７】
請求項１〜６のいずれかに記載の印刷装置であって、
前記補正ユニットは、ある一つの前記補正値に基づいて、複数の前記単位領域に属する画素データをそれぞれ補正する
ことを特徴とする印刷装置。
【請求項８】
請求項１〜７のいずれかに記載の印刷装置であって、
前記補正ユニットは、少なくとも１つの単位領域に対応する補正値を記憶するバッファを有し、
前記補正ユニットは、前記バッファに記憶された前記補正値に基づいて、前記単位領域に属する複数の前記画素データを補正する
ことを特徴とする印刷装置。
【請求項９】
（Ａ）複数のノズルを備え、移動方向に移動しながら各前記ノズルからインクを吐出して、各前記ノズルが前記移動方向に沿う単位領域にドット列を形成することにより前記単位領域に画像片を形成するヘッドと、
（Ｂ）各前記単位領域に対応する補正値を記憶するメモリと、
（Ｃ）入力されてくる画素データの属する前記単位領域に対応する前記補正値を前記メモリから読み出し、
前記メモリから読み出された前記補正値に基づいて前記画素データを補正して、各前記単位領域に形成される画像片の濃度を補正する補正ユニットと、
を備え、
（Ｄ）補正された濃度の画像片を並べて形成して印刷画像を印刷する印刷装置であって、
（Ｅ）前記補正ユニットには、前記単位領域の並ぶ順に前記画素データが入力され、
（Ｆ）前記補正ユニットは、入力された画素データの数に基づいて、前記メモリから読み出すべき補正値を決定し、
（Ｇ）前記メモリの指定された先頭アドレスから順に所定のデータを自動的に転送する転送ユニットを更に備え、
前記補正ユニットは、前記入力された画素データの数に基づいて、前記先頭アドレスを前記転送ユニットに指定し、
（Ｈ）前記補正ユニットは、
入力されてくる画素データの数をカウントする第１カウンタと、前記第１カウンタが所定の値になったときにインクリメントされる第２カウンタとを有し、
前記第２カウンタの値に応じて前記先頭アドレスを指定し、
（Ｉ）ＣＰＵと、前記メモリとは別のＣＰＵ用メモリと、前記ＣＰＵと前記ＣＰＵ用メモリとの間でデータを伝送するＣＰＵバスとを備え、
前記ＣＰＵが、前記ＣＰＵバスを介して、前記ＣＰＵ用メモリに記憶された補正値を前記メモリに記憶させた後、前記補正ユニットは、前記ＣＰＵバスを介さずに、前記メモリから前記補正値を読み出し、
（Ｊ）前記ＣＰＵ用メモリは、上端印刷領域用補正値と、通常印刷領域用補正値と、下端印刷領域用補正値とを記憶し、
前記ＣＰＵは、
通常印刷の前に、前記上端印刷領域用補正値と通常印刷領域用補正値とを前記メモリに記憶し、
通常印刷中に、前記上端印刷領域用補正値を消去して、前記下端印刷領域用補正値を記憶し、
（Ｋ）前記メモリが前記下端印刷領域用補正値を記憶する前に、前記補正ユニットは、下端印刷により形成される前記画像片の濃度を補正せず、
（Ｌ）前記補正ユニットは、ある一つの前記補正値に基づいて、複数の前記単位領域に属する画素データをそれぞれ補正し、
（Ｍ）前記補正ユニットは、少なくとも１つの単位領域に対応する補正値を記憶するバッファを有し、
前記補正ユニットは、前記バッファに記憶された前記補正値に基づいて、前記単位領域に属する複数の前記画素データを補正する。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像片を並べて印刷画像を形成する印刷装置に関する。
【背景技術】
【０００２】
移動方向に移動するヘッドからインクを吐出して媒体（紙・布・ＯＨＰ用紙など）にドットを形成するドット形成動作と、媒体を搬送する搬送動作とを交互に繰り返し、媒体に印刷画像を印刷する印刷装置が知られている。このような印刷装置で印刷される印刷画像は、ドット列から構成される画像片が搬送方向に無数に並ぶことによって、構成されている。
【０００３】
各画像片を構成するドット列は、ヘッドのノズルから吐出されたインク滴が媒体に着弾することにより形成される。理想的な大きさのインク滴が理想的な位置に着弾すれば、ドット列は所定の領域（単位領域）に形成され、その領域に理想的な濃度の画像片が形成される。しかし、実際には、加工精度のばらつき等の影響のため、その領域に形成される画像片に濃淡が生じる。その結果、印刷画像に縞状の濃度ムラが生じる。
【０００４】
そこで、このような濃度ムラを抑制し、印刷画像の画質を向上させる技術が提案されている（例えば特許文献１参照）。
【特許文献１】特開平６−１６６２４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術では、各ノズルに対応付けられた補正値に基づいて画像データが補正されている。
【０００６】
しかし、同じノズルにより形成された画像片であっても、濃度が異なる場合がある。例えば、同じノズルにより形成されたドット列であっても、隣り合うドット列が異なる特性を持つ場合、そのドット列から構成される画像片の濃度が異なることある。このような場合、単にノズルに対応付けた補正値では、濃度ムラを抑制することができない。
【０００７】
そこで、本発明は、ドット列を形成する単位領域に対応付けて補正値を記憶し、この補正値に応じて各画像片の濃度を補正することで濃度ムラを抑制している。但し、このような補正処理を行う補正ユニットが、メモリに記憶されている補正値を読み出す際にＣＰＵ等からの指示を必要とすると、装置全体の処理速度が低下してしまう。そこで、本発明は、補正ユニットがＣＰＵ等から指示されることなくメモリから補正値を読み出せるように構成にすることを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するための主たる発明は、（Ａ）複数のノズルを備え、移動方向に移動しながら各前記ノズルからインクを吐出して、各前記ノズルが前記移動方向に沿う単位領域にドット列を形成することにより前記単位領域に画像片を形成するヘッドと、（Ｂ）各前記単位領域に対応する補正値を記憶するメモリと、（Ｃ）入力されてくる画素データの属する前記単位領域に対応する前記補正値を前記メモリから読み出し、前記メモリから読み出された前記補正値に基づいて前記画素データを補正して、各前記単位領域に形成される画像片の濃度を補正する補正ユニットと、を備え、（Ｄ）補正された濃度の画像片を並べて形成して印刷画像を印刷する印刷装置であって、（Ｅ）前記補正ユニットには、前記単位領域の並ぶ順に前記画素データが入力され、（Ｆ）前記補正ユニットは、入力された画素データの数に基づいて、前記メモリから読み出すべき補正値を決定することを特徴とする。
【０００９】
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【発明を実施するための最良の形態】
【００１０】
＝＝＝開示の概要＝＝＝
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
【００１１】
（Ａ）複数のノズルを備え、移動方向に移動しながら各前記ノズルからインクを吐出して、各前記ノズルが前記移動方向に沿う単位領域にドット列を形成することにより前記単位領域に画像片を形成するヘッドと、
（Ｂ）各前記単位領域に対応する補正値を記憶するメモリと、
（Ｃ）入力されてくる画素データの属する前記単位領域に対応する前記補正値を前記メモリから読み出し、
前記メモリから読み出された前記補正値に基づいて前記画素データを補正して、各前記単位領域に形成される画像片の濃度を補正する補正ユニットと、
を備え、
（Ｄ）補正された濃度の画像片を並べて形成して印刷画像を印刷する印刷装置であって、
（Ｅ）前記補正ユニットには、前記単位領域の並ぶ順に前記画素データが入力され、
（Ｆ）前記補正ユニットは、入力された画素データの数に基づいて、前記メモリから読み出すべき補正値を決定する
ことを特徴とする印刷装置。  
このような印刷装置によれば、印刷装置の処理速度を向上させることができる。
【００１２】
かかる印刷装置であって、前記メモリの指定されたアドレスから順に所定のデータを自動的に転送する転送ユニットを更に備え、前記補正ユニットは、前記入力された画素データの数に基づいて、前記アドレスを前記転送ユニットに指定することが望ましい。また、前記補正ユニットは、入力されてくる画素データの数をカウントする第１カウンタと、前記第１カウンタが所定の値になったときにインクリメントされる第２カウンタとを有し、前記第２カウンタの値に応じて前記アドレスを指定することが望ましい。これにより、印刷装置の処理速度を向上させることができる。
【００１３】
かかる印刷装置であって、ＣＰＵと、前記メモリとは別のＣＰＵ用メモリと、前記ＣＰＵと前記ＣＰＵ用メモリとの間でデータを伝送するＣＰＵバスとを備え、前記ＣＰＵが、前記ＣＰＵバスを介して、前記ＣＰＵ用メモリに記憶された補正値を前記メモリに記憶させた後、前記補正ユニットは、前記ＣＰＵバスを介さずに、前記メモリから前記補正値を読み出すことが望ましい。これにより、補正ユニットにＣＰＵバスが独占されなくて済むので、印刷装置の処理速度を向上させることができる。
【００１４】
かかる印刷装置であって、前記ＣＰＵ用メモリは、上端印刷領域用補正値と、通常印刷領域用補正値と、下端印刷用補正値とを記憶し、前記ＣＰＵは、通常印刷の前に、前記上端印刷領域用補正値と通常印刷領域用補正値とを前記メモリに記憶し、通常印刷中に、前記上端印刷領域用補正値を消去して、前記下端印刷領域用補正値を記憶することが望ましい。これにより、メモリの記憶容量を削減できる。また、前記メモリが前記下端印刷領域用補正値を記憶する前に、前記補正ユニットは、下端印刷により形成される前記画像片の濃度を補正しないことが望ましい。これにより、正確に濃度補正処理を行うことができる。
【００１５】
かかる印刷装置であって、前記補正ユニットは、ある一つの前記補正値に基づいて、複数の前記単位領域に属する画素データをそれぞれ補正することが望ましい。これにより、メモリの記憶容量を削減できる。
【００１６】
かかる印刷装置であって、前記補正ユニットは、少なくとも１つの単位領域に対応する補正値を記憶するバッファを有し、前記補正ユニットは、前記バッファに記憶された前記補正値に基づいて、前記単位領域に属する複数の前記画素データを補正することが望ましい。これにより、補正ユニットの処理速度が向上する。
【００１７】
＝＝＝印刷システムの構成＝＝＝
図１は、本実施形態のＳＰＣ複合装置の全体斜視図である。図２は、ＳＰＣ複合装置の構成のブロック図である。本実施形態のＳＰＣ複合装置１は、原稿から画像を読み取るためのスキャナ機能、外部のコンピュータからの印刷データに基づいて画像を紙に印刷するプリンタ機能、スキャナ機能により入力した画像を紙に印刷するコピー機能を有する複合装置である。
【００１８】
このＳＰＣ複合装置１は、プリンタ部１０と、スキャナ部３０と、パネル部６０と、コントローラ７０とを有する。プリンタ部１０の主な構成要素は、ＳＰＣ複合装置１の下部に設けられている。スキャナ部３０は、プリンタ部１０の上方に設けられている。パネル部６０は、ユーザが操作し易いように、ＳＰＣ複合装置１の前面に設けられている。
【００１９】
図３は、ＳＰＣ複合装置１におけるプリンタ部１０の説明図である。プリンタ部１０は、紙を搬送する搬送ユニット（不図示）と、インクを吐出するヘッドを移動させるキャリッジ１６とを有し、搬送ユニットによる搬送動作と、移動するヘッドからインクを吐出するドット形成動作とを交互に繰り返すことにより、いわゆるインクジェット方式により紙に印刷を行う。不図示の搬送ユニットは、ＳＰＣ複合装置１の背面の給紙部１２にセットされた紙を給紙し、ＳＰＣ複合装置１の前面の排紙部１４へ印刷された紙を排紙する。ＳＰＣ複合装置１の上部に設けられたスキャナ部３０を持ち上げると、プリンタ部１０のキャリッジ１６が露出し、キャリッジに搭載されるインクカートリッジ１６２の交換が可能になる。
【００２０】
図４は、ＳＰＣ複合装置１におけるスキャナ部３０の説明図である。スキャナ部３０は、上蓋３１と、載置ガラス３２とを有する。載置ガラス３２に原稿５が置かれたときに上蓋３１を閉じると、原稿５が載置ガラス３２に押圧されて原稿が平らになり、原稿５がスキャナ部３０にセットされる。
【００２１】
パネル部６０は、液晶ディスプレイと、各種のボタンを有する。ユーザは、各種のボタンを押すことにより、ＳＰＣ複合装置１に対して情報を入力することができる。例えば、ユーザがパネル部６０のコピーボタンを押すことにより、ＳＰＣ複合装置１にコピーを行わせることができる。また、ユーザは、ＳＰＣ複合装置１にセットした紙の大きさ（紙サイズ）をパネル部６０により設定することができる。
【００２２】
コントローラ７０は、インターフェース部７１と、ＣＰＵ７２と、ＣＰＵ用メモリ７３と、ＡＳＩＣ７４と、ＡＳＩＣ用メモリ７５と、クロック７６とを有する。インターフェース部７１は、外部のコンピュータ３との間でデータを送受信する。ＣＰＵ７２は、各種の演算処理を行う演算処理部である。ＣＰＵ用メモリ７３は、ＣＰＵ７２の演算領域を提供し、又はプログラムを格納する。ＡＳＩＣ７４は、特定の処理を行うための回路である。なお、ＡＳＩＣ７４の行う特定の処理は、後の説明から明らかになる。ＡＳＩＣ用メモリ７５は、ＡＳＩＣ７４の演算領域を提供する。クロック７６は、ＡＳＩＣを駆動するためのクロック信号を発信する。
【００２３】
＜プリンタ機能について＞
図５は、プリンタ機能時のデータの流れの説明図である。  
コンピュータ３には、予めＳＰＣ複合装置１のプリンタドライバがインストールされている。そして、プリンタドライバは、コンピュータ３に、アプリケーションソフトにより作成された画像データを印刷データに変換させる。この印刷データには、コマンドデータと画素データとが含まれている。コマンドデータは、ＳＰＣ複合装置１のプリンタ部を制御するためのデータである。画素データは、印刷画像を構成するドットの有無・色・階調に関するデータである。そして、プリンタドライバは、コンピュータに、印刷データをＳＰＣ複合装置１に送信させる。  
ＡＳＩＣ７４は、コンピュータ３から送られてきた印刷データを、コマンドデータと画素データとに分離して、ＡＳＩＣ用メモリ７５にバッファする。そして、ＡＳＩＣ７４は、受信したコマンドデータに基づいてプリンタ部１０を制御し、画素データに基づいてヘッドからインクを吐出させ、印刷を行う。これにより、ＳＰＣ複合装置は、外部のコンピュータからの印刷データに基づいて画像を紙に印刷するプリンタとして機能する。
【００２４】
＜スキャナ機能について＞
図６は、スキャナ機能時のデータの流れの説明図である。  
コンピュータ３には、予めＳＰＣ複合装置１のスキャナドライバがインストールされている。また、ユーザは、予めスキャナ部３０に原稿５をセットする。そして、ユーザは、コンピュータ３上でスキャナドライバの設定を行い、例えば読取解像度、白黒・カラー、読み取り範囲などの設定を行う。  
ユーザがコンピュータ上でスキャナドライバによりスキャン開始を指示すると、スキャナドライバは、コンピュータ３に、ユーザの設定内容に応じた制御データをＳＰＣ複合装置１に送信させる。  
ＡＳＩＣ７４は、受信した制御データに基づいてスキャナ部３０を制御し、スキャナ部３０から原稿５の画像データを取得する。そして、ＡＳＩＣ７４は、取得した画像データをコンピュータ３に送信する。これにより、ＳＰＣ複合装置１は、原稿５の画像を読み取るスキャナとして機能する。
【００２５】
＜コピー機能について＞
図７は、コピー機能時のデータの流れの説明図である。  
ユーザは、予めスキャナ部３０に原稿５をセットする。そして、ユーザは、パネル部６０を操作して、紙の大きさ、原稿の大きさ、倍率、コピーモード（はやい／きれい）等の設定を行う。  
ユーザがパネル部６０のコピーボタンを押すと、印刷開始を示す開始信号がパネル部６０からＡＳＩＣ７４へ送られる。ＡＳＩＣ７４は、ユーザの設定内容に応じた制御データに基づいてスキャナ部３０を制御し、スキャナ部３０から原稿５の画像データを取得する。ＡＳＩＣ７４は、スキャナ部３０からの画像データをＡＳＩＣ用メモリ７５にバッファする。  
スキャナ部３０からの画像データは、例えば２５６階調のＲＧＢ（レッド、グリーン、ブルー）のデータである。ＡＳＩＣ７４は、このデータに基づいて印刷データを生成する（後述）。ＳＰＣ複合装置１は、この印刷データに基づいてプリンタ部１０を制御して印刷を行う。これにより、ＳＰＣ複合装置は、コピー機として機能する。
【００２６】
＝＝＝印刷方法＝＝＝
＜ヘッドの構成＞
プリンタ部１０は、ＡＳＩＣ７４から印刷データを受信すると、印刷動作を開始する。印刷動作は、移動方向に移動するヘッドのノズルからインクを吐出して紙にドットを形成するドット形成動作と、紙を搬送方向に搬送する搬送動作と、を交互に繰り返すことにより行われる。  
図８は、ヘッド１８の下面におけるノズルの配列を示す説明図である。ヘッド１８の下面には、ブラックインクノズル群Ｎ_Ｋと、シアンインクノズル群Ｎ_Ｃと、マゼンタインクノズル群Ｎ_Ｍと、イエローインクノズル群Ｎ_Ｙが形成されている。各ノズル群は、各色のインクを吐出するためのノズルを複数個（本実施形態では１８０個）備えている。各ノズルには、各ノズルを駆動してインク滴を吐出させるための駆動素子としてピエゾ素子（不図示）が設けられている。  
各ノズル群の複数のノズルは、搬送方向に沿って、一定の間隔（ノズルピッチ：ｋ・Ｄ）でそれぞれ整列している。ここで、Ｄは、搬送方向における最小のドットピッチ（つまり、紙Ｓに形成されるドットの最高解像度での間隔）である。また、ｋは、１以上の整数である。例えば、ノズルピッチが１８０ｄｐｉ（１／１８０インチ）であって、搬送方向のドットピッチが７２０ｄｐｉ（１／７２０）である場合、ｋ＝４である。各ノズル群のノズルには、下流側のノズルほど若い番号が付されている（♯１〜♯１８０）。つまり、ノズル♯１は、ノズル♯１８０よりも搬送方向の下流側に位置している。
【００２７】
＜通常印刷（インターレース印刷）について＞
まず、通常印刷について説明する。本実施形態の通常印刷は、インターレース印刷と呼ばれる印刷方法により行われる。ここで、『インターレース印刷』とは、１回のパスで記録されるラスタライン間に、記録されないラスタラインが挟まれるような印刷を意味する。また、『パス』とは、ノズルが移動方向に１回移動するときのドット形成動作をいう。『ラスタライン』とは、移動方向に並ぶドットの列であり、ドットラインともいう。
【００２８】
図９Ａ及び図９Ｂは、通常印刷の説明図である。図９Ａは、パスｎ〜パスｎ＋３におけるヘッドの位置とドットの形成の様子を示し、図９Ｂは、パスｎ〜パスｎ＋４におけるヘッドの位置とドットの形成の様子を示している。
【００２９】
説明の便宜上、複数あるノズル群のうちの一つのノズル群のみを示し、ノズル群のノズル数も少なくしている。また、ヘッド１８（又はノズル群）が紙に対して移動しているように描かれているが、同図はヘッド１８と紙との相対的な位置を示すものであって、実際には紙が搬送方向に移動される。また、説明の都合上、各ノズルは数ドット（図中の丸印）しか形成していないように示されているが、実際には、移動方向に移動するノズルから間欠的にインク滴が吐出されるので、移動方向に多数のドットが並ぶことになる（このドットの列がラスタラインである）。  
同図において、黒丸で示されたノズルはインクを吐出可能なノズルであり、白丸で示されたノズルはインクを吐出不可なノズルである。また、同図において、黒丸で示されたドットは、最後のパスで形成されるドットであり、白丸で示されたドットは、それ以前のパスで形成されたドットである。
【００３０】
インターレース印刷では、紙が搬送方向に一定の搬送量Ｆで搬送される毎に、各ノズルが、その直前のパスで記録されたラスタラインの隣のラスタラインを記録する。このように搬送量を一定にして記録を行うためには、インクを吐出可能なノズル数Ｎ（整数）はｋと互いに素の関係にあり、搬送量ＦはＮ・Ｄに設定される。
【００３１】
ヘッドは８つのノズルを有するが、ノズルピッチｋは４なので、インターレース印刷を行うための条件である「Ｎとｋが互いに素の関係」を満たすために、７つのノズルを用いてインターレース印刷が行われる。また、７つのノズル（♯２〜♯８）が用いられるため、紙は搬送量７・Ｄにて搬送される。これにより、例えば、１８０ｄｐｉ（４・Ｄ）のノズルピッチのノズル群を用いて、７２０ｄｐｉ（＝Ｄ）のドット間隔にて連続して並ぶラスタラインが紙に形成される。なお、一部連続していないラスタラインが形成されるが、この点については後述する。
【００３２】
上記の説明では、説明を簡単にするため、ノズルの数は８個であった。しかし、実際のノズル数は、１８０個である。この場合のインターレース印刷方式について、説明する。  
図１０Ａは、実際の通常印刷の説明図である。同図では、ヘッドと紙との相対的な位置を示している。ここでは、ヘッドは搬送方向に沿って配列された１８０個のノズルを有するが、ノズルピッチｋは４なので、インターレース印刷を行うための条件である「Ｎとｋが互いに素の関係」を満たすために、１７９個のノズル（♯２〜♯１８０）を用いてインターレース印刷が行われる。また、１７９個のノズルが用いられるため、紙は搬送量１７９・Ｄにて搬送される。
【００３３】
あるパスにおいて、ヘッド１８Ａは、移動方向に移動しながらインクを吐出して、紙の領域１にドット（ラスタライン）を形成する。次に、紙が１７９・Ｄ（＝１７９／７２０インチ）にて搬送され、紙に対してヘッドが図中のヘッド１８Ｂの位置に相対的に移動する。次のパスにおいて、ヘッド１８Ｂは、移動方向に移動しながらインクを吐出して、紙の領域１及び領域２にドット（ラスタライン）を形成する。ここでは、このような動作を、ヘッド１８Ｅが紙にドットを形成するまで続けるものとする。
【００３４】
図１０Ｂは、ヘッド１８Ｅが紙にドットを形成した後の各領域のドット形成状況の説明図である。同図において、白丸は、ドットが形成されていない画素を示している。また、黒丸は、ドットが形成された画素を示している。
【００３５】
領域１では、ヘッド１８Ａ〜ヘッド１８Ｄによって、４回のパスによってドット（ラスタライン）が形成されている。また、領域２では、ヘッド１８Ｂ〜ヘッド１８Ｅによって、４回のパスによってドットが形成されている。このように、４回のパスを経過した領域では、その領域内の全ての画素に、ドットが形成されている。領域３では、ヘッド１８Ｃ〜１８Ｅによって、３回のパスによってドットが形成されている。このように、３回のパスを経過した領域では、４つのラスタラインのうちの３つのラスタラインの画素に、ドットが形成されている。領域４では、ヘッド１８Ｄ及び１８Ｅによって、２回のパスによってドットが形成されている。このように、２回のパスを経過した領域では、４つのラスタラインのうちの２つのラスタラインの画素に、ドットが形成されている。領域５では、４１Ｅによって、１回のパスによってドットが形成されている。このように、１回のパスを経過した領域では、４つのラスタラインのうちの１つのラスタラインの画素に、ドットが形成されている。なお、領域６では、まだドットが形成されていない状態である。
【００３６】
このように、通常印刷では、ヘッドが１度走査しただけでは（１回のパスだけでは）、その領域の全ての画素にドットが形成されるというわけではない。具体的には、ある領域の全ての画素にドットが形成されるには、ｋ回のパスを経過する必要がある。このため、通常印刷だけでは、印刷画像の上端部分又は下端部分において、連続するラスタラインが形成できない。例えば、図９Ａにおいて、上端部分及び下端部分では連続するラスタラインが形成できていない。また、図１０Ａ及び図１０Ｂにおいて、領域３〜領域６は連続するラスタラインが形成できていない。  
そこで、通常印刷の前後において、以下に説明する上端印刷及び下端印刷が行われる。
【００３７】
＜上端印刷・下端印刷＞
図１１は、上端印刷及び下端印刷の説明図である。なお、本来、搬送方向に並ぶノズル数は１８０個であるが、説明を簡単にするため、ここではノズル数を８個とする。
【００３８】
上端印刷では、印刷画像の上端付近を印刷する際に、通常印刷時の搬送量よりも少ない搬送量にて、紙が搬送される。例えば、パス１−パス２間、パス２−パス３間、パス３−パス４間に行われる搬送動作では、紙が搬送量Ｄにて搬送される。また、パス４−パス５間に行われる搬送動作では、紙が搬送量２・Ｄにて搬送される。また、上端印刷では、インクを吐出するノズルが一定していない。例えば、パス１ではノズル♯２〜♯４、パス２ではノズル♯２、パス３ではノズル♯２〜♯７、パス４ではノズル♯２〜♯５、パス５ではノズル♯２〜♯８からインクが吐出される。パス５以降からは通常印刷が行われるので、紙は搬送量７・Ｄにて搬送され、７個のノズル（ノズル♯２〜♯８）からインクが吐出される。これにより、印刷画像の上端部分において、連続するラスタラインを形成することができる。
【００３９】
下端印刷では、上端印刷と同じように、印刷画像の下端付近を印刷する際に、通常印刷時の搬送量よりも少ない搬送量にて、紙が搬送される。また、下端印刷では、上端印刷と同じように、インクを吐出するノズルが一定していない。これにより、印刷画像の下端部分において、連続するラスタラインを形成することができる。
【００４０】
なお、通常印刷だけでラスタラインが形成される領域を通常印刷領域と呼ぶ。また、通常印刷領域よりも紙の上端側（搬送方向下流側）に位置する領域を上端印刷領域と呼ぶ。この上端印刷領域には、上端印刷により形成される全てのラスタラインと、通常印刷により形成されるラスタラインが混在している。また、通常印刷領域よりも下端側（搬送方向上流側）に位置する領域を下端印刷領域と呼ぶ。この下端印刷領域には、下端印刷により形成される全てのラスタラインと、通常印刷により形成されるラスタラインが混在している。
【００４１】
上端印刷領域には、３０本のラスタラインが形成される。同様に、下端印刷領域にも、３０本のラスタラインが形成される。これに対し、通常印刷領域には、紙の大きさにもよるが、およそ数千本のラスタラインが形成される。
【００４２】
通常印刷領域のラスタラインの並びには、規則性がある。図１１の通常印刷領域の最初から７番目までのラスタラインは、それぞれ、ノズル♯３、ノズル♯５、ノズル♯７、ノズル♯２、ノズル♯４、ノズル♯６、ノズル♯８、により形成される。そして、通常印刷領域の８番目以降の７本のラスタラインは、これと同じ順序の各ノズルで形成されている。一方、上端印刷領域及び下端印刷領域のラスタラインの並びには、通常印刷領域のラスタラインと比べると、規則性を見出し難い。
【００４３】
以上説明したように、紙に印刷画像を印刷する際に、プリンタ部１０は、上端印刷を行い、次に通常印刷を行い、最後に下端印刷を行う。これにより、上端印刷領域に連続するラスタラインが形成された後、通常印刷領域に連続するラスタラインが形成され、その後、下端印刷領域に連続するラスタラインが形成される。
【００４４】
＝＝＝ＡＳＩＣ７４の構成＝＝＝
図１２は、本実施形態のＡＳＩＣ７４の構成の説明図である。  
ＡＳＩＣ７４は、複数のユニット（スキャナ制御ユニット７４２と、色変換ユニット７４３と、補正ユニット８０と、ハーフトーン処理ユニット７４５と、インターレース処理ユニット７４６と、ヘッド制御ユニット７４７と、ＣＰＵインターフェイスユニット７４８）と、ＳＤＲＡＭコントローラ７４９とを備える。また、不図示であるが、ＡＳＩＣは、外部のコンピュータと接続するためのＵＳＢインターフェイスユニットや、プリンタ部の搬送モータ等を制御するモータ制御ユニット等、他のユニットも備えている。
【００４５】
ＣＰＵ７２は、ＣＰＵ用メモリに記憶されているプログラムに従って、各ユニットの設定を行う。各ユニットは、設定に応じて、以下の処理を行う。
【００４６】
スキャナ制御ユニット７４２は、スキャナ部３０が備えるＣＣＤセンサやパルスモータ等を制御する。スキャナ制御ユニット７４２は、ＣＣＤセンサを介して読み取られた画像データを送出する機能を有する。なお、スキャナ制御ユニット７４２は、原稿から画像を読み取った後に画素間の補間を行うことにより、所定の解像度の画像データを生成することができる。例えば、コピー機能時には、プリンタ部の解像度の画像データを生成することができる。スキャナ制御ユニット７４２が生成する画像データは、２５６階調（８ビット）のＲＧＢ色空間の画像データ（ＲＧＢ８ビットデータ）である。スキャナ制御ユニット７４２は、生成したＲＧＢ８ビットデータを、ＳＤＲＡＭ内に割り当てられたラインバッファに記憶する。
【００４７】
色変換ユニット７４３は、２５６階調のＲＧＢ８ビットデータを、４０９６階調（１２ビット）のＣＭＹＫ色空間の画像データ（ＣＭＹＫ１２ビットデータ）に変換する。まず、色変換ユニット７４３は、ＲＧＢ８ビットデータを、ＳＤＲＡＭに格納されたルックアップテーブル（ＬＵＴ）を参照して２５６階調（８ビット）のＣＭＹＫ色空間の画像データ（ＣＭＹＫ８ビットデータ）に変換する（この処理を色変換処理という）。そして、色変換ユニット７４３は、８ビットのデータを４ビットシフトさせることにより、１２ビットのデータにする。例えば、８ビットデータが「１１１１１１１１」（２５５）であれば、「１１１１１１１１００００」（４０８０）になる。色変換ユニット７４３は、ＣＭＹＫ１２ビットデータを補正ユニットへ出力する。
【００４８】
補正ユニット８０は、ＣＭＹＫ１２ビットデータを、ラスタラインに応じた補正値（ドット列領域（後述）に対応する補正値）で補正する。つまり、補正ユニット８０は、ＣＭＹＫデータの濃度を、ラスタラインに応じた濃度に補正する。この処理は、後で詳述する。補正ユニット８０は、補正したＣＭＹＫ１２ビットデータをハーフトーン処理ユニットへ出力する。
【００４９】
ハーフトーン処理ユニット７４５は、誤差拡散法やディザ法等の手法によって、ＣＭＹＫ１２ビットデータをＣＭＹＫ２ビットデータに変換する（この処理をハーフトーン処理という）。そして、ハーフトーン処理ユニット７４５は、ＣＭＹＫ２ビットデータをＳＤＲＡＭ内に割り当てられた画像データバッファに記憶する。なお、画像データバッファのＣＭＹＫ２ビットデータは、ラスタラインの順に、アドレスに格納されている。このため、隣接するノズルに対応するデータの読み出しアドレスは、不連続である。
【００５０】
図１３は、ハーフトーン処理の際に用いられるドット生成率テーブルの説明図である。横軸は、ハーフトーン処理前の画素データ（ＣＭＹＫ１２ビットデータ）の階調値を示している。縦軸は、ドット生成率を示している。例えば、ある画素のＣＭＹＫ１２ビットデータに対応するドット生成率が２５％の場合、そのＣＭＹＫ１２ビットデータは、２５％の確率で、ドットの形成を示すＣＭＹＫ２ビットデータに変換される（７５％の確率でドットの非形成を示すＣＭＹＫ２ビットデータに変換される）。また、例えば、２５６画素（１６×１６画素）の領域の画素のＣＭＹＫ１２ビットデータに対応するドット生成率が全て２５％の場合、その領域の６４画素のＣＭＹＫ１２ビットデータは、ドットの形成を示すＣＭＹＫ２ビットデータに変換され、残りの画素のＣＭＹＫ１２ビットデータは、ドットの非形成を示すＣＭＹＫ２ビットデータに変換される。
【００５１】
例えば、ある画素のＣＭＹＫ１２ビットデータの示す階調値がｇｒ（図示）であるとする。ドット生成率テーブルによれば、階調値ｇｒのときの大ドットの生成率は０％なので、この画素のＣＭＹＫ１２ビットデータが、大ドットの形成を示す「１１」のＣＭＹＫ２ビットデータに変換されることはない（確率０％）。また、この階調値では中ドットの生成率は２ｄ％なので、この画素のＣＭＹＫ１２ビットデータは、２ｄ％の確率で、中ドットの形成を示す「１０」のＣＭＹＫ２ビットデータに変換される。また、この階調値では小ドットの確率は３ｄ％なので、この画素のＣＭＹＫ１２ビットデータは、３ｄ％の確率で、小ドットの形成を示す「０１」のＣＭＹＫ２ビットデータに変換される。そして、この画素のＣＭＹＫ１２ビットデータは、（１００−２ｄ−１ｄ）％の確率で、ドットの非形成を示す「００」のＣＭＹＫ２ビットデータに変換される。
【００５２】
インターレース処理ユニット７４６は、ラスタラインの順に並ぶＣＭＹＫ２ビットデータを、ノズル配列に対応させて並び替える。これにより、印刷時に必要となるデータ順になるように、データが並び替えられる。このようなデータの並び替えの処理のことを、ラスタライズ処理ともいう。インターレース処理ユニット７４６は、ラスタライズ処理されたデータを、ＳＤＲＡＭ内に割り当てられたイメージバッファに記憶する。なお、ラスタライズ処理後のＣＭＹＫ２ビットデータは、ノズル配列に対応されて並び替えられているので、隣接するノズルに対応するデータは、連続するアドレスに格納される。
【００５３】
ヘッド制御ユニット７４７は、ラスタライズ処理されたデータを読み出した後、印刷ヘッド１８へデータを送出する。このとき、印刷時に必要となるデータ順にイメージバッファにデータが格納されているので、ヘッド制御ユニットは、バースト転送によりイメージバッファのデータを読み出す。そして、ヘッド制御ユニット７４７は、読み出したデータを、印刷ヘッド１８にシリアル転送する。印刷ヘッド１８は、ヘッド制御ユニット７４７から送られてくるデータに応じて、各ノズルからインクを吐出する。
【００５４】
なお、ヘッド制御ユニット７４７は、１回分のドット形成動作に必要なデータがイメージバッファに格納されるまでは、データをヘッド１８へ転送しない。つまり、１回分のドット形成動作に必要なデータがイメージバッファに格納されなければ、印刷処理は待機状態になる。
【００５５】
ＣＰＵインターフェイスユニット７４８は、ＣＰＵ７２がＳＤＲＡＭ７５へアクセスを可能とする機能を有している。
【００５６】
＜ＡＤＴユニット９０の機能＞
ＡＤＴユニット９０は、自動データ転送ユニット（Auto Data Transfer Unit）である。このＡＤＴユニット９０は、補正ユニット８０からの信号により読み出し条件が設定され、その設定に応じてＳＤＲＡＭコントローラ７４９に対して自動的に読み出し指示を出力し、読み出したデータを補正ユニットへ転送する。
【００５７】
図１４は、各構成要素間の信号の説明図である。  
補正ユニット８０は、ＡＤＴユニット９０に読み出し条件を設定するため、ＡＤＴユニット９０に対して、各種信号を出力する。リセット信号は、ＡＤＴユニット９０の設定をリセットするための信号である。先頭アドレス、第１加算値、第１カウント値、第２加算値及び第２カウント値の意味は、後ほど明らかになる。  
ＡＤＴユニット９０は、ＳＤＲＡＭコントローラ７４９に対して、読み出し要求信号と、読み出しアドレスを出力する。なお、後述するとおり、ＡＤＴユニット９０は、自動的に読み出しアドレスを更新可能である。ＳＤＲＡＭコントローラ７４９は、ＡＤＴユニット９０の指示に従って、要求されたアドレスのデータをＳＤＲＡＭ７５から読み出し、要求元であるＡＤＴユニット９０にデータを出力する。また、ＡＤＴユニット９０は、ＳＤＲＡＭ７５から読み出したデータを、補正ユニット８０の要求に応じて補正ユニット８０へ出力する。なお、ＡＤＴユニット９０には不図示のバッファが設けられており、ＳＤＲＡＭ７５から読み出されたデータを一旦バッファに記憶させることが可能である。
【００５８】
図１５は、ＡＤＴユニット９０の設定の第１の説明図である。ここでは、ＡＤＴユニット９０は、補正ユニット８０からの信号により、先頭アドレスを「１０００」、第１加算値を「１」、第１カウント値を「５」、第２加算値を「１０」、第２カウント値を「３」に設定される。補正ユニット８０は、要求信号を出す前に、これらのＡＤＴユニット９０の設定を行う。設定後、ＡＤＴユニット９０は、以下のように動作する。
【００５９】
補正ユニット８０から最初の要求信号があったとき、ＡＤＴユニット９０は、読み出し要求信号及び先頭アドレス「１０００」をＳＤＲＡＭコントローラ７４９に出力し、先頭アドレス「１０００」のデータをＳＤＲＡＭコントローラ７４９から取得する。次に、ＡＤＴユニット９０は、補正ユニット８０からの要求信号を待たずに、自動的に、先頭アドレスに第１加算値を加えたアドレス「１００１」のデータをＳＤＲＡＭコントローラに出力し、アドレス「１００１」のデータをＳＤＲＡＭコントローラ７４９から取得する。このようにして、ＡＤＴユニット９０は、自動的に読み出しアドレスを第１加算値に基づいて更新しながら、アドレス「１００４」までのデータを取得する。なお、先頭アドレス「１０００」からアドレス「１００４」までのデータの取得回数は、第１カウント値「５」に相当する回数である。
【００６０】
アドレス「１００４」のデータを取得した後、ＡＤＴユニット９０は、アドレス「１００４」に第２加算値を加えたアドレス「１０１４」をＳＤＲＡＭコントローラ７４９に出力し、アドレス「１０１４」のデータを取得する。同様に、ＡＤＴユニット９０は、アドレスを自動的に更新しながら、アドレス「１０１４」からアドレス「１０１８」までのデータを取得する。なお、先頭アドレス「１０１４」からアドレス「１０１８」までのデータの取得回数は、第１カウント値「５」の回数に相当する。また、アドレス「１０１８」のデータを取得した後、同様に、ＡＤＴユニット９０は、アドレス「１０２８」からアドレス「１０２ｃ」までのデータを取得する。そして、ＡＤＴユニット９０は、自動的なデータの取得を終了する。
【００６１】
このように、ＡＤＴユニット９０は、第１カウント値「５」に相当する回数のデータの取得を、第２カウント値「３」に相当する回数だけ繰り返す。言い換えると、ＡＤＴユニット９０は、２重ループに相当する処理を行う。  
ＡＤＴユニット９０は、ＳＤＲＡＭコントローラ７４９からデータを取得する度に、そのデータを補正ユニット８０へ転送する。
【００６２】
図１６は、ＡＤＴユニット９０の設定の第２の説明図である。ここでは、第２加算値が「無効」、第２カウント値が「１」に設定されている点で、第１の説明図と異なる。
【００６３】
この例では、第２カウント値が「１」に設定されているので、ＡＤＴユニット９０は、第１カウント値「５」に相当する回数のデータの取得を、繰り返さずに、終了する。仮に、補正ユニット８０から再度の要求信号があったとき、ＡＤＴユニット９０は、先頭アドレスからのデータの取得を同様に行う。なお、補正ユニット８０が再度の要求信号を出力する前に、先頭アドレスを「１０００」から「１０１４」に変更することも可能である。
【００６４】
＝＝＝濃度ムラの発生原因と濃度補正について＝＝＝
多色印刷された画像中に生じる濃度ムラは、基本的には、その各色（シアン、マゼンタ、イエロー、ブラック）でそれぞれに生じる濃度ムラが原因である。このため、通常は、各色の濃度ムラをそれぞれ別々に抑制することによって、多色印刷された画像中の濃度ムラを抑制する方法が採られている。そこで、以下では、単色印刷された画像中に生じる濃度ムラの発生原因について説明する。
【００６５】
図１７Ａは、理想的にドットが形成されたときの様子の説明図である。キャリッジが移動方向に移動する間、各ノズルからインクが吐出され、紙にインクが着弾してドットが形成される。各ノズルは、移動中に断続的にインクを吐出するので、移動方向に沿ってドットの列（ラスタライン）が形成される。各ラスタラインは移動方向に沿う細長い画像片を形成し、多数の画像片が搬送方向に並ぶことによって、印刷画像が構成される。ここでは、説明の簡略化のため、５０％のドット生成率となる画像を印刷するものとする。
【００６６】
同図では、理想的にドットが形成されているので、各ドットは、紙上に架空に定められた領域に正確に形成される。ここで、ラスタラインが形成されるべき領域を「ドット列領域」と呼ぶ。図中、点線に挟まれる領域としてドット列領域が示されている。なお、ドット列領域は、移動方向に並ぶ複数の画素に対応する紙上の領域でもある。
【００６７】
図１７Ｂは、ノズルの加工精度のばらつきの影響の説明図である。ここでは、ノズルから吐出されたインク滴の飛行方向のばらつきにより、第２ドット列領域に形成されたラスタラインが、第３ドット列領域側（搬送方向上流側）に寄って形成されている。また、第５ドット列領域に向かって吐出されたインク滴のインク量が少なく、第５ドット列領域に形成されるドットが小さくなっている。  
本来であれば同じ濃度の画像片が各ドット列領域に形成されるべきであるにもかかわらず、加工精度のばらつきのため、ドット列領域に応じて画像片に濃淡が発生する。例えば、第２ドット列領域の画像片は比較的淡くなり、第３ドット列領域の画像片は比較的濃くなる。また、第５ドット列領域の画像片は、比較的淡くなる。  
そして、このようなラスタラインからなる印刷画像を巨視的に見ると、キャリッジの移動方向に沿う縞状の濃度ムラが視認される。この濃度ムラは、印刷画像の画質を低下させる原因となる。
【００６８】
図１７Ｃは、本実施形態の印刷方法によりドットが形成されたときの様子の説明図である。本実施形態では、濃く視認されやすいドット列領域に対しては、淡く画像片が形成されるように、そのドット列領域に対応する画素のＣＭＹＫ１２ビットデータを補正する。また、淡く視認されやすいドット列領域に対しては、濃く画像片が形成されるように、そのドット列領域に対応する画素のＣＭＹＫ１２ビットデータを補正する。例えば、図中の第２ドット列領域のドットの生成率が高くなり、第３ドット列領域のドットの生成率が低くなり、第５ドット列領域のドットの生成率が高くなるように、各ドット列領域に対応する画素のＣＭＹＫ１２ビットデータが補正される。これにより、各ドット列領域のラスタラインのドット生成率が変更され、ドット列領域の画像片の濃度が補正されて、印刷画像全体の濃度ムラが抑制される。
【００６９】
ところで、図１７Ｂにおいて、第３ドット列領域に形成される画像片の濃度が濃くなる理由は、第３ドット列領域にラスタラインを形成するノズルの影響によるものではなく、隣接する第２ドット列領域にラスタラインを形成するノズルの影響によるものである。このため、第３ドット列領域にラスタラインを形成するノズルが他のドット列領域にラスタラインを形成した場合、そのドット列領域に形成される画像片が濃くなるとは限らない。つまり、同じノズルにより形成された画像片であっても、濃度が異なる場合がある。このような場合、単にノズルに対応付けた補正値では、濃度ムラを抑制することができない。  
そこで、本実施形態では、ドット列領域毎に設定された補正値に基づいて、補正ユニットがＣＭＹＫ１２ビットデータを補正している。この補正ユニットの構成や動作について、以下に説明する。
【００７０】
＝＝＝補正ユニット８０＝＝＝
補正ユニット８０は、入力されてくる１２ビットデータを、補正値データテーブルに基づいてドット列領域毎に設定される補正値に応じて補正し、補正された１２ビットデータをハーフトーン処理ユニットに出力する。
【００７１】
＜補正値データテーブルの作成について＞
製造工場で製造された個々のＳＰＣ複合装置のプリンタ部１０は、製造のばらつきの影響のため、濃度ムラの特性がそれぞれ異なる。そこで、濃度ムラを抑制するためには、各ＳＰＣ複合装置のプリンタ部の濃度ムラの特性を検出する必要がある。  
図１８は、濃度ムラを検出するためのテストパターンの説明図である。製造工場の検査工程において、検査用コンピュータは、個々のＳＰＣ複合装置のプリンタ部に、このようなテストパターンを印刷させる。但し、テストパターンを印刷するときには、補正ユニット８０による補正処理（後述）は行わない。  
テストパターンは、色毎に、３つの濃度のパターンを有する。淡い濃度のパターンは、階調値１０１６の画素データに基づいて、形成される。中間の濃度のパターンは、階調値２０３２の画素データに基づいて、形成される。濃い濃度のパターンは、階調値２８４８の画素データに基づいて、形成される。いずれのパターンも、紙面の上端から下端に延びる帯状の形状をしている。このため、各ドット列領域には、各色毎に、３つの階調値に基づいて形成されたドットの列が含まれている。
【００７２】
テストパターン印刷後、テストパターンがスキャナによって読み取られる。テストパターンを読み取るスキャナは、ＳＰＣ複合装置のスキャナ部３０でも良いし、ＳＰＣ複合装置とは別のスキャナ装置であっても良い。テストパターンの読み取り結果に基づいて、検査用コンピュータは、ドット列領域毎に、色毎に３つの濃度のパターンの読み取り値を得ることができる。  
例えば、読み取り結果に基づいて、各ドット列領域毎に、シアンの３つの読み取り値と、マゼンタの３つの読み取り値と、イエローの３つの読み取り値と、ブラックの３つの読み取り値とが得られる。各３つの読み取り値は、それぞれ、階調値１０１６、階調値２０３２及び階調値２８４８に対応している。但し、濃度ムラの影響があると、読み取り値は、階調値１０１６、階調値２０３２及び階調値２８４８にはならない。  
そこで、検査用コンピュータは、読み取り値に基づいて、ドット列領域毎に、色毎に３つの補正値を算出する。以下、例えば、シアンの３つの補正値はＣ１、Ｃ２及びＣ３と表記する（マゼンタの場合はＭ、イエローの場合はＹ、ブラックの場合はＢを用いる）。また、ｎ番目のドット列領域に対応する補正値は、例えばＣ１_ｎと表記する。
【００７３】
紙の上端側の上端印刷領域の３０個のドット列領域の読み取り結果に基づく補正値によって、上端印刷領域用の補正値データテーブルが構成される。同様に、紙の下端側の下端印刷領域の３０個のドット列領域の読み取り結果に基づく補正値によって、下端印刷用の補正値データテーブルが構成される。また、紙の中央部の通常印刷領域の７個のドット列領域の読み取り結果に基づく補正値によって、通常印刷領域用の補正値データテーブルが構成される。なお、通常印刷領域のドット列領域の７個おきの読み取り結果を平均化して、７個分のドット列領域に対応する補正値を算出し、通常印刷領域用の補正値データテーブルを構成しても良い。通常印刷領域には数千本のドット列領域が存在するにもかかわらず、７個分のドット列領域に対応する補正値だけしか用意しない理由は、通常印刷領域のラスタラインには７本ごとに規則性があり、濃度ムラの特性が７本おきに同じになると考えられるからである。
【００７４】
補正値データテーブルを作成した後、検査用コンピュータは、ＳＰＣ複合装置のＣＰＵ用メモリ７３に補正値データテーブルを記憶する。この補正値データテーブルは、そのＳＰＣ複合装置の濃度ムラ特性を示すデータであり、この濃度ムラを抑制するために用いられる。
【００７５】
＜補正値データテーブルについて＞
図１９は、補正値データテーブルの説明図である。  
補正値データテーブルは、上端印刷領域用、通常印刷領域用、下端印刷領域用の３種類ある。各補正値データテーブルには、色毎に３つの補正値が、各ラスタラインに対応付けられている。例えば、各印刷領域のｎ番目のラスタラインには、シアンに３つの補正値（Ｃ１_ｎ、Ｃ２_ｎ、Ｃ３_ｎ）が対応付けられており、他の色も同様に３つの補正値が対応付けられている。ここでは、シアンに注目して説明を行う。
【００７６】
３つの補正値（Ｃ１_ｎ、Ｃ２_ｎ、Ｃ３_ｎ）は、それぞれ、階調値１０１６、階調値２０３２及び階調値２８４８に対応付けられている。以下、階調値１０１６、階調値２０３２及び階調値２８４８のことを「境界階調値」と呼び、記号Ｄ１、Ｄ２及びＤ３にて表記する。各補正値は、８ビットデータであり、0.50390625〜1.49609375の値を２−８の分解能で表している。各補正値は、境界階調値の補正値を示している。
【００７７】
各補正値は、ドット列領域の順に、ＳＤＲＡＭ７５に格納されている。例えば、補正値Ｃ１_１、Ｃ２_１、Ｃ３_１、Ｍ１_１、…は、ＳＤＲＡＭ７５の連続するアドレスに格納されている。また、１番目のドット列領域の最後の補正値Ｂ３_１を格納するアドレスの次のアドレスには、次のラスタラインのシアンの補正値Ｃ１_２が格納されている。
【００７８】
ところで、この補正値データテーブルは、ＣＰＵ用メモリ７３に記憶されている。但し、補正ユニット８０がＣＰＵ用メモリ７３へアクセスを頻繁に行うと、ＣＰＵバス７４１が補正ユニット８０に独占されてしまい、ＳＰＣ複合装置全体の処理が遅くなってしまう。そこで、ＣＰＵ７２は、印刷前に、ＣＰＵ用メモリ７３の補正値データテーブルをＳＤＲＡＭ７５に記憶させ、補正ユニット８０は、ＳＤＲＡＭ７５に記憶されている補正値データテーブルを利用して処理を行う（後述）。
【００７９】
＜補正ユニットで行われる演算について＞
図２０は、１２ビットデータを補正値に基づいて補正するときの演算の説明図である。同図は、ｎ番目のドット列領域のシアンの１２ビットデータに対する補正の様子を示している。  
補正ユニットに入力された１２ビットデータ（「入力値Ｃ_ｉｎ」と呼ぶ）が境界階調値と同じ（例えばＤ１（＝１０１６））ならば、対応する補正値を入力値に掛けた値が出力される（例えば、１０１６×Ｃ１_ｎ）。但し、入力値が境界階調値と異なる場合、直線補完により、出力する値（「出力値Ｃ_ｏｕｔ」という）が演算される。
【００８０】
具体的には、補正ユニットは、以下のように演算して、入力値Ｃ_ｉｎを出力値Ｃ_ｏｕｔに変換する。但し、Ｄ０＝０であり、Ｄ４＝４０８０である。  
・入力値Ｃ_ｉｎが、Ｄ０≦Ｃ_ｉｎ＜Ｄ１のとき、
Ｃ_ｏｕｔ＝（Ｄ１×Ｃ１_ｎ−Ｄ０）×Ａ０×（Ｃ_ｉｎ−Ｄ０）＋Ｄ０
・入力値Ｃ_ｉｎが、Ｄ１≦Ｃ_ｉｎ＜Ｄ２のとき、
Ｃ_ｏｕｔ＝（Ｄ２×Ｃ２_ｎ−Ｄ１×Ｃ１_ｎ）×Ａ１×（Ｃ_ｉｎ−Ｄ１）＋Ｄ１×Ｃ１_ｎ
・入力値Ｃ_ｉｎが、Ｄ２≦Ｃ_ｉｎ＜Ｄ３のとき、
Ｃ_ｏｕｔ＝（Ｄ３×Ｃ３_ｎ−Ｄ２×Ｃ２_ｎ）×Ａ２×（Ｃ_ｉｎ−Ｄ２）＋Ｄ２×Ｃ２_ｎ
・入力値Ｃ_ｉｎが、Ｄ３≦Ｃ_ｉｎ≦Ｄ４のとき、
Ｃ_ｏｕｔ＝（Ｄ４−Ｄ３×Ｄ３_ｎ）×Ａ３×（Ｃ_ｉｎ−Ｄ３）＋Ｄ３×Ｃ３_ｎ
【００８１】
但し、上式のＡ０〜Ａ３は、以下の通りである。  
Ａ０＝１／（Ｄ１−Ｄ０）
Ａ１＝１／（Ｄ２−Ｄ１）
Ａ２＝１／（Ｄ３−Ｄ２）
Ａ３＝１／（Ｄ４−Ｄ３）
【００８２】
例えば、入力値Ｃ_ｉｎ’とし、出力値Ｃ_ｏｕｔ’とすると、図に示すような関係になる。この場合、出力値Ｃ_ｏｕｔ’が入力値Ｃ_ｉｎ’よりも大きくなるように補正されているので、このドット列領域に形成される画像片は、濃度が濃くなるように補正されることになる。
【００８３】
＜補正ユニット８０の構成＞
図２１は、補正ユニット８０の構成のブロック図である。補正ユニット８０は、ＣＰＵインターフェース８１と、レジスタ８２と、レジスタ８３と、２面レジスタ８４と、濃度判定部８５と、パラメータ選択部８６と、演算部８７と、ユニット制御部８８と、ＡＤＴインターフェース８９とを有する。
【００８４】
ＣＰＵインターフェース８１は、ＣＰＵとの間でデータを送受信するためのインターフェースである。レジスタ８２は、前述のＤ０〜Ｄ４を記憶するための記憶部であり、ＣＰＵ７２からＣＰＵインターフェース８１を介して入力されるＤ０〜Ｄ４を記憶する。このレジスタ８２に記憶されたデータＤ０〜Ｄ４は、濃度判定部８５及びパラメータ選択部８６に出力される。レジスタ８３は、前述のＡ０〜Ａ４を記憶するための記憶部であり、ＣＰＵ７２からＣＰＵインターフェース８１を介して入力されるＡ０〜Ａ３を記憶する。このレジスタ８３に記憶されたデータＡ０〜Ａ３は、パラメータ選択部８６に出力される。２面レジスタ８４は、第１レジスタ及び第２レジスタの２つのレジスタを有し、それぞれのレジスタは、１個分のドット列領域の補正値（すなわち１２個の補正値）を記憶できる（但し、説明の簡略化のため、２面レジスタは、シアンの補正値のみを記憶するものとする）。
【００８５】
濃度判定部８５には、レジスタ８２からのデータＤ０〜Ｄ４と、色変換ユニット７４３からのＣＭＹＫ１２ビットデータ（例えばＣ_ｉｎ）とが入力する。濃度判定部８５は、０〜４０８０までの階調値を境界階調値Ｄ０〜Ｄ４で４つに区分（Ｄ０≦Ｃ_ｉｎ＜Ｄ１、Ｄ１≦Ｃ_ｉｎ＜Ｄ２、Ｄ２≦Ｃ_ｉｎ＜Ｄ３、Ｄ３≦Ｃ_ｉｎ≦Ｄ４）し、入力されたＣＭＹＫ１２ビットデータ（例えばＣ_ｉｎ）がどの区分に入るかを判定する。そして、濃度判定部８５は、判定結果をパラメータ選択部８６に出力する。パラメータ選択部８６は、濃度判定部８５からの判定結果に基づいて、レジスタ８２のデータＤ０〜Ｄ４、及びレジスタ８３のデータＡ０〜Ａ３の中から必要なパラメータを取得し、演算部８７へ出力する。また、パラメータ選択部８６は、濃度判定部８５からの判定結果及びユニット制御部８８からの指示に基づいて、２面レジスタの一方のレジスタの補正値Ｃ１〜Ｃ３から必要なパラメータを取得し、演算部８７へ出力する。例えば、最初に補正ユニット８０に入力される入力値Ｃ_ｉｎがＤ１≦Ｃ_ｉｎ＜Ｄ２の場合、パラメータ選択部８６は、レジスタ８２からデータＤ１及びＤ２を取得し、レジスタ８３からデータＡ１を取得し、２面レジスタの第１レジスタから補正値Ｃ１及びＣ２を取得し、これらのパラメータを演算部８７へ出力する。演算部８７は、色変換ユニット７４３からのＣＭＹＫ１２ビットデータであるＣ_ｉｎと、パラメータ選択部からのパラメータとに基づいて、Ｃ_ｏｕｔを算出し、ハーフトーン処理ユニット７４５へＣ_ｏｕｔ（ＣＭＹＫ１２ビットデータ）を出力する。
【００８６】
ユニット制御部８８は、ＣＰＵ７２により行われた設定に基づいて、所定の動作を行う。例えば、ユニット制御部８８は、所定のタイミングで、演算部８７に演算を開始又は終了させる。また、ユニット制御部８８は、演算部８７が何番目のドット列領域の処理を行っているかを監視する（後述）。また、ユニット制御部８８は、所定のタイミングで、ＡＤＴインターフェースを介してＡＤＴユニットに所定の信号を出力する。また、ユニット制御部８８は、入力される補正値の記憶先（第１又は第２レジスタ）を、２面レジスタ８４に指示する。また、ユニット制御部８８は、補正値の取得先（２面レジスタの第１レジスタ又は第２レジスタ）を、パラメータ選択部８６に指示する。
【００８７】
ユニット制御部８８には、アドレス演算部８８２が設けられている。アドレス演算部８８２は、ＡＤＴユニット９０に指示する先頭アドレスを演算するものである。このユニット制御部８８のアドレス演算部８８２に対して、ＣＰＵ７２は「ラスタ画素数」と「ページラスタ数」とを予め設定する。「ラスタ画素数」は、１つのラスタライン（又はドット列領域）に属する画素の数を示すものである。「ページラスタ数」は、１つの印刷画像を構成するラスタライン（又はドット列領域）の数を示すものである。
【００８８】
アドレス演算部８８２には、画素カウンタ及びラスタカウンタが設けられている。画素カウンタは、演算部８７が１つの画素の画素データを処理するたびに、カウンタ値を１つだけインクリメントする。そして、画素カウンタのカウンタ値がラスタ画素数に達したら、ラスタカウンタのカウント値を１つだけインクリメントし、画素カウンタのカウンタ値をリセットする。つまり、ユニット制御部８８は、ラスタカウンタのカウント値に基づいて、演算部８７が何番目のドット列領域の処理を行っているかを監視できる。また、アドレス演算部８８２は、ラスタカウンタのカウント値に基づいて、補正値データテーブルから読み出すべき補正値を決定する。
【００８９】
図２５は、読み出すべき補正値の場所の説明図である。ある印刷画像がＬ個（ここでは１３０個）のドット列領域を含み、そのうちの上端印刷領域にはＬ１個（ここでは３０個）のドット列領域が含まれ、下端印刷領域にはＬ２個（ここでは３０個）のドット列領域が含まれているものとする。また、処理対象の画素データがｎ番目（１≦ｎ≦Ｌ）のドット列領域に属しているとする。  
ｎ≦Ｌ１の場合、アドレス演算部８８２は、ＳＤＲＡＭ７５に記憶されている上端印刷領域用の補正値データテーブルから、ｎ番目のドット列領域の補正値を読み出し、補正ユニット８０は、その補正値に基づいて補正処理が行う。また、Ｌ１＜ｎ≦Ｌ−Ｌ３の場合、アドレス演算部８８２は、（ｎ−Ｌ１）／７の余りａとすると、通常印刷領域用の補正値データテーブルから、ａ番目（ａ＝０の場合は７番目）のドット列領域の補正値を読み出す。また、Ｌ−Ｌ３＜ｎの場合、アドレス演算部８８２は、下端印刷領域の補正値データテーブルから、｛ｎ−（Ｌ−Ｌ３）｝番目のドット列領域のドット列領域の補正値を読み出す。
【００９０】
ＡＤＴインターフェース８９は、ユニット制御部８８の指示に応じて、ＡＤＴユニット９０へ信号を出力する。また、ＡＤＴインターフェース８９は、ＡＤＴユニットからの補正値Ｃ１〜Ｃ３を２面レジスタ８４へ出力する。なお、２面レジスタ８４は、ユニット制御部８８の指示に応じて、ＡＤＴインターフェースからの補正値Ｃ１〜Ｃ３を第１又は第２レジスタの一方に記憶する。
【００９１】
＜補正ユニット８０による補正処理＞
まず、色変換ユニット７４３からＣＭＹＫ１２ビットデータが入力する前に、ＣＰＵ７２は、ＣＰＵ用メモリ７３に記憶されている補正値データテーブルに基づいて、ＣＰＵインターフェイスユニット７４８を介してＳＤＲＡＭ７５の所定の領域に、上端印刷用及び通常印刷用の補正値データテーブルを作成する。このとき、下端印刷用の補正用データテーブルは、ＳＤＲＡＭ７５には作成されない。
【００９２】
また、色変換ユニット７４３からＣＭＹＫ１２ビットデータが入力する前に、ＣＰＵ７２は、ＣＰＵ用メモリ７３に記憶されている境界階調値Ｄ０〜Ｄ４を、ＣＰＵインターフェース８１を介してレジスタ８２に記憶させる。また、ＣＰＵ７２は、ＣＰＵ用メモリ７３に記憶されている境界階調値Ｄ０〜Ｄ４に基づいてＡ０〜Ａ３を算出し、ＣＰＵインターフェース８１を介してＡ０〜Ａ３をレジスタ８３に記憶させる。
【００９３】
また、色変換ユニット７４３からＣＭＹＫ１２ビットデータが入力する前に、ユニット制御部８８は、ＳＤＲＡＭ７５の所定の領域に記憶されている上端印刷用の補正値データテーブルから、１番目のドット列領域の補正値（Ｃ１_１〜Ｃ３_１、Ｍ１_１〜Ｍ３_１、Ｙ１_１〜Ｙ３_１、Ｋ１_１〜Ｋ３_１）を読み出す。１番目のドット列領域の補正値は、２面レジスタ８４の第１レジスタに記憶される。
【００９４】
図２２Ａは、補正値の読み出しの第１の説明図である。図２２Ｂは、補正値の読み出しの第２の説明図である。図２２Ｂでは、補正ユニット８０は、再度の要求信号を出力する前に、先頭アドレスの設定を変更している。いずれの方法によっても、１番目のドット列領域の補正値を取得することができる。先頭アドレスは、処理対象のドット列領域の番号に応じて、ユニット制御部８８により決定される。
【００９５】
１番目のドット列領域の最初の画素のシアンの１２ビットデータがＣ_ｉｎとして補正ユニット８０に入力された場合、既に「補正ユニットの構成」の項で説明したように処理が行われ、Ｃ_ｏｕｔが補正ユニット８０から出力される。最初の画素のシアン以外の色の１２ビットデータ（Ｍ_ｉｎ、Ｙ_ｉｎ、Ｋ_ｉｎ）が補正ユニット８０に入力された場合も、シアンの場合と同様に処理されて、Ｍ_ｏｕｔ、Ｙ_ｏｕｔ、Ｋ_ｏｕｔが出力される。これにより、１番目のドット列領域の最初の画素のＣＭＹＫ１２ビットデータが、１番目のドット列領域の補正値に基づいて補正される。
【００９６】
１番目のドット列領域の他の画素のＣＭＹＫ１２ビットデータが補正ユニット８０に入力された場合も、最初の画素のデータと同様に処理される。但し、レジスタ８２、レジスタ８３及び２面レジスタ８４の第１レジスタに記憶されているデータは、更新されず、そのままの状態である。つまり、同じドット列領域の画素のデータに対しては、２面レジスタ８４に記憶されている補正値がそのまま利用される。
【００９７】
１番目のドット列領域の補正処理の間、ユニット制御部８８は、ＳＤＲＡＭ７５の上端印刷用の補正値データテーブルから、２番目のドット列領域の補正値（Ｃ１_２〜Ｃ３_２、Ｍ１_２〜Ｍ３_２、Ｙ１_２〜Ｙ３_２、Ｋ１_２〜Ｋ３_２）を読み出す。このように、ユニット制御部８８は、ラスタカウンタの値（この場合は１）の次の番号のドット列領域の補正値を読み出す。２番目のドット列領域の補正値は、２面レジスタ８４の第２レジスタに記憶される。つまり、２面レジスタの第１レジスタに記憶される補正値が利用されている間、２面レジスタの第２レジスタに、次に必要になる補正値を予め記憶する。但し、レジスタ８２及びレジスタ８３に記憶されているデータは、更新されず、そのままの状態である。
【００９８】
そして、２番目のドット列領域の画素のＣＭＹＫ１２ビットデータが補正ユニット８０に入力されるとき、ユニット制御部８８は、パラメータ選択部８６に出力する指示を変更し、パラメータ選択部８６に２面レジスタ８４の第２レジスタから補正値を取得させる。なお、２番目のドット列領域の補正処理の間、ユニット制御部８８は、ＳＤＲＡＭ７５の上端印刷用の補正値テーブルから、３番目のドット列領域の補正値を読み出し、これを２面レジスタ８４の第１レジスタに記憶させる。
【００９９】
このような処理を繰り返し、補正ユニット８０は、３０番目までのドット列領域の補正処理を行う。そして、３０番目のドット列領域の補正処理の間、ユニット制御部８８は、ＳＤＲＡＭ７５の通常印刷用の補正値テーブルから、１番目のドット列領域の補正値を読み出し、２面レジスタの第１レジスタに記憶する。なお、通常印刷領域の１番目のドット列領域は、印刷画像全体の３１番目のドット列領域に相当する。この場合も、ユニット制御部８８は、ラスタカウンタの値（この場合は３０）の次の番号のドット列領域の補正値を読み出している。
【０１００】
３７番目のドット列領域は、通常印刷用の補正値データテーブルの７番目のドット列領域の補正値に基づいて、補正ユニット８０により補正処理される。３８番目のラスタライン（通常印刷領域の８番目のラスタライン）は、通常印刷領域の１番目のラスタライン（通常印刷領域の１番目のラスタライン）と比較すると、形成するノズル、隣り合うラスタラインを形成するノズル、隣り合うラスタラインとの形成順序、等が同じであり、濃度ムラの特性が同じであると考えられる。このため、３８番目のドット列領域の画素のＣＭＹＫ１２ビットデータは、通常印刷用の補正値データテーブルの１番目のドット列領域の補正値に基づいて、補正ユニット８０により補正される。このように、ｎ番目のドット列領域は、（ｎ−３０）／７の余りをａとすると、通常印刷用の補正値データテーブルのａ番目（ａ＝０の場合は７番目）のドット列領域の補正値に基づいて、補正ユニット８０により補正処理される。
【０１０１】
色変換ユニット７４３からはドット列領域の順（ラスタラインの順）にＣＭＹＫ１２ビットデータが送られてくるので、通常印刷領域のドット列領域の補正処理が開始されると、上端印刷用の補正値データテーブルは必要なくなる。一方、下端印刷用の補正値データテーブルは未だＳＤＲＡＭ７５には作成されていないが、通常印刷領域のドット列領域の補正処理が終了すれば必要になる。そこで、本実施形態では、以下に説明するように、ＳＤＲＡＭ７５は、通常印刷時に上端印刷用の補正値データテーブルを消去して、同じ領域に下端印刷用の補正値データテーブルを記憶する（つまり、下端印刷用の補正値データテーブルを上書きする）。
【０１０２】
図２３は、ＳＤＲＡＭ７５の補正値データテーブルの説明図である。図２４Ａ及び図２４Ｂは、補正ユニット８０及びＣＰＵ７２の状態の説明図である。図２４Ａは、上書きに時間がかからなかった場合の説明図であり、図２４Ｂは、上書きに時間がかかった場合の説明図である。
【０１０３】
ユニット制御部８８は、演算部８７の処理するドット列領域の番号を監視しており、３０番目のドット列領域の補正処理終了後（上端印刷領域のドット列領域の補正処理終了後）、その旨をＣＰＵ７２に通知する（図２４Ａの時点Ｂ、図２４Ｂの時点Ｂ）。ＣＰＵ７２は、この通知を受けて、ＣＰＵ用メモリに記憶されている補正値データテーブルに基づいて、ＣＰＵインターフェイスユニット７４８を介して、ＳＤＲＡＭ７５の上端印刷用の補正値データテーブルが記憶されている領域に、下端印刷用の補正値データテーブルを上書きする。ＣＰＵ７２は、下端印刷用の補正値データテーブルの上書き終了後、その旨を補正ユニット８０に通知する（図２４Ａの時点Ｃ、図２４Ｂの時点Ｅ）。なお、ユニット制御部８８は、ＣＰＵ７２に対して上端印刷領域のドット列領域の補正処理終了の通知後、通常印刷領域のドット列領域の補正処理を行っている。
【０１０４】
通常印刷領域のドット列領域の補正処理終了（図２４Ａの時点Ｄ）の前に、ＣＰＵ７２から下端印刷用の補正値データテーブルの上書き終了の通知があれば、通常印刷領域のドット列領域の補正処理終了後に下端印刷領域のドット列領域の補正処理を開始する。例えば、通常印刷領域の最後のドット列領域の補正処理の間、ユニット制御部８８は、ＳＤＲＡＭ７５の下端印刷用の補正値テーブルから、１番目のドット列領域の補正値を読み出し、２面レジスタ８４に記憶する。
【０１０５】
一方、通常印刷領域のドット列領域の補正処理終了（図２４Ｂの時点Ｄ）の前に、ＣＰＵ７２から下端印刷用の補正値データテーブルの上書き終了の通知がない場合、ユニット制御部８８は、通常印刷領域の最後のドット列領域の補正処理終了（図２４Ｂの時点Ｄ）の後、ＣＰＵ７２から上書き終了が通知されるまで（図２４Ｂの時点Ｅ）、補正処理を待機する。この状態で下端印刷領域のドット列領域の補正処理を行うと、上端印刷用の補正値データテーブルに基づいて下端印刷領域のドット列領域を補正処理するおそれがあるためである。そして、ＣＰＵ７２から上書き終了の通知があった後（図２４Ｂの時点Ｅ）、ユニット制御部８８は、ＳＤＲＡＭ７５の下端印刷用の補正値テーブルから、１番目のドット列領域の補正値を読み出し、２面レジスタ８４に記憶し、補正処理を再開させる。
【０１０６】
なお、補正処理が待機された場合、イメージバッファへデータが溜まらなくなり、ドット形成動作に必要なデータがイメージバッファになければ、印刷処理が待機状態になる。但し、通常印刷領域には数千個のドット列領域があり、これらのドット列領域の画素を補正処理するには時間がかかるので、下端印刷用の補正値データテーブルをＳＤＲＡＭ７５へ記憶させる時間は充分に確保されている。
【０１０７】
＜補正ユニット８０の効果＞
補正ユニット８０からは、ドット列領域毎に設定されている補正値に応じて補正されたＣＭＹＫ１２ビットデータが出力される。例えば、比較的淡い画像片が形成されるドット列領域に対応する画素のＣＭＹＫ１２ビットデータは、高い階調値になるように補正されて、補正ユニット８０から出力される。また、比較的濃い画像片が形成されるドット列領域に対応する画素のＣＭＹＫ１２ビットデータは、低い階調値になるように補正されて、補正ユニット８０から出力される。
【０１０８】
ハーフトーン処理ユニットでは、補正されたＣＭＹＫ１２ビットデータに応じてドット生成率が決定される。この結果、比較的淡い画像片が形成されるドット列領域では、ＣＭＹＫ１２ビットデータを補正しない場合と比較して、ドット列領域に形成されるラスタラインのドットの生成率が高くなる。また、比較的濃い画像片が形成されるドット列領域では、ＣＭＹＫ１２ビットデータを補正しない場合と比較して、ドット列領域に形成されるラスタラインのドットの生成率が低くなる。これにより、ドット列領域の画像片の濃度が補正されて、印刷画像全体の濃度ムラが抑制される。
【０１０９】
また、本実施形態では、補正値データテーブルが一旦ＳＤＲＡＭ７５に記憶された後は、補正ユニット８０は、ＣＰＵ７２やＣＰＵバス７４１を必要とせずに、ドット列領域の順に入力されてくる画素データに対して補正処理を行うことができる。このため、補正ユニット８０が補正処理をする間、ＣＰＵバス７４１を独占しなくて済むので、ＣＰＵ７２が他のユニットにアクセスし易くなり、装置全体の処理が早くなる。
【０１１０】
＝＝＝その他の実施の形態＝＝＝
一実施形態としてのＳＰＣ複合装置等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。
【０１１１】
前述の実施形態では、プリンタ部１０及びスキャナ部３０を有するＳＰＣ複合装置について説明しているが、スキャナ部３０を備えないプリンタであっても良い。
【０１１２】
また、前述の実施形態では、ＳＰＣ複合装置の製造時の検査工程においてテストパターンを印刷して補正値データテーブルを作成しているが、これに限られるものではない。例えば、ＳＰＣ複合装置を購入したユーザが、ＳＰＣ複合装置にテストパターンを印刷させ、テストパターンをスキャナ部３０が読み取って、補正値データテーブルを作成させても良い。
【０１１３】
＝＝＝まとめ＝＝＝
（１）前述のＳＰＣ複合装置（印刷装置の一例）は、複数のノズルを備えたヘッド１８を備えている。このヘッド１８は、キャリッジ移動方向に移動しながらノズルからインクを吐出して、各ノズルが移動方向に沿うドット列領域（単位領域の一例）にラスタライン（ドット列）を形成することにより、ドット列領域に画像片を形成する。そして、ヘッドからインクを吐出して画像片を形成する形成動作と、紙を搬送方向に搬送する搬送動作とを繰り返すことにより、無数の画像片が搬送方向に並び、印刷画像が紙に印刷される。但し、ノズルの加工精度のばらつきの影響などにより各画像片に濃淡ができ、印刷画像に縞状の濃度ムラができることがある。  
そこで、本実施形態では、補正ユニット８０が、各単位領域に対応する補正値に基づいて画素データを補正し、各単位領域に形成される画像片の濃度を補正する。これにより、各画像片の濃淡の差が軽減され、印刷画像の濃度ムラが抑制される。
【０１１４】
ところで、このような補正処理を補正ユニット８０が行う際に、補正ユニット８０がＣＰＵ７２やＣＰＵ用メモリ７３に頻繁にアクセスすると、ＣＰＵバス７４１が補正ユニット８０に独占されてしまう。  
そこで、本実施形態では、ＳＤＲＡＭ７５（メモリの一例）が各単位領域に対応する補正値を記憶する。そして、補正ユニットは、ドット列領域の並ぶ順に入力される画素データの数に基づいて読み出すべき補正値を決定し、その補正値をＳＤＲＡＭ７５から読み出している。これにより、ＣＰＵ７２を使わずに補正ユニット８０が補正処理を行うことができる構成が実現されるので、補正ユニット８０にＣＰＵ７４１バスが独占されなくて済む。
【０１１５】
（２）前述のＳＰＣ複合装置は、ＡＤＴユニット９０（転送ユニットの一例）を備えている。このＡＤＴユニット９０は、先頭アドレスを指定されると、ＳＤＲＡＭ７５の指定された先頭アドレスから順に所定のデータを自動的に転送する（図１４〜図１６参照）。そして前述の実施形態では、このようなＡＤＴユニット９０に対し、補正ユニット８０は、入力された画素データの数に基づいて、先頭アドレスをＡＤＴユニットに指定する。
【０１１６】
（３）具体的には、補正ユニット８０は、補正ユニット８０に入力された画素データの数を画素カウンタ（第１カウンタの一例）でカウントし、画素カウンタのカウント値に応じてラスタカウンタ（第２カウンタの一例）の値をインクリメントし、ラスタカウンタのカウント値の次の番号のドット列領域の補正値を格納するアドレスを、先頭アドレスとしてＡＤＴユニット９０に指示する。  
これにより、ＣＰＵ７２を使わずに補正ユニット８０が補正処理を行うことができる構成が実現されるので、補正ユニット８０にＣＰＵ７４１バスが独占されなくて済む。
【０１１７】
（４）前述のＳＰＣ複合装置は、ＣＰＵ７２と、ＣＰＵ用メモリ７３と、ＣＰＵバス７４１とを備えている。最初、補正値データテーブルは、ＣＰＵ用メモリ７３に記憶されている。しかし、補正ユニット８０が補正処理を行う際に、補正ユニット８０がＣＰＵ用メモリ７３に頻繁にアクセスすると、ＣＰＵバス７４１が補正ユニット８０に独占されてしまう。  
そこで、本実施形態では、まず、ＣＰＵ７２が、ＣＰＵバス７４１を介して、ＣＰＵ用メモリに記憶された補正値データテーブルの補正値をＳＤＲＡＭ７５に記憶させる。そして、次に、補正ユニット８０は、ＣＰＵバスを介さずに、ＳＤＲＡＭ７５から補正値を読み出す。これにより、補正ユニット８０にＣＰＵ７４１バスが独占されなくて済む。
【０１１８】
（５）前述の実施形態では、ＣＰＵ用メモリ７３は、上端印刷用の補正値データテーブルと、通常印刷領域用の補正値データテーブルと、下端印刷領域用の補正値データテーブルとを記憶している。ここで、ＣＰＵ７２が、ＣＰＵ用メモリ７３に記憶されている全ての補正値データテーブルをＳＤＲＡＭ７５に記憶させるとすると、ＳＤＲＡＭ７５の記憶容量を増やす必要がある。  
そこで、前述の実施形態では、まずＣＰＵ７２は、通常印刷の前に、上端印刷用の補正値データテーブルと、通常印刷領域用の補正値データテーブルとをＳＤＲＡＭ７５に記憶させる。これにより、補正ユニット８０は、上端印刷領域及び通常印刷領域のドット列領域の補正処理が可能になる。そして、ＳＰＣ複合装置が通常印刷をするとき、上端印刷領域のドット列領域の補正処理は既に完了しており、上端印刷用の補正値データテーブルが不要になる。そこで、次にＣＰＵ７２は、通常印刷中に、上端印刷用の補正値データテーブルを消去して、下端印刷領域用の補正値データテーブルを記憶する。これにより、ＳＤＲＡＭ７５の記憶容量を減らすことができる。
【０１１９】
（６）前述の実施形態では、通常印刷領域のドット列領域の補正処理終了前に、ＣＰＵ７２から下端印刷用の補正値データテーブルの記憶を終了した旨の通知がない場合、下端印刷領域のドット列領域の補正処理を待機させている。この状態で下端印刷領域のドット列領域の補正処理を行うと、上端印刷用の補正値データテーブルに基づいて下端印刷領域のドット列領域を補正処理するおそれがあるためである。
【０１２０】
（７）前述の補正ユニット８０は、通常印刷領域用の補正値データテーブルの補正値を何回も使いまわしている。例えば、補正ユニット８０は、通常印刷領域用の補正値データテーブルの１番目のドット列領域の補正値に基づいて、印刷画像全体における３１番目、３８番目、４５番目、…のドット列領域に属する画素データを補正する。このように、１つの補正値を複数のドット列領域の補正処理に用いることにより、記憶すべき補正値の数を減らせるので、ＣＰＵ用メモリ７３やＳＤＲＡＭ７５の記憶容量を削減できる。
【０１２１】
（８）前述の補正ユニット８０は、少なくとも１つのドット列領域に対応する補正値を記憶する２面レジスタ８４（バッファの一例）を有する。また、補正ユニット８０には、ドット列領域の順にＣＭＹＫ１２ビットデータ（画素データの一例）が入力される。そして、補正ユニット８０は、２面レジスタに記憶された補正値に基づいて、ドット列領域に含まれる複数の画素のＣＭＹＫ１２ビットデータを補正する。すなわち、補正ユニット８０は、１つの画素データを処理する度にＳＤＲＡＭ７５から補正値を読み出すのではなく、１度読み出した補正値を用いて複数の画素データを処理している。これにより、補正ユニット８０の処理速度が向上する。
【図面の簡単な説明】
【０１２２】
【図１】本実施形態のＳＰＣ複合装置の全体斜視図である。
【図２】ＳＰＣ複合装置の構成のブロック図である。
【図３】ＳＰＣ複合装置におけるプリンタ部の説明図である。
【図４】ＳＰＣ複合装置におけるスキャナ部の説明図である。
【図５】プリンタ機能時のデータの流れの説明図である。
【図６】スキャナ機能時のデータの流れの説明図である。
【図７】コピー機能時のデータの流れの説明図である。
【図８】ヘッド１８の下面におけるノズルの配列を示す説明図である。
【図９】図９Ａ及び図９Ｂは、通常印刷の説明図である。図９Ａは、パスｎ〜パスｎ＋３におけるヘッドの位置とドットの形成の様子を示し、図９Ｂは、パスｎ〜パスｎ＋４におけるヘッドの位置とドットの形成の様子を示している。
【図１０】図１０Ａは、実際の通常印刷の説明図である。図１０Ｂは、ヘッド１８Ｅが紙にドットを形成した後の各領域のドット形成状況の説明図である。
【図１１】上端印刷及び下端印刷の説明図である。
【図１２】本実施形態のＡＳＩＣ７４の構成の説明図である。
【図１３】ハーフトーン処理の際に用いられるドット生成率テーブルの説明図である。
【図１４】各構成要素間の信号の説明図である。
【図１５】ＡＤＴユニット９０の設定の第１の説明図である。
【図１６】ＡＤＴユニット９０の設定の第２の説明図である。
【図１７】図１７Ａは、理想的にドットが形成されたときの様子の説明図である。図１７Ｂは、ノズルの加工精度のばらつきの影響の説明図である。図１７Ｃは、本実施形態の印刷方法によりドットが形成されたときの様子の説明図である。
【図１８】濃度ムラを検出するためのテストパターンの説明図である。
【図１９】補正値データテーブルの説明図である。
【図２０】１２ビットデータを補正値に基づいて補正するときの演算の説明図である。
【図２１】補正ユニット８０の構成のブロック図である。
【図２２】図２２Ａは、補正値の読み出しの第１の説明図である。図２２Ｂは、補正値の読み出しの第２の説明図である。
【図２３】ＳＤＲＡＭ７５の補正値データテーブルの説明図である。
【図２４】図２４Ａ及び図２４Ｂは、補正ユニット８０及びＣＰＵ７２の状態の説明図である。
【図２５】読み出すべき補正値の場所の説明図である。
【符号の説明】
【０１２３】
１  ＳＰＣ複合装置、３  コンピュータ、５  原稿
１０  プリンタ部、１２  給紙部、１４  排紙部、１６  キャリッジ、１８  ヘッド、
３０  スキャナ部、３１  上蓋、３２  載置ガラス、
６０  パネル部、
７０  コントローラ、７１  インターフェース部、７２  ＣＰＵ、
７３  ＣＰＵ用メモリ、７４  ＡＳＩＣ、
７４２  スキャナ制御ユニット、７４３  色変換ユニット、
７４５  ハーフトーン処理ユニット、７４６  インターレース処理ユニット、
７４７  ヘッド制御ユニット、７４８  ＣＰＵインターフェイスユニット、
７４９  ＳＤＲＡＭコントローラ、
７５  ＳＤＲＡＭ（ＡＳＩＣ用メモリ）、７６  クロック
８０  補正ユニット、８１  ＣＰＵインターフェース、
８２  レジスタ、８３  レジスタ、８４  ２面レジスタ、８５  濃度判定部、
８６  パラメータ選択部、８７  演算部、８８  ユニット制御部、
８９  ＡＤＴインターフェース、９０  ＡＤＴユニット、
【図１】
2006224388.tif 000003
【図２】
2006224388.tif 000004
【図３】
2006224388.tif 000005
【図４】
2006224388.tif 000006
【図５】
2006224388.tif 000007
【図６】
2006224388.tif 000008
【図７】
2006224388.tif 000009
【図８】
2006224388.tif 000010
【図９】
2006224388.tif 000011
【図１０】
2006224388.tif 000012
【図１１】
2006224388.tif 000013
【図１２】
2006224388.tif 000014
【図１３】
2006224388.tif 000015
【図１４】
2006224388.tif 000016
【図１５】
2006224388.tif 000017
【図１６】
2006224388.tif 000018
【図１７】
2006224388.tif 000019
【図１８】
2006224388.tif 000020
【図１９】
2006224388.tif 000021
【図２０】
2006224388.tif 000022
【図２１】
2006224388.tif 000023
【図２２】
2006224388.tif 000024
【図２３】
2006224388.tif 000025
【図２４】
2006224388.tif 000026
【図２５】
2006224388.tif 000027