(57)【要約】【課題】像伸びが発生することを考慮して、各ノズルのインク吐出特性を適切に補正し得る技術を提供する。【解決手段】画像処理装置は、第１の記録媒体上の第１方向に沿って並ぶＮ個のドットを含む第１のテスト画像の印刷を印刷実行部に実行させる第１の印刷制御部と、第２の記録媒体上の第１方向に沿って並ぶＮ１個のドットと、第２の記録媒体上の第１方向に沿って並ぶＮ３個のドットと、Ｎ１個のドットとＮ３個のドットとの間の第１の空白領域と、を含む第２のテスト画像の印刷を印刷実行部に実行させる第２の印刷制御部と、第１の記録媒体に基づく第１のスキャン画像データを取得する第１の取得部と、第２の記録媒体に基づく第２のスキャン画像データを取得する第２の取得部と、第２のスキャン画像データを利用して第１の境界を特定する境界特定部と、画素数特定部と、第１の算出部と、第２の算出部と、特性データを生成する生成部と、を備える。【選択図】図２
2018144328.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
第１のテスト画像の印刷を印刷実行部に実行させる第１の印刷制御部であって、前記印刷実行部は、第１方向に沿って並ぶＮ個（前記Ｎは３以上の整数）のノズルを備え、前記Ｎ個のノズルの全てがインク滴を第１の記録媒体に向けて吐出することによって、前記第１の記録媒体上の前記第１方向に沿って並ぶＮ個のドットを含む前記第１のテスト画像が前記第１の記録媒体上に印刷される、前記第１の印刷制御部と、
前記第１のテスト画像とは異なる第２のテスト画像の印刷を前記印刷実行部に実行させる第２の印刷制御部であって、前記Ｎ個のノズルは、連続するＮ１個（前記Ｎ１は１以上の整数）のノズルと、前記Ｎ１個のノズルに隣接する連続するＮ２個（前記Ｎ２は１以上の整数）のノズルと、前記Ｎ２個のノズルに隣接する連続するＮ３個（前記Ｎ３は１以上の整数）のノズルと、を含み、前記Ｎ２個のノズルがインク滴を吐出することなく、前記Ｎ１個のノズルと前記Ｎ３個のノズルとがインク滴を第２の記録媒体に向けて吐出することによって、前記第２の記録媒体上の前記第１方向に沿って並ぶＮ１個のドットと、前記第２の記録媒体上の前記第１方向に沿って並ぶＮ３個のドットと、前記Ｎ１個のドットと前記Ｎ３個のドットとの間の第１の空白領域と、を含む前記第２のテスト画像が前記第２の記録媒体上に印刷される、前記第２の印刷制御部と、
前記第１のテスト画像が前記第１の記録媒体に印刷された後に、スキャン実行部が前記第１方向に沿って移動して前記第１の記録媒体をスキャンすることによって生成される第１のスキャン画像データを取得する第１の取得部であって、前記第１のスキャン画像データは、前記第１のテスト画像に含まれる前記Ｎ個のドットを表わすＭ個（前記Ｍは前記Ｎ以上の整数）のドット画素を含む、前記第１の取得部と、
前記第２のテスト画像が前記第２の記録媒体に印刷された後に、前記スキャン実行部が前記第１方向に沿って移動して前記第２の記録媒体をスキャンすることによって生成される第２のスキャン画像データを取得する第２の取得部であって、前記第２のスキャン画像データは、前記第２のテスト画像に含まれる前記Ｎ１個のドットを表わすＭ１個（前記Ｍ１は前記Ｎ１以上の整数）のドット画素と、前記第２のテスト画像に含まれる前記第１の空白領域を表わすＭ２個（前記Ｍ２は前記Ｎ２以上の整数）の空白画素と、前記第２のテスト画像に含まれる前記Ｎ３個のドットを表わすＭ３個（前記Ｍ３は前記Ｎ３以上の整数）のドット画素と、を含む、前記第２の取得部と、
前記第２のスキャン画像データに含まれる前記Ｍ２個の空白画素を利用して、前記Ｍ１個のドット画素と前記Ｍ２個の空白画素との間の境界と、前記Ｍ２個の空白画素と前記Ｍ３個のドット画素との間の境界と、のうちの少なくとも一方の境界である第１の境界を特定する境界特定部と、
前記第２のスキャン画像データを利用して、前記第１の境界の第１側に存在する前記Ｍ１個のドット画素の画素数を含む第１の画素数と、前記第１の境界の第２側に存在する前記Ｍ３個のドット画素の画素数を含む第２の画素数と、を特定する画素数特定部と、
前記Ｎ１と前記第１の画素数とを利用して、前記Ｎ１個のノズルについて１個のノズル当たりの画素数である第１の単位画素数を算出し、前記Ｎ３と前記第２の画素数とを利用して、前記Ｎ３個のノズルについて１個のノズル当たりの画素数である第２の単位画素数を算出する第１の算出部と、
前記第１の単位画素数と、前記第２の単位画素数と、前記第１のスキャン画像データに含まれる前記Ｍ個のドット画素の各画素値と、を利用して、前記Ｎ個のノズルのそれぞれについて、当該ノズルによって形成されるドットの濃度に関係する関係値を算出する第２の算出部と、
前記Ｎ個のノズルについて算出されるＮ個の前記関係値を利用して、前記Ｎ個のノズルのインク吐出特性を示す特性データを生成する生成部と、
を備える画像処理装置。
【請求項２】
前記第１の境界は、前記Ｍ２個の空白画素と前記Ｍ３個のドット画素との間の前記境界であり、
前記画素数特定部は、
前記第１の境界の前記第１側に存在する前記Ｍ１個のドット画素と前記Ｍ２個の空白画素との合計画素数である前記第１の画素数と、
前記第１の境界の前記第２側に存在する前記Ｍ３個のドット画素の画素数を含む前記第２の画素数と、
を特定し、
前記第１の算出部は、
前記Ｎ１と前記Ｎ２と前記第１の画素数とを利用して、前記Ｎ１個のノズルと前記Ｎ２個のノズルとを含む（Ｎ１＋Ｎ２）個のノズルについて１個のノズル当たりの画素数である前記第１の単位画素数を算出し、
前記Ｎ３と前記第２の画素数とを利用して、前記Ｎ３個のノズルについて１個のノズル当たりの画素数である前記第２の単位画素数を算出する、請求項１に記載の画像処理装置。
【請求項３】
前記第１の境界は、前記Ｍ１個のドット画素と前記Ｍ２個の空白画素との間の前記境界と、前記Ｍ２個の空白画素と前記Ｍ３個のドット画素との間の前記境界と、の双方であり、
前記画素数特定部は、
前記第１の境界のうち、前記Ｍ１個のドット画素と前記Ｍ２個の空白画素との間の前記境界の前記第１側に存在する前記Ｍ１個のドット画素の画素数である前記第１の画素数と、
前記第１の境界のうち、前記Ｍ２個の空白画素と前記Ｍ３個のドット画素との間の前記境界の前記第２側に存在する前記Ｍ３個のドット画素の画素数である前記第２の画素数と、
前記Ｍ１個のドット画素と前記Ｍ２個の空白画素との間の前記境界と、前記Ｍ２個の空白画素と前記Ｍ３個のドット画素との間の前記境界と、の間に存在する前記Ｍ２個の空白画素の画素数である第３の画素数と、
を特定し、
前記第１の算出部は、
前記Ｎ１と前記第１の画素数とを利用して、前記Ｎ１個のノズルについて１個のノズル当たりの画素数である前記第１の単位画素数を算出し、
前記Ｎ３と前記第２の画素数とを利用して、前記Ｎ３個のノズルについて１個のノズル当たりの画素数である前記第２の単位画素数を算出し、
前記Ｎ２と前記第３の画素数とを利用して、前記Ｎ２個のノズルについて１個のノズル当たりの画素数である第３の単位画素数を算出し、
前記第２の算出部は、前記第１の単位画素数と、前記第２の単位画素数と、前記第３の単位画素数と、前記第１のスキャン画像データに含まれる前記Ｍ個のドット画素の各画素値と、を利用して、前記Ｎ個のノズルのそれぞれについて、当該ノズルによって形成されるドットの濃度に関係する前記関係値を算出する、請求項１に記載の画像処理装置。
【請求項４】
前記第１の記録媒体が前記第１方向に直交する第２方向に沿って前記印刷実行部に対して相対移動する間に、前記Ｎ個のノズルの全てがインク滴を前記第１の記録媒体に向けて複数回に亘って吐出することによって、前記第１の記録媒体上の前記第１方向に沿って並ぶＮ個のドット列を含む前記第１のテスト画像が前記第１の記録媒体上に印刷され、
前記第１のスキャン画像データは、前記第１のテスト画像に含まれる前記Ｎ個のドット列を表わすＭ個（前記Ｍは前記Ｎ以上の整数）のドット画素列を含み、
前記第２の算出部は、
前記第１のスキャン画像データに含まれる前記Ｍ個のドット画素列のそれぞれについて、当該ドット画素列を構成する複数個のドット画素の各画素値を利用して、前記複数個のドット画素の平均輝度値を算出し、
前記第１の単位画素数と、前記第２の単位画素数と、前記第１のスキャン画像データに含まれる前記Ｍ個のドット画素列について算出されたＭ個の前記平均輝度値と、を利用して、前記Ｎ個のノズルのそれぞれについて、当該ノズルによって形成されるドットの濃度に関係する前記関係値を算出する、請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
前記第１の印刷制御部と前記第２の印刷制御部とは、前記第１のテスト画像と前記第２のテスト画像との双方を表わす１個のテスト画像ファイルを前記印刷実行部に供給して、前記第１の記録媒体への前記第１のテスト画像の印刷と、前記第１の記録媒体と同じ前記第２の記録媒体への前記第２のテスト画像の印刷と、を実行させ、
前記第１の取得部と前記第２の取得部とは、前記スキャン実行部が前記第１の記録媒体と同じ前記第２の記録媒体をスキャンすることによって生成される１個のスキャン画像ファイルであって、前記第１のスキャン画像データと前記第２のスキャン画像データとを含む前記１個のスキャン画像ファイルを取得する、請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記Ｎ個のノズルは、さらに、前記Ｎ３個のノズルに隣接する連続するＮ４個（前記Ｎ４は１以上の整数）のノズルと、前記Ｎ４個のノズルに隣接する連続するＮ５個（前記Ｎ５は１以上の整数）のノズルと、を含み、
前記Ｎ２個のノズルと前記Ｎ４個のノズルとがインク滴を吐出することなく、前記Ｎ１個のノズルと前記Ｎ３個のノズルと前記Ｎ３個のノズルとがインク滴を前記第２の記録媒体に向けて吐出することによって、前記第２の記録媒体上の前記第１方向に沿って並ぶ前記Ｎ１個のドットと、前記第２の記録媒体上の前記第１方向に沿って並ぶ前記Ｎ３個のドットと、前記Ｎ１個のドットと前記Ｎ３個のドットとの間の前記第１の空白領域と、前記第２の記録媒体上の前記第１方向に沿って並ぶＮ５個のドットと、前記Ｎ３個のドットと前記Ｎ５個のドットとの間の第２の空白領域と、を含む前記第２のテスト画像が前記第２の記録媒体上に印刷され、
前記第２のスキャン画像データは、さらに、前記第２のテスト画像に含まれる前記第２の空白領域を表わすＭ４個（前記Ｍ４は前記Ｎ４以上の整数）の空白画素と、前記第２のテスト画像に含まれる前記Ｎ５個のドットを表わすＭ５個（前記Ｍ５は前記Ｎ５以上の整数）のドット画素と、を含み、
前記境界特定部は、さらに、前記第２のスキャン画像データに含まれる前記Ｍ４個の空白画素を利用して、前記Ｍ３個のドット画素と前記Ｍ４個の空白画素との間の境界と、前記Ｍ４個の空白画素と前記Ｍ５個のドット画素との間の境界と、のうちの少なくとも一方の境界である第２の境界を特定し、
前記画素数特定部は、さらに、前記第２のスキャン画像データを利用して、前記第２の境界の第２側に存在する前記Ｍ５個のドット画素の画素数を含む第４の画素数を特定し、
前記第１の算出部は、さらに、前記Ｎ５と前記第４の画素数とを利用して、前記Ｎ５個のノズルについて１個のノズル当たりの画素数である第４の単位画素数を算出し、
前記第２の算出部は、前記第１の単位画素数と、前記第２の単位画素数と、前記第４の単位画素数と、前記第１のスキャン画像データに含まれる前記Ｍ個のドット画素の各画素値と、を利用して、前記Ｎ個のノズルのそれぞれについて、当該ノズルによって形成されるドットの濃度に関係する前記関係値を算出する、請求項１から５のいずれか一項に記載の画像処理装置。
【請求項７】
前記印刷実行部が前記第１方向に直交する第２方向に移動することなく、前記第１のテスト画像が前記第１の記録媒体上に印刷され、
前記印刷実行部が前記第２方向に移動することなく、前記第２のテスト画像が前記第２の記録媒体上に印刷される、請求項１から６のいずれか一項に記載の画像処理装置。
【請求項８】
画像処理装置のためのコンピュータプログラムであって、
前記画像処理装置はコンピュータを備え、
前記コンピュータプログラムは、前記コンピュータを、
第１のテスト画像の印刷を印刷実行部に実行させる第１の印刷制御部であって、前記印刷実行部は、第１方向に沿って並ぶＮ個（前記Ｎは３以上の整数）のノズルを備え、前記Ｎ個のノズルの全てがインク滴を第１の記録媒体に向けて吐出することによって、前記第１の記録媒体上の前記第１方向に沿って並ぶＮ個のドットを含む前記第１のテスト画像が前記第１の記録媒体上に印刷される、前記第１の印刷制御部、
前記第１のテスト画像とは異なる第２のテスト画像の印刷を前記印刷実行部に実行させる第２の印刷制御部であって、前記Ｎ個のノズルは、連続するＮ１個（前記Ｎ１は１以上の整数）のノズルと、前記Ｎ１個のノズルに隣接する連続するＮ２個（前記Ｎ２は１以上の整数）のノズルと、前記Ｎ２個のノズルに隣接する連続するＮ３個（前記Ｎ３は１以上の整数）のノズルと、を含み、前記Ｎ２個のノズルがインク滴を吐出することなく、前記Ｎ１個のノズルと前記Ｎ３個のノズルとがインク滴を第２の記録媒体に向けて吐出することによって、前記第２の記録媒体上の前記第１方向に沿って並ぶＮ１個のドットと、前記第２の記録媒体上の前記第１方向に沿って並ぶＮ３個のドットと、前記Ｎ１個のドットと前記Ｎ３個のドットとの間の第１の空白領域と、を含む前記第２のテスト画像が前記第２の記録媒体上に印刷される、前記第２の印刷制御部、
前記第１のテスト画像が前記第１の記録媒体に印刷された後に、スキャン実行部が前記第１方向に沿って移動して前記第１の記録媒体をスキャンすることによって生成される第１のスキャン画像データを取得する第１の取得部であって、前記第１のスキャン画像データは、前記第１のテスト画像に含まれる前記Ｎ個のドットを表わすＭ個（前記Ｍは前記Ｎ以上の整数）のドット画素を含む、前記第１の取得部、
前記第２のテスト画像が前記第２の記録媒体に印刷された後に、前記スキャン実行部が前記第１方向に沿って移動して前記第２の記録媒体をスキャンすることによって生成される第２のスキャン画像データを取得する第２の取得部であって、前記第２のスキャン画像データは、前記第２のテスト画像に含まれる前記Ｎ１個のドットを表わすＭ１個（前記Ｍ１は前記Ｎ１以上の整数）のドット画素と、前記第２のテスト画像に含まれる前記第１の空白領域を表わすＭ２個（前記Ｍ２は前記Ｎ２以上の整数）の空白画素と、前記第２のテスト画像に含まれる前記Ｎ３個のドットを表わすＭ３個（前記Ｍ３は前記Ｎ３以上の整数）のドット画素と、を含む、前記第２の取得部、
前記第２のスキャン画像データに含まれる前記Ｍ２個の空白画素を利用して、前記Ｍ１個のドット画素と前記Ｍ２個の空白画素との間の境界と、前記Ｍ２個の空白画素と前記Ｍ３個のドット画素との間の境界と、のうちの少なくとも一方の境界である第１の境界を特定する境界特定部、
前記第２のスキャン画像データを利用して、前記第１の境界の第１側に存在する前記Ｍ１個のドット画素の画素数を含む第１の画素数と、前記第１の境界の第２側に存在する前記Ｍ３個のドット画素の画素数を含む第２の画素数と、を特定する画素数特定部、
前記Ｎ１と前記第１の画素数とを利用して、前記Ｎ１個のノズルについて１個のノズル当たりの画素数である第１の単位画素数を算出し、前記Ｎ３と前記第２の画素数とを利用して、前記Ｎ３個のノズルについて１個のノズル当たりの画素数である第２の単位画素数を算出する第１の算出部、
前記第１の単位画素数と、前記第２の単位画素数と、前記第１のスキャン画像データに含まれる前記Ｍ個のドット画素の各画素値と、を利用して、前記Ｎ個のノズルのそれぞれについて、当該ノズルによって形成されるドットの濃度に関係する関係値を算出する第２の算出部、及び、
前記Ｎ個のノズルについて算出されるＮ個の前記関係値を利用して、前記Ｎ個のノズルのインク吐出特性を示す特性データを生成する生成部、
として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、インクジェットプリンタのための画像処理装置を開示する。
【背景技術】
【０００２】
特許文献１には、長尺ヘッドを有するインクジェットプリンタのための補正値算出方法が開示されている。プリンタが、まず、長尺ヘッドに設けられたすべてのノズルからインクを吐出させて媒体にテストパターンを印刷する。そして、スキャナが、媒体に印刷されたテストパターンをスキャンしてスキャン画像を生成する。次いで、コンピュータが、スキャン画像に基づいて、各ノズルのインク吐出特性を補正するための補正値を算出する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２３４１１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
スキャナがテストパターンをスキャンする際に、スキャナのＣＣＤ、ＣＩＳ等のスキャン実行部の移動速度が安定しないことに起因して、スキャン実行部の移動方向に沿ったスキャン画像の長さが当該移動方向に沿ったテストパターンの長さよりも大きくなってしまういわゆる像伸びと呼ばれる事象が発生し得る。像伸びが発生すると、スキャン画像に含まれる各画素とプリンタの各ノズルとを適切に対応付けることができず、この結果、各ノズルのインク吐出特性を適切に補正できない可能性がある。
【０００５】
本明細書では、像伸びが発生することを考慮して、各ノズルのインク吐出特性を適切に補正し得る技術を提供する。
【課題を解決するための手段】
【０００６】
本明細書で開示する画像処理装置は、第１のテスト画像の印刷を印刷実行部に実行させる第１の印刷制御部であって、前記印刷実行部は、第１方向に沿って並ぶＮ個（前記Ｎは３以上の整数）のノズルを備え、前記Ｎ個のノズルの全てがインク滴を第１の記録媒体に向けて吐出することによって、前記第１の記録媒体上の前記第１方向に沿って並ぶＮ個のドットを含む前記第１のテスト画像が前記第１の記録媒体上に印刷される、前記第１の印刷制御部と、前記第１のテスト画像とは異なる第２のテスト画像の印刷を前記印刷実行部に実行させる第２の印刷制御部であって、前記Ｎ個のノズルは、連続するＮ１個（前記Ｎ１は１以上の整数）のノズルと、前記Ｎ１個のノズルに隣接する連続するＮ２個（前記Ｎ２は１以上の整数）のノズルと、前記Ｎ２個のノズルに隣接する連続するＮ３個（前記Ｎ３は１以上の整数）のノズルと、を含み、前記Ｎ２個のノズルがインク滴を吐出することなく、前記Ｎ１個のノズルと前記Ｎ３個のノズルとがインク滴を第２の記録媒体に向けて吐出することによって、前記第２の記録媒体上の前記第１方向に沿って並ぶＮ１個のドットと、前記第２の記録媒体上の前記第１方向に沿って並ぶＮ３個のドットと、前記Ｎ１個のドットと前記Ｎ３個のドットとの間の第１の空白領域と、を含む前記第２のテスト画像が前記第２の記録媒体上に印刷される、前記第２の印刷制御部と、前記第１のテスト画像が前記第１の記録媒体に印刷された後に、スキャン実行部が前記第１方向に沿って移動して前記第１の記録媒体をスキャンすることによって生成される第１のスキャン画像データを取得する第１の取得部であって、前記第１のスキャン画像データは、前記第１のテスト画像に含まれる前記Ｎ個のドットを表わすＭ個（前記Ｍは前記Ｎ以上の整数）のドット画素を含む、前記第１の取得部と、前記第２のテスト画像が前記第２の記録媒体に印刷された後に、前記スキャン実行部が前記第１方向に沿って移動して前記第２の記録媒体をスキャンすることによって生成される第２のスキャン画像データを取得する第２の取得部であって、前記第２のスキャン画像データは、前記第２のテスト画像に含まれる前記Ｎ１個のドットを表わすＭ１個（前記Ｍ１は前記Ｎ１以上の整数）のドット画素と、前記第２のテスト画像に含まれる前記第１の空白領域を表わすＭ２個（前記Ｍ２は前記Ｎ２以上の整数）の空白画素と、前記第２のテスト画像に含まれる前記Ｎ３個のドットを表わすＭ３個（前記Ｍ３は前記Ｎ３以上の整数）のドット画素と、を含む、前記第２の取得部と、前記第２のスキャン画像データに含まれる前記Ｍ２個の空白画素を利用して、前記Ｍ１個のドット画素と前記Ｍ２個の空白画素との間の境界と、前記Ｍ２個の空白画素と前記Ｍ３個のドット画素との間の境界と、のうちの少なくとも一方の境界である第１の境界を特定する境界特定部と、前記第２のスキャン画像データを利用して、前記第１の境界の第１側に存在する前記Ｍ１個のドット画素の画素数を含む第１の画素数と、前記第１の境界の第２側に存在する前記Ｍ３個のドット画素の画素数を含む第２の画素数と、を特定する画素数特定部と、前記Ｎ１と前記第１の画素数とを利用して、前記Ｎ１個のノズルについて１個のノズル当たりの画素数である第１の単位画素数を算出し、前記Ｎ３と前記第２の画素数とを利用して、前記Ｎ３個のノズルについて１個のノズル当たりの画素数である第２の単位画素数を算出する第１の算出部と、前記第１の単位画素数と、前記第２の単位画素数と、前記第１のスキャン画像データに含まれる前記Ｍ個のドット画素の各画素値と、を利用して、前記Ｎ個のノズルのそれぞれについて、当該ノズルによって形成されるドットの濃度に関係する関係値を算出する第２の算出部と、前記Ｎ個のノズルについて算出されるＮ個の前記関係値を利用して、前記Ｎ個のノズルのインク吐出特性を示す特性データを生成する生成部と、を備える。
【０００７】
上記の構成によると、第２のテスト画像は、Ｎ１個のドットとＮ３個のドットとの間に第１の空白領域を含む。このために、画像処理装置は、第１の境界を特定して、第１の境界に基づいて第１の画素数と第２の画素数とを特定することができる。そして、画像処理装置は、第１の画素数を利用してＮ１個のノズルについて１個のノズル当たりの画素数である第１の単位画素数を算出し、第２の画素数を利用してＮ３個のノズルについて１個のノズル当たりの画素数である第２の単位画素数を算出する。即ち、画像処理装置は、Ｎ個のノズルのうちの少なくともＮ１個のノズル及びＮ３個のノズルについて、像伸びの影響が考慮された第１及び第２の単位画素数を算出することができる。そして、画像処理装置は、第１及び第２の単位画素数を利用して各ノズルの関係値を算出し、各ノズルの関係値を利用して特性データを生成する。この場合、例えば、画像処理装置は、生成された特性データを利用して、各ノズルのインク吐出特性を補正し得る。従って、画像処理装置は、像伸びが発生することを考慮して、各ノズルのインク吐出特性を適切に補正し得る。
【０００８】
上記の画像処理装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の画像処理装置と上記の印刷実行部と上記のスキャン実行部とを備える印刷システムも、新規で有用である。
【図面の簡単な説明】
【０００９】
【図１】印刷システムのブロック図を示す。
【図２】記録媒体に対する印刷ヘッドの各ノズルの配置方向及びスキャン実行部のスキャン方向を示す。
【図３】ＰＣのＣＰＵが実行する特性データ生成処理のフローチャートを示す。
【図４】テストパターンデータの例を示す。
【図５】スキャン画像データの例を示す。
【図６】各ノズルと画素列との対応付けの例を示す。
【図７】第２実施例の特性データ生成処理を説明する図を示す。
【図８】第３実施例の特性データ生成処理を説明する図を示す。
【発明を実施するための形態】
【００１０】
（第１実施例）
（印刷システム２の構成；図１）
図１に示されるように、印刷システム２は、ＰＣ（Personal Computerの略）１０と、プリンタ５０と、スキャナ７０と、を備える。ＰＣ１０は、ＬＡＮ４を介して、プリンタ５０及びスキャナ７０と通信可能である。プリンタ５０及びスキャナ７０は、ＰＣ１０の周辺機器である。
【００１１】
（ＰＣ１０の構成）
ＰＣ１０は、操作部１２と、表示部１４と、通信インターフェース１６と、制御部２０と、を備える。以下、インターフェースのことを「Ｉ／Ｆ」と記載する。操作部１２は、キーボード及びマウスによって構成される。ユーザは、操作部１２を操作することによって、様々な指示をＰＣ１０に入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。通信Ｉ／Ｆ１６は、ＬＡＮ４に接続されている。
【００１２】
制御部２０は、ＣＰＵ２２とメモリ２４とを備える。メモリ２４は、ＲＯＭ（Read Only Memoryの略）、ＲＡＭ（Random Access Memoryの略）等によって構成される。ＣＰＵ２２は、メモリ２４に記憶されているＯＳプログラム２６、ドライバプログラム２８等に従って、様々な処理を実行する。ＯＳプログラム２６は、ＰＣ１０の基本的な動作を実現するためのプログラムである。ドライバプログラム２８は、プリンタ５０のベンダによって提供され、プリンタ５０に関連する処理を実行するためのプログラムである。ドライバプログラム２８は、例えば、プリンタ５０と共に出荷されるメディアからＰＣ１０にインストールされてもよいし、プリンタ５０のベンダによって提供されるインターネット上のサーバからＰＣ１０にインストールされてもよい。
【００１３】
（プリンタ５０の構成）
プリンタ５０は、いわゆるラインヘッドタイプのインクジェットプリンタである。本実施例では、プリンタ５０は、モノクロ印刷を実行するためのプリンタである。プリンタ５０は、印刷ヘッド５２と、ヘッド駆動部と、媒体搬送部と、制御部と、を備える（印刷ヘッド５２以外は図示省略）。図２は、印刷ヘッド５２の簡略化された平面図を示す。印刷ヘッド５２は、方向Ｄ１，Ｄ２のいずれにも移動しない（即ち主走査を行わない）いわゆるラインヘッド（長尺ヘッドとも呼ぶ）である。方向Ｄ１は、用紙Ｐの搬送方向である方向Ｄ２に直交する方向である。印刷ヘッド５２の方向Ｄ１における長さは用紙Ｐの方向Ｄ１における長さよりも大きい。印刷ヘッド５２は、１７００個のノズルＮ１〜Ｎ１７００を備える。各ノズルは、いずれも、ブラック（Ｋ）のインクを吐出するためのノズルである。１７００個のノズルＮ１〜Ｎ１７００は、方向Ｄ１に沿って並んでいる。図２では、ノズルの参照符号はＮ１とＮ１７００のみを示しているが、以下では、ノズルＮ１側から数えてＸ個目（Ｘは１以上１７００以下の整数）のノズルを「ノズルＮＸ」のように表わす場合がある（例えば、５００個目のノズルは「ノズルＮ５００」と表わされる）。
【００１４】
ヘッド駆動部は、制御部からの指示に従って、印刷ヘッド５２からインク滴を吐出させる。媒体搬送部は、制御部からの指示に従って、給紙トレイに収容されている用紙Ｐを給紙トレイから取り出して、方向Ｄ２に沿って用紙Ｐを搬送する。制御部は、ＰＣ１０から供給される印刷データ（例えば図４のテストパターンデータ１００）に従って、ヘッド駆動部及び媒体搬送部の動作を制御する。上記の構成を備えるプリンタ５０では、媒体搬送部が用紙Ｐを方向Ｄ２に搬送させつつ、印刷ヘッド５２に用紙Ｐに向けてインクを吐出させることにより、用紙Ｐへの印刷を実現することができる。図２では、プリンタ５０がテストパターンデータ１００（図４）に従って印刷を行った結果、用紙Ｐにテスト画像３００が印刷される様子が示されている。
【００１５】
（スキャナ７０の構成）
スキャナ７０は、用紙をスキャンし、用紙に記録された画像を表わすスキャン画像データを生成するイメージスキャナである。本実施例では、スキャナ７０は、いわゆるフラットベッドスキャナである。スキャナ７０は、原稿台と、スキャン実行部７２と、制御部と、を備える（スキャン実行部７２以外は図示省略）。原稿台は、スキャン対象の用紙Ｐ（図２参照）が載置される台である。スキャン実行部７２は、ＣＣＤ（Charge Coupled Deviceの略）、ＣＩＳ（Contact Image Sensorの略）等のスキャン機構である。スキャン実行部７２は、制御部からの指示に従って、原稿台にセットされた用紙Ｐのスキャンを実行する。スキャン実行部７２は、原稿台に載置された用紙Ｐの上方（図２の紙面垂直方向の手前側）において、方向Ｄ１に沿って移動しつつ、スキャンを実行する。即ち、スキャン実行部７２は、プリンタ５０の印刷ヘッド５２における各ノズルＮ１等の配置方向と同じ方向Ｄ１に沿ってスキャンを実行する。制御部は、スキャン実行部７２によるスキャン結果を用いて、スキャン画像データを生成する。図２の例では、スキャナ７０が、テスト画像３００が印刷された用紙Ｐのスキャンを実行した結果、スキャン画像データ５００が生成される。
【００１６】
スキャナ７０が用紙Ｐ上のテスト画像３００をスキャンする際に、スキャン実行部７２の移動速度が安定しないことに起因して、方向Ｄ１において、スキャン画像の長さがテスト画像３００の長さよりも大きくなってしまういわゆる像伸びと呼ばれる事象が発生し得る。図２では、スキャン実行時に像伸びが発生した結果、スキャン画像データ５００が表わすスキャン画像の方向Ｄ１における長さが、用紙Ｐ上のテスト画像３００の方向Ｄ１における長さより大きくなっている様子が示されている。
【００１７】
（特性データ生成処理；図３）
次いで、ＰＣ１０のＣＰＵ２２が実行する特性データ生成処理について説明する。特性データ生成処理は、プリンタ５０の印刷ヘッド５２の１７００個のノズルＮ１〜Ｎ１７００のインク吐出特性を示す特性データを生成するための処理である。ＰＣ１０の操作部１２に所定の特性データ生成処理の開始指示がユーザによって入力されると、ＣＰＵ２２は、ドライバプログラム２８に従って、図３の特性データ生成処理を実行する。
【００１８】
Ｓ１０では、ＣＰＵ２２は、プリンタ５０にテストパターンを印刷させる。テストパターンは、図４に示すテストパターンデータ１００によって表される画像である。ドライバプログラム２８は、予め決められているテストパターンデータ１００を生成するためのプログラムを含む。テストパターンデータ１００では、インク滴を吐出させる画素値を有する各印刷画素がハッチングで示されており、インク滴を吐出させない画素値を有する各印刷画素が空白で示されている。テストパターンデータ１００は、複数個の印刷画素によって構成される第１の印刷画素グループ１５０と、複数個の印刷画素によって構成される第２の印刷画素グループ１１０と、を含む。第１の印刷画素グループ１５０は、印刷ヘッド５２の１７００個のノズルＮ１〜Ｎ１７００の全てにインク滴を吐出させる画素グループである。
【００１９】
第２の印刷画素グループ１１０は、５個のサブグループ１１２，１１４，１１６，１１８，１２０を含む。サブグループ１１２は、印刷ヘッド５２の１７００個のノズルのうちの方向Ｄ１の一端側から５００個のノズルＮ１〜Ｎ５００の全てにインク滴を吐出させるグループである。サブグループ１１４は、ノズルＮ５００に隣接する１００個のノズルＮ５０１〜Ｎ６００にインク滴を吐出させないサブグループである。同様に、サブグループ１１６は、ノズルＮ６００に隣接する５００個のノズルＮ６０１〜Ｎ１１００の全てにインク滴を吐出させるグループであり、サブグループ１１８は、ノズルＮ１１００に隣接する１００個のノズルＮ１１０１〜Ｎ１２００にインク滴を吐出させないグループであり、サブグループ１２０は、ノズルＮ１２００に隣接する５００個のノズルＮ１２０１〜Ｎ１７００の全てにインク滴を吐出させるグループである。
【００２０】
Ｓ１０でＣＰＵ２２が実行する処理を具体的に説明する。ＣＰＵ２２は、予め決められているテストパターンデータ１００を含む１個のテストパターンファイルを生成して、当該テストパターンファイルをプリンタ５０に供給する。テストパターンファイルには、テストパターンデータ１００の他に、印刷設定を示す印刷設定情報が含まれる。印刷設定は、例えば印刷解像度、用紙サイズ等を含む。本実施例では、印刷解像度は「６００ｄｐｉ」である。
【００２１】
プリンタ５０は、ＰＣ１０からテストパターンファイルを取得すると、用紙Ｐを方向Ｄ２に搬送させつつ、テストパターンデータに従って印刷ヘッド５２から用紙Ｐに向かってインクを吐出することによって、用紙Ｐへの印刷を実行する。この際、プリンタ５０は、印刷設定情報が示す印刷設定を利用して印刷を実行する。この結果、図２に示されるように、用紙Ｐにテスト画像３００が印刷される。
【００２２】
図２のテスト画像３００は、第１のテスト画像３５０と、第２のテスト画像３１０と、を含む。第１のテスト画像３５０、第２のテスト画像３１０は、それぞれ、図４のテストパターンデータ１００の第１の印刷画素グループ１５０、第２の印刷画素グループ１１０に対応する。第１のテスト画像３５０は、印刷ヘッド５２の１７００個のノズルＮ１〜Ｎ１７００の全てが複数回に亘ってインク滴を吐出することによって用紙Ｐ上に形成される複数個のドットによって構成される画像である。即ち、第１のテスト画像３５０は、方向Ｄ１に沿って並ぶ１７００個のドット列を含む。各ドット列は、方向Ｄ２に沿って並ぶ複数個のドットによって構成される。
【００２３】
第２のテスト画像３１０は、複数個の領域３１２，３１４，３１６，３１８，３２０を含む。各領域３１２，３１４，３１６，３１８，３２０は、図４のテストパターンデータ１００の５個のサブグループ１１２，１１４，１１６，１１８，１２０に対応する。領域３１２は、５００個のノズルＮ１〜Ｎ５００の全てが複数回に亘ってインク滴を吐出することによって用紙Ｐ上に形成される複数個のドットによって構成されるドット領域である。即ち、領域３１２は、方向Ｄ１に沿って並ぶ５００個のドット列を含む。領域３１４は、１００個のノズルＮ５０１〜Ｎ６００がインク滴を吐出しないことによって形成される空白領域である。同様に、領域３１６は、５００個のノズルＮ６０１〜Ｎ１１００の全てがインク滴を吐出することによって形成されるドット領域であり、領域３１８は、１００個のノズルＮ１１０１〜Ｎ１２００がインク滴を吐出しないことによって形成される空白領域であり、領域３２０は、５００個のノズルＮ１２０１〜Ｎ１７００の全てがインク滴を吐出することによって形成されるドット領域である。
【００２４】
次いで、Ｓ１２では、ＣＰＵ２２は、スキャナ７０からスキャン画像データ５００（図２、図５参照）を取得する。ユーザは、テスト画像３００が印刷された用紙Ｐをスキャナ７０の原稿台にセットして、ＰＣ１０の操作部１２に所定のスキャン開始指示を入力する。スキャン開始指示が入力されると、ＣＰＵ２２は、スキャナ７０にスキャン指示を供給する。スキャン指示は、スキャン設定を示すスキャン設定情報を含む。スキャン設定は、例えばスキャン解像度、用紙サイズ等を含む。本実施例では、スキャン解像度は、印刷解像度の２倍である「１２００ｄｐｉ」である。
【００２５】
スキャナ７０は、ＰＣ１０からスキャン指示を取得すると、スキャン設定情報が示すスキャン設定を利用してスキャンを実行する。スキャナ７０は、スキャン実行部７２を方向Ｄ１に沿って移動させてスキャンを実行させることによって、スキャン画像データ５００（図２、図５参照）を生成する。そして、スキャナ７０は、スキャン画像データ５００を含む１個のスキャン画像ファイルを生成し、ＰＣ１０に供給する。これにより、Ｓ１２において、ＣＰＵ２２はスキャン画像データ５００を取得する。
【００２６】
図５のスキャン画像データ５００では、テスト画像３００内の各ドットを表わす各スキャン画素がハッチングで示されており、テスト画像３００内の空白を表わす各スキャン画素が空白で示されている。スキャン画像データ５００は、複数個のスキャン画素によって構成される第１のスキャン画素グループ５５０と、複数個のスキャン画素によって構成される第２のスキャン画素グループ５１０と、を含む。第１のスキャン画素グループ５５０、第２のスキャン画素グループ５１０は、それぞれ、第１のテスト画像３５０、第２のテスト画像３１０に対応する。第１のスキャン画素グループ５５０は、第１のテスト画像３５０を構成する１７００個のドット列を表わす３４１６個の画素列ＰＬ１〜ＰＬ３４１６を含む。画素列ＰＬ１〜ＰＬ３４１６は、方向Ｄ１に沿って並んでいる。各画素列は、方向Ｄ２に沿って並ぶ複数個のスキャン画素によって構成される。図５では、画素列の符号はＰＬ１とＰＬ３１４６のみを示しているが、以下では、画素列ＰＬ１側から数えてＹ個目（Ｙは１以上３１４６以下の整数）の画素列を「画素列ＰＬＹ」のように表わす場合がある（例えば、１２０６個目の画素列は「画素列ＰＬ１２０６」と表わされる）。上記の通り、本実施例では、印刷解像度は６００ｄｐｉであり、スキャン解像度は１２００ｄｐｉ（即ち印刷解像度の２倍）である。そのため、スキャン時に像伸びが発生しない場合には、第１のスキャン画素グループ５５０を構成する画素列の数は３４００個（即ちノズル総数１７００の２倍）である。しかしながら、第１のスキャン画素グループ５５０は３４１６個の画素列ＰＬ１〜ＰＬ３４１６を含む。つまり、画素列１６個分の像伸び（図２参照）が発生している。
【００２７】
第２のスキャン画素グループ５１０は、複数個のサブグループ５１２，５１４，５１６，５１８，５２０を含む。各サブグループ５１２，５１６，５２０は、像伸びがなければ、１０００個の画素列によって構成されるが、像伸びが発生しているので、１０００個以上の画素列を含む。同様に、各サブグループ５１４，５１８は、像伸びがなければ、２００個の画素列によって構成されるが、像伸びが発生しているので、２００個以上の画素列を含む。
【００２８】
次いで、Ｓ１４では、ＣＰＵ２２は、スキャン画像データ５００内の各スキャン画素の画素値（即ちＲＧＢ値）を輝度値に変更する。ＣＰＵ２２は、例えば、以下の数式のＲ，Ｇ，Ｂに各画素のＲ値、Ｇ値、Ｂ値をそれぞれ代入することによって輝度値Ｖを求めることができる。数式は、「輝度値Ｖ＝０．２９９×Ｒ＋０．５８７×Ｇ＋０．１１４×Ｂ」である。
【００２９】
次いで、Ｓ１６では、ＣＰＵ２２は、スキャン画像データ５００内の第１のスキャン画素グループ５５０を構成する画素列毎に、当該画素列を構成する各スキャン画素の輝度値の平均値である第１種の平均輝度値を算出する。
【００３０】
次いで、Ｓ１８では、ＣＰＵ２２は、スキャン画像データ５００内の第２のスキャン画素グループ５１０を構成する画素列毎に、当該画素列を構成する各スキャン画素の輝度値の平均値である第２種の平均輝度値を算出する。サブグループ５１４，５１８が空白領域に対応すると共に各サブグループ５１２，５１６，５２０がドット領域に対応するので、サブグループ５１４，５１８を構成する各画素列の第２種の平均輝度値は、サブグループ５１２，５１６，５２０を構成する各画素列の第２種の平均輝度値よりも大きくなる。
【００３１】
次いで、Ｓ２０では、ＣＰＵ２２は、Ｓ１８で算出された各画素列の第２種の平均輝度値を参照して、第２のスキャン画素グループ５１０のうちの特定の境界を特定する。ＣＰＵ２２は、第２種の平均輝度値の差が大きい箇所を各サブグループ５１２〜５２０の境界として特定することができる。１回目のＳ２０では、ＣＰＵ２２は、サブグループ５１４とサブグループ５１６との境界（図５のＢ１０参照）を構成する画素列（本実施例では画素列ＰＬ１２０６）を特定する。
【００３２】
次いで、Ｓ２２では、ＣＰＵ２２は、画素列ＰＬ１からＳ２０で特定された境界（即ち画素列ＰＬ１２０６）について、ノズル１個当たりの画素列の数である単位画素列数を特定する。画素列ＰＬ１から画素列ＰＬ１２０６までの各画素列は、ノズルＮ１〜Ｎ６００に対応する。ＣＰＵ２２は、画素列数「１２０６」をノズル数「６００」で除することによって、単位画素列数「２．０１」を特定する（図５参照）。Ｓ２２で特定される単位画素列数は、像伸びの影響が考慮されたノズル１個当たりの画素列数であると言い換えることができる。
【００３３】
次いで、Ｓ２４では、ＣＰＵ２２は、各ノズルと画素列との対応付けを行う。上述したように、Ｓ２２では単位画素列数「２．０１」が特定された。これは、１個のノズルによって印刷される１個のドット列が、２．０１個分の画素列によって表わされることを意味する。このため、図６に示すように、まず、ＣＰＵ２２は、ノズルＮ１に対して、画素列ＰＬ１と、画素列ＰＬ２と、画素列ＰＬ３のうちの０．０１個分と、を対応付ける。次いで、ＣＰＵ２２は、ノズルＮ２に対して、画素列ＰＬ３のうちの０．９９個分と、画素列ＰＬ４と、画素列ＰＬ５のうちの０．０２個分と、を対応付ける。このように、ＣＰＵ２２は、各ノズルと２．０１個分の画素列とを順次対応付ける。
【００３４】
次いで、Ｓ２６では、ＣＰＵ２２は、各ノズルに対応するノズル輝度値を算出する。１個のノズルのノズル輝度値は、当該ノズルによって形成されるドットの輝度値である。例えば、Ｓ２４では、ノズルＮ１に対して、画素列ＰＬ１と、画素列ＰＬ２と、画素列ＰＬ３のうちの０．０１個分と、が対応付けられた。この場合、図６に示されるように、ＣＰＵ２２は、画素列ＰＬ１の第１種の平均輝度値Ｖ１と、画素列ＰＬ２の第１種の平均輝度値Ｖ２と、画素列ＰＬ３の第１種の平均輝度値Ｖ３に０．０１を乗算することによって得られる値と、の和（即ちＶ１＋Ｖ２＋０．０１×Ｖ３）を算出する。そして、ＣＰＵ３２は、当該和を単位画素列数「２．０１」で除算することによって、ノズルＮ１のノズル輝度値を算出する。
【００３５】
ＣＰＵ２２は、同様の手法でノズルＮ２のノズル輝度値を算出する。即ち、ＣＰＵ２２は、画素列ＰＬ３の第１種の平均輝度値Ｖ３に０．９９を乗算することによって得られる値と、画素列ＰＬ４の第１種の平均輝度値Ｖ４と、画素列ＰＬ５の第１種の平均輝度値Ｖ５に０．０２を乗算することによって得られる値と、の和（即ち０．９９×Ｖ３＋Ｖ４＋０．０２×Ｖ５）を算出する。そして、ＣＰＵ３２は、当該和を単位画素列数「２．０１」で除算することによって、ノズルＮ２のノズル輝度値を算出する。ＣＰＵ２２は、同様の手法でノズルＮ３〜ノズルＮ６００の各ノズル輝度値を算出する。
【００３６】
次いで、Ｓ２８では、ＣＰＵ２２は、各ノズルに対応する特性値を算出する。１個のノズルの特性値は、当該ノズルのインク吐出特性を示す。ＣＰＵ２２は、Ｓ２６で算出された各ノズルのノズル輝度値と、所定の目標値と、を比較し、両者の差分を特性値として算出する。この結果、ノズル輝度値が目標値よりも大きかった場合、当該ノズルは目標よりも淡くインクが吐出されるという特性を有することを意味する。反対に、ノズル輝度値が目標値よりも小さかった場合、当該ノズルは目標よりも濃くインクが吐出されるという特性を有することを意味する。
【００３７】
次いで、Ｓ３０では、ＣＰＵ２２は、この時点で、印刷ヘッド５２のすべてのノズルＮ１〜Ｎ１７００の特性値を算出済みであるか否かを判断する。この時点ですべてのノズルＮ１〜Ｎ１７００の特性値が算出済みである場合、ＣＰＵ２２は、Ｓ３０でＹＥＳと判断し、Ｓ３２に進む。一方、この時点ですべてのノズルＮ１〜Ｎ１７００の特性値がまだ算出されていない場合、ＣＰＵ２２は、Ｓ３０でＮＯと判断し、Ｓ２０に戻る。Ｓ２０では、ＣＰＵ２２は、新たな特定の境界を特定する。そして、ＣＰＵ２２は、Ｓ２２〜Ｓ２８の処理を再度実行する。
【００３８】
１回目のＳ３０の時点では、ＣＰＵ２２はＮＯと判断する。この場合、２回目のＳ２０では、ＣＰＵ２２は、サブグループ５１８とサブグループ５２０との境界（図５のＢ２０参照）を構成する画素列（本実施例では画素列ＰＬ２４１４）を特定する（図５参照）。次いで、２回目のＳ２２では、ＣＰＵ２２は、前回のＳ２０で特定された画素列ＰＬの次の画素列（即ち画素列ＰＬ１２０７）から、２回目のＳ２０で特定された画素列（即ち画素列ＰＬ２４１４）について、単位画素列数を特定する。具体的には、ＣＰＵ２２は、画素列数「１２０８」をノズル数「６００」で除することによって、単位画素列数「２．０１３」を特定する（図５参照）。２回目のＳ２２で算出される単位画素列数「２．０１３」は、１回目のＳ２２で算出された単位画素列数「２．０１」に比べて大きい。即ち、サブグループ５１６，５１８では、サブグループ５１２，５１４に比べて像伸びの影響が大きかったことを意味する。２回目のＳ２４〜Ｓ２８の内容は、１回目のＳ２４〜Ｓ２８とほぼ同様であるため、詳しい説明は省略する。
【００３９】
続く２回目のＳ３０の時点でも、ＣＰＵ２２はＮＯと判断する。３回目のＳ２０では、ＣＰＵ２２は、サブグループ５２０と、方向Ｄ１における下端の空白との境界（図５のＢ３０参照）を構成する画素列（即ち画素列ＰＬ３４１６）を特定する（図５参照）。次いで、３回目のＳ２２では、ＣＰＵ２２は、前回のＳ２０で特定された画素列ＰＬの次の画素列（即ち画素列ＰＬ２４１５）から、３回目のＳ２０で特定された画素列（即ち画素列ＰＬ３４１６）について、単位画素列数を特定する。具体的には、ＣＰＵ２２は、画素列数「１００２」をノズル数「５００」で除することによって、単位画素列数「２．００４」を特定する（図５参照）。３回目のＳ２２で算出される単位画素列数「２．００４」は、これまでに算出された単位画素列数「２．０１」及び「２．０１３」に比べて小さい。即ち、サブグループ５２０では、サブグループ５１２〜５１８に比べて像伸びの影響が小さかったことを意味する。続く３回目のＳ２４〜Ｓ２８の内容も、１、２回目のＳ２４〜Ｓ２８とほぼ同様であるため、詳しい説明は省略する。３回目のＳ３０では、ＣＰＵ２２はＹＥＳと判断し、Ｓ３２に進む。
【００４０】
Ｓ３２では、ＣＰＵ２２は、各ノズルの特性値を含む特性データを生成する。ＣＰＵ２２は、Ｓ３２で生成された特性データをメモリ２４に記憶する。Ｓ３２を終えると、図３の特性データ生成処理が終了する。これ以後、例えば、ＣＰＵ２２が印刷データを生成する場合において、ＣＰＵ２２は、メモリ２４に記憶された特性データに含まれる各ノズルの特性値に基づいて印刷用の画像データの濃度を補正し、補正された画像データを印刷データとしてプリンタ５０に供給する。これにより、プリンタ５０は、各ノズルのインク吐出特性が適切に補正された印刷を行うことができる。
【００４１】
上記の通り、本実施例では、図３のＳ１０で印刷されるテスト画像３００の第２のテスト画像３１０（図２参照）は、ドット領域である領域３１２と領域３１６との間に空白領域である領域３１４を有し、ドット領域である領域３１６と領域３２０との間に空白領域である領域３１８を有する。このため、１回目の図３のＳ２０では、ＣＰＵ２２は、サブグループ５１４とサブグループ５１６との境界の画素列ＰＬ１２０６を特定し、画素列数「１２０６」を特定することができる。２回目のＳ２０では、ＣＰＵ２２は、サブグループ５１８とサブグループ５２０との境界の画素列ＰＬ２４１４を特定し、画素列数「１２０８」を特定することができる。３回目のＳ２０では、ＣＰＵ２２は、サブグループ５２０と空白との境界の画素列ＰＬ３４１６を特定し、画素列数「１００２」を特定することができる。そして、１回目のＳ２４では、ＣＰＵ２２は、６００個のノズルＮ１〜Ｎ６００について単位画素数「２．０１」を算出する。２回目のＳ２４では、ＣＰＵ２２は、６００個のノズルＮ６０１〜Ｎ１２００について単位画素数「２．０１３」を算出する。３回目のＳ２４では、ＣＰＵ２２は、５００個のノズルＮ１２０１〜Ｎ１７００について単位画素数「２．００４」を算出する。即ち、ＣＰＵ２２は、ノズルＮ１〜Ｎ６００、ノズルＮ６０１〜１２００、ノズルＮ１２０１〜１７００、の各ノズルグループ内の各ノズルについて、像伸びの影響が考慮された単位画素数を算出することができる。そして、ＣＰＵ２２は、算出された単位画素数を利用して各ノズルのノズル輝度値を算出し、ノズル輝度値を利用して各ノズルの特性値を算出し、特性データを生成する（Ｓ２６〜Ｓ３２）。上記の通り、ＣＰＵ２２は、特性データを用いて印刷用の画像データの濃度を補正し、補正された画像データを印刷データとしてプリンタ５０に供給することで、ノズルのインク吐出特性を補正した印刷を実行することができる。従って、本実施例によると、ＰＣ１０は、像伸びが発生することを考慮して、各ノズルのインク吐出特性を適切に補正し得る。
【００４２】
本実施例の作用効果をより明確に説明するための比較例を説明する。比較例では、図３のＳ１０において、ＣＰＵ２２が、第２のテスト画像３１０を含まず、第１のテスト画像３５０のみを含むテスト画像を用紙に印刷させる。そのため、この比較例では、Ｓ１８、Ｓ２０の処理は実行されない。そして、Ｓ２２では、ＣＰＵ２２は、１７００個のノズルＮ１〜Ｎ１７００に対応する第１のスキャン画素グループ５５０について「３４１６（即ちグループ５５０内の画素列数）／１７００（即ちノズル数）」を計算し、単位画素列数「２．００９」を特定する。比較例のＳ２２で算出される単位画素列数「２．００９」も、像伸びの影響をある程度考慮していると言える。しかしながら、比較例の技術では、ＰＣ１０は、すべてのノズルＮ１〜Ｎ１７００について均一の単位画素列数「２．００９」を特定するため、例えば、スキャン時において、スキャン実行部７２の移動速度が局所的に変化する場合などにおいて、その影響を考慮した特性値を算出することはできない。
【００４３】
これに対し、本実施例では、上記の通り、テスト画像３００は領域３１２〜３２０を含む第２のテスト画像３１０を有する。ＣＰＵ２２は、ノズルＮ１〜Ｎ６００について単位画素数「２．０１」を算出し、６００個のノズルＮ６０１〜Ｎ１２００について単位画素数「２．０１３」を算出し、５００個のノズルＮ１２０１〜Ｎ１７００について単位画素数「２．００４」を算出する。即ち、本実施例では、ＣＰＵ２２は、ノズルＮ１〜Ｎ６００、ノズルＮ６０１〜１２００、ノズルＮ１２０１〜１７００、の各ノズルグループ内の各ノズルについて、像伸びの影響が考慮された単位画素数を算出し、その結果を用いて各ノズルの特性値を算出することができる。上記の比較例とは異なり、スキャン実行時においてスキャン実行部７２の移動速度が局所的に変化する場合であっても、その影響を減少させることができる。従って、本実施例のＰＣ１０は、例えば像伸びの度合いが場所によって変化する場合であっても、その影響を考慮して、各ノズルの特性値を適切に特定し得る。
【００４４】
また、本実施例では、第２のテスト画像３１０（図２参照）は、２個の空白領域（即ち領域３１４，３１６）を含んでいる。そのため、ＣＰＵ２２は、テスト画像に１個の空白領域のみが含まれる構成を採用する場合に比べて、第２のスキャン画素グループ５１０内においてより多くの異なる境界を特定することができる（図３のＳ２２）。従って、本実施例では、ＰＣ１０は、像伸びの影響をより適切に考慮して、各ノズルの特性値を特定することができる。
【００４５】
また、本実施例では、図３のＳ１０では、ＣＰＵ２２は、テストパターンデータ１００を含む１個のテストパターンファイルを生成し、当該テストパターンファイルをプリンタ５０に供給する。これにより、１枚の用紙Ｐに、第１のテスト画像３５０と第２のテスト画像３１０とを含むテスト画像３００が印刷される。Ｓ１２では、テスト画像３００が印刷された用紙Ｐをスキャン実行部７２がスキャンすることによって生成されるスキャン画像データ５００（図５）を含む１個のスキャン画像ファイルが取得される。即ち、第１のスキャン画素グループ５５０と、第２のスキャン画素グループ５１０と、はどちらも同じスキャン処理によって形成される。即ち、第１のスキャン画素グループ５５０と、第２のスキャン画素グループ５１０と、が同じスキャン条件の下で生成されるため、第１のテスト画像３５０と第２のテスト画像３１０とを別個に印刷し、別個にスキャンする構成を採用する場合と比較すると、像伸びの影響をより適切に考慮して特性値を算出することができる。
【００４６】
本実施例と請求項の対応関係を説明する。ＣＰＵ２２が「画像処理装置」の一例である。印刷ヘッド５２が「印刷実行部」の一例である。用紙Ｐが「第１の記録媒体」、「第２の記録媒体」の一例である。方向Ｄ１，Ｄ２が、それぞれ、「第１方向」、「第２方向」の一例である。領域３１２，３１４，３１６，３１８，３２０が、それぞれ「Ｎ１個のドット」、「第１の空白領域」、「Ｎ３個のドット」、「第２の空白領域」、「Ｎ５個のドット」の一例である。第１のスキャン画素グループ５５０、第２のスキャン画素グループ５１０が、それぞれ「第１のスキャン画像データ」、「第２のスキャン画像データ」の一例である。図５の境界Ｂ１０、Ｂ２０が、それぞれ、「第１の境界」、「第２の境界」の一例である。ＲＧＢ値、輝度値が、それぞれ、「画素値」、「関係値」の一例である。
【００４７】
（第２実施例）
本実施例では、特性データ生成処理（図３参照）の内容の一部が第１実施例とは異なる。図７は、本実施例における特定の境界の特定（図３のＳ２０）の手法を模式的に示す。図７に示されるように、本実施例の１回目のＳ２０では、ＣＰＵ２２は、サブグループ５１２とサブグループ５１４との間の境界Ｂ１１０を構成する画素列ＰＬ１００４を特定する。続くＳ２２では、ＣＰＵ２２は、画素列ＰＬ１から画素列ＰＬ１００４までの間における画素列数「１００４」をノズル数「５００」で除することによって単位画素列数「２．００４」を特定する（図７参照）。２回目のＳ２０では、ＣＰＵ２２は、サブグループ５１６とサブグループ５１８との境界Ｂ１２０の画素列ＰＬ２２１２を特定する。続く２回目のＳ２２では、ＣＰＵ２２は、画素列ＰＬ１００５から画素列ＰＬ２２１２までの間における画素列数「１２０８」をノズル数「６００」で除することによって単位画素列数「２．０１３」を特定する。３回目のＳ２０では、ＣＰＵ２２は、サブグループ５２０と、方向Ｄ１における下端の空白との境界Ｂ１３０を構成する画素列ＰＬ３４１６を特定する。続く３回目のＳ２２では、ＣＰＵ２２は、画素列ＰＬ２２１３から画素列ＰＬ３４１６までの間の画素列数「１２０４」をノズル数「６００」で除することによって、単位画素列数「２．００６」を特定する。これ以外の各処理は第１実施例と共通する。本実施例のＰＣ１０によっても、第１実施例と同様の作用効果を実現することができる。
【００４８】
（第３実施例）
本実施例でも、特性データ生成処理（図３参照）の内容の一部が第１実施例とは異なる。図８は、本実施例における特定の境界の特定（Ｓ２０）の手法を模式的に示す図である。図８に示されるように、本実施例の１回目のＳ２０では、ＣＰＵ２２は、サブグループ５１２とサブグループ５１４との境界Ｂ２１０を構成する画素列ＰＬ１００４を特定する。続くＳ２２では、ＣＰＵ２２は、画素列ＰＬ１から画素列ＰＬ１００４までの間における画素列数「１００４」をノズル数「５００」で除することによって単位画素列数「２．００８」を特定する（図８参照）。２回目のＳ２０では、ＣＰＵ２２は、サブグループ５１４とサブグループ５１６との境界Ｂ２２０を構成する画素列ＰＬ１２０６を特定する。続く２回目のＳ２２では、ＣＰＵ２２は、画素列ＰＬ１００５から画素列ＰＬ１２０６までの間における画素列数「２０２」をノズル数「１００」で除することによって単位画素列数「２．０２」を特定する。３回目のＳ２０では、ＣＰＵ２２は、サブグループ５１６とサブグループ５１８との境界Ｂ２３０を構成する画素列ＰＬ２２１４を特定する。続く３回目のＳ２２では、ＣＰＵ２２は、画素列ＰＬ１２０７から画素列ＰＬ２２１４までの画素列数「１００８」をノズル数「５００」で除することによって単位画素列数「２．０１６」を特定する。４回目のＳ２０では、ＣＰＵ２２は、サブグループ５１８とサブグループ５２０との境界Ｂ２４０を構成する画素列ＰＬ２４１４を特定する。続く４回目のＳ２２では、ＣＰＵ２２は、画素列ＰＬ２２１５から画素列ＰＬ２４１４までの画素列数「２００」をノズル数「１００」で除することによって単位画素列数「２．００」を特定する。５回目のＳ２０では、ＣＰＵ２２は、サブグループ５２０と方向Ｄ１における下端の空白との境界Ｂ２５０を構成する画素列ＰＬ３４１６を特定する。５回目のＳ２２では、ＣＰＵ２２は、画素列ＰＬ２４１５から画素列ＰＬ３４１６までの間の画素列数「１００２」をノズル数「５００」で除することによって単位画素列数「２．００４」を特定する。これ以外の各処理は第１実施例と共通する。本実施例のＰＣ１０によっても、第１実施例と同様の作用効果を実現することができる。
【００４９】
以上、本明細書で開示する技術の具体例を説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００５０】
（変形例１）上記の実施例では、図２のテスト画像３００の領域３５２は、方向Ｄ１に沿って並ぶ１７００個のドット列を含む。同様に、領域３１２，３１６，３２０は、それぞれ、方向Ｄ１に沿って並ぶ５００個のドット列を含む。各ドット列は、方向Ｄ２に沿って並ぶ複数個のドットによって構成される。言い換えると、上記の実施例では、領域３５２，３１２，３１６，３２０は、いずれも方向Ｄ２に沿って幅（即ちドット２個分以上の長さ）を有している。これに限られず、領域３５２は、方向Ｄ１に沿って並ぶ１７００個のドットによって構成されていてもよい。同様に、領域３１２，３１６，３２０は、それぞれ、方向Ｄ１に沿って並ぶ５００個のドットによって構成されていてもよい。即ち、領域３５２，３１２，３１６，３２０は、いずれもＤ２方向に幅を有していなくてもよい。この変形例では、図３のＳ１６では、ＣＰＵ２２は、第１のスキャン画素グループ５５０に含まれる各画素の輝度値を特定すればよい。同様に、Ｓ１８では、ＣＰＵ２２は、第２のスキャン画素グループ５１０に含まれる各画素の輝度値を特定すればよい。
【００５１】
（変形例２）上記の実施例では、図２のテスト画像３００に含まれる第２のテスト画像３１０は、２個の空白領域（即ち領域３１４，３１８）を含む。これに限られず、第２のテスト画像が、２個のドット領域の間に１個の空白領域を含んでいれば、空白領域の数は１個でもよい。この変形例でも、ＣＰＵ２２は、特定の境界の画素列を特定することができる（図３のＳ２０）。
【００５２】
（変形例３）上記の実施例では、図３のＳ１０では、ＣＰＵ２２は、テストパターンデータ１００を含む１個のテストパターンファイルを生成し、当該テストパターンファイルをプリンタ５０に供給する。これにより、１枚の用紙Ｐに、第１のテスト画像３５０と第２のテスト画像３１０とを含むテスト画像３００が印刷される。Ｓ１２では、テスト画像３００が印刷された用紙Ｐをスキャン実行部７２がスキャンすることによって生成されるスキャン画像データ５００（図５）を含む１個のスキャン画像ファイルが取得される。これに限られず、第１の印刷画素グループ１５０と、第２の印刷画素グループ１１０とが別個のファイルに含まれていてもよい。その場合、第１のテスト画像３５０と、第２のテスト画像３１０と、が異なる用紙に別個に印刷され、別個にスキャンされてもよい。その場合、第１のスキャン画素グループ５５０に相当するスキャン画像ファイルと、第２のスキャン画素グループ５１０に相当するスキャン画像ファイルとが個別に取得されてもよい。
【００５３】
（変形例４）上記の実施例では、テストパターンの印刷時の印刷解像度は６００ｄｐｉであり、テスト画像３００のスキャン時のスキャン解像度は１２００ｄｐｉ（即ち、印刷解像度の２倍）である。しかしながら、テストパターンの印刷時の印刷解像度、及び、テスト画像３００のスキャン時のスキャン解像度はこれら以外の値に設定されてもよい。
【００５４】
（変形例５）プリンタ５０は、カラー印刷を実行するためのプリンタであってもよい。その場合、印刷ヘッド５２は、方向Ｄ１（図２参照）に沿って並ぶ１７００本のノズル列を備えていてもよい。各ノズル列は、シアン（Ｃ）、マゼンタ（Ｍ）、及び、イエロー（Ｙ）の３種類の有彩色と、ブラック（Ｋ）の１種類の無彩色と、を含む４種類の色のインクを吐出するための４個のノズルを備えていてもよい。その場合、テストパターンデータは、Ｃ，Ｍ，Ｙ，Ｋの各色のためのテストパターンを含んでいてもよい。この変形例による場合、ＣＰＵ２２は、Ｃ，Ｍ，Ｙ，Ｋの各色に対応するノズルについて個別に特性データ生成処理を実行することができる。
【００５５】
（変形例６）上記の実施例では、印刷ヘッド５２は、いわゆるラインヘッドであり、方向Ｄ１，Ｄ２のいずれの方向にも移動しない。これに限られず、印刷ヘッドは、いわゆるシリアルヘッドであってもよい。即ち、印刷ヘッドは、方向Ｄ２に移動（即ち走査）しながらインクを吐出してもよい。その場合、用紙Ｐは方向Ｄ１に沿って搬送されてもよい。印刷ヘッドがシリアルヘッドである場合も、ＣＰＵ２２は、図３の特性データ生成処理を実行することができる。
【００５６】
（変形例７）スキャナ７０は、いわゆるＡＤＦ（Auto Document Feederの略）スキャナであってもよい。その場合、スキャナ７０は、原稿送り部と、スキャン実行部７２と、制御部と、を備えればよい。スキャン実行部７２は移動せず、原稿送り部によって用紙Ｐが移動する間にスキャンが実行されればよい。その場合も、スキャン実行部７２が用紙Ｐに対して方向Ｄ１に沿って相対移動すればよい（図２参照）。
【００５７】
（変形例８）上記の各実施例では、図３の各処理がソフトウェア（即ちプログラム）によって実現されるが、これらの各処理のうちの少なくとも１つが論理回路等のハードウェアによって実現されてもよい。
【００５８】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００５９】
２：印刷システム、１０：ＰＣ、２０：制御部、２２：ＣＰＵ、２４：メモリ、５０：プリンタ、５２：印刷ヘッド、７０：スキャナ、７２：スキャン実行部、１００:テストパターンデータ、３００：テスト画像、５００：スキャン画像データ、Ｐ：用紙
【図１】
2018144328.tif 000003
【図２】
2018144328.tif 000004
【図３】
2018144328.tif 000005
【図４】
2018144328.tif 000006
【図５】
2018144328.tif 000007
【図６】
2018144328.tif 000008
【図７】
2018144328.tif 000009
【図８】
2018144328.tif 000010