(57)【要約】【課題】スキャナの読み取り位置に誤差があって画像データが歪んでも、画像データを補正して、補正後の画像データの示す画像を原稿の画像に近づける。【解決手段】本発明は、スケールをスキャナにより画像データとして読み取る第１読み取りステップと、原稿を前記スキャナにより画像データとして読み取る第２読み取りステップと、前記スケールの前記画像データを用いて、前記原稿の前記画像データを補正する補正ステップと、を有することを特徴とする。【選択図】  図２６
2006305963.tif 000002
【特許請求の範囲】
【請求項１】
スケールをスキャナにより画像データとして読み取る第１読み取りステップと、
原稿を前記スキャナにより画像データとして読み取る第２読み取りステップと、
前記スケールの前記画像データを用いて、前記原稿の前記画像データを補正する補正ステップと、
を有することを特徴とする画像処理方法。
【請求項２】
請求項１に記載の画像処理方法であって、
前記スケールの前記画像データに基づいて、前記スケールの目盛りの位置を検出する目盛り位置検出ステップを備え、
前記補正ステップの際に、前記スケールの目盛りの位置に基づいて、前記原稿の前記画像データを補正する
ことを特徴とする画像処理方法。
【請求項３】
請求項２に記載の画像処理方法であって、
前記補正ステップの際に、補正後の画像データを構成する画素データのうち前記目盛りの位置に対応する画素データを、前記原稿の画像データに基づいて算出することにより、前記原稿の前記画像データを補正することを特徴とする画像処理方法。
【請求項４】
請求項３に記載の画像処理方法であって、
前記補正ステップの際に、前記原稿の画像データを構成する画素データを直線補間することにより、補正後の画像データを構成する画素データのうち前記目盛りの位置に対応する画素データを前記原稿の画像データに基づいて算出することを特徴とする画像処理方法。
【請求項５】
請求項２〜４のいずれかに記載の画像処理方法であって、
前記スケールの目盛りの位置に基づいて、前記目盛りの間隔よりも短い間隔の位置を求めるステップを備え、
前記補正ステップの際に、前記短い間隔の位置に基づいて、前記原稿の前記画像データを補正する
ことを特徴とする画像処理方法。
【請求項６】
請求項５に記載の画像処理方法であって、
前記スケールの目盛りの位置に基づいて、直線補間により、前記短い間隔の位置を求めることを特徴とする画像処理方法。
【請求項７】
請求項１〜６のいずれかに記載の画像処理方法であって、
前記スキャナは、画像を読み取るためのセンサを移動させる読取キャリッジを備えており、
前記第１読み取りステップの際に、前記読取キャリッジの移動する方向に沿ってセットされた前記スケールを読み取る
ことを特徴とする画像処理方法。
【請求項８】
請求項１〜７のいずれかに記載の画像処理方法であって、
前記原稿は、移動方向に移動する複数のノズルからインクを吐出して移動方向に沿う列領域にドット列を形成することにより、前記移動方向と交差する方向に並ぶ複数の前記列領域に形成された複数の前記ドット列から構成されるパターンであり、
前記補正ステップにより補正された前記パターンの前記画像データを用いて、前記列領域の濃度を測定する
ことを特徴とする画像処理方法。
【請求項９】
スケールをスキャナにより画像データとして読み取る第１読み取りステップと、
原稿を前記スキャナにより画像データとして読み取る第２読み取りステップと、
前記スケールの前記画像データを用いて、前記原稿の前記画像データを補正する補正ステップと、
を有する画像処理方法であって、
前記スケールの前記画像データに基づいて、前記スケールの目盛りの位置を検出する目盛り位置検出ステップを備え、前記補正ステップの際に、前記スケールの目盛りの位置に基づいて、前記原稿の前記画像データを補正し、
前記補正ステップの際に、補正後の画像データを構成する画素データのうち前記目盛りの位置に対応する画素データを、前記原稿の画像データに基づいて算出することにより、前記原稿の前記画像データを補正し、
前記補正ステップの際に、前記原稿の画像データを構成する画素データを直線補間することにより、補正後の画像データを構成する画素データのうち前記目盛りの位置に対応する画素データを前記原稿の画像データに基づいて算出し、
前記スケールの目盛りの位置に基づいて、前記目盛りの間隔よりも短い間隔の位置を求めるステップを備え、前記補正ステップの際に、前記短い間隔の位置に基づいて、前記原稿の前記画像データを補正し、
前記スケールの目盛りの位置に基づいて、直線補間により、前記短い間隔の位置を求め、
前記スキャナは、画像を読み取るためのセンサを移動させる読取キャリッジを備えており、前記第１読み取りステップの際に、前記読取キャリッジの移動する方向に沿ってセットされた前記スケールを読み取り、
前記原稿は、移動方向に移動する複数のノズルからインクを吐出して移動方向に沿う列領域にドット列を形成することにより、前記移動方向と交差する方向に並ぶ複数の前記列領域に形成された複数の前記ドット列から構成されるパターンであり、前記補正ステップにより補正された前記パターンの前記画像データを用いて、前記列領域の濃度を測定する
ことを特徴とする画像処理方法。
【請求項１０】
スケールをスキャナにより画像データとして読み取る第１読み取りステップと、
印刷装置を用いて、パターンを印刷するパターン印刷ステップと、
前記パターンを前記スキャナにより画像データとして読み取る第２読み取りステップと、
前記スケールの前記画像データを用いて、前記パターンの前記画像データを補正する補正ステップと、
補正された前記パターンの前記画像データを用いて、前記印刷装置に応じた補正値を取得する補正値取得ステップと、
を有することを特徴とする補正値取得方法。
【請求項１１】
スケールをスキャナにより画像データとして読み取る第１読み取りステップと、
印刷装置を用いて、パターンを印刷するパターン印刷ステップと、
前記パターンを前記スキャナにより画像データとして読み取る第２読み取りステップと、
前記スケールの前記画像データを用いて、前記パターンの前記画像データを補正する補正ステップと、
補正された前記パターンの前記画像データを用いて、前記印刷装置に応じた補正値を取得する補正値取得ステップと、
前記印刷装置のメモリに、前記補正値を記憶する補正値記憶ステップと
を有することを特徴とする印刷装置製造方法。
【請求項１２】
スケールをスキャナにより画像データとして読み取る第１読み取りステップと、
印刷装置を用いて、パターンを印刷するパターン印刷ステップと、
前記パターンを前記スキャナにより画像データとして読み取る第２読み取りステップと、
前記スケールの前記画像データを用いて、前記パターンの前記画像データを補正する補正ステップと、
補正された前記パターンの前記画像データを用いて、前記印刷装置による印刷を補正する印刷ステップと、
を有することを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理、補正値取得方法、印刷装置製造方法及び印刷方法に関する。
【背景技術】
【０００２】
移動方向に移動するヘッドからインクを吐出して媒体（紙・布・ＯＨＰ用紙など）にドットを形成するドット形成動作と、媒体を搬送する搬送動作とを交互に繰り返し、媒体に印刷画像を印刷する印刷装置が知られている。このような印刷装置で印刷される印刷画像は、ドット列から構成される画像片が搬送方向に無数に並ぶことによって、構成されている。
【０００３】
各画像片を構成するドット列は、ヘッドのノズルから吐出されたインク滴が媒体に着弾することにより形成される。理想的な大きさのインク滴が理想的な位置に着弾すれば、ドット列は所定の領域（列領域）に形成され、その領域に理想的な濃度の画像片が形成される。しかし、実際には、加工精度のばらつき等の影響のため、その領域に形成される画像片に濃淡が生じる。その結果、印刷画像に縞状の濃度ムラが生じる。  
そこで、このような濃度ムラを抑制し、印刷画像の画質を向上させる技術が提案されている（例えば特許文献１及び特許文献２参照）。
【０００４】
特許文献１の画像処理装置では、ＣＣＤセンサにより画像をサンプリングして、デジタル化したデータをインクジェットプリンタで出力する。そして、濃度むらを補正するため、特許文献１の画像処理装置では、ＣＣＤセンサの利得ムラの特性を係数として保存し、かつ、ヘッドの濃度むらの特性を係数として保存し、これらの係数を考慮して２値化処理を行っている。  
また、特許文献２の記録濃度むら補正方法では、濃度むら検出用パターンを印刷し、濃度むら検出用パターンの濃度データに基づいて濃度むら補正が行なわれる。
【特許文献１】特開平２−５４６７６号公報
【特許文献２】特開平６−１６６２４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１では、ＣＣＤセンサの利得ムラの特性を示す係数を、どのように求めるのかについて、開示がない。このため、この係数の求め方によっては、ＣＣＤセンサの特性を正しく反映できていないかもしれない。そして、この係数がＣＣＤセンサの特性を正しく反映していない場合、印刷画像に濃淡のむらが発生する。  
特許文献２では、濃度むら検出用パターンを印刷した後、濃度むら検出用パターンをイメージセンサで読み取って濃度データを作成している。しかし、イメージセンサが正しく濃度むら検出用パターンを読み取れない場合、正しく濃度むら補正ができず、印刷画像に濃淡のむらが発生する。
【０００６】
このように、画像を読み取るスキャナが正しく原稿を読み取れないと、印刷画像の画質が劣化してしまう。また、このような印刷時だけでなく、スキャナを用いて原稿から画像を読み取る際に、スキャナの特性を受けずに画像を読み取りたいという要請もある。  
そこで、本発明は、スキャナにより読み取られた原稿の画像データの示す画像が原稿の画像に近づくように、画像データを補正することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するための主たる発明は、スケールをスキャナにより画像データとして読み取る第１読み取りステップと、原稿を前記スキャナにより画像データとして読み取る第２読み取りステップと、前記スケールの前記画像データを用いて、前記原稿の前記画像データを補正する補正ステップと、を有することを特徴とする。
【０００８】
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【発明を実施するための最良の形態】
【０００９】
＝＝＝開示の概要＝＝＝
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
【００１０】
スケールをスキャナにより画像データとして読み取る第１読み取りステップと、
原稿を前記スキャナにより画像データとして読み取る第２読み取りステップと、
前記スケールの前記画像データを用いて、前記原稿の前記画像データを補正する補正ステップと、
を有することを特徴とする画像処理方法。  
このような画像処理方法によれば、たとえスキャナに読み取り誤差があっても、画像データの示す画像を、原稿の画像に近づけることができる。
【００１１】
かかる画像処理方法であって、前記スケールの前記画像データに基づいて、前記スケールの目盛りの位置を検出する目盛り位置検出ステップを備え、前記補正ステップの際に、前記スケールの目盛りの位置に基づいて、前記原稿の前記画像データを補正することが望ましい。これにより、読み取られた画像データの示す画像が歪んでいても、実際の目盛りの位置を基準にして画像データを補正することができる。また、前記補正ステップの際に、補正後の画像データを構成する画素データのうち前記目盛りの位置に対応する画素データを、前記原稿の画像データに基づいて算出することにより、前記原稿の前記画像データを補正することが好ましい。これにより、目盛りの位置に対応する原稿の位置の画像データを取得できる。また、前記補正ステップの際に、前記原稿の画像データを構成する画素データを直線補間することにより、補正後の画像データを構成する画素データのうち前記目盛りの位置に対応する画素データを前記原稿の画像データに基づいて算出することが好ましい。画像データが、目盛りの位置に相当するデータを有することは稀だからである。
【００１２】
また、前記スケールの目盛りの位置に基づいて、前記目盛りの間隔よりも短い間隔の位置を求めるステップを備え、前記補正ステップの際に、前記短い間隔の位置に基づいて、前記原稿の前記画像データを補正することが望ましい。これにより、補正後の画像データの解像度を高めることができる。また、前記スケールの目盛りの位置に基づいて、直線補間により、前記短い間隔の位置を求めることが好ましい。
【００１３】
かかる画像処理方法であって、前記スキャナは、画像を読み取るためのセンサを移動させる読取キャリッジを備えており、前記第１読み取りステップの際に、前記読取キャリッジの移動する方向に沿ってセットされた前記スケールを読み取ることが望ましい。これにより、スキャナの読み取り位置に誤差があっても、画像データの示す画像を、原稿の画像に近づけることができる。
【００１４】
かかる画像処理方法であって、前記原稿は、移動方向に移動する複数のノズルからインクを吐出して移動方向に沿う列領域にドット列を形成することにより、前記移動方向と交差する方向に並ぶ複数の前記列領域に形成された複数の前記ドット列から構成されるパターンであり、前記補正ステップにより補正された前記パターンの前記画像データを用いて、前記列領域の濃度を測定することが望ましい。これにより、列領域の濃度を正しく測定できる。
【００１５】
スケールをスキャナにより画像データとして読み取る第１読み取りステップと、
印刷装置を用いて、パターンを印刷するパターン印刷ステップと、
前記パターンを前記スキャナにより画像データとして読み取る第２読み取りステップと、
前記スケールの前記画像データを用いて、前記パターンの前記画像データを補正する補正ステップと、
補正された前記パターンの前記画像データを用いて、前記印刷装置に応じた補正値を取得する補正値取得ステップと、
を有することを特徴とする補正値取得方法。  
このような補正値取得方法によれば、印刷装置に適した補正値を取得できる。
【００１６】
スケールをスキャナにより画像データとして読み取る第１読み取りステップと、
印刷装置を用いて、パターンを印刷するパターン印刷ステップと、
前記パターンを前記スキャナにより画像データとして読み取る第２読み取りステップと、
前記スケールの前記画像データを用いて、前記パターンの前記画像データを補正する補正ステップと、
補正された前記パターンの前記画像データを用いて、前記印刷装置に応じた補正値を取得する補正値取得ステップと、
前記印刷装置のメモリに、前記補正値を記憶する補正値記憶ステップと
を有することを特徴とする印刷装置製造方法。  
このような印刷装置製造方法によれば、適した補正値をメモリに記憶した印刷装置を製造できる。
【００１７】
スケールをスキャナにより画像データとして読み取る第１読み取りステップと、
印刷装置を用いて、パターンを印刷するパターン印刷ステップと、
前記パターンを前記スキャナにより画像データとして読み取る第２読み取りステップと、
前記スケールの前記画像データを用いて、前記パターンの前記画像データを補正する補正ステップと、
補正された前記パターンの前記画像データを用いて、前記印刷装置による印刷を補正する印刷ステップと、
を有することを特徴とする印刷方法。  
このような印刷方法によれば、高い画質の印刷画像を印刷することができる。
【００１８】
＝＝＝印刷システムの構成＝＝＝
＜印刷システム＞
図１は、印刷システム１００の構成を説明する図である。印刷システムとは、印刷装置と、この印刷装置の動作を制御する印刷制御装置とを少なくとも含むシステムのことである。本実施形態の印刷システム１００は、プリンタ１と、コンピュータ１１０と、表示装置１２０と、入力装置１３０と、記録再生装置１４０と、スキャナ１５０とを有している。
【００１９】
プリンタ１は、紙、布、フィルム、ＯＨＰ用紙等の媒体に画像を印刷する。コンピュータ１１０は、プリンタ１と通信可能に接続されている。そして、プリンタ１に画像を印刷させるため、コンピュータ１１０は、その画像に応じた印刷データをプリンタ１に出力する。このコンピュータ１１０には、アプリケーションプログラムやプリンタドライバ等のコンピュータプログラムがインストールされている。また、コンピュータ１１０には、スキャナ１５０を制御し、スキャナ１５０により読み取られた原稿の画像データを受け取るためのスキャナドライバがインストールされている。
【００２０】
＜プリンタ＞
図２は、プリンタ１の全体構成のブロック図である。また、図３Ａは、プリンタ１の全体構成の概略図である。また、図３Ｂは、プリンタ１の全体構成の横断面図である。以下、本実施形態のプリンタの基本的な構成について説明する。
【００２１】
プリンタ１は、搬送ユニット２０、キャリッジユニット３０、ヘッドユニット４０、検出器群５０、及びコントローラ６０を有する。外部装置であるコンピュータ１１０から印刷データを受信したプリンタ１は、コントローラ６０によって各ユニット（搬送ユニット２０、キャリッジユニット３０、ヘッドユニット４０）を制御する。コントローラ６０は、コンピュータ１１０から受信した印刷データに基づいて、各ユニットを制御し、紙に画像を印刷する。プリンタ１内の状況は検出器群５０によって監視されており、検出器群５０は、検出結果をコントローラ６０に出力する。コントローラ６０は、検出器群５０から出力された検出結果に基づいて、各ユニットを制御する。
【００２２】
搬送ユニット２０は、紙等の媒体を所定方向（以下、搬送方向という）に搬送するものである。この搬送ユニット２０は、給紙ローラ２１と、搬送モータ２２（ＰＦモータとも言う）と、搬送ローラ２３と、プラテン２４と、排紙ローラ２５とを有する。給紙ローラ２１は、紙挿入口に挿入された紙をプリンタ内に給紙するためのローラである。搬送ローラ２３は、給紙ローラ２１によって給紙された紙Ｓを印刷可能な領域まで搬送するローラであり、搬送モータ２２によって駆動される。プラテン２４は、印刷中の紙Ｓを支持する。排紙ローラ２５は、紙Ｓをプリンタの外部に排出するローラであり、印刷可能な領域に対して搬送方向下流側に設けられている。この排紙ローラ２５は、搬送ローラ２３と同期して回転する。
【００２３】
キャリッジユニット３０は、ヘッドを所定の方向（以下、移動方向という）に移動（「走査」とも呼ばれる）させるためのものである。キャリッジユニット３０は、キャリッジ３１と、キャリッジモータ３２（ＣＲモータとも言う）とを有する。キャリッジ３１は、移動方向に往復移動可能である。また、キャリッジ３１は、インクを収容するインクカートリッジを着脱可能に保持している。キャリッジモータ３２は、キャリッジ３１を移動方向に移動させるためのモータである。
【００２４】
ヘッドユニット４０は、紙にインクを吐出するためのものである。ヘッドユニット４０は、ヘッド４１を有する。ヘッド４１は、複数のノズルを有し、各ノズルから断続的にインクを吐出する。このヘッド４１は、キャリッジ３１に設けられている。そのため、キャリッジ３１が移動方向に移動すると、ヘッド４１も移動方向に移動する。そして、ヘッド４１が移動方向に移動中にインクを断続的に吐出することによって、移動方向に沿ったドット列（ラスタライン）が紙に形成される。
【００２５】
図４は、ヘッド４１の下面におけるノズルの配列を示す説明図である。ヘッド４１の下面には、ブラックインクノズル群Ｋと、シアンインクノズル群Ｃと、マゼンタインクノズル群Ｍと、イエローインクノズル群Ｙが形成されている。各ノズル群は、各色のインクを吐出するための吐出口であるノズルを複数個備えている。各ノズル群の複数のノズルは、搬送方向に沿って、一定の間隔（ノズルピッチ：ｋ・Ｄ）でそれぞれ整列している。ここで、Ｄは、搬送方向における最小のドットピッチ（つまり、紙Ｓに形成されるドットの最高解像度での間隔）である。また、ｋは、１以上の整数である。例えば、ノズルピッチが１８０ｄｐｉ（１／１８０インチ）であって、搬送方向のドットピッチが７２０ｄｐｉ（１／７２０インチ）である場合、ｋ＝４である。各ノズル群のノズルは、下流側のノズルほど小さい数の番号が付されている（♯１〜♯１８０）。各ノズルには、それぞれインクチャンバー（不図示）とピエゾ素子（不図示）が設けられており、ピエゾ素子の駆動によってインクチャンバーが伸縮・膨張されて、ノズルからインク滴が吐出される。
【００２６】
検出器群５０には、リニア式エンコーダ５１、ロータリー式エンコーダ５２、紙検出センサ５３、および光学センサ５４等が含まれる。リニア式エンコーダ５１は、キャリッジ３１の移動方向の位置を検出するためのものである。ロータリー式エンコーダ５２は、搬送ローラ２３の回転量を検出するためのものである。紙検出センサ５３は、印刷される紙の先端の位置を検出するためのものである。光学センサ５４は、キャリッジ３１に取付けられている。光学センサ５４は、発光部から紙に照射された光の反射光を受光部が検出することにより、紙の有無を検出する。
【００２７】
コントローラ６０は、プリンタの制御を行うための制御部である。コントローラ６０は、インターフェース部６１と、ＣＰＵ６２と、メモリ６３と、ユニット制御回路６４とを有する。インターフェース部６１は、外部装置であるコンピュータ１１０とプリンタ１との間でデータの送受信を行うためのものである。ＣＰＵ６２は、プリンタ全体の制御を行うための演算処理装置である。メモリ６３は、ＣＰＵ６２のプログラムを格納する領域や作業領域等を確保するためのものであり、ＲＡＭ、ＥＥＰＲＯＭ等の記憶素子を有する。ＣＰＵ６２は、メモリ６３に格納されているプログラムに従って、ユニット制御回路６４を介して各ユニットを制御する。
【００２８】
＜スキャナ＞
図５Ａは、スキャナ１５０の縦断面図である。図５Ｂは、上蓋１５１を外した状態のスキャナ１５０の上面図である。  
スキャナ１５０は、上蓋１５１と、原稿５が置かれる原稿台ガラス１５２と、この原稿台ガラス１５２を介して原稿５と対面しつつ副走査方向に移動する読取キャリッジ１５３と、読取キャリッジ１５３を副走査方向に案内する案内部材１５４と、読取キャリッジ１５３を移動させるための移動機構１５５と、スキャナ１５０内の各部を制御するスキャナコントローラ（不図示）とを備えている。読取キャリッジ１５３には、原稿５に光を照射する露光ランプ１５７と、主走査方向（図５Ａにおいて紙面に垂直な方向）のラインの像を検出するラインセンサ１５８と、原稿５からの反射光をラインセンサ１５８へ導くための光学系１５９とが設けられている。図中の読取キャリッジ１５３の内部の破線は、光の軌跡を示している。  
原稿５の画像を読み取るとき、操作者は、上蓋１５１を開いて原稿５を原稿台ガラス１５２に置き、上蓋１５１を閉じる。そして、スキャナコントローラが、露光ランプ１５７を発光させた状態で読取キャリッジ１５３を副走査方向に沿って移動させ、ラインセンサ１５８により原稿５の表面の画像を読み取る。スキャナコントローラは、読み取った画像データをコンピュータ１１０のスキャナドライバへ送信し、これにより、コンピュータ１１０は、原稿５の画像データを取得する。
【００２９】
＝＝＝印刷方法＝＝＝
＜印刷動作について＞
図６は、印刷時の処理のフロー図である。以下に説明される各処理は、コントローラ６０が、メモリ６３内に格納されたプログラムに従って、各ユニットを制御することにより実行される。このプログラムは、各処理を実行するためのコードを有する。
【００３０】
印刷命令受信（Ｓ００１）：まず、コントローラ６０は、コンピュータ１１０からインターフェース部６１を介して、印刷命令を受信する。この印刷命令は、コンピュータ１１０から送信される印刷データのヘッダに含まれている。そして、コントローラ６０は、受信した印刷データに含まれる各種コマンドの内容を解析し、各ユニットを用いて、以下の給紙処理・搬送処理・ドット形成処理等を行う。
【００３１】
給紙処理（Ｓ００２）：給紙処理とは、印刷すべき紙をプリンタ内に供給し、印刷開始位置（頭出し位置とも言う）に紙を位置決めする処理である。コントローラ６０は、給紙ローラ２１や搬送ローラ２３を回転させ、紙を印刷開始位置に位置決めする。
【００３２】
ドット形成処理（Ｓ００３）：ドット形成処理とは、移動方向に沿って移動するヘッド４１からインクを断続的に吐出させ、紙上にドットを形成する処理である。コントローラ６０は、キャリッジモータ３２を駆動し、キャリッジ３１を移動方向に移動させ、キャリッジ３１の移動中に、印刷データに含まれる画素データに基づいてヘッド４１からインクを吐出させる。ヘッド４１から吐出されたインク滴が紙上に着弾すれば、紙上にドットが形成される。移動するヘッド４１からインクが断続的に吐出されるので、紙上には移動方向に沿った複数のドットからなるドット列（ラスタライン）が形成される。
【００３３】
搬送処理（Ｓ００４）：搬送処理とは、紙をヘッドに対して搬送方向に沿って相対的に移動させる処理である。コントローラ６０は、搬送ローラ２３を回転させて紙を搬送方向に搬送する。この搬送処理により、ヘッド４１は、先ほどのドット形成処理によって形成されたドットの位置とは異なる位置に、次のドット形成処理時にドットを形成することが可能になる。
【００３４】
排紙判断（Ｓ００５）：コントローラ６０は、印刷中の紙の排紙の判断を行う。印刷中の紙に印刷すべきデータが残っていれば、排紙は行われない。そして、コントローラ６０は、印刷すべきデータがなくなるまで、ドット形成処理と搬送処理とを交互に繰り返し、ドットから構成される画像を徐々に紙に印刷する。
【００３５】
排紙処理（Ｓ００６）：印刷中の紙に印刷すべきデータがなくなれば、コントローラ６０は、排紙ローラを回転させることにより、その紙を排紙する。なお、排紙を行うか否かの判断は、印刷データに含まれる排紙コマンドに基づいても良い。
【００３６】
印刷終了判断（Ｓ００７）：次に、コントローラ６０は、印刷を続行するか否かの判断を行う。次の紙に印刷を行うのであれば、印刷を続行し、次の紙の給紙処理を開始する。次の紙に印刷を行わないのであれば、印刷動作を終了する。
【００３７】
＜ラスタラインの形成について＞
まず、通常印刷について説明する。本実施形態の通常印刷は、インターレース印刷と呼ばれる印刷方法により行われる。ここで、『インターレース印刷』とは、１回のパスで記録されるラスタライン間に、記録されないラスタラインが挟まれるような印刷を意味する。また、『パス』とはドット形成処理を指し、『パスｎ』とはｎ回目のドット形成処理を意味する。『ラスタライン』とは、移動方向に並ぶドットの列であり、ドットラインともいう。
【００３８】
図７Ａ及び図７Ｂは、通常印刷の説明図である。図７Ａは、パスｎ〜パスｎ＋３におけるヘッドの位置とドットの形成の様子を示し、図７Ｂは、パスｎ〜パスｎ＋４におけるヘッドの位置とドットの形成の様子を示している。
【００３９】
説明の便宜上、複数あるノズル群のうちの一つのノズル群のみを示し、ノズル群のノズル数も少なくしている。また、ヘッド４１（又はノズル群）が紙に対して移動しているように描かれているが、同図はヘッド４１と紙との相対的な位置を示すものであって、実際には紙が搬送方向に移動される。また、説明の都合上、各ノズルは数ドット（図中の丸印）しか形成していないように示されているが、実際には、移動方向に移動するノズルから間欠的にインク滴が吐出されるので、移動方向に多数のドットが並ぶことになる（このドットの列がラスタラインである）。もちろん、画素データに応じて、ドットが非形成のこともある。  
同図において、黒丸で示されたノズルはインクを吐出可能なノズルであり、白丸で示されたノズルはインクを吐出不可なノズルである。また、同図において、黒丸で示されたドットは、最後のパスで形成されるドットであり、白丸で示されたドットは、それ以前のパスで形成されたドットである。
【００４０】
このインターレース印刷では、紙が搬送方向に一定の搬送量Ｆで搬送される毎に、各ノズルが、その直前のパスで記録されたラスタラインのすぐ上のラスタラインを記録する。このように搬送量を一定にして記録を行うためには、（１）インクを吐出可能なノズル数Ｎ（整数）はｋと互いに素の関係にあること、（２）搬送量ＦはＮ・Ｄに設定されること、が条件となる。ここでは、Ｎ＝７、ｋ＝４、Ｆ＝７・Ｄである（Ｄ＝１／７２０インチ）。  
但し、この通常印刷のみでは、搬送方向に連続してラスタラインを形成できない箇所がある。そこで、先端印刷及び後端印刷と呼ばれる印刷方法が、通常印刷の前後に行われる。
【００４１】
図８は、先端印刷及び後端印刷の説明図である。最初の５回のパスが先端印刷であり、最後の５回のパスが後端印刷である。  
先端印刷では、印刷画像の先端付近を印刷する際に、通常印刷時の搬送量（７・Ｄ）よりも少ない搬送量（１・Ｄ又は２・Ｄ）にて、紙が搬送される。また、先端印刷では、インクを吐出するノズルが一定していない。後端印刷では、先端印刷と同じように、印刷画像の後端付近を印刷する際に、通常印刷時の搬送量（７・Ｄ）よりも少ない搬送量（１・Ｄ又は２・Ｄ）にて、紙が搬送される。また、後端印刷では、先端印刷と同じように、インクを吐出するノズルが一定していない。これにより、先頭ラスタラインから最終ラスタラインまでの間に、搬送方向に連続して並ぶ複数のラスタラインを形成することができる。
【００４２】
通常印刷だけでラスタラインが形成される領域を「通常印刷領域」と呼ぶ。また、通常印刷領域よりも紙の先端側（搬送方向下流側）に位置する領域を「先端印刷領域」と呼ぶ。また、通常印刷領域よりも後端側（搬送方向上流側）に位置する領域を「後端印刷領域」と呼ぶ。先端印刷領域には、３０本のラスタラインが形成される。同様に、後端印刷領域にも、３０本のラスタラインが形成される。これに対し、通常印刷領域には、紙の大きさにもよるが、およそ数千本のラスタラインが形成される。
【００４３】
通常印刷領域のラスタラインの並び方には、搬送量に相当する個数（ここでは７個）のラスタライン毎に、規則性がある。図８の通常印刷領域の最初から７番目までのラスタラインは、それぞれ、ノズル♯３、ノズル♯５、ノズル♯７、ノズル♯２、ノズル♯４、ノズル♯６、ノズル♯８、により形成され、次の８番目以降の７本のラスタラインも、これと同じ順序の各ノズルで形成されている。一方、先端印刷領域及び後端印刷領域のラスタラインの並びには、通常印刷領域のラスタラインと比べると、規則性を見出し難い。
【００４４】
＝＝＝濃度ムラの補正（概略）＝＝＝
＜濃度ムラ（バンディング）について＞
ここでは、説明の簡略化のため、単色印刷された画像中に生じる濃度ムラの発生原因について説明する。なお、多色印刷の場合、以下に説明する濃度ムラの発生原因が色毎に生じている。
【００４５】
以下の説明において、「単位領域」とは、紙等の媒体上に仮想的に定められた矩形状の領域を指し、印刷解像度に応じて大きさや形が定められる。例えば、印刷解像度が７２０ｄｐｉ（移動方向）×７２０ｄｐｉ（搬送方向）の場合、単位領域は、約３５．２８μｍ×３５．２８μｍ（≒１／７２０インチ×１／７２０インチ）の大きさの正方形状の領域になる。また、印刷解像度が３６０ｄｐｉ×７２０ｄｐｉの場合、単位領域は、約７０．５６μｍ×３５．２８μｍ（≒１／３６０インチ×１／７２０インチ）の大きさの長方形状の領域になる。理想的にインク滴が吐出されると、この単位領域の中心位置にインク滴が着弾し、その後インク滴が媒体上で広がって、単位領域にドットが形成される。なお、一つの単位領域には、画像データを構成する一つの画素が対応している。また、各単位領域に画素が対応付けられるので、各画素の画素データも、各単位領域に対応付けられることになる。
【００４６】
また、以下の説明において、「列領域」とは、移動方向に並ぶ複数の単位領域によって構成される領域をいう。例えば印刷解像度が７２０ｄｐｉ×７２０ｄｐｉの場合、列領域は、搬送方向に３５．２８μｍ（≒１／７２０インチ）の幅の帯状の領域になる。移動方向に移動するノズルから理想的にインク滴が断続的に吐出されると、この列領域にラスタラインが形成される。なお、列領域には、移動方向に並ぶ複数の画素が対応付けられることになる。
【００４７】
図９Ａは、理想的にドットが形成されたときの様子の説明図である。同図では、理想的にドットが形成されているので、各ドットは単位領域に正確に形成され、ラスタラインは列領域に正確に形成される。図中、列領域は、点線に挟まれる領域として示されており、ここでは７２０ｄｐｉの幅の領域である。各列領域には、その領域の着色に応じた濃度の画像片が形成されている。ここでは、説明の簡略化のため、ドット生成率が５０％となるような一定濃度の画像を印刷するものとする。
【００４８】
図９Ｂは、ノズルの加工精度のばらつきの影響の説明図である。ここでは、ノズルから吐出されたインク滴の飛行方向のばらつきにより、２番目の列領域に形成されたラスタラインが、３番目の列領域側（搬送方向上流側）に寄って形成されている。また、５番目の列領域に向かって吐出されたインク滴のインク量が少なく、５番目の列領域に形成されるドットが小さくなっている。  
本来であれば同じ濃度の画像片が各列領域に形成されるべきであるにもかかわらず、加工精度のばらつきのため、列領域に応じて画像片に濃淡が発生する。例えば、２番目の列領域の画像片は比較的淡くなり、３番目の列領域の画像片は比較的濃くなる。また、５番目の列領域の画像片は、比較的淡くなる。  
そして、このようなラスタラインからなる印刷画像を巨視的に見ると、キャリッジの移動方向に沿う縞状の濃度ムラが視認される。この濃度ムラは、印刷画像の画質を低下させる原因となる。
【００４９】
図９Ｃは、本実施形態の印刷方法によりドットが形成されたときの様子の説明図である。本実施形態では、濃く視認されやすい列領域に対しては、淡く画像片が形成されるように、その列領域に対応する画素の画素データ（ＣＭＹＫ画素データ）の階調値を補正する。また、淡く視認されやすい列領域に対しては、濃く画像片が形成されるように、その列領域に対応する画素の画素データの階調値を補正する。例えば、図中の２番目の列領域のドットの生成率が高くなり、３番目の列領域のドットの生成率が低くなり、５番目の列領域のドットの生成率が高くなるように、各列領域に対応する画素の画素データの階調値が補正される。これにより、各列領域のラスタラインのドット生成率が変更され、列領域の画像片の濃度が補正されて、印刷画像全体の濃度ムラが抑制される。
【００５０】
ところで、図９Ｂにおいて、３番目の列領域に形成される画像片の濃度が濃くなる理由は、３番目の列領域にラスタラインを形成するノズルの影響によるものではなく、隣接する２番目の列領域にラスタラインを形成するノズルの影響によるものである。このため、３番目の列領域にラスタラインを形成するノズルが別の列領域にラスタラインを形成する場合、その列領域に形成される画像片が濃くなるとは限らない。つまり、同じノズルにより形成された画像片であっても、隣接する画像片を形成するノズルが異なれば、濃度が異なる場合がある。このような場合、単にノズルに対応付けた補正値では、濃度ムラを抑制することができない。そこで、本実施形態では、列領域毎に設定される補正値に基づいて、画素データの階調値を補正している。
【００５１】
このために、本実施形態では、プリンタ製造工場の検査工程において、プリンタに補正用パターンを印刷させ、補正用パターンをスキャナで読み取り、補正用パターンにおける各列領域の濃度に基づいて、各列領域に対応する補正値をプリンタのメモリに記憶する。プリンタに記憶される補正値は、個々のプリンタにおける濃度ムラの特性を反映したものになる。  
そして、プリンタを購入したユーザーの下において、プリンタドライバが、プリンタから補正値を読み取り、画素データの階調値を補正値に基づいて補正し、補正された階調値に基づいて印刷データを生成し、プリンタが印刷データに基づいて印刷を行う。
【００５２】
＜プリンタ製造工場での処理について＞
図１０は、プリンタの製造後の検査工程で行われる補正値取得処理のフロー図である。  
まず、検査者は、検査対象となるプリンタ１を工場内のコンピュータ１１０に接続する（Ｓ１０１）。工場内のコンピュータ１１０には、スキャナ１５０にも接続されており、予め、テストパターンをプリンタ１に印刷させるためのプリンタドライバと、スキャナ１５０を制御するためのスキャナドライバと、スキャナから読み取った補正用パターンの画像データに対して画像処理や解析等を行うための補正値取得プログラムがインストールされている。
【００５３】
次に、コンピュータ１１０のプリンタドライバは、プリンタ１にテストパターンを印刷させる（Ｓ１０２）。  
図１１は、テストパターンの説明図である。図１２は、補正用パターンの説明図である。テストパターンには、色別に４つの補正用パターンが形成される。各補正用パターンは、５種類の濃度の帯状パターンと、上罫線と、下罫線と、左罫線と、右罫線とにより構成されている。帯状パターンは、それぞれ一定の階調値の画像データから生成されたものであり、左の帯状パターンから順に階調値７６（濃度３０％）、１０２（濃度４０％）、１２８（濃度５０％）、１５３（濃度６０％）及び１７９（濃度７０％）となり、順に濃い濃度のパターンになっている。なお、これらの５種類の階調値（濃度）を「指令階調値（指令濃度）」と呼び、記号でＳａ（＝７６）、Ｓｂ（＝１０２）、Ｓｃ（＝１２８）、Ｓｄ（＝１５３）、Ｓｅ（＝１７９）と表す。各帯状パターンは、先端印刷、通常印刷及び後端印刷により形成されるため、先端印刷領域のラスタラインと、通常印刷領域のラスタラインと、後端印刷領域のラスタラインとから構成されている。通常の印刷では通常印刷領域に数千個のラスタラインが形成されるが、補正用パターンの印刷では、通常印刷領域には８周期分のラスタラインが形成される。ここでは説明の簡略化のため図８の印刷によって補正用パターンが印刷されるものとして、帯状パターンが、先端印刷領域の３０個のラスタライン、通常印刷領域の５６個（７個×８周期）のラスタライン、及び、後端印刷領域の３０個のラスタラインの計１１６個のラスタラインにより構成されるものとする。上罫線は、帯状パターンを構成する１番目のラスタライン（搬送方向最下流側のラスタライン）により形成される。下罫線は、帯状パターンを構成する最終ラスタライン（搬送方向最上流側のラスタライン）により形成される。
【００５４】
次に、検査者は、プリンタ１によって印刷されたテストパターンを、スキャナ１５０の原稿台ガラス１５２に置き、上蓋１５１を閉めて、テストパターンをスキャナ１５０にセットする。そして、コンピュータ１１０のスキャナドライバは、スキャナ１５０に補正用パターンを読み取らせる（Ｓ１０３）。以下、シアンの補正用パターンの読み取りについて、説明する（なお、他の色の補正用パターンの読み取りも同様に行なわれる）。
【００５５】
図１３は、シアンの補正用パターンの読み取り範囲の説明図である。シアンの補正用パターンを囲む一点鎖線の範囲が、シアンの補正用パターンを読み取る際の読み取り範囲である。この範囲を特定するためのパラメータＳＸ１、ＳＹ１、ＳＷ１及びＳＨ１は、補正値取得プログラムによって予めスキャナドライバに設定されている。この範囲をスキャナ１５０に読み取らせれば、テストパターンが多少ずれてスキャナ１５０にセットされても、シアンの補正用パターンの全体を読み取ることができる。この処理により、図中の読み取り範囲の画像が、２８８０×２８８０ｄｐｉの解像度の長方形の画像データとして、コンピュータ１１０に読み取られる。
【００５６】
次に、コンピュータ１１０の補正値取得プログラムは、画像データに含まれる補正用パターンの傾きθを検出し（Ｓ１０４）、画像データに対して傾きθに応じた回転処理を行う（Ｓ１０５）。  
図１４Ａは、傾き検出の際の画像データの説明図である。図１４Ｂは、上罫線の位置の検出の説明図である。図１４Ｃは、回転処理後の画像データの説明図である。補正値取得プログラムは、読み取られた画像データの中から、左からＫＸ１の画素であって上からＫＨ個の画素の画素データと、左からＫＸ２の画素であって上からＫＨ個の画素の画素データと、を取り出す。このとき取り出される画素の中に上罫線が含まれ右罫線及び左罫線が含まれないように、パラメータＫＸ１、ＫＸ２、ＫＨが予め定められている。そして、補正値取得プログラムは、上罫線の位置を検出するため、取り出されたＫＨ個の画素データの階調値の重心位置ＫＹ１、ＫＹ２をそれぞれ求める。そして、補正値取得プログラムは、パラメータＫＸ１、ＫＸ２と、重心位置ＫＹ１、ＫＹ２とに基づいて、次式により補正用パターンの傾きθを算出し、算出された傾きθに基づいて、画像データの回転処理を行う。  
θ  ＝  ｔａｎ−１｛（ＫＹ２−ＫＹ１）／（ＫＸ２−ＫＸ１）｝
【００５７】
次に、コンピュータ１１０の補正値取得プログラムは、画像データの中から不要な画素をトリミングする（Ｓ１０６）。  
図１５Ａは、トリミングの際の画像データの説明図である。図１５Ｂは、上罫線でのトリミング位置の説明図である。ステップＳ１０４での処理と同様に、補正値取得プログラムは、回転処理された画像データの中から、左からＫＸ１の画素であって上からＫＨ個の画素の画素データと、左からＫＸ２の画素であって上からＫＨ個の画素の画素データと、を取り出す。そして、補正値取得プログラムは、上罫線の位置を検出するため、取り出されたＫＨ個の画素データの階調値の重心位置ＫＹ１、ＫＹ２をそれぞれ求め、２つの重心位置の平均値を算出する。そして、重心位置から列領域の幅の１／２だけ上側の位置において最も近い画素の境界をトリミング位置に決定する。なお、本実施形態では、画像データの解像度が２８８０ｄｐｉであり、列領域の幅は７２０ｄｐｉであるので、列領域の幅の１／２は２画素分の幅に相当する。そして、補正値取得プログラムは、決定されたトリミング位置よりも上側の画素を切り取り、トリミングを行なう。
【００５８】
図１５Ｃは、下罫線でのトリミング位置の説明図である。上罫線側とほぼ同様に、補正値取得プログラムは、回転処理された画像データの中から、左からＫＸ１の画素であって下からＫＨ個の画素の画素データと、左からＫＸ２の画素であって下からＫＨ個の画素の画素データと、を取り出し、下罫線の重心位置を算出する。そして、重心位置から列領域の幅の１／２だけ下側の位置において最も近い画素の境界をトリミング位置に決定する。そして、補正値取得プログラムは、トリミング位置よりも下側の画素を切り取り、トリミングを行なう。
【００５９】
次に、コンピュータ１１０の補正値取得プログラムは、Ｙ方向の画素数が１１６個（補正用パターンを構成するラスタラインの数と同数）になるように、トリミングされた画像データを解像度変換する（Ｓ１０７）。  
図１６は、解像度変換の説明図である。仮に、プリンタ１が７２０ｄｐｉの１１６個のラスタラインからなる補正用パターンを理想的に形成し、スキャナ１５０が補正用パターンを２８８０ｄｐｉ（補正用パターンの４倍の解像度）で理想的に読み取れば、トリミング後の画像データのＹ方向の画素数は、４６４個（＝１１６×４）になるはずである。しかし、実際には印刷時や読み取り時のズレの影響があって、画像データのＹ方向の画素数が４６４個にならないことがあり、ここでは、トリミング後の画像データのＹ方向の画素数は４７０個である。コンピュータ１１０の補正値取得プログラムは、この画像データに対して、１１６／４７０（＝［補正用パターンを構成するラスタラインの数］／［トリミング後の画像データのＹ方向の画素数］）の倍率で解像度変換（縮小処理）を行なう。ここでは解像度変換にバイキュービック法が用いられる。これにより、解像度変換後の画像データのＹ方向の画素数が１１６個になる。言い換えると、２８８０ｄｐｉの補正用パターンの画像データが、７２０ｄｐｉの補正用パターンの画像データに変換される。この結果、Ｙ方向に並ぶ画素の数と列領域の数とが同数になり、Ｘ方向の画素列と列領域とが、一対一で対応することになる。例えば、一番上に位置するＸ方向の画素列は１番目の列領域に対応し、その下に位置する画素列は２番目の列領域に対応する。なお、この解像度変換ではＹ方向の画素数を１１６個にするのが目的なので、Ｘ方向の解像度変換（縮小処理）は行われなくても良い。
【００６０】
次に、コンピュータ１１０の補正値取得プログラムは、各列領域における５種類の帯状パターンのそれぞれの濃度を測定する（Ｓ１０８）。以下、１番目の列領域における階調値７６（濃度３０％）で形成された左側の帯状パターンの濃度の測定について説明する（なお、他の列領域における測定も同様に行なわれる。また、他の帯状パターンの濃度の測定も同様に行なわれる）。  
図１７Ａは、左罫線の検出の際の画像データの説明図である。図１７Ｂは、左罫線の位置の検出の説明図である。図１７Ｃは、１番目の列領域の濃度３０％の帯状パターンの濃度の測定範囲の説明図である。補正値取得プログラムは、解像度変換された画像データの中から、上からＨ２の画素であって、左からＫＸ個の画素の画素データを取り出す。このとき取り出される画素の中に左罫線が含まれるように、パラメータＫＸが予め定められている。そして、補正値取得プログラムは、左罫線の位置を検出するため、取り出されたＫＸ個の画素の画素データの階調値の重心位置を求める。この重心位置（左罫線の位置）からＸ２だけ右側に、幅Ｗ３の濃度３０％の帯状パターンが存在していることは、補正用パターンの形状から既知になっている。そこで、補正値取得プログラムは、重心位置を基準にして、帯状パターンの左右Ｗ４の範囲を除いた点線の範囲の画素データを抽出し、この範囲の画素データの階調値の平均値を、１番目の列領域の濃度３０％の測定値とする。なお、１番目の列領域の濃度３０％の帯状パターンの濃度を測定する場合、図中の点線の範囲の１画素下の範囲の画素データを抽出する。このようにして、補正値取得プログラムは、５種類の帯状パターンの濃度を列領域毎にそれぞれ測定する。
【００６１】
図１８は、シアンの５種類の帯状パターンの濃度の測定結果をまとめた測定値テーブルである。このように、コンピュータ１１０の補正値取得プログラムは、列領域毎に、５種類の帯状パターンの濃度の測定値を対応付けて、測定値テーブルを作成する。他の色についても、測定値テーブルが作成される。なお、以下の説明では、ある列領域について、階調値Ｓａ〜Ｓｅの帯状パターンの測定値をそれぞれＣａ〜Ｃｅとしている。
【００６２】
図１９は、シアンの濃度３０％、濃度４０％及び濃度５０％の帯状パターンの測定値のグラフである。各帯状パターンは、それぞれの指令階調値で一様に形成されたにもかかわらず、列領域毎に濃淡が生じている。この列領域毎の濃淡差が、印刷画像の濃度ムラの原因である。  
濃度ムラをなくすためには、各帯状パターンの測定値が一定になることが望ましい。そこで、階調値Ｓｂ（濃度４０％）の帯状パターンの測定値を一定にするための処理について検討する。ここでは、階調値Ｓｂの帯状パターンの全列領域の測定値の平均値Ｃｂｔを、濃度４０％の目標値と定める。この目標値Ｃｂｔよりも測定値が淡い列領域ｉでは、濃度の測定値が目標値Ｃｂｔに近づくためには、階調値を濃くする方へ補正すればよいと考えられる。一方、目標値Ｃｂｔよりも測定値が濃い列領域ｊでは、濃度の測定値が目標Ｃｂｔに近づくためには、階調値を淡くする方へ補正すればよいと考えられる。
【００６３】
そこで、コンピュータ１１０の補正値取得プログラムは、列領域に対応する補正値を算出する（Ｓ１０９）。ここでは、ある列領域における指令階調値Ｓｂに対する補正値の算出について説明する。以下に説明するように、図１９の列領域ｉの指令階調値Ｓｂ（濃度４０％）に対する補正値は、階調値Ｓｂ及び階調値Ｓｃ（濃度５０％）の測定値に基づいて算出される。一方、列領域ｊの指令階調値Ｓｂ（濃度４０％）に対する補正値は、階調値Ｓｂ及び階調値Ｓａ（濃度３０％）の測定値に基づいて算出される。
【００６４】
図２０Ａは、列領域ｉにおける指令階調値Ｓｂに対する目標指令階調値Ｓｂｔの説明図である。この列領域では、指令階調値Ｓｂで形成された帯状パターンの濃度の測定値Ｃｂは、目標値Ｃｂｔよりも小さい階調値を示す（この列領域では、濃度４０％の帯状パターンの平均濃度よりも淡い）。仮に、プリンタドライバが、この列領域に目標値Ｃｂｔの濃度のパターンをプリンタに形成させるならば、次式（直線ＢＣに基づく直線補間）により算出される目標指令階調値Ｓｂｔに基づいて指令すればよい。  
Ｓｂｔ＝Ｓｂ＋（Ｓｃ−Ｓｂ）×｛（Ｃｂｔ−Ｃｂ）／（Ｃｃ−Ｃｂ）｝
図２０Ｂは、列領域ｊにおける指令階調値Ｓｂに対する目標指令階調値Ｓｂｔの説明図である。この列領域では、指令階調値Ｓｂで形成された帯状パターンの濃度の測定値Ｃｂは、目標値Ｃｂｔよりも大きい階調値を示す（この列領域では、濃度４０％の帯状パターンの平均濃度よりも濃い）。仮に、プリンタドライバが、この列領域に目標値Ｃｂｔの濃度のパターンをプリンタに形成させるならば、次式（直線ＡＢに基づく直線補間）により算出される目標指令階調値Ｓｂｔに基づいて指令すればよい。  
Ｓｂｔ＝Ｓｂ−（Ｓｂ−Ｓａ）×｛（Ｃｂｔ−Ｃｂ）／（Ｃａ−Ｃｂ）｝
このようにして目標指令階調値Ｓｂｔを算出した後、補正値取得プログラムは、次式により、この列領域における指令階調値Ｓｂに対する補正値Ｈｂを算出する。  
Ｈｂ  ＝  （Ｓｂｔ−Ｓｂ）／Ｓｂ
【００６５】
コンピュータ１１０の補正値取得プログラムは、列領域毎に、階調値Ｓｂ（濃度４０％）に対する補正値Ｈｂを算出する。また、同様に、補正値取得プログラムは、階調値Ｓｃ（濃度５０％）に対する補正値Ｈｃを、各列領域の測定値Ｃｃと、測定値Ｃｂ又はＣｄとに基づいて、列領域毎に算出する。また、同様に、補正値取得プログラムは、階調値Ｓｄ（濃度６０％）に対する補正値Ｈｄを、各列領域の測定値Ｃｄと、測定値Ｃｃ又はＣｅとに基づいて、列領域毎に算出する。また、他の色についても、列領域毎に、３つの補正値（Ｈｂ、Ｈｃ、Ｈｄ）を算出する。
【００６６】
ところで、通常印刷領域には、５６個のラスタラインがあるが、７個のラスタライン毎に規則性がある。通常印刷領域の補正値の算出では、この規則性が考慮される。  
補正値取得プログラムは、通常印刷領域の１番目の列領域（印刷領域全体の３１番目の列領域）における補正値を算出するとき、前述の測定値Ｃａには、通常印刷領域の１、８、１５、２２、２９、３６、４３、５０番目の８個の列領域の列領域の濃度３０％の測定値の平均値が用いられる。同様に、通常印刷領域の１番目の列領域（印刷領域全体の３１番目の列領域）における補正値を算出するとき、前述の測定値Ｃｂ〜Ｃｅには、通常印刷領域の１、８、１５、２２、２９、３６、４３、５０番目の８個の列領域の列領域の各濃度の測定値の平均値がそれぞれ用いられる。そして、このような測定値Ｃａ〜Ｃｅに基づいて、前述の通りに、通常印刷領域の１番目の列領域の補正値（Ｈｂ、Ｈｃ、Ｈｄ）が算出される。このように、通常印刷領域の列領域の補正値は、７個おきの８個の列領域の各濃度の測定値の平均に基づいて、算出される。この結果、通常印刷領域では、１番目〜７番目の７個の列領域に対してだけ補正値が算出され、８番目〜５６番目の列領域に対する補正値の算出は行なわれない。言い換えると、通常印刷領域の１番目〜７番目の７個の列領域に対する補正値が、８番目〜５６番目の列領域に対する補正値にもなる。
【００６７】
次に、コンピュータ１１０の補正値取得プログラムは、補正値をプリンタ１のメモリ６３に記憶する（Ｓ１１０）。  
図２１は、シアンの補正値テーブルの説明図である。補正値テーブルには、先端印刷領域用、通常印刷領域用、後端印刷領域用の３種類ある。各補正値テーブルには、３つの補正値（Ｈｂ、Ｈｃ、Ｈｄ）が、列領域毎に対応付けられている。例えば、各列領域のｎ番目のラスタラインには、３つの補正値（Ｈｂ_ｎ、Ｈｃ_ｎ、Ｈｄ_ｎ）が対応付けられている。３つの補正値（Ｈｂ_ｎ、Ｈｃ_ｎ、Ｈｄ_ｎ）は、それぞれ、指令階調値Ｓｂ（＝１０２）、Ｓｃ（＝１２８）及びＳｄ（＝１５３）に対応する。なお、他の色の補正値テーブルも同様である。
【００６８】
プリンタ１のメモリ６３に補正値を記憶させた後、補正値取得処理は終了する。その後、プリンタ１とコンピュータ１１０との接続が外され、プリンタ１に対する他の検査を終えて、プリンタ１が工場から出荷される。プリンタ１には、プリンタドライバを記憶したＣＤ−ＲＯＭも同梱される。
【００６９】
＜ユーザー下での処理について＞
図２２は、ユーザー下で行なわれる処理のフロー図である。  
プリンタ１を購入したユーザーは、所有するコンピュータ１１０（もちろん、プリンタ製造工場のコンピュータとは別のコンピュータ）に、プリンタ１を接続する（Ｓ２０１、Ｓ３０１）。なお、ユーザーのコンピュータ１１０には、スキャナ１５０は接続されていなくても良い。
【００７０】
次に、ユーザーは、同梱されているＣＤ−ＲＯＭを記録再生装置１４０にセットし、プリンタドライバをインストールする（Ｓ２０２）。コンピュータにインストールされたプリンタドライバは、コンピュータ１１０に、プリンタ１に対して補正値の送信を要求する（Ｓ２０３）。プリンタ１は、要求に応じて、メモリ６３に記憶されている補正値テーブルをコンピュータ１１０へ送信する（Ｓ３０２）。プリンタドライバは、プリンタ１から送られてくる補正値をメモリに記憶する（Ｓ２０４）。これにより、コンピュータ側に補正値テーブルが作成される。ここまでの処理を終えた後、プリンタドライバは、ユーザーからの印刷命令があるまで、待機状態になる（Ｓ２０５でＮＯ）。  
プリンタドライバは、ユーザーからの印刷命令を受けると（Ｓ２０５でＹＥＳ）、補正値に基づいて印刷データを生成し（Ｓ２０６）、印刷データをプリンタ１に送信する。プリンタ１は、印刷データに従って、印刷処理を行う（Ｓ３０３）。
【００７１】
図２３は、印刷データ生成処理のフロー図である。これらの処理は、プリンタドライバによって行われる。  
まず、プリンタドライバは、解像度変換処理を行う（Ｓ２１１）。解像度変換処理は、アプリケーションプログラムから出力された画像データ（テキストデータ、イメージデータなど）を、紙に印刷する際の解像度に変換する処理である。例えば、紙に画像を印刷する際の解像度が７２０×７２０ｄｐｉに指定されている場合、アプリケーションプログラムから受け取った画像データを７２０×７２０ｄｐｉの解像度の画像データに変換する。なお、解像度変換処理後の画像データは、ＲＧＢ色空間により表される２５６階調のデータ（ＲＧＢデータ）である。
【００７２】
次に、プリンタドライバは、色変換処理を行う（Ｓ２１２）。色変換処理は、ＲＧＢデータをＣＭＹＫ色空間により表されるＣＭＹＫデータに変換する処理である。この色変換処理は、ＲＧＢデータの階調値とＣＭＹＫデータの階調値とを対応づけたテーブル（色変換ルックアップテーブルＬＵＴ）をプリンタドライバが参照することによって行われる。この色変換処理により、各画素についてのＲＧＢデータが、インク色に対応するＣＭＹＫデータに変換される。なお、色変換処理後のデータは、ＣＭＹＫ色空間により表される２５６階調のＣＭＹＫデータである。
【００７３】
次に、プリンタドライバは、濃度補正処理を行う（Ｓ２１３）。濃度補正処理は、各画素データの階調値を、その画素データの属する列領域の対応する補正値に基づいて補正する処理である。  
図２４は、シアンのｎ番目の列領域の濃度補正処理の説明図である。同図は、シアンのｎ番目の列領域に属する画素の画素データの階調値Ｓ_ｉｎを補正する様子を示している。なお、補正後の階調値はＳ_ｏｕｔである。  
仮に補正前の画素データの階調値Ｓ_ｉｎが指令階調値Ｓｂと同じであれば、プリンタドライバは、階調値Ｓ_ｉｎを目標指令階調値Ｓｂｔに補正すれば、その画素データの対応する単位領域に目標濃度Ｃｂｔの画像を形成することができる。つまり、補正前の画素データの階調値Ｓ_ｉｎが指令階調値Ｓｂと同じであれば、指令階調値Ｓｂに対応する補正値Ｈｂを用いて、階調値Ｓ_ｉｎ（＝Ｓｂ）をＳｂ×（１＋Ｈｂ）に補正するのが良い。同様に、補正前の画素データの階調値Ｓが指令階調値Ｓｃと同じであれば、階調値Ｓ_ｉｎ（＝Ｓｃ）をＳｃ×（１＋Ｈｃ）に補正するのが良い。
【００７４】
これに対し、補正前の階調値Ｓ_ｉｎが指令階調値とは異なる場合、図に示すような直線補間によって、出力すべき階調値Ｓ_ｏｕｔが算出される。図中の直線補間では、各指令階調値（Ｓｂ、Ｓｃ、Ｓｄ）に対応する補正後の各階調値Ｓ_ｏｕｔ（Ｓｂｔ、Ｓｃｔ、Ｓｄｔ）の間を直線補間している。但し、これに限られるものではない。例えば、各指令階調値に対応する各補正値（Ｈｂ、Ｈｃ、Ｈｄ）の間を直線補間して階調値Ｓ_ｉｎに対応する補正値Ｈを算出し、算出された補正値Ｈに基づいて補正後の階調値をＳ_ｉｎ×（１＋Ｈ）として算出しても良い。
【００７５】
先端印刷領域の１番目〜３０番目の各列領域の画素データに対しては、プリンタドライバは、先端印刷領域用の補正値テーブルに記憶されている１番目〜３０番目の各列領域に対応する補正値に基づいて、濃度補正処理を行う。例えば、先端印刷領域の１番目の列領域の画素データに対しては、プリンタドライバは、先端印刷用の補正値テーブルの１番目の列領域の補正値（Ｈｂ_１、Ｈｃ_１、Ｈｄ_１）に基づいて、濃度補正処理を行う。
【００７６】
同様に、通常印刷領域の１番目〜７番目の各列領域（印刷領域全体の３１番目〜３８番目の各列領域）の画素データに対しては、プリンタドライバは、通常印刷領域用の補正値テーブルに記憶されている１番目〜７番目の各列領域に対応する補正値に基づいて、濃度補正処理を行う。但し、通常印刷領域には数千個の列領域が存在するが、通常印刷領域用の補正値テーブルには、７個分の列領域に対応する補正値しか記憶されていない。そこで、通常印刷領域の８番目〜１４番目の各列領域の画素データに対しては、プリンタドライバは、通常印刷領域用の補正値テーブルに記憶されている１番目〜７番目の各列領域に対応する補正値に基づいて、濃度補正処理を行う。このように、通常印刷領域の列領域に対しては、プリンタドライバは、７個の列領域毎に、１番目〜７番目の各列領域に対応する補正値を繰り返して用いる。通常印刷領域では７個の列領域毎に規則性があるため、濃度ムラの特性も同じ周期で繰り返されると考えられるため、同じ周期で補正値を繰り返し用いることにより、記憶すべき補正値のデータ量を削減している。
【００７７】
なお、補正用パターンの通常印刷領域の列領域は５６個であったが、ユーザー下で印刷される印刷画像の通常印刷領域の列領域の数は、これよりも多く、数千個にも及ぶ。このような通常印刷領域の搬送方向上流側（紙の後端側）に３０個の列領域からなる後端印刷領域が形成される。  
後端印刷領域では先端印刷領域と同様に、後端印刷領域の１番目〜３０番目の各列領域の画素データに対しては、プリンタドライバは、後端印刷領域用の補正値テーブルに記憶されている１番目〜３０番目の各列領域に対応する補正値に基づいて、濃度補正処理を行う。
【００７８】
以上の濃度補正処理により、濃く視認されやすい列領域に対しては、その列領域に対応する画素の画素データ（ＣＭＹＫデータ）の階調値が低くなるように補正される。逆に、淡く視認されやすい列領域に対しては、その列領域に対応する画素の画素データの階調値が高くなるように補正される。なお、他の色の他の列領域に対しても、プリンタドライバは、同様に補正処理を行う。
【００７９】
次に、プリンタドライバは、ハーフトーン処理を行う（Ｓ２１４）。ハーフトーン処理は、高階調数のデータを、プリンタが形成可能な階調数のデータに変換する処理である。例えば、ハーフトーン処理により、２５６階調を示すデータが、２階調を示す１ビットデータや４階調を示す２ビットデータに変換される。ハーフトーン処理では、ディザ法・γ補正・誤差拡散法などを利用して、プリンタがドットを分散して形成できるように画素データを作成する。プリンタドライバは、ハーフトーン処理を行うとき、ディザ法を行う場合にはディザテーブルを参照し、γ補正を行う場合にはガンマテーブルを参照し、誤差拡散法を行う場合は拡散された誤差を記憶するための誤差メモリを参照する。ハーフトーン処理されたデータは、前述のＲＧＢデータと同等の解像度（例えば７２０×７２０ｄｐｉ）を有している。
【００８０】
本実施形態では、プリンタドライバは、濃度補正処理によって補正された階調値の画素データに対して、ハーフトーン処理が行われることになる。この結果、濃く視認されやすい列領域では、その列領域の画素データの階調値が低くなるように補正されているので、その列領域のラスタラインを構成するドットのドット生成率が低くなる。逆に、淡く視認されやすい列領域では、ドット生成率が高くなる。
【００８１】
次に、プリンタドライバは、ラスタライズ処理を行う（Ｓ２１５）。ラスタライズ処理は、マトリクス状の画像データを、プリンタに転送すべきデータ順に変更する処理である。ラスタライズ処理されたデータは、印刷データに含まれる画素データとして、プリンタに出力される。  
このようにして生成された印刷データに基づいてプリンタが印刷処理を行えば、図９Ｃに示すように、各列領域のラスタラインのドット生成率が変更され、列領域の画像片の濃度が補正されて、印刷画像全体の濃度ムラが抑制される。
【００８２】
以上の説明では、説明の簡略化のためノズル数や列領域の数（ラスタラインの数）を少なくしているが、実際には、ノズル数は１８０個であり、例えば先端印刷領域の列領域の数は３６０個になる。但し、補正値取得プログラムやプリンタドライバ等が行なう処理は、ほぼ同様である。
【００８３】
＝＝＝本実施形態の画像処理＝＝＝
＜スキャナの読み取り位置の誤差について＞
本実施形態では、スキャナ１５０は、２８８０ｄｐｉ（主走査方向）×２８８０ｄｐｉ（副走査方向）の解像度で原稿から画像を読み取る。つまり、スキャナ１５０は、読取キャリッジ１５３が副走査方向に１／２８８０インチ移動する毎に、等間隔に、ラインセンサ１５８から１ライン分の画像を読み取る。このため、基準となる基準ラインから１インチ離れているラインは、基準ラインを示す画素から副走査方向に２８８０画素だけ離れた画素の画素データとして読み取られる。言い換えると、画素データにおいて、基準ラインを示す画素の列（画素列）から副走査方向に２８８０画素離れた画素列は、基準ラインから副走査方向に１インチ離れた画像を示している。  
しかし、読取キャリッジ１５３の移動精度が良くないと、スキャナ１５０の読み取り位置に誤差が生じて、スキャナ１５０は、１／２８８０インチ毎の等間隔で画像データを読み取らなくなる。
【００８４】
図２５は、スキャナの読み取り位置の誤差のグラフである。このグラフでは、１画素分の長さが１／２８８０インチ（約８．９μｍ）に換算されている。例えば、読み取り位置が０ｍｍの位置を基準ラインの位置とすると、基準ラインから副走査方向に約１インチ離れたラインでは、読み取り位置の誤差が約−３６μｍになり、約４画素分のずれが生じる。例えば、基準ラインを示す画素から副走査方向に２８８０画素だけ離れた画素は、基準ラインから副走査方向に１インチ離れた位置よりも基準ライン側に約−３６μｍだけ近い位置の画像を示すことになる。  
言い換えると、グラフの傾きがマイナスの位置では、１／２８８０インチよりも短い間隔で（即ち密に）、画像が読み取られる。また、グラフの傾きがプラスの位置では、１／２８８０インチよりも長い間隔で（即ち粗く）、画像が読み取られる。なお、グラフの傾きがほぼゼロの位置では、約１／２８８０の間隔で画像が読み取られる。
【００８５】
次に、読み取り位置の誤差が画像データに与える影響について説明する。まず、スキャナの読み取り位置が正確な場合について説明した後、読み取り位置に誤差がある場合について説明する。
【００８６】
図２６Ａは、スキャナの読み取り位置が正確な場合の原稿と画像データの関係の説明図である。なお、読取キャリッジ１５３は、原稿に対して、図中の縦方向に相対的に移動する。また、画像データの示す画像は、１／２８８０インチ（主走査方向）×１／２８８０インチ（副走査方向）の大きさの正方形状の画素がマトリクス状に並べられて構成されている。
【００８７】
ここでは、説明の簡略化のため、原稿は、補正用パターンではなく、高さが約２０００／２８８０インチの正三角形とする。また、説明の都合上、この正三角形の高さの半分の位置（正三角形の頂点から１０００／２８８０インチ離れた位置）には、白ラインが形成されている。以下の説明では、読み取り位置の副走査方向の基準は正三角形の頂点の位置とし、また、画像データにおける画素の位置の基準は正三角形の頂点の画素とする。
【００８８】
スキャナ１５０の読み取り位置が正確な場合、原稿は、読取キャリッジ１５３が副走査方向に１／２８８０インチ移動する毎に、等間隔に、読み取られる（左図参照）。このように読み取られた画像データの画像は、原稿の示す画像の通りになる（右図参照）。なお、原稿中の白ラインは、１００１回目の読み取り時に読み取られ、基準画素から１０００画素離れた画素の画素データとして読み取られている。
【００８９】
図２６Ｂは、スキャナの読み取り位置に誤差がある場合の原稿と画像データの関係の説明図である。ここでは、基準位置に近い位置では１／２８８０インチよりも短い間隔で（即ち密に）画像が読み取られ、基準位置から遠い位置では１／２８８０インチよりも長い間隔で（即ち粗く）画像が読み取られる（左図参照）。このように読み取られた画像データの画像は、原稿の示す形状から変形している（右図参照）。なお、１００１回目の読み取り時には、原稿中の白ラインよりも上の位置の画像が読み取られる（左図参照）。また、原稿中の白ラインは、約１２００回目の読み取り時に読み取られ（左図参照）、基準画素から約１２００画素離れた画素の画素データとして読み取られている（右図参照）。この結果、画像データにおける白ラインは、原稿の白ラインよりも、相対的に下側に位置している。
【００９０】
仮に、原稿が補正用パターンであった場合、スキャナの読み取り位置に誤差があると、補正用パターンを正確に読み取ることができず、この結果、補正値取得プログラムが、補正用パターンから各列領域の濃度を正確に測定できなくなる。例えば、あるラスタラインが実際の位置とは異なる位置として読み取られると、そのラスタラインの濃度を測定することができなくなる。
【００９１】
そこで、本実施形態では、スキャナ１５０によって読み取られた画像データを、スキャナ１５０の特性に応じて画像補正している。
【００９２】
＜本実施形態の画像補正処理の概略＞
図２６Ｃは、画像データの補正前後の説明図である。この画像補正処理は、画像補正プログラムがコンピュータ１１０に所定の処理をさせることによって実現される。
【００９３】
まず、画像補正プログラムは、予め、スキャナ１５０を用いて、リニアスケールを画像データとして読み取る。リニアスケールには目盛りとなるスリットが設けられており、画像補正プログラムには、スリットを含む画像データがスキャナ１５０から取り込まれる。そして、画像補正プログラムは、画像データにおけるスリットの位置を検出し、濃度算出位置（図２６Ｃ中央参照）を求める。例えば、図２６Ｂの左図に示すように読み取り位置が密→粗になる場合、濃度算出位置は、粗→密になるように算出される。また、例えば、１０００番目の濃度算出位置は、約１２００番目の画素に相当する位置として算出される。なお、リニアスケールの読み取りから濃度算出位置の算出までの処理のことを、「前処理」と呼ぶ。
【００９４】
次に、画像補正プログラムは、スキャナ１５０を用いて、原稿の画像データを取得する。そして、画像補正プログラムは、原稿の画像データを、前処理で求めた濃度算出位置に基づいて、補正する。例えば、基準画素から１０００画素離れた画素の画素データは、１０００番目の濃度算出位置に相当する１２００番目付近の画素の画素データに基づいて算出される。なお、原稿の読み取りから原稿の画像データの補正までの処理のことを、「後処理」と呼ぶ。
【００９５】
補正された画像データの示す画像は、原稿の示す画像の通りになる（図２６Ｃの右図参照）。例えば、補正された画像データでの白ラインは、基準画素から１０００画素離れた画素の画素データになる。仮に、原稿が補正用パターンであった場合、スキャナの読み取り位置に誤差があっても、補正用パターンの正確な画像データを取得できるので、補正値取得プログラムが、補正用パターンから各列領域の濃度を正確に測定できる。
【００９６】
以下、本実施形態の画像処理について詳しく説明する。
【００９７】
＜前処理について＞
図２７は、前処理のフロー図である。以下、前処理の各工程について説明する。この前処理は、例えば、プリンタ製造工場において、毎日１回、若しくは、プリンタ製造ラインの立ち上げ時に行なわれる。  
まず、画像補正プログラムは、スキャナ１５０を用いて、リニアスケールを画像データとして読み取る（Ｓ３０１）。なお、このとき用いられるリニアスケールは、リニア式エンコーダ５１に用いられるものと同じものである。
【００９８】
図２８は、スキャナ１５０の原稿台ガラス１５２にリニアスケール７を置いた様子の説明図である。リニアスケール７には１／１８０インチ毎にスリットが設けられており、このスリットがスキャナ１５０の副走査方向に並ぶように、原稿台ガラス１５２にリニアスケール７が置かれる。つまり、テストパターンを原稿台ガラス１５２に置いたときに補正用パターンの列領域が並ぶ方向と同じ方向にスリットが並ぶように、原稿台ガラス１５２にリニアスケール７が置かれる。
【００９９】
スキャナ１５０は、２８８０ｄｐｉ（主走査方向）×２８８０ｄｐｉ（副走査方向）の解像度でリニアスケール７を画像データとして読み取る。スキャナに読み取られた画像データは、主走査方向及び副走査方向に２次元に並ぶ画素の画素データから構成されている。各画素データは、モノクロデータであり、２５６階調の階調値を有する。なお、スキャナの読み取り位置に誤差がある場合、その状態でリニアスケール７の画像データが取り込まれる。つまり、スキャナの読み取り位置に誤差がある場合、画像データの示すリニアスケールは、実際のリニアスケールとは異なる形になる。
【０１００】
次に、画像補正プログラムは、２次元の画像データの主走査方向に並ぶ画素の画素データを平均化する（Ｓ３０２）。これにより、副走査方向の１次元の画像データが作成される。この１次元の画像データは、副走査方向に２８８０ｄｐｉで並ぶ画素の画像データ（階調値）から構成されている。
【０１０１】
図２９は、リニアスケールの１次元の画像データのグラフである。グラフの縦軸は階調値であり、横軸は画素基準位置を示している。横軸の画素基準位置は、画像データの画素の位置に基づいて算出される。例えば、基準画素から１０画素離れた画素の位置は、８８．２μｍ（≒（１／２８８０インチ）×１０）と算出される。このため、スキャナの読み取り位置に誤差がある場合、実際の読み取り位置と、画素基準位置との間には誤差が生じている。
【０１０２】
リニアスケールには１／１８０インチ毎にスリットが設けられているため、グラフには約１４１．１μｍ毎に（１／１８０インチ毎に）ピークが現れる。但し、スキャナの読み取り位置に誤差がある場合、画素基準位置上でのスリットの間隔（ピークの間隔）は、必ずしも１４１．１μｍにはなっていない。そこで、画像補正プログラムは、以下のＳ３０３〜Ｓ３０６により、画素基準位置上の各ピークの重心位置（各スリットの位置）を算出する。
【０１０３】
まず、画像補正プログラムは、最初のピークを含む１６画素（１／１８０インチの範囲、図２９の点線の範囲）の画素データを演算範囲として取り出す。  
図３０Ａは、取り出された１６個の画素の画素データの説明図である。画像補正プログラムは、これらの画素データの最小値を求め、各画素データを最小値でオフセットする。これにより、画素データの最小値が０になる。  
次に、画像補正プログラムは、１６個の画素データの正規化を行なう（Ｓ３０４）。正規化は、全画素データの階調値の合計を求め、各画素データを合計値で割ることにより、実現される。これにより、正規化後の画素データの合計は１になる。
【０１０４】
図３０Ｂは、正規化後の画素データの説明図である。画像補正プログラムは、スリットの位置として、正規化後の画素データの重心位置を求める。画素データが正規化されているため、画素毎に画素データの値と画素基準位置とを乗算し、その総和を算出すれば、その値が重心位置になる。但し、この重心位置は、画素基準位置上での位置である。画像補正プログラムは、算出された重心位置を、演算範囲でのスリットの位置として記憶する（Ｓ３０５）。
【０１０５】
図３１は、次の演算範囲の説明図である。最初のスリットの位置の算出後、画像補正プログラムは、次の演算範囲を特定する。画像補正プログラムは、先に算出された重心位置から１／１８０インチ離れた位置を中心にして、１６画素（１／１８０インチの範囲、図３１の点線の範囲）の画素データを演算範囲として取り出す。そして、同様の処理を繰り返し、画素基準位置上のスリットの位置を順次求めていく。
【０１０６】
なお、スキャナ１５０の読み取り位置の誤差のため、スリットの間隔は、画素基準位置上では１／１８０インチ（≒１４１．１μｍ）にはなっていないことがある。但し、長さ１／１８０インチに含まれる誤差は微小である。このため、隣のスリットの位置から１／１８０インチ離れた位置を中心にして１６画素の画素データを取り出せば、その中にスリットが確実に存在している。
【０１０７】
画素基準位置上のスリットの間隔が１／１８０インチ（≒１４１．１μｍ）にはなっていなくても、現実のリニアスケール７のスリットの間隔は、正確に１／１８０インチ（≒１４１．１μｍ）になっている。このため、スキャナ１５０の読み取り位置に誤差がある状態で原稿から画像データを取り込んだとしても、その画像データから、画素基準位置上のスリットの位置に相当する画素データを抽出すれば、現実の１／１８０インチ間隔の原稿の画像を取り出すことができることになる。  
但し、単にスリットの位置に相当する画素データを画像データから抽出しただけでは、１８０ｄｐｉの低解像度の画像データになる。そこで、画像補正プログラムは、画素基準位置上のスリットの位置情報に基づいて、約１／２８８０インチ間隔の濃度算出位置を算出する（Ｓ３０７）。
【０１０８】
図３２は、濃度算出位置の算出の説明図である。例えば、画像補正プログラムは、スリットの位置として「１４１．１μｍ」、「２９０．９μｍ」、「４２３．６μｍ」等の位置情報を取得している。そして、画像補正プログラムは、これらの値に基づいて、「１４１．１μｍ」〜「２９０．９μｍ」の間の１５点の位置を直線補間により算出する。また、同様に、画像補正プログラムは、「２９０．９μｍ」〜「４２３．６μｍ」の間の１５点の位置を直線補間により算出する。このようにして、スリット位置同士の間の１５点の位置を直線補間により算出することによって、画像補正プログラムは、約１／２８８０インチ間隔の位置を算出することができる。本実施形態では、これにより算出された位置を、濃度算出位置としている。なお、この濃度算出位置は、スキャナ１５０の読み取り誤差を反映したものであり、個々のスキャナ１５０に特有の値になる。
【０１０９】
画像補正プログラムは、算出された濃度算出位置をコンピュータ１１０のメモリに記憶する。そして、後述する後処理の際に、画像補正プログラムは、メモリに記憶された濃度算出位置を参照する。但し、前処理において、濃度算出位置まで求めずに、スリットの位置をコンピュータ１１０のメモリに記憶するようにしても良い。この場合、画像補正プログラムは、メモリに記憶されたスリットの位置に基づいて濃度算出位置を求めてから、後処理を行うようにする。
【０１１０】
この濃度算出位置の間隔は、スキャナ１５０の読み取り位置の誤差のため、画素基準位置上では１／２８８０インチ（≒８．９μｍ）にはなっていないことがある。但し、画像データから、画素基準位置上の濃度算出位置に相当する画素データを抽出すれば、現実の１／２８８０インチ間隔の原稿の画像を取り出すことができることになる。
【０１１１】
そこで、画像補正プログラムは、以下に説明する後処理において、原稿から読み取った画像データから、濃度算出位置に相当する画素データを抽出することにより、画像データを補正している。
【０１１２】
＜後処理について＞
図３３は、後処理のフロー図である。  
まず、画像補正プログラムは、２８８０ｄｐｉ（主走査方向）×２８８０ｄｐｉ（副走査方向）の解像度の原稿の画像データを取得する（Ｓ４０１）。例えば、画像補正プログラムは、図１０のＳ１０３においてスキャナドライバがスキャナ１５０に読み取らせた補正用パターンの画像データを、取得する。次に、画像補正プログラムは、この画像データに対して、画像補正する。
【０１１３】
図３４は、画像データの補正の説明図である。この図は、図２６Ｃの画像補正の説明図に類似する内容のものである。図２６Ｃでは１０００番目の濃度算出位置に相当する画素データを抽出する様子が示されているが、図３４では２２番目の濃度算出位置に相当する画素データを抽出する様子が示されている。
【０１１４】
図中の左側には補正前の画像データが示されており、図中の右側には補正後の画像データが示されている。いずれの画像データも、２８８０ｄｐｉ（主走査方向）×２８８０ｄｐｉ（副走査方向）の解像度の画像データであり、主走査方向及び副走査方向に沿ってマトリクス状に並ぶ画素データから構成されている。ここでは、最初の読み取り位置及びこのとき読み取られた画素データの画素列を基準としている。
【０１１５】
画像データの示す画像は、１／２８８０インチ（主走査方向）×１／２８８０インチ（副走査方向）の大きさの正方形状の画素がマトリクス状に並べられて構成されている。このため、副走査方向にｎ番目の画素列の副走査方向の画素基準位置は、（ｎ−１）／２８８０インチである。例えば、２番目の画素列の副走査方向の画素基準位置は、８．８μｍ（≒１／２８８０インチ）である。
【０１１６】
そして、画像補正プログラムは、ｎ番目の濃度算出位置に相当する画素データを画像データ（補正前）から抽出することによって、ｎ番目の画素列の画素データを算出する（Ｓ４０２）。  
例えば１６番目の濃度算出位置「１４１．１μｍ」は、１６番目の画素列の画素基準位置と一致している。このような場合、補正前の画像データの１６番目の画素列の画素データは、補正後の画像データの１６番目の画素列の画素データになる。このように、濃度算出位置と一致する画素基準位置の画素列があれば、その画素列の画素データは、そのまま、補正後の画像データを構成する画素データになる。
【０１１７】
しかし、スキャナ１５０の読み取り位置に誤差がある場合、濃度算出位置と画素基準位置とが一致することは稀である。例えば、２２番目の濃度算出位置「１９７．３μｍ」は、２２番目の画素基準位置「１９４．０μｍ」と２３番目の画素基準位置「２０２．８μｍ」の間に位置している。このように、多くの場合、濃度算出位置は、２つの画素列の画素基準位置の間に位置することになる。
【０１１８】
この場合、画像補正プログラムは、直線補間により、濃度算出位置に相当する画素データを算出する。例えば、画像補正プログラムは、濃度算出位置「１９７．３μｍ」に相当する画素データを、２２番目の画素基準位置「１９４．０μｍ」の画素データと、２３番目の画素基準位置「２０２．８μｍ」の画素データとの直線補間により算出する。具体的には、図３４に示すように、画像補正プログラムは、２２番目の画素基準位置「１９４．０μｍ」の画素データの値Ａ、及び、２３番目の画素基準位置「２０２．８μｍ」の画素データの値Ｂに基づいて、濃度算出位置「１９７．３μｍ」に相当する画素データの値Ｃを次式により算出する。  
Ｃ＝Ａ＋（Ｂ−Ａ）×（197.3−194.0）／（202.8−194.0）
【０１１９】
このようにして、画像補正プログラムは、補正後の画像データを構成する各画素データを、濃度算出位置に基づいて、補正前の画像データの画素データを直線補間することにより算出する（Ｓ４０２、Ｓ４０３）。補正された画像データは、たとえスキャナ１５０の読み取り位置に誤差があったとしても、現実の１／２８８０インチ間隔で原稿の画像を反映したものになる。
【０１２０】
そして、例えば原稿がテストパターンである場合、画像補正プログラムは、補正後の補正用パターンの画像データを補正値取得プログラムに受け渡し、補正値取得プログラムは、補正後の補正用パターンの画像データに対して、回転処理（Ｓ１０５）、トリミング（Ｓ１０６）、解像度変換（Ｓ１０７）等の処理を行う。これにより、補正値取得プログラムは、補正用パターンの各列領域の濃度を正確に測定することができる。
【０１２１】
＝＝＝その他の実施の形態＝＝＝
一実施形態としてのプリンタ１や印刷システム１００を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。  
例えば、前述のプリンタ１は、スキャナ１５０とは別体であった。しかし、プリンタとスキャナが一体になっている複合機であっても良い。  
また、前述の実施形態では、プリンタ１の製造時の検査工程においてテストパターンを印刷して補正値テーブルを作成しているが、これに限られるものではない。例えば、プリンタ１を購入したユーザーが、プリンタ１にテストパターンを印刷させ、テストパターンをスキャナ１５０で読み取って、補正値テーブルを作成しても良い。この場合、プリンタドライバに補正値取得プログラムが含まれていても良い。  
また、前述の実施形態では、１つのラスタラインを１つのノズルで形成しているが、これに限られるものではない。例えば、１つのラスタラインを２つのノズルで形成しても良い。
【０１２２】
＝＝＝まとめ＝＝＝
（１）スキャナ１５０の読み取り位置に誤差があると、原稿をスキャナ１５０で読み取ったときに、画像データの示す画像が、原稿の画像とは異なる形になってしまう（図２６Ｂ参照）。そこで、本実施形態の画像補正プログラムは、まず、前工程において、リニアスケール７（スケールの一例）をスキャナにより画像データとして読み取る（第１読み取りステップの一例、図２７、Ｓ３０１参照）。そして、原稿をスキャナにより画像データとして読み取った（第２読み取りステップの一例）後、画像補正プログラムは、リニアスケール７の画像データを用いて、原稿の画像データを補正する。具体的には、画像補正プログラムは、リニアスケール７の画像データを用いて濃度算出位置（図２６Ｃ、図３２、図３４参照）を求め、濃度算出位置に相当する画素データを原稿の画像データから抽出することによって、原稿の画像データを補正する。  
これにより、たとえスキャナ１５０の読み取り位置に誤差があったとしても、画像データの示す画像を、原稿の画像に近づけるように、補正することができる。
【０１２３】
（２）前述の実施形態では、画像補正プログラムは、リニアスケール７の画像データに基づいて、リニアスケールのスリット（目盛りの一例）の位置を検出している（図２７、Ｓ３０５参照）。このとき検出されるスリットの位置も、スキャナ１５０の読み取り位置に誤差があると、実際のスリットの位置とは異なる位置になる。但し、実際のスリットの位置とは異なるスリットの位置に基づいて、原稿の画像データを補正すれば、実際の画像とは異なる画像の画像データを、現実の画像に近づけるように、補正することができる。
【０１２４】
（３）仮に、スリットの位置とｎ番目の画素列の画素基準位置とが一致しているならば、ｎ番目の画素列の画素データがそのまま抽出される。但し、スキャナ１５０の読み取り位置に誤差がある場合、スリットの位置と画素基準位置とが一致することは稀である。このような場合、前述の実施例では、後処理において、補正後の画像データの画素データのうちスリットの位置に対応する画素データを、原稿の画像データに基づいて算出している。ここで、補正後の画像データの画素データのうちスリットの位置に対応する画素データとは、例えば図３４における補正後の画像データの１６番目の画素列の画素データや、３２番目の画素列の画素データ（不図示、）等である。  
現実のリニアスケール７のスリットの間隔は、正確に１／１８０インチ（≒１４１．１μｍ）になっているため、スキャナ１５０の読み取り位置に誤差がある状態で原稿から画像データを取り込んだとしても、その画像データから、画素基準位置上のスリットの位置に相当する画素データを抽出すれば、現実の１／１８０インチ間隔の原稿の画像を取り出すことができることになる。  
なお、前述の実施形態では、スリットの位置や濃度算出位置等を画素基準位置に基づいて示していたが、これに限られるものではない。例えば、画素の番号に基づいて、スリットの位置や濃度算出位置等を示しても良い。
【０１２５】
（４）前述の実施形態では、リニアスケール７のスリットの位置に相当するデータを原稿の画像データから算出する際に、直線補間を行なっている。但し、これに限られるものではなく、例えばバイキュービック補間等を行っても良い。
【０１２６】
（５）ところで、単にスリットの位置に相当するデータを原稿の画像データから算出しただけでは、画像補正後の画像データの解像度が低くなってしまう。一方、リニアスケールのスリットの間隔を１８０ｄｐｉから２８８０ｄｐｉに変更すると、スキャナ１５０の解像度を高くしなければ、リニアスケールの画像データからスリットの位置を検出することは困難になる。  
そこで、前述の実施形態では、約１／１８０インチ間隔に検出されたスリットの位置に基づいて、１／２８８０インチ間隔の濃度算出位置を求めている。そして、画像補正プログラムは、濃度算出位置に基づいて、現行の画像データを補正している。  
これにより、画像補正後の画像データの解像度を高めることができる。
【０１２７】
（６）前述の実施形態では、直線補間により、スリットの位置に基づいて濃度算出位置を求めている。但し、直線補間に限られるものではない。例えばバーキュービック補間等により濃度算出位置を求めてもよい。
【０１２８】
（７）前述のスキャナ１５０は、画像を読み取るためのラインセンサ１５８（図５Ａ参照）と、ラインセンサ１５８を副走査方向へ移動させる読取キャリッジ１５３を備えている。そして、読取キャリッジの移動精度が良くないと、スキャナ１５０の副走査方向の読み取り位置に誤差が生じ、画像データの示す画像が、原稿の画像に対して、副走査方向に歪んだ形になる。  
そこで、前述の実施形態では、副走査方向に沿って原稿台ガラスに置かれたリニアスケール７をスキャナ１５０が読み取っている。これにより、リニアスケール７の画像データに基づいて、原稿の画像データの副走査方向の歪みを補正することが可能になる。  
なお、仮にラインセンサ１５８の主走査方向の読み取り位置に誤差があり、この誤差の影響による画像データの主走査方向の歪みを補正したいのであれば、主走査方向に沿って原稿台ガラスに置かれたリニアスケール７をスキャナ１５０で読み取り、リニアスケールのスリットの主走査方向の位置に基づいて原稿の画像データを補正しても良い。但し、ラインセンサを副走査方向に移動させるスキャナ１５０の構成からすれば、原稿の画像データは、主走査方向よりも副走査方向に歪みやすい。
【０１２９】
（８）前述の実施形態では、原稿には、例えば補正用パターンが用いられる。補正用パターンは、図１２に示されるように、複数のラスタライン（ドット列の一例）から構成される。このラスタラインは、移動方向に移動するノズルからインクが吐出されて、移動方向に沿う列領域に形成される。  
仮に、スキャナ１５０の読み取り位置に誤差がある状態で補正用パターンを読み取ると、補正用パターンの画像データの示す画像は、副走査方向に歪んだ形になる。このように、画像データが副走査方向に歪むと、画像データの列領域と補正用パターンの列領域との対応がずれてしまい、補正値取得プログラムが、補正用パターンの列領域の濃度を測定することが難しくなる。  
そこで、本実施形態では、画像補正プログラムが、補正用パターンの画像データの副走査方向の歪みを補正し、補正値取得プログラムは、補正された補正用パターンの画像データに基づいて、各列領域の濃度を測定している。画像補正プログラムにより補正用パターンの画像データの副走査方向の歪みが補正されると、画像データの列領域と補正用パターンの列領域とが正しく対応するようになるので、補正値取得プログラムは、補正用パターンの列領域の濃度を正しく測定することができる。
【０１３０】
（９）前述の構成要素を全て含む画像処理方法によれば、全ての効果を奏するので、望ましい。但し、必ずしも全ての構成要素を含む必要性はない。要するに、補正後の画像データの示す画像が原稿の画像に近づくように、画像データを補正できれば良い。
【０１３１】
（１０）前述の実施形態では、画像補正プログラムが、補正用パターンの画像データの副走査方向の歪みを補正し、補正値取得プログラムは、補正された補正用パターンの画像データに基づいて、各列領域の濃度を測定し、各列領域の濃度に応じて、それぞれに対応する補正値を算出している。画像補正プログラムにより補正用パターンの画像データの副走査方向の歪みが補正されると、画像データの列領域と補正用パターンの列領域とが正しく対応するようになるので、補正値取得プログラムは、補正用パターンの列領域の濃度を正しく測定することができ、各列領域に応じた補正値を算出できる。  
前述の実施形態では、補正用パターンは、各列領域の濃度を補正するための補正値を取得するためのものであった。但し、これに限られるものではない。例えば、印刷装置の搬送ユニットの搬送量を補正するための補正用パターン等であっても良い。
【０１３２】
（１１）また、前述の実施形態には、補正値を記憶するメモリを備えるプリンタ（印刷装置の一例）の製造方法の開示があることも言うまでもない。このようなプリンタの製造方法によれば、スキャナ１５０の異常があっても、個々のプリンタの特性に応じた補正値を記憶したプリンタを製造できる。
【０１３３】
（１２）なお、前述の実施形態には、印刷方法の開示があることは言うまでもない。
【図面の簡単な説明】
【０１３４】
【図１】印刷システム１００の構成を説明する図である。
【図２】プリンタ１の全体構成のブロック図である。
【図３】図３Ａは、プリンタ１の全体構成の概略図である。また、図３Ｂは、プリンタ１の全体構成の横断面図である。
【図４】ヘッド４１の下面におけるノズルの配列を示す説明図である。
【図５】図５Ａは、スキャナ１５０の縦断面図である。図５Ｂは、上蓋１５１を外した状態のスキャナ１５０の上面図である。
【図６】印刷時の処理のフロー図である。
【図７】図７Ａ及び図７Ｂは、通常印刷の説明図である。図７Ａは、パスｎ〜パスｎ＋３におけるヘッドの位置とドットの形成の様子を示し、図７Ｂは、パスｎ〜パスｎ＋４におけるヘッドの位置とドットの形成の様子を示している。
【図８】先端印刷及び後端印刷の説明図である。
【図９】図９Ａは、理想的にドットが形成されたときの様子の説明図である。図９Ｂは、ノズルの加工精度のばらつきの影響の説明図である。図９Ｃは、本実施形態の印刷方法によりドットが形成されたときの様子の説明図である。
【図１０】プリンタの製造後の検査工程で行われる補正値取得処理のフロー図である。
【図１１】テストパターンの説明図である。
【図１２】補正用パターンの説明図である。
【図１３】シアンの補正用パターンの読み取り範囲の説明図である。
【図１４】図１４Ａは、傾き検出の際の画像データの説明図である。図１４Ｂは、上罫線の位置の検出の説明図である。図１４Ｃは、回転処理後の画像データの説明図である。
【図１５】図１５Ａは、トリミングの際の画像データの説明図である。図１５Ｂは、上罫線でのトリミング位置の説明図である。図１５Ｃは、下罫線でのトリミング位置の説明図である。
【図１６】解像度変換の説明図である。
【図１７】図１７Ａは、左罫線の検出の際の画像データの説明図である。図１７Ｂは、左罫線の位置の検出の説明図である。図１７Ｃは、１番目の列領域の濃度３０％の帯状パターンの濃度の測定範囲の説明図である。
【図１８】シアンの５種類の帯状パターンの濃度の測定結果をまとめた測定値テーブルである。
【図１９】シアンの濃度３０％、濃度４０％及び濃度５０％の帯状パターンの測定値のグラフである。
【図２０】図２０Ａは、列領域ｉにおける指令階調値Ｓｂに対する目標指令階調値Ｓｂｔの説明図である。図２０Ｂは、列領域ｊにおける指令階調値Ｓｂに対する目標指令階調値Ｓｂｔの説明図である。
【図２１】シアンの補正値テーブルの説明図である。
【図２２】ユーザー下で行なわれる処理のフロー図である。
【図２３】印刷データ生成処理のフロー図である。
【図２４】シアンのｎ番目の列領域の濃度補正処理の説明図である。
【図２５】スキャナの読み取り位置の誤差のグラフである。
【図２６】図２６Ａは、スキャナの読み取り位置が正確な場合の原稿と画像データの関係の説明図である。図２６Ｂは、スキャナの読み取り位置に誤差がある場合の原稿と画像データの関係の説明図である。図２６Ｃは、画像データの補正前後の説明図である。
【図２７】前処理のフロー図である。
【図２８】スキャナ１５０の原稿台ガラス１５２にリニアスケール７を置いた様子の説明図である。
【図２９】リニアスケールの１次元の画像データのグラフである。
【図３０】図３０Ａは、取り出された１６個の画素の画素データの説明図である。図３０Ｂは、正規化後の画素データの説明図である。
【図３１】次の演算範囲の説明図である。
【図３２】濃度算出位置の算出の説明図である。
【図３３】後処理のフロー図である。
【図３４】画像データの補正の説明図である。
【符号の説明】
【０１３５】
１  プリンタ、５  原稿、
２０  搬送ユニット、２１  給紙ローラ、２２  搬送モータ（ＰＦモータ）、
２３  搬送ローラ、２４  プラテン、２５  排紙ローラ、
３０  キャリッジユニット、３１  キャリッジ、
３２  キャリッジモータ（ＣＲモータ）、
４０  ヘッドユニット、４１  ヘッド、
５０  検出器群、５１  リニア式エンコーダ、５２  ロータリー式エンコーダ、
５３  紙検出センサ、５４  光学センサ、
６０  コントローラ、６１  インターフェース部、６２  ＣＰＵ、
６３  メモリ、６４  ユニット制御回路、
１００  印刷システム、１１０  コンピュータ、
１２０  表示装置、１３０  入力装置、
１４０  記録再生装置、１５０  スキャナ、
１５１  上蓋、１５２  原稿台ガラス、１５３  読取キャリッジ、１５４  案内部材、
１５５  移動機構、１５７  露光ランプ、１５８  ラインセンサ、１５９  光学系
【図１】
2006305963.tif 000003
【図２】
2006305963.tif 000004
【図３】
2006305963.tif 000005
【図４】
2006305963.tif 000006
【図５】
2006305963.tif 000007
【図６】
2006305963.tif 000008
【図７】
2006305963.tif 000009
【図８】
2006305963.tif 000010
【図９】
2006305963.tif 000011
【図１０】
2006305963.tif 000012
【図１８】
2006305963.tif 000013
【図１９】
2006305963.tif 000014
【図２０】
2006305963.tif 000015
【図２１】
2006305963.tif 000016
【図２２】
2006305963.tif 000017
【図２３】
2006305963.tif 000018
【図２４】
2006305963.tif 000019
【図２５】
2006305963.tif 000020
【図２６】
2006305963.tif 000021
【図２７】
2006305963.tif 000022
【図２８】
2006305963.tif 000023
【図２９】
2006305963.tif 000024
【図３０】
2006305963.tif 000025
【図３１】
2006305963.tif 000026
【図３２】
2006305963.tif 000027
【図３３】
2006305963.tif 000028
【図３４】
2006305963.tif 000029
【図１１】
2006305963.tif 000030
【図１２】
2006305963.tif 000031
【図１３】
2006305963.tif 000032
【図１４】
2006305963.tif 000033
【図１５】
2006305963.tif 000034
【図１６】
2006305963.tif 000035
【図１７】
2006305963.tif 000036