(57)【要約】【課題】  ドット形成位置の調整を行わずとも高画質な画像印刷を可能とする。【解決手段】  ノズルＮ個がノズルピッチｋの間隔で設けられたヘッドを駆動しながら、ラスタ１本あたりｓ回の主走査で形成することで画像を印刷する場合、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして、ドットの位置ずれをブロック内の各画素位置で検出する。位置ずれは、主走査方向にはｓ画素、副走査方向にはＮ×ｋ画素を周期として生じるから、このようなブロック内の各画素位置で位置ずれを検出しておけば、画像の全画素位置での位置ずれを決定することができる。そこで、ドットがこのようにずれて形成されたときに、好適なドットの分散状態が得られるようにディザマトリックスを生成する。こうすれば、ドットの形成位置を調整せずとも、ドットが分散した高画質な画像を印刷することが可能となる。【選択図】  図１
2005205881.tif 000002
【特許請求の範囲】
【請求項１】
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する印刷装置であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドと、
前記ヘッドを前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を繰り返し行うことにより、該印刷媒体上にドットの列たるラスタを複数本形成するラスタ形成手段と、
前記ドットが前記印刷媒体上に形成される実際の形成位置と設計上の形成位置との位置ずれを検査するための、所定の検査画像を印刷する検査画像印刷手段と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記印刷された検査画像から検出する位置ずれ検出手段と、
前記ディザ法で用いられるディザマトリックスの閾値を前記位置ずれの検出結果に基づいて設定することにより、該ディザマトリックスを生成するディザマトリックス生成手段と
を備える印刷装置。
【請求項２】
請求項１記載の印刷装置であって、
前記ディザマトリックス生成手段は、前記主走査方向にｐ×ｓ画素、前記副走査方向にｑ×Ｎ×ｋ画素の大きさ（ｐ，ｑは正の整数）の、前記ディザマトリックスを生成する手段である印刷装置。
【請求項３】
請求項１記載の印刷装置であって、
前記検査画像印刷手段は、前記検査画像として、少なくとも前記主走査方向および前記副走査方向には、隣接する画素にドットが形成されないような画像を印刷する手段である印刷装置。
【請求項４】
請求項１記載の印刷装置であって、
前記ヘッドは、大きさの異なる複数種類のドットを形成可能なヘッドであり、
前記検査画像印刷手段は、最も大きなドット以外のドットを用いて前記検査画像を印刷する手段である印刷装置。
【請求項５】
請求項１記載の印刷装置であって、
前記検査画像印刷手段は、前記検査画像の画像データを前記ハーフトーン処理が施された状態で記憶しておき、該画像データに基づいて前記印刷媒体上にドットを形成することによって、該検査画像を印刷する手段である印刷装置。
【請求項６】
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する印刷装置であって、
前記ハーフトーン処理で参照され、前記印刷装置に固有のディザマトリックスを記憶しているディザマトリックス記憶手段と、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドと、
前記ヘッドを、前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら該ノズルを駆動してドットを形成する動作たる主走査を、繰り返し行って該印刷媒体上にドットの列たるラスタを複数本形成することにより、前記画像を印刷するラスタ形成手段と
を備え、
前記ディザマトリックス記憶手段は、前記印刷装置に固有のディザマトリックスとして、
前記ドットが前記印刷媒体上に形成される実際の形成位置と、設計上の形成位置との位置ずれを検査するための所定の検査画像を、前記印刷装置を用いて印刷し、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記印刷された検査画像から検出し、
前記位置ずれの検出結果に基づいて、前記ディザマトリックスの閾値が設定されたマトリックスを記憶している手段である印刷装置。
【請求項７】
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する印刷装置であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドと、
前記ヘッドを前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら該ノズルを駆動してドットを形成する動作たる主走査を、繰り返し行って該印刷媒体上にドットの列たるラスタを複数本形成することにより、前記画像を印刷するラスタ形成手段と、
前記印刷媒体上にドットを形成する実際の形成位置と、設計上の形成位置との位置ずれの、前記印刷装置についての検出結果を記憶している位置ずれ検出結果記憶手段と、
前記ディザ法で用いられるディザマトリックスの閾値を、前記記憶されている位置ずれの検出結果に基づいて設定することにより、該ディザマトリックスを生成するディザマトリックス生成手段と
を備え、
前記位置ずれ検出結果記憶手段は、前記印刷装置についての位置ずれの検出結果として、
前記位置ずれを検査するための所定の検査画像を、前記印刷装置を用いて印刷し、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置で、前記検査画像から検出された前記位置ずれを記憶しておく手段である印刷装置。
【請求項８】
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する印刷方法であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を繰り返し行うことにより、該印刷媒体上にドットの列たるラスタを複数本形成する工程と、
前記印刷媒体上に複数本のラスタを形成することにより、前記ドットが前記印刷媒体上に形成される実際の形成位置と設計上の形成位置との位置ずれを検査するための、所定の検査画像を印刷する工程と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する工程と、
前記ディザ法で用いられるディザマトリックスの閾値を前記位置ずれの検出結果に基づいて設定することにより、該ディザマトリックスを生成する工程と
を備える印刷方法。
【請求項９】
請求項８記載の印刷方法であって、
前記ディザマトリックスを生成する工程は、前記主走査方向にｐ×ｓ画素、副走査方向にｑ×Ｎ×ｋ画素の大きさ（ｐ，ｑは正の整数）のマトリックスを生成する工程である印刷方法。
【請求項１０】
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する印刷方法であって、
前記ハーフトーン処理で参照され、前記印刷装置に固有のディザマトリックスを記憶しておく工程と、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら該ノズルを駆動してドットを形成する動作たる主走査を、繰り返し行って該印刷媒体上にドットの列たるラスタを複数本形成することにより、前記画像を印刷する工程と
を備え、
前記ディザマトリックスを記憶しておく工程は、前記印刷装置に固有のディザマトリックスとして、
前記ドットが前記印刷媒体上に形成される実際の形成位置と、設計上の形成位置との位置ずれを検査するための所定の検査画像を、前記印刷装置を用いて印刷し、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記印刷された検査画像から検出し、
前記位置ずれの検出結果に基づいて、前記ディザマトリックスの閾値が設定されたマトリックスを記憶しておく工程である印刷方法。
【請求項１１】
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する印刷方法であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら該ノズルを駆動してドットを形成する動作たる主走査を、繰り返し行って該印刷媒体上にドットの列たるラスタを複数本形成することにより、前記画像を印刷する工程と、
前記印刷媒体上にドットを形成する実際の形成位置と、設計上の形成位置との位置ずれの、前記印刷装置についての検出結果を記憶しておく工程と、
前記ディザ法で用いられるディザマトリックスの閾値を、前記記憶されている位置ずれの検出結果に基づいて設定することにより、該ディザマトリックスを生成する工程と
を備え、
前記検出結果を記憶しておく工程は、前記印刷装置についての位置ずれの検出結果として、
前記位置ずれを検査するための所定の検査画像を、前記印刷装置を用いて印刷し、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置で、前記検査画像から検出された前記位置ずれを記憶しておく工程である印刷方法。
【請求項１２】
ディザ法を適用してハーフトーン処理を行う際に参照されるディザマトリックスを生成する方法であって、
印刷媒体上にドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、該印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を行う工程と、
前記主走査を繰り返し行って、前記印刷媒体上にドットの列たるラスタを複数本形成することにより、該ドットが該印刷媒体上に形成される実際の形成位置と設計上の形成位置との位置ずれを検査するための、所定の検査画像を印刷する工程と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する工程と、
前記位置ずれの検出結果に基づいて、該ディザマトリックスの各画素の閾値を設定する工程と
を備えるディザマトリックス生成方法。
【請求項１３】
請求項１２記載のディザマトリックス生成方法であって、
前記ディザマトリックスの閾値を設定する工程は、前記主走査方向にｐ×ｓ画素、前記副走査方向にｑ×Ｎ×ｋ画素の大きさ（ｐ，ｑは正の整数）を有する該ディザマトリックスの各画素に閾値を設定する工程であるディザマトリックス生成方法。
【請求項１４】
印刷媒体上にドットを形成して画像を印刷する印刷装置が、該印刷媒体上に形成するドットの設計上の位置と、実際にドットを形成する位置との位置ずれを検出する検出方法であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を行う工程と、
前記主走査を繰り返し行って、前記印刷媒体上にドットの列たるラスタを複数本形成することにより、該ドットについての前記位置ずれを検査するための所定の検査画像を印刷する工程と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する工程と
を備える検出方法。
【請求項１５】
印刷媒体上にドットを形成して画像を印刷する印刷装置が、該印刷媒体上に形成するドットの設計上の位置と、実際にドットを形成する位置との位置ずれを調整する調整方法であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を行う工程と、
前記主走査を繰り返し行って、前記印刷媒体上にドットの列たるラスタを複数本形成することにより、該ドットについての前記位置ずれを検査するための所定の検査画像を印刷する工程と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する工程と、
前記位置ずれの検出結果に基づいて、前記ドットの形成位置を調整する工程と
を備える調整方法。
【請求項１６】
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する方法を、コンピュータを用いて実現するためのプログラムであって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を繰り返し行うことにより、該印刷媒体上にドットの列たるラスタを複数本形成する機能と、
前記印刷媒体上に複数本のラスタを形成することにより、前記ドットが前記印刷媒体上に形成される実際の形成位置と設計上の形成位置との位置ずれを検査するための、所定の検査画像を印刷する機能と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する機能と、
前記ディザ法で用いられるディザマトリックスの閾値を前記位置ずれの検出結果に基づいて設定することにより、該ディザマトリックスを生成する機能と
を実現するためのプログラム。
【請求項１７】
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する方法を、コンピュータを用いて実現するためのプログラムであって、
前記ハーフトーン処理で参照され、前記印刷装置に固有のディザマトリックスを記憶しておく機能と、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら該ノズルを駆動してドットを形成する動作たる主走査を、繰り返し行って該印刷媒体上にドットの列たるラスタを複数本形成することにより、前記画像を印刷する機能と
を実現するとともに、
前記ディザマトリックスを記憶しておく機能は、前記印刷装置に固有のディザマトリックスとして、
前記ドットが前記印刷媒体上に形成される実際の形成位置と、設計上の形成位置との位置ずれを検査するための所定の検査画像を、前記印刷装置を用いて印刷し、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記印刷された検査画像から検出し、
前記位置ずれの検出結果に基づいて、前記ディザマトリックスの閾値が設定されたマトリックスを記憶しておく機能であるプログラム。
【請求項１８】
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する方法を、コンピュータを用いて実現するためのプログラムであって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら該ノズルを駆動してドットを形成する動作たる主走査を、繰り返し行って該印刷媒体上にドットの列たるラスタを複数本形成することにより、前記画像を印刷する機能と、
前記印刷媒体上にドットを形成する実際の形成位置と、設計上の形成位置との位置ずれの、前記印刷装置についての検出結果を記憶しておく機能と、
前記ディザ法で用いられるディザマトリックスの閾値を、前記記憶されている位置ずれの検出結果に基づいて設定することにより、該ディザマトリックスを生成する機能と
を実現するとともに、
前記検出結果を記憶しておく機能は、前記印刷装置についての位置ずれの検出結果として、
前記位置ずれを検査するための所定の検査画像を、前記印刷装置を用いて印刷し、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置で、前記検査画像から検出された前記位置ずれを記憶しておく機能であるプログラム。
【請求項１９】
ディザ法を適用してハーフトーン処理を行う際に参照されるディザマトリックスを生成する方法を、コンピュータを用いて実現するためのプログラムであって、
印刷媒体上にドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、該印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を行う機能と、
前記主走査を繰り返し行って、前記印刷媒体上にドットの列たるラスタを複数本形成することにより、該ドットが該印刷媒体上に形成される実際の形成位置と設計上の形成位置との位置ずれを検査するための、所定の検査画像を印刷する機能と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する機能と、
前記位置ずれの検出結果に基づいて、該ディザマトリックスの各画素の閾値を設定する機能と
を実現するためのプログラム。
【請求項２０】
印刷媒体上にドットを形成して画像を印刷する印刷装置が、該印刷媒体上に形成するドットの設計上の位置と、実際にドットを形成する位置との位置ずれを検出する方法を、コンピュータを用いて実現するためのプログラムであって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を行う機能と、
前記主走査を繰り返し行って、前記印刷媒体上にドットの列たるラスタを複数本形成することにより、該ドットについての前記位置ずれを検査するための所定の検査画像を印刷する機能と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する機能と
を実現するためのプログラム。
【請求項２１】
印刷媒体上にドットを形成して画像を印刷する印刷装置が、該印刷媒体上に形成するドットの設計上の位置と、実際にドットを形成する位置との位置ずれを調整する方法を、コンピュータを用いて実現するためのプログラムであって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を行う機能と、
前記主走査を繰り返し行って、前記印刷媒体上にドットの列たるラスタを複数本形成することにより、該ドットについての前記位置ずれを検査するための所定の検査画像を印刷する機能と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する機能と、
前記位置ずれの検出結果に基づいて、前記ドットの形成位置を調整する機能と
を実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷媒体上にドットを形成して画像を印刷する技術に関し、詳しくは、印刷媒体上に形成されるドットの位置ずれを検出して、ディザマトリックスを生成する技術に関する。
【背景技術】
【０００２】
ドットを形成して画像を印刷する印刷装置は、コンピュータで作成した画像やデジタルカメラなどで撮影した画像など、いわゆる各種のデジタル画像の出力装置として広く使用されている。
【０００３】
これら印刷装置は、個々の画素についてはドットを形成するか否かのいずれかの状態しか表現し得ないが、画像の各領域の階調値に応じた適切な密度でドットを形成することによって、多階調の画像を表現することが可能となっている。そして、これら印刷装置では、ドットを画像の階調値に応じた適切な密度で形成するために、先ず、所定の画像処理を施すことで画像データをドットの分布による表現形式のデータ（ドットデータ）に変換する。このように、画像データをドットデータに変換する処理はハーフトーン処理と呼ばれる。次いで、ハーフトーン処理によって得られたドットデータに基づいて、印刷媒体上にドットを形成する。こうすれば、階調値に応じた適切な密度でドットを形成することが可能である。
【０００４】
ハーフトーン処理の手法としては、種々の方法が提案されているが、代表的な手法としては、ディザ法と呼ばれる方法がある。ディザ法は、画像データの階調値とディザマトリックスに設定されている閾値とを画素毎に比較して、画像データの方が大きい画素についてはドットを形成すると判断し、そうでない画素についてはドットを形成しないと判断することによって、画像データをドットデータに変換する手法である。また、高画質な画像を得るためには、適切な密度でドットを発生させるだけではなく、ドットを適切に分散して発生させることが重要である。ドットを適切に分散して発生させるためには、ディザマトリックスに適切な分布で閾値を設定しておくことが重要であり、閾値を設定する方法についても種々の改良が試みられている（例えば、特許文献１）。
【０００５】
もちろん、ドットが良好に分散して発生するように、如何に適切にハーフトーン処理を行ったとしても、実際に印刷媒体上に形成されるドットの位置がずれてしまったのでは、良好な画質を得ることはできない。そこで、ドットの形成位置を調整するための種々の調整機構も提案されている（例えば、特許文献２、特許文献３など）。
【０００６】
【特許文献１】特開２０００−２６１６６９号公報
【特許文献２】特開平１１−７７９９１号公報
【特許文献３】特開２０００−２８０４６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、ドットの形成位置を調整しようとすると、特別な調整機構あるいは調整方法を搭載しなければならず、印刷装置が複雑化および大型化し、延いては高価格化するという弊害が生じる。しかも、ドットの形成位置を完全に調整することは容易ではないことから、完全に調整しようとすると、更に複雑な調整機構あるいは調整方法を搭載しなければならず、印刷装置の一層の複雑化および大型化を招聘するという問題がある。
【０００８】
この発明は、従来技術の有する上述した課題を解決するためになされたものであり、ドットの形成位置を調整するための複雑あるいは特別な調整を行うことなく、高画質な画像を印刷可能な技術の提供を目的とする
【課題を解決するための手段】
【０００９】
上述した課題の少なくとも一部を解決するために、本発明の第１の印刷装置は次の構成を採用した。すなわち、
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する印刷装置であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドと、
前記ヘッドを前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を繰り返し行うことにより、該印刷媒体上にドットの列たるラスタを複数本形成するラスタ形成手段と、
前記ドットが前記印刷媒体上に形成される実際の形成位置と設計上の形成位置との位置ずれを検査するための、所定の検査画像を印刷する検査画像印刷手段と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記印刷された検査画像から検出する位置ずれ検出手段と、
前記ディザ法で用いられるディザマトリックスの閾値を前記位置ずれの検出結果に基づいて設定することにより、該ディザマトリックスを生成するディザマトリックス生成手段と
を備えることを要旨とする。
【００１０】
また、上記の印刷装置に対応する本発明の第１の印刷方法は、
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する印刷方法であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を繰り返し行うことにより、該印刷媒体上にドットの列たるラスタを複数本形成する工程と、
前記印刷媒体上に複数本のラスタを形成することにより、前記ドットが前記印刷媒体上に形成される実際の形成位置と設計上の形成位置との位置ずれを検査するための、所定の検査画像を印刷する工程と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する工程と、
前記ディザ法で用いられるディザマトリックスの閾値を前記位置ずれの検出結果に基づいて設定することにより、該ディザマトリックスを生成する工程と
を備えることを要旨とする。
【００１１】
かかる本発明の印刷装置および印刷方法においては、印刷媒体上にドットが形成される実際の位置と設計上の位置との位置ずれを検査するために、印刷媒体上に所定の検査画像を印刷する。そして、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、ブロック内の各画素位置での位置ずれを、印刷された検査画像から検出する。ここで、ｓは１本あたりのラスタを形成するために要する主走査の回数であり、Ｎはヘッドに設けられたノズル数である。また、ｋはノズルピッチすなわち、ヘッドに設けられた隣接するノズル間の距離と、画像中での隣接するラスタ間の距離との比である。例えば、ノズル間の距離とラスタ間の距離とが等しい場合はノズルピッチｋ＝１となり、ノズル間の距離がラスタ２本分の距離となる場合はノズルピッチｋ＝２となる。詳細には後述するが、発明者が見出した知見によれば、ドットの位置ずれは主走査方向にｓ画素、副走査方向にＮ×ｋ画素の周期で発生する。従って、この周期の整数倍の大きさのブロックを想定し、ブロック内の各画素位置でドットの位置ずれを検出しておけば、画像の全ての画素位置でドットの位置ずれを求めることが可能である。そして、画像の全画素位置でドットの位置ずれが分かっていれば、ドットが実際に形成される位置が、設計上の位置からはズレることを前提として、適切なディザマトリックスを生成することができる。こうして生成されたディザマトリックスは、実際の位置ずれに合わせて閾値が設定されているので、ドットの形成位置を設計上の形成位置に近づけための調整を行わなくても、ドットが適切に分散した状態で形成されることになり、その結果、高画質な画像を印刷することが可能となる。
【００１２】
こうした印刷装置および印刷方法においては、ディザマトリックスの大きさを、主走査方向にｐ×ｓ画素、副走査方向にｑ×Ｎ×ｋ画素の大きさ（ｐ，ｑは正の整数）としておくこととしてもよい。
【００１３】
上述したように、ドットの位置ずれは主走査方向にｓ画素、副走査方向にＮ×ｋ画素の周期で発生するから、ディザマトリックスの大きさを主走査方向にはｐ×ｓ画素、副走査方向にはｑ×Ｎ×ｋ画素としておけば、ディザマトリックスとドットの位置ずれとの関係は常に同じとなる。すなわち、ディザマトリックスが画像中のどの箇所に適用される場合でも、マトリックス中で同じ位置にある画素では、常に同じだけドットの形成位置がずれることになる。このため、ドットの形成位置が設計上の形成位置からずれることを考慮して、ディザマトリックスの各画素に適切な閾値を設定する処理を簡便にすることができるので好ましい。
【００１４】
こうした印刷装置においては、検査画像として、少なくとも主走査方向および副走査方向には、隣接する画素にドットが形成されないような画像を印刷することとしてもよい。
【００１５】
主走査方向あるいは副走査方向に隣接する画素にドットを形成した場合、ドット間の距離が近すぎて、ドットの形成位置が識別し難くなり、その結果としてドットの位置ずれを検出することが困難な場合がある。特に、隣接する画素にドットを形成した場合、これらドットが一部で重なり合って、ドットの形成位置が識別できないこともある。このような場合は、少なくとも主走査方向および副走査方向には、隣接する画素にドットが形成されないような検査画像を印刷してやれば、ドットの形成位置を容易かつ確実に検出し、延いてはドットの位置ずれを検出することが可能となる。
【００１６】
また、大きさの異なる複数種類のドットを形成可能な場合には、前記検査画像は、最も大きなドット以外のドットを用いて形成することとしても良い。
【００１７】
最も大きなドットを除いた他のドットを用いて検査画像を印刷してやれば、例え隣接する画素にドットが形成された場合でも、ドット間の距離が小さすぎてドットの形成位置が識別困難となることはなく、その結果、ドットの位置ずれを容易且つ確実に検出することが可能となるので好ましい。
【００１８】
また、検査画像を印刷するに際しては、検査画像の画像データを少なくともハーフトーン処理が施された状態で記憶しておき、この予め記憶しておいた画像データに基づいてドットを形成することによって検査画像を印刷することとしてもよい。
【００１９】
検査画像を印刷するための画像データを、少なくともハーフトーン処理が施された状態で記憶しておけば、所望の画素位置に確実にドットを形成することができる。従って、検査画像としてドットを形成する画素位置を、予め適切に設定しておくことにより、ドットの位置ずれを効率よく、あるいは精度良く検出することが可能となる。
【００２０】
また、上記の印刷装置および印刷方法では、発明者が見出した知見、すなわちドットの位置ずれが主走査方向にｓ画素、副走査方向にＮ×ｋ画素の周期で発生するという知見に基づいて、ドットの位置ずれを考慮した適切なディザマトリックスを生成している。従って、本願発明は、こうしたディザマトリックスを生成する方法として把握することも可能である。すなわち、本願のディザマトリックスの生成方法は、
ディザ法を適用してハーフトーン処理を行う際に参照されるディザマトリックスを生成する方法であって、
印刷媒体上にドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、該印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を行う工程と、
前記主走査を繰り返し行って、前記印刷媒体上にドットの列たるラスタを複数本形成することにより、該ドットが該印刷媒体上に形成される実際の形成位置と設計上の形成位置との位置ずれを検査するための、所定の検査画像を印刷する工程と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する工程と、
前記位置ずれの検出結果に基づいて、該ディザマトリックスの各画素の閾値を設定する工程と
を備えることを要旨とする。
【００２１】
画像を印刷するに際して、印刷媒体上にドットが形成される実際の位置と設計上の位置との位置ずれは、主走査方向にｓ画素、副走査方向にＮ×ｋ画素の周期で発生する。従って、この周期の整数倍の大きさのブロックを想定し、ブロック内の各画素位置でドットの位置ずれを検出しておけば、画像の全ての画素位置でドットの位置ずれを求めることが可能である。そして、画像の全画素位置でドットの位置ずれが分かっていれば、ドットが実際に形成される位置が設計上の位置とは異なることを前提として、適切なディザマトリックスを生成することができる。こうして生成したディザマトリックスを用いてハーフトーン処理を行えば、ドットの形成位置を設計上の形成位置に近づけための調整を行わなくても、ドットが適切に分散した状態で形成された高画質な画像を印刷することが可能となる。
【００２２】
このとき、生成するディザマトリックスは、大きさが主走査方向にｐ×ｓ画素、副走査方向にｑ×Ｎ×ｋ画素（ｐ，ｑは正の整数）のマトリックスとしておくこととしてもよい。
【００２３】
上述したように、ドットの位置ずれは主走査方向にｓ画素、副走査方向にＮ×ｋ画素の周期で発生するから、ディザマトリックスをこのような大きさにしておけば、ディザマトリックスが画像中のどの箇所に適用される場合でも、マトリックス中で同じ位置にある画素では、常に同じだけドットの形成位置がずれることになる。このため、ドットの形成位置が設計上の形成位置からずれることを考慮して、ディザマトリックスの各画素に適切な閾値を設定する処理を簡便にすることが可能となる。
【００２４】
また、上記の印刷装置、印刷方法、およびディザマトリックスの生成方法では、主走査方向にｓ画素、副走査方向にＮ×ｋ画素をブロックとして、ドットの位置ずれをブロック内の各画素位置について検出することにより、画像中の全画素での位置ずれを決定可能としている。こうした点に着目すれば、本願発明は、ドットの位置ずれを検出する方法、更には、検出結果に基づいてドットの位置ずれを調整する方法として把握することも可能である。すなわち、本願のドットの位置ずれを検出する方法は、
印刷媒体上にドットを形成して画像を印刷する印刷装置が、該印刷媒体上に形成するドットの設計上の位置と、実際にドットを形成する位置との位置ずれを検出する検出方法であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を行う工程と、
前記主走査を繰り返し行って、前記印刷媒体上にドットの列たるラスタを複数本形成することにより、該ドットについての前記位置ずれを検査するための所定の検査画像を印刷する工程と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する工程と
を備えることを要旨とする。
【００２５】
かかる位置ずれの検出方法によれば、ブロック内の各画素位置について、ドットの位置ずれを検出するだけで、画像中のあらゆる画素位置での位置ずれを求めることが可能となる。
【００２６】
また、本願のドットの位置ずれの調整方法は、
印刷媒体上にドットを形成して画像を印刷する印刷装置が、該印刷媒体上に形成するドットの設計上の位置と、実際にドットを形成する位置との位置ずれを調整する調整方法であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を行う工程と、
前記主走査を繰り返し行って、前記印刷媒体上にドットの列たるラスタを複数本形成することにより、該ドットについての前記位置ずれを検査するための所定の検査画像を印刷する工程と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する工程と、
前記位置ずれの検出結果に基づいて、前記ドットの形成位置を調整する工程と
を備えることを要旨とする。
【００２７】
かかる位置ずれの調整方法によれば、ブロック内の各画素位置で検出したドットの位置ずれに基づいて、ドットの形成位置を調整する。上述したように、ブロック内の各画素位置での位置ずれが分かっていれば、画像中のあらゆる画素位置での位置ずれを決定することができることから、ブロック内での位置ずれの検出結果に基づいてドットの形成位置を調整してやれば、画像全体で、ドットの形成位置を適切に且つ簡便に調整することが可能となる。
【００２８】
また、上述したドットの位置ずれを考慮して生成したディザマトリックスを、印刷装置の製造中あるいは製造後に、各印刷装置について生成しておき、得られたディザマトリックスを用いて画像を印刷することも可能である。従って、本発明は、次のような態様の印刷装置として把握することも可能である。すなわち、本発明の第２の印刷装置は、
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する印刷装置であって、
前記ハーフトーン処理で参照され、前記印刷装置に固有のディザマトリックスを記憶しているディザマトリックス記憶手段と、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドと、
前記ヘッドを、前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら該ノズルを駆動してドットを形成する動作たる主走査を、繰り返し行って該印刷媒体上にドットの列たるラスタを複数本形成することにより、前記画像を印刷するラスタ形成手段と
を備え、
前記ディザマトリックス記憶手段は、前記印刷装置に固有のディザマトリックスとして、
前記ドットが前記印刷媒体上に形成される実際の形成位置と、設計上の形成位置との位置ずれを検査するための所定の検査画像を、前記印刷装置を用いて印刷し、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記印刷された検査画像から検出し、
前記位置ずれの検出結果に基づいて、前記ディザマトリックスの閾値が設定されたマトリックスを記憶している手段であることを要旨とする。
【００２９】
また、上記の印刷装置に対応する本発明の第２の印刷方法は、
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する印刷方法であって、
前記ハーフトーン処理で参照され、前記印刷装置に固有のディザマトリックスを記憶しておく工程と、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら該ノズルを駆動してドットを形成する動作たる主走査を、繰り返し行って該印刷媒体上にドットの列たるラスタを複数本形成することにより、前記画像を印刷する工程と
を備え、
前記ディザマトリックスを記憶しておく工程は、前記印刷装置に固有のディザマトリックスとして、
前記ドットが前記印刷媒体上に形成される実際の形成位置と、設計上の形成位置との位置ずれを検査するための所定の検査画像を、前記印刷装置を用いて印刷し、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記印刷された検査画像から検出し、
前記位置ずれの検出結果に基づいて、前記ディザマトリックスの閾値が設定されたマトリックスを記憶しておく工程であることを要旨とする。
【００３０】
かかる本発明の第２の印刷装置および第２の印刷方法においても、印刷装置において実際に形成されるドットの位置が、設計上の位置からはズレることを前提として、各印刷装置で実際に検出された位置ずれに基づいて閾値が設定されたディザマトリックスを用いて画像を印刷することができる。尚、各印刷装置の位置ずれは、印刷装置の製造工程において検出することもできるし、印刷装置を製造するための最終工程において検出することも可能である。こうして位置ずれが考慮されたディザマトリックスを用いて画像を印刷すれば、ドットの形成位置を設計上の形成位置に近づけるための調整を行わなくても、ドットが適切に分散した高画質な画像を印刷することが可能となる。
【００３１】
更に、各印刷装置の位置ずれを検出しておけば、検出結果から適切なディザマトリックスを形成可能なことに着目すれば、本発明は次のような態様の印刷装置として把握することも可能である。先ず、印刷装置の製造中あるいは製造後の最終工程において、各印刷装置についての位置ずれを検出して記憶しておく。そして、画像の印刷に先立って、記憶しておいた位置ずれを読み出して、これを考慮したディザマトリックスを生成することによって画像を印刷する印刷装置として把握することも可能である。すなわち、本発明の第３の印刷装置は、
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する印刷装置であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドと、
前記ヘッドを前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら該ノズルを駆動してドットを形成する動作たる主走査を、繰り返し行って該印刷媒体上にドットの列たるラスタを複数本形成することにより、前記画像を印刷するラスタ形成手段と、
前記印刷媒体上にドットを形成する実際の形成位置と、設計上の形成位置との位置ずれの、前記印刷装置についての検出結果を記憶している位置ずれ検出結果記憶手段と、
前記ディザ法で用いられるディザマトリックスの閾値を、前記記憶されている位置ずれの検出結果に基づいて設定することにより、該ディザマトリックスを生成するディザマトリックス生成手段と
を備え、
前記位置ずれ検出結果記憶手段は、前記印刷装置についての位置ずれの検出結果として、
前記位置ずれを検査するための所定の検査画像を、前記印刷装置を用いて印刷し、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置で、前記検査画像から検出された前記位置ずれを記憶しておく手段であることを要旨とする。
【００３２】
また、上記の印刷装置に対応する本発明の第３の印刷方法は、
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する印刷方法であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら該ノズルを駆動してドットを形成する動作たる主走査を、繰り返し行って該印刷媒体上にドットの列たるラスタを複数本形成することにより、前記画像を印刷する工程と、
前記印刷媒体上にドットを形成する実際の形成位置と、設計上の形成位置との位置ずれの、前記印刷装置についての検出結果を記憶しておく工程と、
前記ディザ法で用いられるディザマトリックスの閾値を、前記記憶されている位置ずれの検出結果に基づいて設定することにより、該ディザマトリックスを生成する工程と
を備え、
前記検出結果を記憶しておく工程は、前記印刷装置についての位置ずれの検出結果として、
前記位置ずれを検査するための所定の検査画像を、前記印刷装置を用いて印刷し、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置で、前記検査画像から検出された前記位置ずれを記憶しておく工程であることを要旨とする。
【００３３】
かかる本発明の第３の印刷装置および第３の印刷方法においても、印刷装置について実際に検出された位置ずれが印刷装置毎に記憶されており、画像の印刷に先立って、位置ずれを考慮して適切に生成されたディザマトリックスを用いて画像を印刷することができる。このため、ドットの形成位置を設計上の形成位置に近づけるための調整を行わなくても、ドットが適切に分散した高画質な画像を印刷することが可能となる。
【００３４】
更に本発明は、上述した各種の印刷方法、ディザマトリックスを生成する方法、ドットの位置ずれを検出する方法および位置ずれを調整する方法を実現するためのプログラムをコンピュータに読み込ませ、所定の機能を実行させることにより、コンピュータを用いて実現することも可能である。従って、本発明は次のようなプログラム、あるいは該プログラムを記録した記録媒体としての態様も含んでいる。すなわち、上述した第１の印刷方法に対応する本発明のプログラムは、
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する方法を、コンピュータを用いて実現するためのプログラムであって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を繰り返し行うことにより、該印刷媒体上にドットの列たるラスタを複数本形成する機能と、
前記印刷媒体上に複数本のラスタを形成することにより、前記ドットが前記印刷媒体上に形成される実際の形成位置と設計上の形成位置との位置ずれを検査するための、所定の検査画像を印刷する機能と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する機能と、
前記ディザ法で用いられるディザマトリックスの閾値を前記位置ずれの検出結果に基づいて設定することにより、該ディザマトリックスを生成する機能と
をコンピュータを用いて実現することを要旨とする。
【００３５】
また、上記のプログラムに対応する本発明の記録媒体は、
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷するプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を繰り返し行うことにより、該印刷媒体上にドットの列たるラスタを複数本形成する機能と、
前記印刷媒体上に複数本のラスタを形成することにより、前記ドットが前記印刷媒体上に形成される実際の形成位置と設計上の形成位置との位置ずれを検査するための、所定の検査画像を印刷する機能と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する機能と、
前記ディザ法で用いられるディザマトリックスの閾値を前記位置ずれの検出結果に基づいて設定することにより、該ディザマトリックスを生成する機能と
をコンピュータを用いて実現するプログラムを記録していることを要旨とする。
【００３６】
また、上述した本発明の第２の印刷方法に対応するプログラムは、
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する方法を、コンピュータを用いて実現するためのプログラムであって、
前記ハーフトーン処理で参照され、前記印刷装置に固有のディザマトリックスを記憶しておく機能と、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら該ノズルを駆動してドットを形成する動作たる主走査を、繰り返し行って該印刷媒体上にドットの列たるラスタを複数本形成することにより、前記画像を印刷する機能と
をコンピュータを用いて実現するとともに、
前記ディザマトリックスを記憶しておく機能は、前記印刷装置に固有のディザマトリックスとして、
前記ドットが前記印刷媒体上に形成される実際の形成位置と、設計上の形成位置との位置ずれを検査するための所定の検査画像を、前記印刷装置を用いて印刷し、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記印刷された検査画像から検出し、
前記位置ずれの検出結果に基づいて、前記ディザマトリックスの閾値が設定されたマトリックスを記憶しておく機能であることを要旨とする。
【００３７】
また、上記のプログラムに対応する本発明の記録媒体は、
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷するプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記ハーフトーン処理で参照され、前記印刷装置に固有のディザマトリックスを記憶しておく機能と、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら該ノズルを駆動してドットを形成する動作たる主走査を、繰り返し行って該印刷媒体上にドットの列たるラスタを複数本形成することにより、前記画像を印刷する機能と
をコンピュータを用いて実現するプログラムを記録しているとともに、
前記ディザマトリックスを記憶しておく機能は、前記印刷装置に固有のディザマトリックスとして、
前記ドットが前記印刷媒体上に形成される実際の形成位置と、設計上の形成位置との位置ずれを検査するための所定の検査画像を、前記印刷装置を用いて印刷し、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記印刷された検査画像から検出し、
前記位置ずれの検出結果に基づいて、前記ディザマトリックスの閾値が設定されたマトリックスを記憶しておく機能であることを要旨とする。
【００３８】
また、上述した本発明の第３の印刷方法に対応するプログラムは、
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷する方法を、コンピュータを用いて実現するためのプログラムであって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら該ノズルを駆動してドットを形成する動作たる主走査を、繰り返し行って該印刷媒体上にドットの列たるラスタを複数本形成することにより、前記画像を印刷する機能と、
前記印刷媒体上にドットを形成する実際の形成位置と、設計上の形成位置との位置ずれの、前記印刷装置についての検出結果を記憶しておく機能と、
前記ディザ法で用いられるディザマトリックスの閾値を、前記記憶されている位置ずれの検出結果に基づいて設定することにより、該ディザマトリックスを生成する機能と
をコンピュータを用いて実現するとともに、
前記検出結果を記憶しておく機能は、前記印刷装置についての位置ずれの検出結果として、
前記位置ずれを検査するための所定の検査画像を、前記印刷装置を用いて印刷し、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置で、前記検査画像から検出された前記位置ずれを記憶しておく機能であることを要旨とする。
【００３９】
また、上記のプログラムに対応する本発明の記録媒体は、
画像データにディザ法を適用してハーフトーン処理を行い、該ハーフトーン処理の結果に基づいて、印刷媒体上にドットを形成して画像を印刷するプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、前記ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら該ノズルを駆動してドットを形成する動作たる主走査を、繰り返し行って該印刷媒体上にドットの列たるラスタを複数本形成することにより、前記画像を印刷する機能と、
前記印刷媒体上にドットを形成する実際の形成位置と、設計上の形成位置との位置ずれの、前記印刷装置についての検出結果を記憶しておく機能と、
前記ディザ法で用いられるディザマトリックスの閾値を、前記記憶されている位置ずれの検出結果に基づいて設定することにより、該ディザマトリックスを生成する機能と
をコンピュータを用いて実現するプログラムを記録しているとともに、
前記検出結果を記憶しておく機能は、前記印刷装置についての位置ずれの検出結果として、
前記位置ずれを検査するための所定の検査画像を、前記印刷装置を用いて印刷し、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置で、前記検査画像から検出された前記位置ずれを記憶しておく機能であることを要旨とする。
【００４０】
これらプログラムをコンピュータに読み込んで、上記の各種機能を実現させれば、印刷媒体上に形成されるドットの位置を、設計上の位置に近づけるための調整を行わなくても、ドットが適切に分散された高画質な画像を得ることが可能となる。
【００４１】
また、上述したディザマトリックスの生成方法に対応する本発明のプログラムは、
ディザ法を適用してハーフトーン処理を行う際に参照されるディザマトリックスを生成する方法を、コンピュータを用いて実現するためのプログラムであって、
印刷媒体上にドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、該印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を行う機能と、
前記主走査を繰り返し行って、前記印刷媒体上にドットの列たるラスタを複数本形成することにより、該ドットが該印刷媒体上に形成される実際の形成位置と設計上の形成位置との位置ずれを検査するための、所定の検査画像を印刷する機能と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する機能と、
前記位置ずれの検出結果に基づいて、該ディザマトリックスの各画素の閾値を設定する機能と
をコンピュータを用いて実現することを要旨とする。
【００４２】
また、上記のプログラムに対応する本発明の記録媒体は、
ディザ法を適用してハーフトーン処理を行う際に参照されるディザマトリックスを生成するプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
印刷媒体上にドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、該印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を行う機能と、
前記主走査を繰り返し行って、前記印刷媒体上にドットの列たるラスタを複数本形成することにより、該ドットが該印刷媒体上に形成される実際の形成位置と設計上の形成位置との位置ずれを検査するための、所定の検査画像を印刷する機能と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する機能と、
前記位置ずれの検出結果に基づいて、該ディザマトリックスの各画素の閾値を設定する機能と
をコンピュータを用いて実現するプログラムを記録していることを要旨とする。
【００４３】
これらプログラムをコンピュータに読み込んで、上記の各種機能を実現させれば、ドットの形成位置が設計上の形成位置とは異なることを考慮して、ドットが適切に分散して発生するようなディザマトリックスを生成することが可能となる。
【００４４】
また、上述したドットの位置ずれの検出方法に対応する本発明のプログラムは、
印刷媒体上にドットを形成して画像を印刷する印刷装置が、該印刷媒体上に形成するドットの設計上の位置と、実際にドットを形成する位置との位置ずれを検出する方法を、コンピュータを用いて実現するためのプログラムであって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を行う機能と、
前記主走査を繰り返し行って、前記印刷媒体上にドットの列たるラスタを複数本形成することにより、該ドットについての前記位置ずれを検査するための所定の検査画像を印刷する機能と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する機能と
をコンピュータを用いて実現することを要旨とする。
【００４５】
また、上記のプログラムに対応する本発明の記録媒体は、
印刷媒体上にドットを形成して画像を印刷する印刷装置が、該印刷媒体上に形成するドットの設計上の位置と、実際にドットを形成する位置との位置ずれを検出するプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を行う機能と、
前記主走査を繰り返し行って、前記印刷媒体上にドットの列たるラスタを複数本形成することにより、該ドットについての前記位置ずれを検査するための所定の検査画像を印刷する機能と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する機能と
をコンピュータを用いて実現するプログラムを記録していることを要旨とする。
【００４６】
これらプログラムをコンピュータに読み込んで、上記の各種機能を実現させれば、ドットの位置ずれを印刷媒体上の各画素で簡便に検出することが可能となる。
【００４７】
更に、上述したドットの位置ずれの調整方法に対応する本発明のプログラムは、
印刷媒体上にドットを形成して画像を印刷する印刷装置が、該印刷媒体上に形成するドットの設計上の位置と、実際にドットを形成する位置との位置ずれを調整する方法を、コンピュータを用いて実現するためのプログラムであって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を行う機能と、
前記主走査を繰り返し行って、前記印刷媒体上にドットの列たるラスタを複数本形成することにより、該ドットについての前記位置ずれを検査するための所定の検査画像を印刷する機能と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する機能と、
前記位置ずれの検出結果に基づいて、前記ドットの形成位置を調整する機能と
をコンピュータを用いて実現することを要旨とする。
【００４８】
また、上記のプログラムに対応する本発明の記録媒体は、
印刷媒体上にドットを形成して画像を印刷する印刷装置が、該印刷媒体上に形成するドットの設計上の位置と、実際にドットを形成する位置との位置ずれを調整するプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記ドットを形成するＮ個のノズルがノズルピッチｋの間隔で設けられたヘッドを、該ノズルの並びと交差する方向に、前記印刷媒体の一端から他端に向かって移動させながら、該ノズルを駆動してドットを形成する動作たる主走査を行う機能と、
前記主走査を繰り返し行って、前記印刷媒体上にドットの列たるラスタを複数本形成することにより、該ドットについての前記位置ずれを検査するための所定の検査画像を印刷する機能と、
前記ラスタの１本あたりをｓ回の前記主走査で形成するとしたときに、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして（ｎ，ｍは正の整数）、該ブロック内の各画素位置での前記位置ずれを、前記検査画像から検出する機能と、
前記位置ずれの検出結果に基づいて、前記ドットの形成位置を調整する機能と
をコンピュータを用いて実現するプログラムを記録していることを要旨とする。
【００４９】
これらプログラムをコンピュータに読み込んで、上記の各種機能を実現させれば、ドットの形成位置を適切に且つ簡便に調整することが可能となる。
【発明を実施するための最良の形態】
【００５０】
以下では、上述した本願発明の内容を明確にするために、次のような順序に従って各種の実施例について説明する。
Ａ．実施例の概要：
Ｂ．装置構成：
Ｃ．画像印刷処理の概要：
Ｄ．ドット位置ずれの検出方法：
Ｄ−１．位置ずれ検出原理：
Ｄ−２．位置ずれ検出方法：
Ｄ−３．位置ずれ検出方法の変形例：
Ｄ−４．その他の変形例：
Ｅ．ディザマトリックス生成処理：
Ｅ−１．ディザマトリックス生成の概要：
Ｅ−２．処理内容：
Ｆ．変形例：
Ｆ−１．第１の変形例：
Ｆ−２．第２の変形例：
【００５１】
Ａ．実施例の概要  ：
各種実施例の詳細な説明に入る前に、図１を参照しながら、代表的な実施例の概要について説明しておく。図１は、代表的な実施例としての印刷装置１０の概要を示した説明図である。図示するように、印刷装置１０には、ハーフトーンモジュール１２と、ヘッド１６が搭載されている。ハーフトーンモジュール１２は、印刷しようとする画像の画像データが入力されると、ディザマトリックス１４を参照しながら、画像データにディザ法を適用することによってハーフトーン処理を行い、得られたハーフトーン処理結果をヘッド１６に向けて出力する。
【００５２】
尚、図１では、ハーフトーンモジュール１２や、ディザマトリックス１４、ヘッド１６などが一体の印刷装置１０に搭載されているものとして表示しているが、ハーフトーンモジュール１２やディザマトリックス１４などについては、印刷装置とは別体の画像処理装置に搭載し、この画像処理装置を含めた全体で、実質的に１つの印刷装置を構成することとしても良い。
【００５３】
ヘッド１６には、印刷用紙上にドットを形成するノズルＮｚが、ノズルピッチｋの間隔で複数（Ｎ個）設けられている。そして、ドットを形成しながらヘッド１６を印刷用紙の一端から他端に向かって移動させる動作（主走査）と、ヘッド１６と印刷用紙との位置関係を主走査方向と交差する方向に移動させる動作（副走査）とを行うことが可能となっている。ヘッド１６は、ハーフトーンモジュール１２からハーフトーン処理結果を受け取ると、主走査と副走査とを繰り返し行って印刷用紙上にドットを形成することによって画像を印刷する。
【００５４】
このように印刷装置１０は、主走査と副走査とを繰り返しながら、複数のノズルＮｚを用いてドットを形成している。従って、ヘッドを主走査しながらノズルＮｚでドットを形成するタイミングが僅かにずれたり、副走査量に僅かでもばらつきが発生すると、印刷用紙上に形成されるドットの位置にずれが発生する。更には、複数のノズルＮｚを用いてドットを形成していることから、個々のノズルＮｚによってドットの形成位置が微妙に異なる場合もある。ドットの形成位置がずれてしまうと、印刷画質が悪化してしまう。
【００５５】
ドットの位置ずれによって印刷画質が悪化することを回避するために、図１に示した印刷装置１０は、次のような方法を採用している。先ず、ドットの位置ずれを検査するための検査画像を印刷用紙上に印刷する。検査画像は、検査画像データ出力モジュール２０から、検査画像を印刷するためのデータ（検査画像データ）をヘッド１６に供給することによって印刷する。あるいは、検査画像の画像データをハーフトーンモジュール１２に供給し、ハーフトーン処理を行ったデータをヘッド１６に出力することによって、検査画像を印刷することとしても良い。
【００５６】
次いで、印刷した検査画像をスキャナ２２で読み取って、読み取ったデータを位置ずれ検出モジュール２４に供給する。検査画像を読み取るスキャナ２２は、印刷装置１０とは別体に設けられていても良いし、印刷装置１０内に組み込んでおくこととしても良い。位置ずれ検出モジュール２４は受け取ったデータを解析し、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとしたときの、ブロック内の各画素位置での位置ずれを検出する。ここで、ｓは、検査画像を印刷するに際して、ラスタ１本あたりを形成するために要する主走査の回数である。また、ｎ，ｍは任意の正整数である。詳細には後述するが、ノズルピッチｋの間隔でＮ個のノズルを用いて、ラスタ１本あたりｓ回の主走査を行って画像を印刷する場合、主走査方向にｓ画素、副走査方向にＮ×ｋ画素単位で、同じ操作を繰り返しながら画像が印刷される。このことに対応して、ドットの位置ずれも、このような周期で発生することが見出された。従って、主走査方向にｎ×ｓ画素、副走査方向にｍ×Ｎ×ｋ画素をブロックとして、ブロック内の各画素位置について、ドットの位置ずれを検出しておけば、画像の全画素での位置ずれを決定することができる。
【００５７】
ディザマトリックス生成モジュール２６は、位置ずれ検出モジュール２４がブロック内の各画素について検出した位置ずれのデータに基づいて、ディザマトリックスを生成する。すなわち、印刷用紙上に実際に形成されるドットの位置が、検出した位置ずれのデータに示されているようにずれていることを前提として、ドットがずれた位置に形成された状態で適切に分散するように、ディザマトリックスの閾値を設定するのである。そして、ハーフトーンモジュール１２が画像データにハーフトーン処理を行うに際しては、こうして生成したディザマトリックスを参照しながら処理を行う。ディザマトリックスの閾値は、各画素でずれて形成される実際のドット位置に基づいて、適切に設定されているので、ドットの位置ずれを解消するための複雑な調整を行わずとも、高画質な画像を印刷することが可能となるのである。
【００５８】
以上では、代表的な実施例として印刷装置について説明したが、本願発明は印刷装置に限らず種々の態様で把握することが可能である。以下では、これら各種の実施例を含めて詳しく説明する。
【００５９】
Ｂ．装置構成  ：
説明の便宜から、以下では、ハーフトーン処理やデータの解析などを行うコンピュータと、ヘッドを搭載して印刷用紙上に実際にドットを形成するプリンタと、印刷用紙上に印刷された画像を読み取るスキャナとが別体に構成されており、これら全体が一体となって１つの印刷システムを構成するものとして説明する。もちろん、これら全体を１つの筺体に一体的に構成したり、あるいは、任意の２つを選んで１つの筺体に一体的に構成することも可能である。
【００６０】
図２は、ハーフトーン処理などの後述する画像処理や、データの解析などを行う本実施例のコンピュータ１００の構成を示す説明図である。周知のようにコンピュータ１００は、ＣＰＵ１０２を中心に、ＲＯＭ１０４やＲＡＭ１０６などを、バス１１６で互いに接続することによって構成されている。コンピュータ１００には、フレキシブルディスク１２４やコンパクトディスク１２６などからデータを読み込むためのディスクコントローラＤＤＣ１０９や、周辺機器との間でデータの授受を行うために用いられる周辺機器インターフェースＰＩＦ１０８、ＣＲＴ１１４を駆動するためのビデオインターフェースＶＩＦ１１２等が接続されている。ＰＩＦ１０８には、ハードディスク１１８や、後述するプリンタ２００等が接続されている。また、デジタルカメラ１２０等をＰＩＦ１０８に接続すれば、デジタルカメラ１２０などで撮影した画像を印刷することも可能である。後述するように、ドットの位置ずれを検査するに際しては、本実施例ではスキャナ１２２で検査画像を読み取って、読み取ったデータを解析するが、検査画像を読み取るためのスキャナ１２２もＰＩＦ１０８を介してコンピュータ１００に接続される。また、ネットワークインターフェースカードＮＩＣ１１０を装着すれば、コンピュータ１００を通信回線３００に接続して、通信回線に接続された記憶装置３１０に記憶されているデータを取得することもできる。
【００６１】
図３は、本実施例のプリンタ２００の概略構成を示す説明図である。プリンタ２００はシアン，マゼンタ，イエロ，ブラックの４色インクのドットを形成可能なインクジェットプリンタである。もちろん、これら４色のインクに加えて、染料濃度あるいは顔料濃度の低いシアン（淡シアン）インクと、染料濃度あるいは顔料濃度の低いマゼンタ（淡マゼンタ）インクとを含めた合計６色のインクドットを形成可能なインクジェットプリンタを用いることもできる。尚、以下では、シアンインク，マゼンタインク，イエロインク，ブラックインク，淡シアンインク，淡マゼンタインクを、必要に応じて、それぞれＣインク，Ｍインク，Ｙインク，Ｋインク，ＬＣインク，ＬＭインクと略称するものとする。
【００６２】
プリンタ２００は、図示するように、キャリッジ２４０に搭載された印字ヘッド２４１を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ２４０をキャリッジモータ２３０によってプラテン２３６の軸方向に往復動させる機構と、紙送りモータ２３５によって印刷用紙Ｐを搬送する機構と、ドットの形成やキャリッジ２４０の移動および印刷用紙の搬送を制御する制御回路２６０などから構成されている。
【００６３】
キャリッジ２４０には、Ｋインクを収納するインクカートリッジ２４２と、Ｃインク，Ｍインク，Ｙインクの各種インクを収納するインクカートリッジ２４３とが装着されている。キャリッジ２４０にインクカートリッジ２４２，２４３を装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド２４１の下面に設けられた各色毎のインク吐出用ヘッド２４４ないし２４７に供給される。各色毎のインク吐出用ヘッド２４４ないし２４７は、こうして供給されたインクを用いてインク滴を吐出することにより、印刷媒体上にインクドットを形成する。
【００６４】
制御回路２６０は、ＣＰＵを中心として、ＲＯＭや、ＲＡＭ、周辺機器インターフェースＰＩＦ等に加えて、デジタルデータをアナログ信号に変換するＤ／Ａ変換器等から構成されている。もちろん、ＣＰＵを搭載せずに、ハードウェアあるいはファームウェアによって同様の機能を実現することとしても良い。制御回路２６０は、キャリッジモータ２３０および紙送りモータ２３５の動作を制御することによって、キャリッジ２４０の主走査動作および副走査動作の制御を行う。また、キャリッジ２４０の主走査および副走査に合わせて、適切なタイミングで印字ヘッド２４１を駆動することによってインク滴を吐出する。こうして制御回路２６０の制御の下で、各色のインク吐出用ヘッド２４４ないし２４７から適切なタイミングでインク滴が吐出され、その結果、印刷用紙Ｐ上にインクドットが形成されて、カラー画像が印刷される。
【００６５】
尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインクを吐出する方式や、インク通路に配置したヒータでインク通路内に泡（バブル）を発生させてインク滴を吐出する方法などを用いることができる。また、インクを吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンタを使用することも可能である。
【００６６】
図４は、各色のインク吐出用ヘッド２４４ないし２４７の底面に、インク滴を吐出する複数のノズルＮｚが形成されている様子を示した説明図である。図示するように、各色のインク吐出用ヘッドの底面には、各色毎のインク滴を吐出する４組のノズル列が形成されており、１組のノズル列には、４８個のノズルＮｚがノズルピッチｋの間隔を空けて千鳥状に配列されている。これらノズルは、制御回路２６０の制御の下で駆動され、インク滴を吐出することによって印刷用紙上にインクドットを形成する。
【００６７】
また、本実施例のプリンタ２００は、吐出するインク滴の大きさを制御することにより、インクドットの大きさを制御することが可能である。以下、プリンタ２００が大きさの異なるインクドットを形成する方法について説明するが、その準備として、先ず、各色インクを吐出するノズルの内部構造について説明する。図５（ａ）は、インクを吐出するノズルの内部構造を示した説明図である。各色のインク吐出用ヘッド２４４ないし２４７には、このようなノズルが複数設けられている。図示するように、各ノズルにはインク通路２５５とインク室２５６とが設けられており、また、インク室の上面にはピエゾ素子ＰＥが設けられている。キャリッジ２４０にインクカートリッジ２４２，２４３を装着すると、カートリッジ内のインクがインクギャラリ２５７を経由してインク室２５６に供給される。ピエゾ素子ＰＥは、周知のように、電圧を印加すると結晶構造が歪んで極めて高速に電気−機械エネルギの変換を行う素子である。本実施例では、ピエゾ素子ＰＥの両端に設けられた電極間に所定波形の電圧を印加することで、インク室２５６の側壁を変形させる。その結果、インク室２５６の容積が減少し、容積の減少分に相当するインクがインク滴ＩｐとなってノズルＮｚから吐出される。このインク滴Ｉｐがプラテン２３６に装着された印刷用紙Ｐに染み込むことで、印刷用紙上にインクドットが形成される。
【００６８】
図５（ｂ）は、ピエゾ素子ＰＥに印加する電圧波形を制御することで、吐出するインク滴の大きさを変更する原理を示した説明図である。ノズルからインク滴Ｉｐを吐出するためには、ピエゾ素子ＰＥに府の電圧を印加してインクギャラリ２５７からインク室２５６内に一旦インクを吸入し、その後、ピエゾ素子ＰＥに正電圧を印加してインク室容積を減少させて、インク滴Ｉｐを吐出させる。ここで、インクの吸引速度が適切であればインク室容積の変化量に相当するインクが吸入されるが、吸引速度が速すぎると、インクギャラリ２５７とインク室２５６との間には通路抵抗があるためにインクギャラリ２５７からのインクの流入が間に合わなくなる。その結果、インク通路２５５のインクがインク室内に逆流して、ノズル付近のインク界面が大きく後退した状態となる。図５（ｂ）に実線で示した電圧波形ａは、適正な速度でインクを吸引する波形を示し、破線で示した電圧波形ｂは適切速度より大きな速度で吸引する波形の一例を示している。
【００６９】
十分なインクがインク室２５６内に供給された状態で、ピエゾ素子ＰＥに正電圧を印加すると、インク室２５６の容積減少に相当する体積のインク滴ＩｐがノズルＮｚから吐出される。これに対して、インクの供給量が不足してインク界面が大きく後退した状態で正電圧を印加すると、吐出されるインク滴は小さなインク滴となる。このように、本実施例のプリンタ２００では、インク滴の吐出前に印加する負の電圧波形を制御してインクの吸引速度を変更することで、吐出するインク滴の大きさを制御する。これにより、大ドット、中ドット、小ドットの３種類のインクドットを形成することが可能となっている。
【００７０】
もちろん、３種類に限らずより他種類のドットを形成することも可能である。更には、微細なインク滴を一度に複数吐出して、吐出するインク滴の数を制御するといった方法を用いて、印刷用紙上に形成されるインクドットの大きさを制御してもよい。
【００７１】
以上のようなハードウェア構成を有するプリンタ２００は、キャリッジモータ２３０を駆動することによって、各色のインク吐出用ヘッド２４４ないし２４７を印刷用紙Ｐに対して主走査方向に移動させ、また紙送りモータ２３５を駆動することによって、印刷用紙Ｐを副走査方向に移動させる。制御回路２６０は、キャリッジ２４０の主走査および副走査を繰り返しながら、適切なタイミングでノズルを駆動してインク滴を吐出する。こうすることで、印刷用紙Ｐ上の適切な位置にインクドットが形成されて、その結果、画像が印刷されることになる。
【００７２】
Ｃ．画像印刷処理の概要  ：
図６は、本実施例のコンピュータ１００が画像データに所定の画像処理を施して印刷データを生成し、得られた印刷データをプリンタ２００に供給して画像を印刷する処理の流れを示したフローチャートである。尚、ここでは、画像印刷処理はコンピュータ１００が行うものとして説明するが、もちろん、この処理をプリンタ２００側で行うことも可能である。以下では、図６のフローチャートに従って、本実施例の画像印刷処理の概要について説明する。
【００７３】
画像印刷処理を開始すると、コンピュータ１００は先ず初めに、変換すべき画像データの読み込みを開始する（ステップＳ１００）。ここでは、画像データは、画像を構成する複数の画素の各々について、ＲＧＢ各色についての階調値が設定されたいわゆるＲＧＢカラー画像データであるものとして説明する。Ｒ（赤色）、Ｇ（緑色）、Ｂ（青色）の３色は光の三原色と呼ばれ、これら３色を加法混色することにより、無彩色から有彩色にいたる広い色域の色彩を表現することが可能である。もちろん、画像データはＲＧＢカラー画像データに限らず、例えば、インクの三原色と呼ばれるＣ（シアン色）、Ｍ（マゼンタ色）、Ｙ（イエロ色）を含んだ複数色について階調値が設定された画像データを用いることもできる。更には、カラー画像データに限らず、モノクロ画像データについても同様に適用することができる。
【００７４】
続いてコンピュータ１００は、読み込んだ画像データの解像度をプリンタ２００が印刷するための解像度（印刷解像度）に変換する処理を行う（ステップＳ１０２）。画像データの解像度が印刷解像度よりも低い場合は、隣接する画素の間で補間演算を行って、新たな画像データを設定することにより解像度を高くする。あるいは簡便には、単純に画素数を増加させて、増やした画素には元の画素と同じ画像データを設定することとしても良い。一方、読み込んだ画像データの解像度が印刷解像度よりも高い場合は、隣接する画素の間から一定の割合で画像データを間引くことによって、解像度を低くする。解像度変換処理では、読み込んだ画像データに対して適切な割合で画像データを生成し、あるいは間引くことによって、読み込んだ画像データの解像度を印刷解像度に変換する処理を行う。
【００７５】
解像度変換処理を終了すると、コンピュータ１００は、色変換処理を開始する（ステップＳ１０４）。色変換処理とは、Ｒ，Ｇ，Ｂの階調値の組合せによって表現されている画像データを、印刷のために使用される各色の階調値の組合せによって表現された画像データに変換する処理である。前述したように、プリンタ２００はＣ，Ｍ，Ｙ，Ｋの４色のインクを用いて画像を印刷している。そこで、色変換処理ではＲＧＢ各色によって表現された画像データを、Ｃ，Ｍ，Ｙ，Ｋの各色の階調値によって表現されたデータに変換する処理を行うのである。
【００７６】
色変換処理は、色変換テーブル（ＬＵＴ）と呼ばれる３次元の数表を参照することで、迅速に行うことができる。図７は、色変換処理のために参照されるＬＵＴを概念的に示した説明図である。図示されているように、直交する３つの軸にＲ軸、Ｇ軸、Ｂ軸を取って色空間を考えると、全てのＲＧＢ画像データは、必ず色空間内の座標点に対応付けて表示することができる。このことから、Ｒ軸、Ｇ軸、Ｂ軸のそれぞれを細分して色空間内に多数の格子点を設定してやれば、それぞれの格子点はＲＧＢ画像データを表していると考えることができ、各ＲＧＢ画像データに対応するＣ，Ｍ，Ｙ，Ｋ各色の階調値を、各格子点に対応付けてやることができる。ＬＵＴは、こうして色空間内に設けた格子点に、Ｃ，Ｍ，Ｙ，Ｋ各色の階調値を対応付けて記憶した３次元の数表である。このような、ＬＵＴに記憶されているＲＧＢカラー画像データとＣ，Ｍ，Ｙ，Ｋ各色の階調データとの対応関係に基づいて色変換処理を行えば、ＲＧＢカラー画像データを、Ｃ，Ｍ，Ｙ，Ｋ各色の階調データに迅速に変換することができる。尚、ＬＵＴの格子点に、ＣＭＹＫ各色に加えて、ＬＣ，ＬＭなどの他色を含めた各色の階調値を設定しておけば、ＲＧＢ画像データをこれら各色の画像データに変換することも可能である。
【００７７】
コンピュータ１００は、色変換によって得られた画像データに対してハーフトーン処理を行う（ステップＳ１０６）。ハーフトーン処理とは、次のような処理である。色変換処理によって得られたＣＭＹＫ各色の画像データは、画像データを１バイトデータとすれば、画素毎に階調値０から階調値２５５までの値を取ることができる。これに対してプリンタ２００は、大中小いずれかのドットを形成することによって画像を表示しているから、それぞれの画素については「大ドットを形成する」、「中ドットを形成する」、「小ドットを形成する」、「ドットを形成しない」の、いずれかの状態しか取り得ない。そこで、各画素について２５６階調を有する画像データを、画素毎にドット形成の有無によって表現されたデータ（ドットデータ）に変換しておく必要がある。ハーフトーン処理とは、このように画像データをドットデータに変換する処理である。前述したように、本実施例のプリンタ２００では、大ドット、中ドット、小ドットの３種類のドットを形成可能であるから、ハーフトーン処理ではこれら３種類のドットについて、画素毎にドット形成の有無を判断することになる。
【００７８】
本実施例のハーフトーン処理では、いわゆるディザ法と呼ばれる方法を用いてハーフトーン処理を行う。ディザ法とは、ディザマトリックスに予め設定されている閾値と画像データの階調値とを画素毎に比較して、画像データの方が大きい画素にはドットを形成すると判断し、逆に閾値の方が大きい画素についてはドットを形成しないと判断することで、各画素についてのドットデータを得る手法である。
【００７９】
以下では、ディザ法を適用して、大中小の各ドットについてのドットデータを生成する方法について説明するが、その準備として、先ず初めに、ディザ法を用いてドット形成の有無を判断する原理について、概要のみを簡単に説明しておく。
【００８０】
図８は、ディザマトリックスの一部を拡大して例示した説明図である。図示したマトリックスには、縦横それぞれ６４画素、合計４０９６個の画素に、階調値０〜２５５の範囲から万遍なく選択された閾値がランダムに記憶されている。ここで、閾値の階調値が０〜２５５の範囲から選択されているのは、本実施例では画像データが１バイトデータであり、画素に割り当てられる階調値が０〜２５５の値を取り得ることに対応するものである。尚、ディザマトリックスの大きさは、図８に例示したように縦横６４画素分に限られるものではなく、縦と横の画素数が異なるものも含めて、種々の大きさに設定することが可能である。
【００８１】
図９は、ディザマトリックスを参照しながら、画素毎にドット形成の有無を判断している様子を概念的に示した説明図である。ドット形成有無の判断に際しては、先ず、判断の対象として着目している画素（着目画素）の階調値と、ディザマトリックス中の対応する位置に記憶されている閾値とを比較する。図中に示した細い破線の矢印は、着目画素の階調値を、ディザマトリックス中の対応する位置に記憶されている閾値と比較していることを模式的に表したものである。そして、ディザマトリックスの閾値よりも着目画素の階調値の方が大きい場合には、その画素にはドットを形成するものと判断する。逆に、ディザマトリックスの閾値の方が大きい場合には、その画素にはドットを形成しないものと判断する。
【００８２】
図９に示した例では、画像データの左上隅にある画素の画像データは階調値１８０であり、ディザマトリックス上でこの画素に対応する位置に記憶されている閾値は１である。従って、左上隅の画素については、画像データの階調値１８０の方がディザマトリックスの閾値１よりも大きいから、この画素にはドットを形成すると判断する。図９中に実線で示した矢印は、この画素にはドットを形成すると判断して、判断結果をメモリに書き込んでいる様子を模式的に表したものである。一方、この画素の右隣の画素については、画像データの階調値は１３０、ディザマトリックスの閾値は１７７であり、閾値の方が大きいので、この画素についてはドットを形成しないものと判断する。このように、画像データの階調値とディザマトリックスに設定された閾値とを比較することにより、ドットの形成有無を画素毎に決定することができる。
【００８３】
図１０は、本実施例の画像印刷処理中で行われるハーフトーン処理の流れを示したフローチャートである。図１０に示すハーフトーン処理では、ディザ法を適用しながら各画素にドットを形成するか否かの判断を、大中小の各ドットについて行うことにより、ドットデータを生成する。以下、フローチャートに従って説明する。
【００８４】
ハーフトーン処理を開始すると、コンピュータ１００は先ず初めに、ＣＭＹＫ各色についての画像データを、大中小の各ドットについての記録密度データに変換する（ステップＳ２００）。記録密度データとは、ドットをどの程度の密度で形成するかを規定するデータである。記録密度データが大きくなるほどドットが高い密度で形成されることを表しており、記録密度データの階調値「２５５」は、全ての画素にドットが形成されることを表しており、階調値「０」はいずれの画素にもドットが形成されないことを表している。こうした記録密度データへの変換は、図１１に示すような記録密度変換テーブルを参照することによって行う。記録密度変換テーブルには、色変換によって得られた画像データの階調値に対して、小ドット・中ドット・大ドットの各ドットについての記録密度データが設定されている。
【００８５】
図示されているように、画像データが階調値「０」近傍の領域では、中ドット・大ドットの記録密度データはいずれも階調値「０」となっており、小ドットの記録密度データのみが「０」でない階調値を有している。小ドットの記録密度データは、画像データの階調値が大きくなるに連れて増加して行くが、画像データがある階調値に達すると今度は逆に減少し始め、代わりに中ドットの記録密度データが増加し始める。画像データの階調値が更に増加すると、それに従って小ドットの記録密度データは減少し、中ドットの記録密度データは増加していく。そして、画像データがある階調値に達すると、今度は中ドットの記録密度データが減少し始めて、代わりに大ドットの記録密度データが少しずつ増加していく。コンピュータ１００のＲＡＭ１０６には、大中小各ドットについての記録密度データがこのように設定されたテーブルが、予め記憶されている。図１０のステップＳ２００では、この記録密度変換テーブルを参照しながら、ＣＭＹＫ各色の画像データを、大ドットの記録密度データ、中ドットの記録密度データ、小ドットの記録密度データに、各色毎に変換する処理を行う。
【００８６】
こうして、大中小各ドットについての記録密度データが得られたら、先ず初めに大ドットについての形成有無を判断する（ステップＳ２０２）。かかる判断は、大ドットの記録密度データと、ディザマトリックスに設定されている閾値とを比較して、記録密度データの方が大きい場合は大ドットを形成すると判断し、逆に閾値の方が大きければ大ドットは形成しないと判断する。そして、大ドットを形成すると判断された画素には（ステップＳ２０４：ｙｅｓ）、ドットデータ「１１」を書き込む処理を行う（ステップＳ２０６）。ドットデータ「１１」は、その画素に大ドットを形成することを表しているデータである。大ドットを形成しないと判断された画素については（ステップＳ２０４：ｎｏ）、中ドットを形成するか否かを判断する処理を開始する。
【００８７】
中ドットについての形成有無の判断は、次のようにして行う。先ず初めに、大ドットの記録密度データに中ドットの記録密度データを加算して、中ドットの形成有無を判断するための中間データを算出する（ステップＳ２０８）。こうして算出した中間データと、前述したディザマトリックスの閾値とを比較することにより、中ドットの形成有無を判断する（ステップＳ２１０）。すなわち、中間データの方が閾値より大きい画素には中ドットを形成すると判断し、閾値の方が大きい画素には中ドットは形成しないと判断する。そして、中ドットを形成する画素については（ステップＳ２１２：ｙｅｓ）、中ドットを形成することを表すドットデータ「１０」を書き込む処理を行う（ステップＳ２１４）。中ドットを形成しないと判断された画素については（ステップＳ２１２：ｎｏ）、小ドットを形成するか否かを判断する処理を開始する。
【００８８】
小ドットの形成有無の判断は、小ドット用の中間データを用いて行う。小ドット用の中間データは、中ドット用の中間データに小ドット用の記録密度データを加算することによって算出する（ステップＳ２１６）。次いで、算出した小ドット用の中間データと、前述したディザマトリックスの閾値とを比較することにより、小ドットの形成有無を判断する（ステップＳ２１８）。そして、小ドット用の中間データの方が閾値より大きい画素には小ドットを形成すると判断し、小ドットを形成する画素については（ステップＳ２２０：ｙｅｓ）、小ドットを形成することを表すドットデータ「０１」を記憶する（ステップＳ２２２）。逆に、小ドット用の中間データよりも閾値の方が大きい画素には、小ドットも形成しないと判断し（ステップＳ２２０：ｎｏ）、この画素には、いずれのドットも形成しないことを表すドットデータ「００」を記憶する（ステップＳ２２４）。
【００８９】
色変換処理によって得られたＣＭＹＫ各色の画像データに、以上のような操作を行えば、大中小の各ドットについての形成有無を表したドットデータを各色毎に得ることができる。そこで、上述したハーフトーン処理を抜けて図６に示す画像印刷処理に復帰する。図６のステップＳ１０８では、以上に説明したようにして、色変換後の画像データをドットデータに変換する処理を行う。
【００９０】
以上のようにしてハーフトーン処理を終了すると、コンピュータ１００は、インターレース処理を開始する（ステップＳ１０８）。インターレース処理とは、次のような処理である。プリンタ２００は、ハーフトーン処理によって得られたドットデータに従って、各画素にドットを形成することによって画像を印刷するが、画像の端にある画素から順番にドットを形成するわけではない。換言すれば、プリンタ２００が印刷用紙上にドットを形成する順番は、画像上で画素が並んでいる順番とは異なっている。そこで、ハーフトーン処理によって得られたドットデータを、プリンタ２００が印刷用紙上にドットを形成する順番に従って並べ替える処理が必要となる。インターレース処理とは、このようにプリンタ２００がドットを形成する順番を考慮して、ドットデータをプリンタ２００に転送すべき順序に並べ替えることによって印刷データに変換し、得られた印刷データをプリンタ２００に出力する処理である。ここで、説明上の都合から、プリンタ２００が印字ヘッド２４１を駆動しながら印刷用紙上にドットを形成する方法について、具体例を用いて説明する。
【００９１】
図１２は、プリンタ２００の印字ヘッドが主走査と副走査とを繰り返しながら印刷用紙上にドットを形成していく様子を概念的に示した説明図である。尚、図４を用いて前述したように、本実施例の印字ヘッド２４１には、各色毎に多数（本実施例では各色あたり４８個）のノズルが設けられているが、説明が煩雑となることを避けるため、図１２ではノズルの数は４個であるものとして説明する。図中に示したＮｚ１，Ｎｚ２，Ｎｚ３，Ｎｚ４は、これら４つのノズルを表している。また、ノズルピッチは３であり、１本のラスタを２回の主走査に分けて形成するものとする。尚、プリンタ２００は、大中小の各ドットを形成可能であるが、ここでは、１種類のドットのみを形成するものとする。
【００９２】
図１２の左半分には、副走査を行うことにより、印字ヘッドが印刷用紙に対して相対的に少しずつ移動していく様子を示している。図１２の左半分に示した縦長の矩形は１色分の印字ヘッドを表している。図示されているように、各色のヘッドには４つのノズルが設けられている。また、ノズルピッチは「３」に設定されているので、これらノズルの間には、図中に破線で示されているように、ノズル２つ分に相当する距離（ノズル中心同士で見ればノズル３つ分に相当する距離）が設けられている。
【００９３】
図１２の右半分には、印字ヘッドを主走査させながらインク滴を吐出することによって、印刷用紙上にドットが形成されていく様子を表している。図１２の右半分に示した丸印は印刷用紙上に形成されたドットを模式的に表したものである。尚、図３を用いて前述したように、実際の副走査は印刷用紙を紙送りすることによって行われており、印字ヘッド２４１が副走査方向に移動するわけではないが、図１２では説明の便宜から印刷用紙を基準に取って、あたかも印字ヘッドが移動しているかのように表現している。
【００９４】
印刷に際しては、先ず、図中で（１）と表示した位置に印字ヘッドがある状態で、インク滴を吐出しながら主走査を行う。この主走査によって印刷用紙上には、図１２の右半分で「１」と表示されたドットが形成される。ここで、「１」と表示されたドットが、１画素おきに飛び飛びに形成されているのは、ここでは１本のドット列を２回の主走査に分けて形成するものとしているためである。仮に、１本のドット列を３回の主走査に分けて形成するものとした場合は２画素飛びに、４回の主走査に分けて形成するものとした場合は、３画素飛びにドットが形成されることになる。
【００９５】
次いで、印字ヘッドをノズル２つ分だけ副走査方向に移動させる。その結果、印字ヘッドは、図１２の左半分で（２）と表示した位置に移動する。図１２の左半分に示された実線の矢印は、印字ヘッドを副走査する動作を模式的に表したものである。こうして副走査を行った後、再び主走査を行って印刷用紙上にドットを形成する。この２回目の主走査によって印刷用紙上には、図１２の右半分で「２」と表示されたドットが形成される。前述したように、印字ヘッドにはノズルが、ノズル３つ分の間隔を空けて設けられているが、副走査では印字ヘッドをノズル２つ分だけ移動させているので、２回目の主走査で形成されるドット列（図中で「２」と表示されたドット列）は、１回目の主走査で形成したドット列（図中で「１」と表示されたドット列）の間に形成されることになる。
【００９６】
続いて、再びノズル２つ分だけ副走査を行って印字ヘッドを（３）と表示された位置まで移動させた後、３回目の主走査を行いながらインク滴を吐出することで、「３」と表示されたドットを形成する。３回目の主走査で形成されるドット列（図中で「３」と表示されたドット列）は、１回目の主走査で形成したドット列（図中で「１」と表示されたドット列）と、２回目の主走査で形成したドット列（図中で「２」と表示されたドット列）との間に形成されることになる。すなわち、１回目の主走査では４本のドット列が形成されるが、これらドット列の間には、２本分のドット列が形成されだけの間隔が空いている。２回目の主走査では、これら２本分のドット列の一方にドットが形成され、３回目の主走査では、残りの１本分のドット列にドットが形成されることになる。このように、副走査を行って印字ヘッドを少しずつ移動させながらドットを形成する操作を繰り返していくと、３回目の主走査を行った段階で、ドット列の間に形成された隙間をドット列で埋めて、ラスタを完成させることができる。
【００９７】
続いて行う４回目の主走査では、１回目の主走査で形成したドット列に重ねてドットが形成される。但し、前述したように、１回目の主走査では１画素おきに飛び飛びの位置にドットが形成されているので、４回目の主走査では、これらドットの間にドットを形成するのである。図１２の右半分には、「１」と表示されたドットの間に、４回目の主走査による「４」と表示されたドットが形成され、その結果としてラスタが完成されている様子が概念的に表されている。すなわち、１回目の主走査では、１本の画素列上の半分のドットを形成し、４回目の主走査で残りの半分のドットを形成しており、結局は、このラスタを２回の主走査に分けて形成していることになる。
【００９８】
こうして１本のドット列が完成したら、再び副走査を行って、図中で（５）と表示した位置に印字ヘッドを移動させた後、５回目の主走査を行って、図中で「５」と表示されたドットを形成する。５回目の主走査では、２回目の主走査で形成したドット列に重ねてドットが形成される。すなわち、図中で「２」と表示されたドットの間に「５」と表示されたドットを形成することで、また、新たなラスタを完成させる。続いて、再び副走査を行って、図中で（６）と表示した位置に印字ヘッドを移動し、６回目の主走査を行って、「６」と表示されたドットを形成する。「６」と表示されたドットは、「３」と表示されたドットの間に形成され、新たなラスタが完成される。以降は、同様にして、７回目の主走査では、４回目の主走査で形成したドットの間にドットが形成され、８回目の主走査では、５回目の主走査で形成したドットの間にドットが形成される。
【００９９】
このように、印字ヘッドを所定量ずつ副走査させながら主走査を行ってドット列を形成する操作を繰り返していくと、やがて隙間無くドットが形成され、そしてそれ以降は、主走査を行ってドットを形成するたびに次々とラスタを完成させて、印刷用紙上に隙間無くドットを形成していくことが可能となる。図１２に示した例では、５回目の主走査以降で隙間無くドットが形成されている。すなわち、５回目の主走査以降にドットを形成する領域が、画像の有効表示領域となる。
【０１００】
このようにプリンタは、画像の有効表示領域の端にある画素から順番にドットを形成して行くのではなく、あたかもモザイクを構成するかのように、所定の順番に従ってドットを形成しながら画像を印刷している。そこで、図６に示した画像印刷処理では、インターレース処理（ステップＳ１０８）を行って、ハーフトーン処理（ステップＳ１０６）によって得られたドットデータを、プリンタ２００の印字ヘッド２４１が実際にドットを形成する順番に並べ替える処理を行うのである。このようにして順序の並べ替えられたドットデータは、印刷データとしてプリンタ２００に供給される。
【０１０１】
プリンタ２００は、以上のようにして、コンピュータ１００から出力された印刷データに従って、ヘッドの主走査および副走査を行いながら印刷用紙上にドットを形成する（ステップＳ１１０）。その結果、印刷用紙上に画像が印刷されることになる。
【０１０２】
以上に説明したように、印刷用紙上にドットを形成して画像を印刷するプリンタでは、ドットが目立つとザラザラした感じの画像となって画質が悪化してしまう。従って、良好な画質を得るためには、画像印刷処理中のハーフトーン処理（図６のステップＳ１０６）で、画像データの階調値に応じて適切な密度でドットを発生させることはもちろん、ドットが目立たないように、できるだけ分散させてドットを発生させることが大切である。上述したディザ法と呼ばれるハーフトーン処理方法では、ドットをできるだけ分散させるために、ディザマトリックスの閾値の分布を適切に設定することが行われている。つまり、ディザマトリックスの閾値の分布を変更すればそれに伴ってドットの発生位置も変わるから、閾値の分布の最適化を図ることで、ドットを適切に発生させるのである。
【０１０３】
もちろん、ディザマトリックスの閾値を設定する段階では、各ドットは設計通りの位置（通常は各画素の中央）に正確に形成されるものとして、閾値の分布の最適化を図っている。これは、市場に出荷された各プリンタで実際にドットを形成した時に、ドットの形成位置がどのようにずれるかは、設計段階では分からないから半ば当然のことである。そして、プリンタに種々の調整機能を搭載しておき、市場に出荷された後に、実際に形成されるドットの位置を設計上の位置に近づけてやる。こうすれば、ドットが適切な分布で形成された良好な画質の画像を印刷することが可能となる。
【０１０４】
しかし、実際にドットが形成される位置を設計上に位置に近づけることは、必ずしも容易なことではなく、専用の調整機構あるいはアプリケーションソフトが必要となるので、プリンタが複雑化、大型化、高価格化してしまう。更に、より高画質の印刷画像を得ようとすれば、実際に形成されるドット位置を設計上の位置にできるだけ一致させる必要があるから、調整機構あるいはアプリケーションソフトが複雑化して、プリンタの一層の複雑化、大型化、高価格化を招くことになる。
【０１０５】
こうした点に鑑みて、本実施例のプリンタ２００では、実際に形成されるドットの位置を設計上の位置に合わせるのではなく、印刷用紙上に形成されるドット位置と設計上の位置との「ずれ」を検出し、ドット位置がこのようにずれていることを前提として、適切なディザマトリックスを生成する。すなわち、ドットが設計上に位置からずれた位置に形成された状態で、適切なドットの分布が得られるように、ディザマトリックスの閾値を設定するのである。こうして生成したディザマトリックスを用いてハーフトーン処理を行えば、プリンタ２００でドットの形成位置を調整せずとも、ドットが適切に分散した状態で発生した高画質な印刷画像を得ることが可能となる。以下では、先ず初めに、ドットの位置ずれを検出する方法について説明し、次いで、検出した位置ずれに基づいてディザマトリックスを生成する方法について説明する。
【０１０６】
Ｄ．ドット位置ずれの検出方法  ：
本実施例では、ドットの位置ずれを合理的に検出するために、次のような方法を採用している。先ず、位置ずれを合理的に検出することが可能な原理について説明し、次いで、かかる原理に基づいた位置ずれの検出方法について説明する。
【０１０７】
Ｄ−１．ドット位置ずれの検出原理  ：
図１２を用いて前述したように、プリンタは一般に、印字ヘッドの主走査と副走査とを繰り返してドットを形成しながら、あたかもモザイクを構成するかのようにして画像を印刷している。このようにモザイク状に形成されるドットの位置ずれを合理的に検出するために、本実施例では次のような原理に基づいてドットを検出する。
【０１０８】
図１３は、ドットの位置ずれを検出する原理を示す説明図である。図１３は、前述した図１２と同様に、ノズルピッチ３の間隔で４つのノズルを備えた印字ヘッドが、主走査と副走査とを繰り返しながら印刷用紙上にドットを形成することにより、画像を印刷する様子を概念的に示している。但し、図示に際して着目する視点が、図１２と図１３とでは異なっている。すなわち、図１２では、それぞれのドットが何回目の主走査で形成されたかに注目し、各ドットを形成した主走査の回数を識別して表示した。これに対して図１３では、各ドットが、４つ設けられたノズルの中のいずれのノズルで形成されたかに注目し、各ドットをいずれのノズルで形成したかを識別可能な状態で表示している。具体的には、Ｎｚ１で形成されたドットは黒丸印で表示されており、Ｎｚ２で形成されたドットは×印で表示され、Ｎｚ３で形成されたドットは三角印で、Ｎｚ４で形成されたドットは黒四角印を用いて表示している。また、１本あたりのラスタは、図１２と同様に、２回の主走査で表示されている。
【０１０９】
図１３に示すように、印刷用紙上に形成されたドットの配列を、各ドットを形成したノズルに着目して観察すると、ドットが周期的に形成されていることを見出すことができる。つまり、主走査方向には、２画素を周期として同じパターンで繰り返しドットが形成されており、副走査方向には、１２画素を周期として同じパターンで繰り返しドットが形成されている。結局、主走査方向に２画素、副走査方向に１２画素の、合計２４画素をひとまとまりとして、全く同じパターンで繰り返しドットが形成されていることになる。
【０１１０】
こうしたことは、図１３に示したようにノズル数４、ノズルピッチ３、ラスタを２回の主走査で形成する組合せの場合に限って見られるものではなく、どのような組合せでも見出すことができる。すなわち、ノズル数Ｎ、ノズルピッチｋ、ラスタをｓ回の主走査で形成するものとすると、主走査方向にはｓ画素、副走査方向にはＮ×ｋ画素をひとまとまりとして、同じパターンで繰り返しドットが形成されることになる。従って、図１２に示すように一見複雑に見えるドットの配列も、各ドットを形成するノズルに着目して観察すれば、図１３に示すように、主走査方向にｓ画素、副走査方向にＮ×ｋ画素をひとまとまりのブロックとして、同じブロックが繰り返されているに過ぎない。このことから、ドットの位置ずれに関しても、こうしたブロックを周期として同じパターンが繰り返されると考えることができ、従って、ブロック内の各画素位置での位置ずれを検出しておけば、画像の全領域で各画素に形成されるドットの位置ずれを知ることができる。本実施例では、このような原理に基づいてドットの位置ずれを検出することで、合理的な検出を可能としている。
【０１１１】
Ｄ−２．ドット位置ずれの検出方法  ：
以下では、印刷用紙上に実際に形成されるドットの位置と、設計上ドットが形成される位置との位置ずれを、上述した原理に基づいて検出する方法について説明する。図１４は、本実施例において、ドットの位置ずれを検出する方法を示すフローチャートである。以下、フローチャートに従って説明する。
【０１１２】
ドットの位置ずれ検出処理を開始すると、先ず初めに、検査画像を印刷する（ステップＳ３００）。すなわち、印字ヘッド２４１の主走査および副走査を繰り返しながらインク滴を吐出し、印刷用紙上にドットを形成することによって、所定の検査画像を印刷するのである。図１５は、検査画像が印刷用紙上に印刷された様子を概念的に示した説明図である。図中に破線で示した小さな正方形は画素を表している。図示された検査画像は、各画素に１つずつドットが形成されるような画像となっている。尚、前述したようにプリンタ２００は、大中小の各ドットを形成することができるが、本実施例の検査画像は小ドットあるいは中ドットを用いて印刷されており、大ドットは使用されていない。この理由については後述する。図１５に示すような検査画像を印刷するためのデータは、図６のハーフトーン処理やインターレース処理などが施された状態、すなわち印刷データの状態で、プリンタ２００の制御回路２６０内のＲＯＭに予め記憶されている。そして、図１４のステップＳ３００では、記憶しておいた印刷データを印字ヘッド２４１に出力することで、図１５に示した検査画像を印刷する。
【０１１３】
次いで、印刷された検査画像をスキャナ１２２を用いて読み込むことで、検査画像の各画素に形成されているドットの画像を読み込んでやる（ステップＳ３０２）。スキャナ１２２は、ドットの画像が読みとれるものであれば、どのようなスキャナであってもよい。プリンタ２００がいわゆる複合型のプリンタであり、スキャナが組み込まれている場合には、このスキャナを用いてドットの画像を読み取ることとしてもよい。
【０１１４】
こうして読み取られた検査画像は、図１３を用いて説明したように、同じパターンでドットが形成されたブロックが繰り返されることによって印刷されている。そこで、検査画像を読みとったら、今度は、読み取った検査画像に対してブロックを設定する処理を行う（ステップＳ３０４）。ブロックの大きさは、印字ヘッド２４１に設けられているノズル数Ｎ、ノズルピッチｋ、１本あたりのラスタを形成するために要する主走査の回数ｓによって決定される（図１３を参照のこと）。ここでは、ノズル数Ｎ＝４、ノズルピッチｋｋ＝３、主走査回数ｓ＝２、としているから、１つのブロックは、主走査方向には２（＝ｓ）画素、副走査方向には１２（＝Ｎ×ｋ）画素の大きさを有するものとする。もちろん、このブロックを主走査方向あるいは副走査方向に複数個並べてたような大きなブロックを、１つのブロックとして設定することも可能である。
【０１１５】
図１６は、読み取った検査画像に対してブロックを設定している様子を、概念的に示した説明図である。本実施例では、検査画像の大きさが、主走査方向には２の整数倍の画素数に、副走査方向には１２の整数倍の画素数に設定されている。検査画像をこのような大きさに設定しておけば、複数のブロックを縦横に並べて、検査画像上に隙間無く敷き詰めることができる。図１６に示した例では、主走査方向には７列、副走査方向には２列にブロックを並べれば、検査画像に隙間無くブロックを敷き詰めることができる。そして、このような１４個分のブロックを一体として、これらブロックの検査画像に対する位置を主走査方向および副走査方向に微調整することにより、印刷後に取り込んだ複数のブロック全体の重心と検査原画像の重心とを一致させる。こうすれば、検査画像に対して正確な位置にブロックを設定することが可能となる。何故なら、検査画像に形成されている各ドットは少しずつ位置ずれしているため、個々のドット位置からブロックの設定位置を知ることはできないが、ドットはランダムに位置ずれするから、複数のドットをまとめれば、ずれの影響は互いにキャンセルし合うものと考えられる。従って、複数のドットからなる検査画像の重心とブロックの重心とが一致するように設定すれば、各ドットの位置ずれの影響を受けることが無いので、正確な位置にブロックを設定することが可能となるのである。
【０１１６】
尚、図１６では、１４個分のブロックと検査画像とは同じ大きさであるものとして説明したが、検査画像の各画素に対してブロックを正確に位置決めすることができるのであれば、一体として設定しようとする複数のブロックと、検査画像とは同じ大きさである必要はない。例えば、図１７（ａ）に示したように、１４個分のブロックよりも大きな検査画像や、図１７（ｂ）に示すような１４個分のブロックよりも小さな検査画像を用いることができる。すなわち、これら検査画像の重心は図１６に示した検査画像の重心と一致することからも明らかなように、このような検査画像と１４個分のブロックとを組み合わせて用いた場合にも、互いの重心を一致させることにより、検査画像に対してブロックを正確に位置決めして設定することが可能である。
【０１１７】
あるいは、このように重心を一致させるのではなく、ブロックの位置決めに用いるドット（基準ドット）を、検査画像の内あるいは検査画像の外に形成しておき、この基準ドットを正に用いて、一体のブロックを設定することとしても良い。すなわち、基準ドットは位置ずれなく形成されているものと仮定して、このドットを基準に用いてブロックの位置を一旦設定する。もちろん、実際には基準ドットも位置ずれしているが、このずれは、検査画像を構成する全ドットの位置ずれとして現れる。しかし、各ドットの位置ずれは互いにキャンセルし合うので、検査画像全体としての位置ずれは「０」となるはずである。そこで、全体の位置ずれが「０」となるように、各ドットの位置ずれを修正してやればよい。あるいは、詳細には後述するが、全体が位置ずれしたデータをそのまま用いても、ディザマトリックスを適切に設定することができるので、各ドットの位置ずれを修正しなくても実際上の不都合が生じることはない。
【０１１８】
尚、上述した位置決め方法は、複数のドットをまとめれば、ずれの影響は互いにキャンセルし合うという原理に基づいている。従って、以上では複数のブロックを一体として位置決めするものとして説明したが、単一のブロックの場合でも同様の原理によって位置決めすることも可能である。複数のブロックを一体として位置決めした場合は、位置決め精度や位置ずれの検出精度を向上させることが可能である。また、単一のブロックを用いた場合は、扱うデータ量が少なくなる分だけ、処理の迅速化を図ることが可能となる。
【０１１９】
図１４のステップＳ３０４では、以上のようにして、読み込んだ検査画像に対してブロックの位置を決定することにより、検査画像の画素とブロックを構成する画素とを一致させる処理を行う。
【０１２０】
次いで、ブロック内の画素毎にドットの位置ずれを検出する処理を行う（ステップＳ３０６）。この処理の内容について、図１８を参照しながら説明する。図１８は、検査画像上に位置決めされた１つのブロックについて、ブロック内の各画素に形成されたドットの位置ずれを検出する様子を、概念的に示した説明図である。図中に一点鎖線で示した大きな矩形は、検査画像上に位置決めされたブロックの１つを表しており、細い破線で示された小さな正方形はブロックを構成する画素を表している。また、画素内に破線で表示された十字は各画素の中心位置を表しており、各画素内に表示された黒丸は、読み取った検査画像を構成しているドットを示している。ここで、ブロックは、図１４のステップＳ３０４において、前述した方法により位置決めされているので、ブロックを構成する画素の位置は検査画像の各画素の位置に、ほぼ一致していると考えることができる。従って、検査画像から読み取ったドットと、十字位置（ブロックの画素の中心）とのずれを検出すれば、実際に形成されたドットの位置が設計上の位置からどれだけずれているかを、検出することができる。
【０１２１】
例えば、図１８に示した左上隅のドットは、ブロックの画素の中心（画素中の十字位置）に対して、左斜め下方向にずれている。従って、このドットは、設計上の形成位置に対して左斜め方向にずれて形成されていると考えることができる。同様に、図１８の右上隅のドットは、ブロックの画素の中心に対して右斜め上方向にずれており、従って、設計上の形成位置に対して右斜め上方向にずれて形成されていることが分かる。図１４のステップＳ３０６では、このようにブロックを構成する各画素について、画素毎にドットの位置ずれを検出する処理を行うのである。
【０１２２】
尚、ここでは、検査画像上に１４個のブロックを設定しているから、上述したブロック内の各画素でドットの位置ずれを検出する処理を各ブロック毎に行い、そして、各ブロックで検出したずれ量を、ブロック内での画素位置毎に平均化することとしてもよい。こうして、複数のブロックについて検出したドットの位置ずれの平均をとってやれば、ブロック内の各画素についての位置ずれを精度良く検出することが可能となる。もっとも、各ブロックで検出される位置ずれは、ブロック内での画素位置に応じて同じような値が検出されると考えられる。従って、複数のブロックの中から１つのブロックを選択して、このブロックでの検出結果によって、他のブロックでの検出結果を代表させることとしても良い。こうすれば、実用上の不都合を起こすことなく、ドットの位置ずれを簡便に検出することが可能となる。
【０１２３】
以上のようにして、ドットの位置ずれをブロック内の画素毎に検出したら、検出した位置ずれのデータを記録媒体あるいはメモリ上に出力する（ステップＳ３０８）。出力するデータの形式は、種々の形式とすることができるが、ここでは、ブロック内での画素位置を示すデータと、各画素の中心からのズレ量の主走査方向の成分と、副走査方向の成分とが一組にまとめられた形式で出力するものとする。こうして、ブロック内の各画素位置での、ドットの位置ずれを示すデータを記録媒体あるいはメモリ上に出力したら、図１４に示したドットの位置ずれ検出処理を終了する。
【０１２４】
Ｄ−３．位置ずれ検出方法の変形例  ：
上述した位置ずれの検出方法では、小ドット（あるいは可能な場合は中ドット）を形成して位置ずれを検出しており、大ドットは使用していない。これは、大ドットを形成して検査画像を印刷した場合、隣接する大ドット同士が重なり合って、各画素に形成されているドットの位置を検出することが難しくなるからである。図１９は、ブロック内の各画素に大ドットが形成されている様子を概念的に示した説明図である。図１８の各画素に形成されているドットを、大ドットに置き換えた場合に相当している。図１９に示されているように、大ドットを用いて検査画像を印刷すると、隣接するドット同士が重なり合ってしまい、個々のドットを識別することが困難となる。これでは、検査画像に対してブロックを正確に位置決めしても、各画素位置でのドットの位置ずれを検出することは難しい。このため、大ドット以外のドット、すなわち小ドット（あるいは可能であれば中ドット）を用いて検査画像を印刷しているのである。
【０１２５】
とは言え、小ドットあるいは中ドットを形成できないプリンタ、すなわち単一の大きさのドットのみを形成可能なプリンタも多数存在する。このようなプリンタについては、次のような方法を用いて、ドットの位置ずれを検出すればよい。以下では、位置ずれ検出方法の変形例として、単一のドットのみを形成可能なプリンタでドットの位置ずれを検出する方法について説明する。
【０１２６】
図２０は、単一のドット（以下では、大ドットと呼ぶ）を用いて、ドットの位置ずれを検出するために検査画像を印刷した様子を概念的に示した説明図である。大ドットを用いてドットの位置ずれを検出する場合は、複数の検査画像を用いて位置ずれを検出する。図２０では、ドットの位置ずれを検出するために３つの検査画像を用いることとして、検査画像１、検査画像２、検査画像３を印刷している。
【０１２７】
図２１は、検査画像１の一部を拡大して示した説明図である。図中に破線で示した小さな矩形は画素を表しており、画素内に表示された黒丸はドットを示している。尚、ここでは、大ドットを形成する場合について説明しているが、図示が煩雑となることを避けるために、図２１ではドットの大きさを実際よりも小さく表示している。図２１に示した検査画像１では、主走査方向にも副走査方向にも２画素飛びにドットが形成されている。このような検査画像をスキャナで読み取り、読み取った検査画像に対してブロックを設定する処理を行う。
【０１２８】
図２２は、図２１に示した検査画像１に対してブロックを設定した様子を概念的に示している。図中で破線で示した矩形は、読み取った検査画像上に位置決めされたブロックを表している。また、図２２では、形成されるノズルによってドットを区別するために、ノズルＮｚ１で形成されたドットは黒丸印で表し、ノズルＮｚ２で形成されたドットは×印で、ノズルＮｚ３で形成されたドットは三角印で、ノズルＮｚ４で形成されたドットは黒四角印で表している。
【０１２９】
図２２に示されているように、検査画像１を構成している各ドットは、ブロック内の１行目の画素、４行目の画素、７行目の画素、１０行目の画素に形成されている。従って、検査画像１に対してブロックを位置決めし、複数のブロックでドットの位置ずれを検出してやれば、ブロック中の１行目、４行目、７行目、１０行目の画素については、ドットの位置ずれを検出することが可能である。
【０１３０】
図２３は、図２０に示した検査画像２の一部を拡大して示した説明図である。ここでも、破線の矩形は画素を表しており、黒丸は大ドットが形成されている位置を表している。図示されているように、検査画像２を構成している各ドットは、ブロック内の２行目、５行目、８行目、１１行目の画素に形成されている。従って、検査画像２を用いてドットの位置ずれを検出してやれば、ブロック中の２行目、５行目、８行目、１１行目の画素についてドットの位置ずれを検出することが可能である。
【０１３１】
図２４は、図２０に示した検査画像３の一部を拡大して示した説明図である。図示されているように、検査画像３を構成している各ドットは、ブロック内の３行目、６行目、９行目、１２行目の画素に形成されているから、検査画像３を用いれば、ブロック中の３行目、６行目、９行目、１２行目の画素についてドットの位置ずれを検出することができる。結局、図２０に示した３つの検査画像を用いてそれぞれ検出したドットの位置ずれを合わせてやれば、ブロック内にある全ての画素位置でドットの位置ずれを検出することが可能となる。
【０１３２】
Ｄ−４．その他の変形例  ：
以上の説明では、３つの検査画像を使用し、それぞれの検査画像では、主走査方向および副走査方向のいずれにも２画素飛びにドットを形成するものとして説明した。しかし、必ずしも２画素飛びにドットを形成する必要はなく、また、必ずしも３つの検査画像を用いなければならないわけではない。例えば、図２５あるいは図２６に示すように、主走査方向および副走査方向に１画素飛びにドットを形成して、２つの検査画像を形成した場合でも、上述した方法を用いてドットの位置ずれを検出することができる。
【０１３３】
更には、形成するドットの間隔を適切な画素数に設定し、あるいはドット同士が隣接することを避けながらランダムな位置にドットを形成してもよい。このような場合でも、十分な大きさの検査画像を印刷してやれば、ブロック内の各画素についてのドットの位置ずれを、１枚の検査画像を用いて検出することが可能である。
【０１３４】
また、上述した方法では、検査画像を印刷するためのデータを、ハーフトーン処理（および場合によってはインターレース処理など）が施された状態で記憶しておき、このデータを印字ヘッド２４１に供給することによって検査画像を印刷するものとして説明した。このようにして検査画像を印刷すれば、所望の画素にドットを形成することができる。しかし、検査画像のデータを、色変換処理前あるいはハーフトーン処理前の状態で記憶しておくことも可能である。このような画像データをハーフトーン処理した場合、ドットを規則的に形成することは困難であるが、ドットがまばらに形成されるような画像データを記憶しておけば、印刷された検査画像から、ブロック内の各画素でのドットの位置ずれを検出することが可能である。
【０１３５】
Ｅ．ディザマトリックス生成処理  ：
本実施例のプリンタ２００では、印刷用紙上に形成されるドット位置と設計上の位置との「ずれ」を検出し、ドット位置がこのようにずれていることを前提としてディザマトリックスの閾値を設定する。以下では、実際に形成されるドットの位置が、上述した方法で検出した量だけずれているものとして、適切なディザマトリックスを生成する方法について説明する。
【０１３６】
ディザマトリックスを生成する方法には、試行錯誤的に生成するものを含めて種々の方法が提案されている。本実施例においては、いずれの方法を用いることもできるが、代表的な方法として、以下ではいわゆる距離関数を用いてディザマトリックスを生成する方法について説明する。先ず初めに、距離関数を用いたディザマトリックスの生成方法について概要を説明した後、ドットの形成位置がずれていることを前提として最適なディザマトリックスを生成する方法について説明する。
【０１３７】
Ｅ−１．ディザマトリックス生成の概要  ：
図２７および図２８は、距離関数を用いてディザマトリックスを生成する方法の概要を示す説明図である。説明が煩雑となることを避けるために、ここではディザマトリックスの大きさを縦横２画素ずつ合計４画素のマトリックスとする。これら４つの画素に閾値を設定してやれば、ディザマトリックスを生成したことになる。
【０１３８】
先ず初めは、４つの画素の中から任意の画素を１つ選択する。そして、この画素を、ディザマトリックス中で最もドットが形成され易い画素、換言すれば、閾値が最も小さい画素であると決定する。ここでは、最もドットが形成され易い画素として、４つの画素の中で左上にある画素を選択したものとする。図２７（ａ）に小さな正方形で示した４つの画素の中、左上の画素に「１」と表示されているのは、この画素がドットが１番形成され易い画素として選択されたことを模式的に表したものである。そして、２番目にドットが形成され易い画素は、図中にそれぞれ「ａ」、「ｂ」、「ｃ」と表示された残りの３つの画素の中から選択する。
【０１３９】
距離関数を用いてディザマトリックスを生成する場合、２番目の画素は、１番目に選択した画素からの距離が最も大きくなるような画素を選択する。例えば、図２７（ａ）に示した画素「ａ」を仮に選択して、１番目に選択した画素からの距離を算出する場合について考える。図２７（ｂ）は、画素「ａ」を選択したときの距離を算出している様子を概念的に表したものである。図２７（ｂ）中に実線で示した４つの正方形が、生成しようとしているディザマトリックスであり、マトリックス中の左上の画素には既にドットが形成されている。また、実線で表示されたディザマトリックスの周囲には、細い破線を用いて、同じマトリックスが縦方向および横方向に繰り返し表示されている。これは、印刷しようとする画像の大きさは、通常はディザマトリックスよりも大きいので、ハーフトーン処理ではディザマトリックスが主走査方向および副走査方向に繰り返して使用されることに対応したものである。このように、ディザマトリックスが繰り返し使用されている状況で、画素「ａ」を選択したときに、周囲に形成されているドットとの距離を算出する。実際には、予め求めておいた距離関数を用いることにより、周囲に形成されているドットとの距離は比較的容易に算出することができる。
【０１４０】
尚、「周囲に形成されているドット」とは、通常であれば、所定距離（例えば、生成しようとしているディザマトリックスの対角線の約半分の距離など）以内に形成されているドットであるが、ここでは説明が煩雑となることを避けるために、隣接する画素に形成されているドットであるものとする。すると、図２７（ｂ）に示すように、画素「ａ」の周囲には左右に１つずつ、合計２つのドットが形成されていることになる。ドットが画素の中心に形成されるものとすれば、図中に矢印で示したドット間の距離はそれぞれ１画素分である。このことから、２番目にドットが形成され易い画素として画素「ａ」を選択した場合は、周辺のドットとの距離は平均して１画素分の距離と算出されることになる。
【０１４１】
次に、画素「ｂ」を選択した場合は、図２７（ｃ）に示すように、上下方向に１つずつドットが形成されることになる。ドットが画素の中心に形成されるものとすれば、図中に矢印で示したドット間の距離は１画素分となるから、画素「ｂ」を選択した場合も、周辺のドットとの距離は平均して１画素分の距離と算出される。一方、画素「ｃ」を選択した場合、画素「ｃ」の周囲には、図２７（ｄ）に示すように斜め方向に１つずつ、合計４つのドットが形成されることになる。ドットが画素の中心に形成されるものとすれば、図中に矢印で示したドット間の距離は約１．４画素分となるから、画素「ｃ」を選択した場合は、周辺のドットとの距離は平均して約１．４画素分の距離となる。
【０１４２】
すなわち、図２７（ａ）に示した画素「ａ」、画素「ｂ」、画素「ｃ」の３つの画素の内、画素「ｃ」を選んだ時に周囲とのドットの距離が最も大きくなる。そこで、ディザマトリックス中で２番目にドットが形成され易い画素としては、距離が最も大きくなる画素「ｃ」を選択する。
【０１４３】
３番目にドットが形成され易い画素についても、同様にして選択することができる。図２８は、ディザマトリックス中で３番目にドットが形成され易い画素を選択する様子を、概念的に示した説明図である。３番目にドットが形成され易い画素は、図２８（ａ）に示した画素「ａ」、画素「ｂ」の２つの画素の中から、周囲のドットとの距離が最も大きくなる画素を選択すればよい。図２８（ｂ）は、画素「ａ」を選択した場合に、周囲に形成されているドットとの距離を算出している様子を、概念的に示した説明図である。また、図２８（ｃ）は、画素「ｂ」を選択した場合に、周囲のドットとの距離を算出する様子を示した説明図である。図示されているように、画素「ａ」あるいは画素「ｂ」のいずれを選択した場合でも、周囲には上下左右に４つの画素が形成されている。ドットが画素の中心に形成されるものとすれば、図中に矢印で示したドット間の距離は１画素分となり、画素「ａ」、画素「ｂ」のいずれを選択した場合も、周辺のドットとの平均距離は１画素分となる。このように、平均距離が等しくなった場合は、どちらの画素を選択してもよい。ここでは画素「ａ」を選択して、この画素を、ディザマトリックス中で３番目にドットが形成され易い画素とし、残った画素「ｂ」が４番目にドットが形成され易い画素となる。
【０１４４】
結局、図２８（ｄ）に示すように、ディザマトリックスの４つの画素について、ドットの形成され易さの序列を決定することができ、この序列に従って各画素に閾値を設定することができる。例えば、画像データの階調値が０〜２５５の範囲を取り得るものとすれば、この範囲を適当に分割する４つの閾値（例えば、５１，１０２，１５３，２０４）を、小さな閾値から順番に、図２８（ｄ）に示す序列に従って設定してやればよい。
【０１４５】
以上のように、ディザマトリックスに含まれる画素の中からドットが形成され易い画素を、周囲のドットとの距離を算出しながら順番に選択していく場合、ドットの形成位置がずれていると、選択される画素の順番は異なったものとなる。その結果、得られるディザマトリックスも異なったマトリックスとなる。以下では、図２９および図３０を参照しながら具体的に説明する。
【０１４６】
図２９および図３０は、ドットの形成位置がずれていることを前提として、適切なディザマトリックスを生成する方法の概要を示す説明図である。尚、ここでも説明が煩雑となることを避けるために、ディザマトリックスの大きさを縦横２画素ずつ合計４画素のマトリックスとする。
【０１４７】
今、ドットの形成位置が、縦方向および横方向にそれぞれ２画素周期で位置ズレするものとする。すなわち、ドットの形成位置がディザマトリックスと同じ周期でずれるものとする。図２９（ａ）には、ディザマトリックスの各画素でドットの形成位置がずれている様子を表している。尚、ドットが位置ズレする周期とディザマトリックスの大きさとが一致するという条件は、図示の煩雑化を避け、理解の便宜を図るためにおいた条件であり、位置ずれの周期が、必ずしもディザマトリックスの大きさと一致している必要はない。更には、ドットの位置ずれの周期の整数倍が、必ずしもディザマトリックスの大きさとなっている必要もない。この点については、後ほど補足して説明する。
【０１４８】
前述した図２７と同様に、先ず初めは、４つの画素の中から任意の画素を１つ選択して、この画素を、ディザマトリックス中で最もドットが形成され易い画素とする。図２９（ｂ）には、左上の画素が１番目の画素として選択されたことを模式的に表したものである。そして、「ａ」、「ｂ」、「ｃ」と表示された残りの３つの画素の中から、２番目にドットが形成され易い画素を選択する。
【０１４９】
図２９（ｃ）は、画素「ａ」を選択した場合に、周囲のドットとの距離を算出している様子を概念的に表したものである。同様に、図２９（ｄ）は画素「ｂ」を選択した場合に周囲のドットとの距離を算出する様子を、図２９（ｅ）は画素「ｃ」を選択した場合に周囲のドットとの距離を算出する様子を概念的に表したものである。図２９（ｃ）ないし図２９（ｅ）を比較すれば、画素「ｃ」を選択した場合が、周囲のドットとの平均的な距離が最も大きくなるので、ディザマトリックスの中で２番目にドットが形成され易い画素として画素「ｃ」を選択する。
【０１５０】
図３０（ａ）は、ディザマトリックスの中の４つの画素の内、１番目にドットが形成され易い画素と２番目に形成され易い画素が選択された様子を表している。３番目にドットが形成され易い画素は、残った画素「ａ」または画素「ｂ」の中から選択すればよい。図３０（ｂ）は、画素「ａ」を選択した場合に周囲のドットとの距離を算出する様子を表しており、図３０（ｃ）は、画素「ｂ」を選択した場合に距離を算出する様子を表している。両図を比較すると、周囲のドットとの平均的な距離は、画素「ｂ」を選択した方が、画素「ａ」を選択した場合よりも若干大きくなっている。従って、画素「ｂ」を３番目にドットが形成され易い画素として選択し、最後に残った画素「ａ」が４番目にドットが形成され易い画素となる。その結果、ディザマトリックスに含まれる４つの画素の序列は、図３０（ｄ）に示すような序列となる。この序列は、ドットの位置ずれがないとした場合に得られた図２８（ｄ）の序列とは異なっており、従って、この序列から得られる適切なディザマトリックスも異なったものとなる。
【０１５１】
Ｅ−２．処理内容  ：
図３１は、ドットの位置ずれを考慮しながら、上述した方法を用いて適切なディザマトリックスを生成する処理の流れを示すフローチャートである。以下では、図３１のフローチャートに従って、ディザマトリックスを生成する処理について簡単に説明する。
【０１５２】
ディザマトリックスを生成する処理を開始すると、先ず初めに、変数Ｎを初期化する（ステップＳ４００）。変数Ｎは、ディザマトリックスの中で何番目にドットが形成され易い画素を決定しようとしているかを示す変数であり、１からディザマトリックスに含まれる画素数まで変化する。
【０１５３】
ディザマトリックスの中から任意の画素を１つ選択し、この画素を１番目の画素、すなわちドットが最も形成され易い画素と決定する（ステップＳ４０２）。こうして１番目の画素を決定したら、今度は２番目にドットが形成され易い画素を決定するために、変数Ｎを１つインクリメントする（ステップＳ４０４）。
【０１５４】
そして、ディザマトリックスの中から未決定の画素を１つ選択し、選択した画素から所定範囲内に形成されているドットまでの平均距離を算出する（ステップＳ４０６）。前述したように本実施例では、所定の大きさを有するブロック内の各画素位置でドットの位置ずれが検出されており、この検出結果に基づいて、画像の全画素位置でドットの位置ずれを求めることが可能である。また、通常、ディザマトリックスは画像よりも小さいので繰り返し使用されるが、画像の大きさが分かれば、画像中の各画素とディザマトリックスの各画素位置との対応関係も自ずから決定することができる。従って、ディザマトリックス上で未決定の画素を１つ選択すれば、その画素に対応した、画像上の複数の画素を決定し、それぞれの画素でドットがどれだけずれて形成されるのか、更には、周囲に形成されている複数のドットまでの平均距離をそれぞれの画素毎に求めることができる。ステップＳ４０６では、未決定の画素をディザマトリックス内から１つ選択し、選択した画素に対応する画像上の各画素について平均距離を算出する。そして、これら平均距離についての平均値を算出することで、マトリックス上で選択した画素に対する平均距離を算出する処理を行う。
【０１５５】
もっとも、ディザマトリックスの大きさが、ドットの位置ずれを検出したブロックの大きさと一致している場合、あるいは複数個のブロックを並べた大きさと一致している場合は、ディザマトリックスとドットの位置ずれとの関係は常に同じ関係に保たれる。すなわち、ディザマトリックスが画像中のどの箇所に適用された場合でも、ディザマトリックス内で同じ画素位置にあればドットの位置ずれは同じとなる。同様に、ディザマトリックス内で同じ画素位置にあれば、ディザマトリックスが画像中のどの箇所に適用された場合でも、周囲に形成されている複数のドットまでの平均距離は同じとなる。従って、ディザマトリックスの大きさが、ドットの位置ずれを検出したブロックの大きさと一致するか、あるいは複数個のブロックを並べた大きさと一致していれば、ステップＳ４０６の処理は大幅に簡素化される。すなわち、ディザマトリックス上で選択した画素に対応する画像中の１つの画素についてだけ、周囲に形成されているドットまでの平均距離を算出すればよく、選択した画素に対応する他の画素についての平均距離を算出する処理、およびこれら平均距離の平均値を求める処理は不要となる。
【０１５６】
以上のようにして、ディザマトリックスから１つの画素を選択して平均距離を算出したら、ディザマトリックス上の全ての画素について平均距離を算出したか否かを判断する（ステップＳ４０８）。そして、ディザマトリックス上に未算出の画素が残っている場合は（ステップＳ４０８：ｎｏ）、ステップＳ４０６に戻ってディザマトリックスの中から新たな画素を１つ選択し、選択した画素について平均距離を算出して、全画素の平均距離を算出したか否かを判断する（ステップＳ４０８）。こうした操作を繰り返し、ディザマトリックス上の全ての画素について平均距離を算出したと判断されたら（ステップＳ４０８：ｙｅｓ）、算出した平均距離が最も大きな画素をＮ番目の画素として決定する（ステップＳ４１０）。
【０１５７】
次いで、ディザマトリックス上の全画素について、序列を決定したか否かを判断する（ステップＳ４１２）。先に処理したステップＳ４１０ではＮ番目の画素を決定しているから、変数Ｎがディザマトリックスに含まれる画素数に達していれば、全画素について序列を決定したと判断することができる。未だ序列を決定していない画素が残っている場合は（ステップＳ４１２：ｎｏ）、ステップＳ４０４に戻って変数Ｎを１つインクリメントした後、ステップＳ４０６からステップＳ４１２までの上述した一連の操作を繰り返す。そして、ディザマトリックスの全画素について序列を決定したと判断されたら（ステップＳ４１２：ｙｅｓ）、決定した序列に従って、ディザマトリックスの各画素に閾値を設定する（ステップＳ４１４）。こうして全ての画素に閾値を設定すると、ディザマトリックス生成処理を終了する。
【０１５８】
以上のようにして生成したディザマトリックスでは、ドットの実際の形成位置が設計上の形成位置からはズレることを前提として、画像中の各画素でドットがずれて形成されたときに、適切なドットの分散が得られるように、ディザマトリックスの閾値を設定している。従って、このようなディザマトリックスを用いてハーフトーン処理を行えば、ドットの形成位置を設計上の形成位置に近づけるための各種調整を行わなくても、高い画質で画像を印刷することが可能となるのである。
【０１５９】
Ｆ．変形例  ：
Ｆ−１．第１の変形例  ：
上述した実施例では、画素毎にドットの位置ずれを検出して、検出結果に基づいてディザマトリックスを設定した。ディザマトリックスを変更すればドットの発生の仕方が変わることから、上述した実施例は、結局、各画素で検出したドットの位置ずれを、ハーフトーン処理の段階に反映させていることになる。これに対して、検出したドットの位置ずれを、実際にドットを形成する段階に反映させることとしても良い。以下では、こうした本実施例の第１の変形例について説明する。
【０１６０】
図３２は、本実施例の第１の変形例において、各画素についてドットの位置ずれを検出した結果に基づいて、ドットの形成位置を修正する方法を示す説明図である。前述した図１２と同様に、印字ヘッド２４１には、ノズルピッチ３の間隔で４つのノズルが設けられており、１本あたりのラスタを２回の主走査で形成するものとしている。図３２の右半分には、印字ヘッド２４１が主走査と副走査とを行うことによって印刷用紙上に形成したドットを表している。また、図３２の左半分には、印字ヘッド２４１が５回目の主走査を行ってドットを形成した後、副走査を行って、６回目の主走査を行う位置に移動した様子を概念的に表している。
【０１６１】
印字ヘッド２４１が５回目の主走査を行う際には、図３２の右半分で、「５」と表示したドットを形成する。ここで、ブロック内の各画素についてドットの位置ずれを検出しておけば、これら「５」と表示された各ドットのズレ量を求めることができ、従って、これらドット、すなわち、５回目の主走査で形成される複数のドットが、全体として、どの方向にどの程度ずれるかを求めることができる。そして、印字ヘッド２４１が移動する方向にドットがずれている場合には、ドットを形成するタイミングを少しだけ早めてやる。こうすれば、主走査方向については、これらドット全体としての位置ずれを小さくすることができる。逆に、印字ヘッド２４１が移動する方向と反対の方向にドットがずれている場合は、ドットを形成するタイミングを少しだけ遅らせてやれば、全体としての位置ずれを小さくすることが可能となる。もちろん、印字ヘッド２４１に設けられたノズル毎にドットの形成タイミングを、調整可能な場合には、各ノズル毎にドットの位置ずれを検出して、ドットを形成するタイミングを調整することとしても良い。
【０１６２】
また、副走査方向の位置ずれについては、副走査量を調整することで、ずれを抑制することができる。例えば、５回目の主走査の後に副走査を行って、６回目の主走査位置まで印字ヘッド２４１を移動させる場合について考える。６回目の主走査では、図３２の右半分で「６」と表示したドットが形成され、ブロック内の各画素での位置ずれが分かっていれば、これら「６」と表示されたドット全体として、どちらの方向にどの程度ずれるかを求めることができる。そして、これらドットが全体として、副走査方向にずれている場合には、副走査量を少しだけ小さくする。逆に、全体として副走査方向と反対方向にずれている場合は、副走査量を少しだけ大きくしてやる。図３を用いて前述したように、プリンタ２００は、紙送りモータ２３５を用いて印刷用紙Ｐを紙送りすることによって副走査しているから、紙送りモータ２３５の回転角度を制御してやれば、副走査量を制御することが可能である。こうして、副走査量を制御してやれば、副走査方向についても、ドット全体としての位置ずれを抑制することが可能となる。
【０１６３】
Ｆ−２．第２の変形例  ：
以上に説明した各種実施例では、いずれも検査画像を印刷してドットの位置ずれを検出しているため、検査画像を読み込むためのスキャナ１２２が必要となる。しかし、次のようにすれば、スキャナ１２２を使用することができない場合でも、高画質の画像を印刷することが可能である。以下、スキャナ１２２を必要としない第２の変形例について簡単に説明する。
【０１６４】
第２の変形例では、プリンタ２００の製造中に、検査画像を印刷するためのデータをヘッドに供給し、得られた検査画像から、そのプリンタについてのドットの位置ずれのデータを取得しておく。そして、得られた位置ずれのデータを、プリンタ２００に内蔵されたＲＯＭに書き込んでおく。ここで、位置ずれのデータは、プリンタ２００の製造工程中に検査画像を印刷する工程と、検査画像から位置ずれを検出する行程とを設けて取得することとしてもよいし、製造工程の最終工程にこれら行程を追加して取得することとしてもよい。
【０１６５】
そして、画像を印刷するに際しては、ＲＯＭに記憶されている位置ずれのデータを読み出して、図３１を用いて前述した方法でディザマトリックスを生成し、得られたディザマトリックスを参照して画像を印刷する。こうすれば、ドットの位置ずれが考慮されたディザマトリックスを用いてドットを発生させることができるので、ドットが良好に分散した高画質な画像を印刷することができる。
【０１６６】
更に簡便には、検出したドットの位置ずれのデータからディザマトリックスを生成して、プリンタ２００に内蔵されたＲＯＭに記憶しておくこととしてもよい。画像を印刷するに際しては、ＲＯＭに記憶されているディザマトリックスを読み出して、ドット形成の有無を判断することにより、ドットの形成位置を調整せずとも、ドットが良好に分散した高画質な画像を得ることが可能となる。
【０１６７】
以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。例えば、上述の機能を実現するソフトウェアプログラム（アプリケーションプログラム）を、通信回線を介してコンピュータシステムのメインメモリまたは外部記憶装置に供給し実行するものであってもよい。もちろん、ＣＤ−ＲＯＭやフレキシブルディスクに記憶されたソフトウェアプログラムを読み込んで実行するものであっても構わない。
【図面の簡単な説明】
【０１６８】
【図１】代表的な実施例としての印刷装置の概要を示した説明図である。
【図２】本実施例においてハーフトーン処理などの画像処理やデータの解析などを行うコンピュータの構成を示す説明図である。
【図３】本実施例のプリンタの概略構成を示す説明図である。
【図４】各色のインク吐出用ヘッドの底面にインク滴を吐出する複数のノズルＮｚが形成されている様子を示した説明図である。
【図５】吐出するインク滴の大きさを制御することで大きさの異なるドットを形成する原理を示す説明図である。
【図６】画像データに所定の画像処理を施して画像を印刷する処理の流れを示したフローチャートである。
【図７】色変換処理のために参照されるＬＵＴを概念的に示した説明図である。
【図８】ディザマトリックスの一部を拡大して例示した説明図である。
【図９】ディザマトリックスを参照しながら画素毎にドット形成の有無を判断している様子を概念的に示した説明図である。
【図１０】画像印刷処理中で行われるハーフトーン処理の流れを示したフローチャートである。
【図１１】画像データを記録密度データに変換するために参照される記録密度変換テーブルを概念的に示した説明図である。
【図１２】印字ヘッドが主走査と副走査とを繰り返しながら印刷用紙上にドットを形成していく様子を概念的に示した説明図である。
【図１３】ドットの位置ずれを検出する原理を示す説明図である。
【図１４】本実施例においてドットの位置ずれを検出する方法を示すフローチャートである。
【図１５】位置ずれを検出するために印刷された検査画像を概念的に示した説明図である。
【図１６】読み取った検査画像に対してブロックを設定している様子を概念的に示した説明図である。
【図１７】検査画像の他の態様を例示した説明図である。
【図１８】検査画像上に位置決めされた１つのブロックについてブロック内の各画素に形成されたドットの位置ずれを検出する様子を概念的に示した説明図である。
【図１９】ブロック内の各画素に大ドットが形成されている様子を概念的に示した説明図である。
【図２０】大ドットを用いてドットの位置ずれを検出するために検査画像を印刷した様子を概念的に示した説明図である。
【図２１】大ドットを用いて位置ずれを検出するために印刷された検査画像１の一部を拡大して示した説明図である。
【図２２】検査画像１に対してブロックを設定した様子を概念的に示した説明図である。
【図２３】大ドットを用いて位置ずれを検出するために印刷された検査画像２の一部を拡大して示した説明図である。
【図２４】大ドットを用いて位置ずれを検出するために印刷された検査画像３の一部を拡大して示した説明図である。
【図２５】大ドットを用いてドットの位置ずれを検出するために印刷される検査画像の他の態様を例示した説明図である。
【図２６】大ドットを用いてドットの位置ずれを検出するために印刷される検査画像の更に他の態様を例示した説明図である。
【図２７】距離関数を用いてディザマトリックスを生成する方法の概要を示す説明図である。
【図２８】距離関数を用いてディザマトリックスを生成する方法の概要を示す説明図である。
【図２９】ドットの形成位置がずれていることを前提として適切なディザマトリックスを生成する方法の概要を示す説明図である。
【図３０】ドットの形成位置がずれていることを前提として適切なディザマトリックスを生成する方法の概要を示す説明図である。
【図３１】ドットの位置ずれを考慮しながら上述した方法を用いて適切なディザマトリックスを生成する処理の流れを示すフローチャートである。
【図３２】本実施例の変形例において各画素についてドットの位置ずれを検出した結果に基づいてドットの形成位置を修正する方法を示す説明図である。
【符号の説明】
【０１６９】
１０…印刷装置
１２…ハーフトーンモジュール
１４…ディザマトリックス
１６…ヘッド
２０…検査画像データ出力モジュール
２２…スキャナ
２４…検出モジュール
２６…ディザマトリックス生成モジュール
１００…コンピュータ
１０８…周辺機器インターフェースＰＩＦ
１０９…ディスクコントローラＤＤＣ
１１０…ネットワークインターフェースカードＮＩＣ
１１２…ビデオインターフェースＶＩＦ
１１６…バス
１１８…ハードディスク
１２０…デジタルカメラ
１２２…スキャナ
１２４…フレキシブルディスク
１２６…コンパクトディスク
２００…プリンタ
２３０…キャリッジモータ
２３５…紙送りモータ
２３６…プラテン
２４０…キャリッジ
２４１…印字ヘッド
２４２…インクカートリッジ
２４３…インクカートリッジ
２４４…インク吐出用ヘッド
２５５…インク通路
２５６…インク室
２５７…インクギャラリ
２６０…制御回路
３００…通信回線
３１０…記憶装置
【図１】
2005205881.tif 000003
【図２】
2005205881.tif 000004
【図３】
2005205881.tif 000005
【図４】
2005205881.tif 000006
【図５】
2005205881.tif 000007
【図６】
2005205881.tif 000008
【図７】
2005205881.tif 000009
【図８】
2005205881.tif 000010
【図９】
2005205881.tif 000011
【図１０】
2005205881.tif 000012
【図１１】
2005205881.tif 000013
【図１２】
2005205881.tif 000014
【図１３】
2005205881.tif 000015
【図１４】
2005205881.tif 000016
【図１５】
2005205881.tif 000017
【図１６】
2005205881.tif 000018
【図１７】
2005205881.tif 000019
【図１８】
2005205881.tif 000020
【図１９】
2005205881.tif 000021
【図２０】
2005205881.tif 000022
【図２１】
2005205881.tif 000023
【図２２】
2005205881.tif 000024
【図２３】
2005205881.tif 000025
【図２４】
2005205881.tif 000026
【図２５】
2005205881.tif 000027
【図２６】
2005205881.tif 000028
【図２７】
2005205881.tif 000029
【図２８】
2005205881.tif 000030
【図２９】
2005205881.tif 000031
【図３０】
2005205881.tif 000032
【図３１】
2005205881.tif 000033
【図３２】
2005205881.tif 000034