(57)【特許請求の範囲】
【請求項１】
移動する物体の表面を撮像して、異なるタイミングで第１画像データおよび第２画像データを取得するのに用いられるイメージセンサと、
前記第１画像データからテンプレートパターンを切り出し、前記第２画像データの中で前記テンプレートパターンと相関が大きい領域をサーチすることで、前記物体の移動量を求める処理部と、を有し、
前記処理部は、前記イメージセンサで画像データを取得するためのトリガ信号が生成されてから撮像が行なわれるまでのタイムラグの間の物体のシフト量を求め、前記シフト量を用いて前記移動量を求める際の補正を行なうことを特徴とする移動検出装置。
【請求項２】
駆動ローラを有し前記物体を移動させる搬送機構と、前記駆動ローラの回転状態を検出するエンコーダとを有し、
前記処理部は、前記エンコーダによって検出されるタイミングに基づいて前記トリガ信号を生成することを特徴とする、請求項１記載の移動検出装置。
【請求項３】
前記エンコーダによって検出される前記駆動ローラの回転状態と前記処理部で求められる移動状態とに基づいて前記駆動ローラの駆動が制御されることを特徴とする、請求項２記載の移動検出装置。
【請求項４】
前記処理部は、前記タイムラグの時間と前記タイムラグの間における前記物体の移動速度とを取得し、取得した前記時間と前記移動速度とを乗算することで前記タイムラグの間の物体のシフト量を求めることを特徴とする、請求項２又は３のいずれか記載の移動検出装置。
【請求項５】
前記処理部はタイマを有し、前記エンコーダによって検出される所定距離の移動に要する移動時間を前記タイマで計測し、前記所定距離を前記タイマで計測した前記移動時間で除算することで前記移動速度を取得することを特徴とする、請求項４記載の移動検出装置。
【請求項６】
前記処理部はタイマを有し、前記トリガ信号の発生から前記撮像の終了までの期間において、前記タイマで時間を計測すると共に前記エンコーダで移動距離を検出し、前記移動距離を前記タイマで計測した時間で除算することで前記移動速度を取得することを特徴とする、請求項４記載の移動検出装置。
【請求項７】
前記処理部は、前記撮像を行なう時点での予測される前記物体の速度に応じて、前記移動速度を取得するための計算のアルゴリズムを変えることを特徴とする、請求項５又は６記載の移動検出装置。
【請求項８】
前記処理部は、前記物体の搬送制御を行なう際の速度プロファイルに基づく制御目標値を用いて前記移動速度を取得することを特徴とする、請求項４記載の移動検出装置。
【請求項９】
前記処理部は、前記トリガ信号の生成よりも前に計測された前記物体の速度を前記移動速度とみなすことを特徴とする、請求項４記載の移動検出装置。
【請求項１０】
前記処理部はタイマを有し、前記タイマでの計測によって前記タイムラグの時間が取得されることを特徴とする、請求項４から９のいずれか記載の移動検出装置。
【請求項１１】
前記処理部は前記タイムラグの時間を予め記憶するメモリを有し、前記メモリの読み出しによって前記タイムラグの時間が取得されることを特徴とする、請求項４から９のいずれか記載の移動検出装置。
【請求項１２】
前記処理部では、前記第１画像データにおける前記シフト量を第１シフト量、前記第２画像データにおける前記シフト量を第２シフト量としてそれぞれ求め、前記第２シフト量−前記第１シフト量を補正値として用いて補正を行ない前記移動量を求めることを特徴とする、請求項１から１１のいずれか記載の移動検出装置。
【請求項１３】
請求項１から１２いずれか記載の移動検出装置と、移動する前記物体に記録を行なう記録部を有することを特徴とする記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理によって物体の移動を検出する技術、および同技術を採用したプリンタ等の記録装置の技術分野に関する。
【背景技術】
【０００２】
プリント用紙等のメディアを搬送しながらプリントを行なう際、搬送精度が低いと、中間調画像の濃度ムラが生じたり、倍率誤差が生じたりして、得られるプリント画像の品質が劣化する。そのため、高精度な部品を採用し精密な搬送機構を搭載しているが、プリント品質に対する要求は厳しくさらなる精度向上が望まれている。一方ではコストに対する要求も厳しく、高精度化と低コスト化の両立が求められている。
【０００３】
これに対処するため、メディアの移動を高精度に検出して、フィードバック制御により安定した搬送を実現するために、メディアの表面を撮像して、搬送されるメディアの移動を画像処理によって検出する試みがなされている。
【０００４】
特許文献１は、このメディアの移動検出についての一手法を開示する。特許文献１は、移動するメディアの表面をイメージセンサにより時系列に複数回撮像し、得られた画像同士をパターンマッチング処理で比較して、メディアの移動量を検出するものである。以下、物体の表面を直接検出して移動状態を検出する方式をダイレクトセンシング、この方式を用いた検出器をダイレクトセンサと称する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２１７１７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし現実には、イメージセンサは撮像トリガ信号が生成されてから実際に撮像を開始するまでには僅かなタイムラグがある。タイムラグは、撮像トリガ信号が生成され、これを受けてイメージセンサが電子シャッタを開いて露光を開始し、露光期間の中心時間（本明細書では「撮像タイミング」という。）までの期間である。このタイムラグの期間中にメディアが移動すると、その間のシフト量だけ誤差を含んだ画像データが取得される。搬送速度が大きいほどタイムラグの間のシフト量が大きくなるので、誤差が顕著になる。
【０００７】
ダイレクトセンシングでは、パターンマッチング等による画像比較によって第１画像データと第２画像データの間の相対的な移動量を求める。その際、上記のタイムラグによって第１画像データと第２画像データが共に同じ量だけシフトするのなら、両者の間の相対差は変化しない。しかし、第１画像データを取得するときのメディアの移動速度と、その後第２画像データを取得するときのメディアの移動速度が違っている場合には、タイムラグは同じであってもその間のシフト量（＝タイムラグ×その間の平均移動速度）は異なったものになる。そのため、第１画像データと第２画像データの間で相対ズレが生じて、パターンマッチングによる移動量検出の誤差要因となる。
【０００８】
本発明は上述の課題認識のもとになされれたものである。
【０００９】
本発明の目的は、撮像指令に対するダイレクトセンサでの撮像タイミングの遅れに起因する検出誤差の影響を軽減することである。本発明の別の目的は、エンコーダとダイレクトセンサを兼ね備えたシステムにおいて、エンコーダの検出タイミングに対するダイレクトセンサでの撮像タイミングの遅れに起因する検出誤差の影響を軽減することである。
【課題を解決するための手段】
【００１０】
上述の課題を解決する本発明の移動検出装置は、移動する物体の表面を撮像して、異なるタイミングで第１画像データおよび第２画像データを取得するのに用いられるイメージセンサと、前記第１画像データからテンプレートパターンを切り出し、前記第２画像データの中で前記テンプレートパターンと相関が大きい領域をサーチすることで、前記物体の移動量を求める処理部とを有し、前記処理部は、前記イメージセンサで画像データを取得するためのトリガ信号が生成されてから撮像が行なわれるまでのタイムラグの間の物体のシフト量を求め、前記シフト量を用いて前記移動量を求める際の補正を行なうことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、撮像トリガ信号が生成されてから実際に撮像を実行するまでのタイムラグに起因する検出誤差の影響を軽減することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態のプリンタの断面図
【図２】変形例のプリンタの断面図
【図３】プリンタのシステムブロック図
【図４】ダイレクトセンサの構成図
【図５】メディアの給送、記録、排出の動作シーケンスを示すフローチャート図
【図６】メディアを搬送する動作シーケンスを示すフローチャート図
【図７】パターンマッチングで移動量を求める処理を説明するための図
【図８】イメージセンサのタイムラグによる検出遅れの影響を説明するための図
【図９】シフト量を考慮した補正方法（補正方法１）の概念を説明するための図
【図１０】シフト量を考慮した補正方法（補正方法２）の概念を説明するための図
【図１１】シフト量を考慮した補正方法（補正方法３）の概念を説明するための図
【図１２】補正方法２の処理シーケンスを示すフローチャート図
【図１３】補正方法３の処理シーケンスを示すフローチャート図
【発明を実施するための形態】
【００１３】
以下に図面を参照して、本発明の好適な実施の形態を例示する。ただし、例示する実施の形態に記載されている構成要素はあくまで例示であり、本発明の範囲を限定する主旨のものではない。
本発明の適用範囲は、プリンタを始めとして、物体の移動を高精度に検出することが要求される移動検出の分野に広く渡る。例えば、プリンタ、スキャナ等の機器や、物体を搬送して検査、読取、加工、マーキング等の各種の処理を施す、工業分野、産業分野、物流分野などで使用する機器に適用可能である。また、本発明をプリンタに適用する場合は、インクジェット方式、電子写真方式、サーマル方式、ドットインパクト方式などの様々な方式のプリンタに適用可能である。なお、本明細書において、メディアとは、紙、プラスチックシート、フィルム、ガラス、セラミック、樹脂等のシート状あるいは板状の媒体をいう。また、本明細書において上流・下流とは、シートに画像記録を行なう際のシートの搬送方向を基準とした上流・下流を意味するものとする。
【００１４】
以下に、記録装置の一例であるインクジェット方式のプリンタの実施形態を説明する。本実施形態のプリンタは、プリントヘッドの往復移動（主走査）とメディアの所定量のステップ送り（副走査）とを交互に行なって二次元画像を形成する、いわゆるシリアルプリンタである。なお、本発明は、シリアルプリンタに限らず、プリント幅をカバーする長尺ライン型プリントヘッドを持ち、固定されたプリントヘッドに対してメディアが移動して二次元画像を形成する、いわゆるラインプリンタにも適用可能である。
【００１５】
図１はプリンタの主要部の構成を示す断面図である。プリンタは、メディアをベルト搬送系によって副走査方向（第１方向、所定方向）に移動させる搬送機構と、移動するメディアに対してプリントヘッドを用いて記録を行なう記録部とを有する。プリンタは更に、物体の移動状態を間接的に検出するエンコーダ１３３と、物体の移動状態を直接的に検出するダイレクトセンサ１３４を有する。
【００１６】
搬送機構は、回転体である第１ローラ２０２、第２ローラ２０３、およびこれらローラの間に所定のテンションで掛けられた幅広の搬送ベルト２０５を有する。メディア２０６は搬送ベルト２０５の表面に静電力等による吸着もしくは粘着によって密着して、搬送ベルト２０５の移動に伴なって搬送される。副走査のための駆動源である搬送モータ１７１の回転力は駆動ベルト１７２によって駆動ローラである第１ローラ２０２に伝達され、第１ローラ２０２が回転する。第１ローラ２０２と第２ローラ２０３は搬送ベルト２０５によって同期回転する。搬送機構は更に、トレイ２０８の上に積載されたメディア２０７を一枚ずる分離して搬送ベルト２０５の上に給送するための給送ローラ２０９と、これを駆動する給送モータ１６１（図１では不図示）を有する。給送モータ１６１の下流設けられたペーパーエンドセンサ１３２は、メディア搬送のタイミングを取得するためにメディアの先端または後端を検出するものである。
【００１７】
ロータリ式のエンコーダ１３３（回転角センサ）は、第１ローラ２０２の回転状態を検出して、搬送ベルト２０５の移動状態を間接的に取得するのに用いられる。エンコーダ１３３はフォトインタラプタを備え、第１ローラ２０２と同軸に取り付けられたコードホイール２０４の円周に沿って刻まれている等間隔のスリットを光学的に読み取って、パルス信号を生成する。
【００１８】
ダイレクトセンサ１３４は、搬送ベルト２０５の下方（メディア２０６の載置面とは反対の裏面側）に設置されている。ダイレクトセンサ１３４は、搬送ベルト２０５の面にマーキングされたマーカーを含む領域を撮像するイメージセンサ（撮像デバイス）を備える。ダイレクトセンサ１３４は、搬送ベルト２０５の移動状態を後述する画像処理によって直接的に検出するものである。搬送ベルト２０５に対してメディア２０６は面同士で強固に密着しているので、ベルト表面とメディアとの間での滑りによる相対位置変動は無視できるほど小さい。そのため、ダイレクトセンサ１３４はメディアの移動状態を直接的に検出するのと等価とみなすことができる。なお、ダイレクトセンサ１３４は、搬送ベルト２０５の裏面を撮像する形態には限定されず、搬送ベルト２０５の表面のメディア２０６で覆われない領域を撮像するようにしてもよい。また、ダイレクトセンサ１３４は、被写体として搬送ベルト２０５ではなくメディア２０６の表面を撮像するものであってもよい。
【００１９】
記録部は、主走査方向に往復移動するキャリッジ２１２と、これに搭載されたプリントヘッド２１３及びインクタンク２１１を有する。キャリッジ２１２は主走査モータ１５１（図１では不図示）の駆動力によって主走査方向（第２方向）に往復移動する。この移動に同期してプリントヘッド２１３のノズルからインクを吐出して、メディア２０６上にプリントする。プリントヘッド２１３とインクタンク２１１は一体化してキャリッジ２１２に対して着脱されるものであっても、別体として個別にキャリッジ２１２に対して着脱されるものであってもよい。プリントヘッド２１３はインクジェット方式によりインクを吐出するものであり、その方式は発熱素子を用いた方式、ピエゾ素子を用いた方式、静電素子を用いた方式、ＭＥＭＳ素子を用いた方式などを採用することができる。
【００２０】
なお、搬送機構はベルト搬送系には限定されず、変形例として、搬送ベルトを用いずに搬送ローラによってメディアを搬送させる機構を有するものであってもよい。図２は変形例のプリンタの断面図を示す。図１の部材と同一の符号を付したものは同一の部材を示す。第１ローラ２０２と第２ローラ２０３が直接メディア２０６に接して、メディアを移動させる。第１ローラ２０２と第２ローラ２０３の間には不図示の同期ベルトが掛けられて、第１ローラの回転に同期して第２ローラが回転するようになっている。この形態では、ダイレクトセンサ１３４が撮像する被写体は搬送ベルト２０５ではなくメディア２０６であり、ダイレクトセンサ１３４はメディア２０６の裏面側を撮像する。
【００２１】
図３はプリンタのシステムブロック図である。コントローラ１００は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３を有する。コントローラ１００は、プリンタ全体の各種制御や画像処理等を司る制御部と処理部とを兼ね備える。情報処理装置１１０は、コンピュータ、デジタルカメラ、ＴＶ、携帯電話機など、メディアに記録するための画像データを供給する装置であり、インターフェース１１１を通してコントローラ１００と接続される。操作部１２０は操作者とのユーザーインターフェースであり、電源スイッチを含む各種入力スイッチ１２１と表示器１２２を備える。センサ部１３０はプリンタの各種状態を検出するためのセンサ群である。ホームポジションセンサ１３１は往復移動するキャリッジ２１２のホームポジションを検出する。センサ部１３０は、上述したペーパーエンドセンサ１３２、エンコーダ１３３、およびダイレクトセンサ１３４を備える。これらの各センサはコントローラ１００に接続されている。コントローラ１００の指令に基づいて、ドライバを介してプリントヘッドやプリンタの各種モータが駆動される。ヘッドドライバ１４０は記録データに応じてプリントヘッド２１３を駆動する。モータドライバ１５０は主走査モータ１５１を駆動する。モータドライバ１６０は給送モータ１６１を駆動する。モータドライバ１７０は副走査のための搬送モータ１７１を駆動する。
【００２２】
図４はダイレクトセンシングを行なうためのダイレクトセンサ１３４の構成図である。ダイレクトセンサ１３４は、ＬＥＤ、ＯＬＥＤ、半導体レーザ等の光源３０１を含む発光部、イメージセンサ３０２と屈折率分布レンズアレイ３０３を含む受光部、及び駆動回路やＡ／Ｄ変換回路などの回路部３０４を１つのセンサユニットとしたものである。光源３０１によって撮像対象である搬送ベルト２０５の裏面側の一部を照明する。イメージセンサ３０２は屈折率分布レンズアレイ３０３を介して照明された所定の撮像領域を撮像する。イメージセンサはＣＣＤイメージセンサやＣＭＯＳイメージセンサなどの二次元エリアセンサまたはラインセンサである。イメージセンサ３０２の信号はＡ／Ｄ変換されデジタル画像データとして取り込まれる。イメージセンサ３０２は、物体（搬送ベルト２０５）の表面を撮像して異なるタイミングで複数の画像データ（連続して取得したものを、第１画像データ、第２画像データという）を取得するのに用いられる。そして後述するように、第１画像データからテンプレートパターンを切り出し、前記第２画像データの中で前記テンプレートパターンと相関が大きい領域を画像処理でサーチすることで、物体の移動状態を求めることができる。画像処理を行なう処理部はコントローラ１００であってもよいし、ダイレクトセンサ１３４のユニットに処理部を内蔵するようにしてもよい。
【００２３】
図５はメディアの給送、記録、排出の一連の動作シーケンスを示すフローチャート図である。これらの動作シーケンスはコントローラ１００の指令に基づいてなされる。ステップＳ５０１では、給送モータ１６１を駆動して給送ローラ２０９によってトレイ２０８上のメディア２０７を１枚ずつ分離して搬送経路に沿って給送する。ペーパーエンドセンサ１３２が給送中のメディア２０６の先頭を検出すると、この検出タイミングに基づいてメディアの頭出し動作を行なって所定の記録開始位置まで搬送する。
【００２４】
ステップＳ５０２では、搬送ベルト２０５を用いてメディアを所定量ずつステップ送りする。所定量とは１バンド（プリントヘッドの１回の主走査）の記録における副走査方向における長さである。例えば、プリントヘッド２１３の副走査方向におけるノズル列幅の半分ずつ送りながら２回ずつ重ねてマルチパス記録を行なう場合は、所定量はノズル列幅の半分の長さとなる。
【００２５】
ステップＳ５０３では、キャリッジ２１２によってプリントヘッド２１３を主走査方向に移動させながら、１バンド分の記録を行なう。ステップＳ５０４では、すべての記録データの記録が終了したかを判断する。未記録の残りがある場合（ＮＯ）は、ステップＳ５０２に戻って副走査のステップ送りと主走査の１分の記録を繰り替えす。全ての記録が終了してステップＳ５０４の判断がＹＥＳになったら、ステップＳ５０５に移行する。ステップＳ５０５ではメディア２０６を記録部から排出する。こうして１枚のメディア２０６に二次元の画像が形成される。
【００２６】
図６のフローチャート図を用いて、ステップＳ５０２のステップ送りの動作シーケンスについて更に詳細に説明する。ステップＳ６０１では、ダイレクトセンサ１３４のイメージセンサで搬送ベルト２０５のマーカーを含む領域を撮像する。取得した画像データは、移動開始前の搬送ベルトの位置を示すものであり、ＲＡＭ１０３に記憶される。ステップＳ６０２では、エンコーダ１３３でローラ２０２の回転状態をモニタしながら搬送モータ１７１を駆動して搬送ベルト２０５の移動、すなわちメディア２０６の搬送制御を開始する。目標とする搬送量だけメディア２０６を搬送するようにコントローラ１００がサーボ制御を行う。このエンコーダを用いた搬送制御と並行して、ステップＳ６０３以降の処理を実行する。
【００２７】
ステップＳ６０３では、ダイレクトセンサ１３４でベルトを撮像する。撮像のタイミングについては、１バンド分の記録をするための目標とするメディア搬送量（以後、目標搬送量という）、イメージセンサの第１方向における幅、および搬送速度などによって予め決められた搬送量を搬送したと推定されるタイミングで撮像する。本例では、予め決められた搬送量を搬送した時点でエンコーダ１３３が検出するであろうコードホイール２０４の特定のスリットを指定しておき、そのスリットをエンコーダ１３３が検出したタイミングで撮像を開始する。このステップＳ６０３の更なる詳細については後述する。
【００２８】
ステップＳ６０４では、直前にステップＳ６０３で撮像した第２画像データと、そのひとつ前に撮像した第１画像データとの間で、どれだけの距離だけ搬送ベルト２０５が移動したかを画像処理によって検出する。移動量検出を処理の詳細については後述する。目標搬送量に応じて決められた回数だけ所定のインターバルで撮像を行なう。ステップＳ６０５では、決められた回数の撮像を終了したか否かを判断する。終了してない場合（ＮＯ）はステップＳ６０３に戻って終了するまで処理を繰り返す。決められた回数だけ繰返し搬送量を検出する毎に搬送量を累計していき、最初にステップＳ６０１で撮像したタイミングからの１バンド分の搬送量を求める。ステップＳ６０６では、１バンド分の、ダイレクトセンサ１３４で取得した搬送量とエンコーダ１３３から取得した搬送量の差分を計算する。エンコーダ１３３は間接的な搬送量の検出であり、ダイレクトセンサ１３４による直接的な搬送量の検出に較べて検出精度に劣る。従って、上述の差分はエンコーダ１３３の検出誤差とみなすことができる。
【００２９】
ステップＳ６０７では、ステップＳ６０６で求めたエンコーダの誤差分だけ搬送制御に補正を与える。補正には、搬送制御の現在の位置情報を誤差分だけ増減して補正する方法、目標搬送量を誤差分だけ増減して補正する方法があり、いずれの方法を採用してもよい。こうしてフィードバック制御により目標搬送量までメディア２０６を正確に搬送して１バンド分の搬送が完了する。
【００３０】
図７は、上述のステップＳ６０４の処理の詳細を説明するための図である。ダイレクトセンサ１３４の撮像で取得された搬送ベルト２０５の第１画像データ７００、第２画像データ７０１が模式的に示されている。第１画像データ７００、第２画像データ７０１の中で黒点で示される多数のパターン７０２（明暗の階調差がある部分）は、搬送ベルト２０５にランダム又は所定の規則に基づいて付与された多数のマーカーの像である。なお、図２に示した装置のように被写体がメディアの場合には、メディア表面の微視的なパターン（紙の繊維パターンなど）が同等の役割を果たす。第１画像データ７００に対して、上流側の位置にテンプレートパターン７０３を設定して、この部分の画像を切り出す。第２画像データ７０１を取得したら、切り出したテンプレートパターン７０３と類似のパターンが、第２画像データ７０１のどこに位置するかをサーチする。サーチはパターンマッチングの手法により行なう。類似度を判定するアルゴリズムは、ＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）、ＮＣＣ（Ｎｏｒｍａｌｉｚｅｄ  Ｃｒｏｓｓ−Ｃｏｒｒｅｌａｔｉｏｎ）等が知られる。いずれを採用してもよい。この例では最も類似するパターンが領域７０４に位置している。第１画像データ７００におけるテンプレートパターン７０３と第２画像データ７０１における領域７０４との副走査方向における撮像デバイスの画素数の差分を求める。そして、この差分画素数に１画素に対応した距離を掛けることで、この間の移動量（搬送量）を求めることができる。
【００３１】
上述したように、イメージセンサで被写体（搬送ベルト２０５又メディア２０６）を撮像して第１画像データ及び第２画像データを取得する際には、撮像トリガ信号の発生から実際に撮像が行われるまでには僅かなタイムラグがある。
【００３２】
図８はダイレクトセンサ１３４のイメージセンサのタイムラグによる検出遅れの影響を説明するための図である。図８の上段のグラフ曲線は搬送モータ１７１の停止直前の速度変化を示す速度プロファイルである。図８の中段は、エンコーダ１３３から出力される検出信号を示す。コードホイール２０４の各スリットの透過と遮蔽の切り替わりに応じて検出信号が１と０に変化する。各スリットは透過と遮蔽が等幅で且つ均等なピッチで並んでおり、被写体が一定の距離を移動する毎に検出信号の１，０が切り替わる。被写体の移動量と検出信号の切り替わりタイミングとは、コードホイール２０４の直径、スリットの幅及びピッチ、搬送ローラ２０２の直径、被写体（搬送ベルト２０５）の厚みなどによって関係付けられる。
【００３３】
図８の下段は、撮像トリガ信号６０５とイメージセンサの実際の撮像タイミングの関係を示す。撮像トリガ信号６０５はコントローラがイメージセンサに対して撮像の指令を与える信号である。撮像トリガ信号６０５は、エンコーダ１３３の予め決められたスリットの検出による信号変化（この例では０から１への立ち上がり）に基づいてコントローラが生成する。撮像トリガ信号６０５に基づいてダイレクトセンサ１３４は撮像を開始する。
【００３４】
画像データが取得されるまでの処理を厳密に見ると、前半は、ダイレクトセンサ１３４が撮像トリガ信号を受信する処理、ダイレクトセンサ１３４が内蔵するイメージセンサに撮像を指令する処理がある。続く後半は、イメージセンサが電子シャッタを開けて露光を開始する処理、イメージセンサが所定の露光期間だけ露光を行なう処理、イメージセンサが撮像画像を出力する処理（画素読み出し、Ａ／Ｄ変換、シリアル出力など）がある。ここでは、露光期間の中心を撮像タイミング６０６として示す。撮像トリガ信号６０５が発生してから撮像タイミング６０６までの時間がタイムラグであり、本実施形態ではこの期間の遅れに起因する問題の解決を目指す。イメージセンサが撮像画像を出力する処理については、画像の撮影タイミングに影響がないので本実施形態では問題とはしない。
【００３５】
被写体はこのタイムラグの間も移動し続けている。そのため、撮像で取得された画像データは撮像トリガ信号６０５が生成された時点よりも僅かにシフトした位置における画像である。また、撮像で取得された画像データは、露光期間中の被写体の移動によって移動方向（副走査方向）に被写体ブレが生じたものとなる。被写体ブレが生じた画像データでパターンマッチング処理を行なう場合は、撮像タイミング６０６に対応した位置を基準にして移動量検出がなされる。図８（ａ）でシフト量６０７として示した斜線部分は、撮像トリガ信号６０５から撮像タイミング６０６までの速度を積分したものである。この面積がタイムラグの期間中の被写体のシフト量を表す。第１画像と第２画像を用いたパターンマッチングによる移動量検出においては、このシフト量を考慮して補正を行なう必要がある。
【００３６】
補正方法１
図９はシフト量を考慮した補正方法（補正方法１）の概念を説明するための図である。この例では、被写体の移動速度が低速である場合を示す。コントローラは、エンコーダ１３３の検出信号の連続した立上がり立下りに基づいて、第１の速度取得用トリガ信号７０７、撮像トリガ信号７０５、第２の速度取得用トリガ信号７０８の３つのトリガ信号を生成する。撮像トリガ信号７０５から撮像タイミング７０６までの時間Ｔｄは先に説明したタイムラグである。第１の速度取得用トリガ信号７０７から撮像トリガ信号７０５までの期間Ｔ１での被写体の移動量はエンコーダの透過のスリット１つに対応した規定値である。また、撮像トリガ信号７０５から第２の速度取得用トリガ信号７０８までの期間Ｔ２での移動量は、エンコーダの遮断のスリット１つに対応した規定値である。したがって、それぞれのトリガ信号間の時間が判れば、移動量を時間で除算することでその区間での平均移動速度を求めるができる。トリガ信号間の時間は後述する第２タイマで取得する。期間Ｔ１における平均移動速度（第１平均移動速度）を７１３として、期間Ｔ２における平均移動速度（第２平均移動速度）を７１４として示す。第１平均移動速度と第２平均移動速度を比べると、補正対象の期間を含む第２平均移動速度の方がより正確な速度になる可能性が高いので、ここでは第２平均移動速度を用いて補正を行なう。なお、搬送速度が非常に遅い場合には、補正を行なう時点では第２の速度取得用トリガ信号７０８の生成が間に合わない可能性もあるので、その場合には第１平均移動速度を用いて補正を行なえばよい。
【００３７】
コントローラはタイムラグＴｄを計測する第１タイマと、期間Ｔ１及びＴ２を計測する第２タイマを内蔵しており、それぞれの時間を計時する。第１タイマは、撮像トリガ信号７０５の発生で計測を開始して、露光開始から終了の中間のタイミング７０６になったら計測を終了する。具体的には、ダイレクトセンサの光源３０１のドライブ信号を監視することで露光開始タイミングを得て、そこから露光期間（規定値）の半分の時間が経過したら中間タイミング７０６と判断する。第２タイマは、期間Ｔ１の計測においては、第１の速度取得用トリガ信号７０７の信号発生で計測を開始して、撮像トリガ信号７０５の発生で計測を終了する。次いで、期間Ｔ２の計測においては、撮像トリガ信号７０５の発生で計測を開始して、第２の速度取得用トリガ信号７０８の信号発生で計測を終了する。なお、タイムラグＴｄはコントローラやダイレクトセンサ１３４の制御回路や演算処理部の能力で定まる固定値であり、基本的には変動はしない。したがって、Ｔｄを予め計測又は予測して予めメモリに記憶しておけば、第１タイマは省略することができる。
【００３８】
コントローラは、第２タイマで取得した時間を用いて、期間Ｔ２（又は期間Ｔ１）における平均移動速度を求める。次いで、求めた平均移動速度に、第１タイマで取得した若しくは予めメモリに記憶されているタイムラグＴｄを乗算して、タイムラグの間の被写体のシフト量を求める。すなわち、コントローラはエンコーダによって検出される所定距離の移動に要する移動時間を第２タイマで計測し、前記所定距離を第２タイマで計測した移動時間で除算することで期間Ｔ２（又はＴ１）における平均移動速度を取得する。
【００３９】
求めたシフト量を用いて実際の移動量検出を補正する方法は以下のとおりである。第１画像データの取得時と第２画像データの取得時のそれぞれにおけるシフト量が上述のようにして求まる。ここでは、第１画像データのシフト量を第１シフト量、第２画像データのシフト量を第２シフト量とする。第１シフト量と第２シフト量との差分が誤差であるため、この誤差を補正する必要がある。具体的には、第１画像データと第２画像データを用いて上述した相関処理によって移動距離を算出して、その算出した移動距離から上記差分（第２シフト量−第１シフト量）を減算して補正を行なう。すなわち、コントローラでは、第１画像データにおけるシフト量を第１シフト量、第２画像データにおけるシフト量を第２シフト量としてそれぞれ求め、（第２シフト量−第１シフト量）を補正値として用いて補正を行ない、物体の移動量を求める。もし、第１シフト量と第２シフト量が同一（両者の測定時における被写体の移動速度が同一）の場合はこれらの差分はゼロであるので、実態的には補正は行なわれない。もし、第１画像データ又は第２画像データの一方が停止状態の場合は、停止状態の画像データにはシフトは発生せずシフト量はゼロとなる。従って、このときの補正量はシフトが発生した画像データのシフト量と等しくなる。
【００４０】
補正方法２
図１０は、図９の例よりも被写体の移動速度が高速である場合を含む補正方法（補正方法２）の概念を説明するための図を示す。図１０の上段のグラフ曲線は搬送モータ１７１の搬送開始前から搬送停止までの速度変化を示す速度プロファイルである。図１０の下段左側は測定１、下段右側は測定２におけるエンコーダ信号と露光タイミングを示す。測定２は図９で説明したものを同じであるので、ここでは重複の説明は省略する。
【００４１】
この例では、低速時と高速時のいずれにもフレキシブルに対応可能とするために、測定１（高速）と測定２（低速）のいずれにおいても撮像及び補正を可能としている。複数回に分けることが必要となるのは、例えば、停止までの搬送量がダイレクトセンサ１３４の長さよりも長い場合がある。更に、ダイレクトセンサ１３４の測定に使えない箇所を避ける場合、撮像対象の被写体のマーカの不連続領域を避ける場合、あるいは高速搬送中の測定を避ける場合などが考えられる。
【００４２】
測定１においては、測定１のタイミングよりも前（この例では被写体の停止時）に撮像して取得したものを第１画像データ、測定１のタイミングで取得した画像を第２画像データとして用いて、その間の被写体の移動量を上述した相関処理によって求める。測定１では、第１画像データは静止時の撮像によるものなので、上述したシフト量（第１シフト量）はゼロである。したがって、第２シフト量が上述の補正値となる。
【００４３】
測定２においては、測定１で取得した第２画像データを第１画像データして用い、測定２のタイミングで撮像して取得したものを第２画像データとして用いて移動量を求める。測定２では、第１画像データ、第２画像データ共に被写体が移動する最中の撮像なので、上述したシフト量（第１シフト量、第２シフト量）は共にゼロよりも大きな値となり、且つ第１シフト量は第２シフト量よりも大きい。これらの差分（第２シフト量−第１シフト量）が上述の補正値となる。
【００４４】
それぞれの測定におけるシフト量の求め方を説明する。測定１において、コントローラは、エンコーダ１３３の検出信号の所定のパルスの立上がり立下りに基づいて、第１の速度取得用トリガ信号８０７、撮像トリガ信号８０８、第２の速度取得用トリガ信号８１０の３つのトリガ信号を生成する。撮像トリガ信号８０８から撮像タイミング８０９までの時間Ｔｄは先に説明したタイムラグである。第１の速度取得用トリガ信号８０７から撮像トリガ信号８０８までの期間Ｔ１での移動量と、撮像トリガ信号８０８から第２の速度取得用トリガ信号８１０までの期間Ｔ２での移動量は、エンコーダの透過と遮断のスリット複数個に対応した規定値である。すなわち、期間Ｔ１，Ｔ２は、測定２（低速時）では１つのスリットに対応したものであるのに対して、測定１（高速）では複数のスリット（本例では６個）に対応している。言い換えると、撮像を行なう時点での予測される被写体の速度に応じて、平均速度を取得するための計算に用いる区間を可変にして、計算のアルゴリムを変えている。
【００４５】
期間Ｔ１、期間Ｔ２のそれぞれにおける被写体の移動量は、複数のスリットの数に対応した規定値である。コントローラは補正方法１と同様に、期間Ｔ２（又は期間Ｔ１）における時間を第２タイマで計測して、移動量を時間で除算することで、その期間内での平均移動速度を求める。次いで、求めた平均移動速度に、第１タイマで取得した若しくは予めメモリに記憶されているタイムラグＴｄを乗算して、タイムラグの間の被写体のシフト量を求める。
【００４６】
露光の終了と第２の速度取得用トリガ信号８１０の生成タイミングは一致させることが好ましい。これを実現するには、撮像トリガ信号８０８の発生から露光終了までに要する時間（固定値）と期間Ｔ２が一致するような、エンコーダのスリット本数を決定する。
【００４７】
補正方法３
図１１は更に別の補正方法（補正方法３）の概念を説明するための図である。測定１（高速）と測定２（低速）に対応した測定が可能なことは補正方法２と同様であるが、測定１の手法が異なる。なお、測定２については図示は省略している。
【００４８】
測定１（高速）においては、撮像トリガ信号９０６の発生から撮像の露光終了までの期間Ｔ２の間にエンコーダのパルス信号が複数発生する。コントローラは期間Ｔ２の間に発生するパルス信号の数をカウントして、カウントしたパルス数からこの間の移動量を計算する。この例では６個のパルス信号がカウントされるので、１パルス分の距離×６の計算により期間Ｔ２での移動量が求められる。測定２（低速）は図１０と同様である。すなわち、撮像を行なう時点での予測される被写体の速度に応じて、平均速度を取得するための計算のアルゴリズムを変えている。
【００４９】
コントローラはタイムラグＴｄを計測する第１タイマと、期間Ｔ２を計測する第２タイマを内蔵しており、それぞれの時間を計時する。第１タイマは、撮像トリガ信号９０６の発生で計測を開始して、露光開始から終了の中間のタイミング９０７になったら計測を終了する。第２タイマは、撮像トリガ信号９０６の発生で計測を開始して、露光が終了したタイミング（ダイレクトセンサの光源３０１のドライブ信号がゼロになったタイミング）で計測を終了する。コントローラは上記求めた期間Ｔ２における移動量を第２タイマで計測した時間で除算することで期間Ｔ２における平均移動速度を求め、次いで、平均移動速度×第１タイマで計測したタイムラグＴｄ  を計算してタイムラグの間の被写体のシフト量を求める。すなわち、コントローラは、トリガ信号の発生から撮像の終了までの期間において、第２タイマで時間を計測すると共にエンコーダで移動距離を検出し、検出した移動距離を第２タイマで計測した時間で除算することで期間Ｔ２における平均移動速度を取得する。
【００５０】
求めたシフト量を用いて実際の移動量検出を補正する方法は上述したとおりである。
【００５１】
なお、上記説明した補正方法１〜３においては、期間Ｔ２における平均移動速度をエンコーダの検出に基づいて求めているが、エンコーダを使用せずに同等の情報を得ることもできる。例えば、コントローラが搬送制御を行なう際の速度プロファイルに基づく制御目標値を用いて、期間Ｔ２における平均移動速度を推定するようにしてもよい。また、期間Ｔ２よりも前（好ましくは直前）の搬送速度を計測して、これを期間Ｔ２における平均移動速度とみなすようにしてもよい。
【００５２】
次に、上述した補正方法２及び補正方法３の具体的な処理シーケンスについて、順に説明する。これらの処理はコントローラ１００の制御に基づいて行なわれる。
【００５３】
図１２は、図１０で説明した補正方法２の処理シーケンスを示すフローチャートである。ステップＳ１００１では、ダイレクトセンサ１３４での撮像のタイミングにおける予測される被写体の速度が高速か低速かを判定する。これは速度プロファイルに基づく制御目標値、又は直前の実測した搬送速度から判定する。高速（Ｎｏ）と判定するとステップＳ１００２に移行し、低速（Ｙｅｓ）と判定するとステップＳ１００３に移行する。ステップＳ１００２では、第１の速度取得用トリガ信号８０７の生成タイミングを撮像トリガ信号８０８のｎ個前のエンコーダ信号切り替り点に設定する。また、第２の速度取得用トリガ信号８１０の生成タイミングを撮像トリガ信号８０８のｎ個後のエンコーダ信号切り替り点に設定する。ステップＳ１００３では、第１の速度取得用トリガ信号８１１と第２の速度取得用トリガ信号８１４の生成タイミングを、撮像トリガ信号８１２の隣のエンコーダ信号切り替り点に設定する。
【００５４】
ステップＳ１００４では、第１の速度取得用トリガ信号が発生するまで待つ。ステップＳ１００５では、コントローラが内蔵する第２タイマを用いて期間Ｔ１の計測を開始する。ステップＳ１００６では、撮像トリガ信号の発生を待ち、撮像トリガ信号を検出したらステップＳ１００７に移行する。ステップＳ１００７では第２タイマので期間Ｔ１の計測を終了する。終了と同時にステップＳ１００８で、第１タイマでのタイムラグＴｄの計測、ならびに第２タイマでの期間Ｔ２の計測を開始する。ステップＳ１００９ではイメージセンサの露光が終了したか否かを判断する。ステップＳ１０１０では、第２の速度取得用トリガ信号の発生を待つ。
【００５５】
ステップＳ１００９で露光終了を先に検出したらステップＳ１０１６へ移行し、ステップＳ１０１０で第２の速度取得用トリガ信号を先に検出したらステップＳ１０１１へ移行する。ステップＳ１０１１では、期間Ｔ２の計測を終了する。ステップＳ１０１２はイメージセンサの露光の終了を待つ。露光が終了したら、ステップＳ１０１３にて、第１タイマで計測した値から、予め判っている露光期間の２分の１の時間を減算して、これをＴｄとする。こうしてタイムラグＴｄの計測を終了する。
【００５６】
ステップＳ１０１４では、第１画像データと第２画像データを用いて画像処理によって搬送量を算出する。図７で説明したように、第１画像データからテンプレートパターンを切り出し、第２画像データの中でテンプレートパターンと相関が大きい領域を画像処理でサーチすることで、この間の被写体の移動量を求める。ステップＳ１０１５では、期間Ｔ２における平均移動速度を求める。平均移動速度を求めるには。ステップＳ１００１で低速と判定されていた場合は、エンコーダのパルス信号１つ分の移動量をＴ２で除算する。高速と判定されていた場合は、ｎ個のエンコーダのパルス信号分の移動量をＴ２で除算する。求めた平均移動速度にタイムラグＴｄの時間を乗算して、撮像遅れにのタイムラグの間の被写体のシフト量を求める。そして、このシフト量を用いてステップＳ１０１４で求めた移動量を補正する。具体的な補正の方法は上述したとおりである。補正したら本シーケンスを終了する。
【００５７】
一方、ステップＳ１００９の判断でステップＳ１０１６に移行した場合の処理は以下のとおりである。ステップＳ１０１６では、第１タイマで計測した値から、予め判っている露光期間の２分の１の時間を減算して、これをＴｄとする。こうしてタイムラグＴｄの計測を終了する。ステップＳ１０１７ではステップＳ１０１４と同様の手法で搬送量を算出する。ステップＳ１０１８では、計測したＴ１よりも計測中のＴ２の方が大きいかどうかを判定する。計測中のＴ２の方が大きい場合（Ｙｅｓ）にはステップＳ１０１９へ移行し、そうでない場合（Ｎｏ）はステップＳ１０２０へ移行する。ステップＳ１０１９では、計測中の期間Ｔ２における平均移動速度を求める。そして、撮像遅れにのタイムラグの間の被写体のシフト量を求めて、このシフト量を用いてステップＳ１０１７で求めた移動量を補正する。ステップＳ１０２０では、期間Ｔ１における平均移動速度を求める。ステップＳ１０１５と同様に低速の場合と高速の場合とで算出方法が異なる。求めた平均移動速度にＴｄを掛けてタイムラグＴｄの期間中のシフト量を求める。このシフト量を用いてステップＳ１０１７で求めた移動量を補正する。補正したら本シーケンスを終了する。
【００５８】
図１３は、図１１で説明した補正方法３の処理シーケンスを示すフローチャートである。ステップＳ１１０１では、ダイレクトセンサ１３４での撮像のタイミングにおける予測される被写体の速度が高速か低速かを判定する。低速と判断した場合（Ｙｅｓ）は、ステップＳ１１０２に移行する。この先のステップＳ１１０２〜ステップＳ１１１９の一連の処理は、図１２のステップＳ１００３〜ステップＳ１１２０の処理と同一なので、ここでは説明を省略する。
【００５９】
ステップＳ１１０１で高速と判断した場合（Ｎｏ）は、ステップＳ１１２０に移行する。ステップＳ１１２０では撮像トリガ信号９０６が発生するまで待つ。ステップＳ１１２１では、第１タイマでのタイムラグＴｄの計測、ならびに第２タイマでの期間Ｔ２の計測を開始する。ステップＳ１１２２では、エンコーダ信号９０３のパルスの切り替り数のカウントを開始する。ステップＳ１１２３では露光が終了するまで待つ。露光が終了したら、ステップＳ１１２４にて、第２タイマでのＴ２の計測を終了する。また、第１タイマで計測した値から、予め判っている露光期間の２分の１の時間を減算して、これをＴｄとする。こうしてタイムラグＴｄの計測も終了する。ステップＳ１１２５では、エンコーダ信号９０３のパルスの切り替り点のカウントを終了する。
【００６０】
ステップＳ１１２６では、図１２のステップＳ１０１４の説明と同様、第１画像データと第２画像データを用いて画像処理によって搬送量を算出する。ステップＳ１１２７では、ステップＳ１１２５でカウントしたパルス数からその期間の搬送量を計算する。それをＳ１１２４で求めたＴ２で除算することで、期間Ｔ２における平均移動速度を求める。求めた平均移動速度にＴｄを掛けてタイムラグＴｄの期間中のシフト量を求める。このシフト量を用いてステップＳ１１２６で求めた移動量を補正する。補正したら本シーケンスを終了する。
【符号の説明】
【００６１】
１３４  ダイレクトセンサ
１７１  モータ
２０２  第１ローラ
２０３  第２ローラ
２０５  搬送ベルト
２０６  メディア
２１１  インクタンク
２１２  キャリッジ
２１３  プリントヘッド
【図１】
0005506329.tif 000002
【図２】
0005506329.tif 000003
【図３】
0005506329.tif 000004
【図４】
0005506329.tif 000005
【図５】
0005506329.tif 000006
【図６】
0005506329.tif 000007
【図７】
0005506329.tif 000008
【図８】
0005506329.tif 000009
【図９】
0005506329.tif 000010
【図１０】
0005506329.tif 000011
【図１１】
0005506329.tif 000012
【図１２】
0005506329.tif 000013
【図１３】
0005506329.tif 000014