以下、図面を参照して本発明の実施形態を詳細に説明する。
図2は実施形態の印刷装置としてのインクジェットプリンタ200の内部構造の一例を示す模式図である。
インクジェットプリンタ200には、カセット給紙ユニット10とロール紙給紙ユニット9と手差しトレイ給紙ユニット(不図示)が設けられており、それらいずれかの給紙ユニットから供給される被印刷媒体に対して印刷を行う。それらの給紙ユニットから給紙された被印刷媒体Pは、ニップローラー対4の位置まで給紙されると、ニップローラー対4が回転し、所定の搬送方向に沿って搬送される。
被印刷媒体Pは、搬送ベルト8とピンチローラー対5とで挟持され、搬送ベルト8の移動に伴い、搬送方向に搬送される。そして、搬送ベルト8に伴い搬送された被印刷媒体Pはプリントヘッド1(1C、1M、1Y、1K)の印刷開始位置まで搬送される。搬送ベルト8は、それぞれ矢印の方向に回転する駆動ローラー6、従動ローラー7によって掛け渡されている。インクジェットプリンタ200においては、被印刷媒体Pがピンチローラー対5にニップされた位置を印刷開始位置とし、駆動ローラー6の位置を基準としてプリントヘッド1からのインクの吐出タイミングを制御することにより被印刷媒体上の所定位置に画像を印刷する。
図2に示す装置では、プリントヘッド1が各色分(1Kはブラック、1Mはマゼンタ、1Cはシアン、1Yはイエロー)搬送方向に沿って並んでおり、これらは筐体2に取り付けられている。各色のプリントヘッドは、単一のノズルチップにノズルが設けられたものでも、複数のノズルチップが一列または、千鳥に並べられたものであってもよい。本実施形態では、装置が使用可能な最大サイズのシートの印刷領域の幅(搬送方向に交差し、図面を貫通する方向)分をカバーする範囲にノズルが並んでいる所謂フルマルチ(ライン)ヘッドであるとして説明する。
各プリントヘッド1には、各色のインクを独立して貯蔵するインクタンク(不図示)から、チューブによってインクが供給される。
また、リフト機構(不図示)により、筐体を上下させることが可能であり、これによりプリントヘッドと被印刷媒体Pとの間の距離を変更することが可能である。
プリントヘッド1の上流側には、筐体2に取り付けられる形で撮像ユニット3が設けられている。本実施形態では、撮像ユニット3は、被印刷媒体に対向し、被印刷媒体の表面の画像を撮像する。
なお、本実施形態では撮像ユニットをプリントヘッドの筐体に搭載する構成としたが、撮像ユニット13のようにプリントヘッドユニット2の対向側に配置し、被印刷媒体の裏面を撮像する構成とすることも可能である。また、一つの被印刷媒体に撮像ユニット3と撮像ユニット13とを併用し、紙の種類によって表面側の撮像ユニット3を利用するか、裏面側の撮像ユニット13を利用するようにしてもよい。
図1は本実施形態のインクジェットプリンタの制御系の構成を示す模式図である。符号200で示すのはインクジェットプリンタ本体、符号100で示すのは外部入力装置であり、PCやHDDなどである。101はプリンタ全体を制御するためのCPUであり、102はプリンタ特有のハードウエア制御を行なうASICである。ASIC102は、外部インターフェース回路103、CPUインターフェース回路104、メモリ制御回路105、SRAM106、画像データ処理回路107、印刷データ生成回路108、ヘッドインターフェース回路109、転送タイミング制御回路110、装置駆動回路111、移動量検知回路113から構成されている。プリンタ全体を制御するためにCPUが利用するプログラムは、CPUインターフェース回路104あるいはバスを介してCPUと接続されるROM116に格納されている。
次にASIC102の内部回路の動作について説明する。外部インターフェース回路103は、外部入力装置と接続される。外部インターフェース回路には、USBインターフェース回路やLANインターフェース回路やIDEインターフェース回路など、外部入力装置と接続されるインターフェース回路を含む。CPUインターフェース回路104はCPUと接続して、CPUから各ブロックの通信を制御する。
メモリ制御回路105は、外部IF回路103、SRAM106、画像データ処理回路107、印刷データ生成回路108、ヘッドインターフェース回路109、DDR112と接続している。メモリ制御回路105は、外部入力装置100から入力される画像データをSRAM106に転送を行なう。また、SRAM106とDDR112へのデータの読み出しや書き込み制御も行なっている。SRAM106はSRAMなどのワークバッファであり、印刷画像データが特定サイズに分割されて格納されている。このSRAMの個数は色数分ある構成や、ノズル数分ある構成などがある。
画像データ処理回路107は、SRAM106に格納された画像データに対して画像処理を行なう。ここでいう画像処理とは、境界処理、エッジ処理、HV変換、スムージング、不吐補間などの処理であるが、この限りではない。
印刷データ生成回路108は、画像処理が終了した画像データをプリントヘッドのノズルに合わせた形式のデータ(以下、印刷データという)に変換する。転送タイミング制御回路110は、印刷制御のためにエンコーダ114より入力される信号を逓倍することで吐出画像データをプリントヘッド1へ転送するための転送タイミング信号を生成する。これにより移動する被印刷媒体へ印刷を行うタイミングが制御される。エンコーダ114は駆動ローラー6、従動ローラー7の回転量、あるいはベルトの移動量を検知することで被印刷媒体の移動量を検知する。あるいはエンコーダ114が駆動ローラーの回転を検知することで被印刷媒体の移動量を検知してもよい。
ヘッドインターフェース回路109は、印刷用のデータを転送タイミング信号のタイミングでプリントヘッド1へ転送する。DDR112は、ASIC102に外付けされる受信バッファである。受信バッファには、画像補正処理が行なわれた画像データが格納される。111は装置駆動回路であり、モータ115の駆動、ヘッドユニットリフト機構やセンサ(ともに不図示)の制御を行っている。
移動量検知回路113には、撮像ユニット3にて撮像した画像と、エンコーダ114から位置情報が入力される。撮像ユニット3で撮像した画像から被印刷媒体の移動量を算出することで、移動量を示す情報を得ることができる。得られた情報を転送タイミング制御回路110によって制御する吐出タイミングの調整や、装置駆動回路111によって制御するモータの回転の調整に使用する。なお、移動量検知回路113の詳細に関しては後述する。
なお、上述した形態はインクジェットプリンタ内に撮像ユニット3と移動量検知回路113とを設け、検知した移動量に応じたプリンタの印刷動作の制御が行われるものであるが他の形態で実施も可能である。例えば、撮像ユニット3と移動量検知回路113で成される移動量検知装置を印刷装置に外付けできるようにしてもよい。この場合、印刷動作へのフィードバックまではせずに、移動量検知回路113が算出された移動量を情報として出力するか、あるいは基準となる量からのずれが所定量以上であるときに、ユーザーに報知するための情報を出力することもできる。
図3は本発明を実現するための撮像ユニットの構成例の一例を示す図である。撮像ユニット3は、イメージセンサ301、光源302、レンズ303から構成される。イメージセンサ301は、受光素子を1次元に配列してなるラインセンサまたは2次元に配列してなるエリアセンサを用いたものとすることができる。また、受光素子としてはCCDやCMOSなどを用いたものとすることができる。
光源302は、LEDやレーザーを用いたものとすることができる。光源302としては、被印刷媒体Pに光を照射できるものであれば、上述したものに限られず、他の光源も利用できる。
レンズ303は、被印刷媒体Pに入射した反射光を集光するためのレンズである。
被印刷媒体Pに対して、光源302が光を照射しイメージセンサ301はその反射光を一定時間間隔で取り込む。受光した光に基づいて被印刷媒体Pの光照射面上の像を結像し、画像データに変換する。また、ここではイメージセンサ301は、光源302による反射光を取り込む構成を例示したが、光源302を被印刷媒体Pの裏面側に配置し、透過光を取り込む構成でもよい。
図5は本発明を実現するためのテンプレートマッチング処理を説明するための図である。ここで説明するテンプレートマッチング処理では、ある時間を周期として撮像ユニット3が印刷が行われる前の移動中の被印刷媒体の表面を異なるタイミングで複数回撮像する。、各タイミングでの撮像で得られた複数の画像のうち、あるタイミングで撮像された紙面の画像を基準画像とする。そして、その基準画像内の特徴点(テンプレートとして利用する)が、別のタイミングで撮像された紙面の画像において検出される位置を求める。図5では説明のために、テンプレートサイズが4×4ピクセル、基準紙面画像500、503の紙面画像1、504の紙面画像Nが8×32ピクセルの画像サイズで撮像されたとする。用紙搬送方向は、図示の矢印の方向とする。また、用紙搬送方向(Y方向)を長手方向とする。X方向(Y方向に直角をなし、紙面に平行)はY方向に比べて移動量が少ないので画素サイズを小さくしている。また、特徴点を紙面画像内に取り込んだ撮影が2回以上出来るように、搬送速度を考慮して、撮像周期と画像サイズを設定する必要がある。
まず、あるタイミングで撮像された基準紙面画像500からそのうちの一部を抽出し、テンプレート501を生成する。テンプレート決定方法としては、基準紙面画像500の中で特徴的な領域を検出し、その箇所をテンプレートとする方法が知られているが、特徴的な領域を見つけるためには、基準紙面画像の全域をスキャンする必要があるため、処理時間がかかってしまう。そこで、本実施形態では、基準紙面画像中の任意の座標をテンプレートとすることができる。どの座標をテンプレートとするかについては、予め定めておき、ROM116等に記憶させておけばよい。また、搬送方向が図中の矢印の方向であるため、センサが取り込んだ基準紙面画像500の中で、搬送方向において上流側の座標の部分をテンプレートとする。このようにすると先の撮像から次の撮像までに被印刷媒体が大きく搬送されたとしても次の撮像画像内にテンプレート画像の領域が含まれる。しかし、センサの最端部は、レンズの光学収差等の影響を受けていることも考えられるので、センサのY方向の上流側の最端部より数ピクセル下流側の位置とすることが好ましい。また、同様の観点から、後述する一次テンプレートマッチング処理にて、Y方向の下流側の最端で目標画像が見つかったとしてもこの結果を信頼せず、二次テンプレートマッチング処理を行わないようにしてもよい。そのために、一次テンプレートマッチング処理では、例えば閾値座標以上であり、Y方向の下流側の最端部より数ピクセル上流の位置までに目標画像があるかを一次的に見つけるようにするとよい。
次に、取得した紙面画像503に対して、テンプレート501に一致する目標画像(以下ターゲット画像とも称する)を検出していく。ここで、領域502の画像がテンプレート501に対応する目標画像として検出された場合、領域502のX,Y座標とテンプレート501のX,Y座標から計算により移動量を算出することができる。テンプレートとの一致度は相関の指標である相関値を求めることで測ることができる。ここでは、領域502の座標は閾値座標よりも搬送方向において上流の座標なので、所定の範囲外にあるとして得られた結果からは移動量の算出は実施しない。その後に撮像された、紙面画像504において、領域505の画像がテンプレート501と一致し、これが閾値座標よりも下流の座標である場合、領域505のX,Y座標とテンプレート501のX,Y座標から移動量を算出する。
ここでは、閾値座標をY座標の中心(センサの中心)としている。撮像周期に応じて閾値座標をさらにセンサの中心よりも下流の座標にすることも可能である。例えば、用紙搬送速度が一定であり、テンプレート501と紙面画像1のターゲット画像検出座標から算出される移動量が小さい場合である。
また、用紙を搬送する際の搬送パラメータは分かっているので、搬送パラメータとセンサの画素ピッチに基づいて閾値座標を決定することも可能である。
ここで、本実施形態で利用できるテンプレートマッチング処理の計算手法としては、SAD(Sum of Absolute Difference)、SSD(Sum of Squared Difference)、ZNCC(Zero−mean Normalized Cross−Correlation)などを利用できる。これらの方法では、撮像された画像の画素値(輝度で表されている場合は輝度値)を利用してテンプレートと対象とする領域との相関の程度を示す値として相関値を導出する。ZNCCは正規化相互相関法として用いられるものであり、テンプレートおよび画像の輝度値の平均値をそれぞれの画素の輝度値から引いて計算するので、明るさの変動があっても安定的に類似度を計算することができる。しかし、計算負荷が大きく、目標画像を見つけるための処理の効率としては次に述べるSAD、SSDよりは低い。一方、SADはテンプレート画像の画素値と撮像によって得られた画像の画素値の差の絶対値和を相関値として求める方法、SSDは差の2乗和を相関値として求める方法である。これらは計算負荷が小さいため高速処理が可能であるが、テンプレートと画像と間の輝度値の差の絶対値の合計を利用するので、撮像期間中の明るさの変動には弱い傾向がある。テンプレートサイズが、精度と処理時間に与える影響はトレードオフの関係にあり、大きくすると、相関精度は高くなるが処理時間が長くなり、小さくすると処理時間は短くなるが相関精度が低くなる。
図4は、本実施形態の移動量検知回路113の詳細な構成を示す図である。
移動量検知回路113は、撮像制御回路401、画像受信回路402、一次テンプレートマッチング回路403、移動量判定回路404、二次テンプレートマッチング回路406、二次テンプレートマッチング回路406を備えている。上述した移動量検知回路113の各回路は、ROM116に格納されているプログラムに基づいて、以下に記す移動量の検知処理を行う。
撮像制御回路401は、エンコーダ114から位置情報を受け取り、撮像ユニット3を制御する制御信号を生成する。画像受信回路402は、撮像ユニット3から出力された画像を受信する。二次テンプレートマッチング回路406は、画像受信回路402の画像からテンプレートを生成する。
一次テンプレートマッチング回路403は、画像受信回路402が取得した画像に対してテンプレートマッチング処理を行う。ここで実施するテンプレートマッチング処理は、ターゲット画像が所定の範囲である閾値座標以上(閾値座標の位置と同じあるいはそれより下流)か否かを判断するための処理である。そのため、ターゲットの座標を正確に知るのではなく、凡その座標を高速に判断する必要がある。そのため、計算処理の負荷の少ない方法として、計算を開始してから短い時間で各領域での相関値を得ることができるSADを用いることとする。また、さらに高速化するためには、テンプレートサイズを小さくすることで処理時間を高速化することが可能になる。
一次テンプレートマッチング回路403にて算出された一次座標は移動量判定回路404に出力される。
移動量判定回路404では、一次テンプレートマッチング回路403にて算出された一次座標から、座標の値が所定値以上(上はY方向において下流に対応)かを判定する。所定値以上ではないなら移動量を破棄し、所定値以上ではない場合は二次テンプレートマッチング回路406にテンプレートマッチング処理を実行させる信号を送る。
二次テンプレートマッチング回路406は、画像受信回路402が取得した画像に対してテンプレートマッチング処理を行い、移動量を算出する。ここで実施するテンプレートマッチング処理では、移動量を高い精度で得る必要である。そのため、一次テンプレートマッチング回路403による処理よりも高い精度で相関値を得ることができる。一方、一次テンプレートマッチング回路403が採用する処理は二次テンプレートマッチング回路406による処理よりも短い時間で相関値を得ることができる。また、二次テンプレートマッチング回路406でZNCCを用いた上に、さらに正確な移動量を算出するためにサブピクセル補間を実施することもできる。移動量判定回路404により、ターゲットは閾値座標よりも下流にあることがわかっているので、探索領域を閾値座標以上の領域に限定し、閾値座標より低い領域にはテンプレートマッチング処理を行わない。これにより、撮像により得られた紙面画像の全域を対象としてターゲットを探索するよりも処理時間が短くて済む。二次テンプレートマッチング回路406にて算出された座標から、被印刷媒体の移動量を求め、求めた移動量に関する情報を転送タイミング制御回路110、装置駆動回路111へ出力することができる。例えば、入力された移動量に関する情報に基づき、転送タイミング制御回路110が、一つプリントヘッドからインクを吐出するタイミングの調整、あるいは複数のプリントヘッド間の相対的なインクの吐出タイミングの調整をするなどの制御をする。また、装置駆動回路111が、入力された移動量に関する情報に基づいてモータ115の回転を制御することで被印刷媒体の移動量を調整するようにして搬送制御を行ってもよい。
図6を用いて本実施形態のインクジェットプリンタ200における被印刷媒体の移動量を検知するための動作フローを説明する。図6(a)は、フルマルチ(ライン)プリンタ構成、図6(b)は、シリアルプリンタ構成、での撮像ユニット3と移動量検知回路113のインターフェース信号と撮像した画像の関係を示すタイミングチャートである。フルマルチプリンタ構成では、図2に示したように、固定され、移動しないプリントヘッドの下方を被印刷媒体が通過することで、プリントヘッドと被印刷媒体との相対的な走査が行われる。プリントヘッドの下を通過する移動中の被印刷媒体へプリントヘッドからインクを付与することで、印刷が行われる。一方シリアルプリンタ構成の場合は、静止している被印刷媒体上をプリントヘッドが被印刷媒体の搬送方向と交差する方向に移動し、移動中のプリントヘッドからインクが付与される。そして1回のプリントヘッドの移動が終わると、被印刷媒体が必要な距離だけ搬送されて止まり、再びプリントヘッドが移動し、インクを付与する。また、シリアルプリンタでは、転送タイミング制御回路110は、エンコーダ114とは別の、プリントヘッドを搭載するキャリッジの移動を検知するためのキャリッジエンコーダに基づいて転送タイミング信号を出力する。
図6(a)、(b)において、搬送フラグ、撮像イネーブル、撮像トリガ、テンプレートトリガは、撮像制御回路401により生成される。位置カウンタはエンコーダ114より入力される位置情報である。
搬送フラグは、用紙の搬送状態を示すフラグである。ここでは、停止時は、Lowとなり、搬送時はHighとなる。撮像イネーブルは、被印刷媒体の紙面状態を取得する期間を示し、撮像イネーブルがHighの期間に一定周期で撮像トリガを生成し、撮像トリガのタイミングで撮像ユニット3は被印刷媒体の表面を撮像し、移動量検知回路113に撮像データを送信する。
撮像トリガ上に記載されている数字は、撮像ユニット3が撮像トリガ入力時に撮像する画像を示している。基準画像Noはテンプレートとして使用する画像Noを示している。有効画像Noは、移動量算出に使用された画像Noを示し、移動量出力タイミングは、二次テンプレートマッチング回路406より移動量が出力されるタイミングを示している。
テンプレートトリガは、基準用紙画像を決定するためのトリガであり、撮像イネーブルの立ち上がり時と、移動量出力タイミングトリガに同期して生成され、移動量算出に使用された紙面画像が次の基準紙面画像になる。
また、ここで、フルマルチ(ライン)プリンタとシリアルプリンタの場合の移動量検知回路113で生成される信号のタイミングの違いに関して説明する。
まず、フルマルチ(ライン)プリンタは、搬送しながら印刷を行うため、搬送フラグ、撮像イネーブルは、印刷終了までHighとなる。また、撮像トリガは一定周期で生成可能である。
次に、シリアルプリンタは、搬送を停止した後に印刷を行うため、搬送フラグは、HighとLowを交互に繰り返す。印字中は搬送していない状態であるため撮像する必要はなく、撮像イネーブルは、搬送フラグの立下り後に立ち下げ、搬送フラグの立ち上がり前に立ち上げる。撮像トリガは、撮像イネーブルがHighの期間に一定周期で撮像トリガを生成するが、搬送フラグの立下り時にも撮像トリガを出力し、停止時の紙面画像を取得する。
図6(c)は本発明を実現するためのフローチャートを示す図である。図6(c)のフローチャートと、図6(a)のタイミングチャートを用いて本発明を実現するためのフローを説明する。
まず、外部入力装置100より画像データがインクジェットプリンタ200に入力され、画像データの印刷が開始されるか、シリアルプリンタにおいて、印字が終了し、被印刷媒体の搬送が再開される。
そこで、撮像制御回路401が撮像イネーブルをアサートし、撮像トリガを出力する。そして、撮像ユニット3が被印刷媒体を撮像し、紙面画像を取得する。印字開始時なので、テンプレートトリガも生成され、紙面画像が基準紙面画像として保存(ステップS600)される。
次に、紙面画像より二次テンプレートマッチング回路406にてテンプレート画像を生成(ステップS601)する。次に、撮像制御回路401から撮像トリガが出力される(ステップS602)のを待つ。撮像トリガが出力されると、撮像ユニット3が被印刷媒体の紙面画像を取得(ステップS603)する。
次に、一次テンプレートマッチング回路403にて、テンプレート画像と紙面画像を用いて一次テンプレートマッチング処理(ステップS604)を実施する。その結果、一次座標が算出(ステップS605)され、移動量判定回路404がその座標が閾値座標以上でないと判断した場合(ステップS606 No)、再度画像取得タイミングを待つ。
ここで、移動量判定回路404にて判定するデータを座標としたが、基準紙面画像のテンプレート座標と、紙面画像に対するテンプレートマッチングにより出力される座標から、容易に移動量を算出することができるので、移動量で判定してもよい。
そして、移動量判定回路404がその座標が閾値座標以上と判断した場合(ステップS606 Yes)、二次テンプレートマッチング回路406にて、閾値座標以上の領域で二次テンプレートマッチング処理(ステップS607)を実施する。二次テンプレートマッチング処理が終了すると、基準紙面画像と紙面画像より移動量を算出し、移動量を出力(ステップS608)する。
そして、まだ搬送が終了しない場合(ステップS609 Yes)は、二次テンプレートマッチング処理に使用した紙面画像を基準画像とし、二次テンプレートマッチング回路406にてテンプレート画像を生成(ステップS601)する。印刷の終了か、被印刷媒体の搬送終了までこのフローを継続する。
図6(a)のタイミングチャートを用いてフローを説明すると、まず、撮像トリガによって取得した紙面画像1(図内丸数字)を、基準紙面画像として保持(ステップS600)し、紙面画像1(図内丸数字)からテンプレート画像を生成(ステップS601)する。次いで、撮像トリガのタイミングにて撮像ユニット3が画像を取得(ステップS602)する。取得した紙面画像1(図内丸数字)と一次テンプレートマッチング回路403で一次テンプレートマッチング処理を実施(ステップS604)し、ステップSS605で一次座標を算出する。ステップS606において算出した一次座標が所定の座標より搬送方向における下流側かどうか判断する。ここでは一次座標が所定量以上ではないので、撮像トリガの入力を待つ(ステップS602へ)。撮像トリガ2(図内丸数字)、3(図内丸数字)によって撮像した画像についても同様のフローで処理するとステップS606でNOとなり、ステップS602へ戻ることになる。
続いて取得した紙面画像4(図内丸数字)に対して一次テンプレートマッチング回路403で一次テンプレートマッチング処理を実施し(ステップS602)、ステップS606において算出した一次座標が所定量以上なのでステップS607へ進む。ここで二次テンプレートマッチング回路406は二次テンプレートマッチングを行い、被印刷媒体の移動量を算出(ステップS608)する。ステップS609へ進み、搬送を継続する場合は、一次テンプレートマッチング回路403は紙面画像4(図中丸数字)を基準紙面画像として保持し(ステップS600)、紙面画像4(丸数字)からテンプレート画像を生成する(ステップS601)。以後、この処理を繰り返す。
本発明は上述した実施形態に限定されるものではなく、種々の適用形態をとることができる。例えば、上述したようなインクジェット式の印刷装置ではなく、電子写真方式のプリンタにおいて、実施形態の被印刷媒体の移動量の検知を行い得るように実装し、被印刷媒体の移動量を印刷動作へフィードバックすることも可能である。また、上述した実施形態では、印刷前の被印刷媒体を撮像することで移動量を求めたが、テンプレートマッチングに適した領域が確保されるのであれば、印刷後の媒体の表面を撮像して得た紙面画像から移動量を求めるようにしてもよい。
さらには、上述した実施形態において、移動量検知回路113が印刷媒体の移動量を検知するための処理のプログラムをCD、ブルーレイ、あるいはUSBメモリ等の不揮発性の媒体に格納し、コンピュータに読み込ませ、これを実行させるようにしてもよい。