A複数のノズルを備え、移動方向に移動しながら各前記ノズルからインクを吐出して、各前記ノズルが前記移動方向に沿う単位領域にドット列を形成することにより前記単位領域に画像片を形成するヘッドと、B各前記単位領域に対応する補正値を記憶するメモリと、C入力されてくる画素データの属する前記単位領域に対応する前記補正値を前記メモリから読み出し、前記メモリから読み出された前記補正値に基づいて前記画素データを補正して、各前記単位領域に形成される画像片の濃度を補正する補正ユニットと、を備え、D補正された濃度の画像片を並べて形成して印刷画像を印刷する印刷装置であって、E前記補正ユニットには、前記単位領域の並ぶ順に前記画素データが入力され、F前記補正ユニットは、入力された画素データの数に基づいて、前記メモリから読み出すべき補正値を決定することを特徴とする印刷装置。請求項1に記載の印刷装置であって、前記メモリの指定されたアドレスから順に所定のデータを自動的に転送する転送ユニットを更に備え、前記補正ユニットは、前記入力された画素データの数に基づいて、前記アドレスを前記転送ユニットに指定することを特徴とする印刷装置。請求項2に記載の印刷装置であって、前記補正ユニットは、入力されてくる画素データの数をカウントする第1カウンタと、前記第1カウンタが所定の値になったときにインクリメントされる第2カウンタとを有し、前記第2カウンタの値に応じて前記アドレスを指定することを特徴とする印刷装置。請求項1~3のいずれかに記載の印刷装置であって、CPUと、前記メモリとは別のCPU用メモリと、前記CPUと前記CPU用メモリとの間でデータを伝送するCPUバスとを備え、前記CPUが、前記CPUバスを介して、前記CPU用メモリに記憶された補正値を前記メモリに記憶させた後、前記補正ユニットは、前記CPUバスを介さずに、前記メモリから前記補正値を読み出すことを特徴とする印刷装置。請求項4に記載の印刷装置であって、前記CPU用メモリは、上端印刷領域用補正値と、通常印刷領域用補正値と、下端印刷領域用補正値とを記憶し、前記CPUは、通常印刷の前に、前記上端印刷領域用補正値と通常印刷領域用補正値とを前記メモリに記憶し、通常印刷中に、前記上端印刷領域用補正値を消去して、前記下端印刷領域用補正値を記憶することを特徴とする印刷装置。請求項5に記載の印刷装置であって、前記メモリが前記下端印刷領域用補正値を記憶する前に、前記補正ユニットは、下端印刷により形成される前記画像片の濃度を補正しないことを特徴とする印刷装置。請求項1~6のいずれかに記載の印刷装置であって、前記補正ユニットは、ある一つの前記補正値に基づいて、複数の前記単位領域に属する画素データをそれぞれ補正することを特徴とする印刷装置。請求項1~7のいずれかに記載の印刷装置であって、前記補正ユニットは、少なくとも1つの単位領域に対応する補正値を記憶するバッファを有し、前記補正ユニットは、前記バッファに記憶された前記補正値に基づいて、前記単位領域に属する複数の前記画素データを補正することを特徴とする印刷装置。A複数のノズルを備え、移動方向に移動しながら各前記ノズルからインクを吐出して、各前記ノズルが前記移動方向に沿う単位領域にドット列を形成することにより前記単位領域に画像片を形成するヘッドと、B各前記単位領域に対応する補正値を記憶するメモリと、C入力されてくる画素データの属する前記単位領域に対応する前記補正値を前記メモリから読み出し、前記メモリから読み出された前記補正値に基づいて前記画素データを補正して、各前記単位領域に形成される画像片の濃度を補正する補正ユニットと、を備え、D補正された濃度の画像片を並べて形成して印刷画像を印刷する印刷装置であって、E前記補正ユニットには、前記単位領域の並ぶ順に前記画素データが入力され、F前記補正ユニットは、入力された画素データの数に基づいて、前記メモリから読み出すべき補正値を決定し、G前記メモリの指定された先頭アドレスから順に所定のデータを自動的に転送する転送ユニットを更に備え、前記補正ユニットは、前記入力された画素データの数に基づいて、前記先頭アドレスを前記転送ユニットに指定し、H前記補正ユニットは、入力されてくる画素データの数をカウントする第1カウンタと、前記第1カウンタが所定の値になったときにインクリメントされる第2カウンタとを有し、前記第2カウンタの値に応じて前記先頭アドレスを指定し、ICPUと、前記メモリとは別のCPU用メモリと、前記CPUと前記CPU用メモリとの間でデータを伝送するCPUバスとを備え、前記CPUが、前記CPUバスを介して、前記CPU用メモリに記憶された補正値を前記メモリに記憶させた後、前記補正ユニットは、前記CPUバスを介さずに、前記メモリから前記補正値を読み出し、J前記CPU用メモリは、上端印刷領域用補正値と、通常印刷領域用補正値と、下端印刷領域用補正値とを記憶し、前記CPUは、通常印刷の前に、前記上端印刷領域用補正値と通常印刷領域用補正値とを前記メモリに記憶し、通常印刷中に、前記上端印刷領域用補正値を消去して、前記下端印刷領域用補正値を記憶し、K前記メモリが前記下端印刷領域用補正値を記憶する前に、前記補正ユニットは、下端印刷により形成される前記画像片の濃度を補正せず、L前記補正ユニットは、ある一つの前記補正値に基づいて、複数の前記単位領域に属する画素データをそれぞれ補正し、M前記補正ユニットは、少なくとも1つの単位領域に対応する補正値を記憶するバッファを有し、前記補正ユニットは、前記バッファに記憶された前記補正値に基づいて、前記単位領域に属する複数の前記画素データを補正する。特許文献1に記載の技術では、各ノズルに対応付けられた補正値に基づいて画像データが補正されている。しかし、同じノズルにより形成された画像片であっても、濃度が異なる場合がある。例えば、同じノズルにより形成されたドット列であっても、隣り合うドット列が異なる特性を持つ場合、そのドット列から構成される画像片の濃度が異なることある。このような場合、単にノズルに対応付けた補正値では、濃度ムラを抑制することができない。そこで、本発明は、ドット列を形成する単位領域に対応付けて補正値を記憶し、この補正値に応じて各画像片の濃度を補正することで濃度ムラを抑制している。但し、このような補正処理を行う補正ユニットが、メモリに記憶されている補正値を読み出す際にCPU等からの指示を必要とすると、装置全体の処理速度が低下してしまう。そこで、本発明は、補正ユニットがCPU等から指示されることなくメモリから補正値を読み出せるように構成にすることを目的とする。上記課題を解決するための主たる発明は、A複数のノズルを備え、移動方向に移動しながら各前記ノズルからインクを吐出して、各前記ノズルが前記移動方向に沿う単位領域にドット列を形成することにより前記単位領域に画像片を形成するヘッドと、B各前記単位領域に対応する補正値を記憶するメモリと、C入力されてくる画素データの属する前記単位領域に対応する前記補正値を前記メモリから読み出し、前記メモリから読み出された前記補正値に基づいて前記画素データを補正して、各前記単位領域に形成される画像片の濃度を補正する補正ユニットと、を備え、D補正された濃度の画像片を並べて形成して印刷画像を印刷する印刷装置であって、E前記補正ユニットには、前記単位領域の並ぶ順に前記画素データが入力され、F前記補正ユニットは、入力された画素データの数に基づいて、前記メモリから読み出すべき補正値を決定することを特徴とする。本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。===開示の概要===本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。A複数のノズルを備え、移動方向に移動しながら各前記ノズルからインクを吐出して、各前記ノズルが前記移動方向に沿う単位領域にドット列を形成することにより前記単位領域に画像片を形成するヘッドと、B各前記単位領域に対応する補正値を記憶するメモリと、C入力されてくる画素データの属する前記単位領域に対応する前記補正値を前記メモリから読み出し、前記メモリから読み出された前記補正値に基づいて前記画素データを補正して、各前記単位領域に形成される画像片の濃度を補正する補正ユニットと、を備え、D補正された濃度の画像片を並べて形成して印刷画像を印刷する印刷装置であって、E前記補正ユニットには、前記単位領域の並ぶ順に前記画素データが入力され、F前記補正ユニットは、入力された画素データの数に基づいて、前記メモリから読み出すべき補正値を決定することを特徴とする印刷装置。このような印刷装置によれば、印刷装置の処理速度を向上させることができる。かかる印刷装置であって、前記メモリの指定されたアドレスから順に所定のデータを自動的に転送する転送ユニットを更に備え、前記補正ユニットは、前記入力された画素データの数に基づいて、前記アドレスを前記転送ユニットに指定することが望ましい。また、前記補正ユニットは、入力されてくる画素データの数をカウントする第1カウンタと、前記第1カウンタが所定の値になったときにインクリメントされる第2カウンタとを有し、前記第2カウンタの値に応じて前記アドレスを指定することが望ましい。これにより、印刷装置の処理速度を向上させることができる。かかる印刷装置であって、CPUと、前記メモリとは別のCPU用メモリと、前記CPUと前記CPU用メモリとの間でデータを伝送するCPUバスとを備え、前記CPUが、前記CPUバスを介して、前記CPU用メモリに記憶された補正値を前記メモリに記憶させた後、前記補正ユニットは、前記CPUバスを介さずに、前記メモリから前記補正値を読み出すことが望ましい。これにより、補正ユニットにCPUバスが独占されなくて済むので、印刷装置の処理速度を向上させることができる。かかる印刷装置であって、前記CPU用メモリは、上端印刷領域用補正値と、通常印刷領域用補正値と、下端印刷用補正値とを記憶し、前記CPUは、通常印刷の前に、前記上端印刷領域用補正値と通常印刷領域用補正値とを前記メモリに記憶し、通常印刷中に、前記上端印刷領域用補正値を消去して、前記下端印刷領域用補正値を記憶することが望ましい。これにより、メモリの記憶容量を削減できる。また、前記メモリが前記下端印刷領域用補正値を記憶する前に、前記補正ユニットは、下端印刷により形成される前記画像片の濃度を補正しないことが望ましい。これにより、正確に濃度補正処理を行うことができる。かかる印刷装置であって、前記補正ユニットは、ある一つの前記補正値に基づいて、複数の前記単位領域に属する画素データをそれぞれ補正することが望ましい。これにより、メモリの記憶容量を削減できる。かかる印刷装置であって、前記補正ユニットは、少なくとも1つの単位領域に対応する補正値を記憶するバッファを有し、前記補正ユニットは、前記バッファに記憶された前記補正値に基づいて、前記単位領域に属する複数の前記画素データを補正することが望ましい。これにより、補正ユニットの処理速度が向上する。===印刷システムの構成===図1は、本実施形態のSPC複合装置の全体斜視図である。図2は、SPC複合装置の構成のブロック図である。本実施形態のSPC複合装置1は、原稿から画像を読み取るためのスキャナ機能、外部のコンピュータからの印刷データに基づいて画像を紙に印刷するプリンタ機能、スキャナ機能により入力した画像を紙に印刷するコピー機能を有する複合装置である。このSPC複合装置1は、プリンタ部10と、スキャナ部30と、パネル部60と、コントローラ70とを有する。プリンタ部10の主な構成要素は、SPC複合装置1の下部に設けられている。スキャナ部30は、プリンタ部10の上方に設けられている。パネル部60は、ユーザが操作し易いように、SPC複合装置1の前面に設けられている。図3は、SPC複合装置1におけるプリンタ部10の説明図である。プリンタ部10は、紙を搬送する搬送ユニット不図示と、インクを吐出するヘッドを移動させるキャリッジ16とを有し、搬送ユニットによる搬送動作と、移動するヘッドからインクを吐出するドット形成動作とを交互に繰り返すことにより、いわゆるインクジェット方式により紙に印刷を行う。不図示の搬送ユニットは、SPC複合装置1の背面の給紙部12にセットされた紙を給紙し、SPC複合装置1の前面の排紙部14へ印刷された紙を排紙する。SPC複合装置1の上部に設けられたスキャナ部30を持ち上げると、プリンタ部10のキャリッジ16が露出し、キャリッジに搭載されるインクカートリッジ162の交換が可能になる。図4は、SPC複合装置1におけるスキャナ部30の説明図である。スキャナ部30は、上蓋31と、載置ガラス32とを有する。載置ガラス32に原稿5が置かれたときに上蓋31を閉じると、原稿5が載置ガラス32に押圧されて原稿が平らになり、原稿5がスキャナ部30にセットされる。パネル部60は、液晶ディスプレイと、各種のボタンを有する。ユーザは、各種のボタンを押すことにより、SPC複合装置1に対して情報を入力することができる。例えば、ユーザがパネル部60のコピーボタンを押すことにより、SPC複合装置1にコピーを行わせることができる。また、ユーザは、SPC複合装置1にセットした紙の大きさ紙サイズをパネル部60により設定することができる。コントローラ70は、インターフェース部71と、CPU72と、CPU用メモリ73と、ASIC74と、ASIC用メモリ75と、クロック76とを有する。インターフェース部71は、外部のコンピュータ3との間でデータを送受信する。CPU72は、各種の演算処理を行う演算処理部である。CPU用メモリ73は、CPU72の演算領域を提供し、又はプログラムを格納する。ASIC74は、特定の処理を行うための回路である。なお、ASIC74の行う特定の処理は、後の説明から明らかになる。ASIC用メモリ75は、ASIC74の演算領域を提供する。クロック76は、ASICを駆動するためのクロック信号を発信する。<プリンタ機能について>図5は、プリンタ機能時のデータの流れの説明図である。コンピュータ3には、予めSPC複合装置1のプリンタドライバがインストールされている。そして、プリンタドライバは、コンピュータ3に、アプリケーションソフトにより作成された画像データを印刷データに変換させる。この印刷データには、コマンドデータと画素データとが含まれている。コマンドデータは、SPC複合装置1のプリンタ部を制御するためのデータである。画素データは、印刷画像を構成するドットの有無色階調に関するデータである。そして、プリンタドライバは、コンピュータに、印刷データをSPC複合装置1に送信させる。ASIC74は、コンピュータ3から送られてきた印刷データを、コマンドデータと画素データとに分離して、ASIC用メモリ75にバッファする。そして、ASIC74は、受信したコマンドデータに基づいてプリンタ部10を制御し、画素データに基づいてヘッドからインクを吐出させ、印刷を行う。これにより、SPC複合装置は、外部のコンピュータからの印刷データに基づいて画像を紙に印刷するプリンタとして機能する。<スキャナ機能について>図6は、スキャナ機能時のデータの流れの説明図である。コンピュータ3には、予めSPC複合装置1のスキャナドライバがインストールされている。また、ユーザは、予めスキャナ部30に原稿5をセットする。そして、ユーザは、コンピュータ3上でスキャナドライバの設定を行い、例えば読取解像度、白黒カラー、読み取り範囲などの設定を行う。ユーザがコンピュータ上でスキャナドライバによりスキャン開始を指示すると、スキャナドライバは、コンピュータ3に、ユーザの設定内容に応じた制御データをSPC複合装置1に送信させる。ASIC74は、受信した制御データに基づいてスキャナ部30を制御し、スキャナ部30から原稿5の画像データを取得する。そして、ASIC74は、取得した画像データをコンピュータ3に送信する。これにより、SPC複合装置1は、原稿5の画像を読み取るスキャナとして機能する。<コピー機能について>図7は、コピー機能時のデータの流れの説明図である。ユーザは、予めスキャナ部30に原稿5をセットする。そして、ユーザは、パネル部60を操作して、紙の大きさ、原稿の大きさ、倍率、コピーモードはやい/きれい等の設定を行う。ユーザがパネル部60のコピーボタンを押すと、印刷開始を示す開始信号がパネル部60からASIC74へ送られる。ASIC74は、ユーザの設定内容に応じた制御データに基づいてスキャナ部30を制御し、スキャナ部30から原稿5の画像データを取得する。ASIC74は、スキャナ部30からの画像データをASIC用メモリ75にバッファする。スキャナ部30からの画像データは、例えば256階調のRGBレッド、グリーン、ブルーのデータである。ASIC74は、このデータに基づいて印刷データを生成する後述。SPC複合装置1は、この印刷データに基づいてプリンタ部10を制御して印刷を行う。これにより、SPC複合装置は、コピー機として機能する。===印刷方法===<ヘッドの構成>プリンタ部10は、ASIC74から印刷データを受信すると、印刷動作を開始する。印刷動作は、移動方向に移動するヘッドのノズルからインクを吐出して紙にドットを形成するドット形成動作と、紙を搬送方向に搬送する搬送動作と、を交互に繰り返すことにより行われる。図8は、ヘッド18の下面におけるノズルの配列を示す説明図である。ヘッド18の下面には、ブラックインクノズル群NKと、シアンインクノズル群NCと、マゼンタインクノズル群NMと、イエローインクノズル群NYが形成されている。各ノズル群は、各色のインクを吐出するためのノズルを複数個本実施形態では180個備えている。各ノズルには、各ノズルを駆動してインク滴を吐出させるための駆動素子としてピエゾ素子不図示が設けられている。各ノズル群の複数のノズルは、搬送方向に沿って、一定の間隔ノズルピッチ:kDでそれぞれ整列している。ここで、Dは、搬送方向における最小のドットピッチつまり、紙Sに形成されるドットの最高解像度での間隔である。また、kは、1以上の整数である。例えば、ノズルピッチが180dpi1/180インチであって、搬送方向のドットピッチが720dpi1/720である場合、k=4である。各ノズル群のノズルには、下流側のノズルほど若い番号が付されている♯1~♯180。つまり、ノズル♯1は、ノズル♯180よりも搬送方向の下流側に位置している。<通常印刷インターレース印刷について>まず、通常印刷について説明する。本実施形態の通常印刷は、インターレース印刷と呼ばれる印刷方法により行われる。ここで、インターレース印刷とは、1回のパスで記録されるラスタライン間に、記録されないラスタラインが挟まれるような印刷を意味する。また、パスとは、ノズルが移動方向に1回移動するときのドット形成動作をいう。ラスタラインとは、移動方向に並ぶドットの列であり、ドットラインともいう。図9A及び図9Bは、通常印刷の説明図である。図9Aは、パスn~パスn3におけるヘッドの位置とドットの形成の様子を示し、図9Bは、パスn~パスn4におけるヘッドの位置とドットの形成の様子を示している。説明の便宜上、複数あるノズル群のうちの一つのノズル群のみを示し、ノズル群のノズル数も少なくしている。また、ヘッド18又はノズル群が紙に対して移動しているように描かれているが、同図はヘッド18と紙との相対的な位置を示すものであって、実際には紙が搬送方向に移動される。また、説明の都合上、各ノズルは数ドット図中の丸印しか形成していないように示されているが、実際には、移動方向に移動するノズルから間欠的にインク滴が吐出されるので、移動方向に多数のドットが並ぶことになるこのドットの列がラスタラインである。同図において、黒丸で示されたノズルはインクを吐出可能なノズルであり、白丸で示されたノズルはインクを吐出不可なノズルである。また、同図において、黒丸で示されたドットは、最後のパスで形成されるドットであり、白丸で示されたドットは、それ以前のパスで形成されたドットである。インターレース印刷では、紙が搬送方向に一定の搬送量Fで搬送される毎に、各ノズルが、その直前のパスで記録されたラスタラインの隣のラスタラインを記録する。このように搬送量を一定にして記録を行うためには、インクを吐出可能なノズル数N整数はkと互いに素の関係にあり、搬送量FはNDに設定される。ヘッドは8つのノズルを有するが、ノズルピッチkは4なので、インターレース印刷を行うための条件であるNとkが互いに素の関係を満たすために、7つのノズルを用いてインターレース印刷が行われる。また、7つのノズル♯2~♯8が用いられるため、紙は搬送量7Dにて搬送される。これにより、例えば、180dpi4Dのノズルピッチのノズル群を用いて、720dpi=Dのドット間隔にて連続して並ぶラスタラインが紙に形成される。なお、一部連続していないラスタラインが形成されるが、この点については後述する。上記の説明では、説明を簡単にするため、ノズルの数は8個であった。しかし、実際のノズル数は、180個である。この場合のインターレース印刷方式について、説明する。図10Aは、実際の通常印刷の説明図である。同図では、ヘッドと紙との相対的な位置を示している。ここでは、ヘッドは搬送方向に沿って配列された180個のノズルを有するが、ノズルピッチkは4なので、インターレース印刷を行うための条件であるNとkが互いに素の関係を満たすために、179個のノズル♯2~♯180を用いてインターレース印刷が行われる。また、179個のノズルが用いられるため、紙は搬送量179Dにて搬送される。あるパスにおいて、ヘッド18Aは、移動方向に移動しながらインクを吐出して、紙の領域1にドットラスタラインを形成する。次に、紙が179D=179/720インチにて搬送され、紙に対してヘッドが図中のヘッド18Bの位置に相対的に移動する。次のパスにおいて、ヘッド18Bは、移動方向に移動しながらインクを吐出して、紙の領域1及び領域2にドットラスタラインを形成する。ここでは、このような動作を、ヘッド18Eが紙にドットを形成するまで続けるものとする。図10Bは、ヘッド18Eが紙にドットを形成した後の各領域のドット形成状況の説明図である。同図において、白丸は、ドットが形成されていない画素を示している。また、黒丸は、ドットが形成された画素を示している。領域1では、ヘッド18A~ヘッド18Dによって、4回のパスによってドットラスタラインが形成されている。また、領域2では、ヘッド18B~ヘッド18Eによって、4回のパスによってドットが形成されている。このように、4回のパスを経過した領域では、その領域内の全ての画素に、ドットが形成されている。領域3では、ヘッド18C~18Eによって、3回のパスによってドットが形成されている。このように、3回のパスを経過した領域では、4つのラスタラインのうちの3つのラスタラインの画素に、ドットが形成されている。領域4では、ヘッド18D及び18Eによって、2回のパスによってドットが形成されている。このように、2回のパスを経過した領域では、4つのラスタラインのうちの2つのラスタラインの画素に、ドットが形成されている。領域5では、41Eによって、1回のパスによってドットが形成されている。このように、1回のパスを経過した領域では、4つのラスタラインのうちの1つのラスタラインの画素に、ドットが形成されている。なお、領域6では、まだドットが形成されていない状態である。このように、通常印刷では、ヘッドが1度走査しただけでは1回のパスだけでは、その領域の全ての画素にドットが形成されるというわけではない。具体的には、ある領域の全ての画素にドットが形成されるには、k回のパスを経過する必要がある。このため、通常印刷だけでは、印刷画像の上端部分又は下端部分において、連続するラスタラインが形成できない。例えば、図9Aにおいて、上端部分及び下端部分では連続するラスタラインが形成できていない。また、図10A及び図10Bにおいて、領域3~領域6は連続するラスタラインが形成できていない。そこで、通常印刷の前後において、以下に説明する上端印刷及び下端印刷が行われる。<上端印刷下端印刷>図11は、上端印刷及び下端印刷の説明図である。なお、本来、搬送方向に並ぶノズル数は180個であるが、説明を簡単にするため、ここではノズル数を8個とする。上端印刷では、印刷画像の上端付近を印刷する際に、通常印刷時の搬送量よりも少ない搬送量にて、紙が搬送される。例えば、パス1-パス2間、パス2-パス3間、パス3-パス4間に行われる搬送動作では、紙が搬送量Dにて搬送される。また、パス4-パス5間に行われる搬送動作では、紙が搬送量2Dにて搬送される。また、上端印刷では、インクを吐出するノズルが一定していない。例えば、パス1ではノズル♯2~♯4、パス2ではノズル♯2、パス3ではノズル♯2~♯7、パス4ではノズル♯2~♯5、パス5ではノズル♯2~♯8からインクが吐出される。パス5以降からは通常印刷が行われるので、紙は搬送量7Dにて搬送され、7個のノズルノズル♯2~♯8からインクが吐出される。これにより、印刷画像の上端部分において、連続するラスタラインを形成することができる。下端印刷では、上端印刷と同じように、印刷画像の下端付近を印刷する際に、通常印刷時の搬送量よりも少ない搬送量にて、紙が搬送される。また、下端印刷では、上端印刷と同じように、インクを吐出するノズルが一定していない。これにより、印刷画像の下端部分において、連続するラスタラインを形成することができる。なお、通常印刷だけでラスタラインが形成される領域を通常印刷領域と呼ぶ。また、通常印刷領域よりも紙の上端側搬送方向下流側に位置する領域を上端印刷領域と呼ぶ。この上端印刷領域には、上端印刷により形成される全てのラスタラインと、通常印刷により形成されるラスタラインが混在している。また、通常印刷領域よりも下端側搬送方向上流側に位置する領域を下端印刷領域と呼ぶ。この下端印刷領域には、下端印刷により形成される全てのラスタラインと、通常印刷により形成されるラスタラインが混在している。上端印刷領域には、30本のラスタラインが形成される。同様に、下端印刷領域にも、30本のラスタラインが形成される。これに対し、通常印刷領域には、紙の大きさにもよるが、およそ数千本のラスタラインが形成される。通常印刷領域のラスタラインの並びには、規則性がある。図11の通常印刷領域の最初から7番目までのラスタラインは、それぞれ、ノズル♯3、ノズル♯5、ノズル♯7、ノズル♯2、ノズル♯4、ノズル♯6、ノズル♯8、により形成される。そして、通常印刷領域の8番目以降の7本のラスタラインは、これと同じ順序の各ノズルで形成されている。一方、上端印刷領域及び下端印刷領域のラスタラインの並びには、通常印刷領域のラスタラインと比べると、規則性を見出し難い。以上説明したように、紙に印刷画像を印刷する際に、プリンタ部10は、上端印刷を行い、次に通常印刷を行い、最後に下端印刷を行う。これにより、上端印刷領域に連続するラスタラインが形成された後、通常印刷領域に連続するラスタラインが形成され、その後、下端印刷領域に連続するラスタラインが形成される。===ASIC74の構成===図12は、本実施形態のASIC74の構成の説明図である。ASIC74は、複数のユニットスキャナ制御ユニット742と、色変換ユニット743と、補正ユニット80と、ハーフトーン処理ユニット745と、インターレース処理ユニット746と、ヘッド制御ユニット747と、CPUインターフェイスユニット748と、SDRAMコントローラ749とを備える。また、不図示であるが、ASICは、外部のコンピュータと接続するためのUSBインターフェイスユニットや、プリンタ部の搬送モータ等を制御するモータ制御ユニット等、他のユニットも備えている。CPU72は、CPU用メモリに記憶されているプログラムに従って、各ユニットの設定を行う。各ユニットは、設定に応じて、以下の処理を行う。スキャナ制御ユニット742は、スキャナ部30が備えるCCDセンサやパルスモータ等を制御する。スキャナ制御ユニット742は、CCDセンサを介して読み取られた画像データを送出する機能を有する。なお、スキャナ制御ユニット742は、原稿から画像を読み取った後に画素間の補間を行うことにより、所定の解像度の画像データを生成することができる。例えば、コピー機能時には、プリンタ部の解像度の画像データを生成することができる。スキャナ制御ユニット742が生成する画像データは、256階調8ビットのRGB色空間の画像データRGB8ビットデータである。スキャナ制御ユニット742は、生成したRGB8ビットデータを、SDRAM内に割り当てられたラインバッファに記憶する。色変換ユニット743は、256階調のRGB8ビットデータを、4096階調12ビットのCMYK色空間の画像データCMYK12ビットデータに変換する。まず、色変換ユニット743は、RGB8ビットデータを、SDRAMに格納されたルックアップテーブルLUTを参照して256階調8ビットのCMYK色空間の画像データCMYK8ビットデータに変換するこの処理を色変換処理という。そして、色変換ユニット743は、8ビットのデータを4ビットシフトさせることにより、12ビットのデータにする。例えば、8ビットデータが11111111255であれば、1111111100004080になる。色変換ユニット743は、CMYK12ビットデータを補正ユニットへ出力する。補正ユニット80は、CMYK12ビットデータを、ラスタラインに応じた補正値ドット列領域後述に対応する補正値で補正する。つまり、補正ユニット80は、CMYKデータの濃度を、ラスタラインに応じた濃度に補正する。この処理は、後で詳述する。補正ユニット80は、補正したCMYK12ビットデータをハーフトーン処理ユニットへ出力する。ハーフトーン処理ユニット745は、誤差拡散法やディザ法等の手法によって、CMYK12ビットデータをCMYK2ビットデータに変換するこの処理をハーフトーン処理という。そして、ハーフトーン処理ユニット745は、CMYK2ビットデータをSDRAM内に割り当てられた画像データバッファに記憶する。なお、画像データバッファのCMYK2ビットデータは、ラスタラインの順に、アドレスに格納されている。このため、隣接するノズルに対応するデータの読み出しアドレスは、不連続である。図13は、ハーフトーン処理の際に用いられるドット生成率テーブルの説明図である。横軸は、ハーフトーン処理前の画素データCMYK12ビットデータの階調値を示している。縦軸は、ドット生成率を示している。例えば、ある画素のCMYK12ビットデータに対応するドット生成率が25の場合、そのCMYK12ビットデータは、25の確率で、ドットの形成を示すCMYK2ビットデータに変換される75の確率でドットの非形成を示すCMYK2ビットデータに変換される。また、例えば、256画素16×16画素の領域の画素のCMYK12ビットデータに対応するドット生成率が全て25の場合、その領域の64画素のCMYK12ビットデータは、ドットの形成を示すCMYK2ビットデータに変換され、残りの画素のCMYK12ビットデータは、ドットの非形成を示すCMYK2ビットデータに変換される。例えば、ある画素のCMYK12ビットデータの示す階調値がgr図示であるとする。ドット生成率テーブルによれば、階調値grのときの大ドットの生成率は0なので、この画素のCMYK12ビットデータが、大ドットの形成を示す11のCMYK2ビットデータに変換されることはない確率0。また、この階調値では中ドットの生成率は2dなので、この画素のCMYK12ビットデータは、2dの確率で、中ドットの形成を示す10のCMYK2ビットデータに変換される。また、この階調値では小ドットの確率は3dなので、この画素のCMYK12ビットデータは、3dの確率で、小ドットの形成を示す01のCMYK2ビットデータに変換される。そして、この画素のCMYK12ビットデータは、100-2d-1dの確率で、ドットの非形成を示す00のCMYK2ビットデータに変換される。インターレース処理ユニット746は、ラスタラインの順に並ぶCMYK2ビットデータを、ノズル配列に対応させて並び替える。これにより、印刷時に必要となるデータ順になるように、データが並び替えられる。このようなデータの並び替えの処理のことを、ラスタライズ処理ともいう。インターレース処理ユニット746は、ラスタライズ処理されたデータを、SDRAM内に割り当てられたイメージバッファに記憶する。なお、ラスタライズ処理後のCMYK2ビットデータは、ノズル配列に対応されて並び替えられているので、隣接するノズルに対応するデータは、連続するアドレスに格納される。ヘッド制御ユニット747は、ラスタライズ処理されたデータを読み出した後、印刷ヘッド18へデータを送出する。このとき、印刷時に必要となるデータ順にイメージバッファにデータが格納されているので、ヘッド制御ユニットは、バースト転送によりイメージバッファのデータを読み出す。そして、ヘッド制御ユニット747は、読み出したデータを、印刷ヘッド18にシリアル転送する。印刷ヘッド18は、ヘッド制御ユニット747から送られてくるデータに応じて、各ノズルからインクを吐出する。なお、ヘッド制御ユニット747は、1回分のドット形成動作に必要なデータがイメージバッファに格納されるまでは、データをヘッド18へ転送しない。つまり、1回分のドット形成動作に必要なデータがイメージバッファに格納されなければ、印刷処理は待機状態になる。CPUインターフェイスユニット748は、CPU72がSDRAM75へアクセスを可能とする機能を有している。<ADTユニット90の機能>ADTユニット90は、自動データ転送ユニットAutoDataTransferUnitである。このADTユニット90は、補正ユニット80からの信号により読み出し条件が設定され、その設定に応じてSDRAMコントローラ749に対して自動的に読み出し指示を出力し、読み出したデータを補正ユニットへ転送する。図14は、各構成要素間の信号の説明図である。補正ユニット80は、ADTユニット90に読み出し条件を設定するため、ADTユニット90に対して、各種信号を出力する。リセット信号は、ADTユニット90の設定をリセットするための信号である。先頭アドレス、第1加算値、第1カウント値、第2加算値及び第2カウント値の意味は、後ほど明らかになる。ADTユニット90は、SDRAMコントローラ749に対して、読み出し要求信号と、読み出しアドレスを出力する。なお、後述するとおり、ADTユニット90は、自動的に読み出しアドレスを更新可能である。SDRAMコントローラ749は、ADTユニット90の指示に従って、要求されたアドレスのデータをSDRAM75から読み出し、要求元であるADTユニット90にデータを出力する。また、ADTユニット90は、SDRAM75から読み出したデータを、補正ユニット80の要求に応じて補正ユニット80へ出力する。なお、ADTユニット90には不図示のバッファが設けられており、SDRAM75から読み出されたデータを一旦バッファに記憶させることが可能である。図15は、ADTユニット90の設定の第1の説明図である。ここでは、ADTユニット90は、補正ユニット80からの信号により、先頭アドレスを1000、第1加算値を1、第1カウント値を5、第2加算値を10、第2カウント値を3に設定される。補正ユニット80は、要求信号を出す前に、これらのADTユニット90の設定を行う。設定後、ADTユニット90は、以下のように動作する。補正ユニット80から最初の要求信号があったとき、ADTユニット90は、読み出し要求信号及び先頭アドレス1000をSDRAMコントローラ749に出力し、先頭アドレス1000のデータをSDRAMコントローラ749から取得する。次に、ADTユニット90は、補正ユニット80からの要求信号を待たずに、自動的に、先頭アドレスに第1加算値を加えたアドレス1001のデータをSDRAMコントローラに出力し、アドレス1001のデータをSDRAMコントローラ749から取得する。このようにして、ADTユニット90は、自動的に読み出しアドレスを第1加算値に基づいて更新しながら、アドレス1004までのデータを取得する。なお、先頭アドレス1000からアドレス1004までのデータの取得回数は、第1カウント値5に相当する回数である。アドレス1004のデータを取得した後、ADTユニット90は、アドレス1004に第2加算値を加えたアドレス1014をSDRAMコントローラ749に出力し、アドレス1014のデータを取得する。同様に、ADTユニット90は、アドレスを自動的に更新しながら、アドレス1014からアドレス1018までのデータを取得する。なお、先頭アドレス1014からアドレス1018までのデータの取得回数は、第1カウント値5の回数に相当する。また、アドレス1018のデータを取得した後、同様に、ADTユニット90は、アドレス1028からアドレス102cまでのデータを取得する。そして、ADTユニット90は、自動的なデータの取得を終了する。このように、ADTユニット90は、第1カウント値5に相当する回数のデータの取得を、第2カウント値3に相当する回数だけ繰り返す。言い換えると、ADTユニット90は、2重ループに相当する処理を行う。ADTユニット90は、SDRAMコントローラ749からデータを取得する度に、そのデータを補正ユニット80へ転送する。図16は、ADTユニット90の設定の第2の説明図である。ここでは、第2加算値が無効、第2カウント値が1に設定されている点で、第1の説明図と異なる。この例では、第2カウント値が1に設定されているので、ADTユニット90は、第1カウント値5に相当する回数のデータの取得を、繰り返さずに、終了する。仮に、補正ユニット80から再度の要求信号があったとき、ADTユニット90は、先頭アドレスからのデータの取得を同様に行う。なお、補正ユニット80が再度の要求信号を出力する前に、先頭アドレスを1000から1014に変更することも可能である。===濃度ムラの発生原因と濃度補正について===多色印刷された画像中に生じる濃度ムラは、基本的には、その各色シアン、マゼンタ、イエロー、ブラックでそれぞれに生じる濃度ムラが原因である。このため、通常は、各色の濃度ムラをそれぞれ別々に抑制することによって、多色印刷された画像中の濃度ムラを抑制する方法が採られている。そこで、以下では、単色印刷された画像中に生じる濃度ムラの発生原因について説明する。図17Aは、理想的にドットが形成されたときの様子の説明図である。キャリッジが移動方向に移動する間、各ノズルからインクが吐出され、紙にインクが着弾してドットが形成される。各ノズルは、移動中に断続的にインクを吐出するので、移動方向に沿ってドットの列ラスタラインが形成される。各ラスタラインは移動方向に沿う細長い画像片を形成し、多数の画像片が搬送方向に並ぶことによって、印刷画像が構成される。ここでは、説明の簡略化のため、50のドット生成率となる画像を印刷するものとする。同図では、理想的にドットが形成されているので、各ドットは、紙上に架空に定められた領域に正確に形成される。ここで、ラスタラインが形成されるべき領域をドット列領域と呼ぶ。図中、点線に挟まれる領域としてドット列領域が示されている。なお、ドット列領域は、移動方向に並ぶ複数の画素に対応する紙上の領域でもある。図17Bは、ノズルの加工精度のばらつきの影響の説明図である。ここでは、ノズルから吐出されたインク滴の飛行方向のばらつきにより、第2ドット列領域に形成されたラスタラインが、第3ドット列領域側搬送方向上流側に寄って形成されている。また、第5ドット列領域に向かって吐出されたインク滴のインク量が少なく、第5ドット列領域に形成されるドットが小さくなっている。本来であれば同じ濃度の画像片が各ドット列領域に形成されるべきであるにもかかわらず、加工精度のばらつきのため、ドット列領域に応じて画像片に濃淡が発生する。例えば、第2ドット列領域の画像片は比較的淡くなり、第3ドット列領域の画像片は比較的濃くなる。また、第5ドット列領域の画像片は、比較的淡くなる。そして、このようなラスタラインからなる印刷画像を巨視的に見ると、キャリッジの移動方向に沿う縞状の濃度ムラが視認される。この濃度ムラは、印刷画像の画質を低下させる原因となる。図17Cは、本実施形態の印刷方法によりドットが形成されたときの様子の説明図である。本実施形態では、濃く視認されやすいドット列領域に対しては、淡く画像片が形成されるように、そのドット列領域に対応する画素のCMYK12ビットデータを補正する。また、淡く視認されやすいドット列領域に対しては、濃く画像片が形成されるように、そのドット列領域に対応する画素のCMYK12ビットデータを補正する。例えば、図中の第2ドット列領域のドットの生成率が高くなり、第3ドット列領域のドットの生成率が低くなり、第5ドット列領域のドットの生成率が高くなるように、各ドット列領域に対応する画素のCMYK12ビットデータが補正される。これにより、各ドット列領域のラスタラインのドット生成率が変更され、ドット列領域の画像片の濃度が補正されて、印刷画像全体の濃度ムラが抑制される。ところで、図17Bにおいて、第3ドット列領域に形成される画像片の濃度が濃くなる理由は、第3ドット列領域にラスタラインを形成するノズルの影響によるものではなく、隣接する第2ドット列領域にラスタラインを形成するノズルの影響によるものである。このため、第3ドット列領域にラスタラインを形成するノズルが他のドット列領域にラスタラインを形成した場合、そのドット列領域に形成される画像片が濃くなるとは限らない。つまり、同じノズルにより形成された画像片であっても、濃度が異なる場合がある。このような場合、単にノズルに対応付けた補正値では、濃度ムラを抑制することができない。そこで、本実施形態では、ドット列領域毎に設定された補正値に基づいて、補正ユニットがCMYK12ビットデータを補正している。この補正ユニットの構成や動作について、以下に説明する。===補正ユニット80===補正ユニット80は、入力されてくる12ビットデータを、補正値データテーブルに基づいてドット列領域毎に設定される補正値に応じて補正し、補正された12ビットデータをハーフトーン処理ユニットに出力する。<補正値データテーブルの作成について>製造工場で製造された個々のSPC複合装置のプリンタ部10は、製造のばらつきの影響のため、濃度ムラの特性がそれぞれ異なる。そこで、濃度ムラを抑制するためには、各SPC複合装置のプリンタ部の濃度ムラの特性を検出する必要がある。図18は、濃度ムラを検出するためのテストパターンの説明図である。製造工場の検査工程において、検査用コンピュータは、個々のSPC複合装置のプリンタ部に、このようなテストパターンを印刷させる。但し、テストパターンを印刷するときには、補正ユニット80による補正処理後述は行わない。テストパターンは、色毎に、3つの濃度のパターンを有する。淡い濃度のパターンは、階調値1016の画素データに基づいて、形成される。中間の濃度のパターンは、階調値2032の画素データに基づいて、形成される。濃い濃度のパターンは、階調値2848の画素データに基づいて、形成される。いずれのパターンも、紙面の上端から下端に延びる帯状の形状をしている。このため、各ドット列領域には、各色毎に、3つの階調値に基づいて形成されたドットの列が含まれている。テストパターン印刷後、テストパターンがスキャナによって読み取られる。テストパターンを読み取るスキャナは、SPC複合装置のスキャナ部30でも良いし、SPC複合装置とは別のスキャナ装置であっても良い。テストパターンの読み取り結果に基づいて、検査用コンピュータは、ドット列領域毎に、色毎に3つの濃度のパターンの読み取り値を得ることができる。例えば、読み取り結果に基づいて、各ドット列領域毎に、シアンの3つの読み取り値と、マゼンタの3つの読み取り値と、イエローの3つの読み取り値と、ブラックの3つの読み取り値とが得られる。各3つの読み取り値は、それぞれ、階調値1016、階調値2032及び階調値2848に対応している。但し、濃度ムラの影響があると、読み取り値は、階調値1016、階調値2032及び階調値2848にはならない。そこで、検査用コンピュータは、読み取り値に基づいて、ドット列領域毎に、色毎に3つの補正値を算出する。以下、例えば、シアンの3つの補正値はC1、C2及びC3と表記するマゼンタの場合はM、イエローの場合はY、ブラックの場合はBを用いる。また、n番目のドット列領域に対応する補正値は、例えばC1nと表記する。紙の上端側の上端印刷領域の30個のドット列領域の読み取り結果に基づく補正値によって、上端印刷領域用の補正値データテーブルが構成される。同様に、紙の下端側の下端印刷領域の30個のドット列領域の読み取り結果に基づく補正値によって、下端印刷用の補正値データテーブルが構成される。また、紙の中央部の通常印刷領域の7個のドット列領域の読み取り結果に基づく補正値によって、通常印刷領域用の補正値データテーブルが構成される。なお、通常印刷領域のドット列領域の7個おきの読み取り結果を平均化して、7個分のドット列領域に対応する補正値を算出し、通常印刷領域用の補正値データテーブルを構成しても良い。通常印刷領域には数千本のドット列領域が存在するにもかかわらず、7個分のドット列領域に対応する補正値だけしか用意しない理由は、通常印刷領域のラスタラインには7本ごとに規則性があり、濃度ムラの特性が7本おきに同じになると考えられるからである。補正値データテーブルを作成した後、検査用コンピュータは、SPC複合装置のCPU用メモリ73に補正値データテーブルを記憶する。この補正値データテーブルは、そのSPC複合装置の濃度ムラ特性を示すデータであり、この濃度ムラを抑制するために用いられる。<補正値データテーブルについて>図19は、補正値データテーブルの説明図である。補正値データテーブルは、上端印刷領域用、通常印刷領域用、下端印刷領域用の3種類ある。各補正値データテーブルには、色毎に3つの補正値が、各ラスタラインに対応付けられている。例えば、各印刷領域のn番目のラスタラインには、シアンに3つの補正値C1n、C2n、C3nが対応付けられており、他の色も同様に3つの補正値が対応付けられている。ここでは、シアンに注目して説明を行う。3つの補正値C1n、C2n、C3nは、それぞれ、階調値1016、階調値2032及び階調値2848に対応付けられている。以下、階調値1016、階調値2032及び階調値2848のことを境界階調値と呼び、記号D1、D2及びD3にて表記する。各補正値は、8ビットデータであり、050390625~149609375の値を2-8の分解能で表している。各補正値は、境界階調値の補正値を示している。各補正値は、ドット列領域の順に、SDRAM75に格納されている。例えば、補正値C11、C21、C31、M11、...は、SDRAM75の連続するアドレスに格納されている。また、1番目のドット列領域の最後の補正値B31を格納するアドレスの次のアドレスには、次のラスタラインのシアンの補正値C12が格納されている。ところで、この補正値データテーブルは、CPU用メモリ73に記憶されている。但し、補正ユニット80がCPU用メモリ73へアクセスを頻繁に行うと、CPUバス741が補正ユニット80に独占されてしまい、SPC複合装置全体の処理が遅くなってしまう。そこで、CPU72は、印刷前に、CPU用メモリ73の補正値データテーブルをSDRAM75に記憶させ、補正ユニット80は、SDRAM75に記憶されている補正値データテーブルを利用して処理を行う後述。<補正ユニットで行われる演算について>図20は、12ビットデータを補正値に基づいて補正するときの演算の説明図である。同図は、n番目のドット列領域のシアンの12ビットデータに対する補正の様子を示している。補正ユニットに入力された12ビットデータ入力値Cinと呼ぶが境界階調値と同じ例えばD1=1016ならば、対応する補正値を入力値に掛けた値が出力される例えば、1016×C1n。但し、入力値が境界階調値と異なる場合、直線補完により、出力する値出力値Coutというが演算される。具体的には、補正ユニットは、以下のように演算して、入力値Cinを出力値Coutに変換する。但し、D0=0であり、D4=4080である。入力値Cinが、D0≦Cin<D1のとき、Cout=D1×C1n-D0×A0×Cin-D0D0入力値Cinが、D1≦Cin<D2のとき、Cout=D2×C2n-D1×C1n×A1×Cin-D1D1×C1n入力値Cinが、D2≦Cin<D3のとき、Cout=D3×C3n-D2×C2n×A2×Cin-D2D2×C2n入力値Cinが、D3≦Cin≦D4のとき、Cout=D4-D3×D3n×A3×Cin-D3D3×C3n但し、上式のA0~A3は、以下の通りである。A0=1/D1-D0A1=1/D2-D1A2=1/D3-D2A3=1/D4-D3例えば、入力値Cin’とし、出力値Cout’とすると、図に示すような関係になる。この場合、出力値Cout’が入力値Cin’よりも大きくなるように補正されているので、このドット列領域に形成される画像片は、濃度が濃くなるように補正されることになる。<補正ユニット80の構成>図21は、補正ユニット80の構成のブロック図である。補正ユニット80は、CPUインターフェース81と、レジスタ82と、レジスタ83と、2面レジスタ84と、濃度判定部85と、パラメータ選択部86と、演算部87と、ユニット制御部88と、ADTインターフェース89とを有する。CPUインターフェース81は、CPUとの間でデータを送受信するためのインターフェースである。レジスタ82は、前述のD0~D4を記憶するための記憶部であり、CPU72からCPUインターフェース81を介して入力されるD0~D4を記憶する。このレジスタ82に記憶されたデータD0~D4は、濃度判定部85及びパラメータ選択部86に出力される。レジスタ83は、前述のA0~A4を記憶するための記憶部であり、CPU72からCPUインターフェース81を介して入力されるA0~A3を記憶する。このレジスタ83に記憶されたデータA0~A3は、パラメータ選択部86に出力される。2面レジスタ84は、第1レジスタ及び第2レジスタの2つのレジスタを有し、それぞれのレジスタは、1個分のドット列領域の補正値すなわち12個の補正値を記憶できる但し、説明の簡略化のため、2面レジスタは、シアンの補正値のみを記憶するものとする。濃度判定部85には、レジスタ82からのデータD0~D4と、色変換ユニット743からのCMYK12ビットデータ例えばCinとが入力する。濃度判定部85は、0~4080までの階調値を境界階調値D0~D4で4つに区分D0≦Cin<D1、D1≦Cin<D2、D2≦Cin<D3、D3≦Cin≦D4し、入力されたCMYK12ビットデータ例えばCinがどの区分に入るかを判定する。そして、濃度判定部85は、判定結果をパラメータ選択部86に出力する。パラメータ選択部86は、濃度判定部85からの判定結果に基づいて、レジスタ82のデータD0~D4、及びレジスタ83のデータA0~A3の中から必要なパラメータを取得し、演算部87へ出力する。また、パラメータ選択部86は、濃度判定部85からの判定結果及びユニット制御部88からの指示に基づいて、2面レジスタの一方のレジスタの補正値C1~C3から必要なパラメータを取得し、演算部87へ出力する。例えば、最初に補正ユニット80に入力される入力値CinがD1≦Cin<D2の場合、パラメータ選択部86は、レジスタ82からデータD1及びD2を取得し、レジスタ83からデータA1を取得し、2面レジスタの第1レジスタから補正値C1及びC2を取得し、これらのパラメータを演算部87へ出力する。演算部87は、色変換ユニット743からのCMYK12ビットデータであるCinと、パラメータ選択部からのパラメータとに基づいて、Coutを算出し、ハーフトーン処理ユニット745へCoutCMYK12ビットデータを出力する。ユニット制御部88は、CPU72により行われた設定に基づいて、所定の動作を行う。例えば、ユニット制御部88は、所定のタイミングで、演算部87に演算を開始又は終了させる。また、ユニット制御部88は、演算部87が何番目のドット列領域の処理を行っているかを監視する後述。また、ユニット制御部88は、所定のタイミングで、ADTインターフェースを介してADTユニットに所定の信号を出力する。また、ユニット制御部88は、入力される補正値の記憶先第1又は第2レジスタを、2面レジスタ84に指示する。また、ユニット制御部88は、補正値の取得先2面レジスタの第1レジスタ又は第2レジスタを、パラメータ選択部86に指示する。ユニット制御部88には、アドレス演算部882が設けられている。アドレス演算部882は、ADTユニット90に指示する先頭アドレスを演算するものである。このユニット制御部88のアドレス演算部882に対して、CPU72はラスタ画素数とページラスタ数とを予め設定する。ラスタ画素数は、1つのラスタライン又はドット列領域に属する画素の数を示すものである。ページラスタ数は、1つの印刷画像を構成するラスタライン又はドット列領域の数を示すものである。アドレス演算部882には、画素カウンタ及びラスタカウンタが設けられている。画素カウンタは、演算部87が1つの画素の画素データを処理するたびに、カウンタ値を1つだけインクリメントする。そして、画素カウンタのカウンタ値がラスタ画素数に達したら、ラスタカウンタのカウント値を1つだけインクリメントし、画素カウンタのカウンタ値をリセットする。つまり、ユニット制御部88は、ラスタカウンタのカウント値に基づいて、演算部87が何番目のドット列領域の処理を行っているかを監視できる。また、アドレス演算部882は、ラスタカウンタのカウント値に基づいて、補正値データテーブルから読み出すべき補正値を決定する。図25は、読み出すべき補正値の場所の説明図である。ある印刷画像がL個ここでは130個のドット列領域を含み、そのうちの上端印刷領域にはL1個ここでは30個のドット列領域が含まれ、下端印刷領域にはL2個ここでは30個のドット列領域が含まれているものとする。また、処理対象の画素データがn番目1≦n≦Lのドット列領域に属しているとする。n≦L1の場合、アドレス演算部882は、SDRAM75に記憶されている上端印刷領域用の補正値データテーブルから、n番目のドット列領域の補正値を読み出し、補正ユニット80は、その補正値に基づいて補正処理が行う。また、L1<n≦L-L3の場合、アドレス演算部882は、n-L1/7の余りaとすると、通常印刷領域用の補正値データテーブルから、a番目a=0の場合は7番目のドット列領域の補正値を読み出す。また、L-L3<nの場合、アドレス演算部882は、下端印刷領域の補正値データテーブルから、{n-L-L3}番目のドット列領域のドット列領域の補正値を読み出す。ADTインターフェース89は、ユニット制御部88の指示に応じて、ADTユニット90へ信号を出力する。また、ADTインターフェース89は、ADTユニットからの補正値C1~C3を2面レジスタ84へ出力する。なお、2面レジスタ84は、ユニット制御部88の指示に応じて、ADTインターフェースからの補正値C1~C3を第1又は第2レジスタの一方に記憶する。<補正ユニット80による補正処理>まず、色変換ユニット743からCMYK12ビットデータが入力する前に、CPU72は、CPU用メモリ73に記憶されている補正値データテーブルに基づいて、CPUインターフェイスユニット748を介してSDRAM75の所定の領域に、上端印刷用及び通常印刷用の補正値データテーブルを作成する。このとき、下端印刷用の補正用データテーブルは、SDRAM75には作成されない。また、色変換ユニット743からCMYK12ビットデータが入力する前に、CPU72は、CPU用メモリ73に記憶されている境界階調値D0~D4を、CPUインターフェース81を介してレジスタ82に記憶させる。また、CPU72は、CPU用メモリ73に記憶されている境界階調値D0~D4に基づいてA0~A3を算出し、CPUインターフェース81を介してA0~A3をレジスタ83に記憶させる。また、色変換ユニット743からCMYK12ビットデータが入力する前に、ユニット制御部88は、SDRAM75の所定の領域に記憶されている上端印刷用の補正値データテーブルから、1番目のドット列領域の補正値C11~C31、M11~M31、Y11~Y31、K11~K31を読み出す。1番目のドット列領域の補正値は、2面レジスタ84の第1レジスタに記憶される。図22Aは、補正値の読み出しの第1の説明図である。図22Bは、補正値の読み出しの第2の説明図である。図22Bでは、補正ユニット80は、再度の要求信号を出力する前に、先頭アドレスの設定を変更している。いずれの方法によっても、1番目のドット列領域の補正値を取得することができる。先頭アドレスは、処理対象のドット列領域の番号に応じて、ユニット制御部88により決定される。1番目のドット列領域の最初の画素のシアンの12ビットデータがCinとして補正ユニット80に入力された場合、既に補正ユニットの構成の項で説明したように処理が行われ、Coutが補正ユニット80から出力される。最初の画素のシアン以外の色の12ビットデータMin、Yin、Kinが補正ユニット80に入力された場合も、シアンの場合と同様に処理されて、Mout、Yout、Koutが出力される。これにより、1番目のドット列領域の最初の画素のCMYK12ビットデータが、1番目のドット列領域の補正値に基づいて補正される。1番目のドット列領域の他の画素のCMYK12ビットデータが補正ユニット80に入力された場合も、最初の画素のデータと同様に処理される。但し、レジスタ82、レジスタ83及び2面レジスタ84の第1レジスタに記憶されているデータは、更新されず、そのままの状態である。つまり、同じドット列領域の画素のデータに対しては、2面レジスタ84に記憶されている補正値がそのまま利用される。1番目のドット列領域の補正処理の間、ユニット制御部88は、SDRAM75の上端印刷用の補正値データテーブルから、2番目のドット列領域の補正値C12~C32、M12~M32、Y12~Y32、K12~K32を読み出す。このように、ユニット制御部88は、ラスタカウンタの値この場合は1の次の番号のドット列領域の補正値を読み出す。2番目のドット列領域の補正値は、2面レジスタ84の第2レジスタに記憶される。つまり、2面レジスタの第1レジスタに記憶される補正値が利用されている間、2面レジスタの第2レジスタに、次に必要になる補正値を予め記憶する。但し、レジスタ82及びレジスタ83に記憶されているデータは、更新されず、そのままの状態である。そして、2番目のドット列領域の画素のCMYK12ビットデータが補正ユニット80に入力されるとき、ユニット制御部88は、パラメータ選択部86に出力する指示を変更し、パラメータ選択部86に2面レジスタ84の第2レジスタから補正値を取得させる。なお、2番目のドット列領域の補正処理の間、ユニット制御部88は、SDRAM75の上端印刷用の補正値テーブルから、3番目のドット列領域の補正値を読み出し、これを2面レジスタ84の第1レジスタに記憶させる。このような処理を繰り返し、補正ユニット80は、30番目までのドット列領域の補正処理を行う。そして、30番目のドット列領域の補正処理の間、ユニット制御部88は、SDRAM75の通常印刷用の補正値テーブルから、1番目のドット列領域の補正値を読み出し、2面レジスタの第1レジスタに記憶する。なお、通常印刷領域の1番目のドット列領域は、印刷画像全体の31番目のドット列領域に相当する。この場合も、ユニット制御部88は、ラスタカウンタの値この場合は30の次の番号のドット列領域の補正値を読み出している。37番目のドット列領域は、通常印刷用の補正値データテーブルの7番目のドット列領域の補正値に基づいて、補正ユニット80により補正処理される。38番目のラスタライン通常印刷領域の8番目のラスタラインは、通常印刷領域の1番目のラスタライン通常印刷領域の1番目のラスタラインと比較すると、形成するノズル、隣り合うラスタラインを形成するノズル、隣り合うラスタラインとの形成順序、等が同じであり、濃度ムラの特性が同じであると考えられる。このため、38番目のドット列領域の画素のCMYK12ビットデータは、通常印刷用の補正値データテーブルの1番目のドット列領域の補正値に基づいて、補正ユニット80により補正される。このように、n番目のドット列領域は、n-30/7の余りをaとすると、通常印刷用の補正値データテーブルのa番目a=0の場合は7番目のドット列領域の補正値に基づいて、補正ユニット80により補正処理される。色変換ユニット743からはドット列領域の順ラスタラインの順にCMYK12ビットデータが送られてくるので、通常印刷領域のドット列領域の補正処理が開始されると、上端印刷用の補正値データテーブルは必要なくなる。一方、下端印刷用の補正値データテーブルは未だSDRAM75には作成されていないが、通常印刷領域のドット列領域の補正処理が終了すれば必要になる。そこで、本実施形態では、以下に説明するように、SDRAM75は、通常印刷時に上端印刷用の補正値データテーブルを消去して、同じ領域に下端印刷用の補正値データテーブルを記憶するつまり、下端印刷用の補正値データテーブルを上書きする。図23は、SDRAM75の補正値データテーブルの説明図である。図24A及び図24Bは、補正ユニット80及びCPU72の状態の説明図である。図24Aは、上書きに時間がかからなかった場合の説明図であり、図24Bは、上書きに時間がかかった場合の説明図である。ユニット制御部88は、演算部87の処理するドット列領域の番号を監視しており、30番目のドット列領域の補正処理終了後上端印刷領域のドット列領域の補正処理終了後、その旨をCPU72に通知する図24Aの時点B、図24Bの時点B。CPU72は、この通知を受けて、CPU用メモリに記憶されている補正値データテーブルに基づいて、CPUインターフェイスユニット748を介して、SDRAM75の上端印刷用の補正値データテーブルが記憶されている領域に、下端印刷用の補正値データテーブルを上書きする。CPU72は、下端印刷用の補正値データテーブルの上書き終了後、その旨を補正ユニット80に通知する図24Aの時点C、図24Bの時点E。なお、ユニット制御部88は、CPU72に対して上端印刷領域のドット列領域の補正処理終了の通知後、通常印刷領域のドット列領域の補正処理を行っている。通常印刷領域のドット列領域の補正処理終了図24Aの時点Dの前に、CPU72から下端印刷用の補正値データテーブルの上書き終了の通知があれば、通常印刷領域のドット列領域の補正処理終了後に下端印刷領域のドット列領域の補正処理を開始する。例えば、通常印刷領域の最後のドット列領域の補正処理の間、ユニット制御部88は、SDRAM75の下端印刷用の補正値テーブルから、1番目のドット列領域の補正値を読み出し、2面レジスタ84に記憶する。一方、通常印刷領域のドット列領域の補正処理終了図24Bの時点Dの前に、CPU72から下端印刷用の補正値データテーブルの上書き終了の通知がない場合、ユニット制御部88は、通常印刷領域の最後のドット列領域の補正処理終了図24Bの時点Dの後、CPU72から上書き終了が通知されるまで図24Bの時点E、補正処理を待機する。この状態で下端印刷領域のドット列領域の補正処理を行うと、上端印刷用の補正値データテーブルに基づいて下端印刷領域のドット列領域を補正処理するおそれがあるためである。そして、CPU72から上書き終了の通知があった後図24Bの時点E、ユニット制御部88は、SDRAM75の下端印刷用の補正値テーブルから、1番目のドット列領域の補正値を読み出し、2面レジスタ84に記憶し、補正処理を再開させる。なお、補正処理が待機された場合、イメージバッファへデータが溜まらなくなり、ドット形成動作に必要なデータがイメージバッファになければ、印刷処理が待機状態になる。但し、通常印刷領域には数千個のドット列領域があり、これらのドット列領域の画素を補正処理するには時間がかかるので、下端印刷用の補正値データテーブルをSDRAM75へ記憶させる時間は充分に確保されている。<補正ユニット80の効果>補正ユニット80からは、ドット列領域毎に設定されている補正値に応じて補正されたCMYK12ビットデータが出力される。例えば、比較的淡い画像片が形成されるドット列領域に対応する画素のCMYK12ビットデータは、高い階調値になるように補正されて、補正ユニット80から出力される。また、比較的濃い画像片が形成されるドット列領域に対応する画素のCMYK12ビットデータは、低い階調値になるように補正されて、補正ユニット80から出力される。ハーフトーン処理ユニットでは、補正されたCMYK12ビットデータに応じてドット生成率が決定される。この結果、比較的淡い画像片が形成されるドット列領域では、CMYK12ビットデータを補正しない場合と比較して、ドット列領域に形成されるラスタラインのドットの生成率が高くなる。また、比較的濃い画像片が形成されるドット列領域では、CMYK12ビットデータを補正しない場合と比較して、ドット列領域に形成されるラスタラインのドットの生成率が低くなる。これにより、ドット列領域の画像片の濃度が補正されて、印刷画像全体の濃度ムラが抑制される。また、本実施形態では、補正値データテーブルが一旦SDRAM75に記憶された後は、補正ユニット80は、CPU72やCPUバス741を必要とせずに、ドット列領域の順に入力されてくる画素データに対して補正処理を行うことができる。このため、補正ユニット80が補正処理をする間、CPUバス741を独占しなくて済むので、CPU72が他のユニットにアクセスし易くなり、装置全体の処理が早くなる。===その他の実施の形態===一実施形態としてのSPC複合装置等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。前述の実施形態では、プリンタ部10及びスキャナ部30を有するSPC複合装置について説明しているが、スキャナ部30を備えないプリンタであっても良い。また、前述の実施形態では、SPC複合装置の製造時の検査工程においてテストパターンを印刷して補正値データテーブルを作成しているが、これに限られるものではない。例えば、SPC複合装置を購入したユーザが、SPC複合装置にテストパターンを印刷させ、テストパターンをスキャナ部30が読み取って、補正値データテーブルを作成させても良い。===まとめ===1前述のSPC複合装置印刷装置の一例は、複数のノズルを備えたヘッド18を備えている。このヘッド18は、キャリッジ移動方向に移動しながらノズルからインクを吐出して、各ノズルが移動方向に沿うドット列領域単位領域の一例にラスタラインドット列を形成することにより、ドット列領域に画像片を形成する。そして、ヘッドからインクを吐出して画像片を形成する形成動作と、紙を搬送方向に搬送する搬送動作とを繰り返すことにより、無数の画像片が搬送方向に並び、印刷画像が紙に印刷される。但し、ノズルの加工精度のばらつきの影響などにより各画像片に濃淡ができ、印刷画像に縞状の濃度ムラができることがある。そこで、本実施形態では、補正ユニット80が、各単位領域に対応する補正値に基づいて画素データを補正し、各単位領域に形成される画像片の濃度を補正する。これにより、各画像片の濃淡の差が軽減され、印刷画像の濃度ムラが抑制される。ところで、このような補正処理を補正ユニット80が行う際に、補正ユニット80がCPU72やCPU用メモリ73に頻繁にアクセスすると、CPUバス741が補正ユニット80に独占されてしまう。そこで、本実施形態では、SDRAM75メモリの一例が各単位領域に対応する補正値を記憶する。そして、補正ユニットは、ドット列領域の並ぶ順に入力される画素データの数に基づいて読み出すべき補正値を決定し、その補正値をSDRAM75から読み出している。これにより、CPU72を使わずに補正ユニット80が補正処理を行うことができる構成が実現されるので、補正ユニット80にCPU741バスが独占されなくて済む。2前述のSPC複合装置は、ADTユニット90転送ユニットの一例を備えている。このADTユニット90は、先頭アドレスを指定されると、SDRAM75の指定された先頭アドレスから順に所定のデータを自動的に転送する図14~図16参照。そして前述の実施形態では、このようなADTユニット90に対し、補正ユニット80は、入力された画素データの数に基づいて、先頭アドレスをADTユニットに指定する。3具体的には、補正ユニット80は、補正ユニット80に入力された画素データの数を画素カウンタ第1カウンタの一例でカウントし、画素カウンタのカウント値に応じてラスタカウンタ第2カウンタの一例の値をインクリメントし、ラスタカウンタのカウント値の次の番号のドット列領域の補正値を格納するアドレスを、先頭アドレスとしてADTユニット90に指示する。これにより、CPU72を使わずに補正ユニット80が補正処理を行うことができる構成が実現されるので、補正ユニット80にCPU741バスが独占されなくて済む。4前述のSPC複合装置は、CPU72と、CPU用メモリ73と、CPUバス741とを備えている。最初、補正値データテーブルは、CPU用メモリ73に記憶されている。しかし、補正ユニット80が補正処理を行う際に、補正ユニット80がCPU用メモリ73に頻繁にアクセスすると、CPUバス741が補正ユニット80に独占されてしまう。そこで、本実施形態では、まず、CPU72が、CPUバス741を介して、CPU用メモリに記憶された補正値データテーブルの補正値をSDRAM75に記憶させる。そして、次に、補正ユニット80は、CPUバスを介さずに、SDRAM75から補正値を読み出す。これにより、補正ユニット80にCPU741バスが独占されなくて済む。5前述の実施形態では、CPU用メモリ73は、上端印刷用の補正値データテーブルと、通常印刷領域用の補正値データテーブルと、下端印刷領域用の補正値データテーブルとを記憶している。ここで、CPU72が、CPU用メモリ73に記憶されている全ての補正値データテーブルをSDRAM75に記憶させるとすると、SDRAM75の記憶容量を増やす必要がある。そこで、前述の実施形態では、まずCPU72は、通常印刷の前に、上端印刷用の補正値データテーブルと、通常印刷領域用の補正値データテーブルとをSDRAM75に記憶させる。これにより、補正ユニット80は、上端印刷領域及び通常印刷領域のドット列領域の補正処理が可能になる。そして、SPC複合装置が通常印刷をするとき、上端印刷領域のドット列領域の補正処理は既に完了しており、上端印刷用の補正値データテーブルが不要になる。そこで、次にCPU72は、通常印刷中に、上端印刷用の補正値データテーブルを消去して、下端印刷領域用の補正値データテーブルを記憶する。これにより、SDRAM75の記憶容量を減らすことができる。6前述の実施形態では、通常印刷領域のドット列領域の補正処理終了前に、CPU72から下端印刷用の補正値データテーブルの記憶を終了した旨の通知がない場合、下端印刷領域のドット列領域の補正処理を待機させている。この状態で下端印刷領域のドット列領域の補正処理を行うと、上端印刷用の補正値データテーブルに基づいて下端印刷領域のドット列領域を補正処理するおそれがあるためである。7前述の補正ユニット80は、通常印刷領域用の補正値データテーブルの補正値を何回も使いまわしている。例えば、補正ユニット80は、通常印刷領域用の補正値データテーブルの1番目のドット列領域の補正値に基づいて、印刷画像全体における31番目、38番目、45番目、...のドット列領域に属する画素データを補正する。このように、1つの補正値を複数のドット列領域の補正処理に用いることにより、記憶すべき補正値の数を減らせるので、CPU用メモリ73やSDRAM75の記憶容量を削減できる。8前述の補正ユニット80は、少なくとも1つのドット列領域に対応する補正値を記憶する2面レジスタ84バッファの一例を有する。また、補正ユニット80には、ドット列領域の順にCMYK12ビットデータ画素データの一例が入力される。そして、補正ユニット80は、2面レジスタに記憶された補正値に基づいて、ドット列領域に含まれる複数の画素のCMYK12ビットデータを補正する。すなわち、補正ユニット80は、1つの画素データを処理する度にSDRAM75から補正値を読み出すのではなく、1度読み出した補正値を用いて複数の画素データを処理している。これにより、補正ユニット80の処理速度が向上する。