以下、本発明を流体噴射装置としてのインクジェット式プリンタに適用した一実施形態を、図1〜図15に従って説明する。
図1は、インクジェット式記録装置の斜視図を示す。図1に示す流体噴射装置としてのインクジェット式記録装置(以下、プリンタ11と称す)は、例えばA2判以上の大判サイズの用紙P(ターゲット)を印刷できるものである。プリンタ11は、上側が開口する略四角箱状の本体ケース12を備え、この本体ケース12内に架設されたガイド軸13にはキャリッジ14が主走査方向Xに案内されて往復動可能な状態で設けられている。キャリッジ14が背面側で固定された無端状のタイミングベルト15は、本体ケース12の背面部分の内面に配設された一対のプーリ16,17に巻き掛けられ、一方のプーリ16が駆動軸に連結されたキャリッジモータ(以下、CRモータ18と記す)が正逆転駆動されることにより、キャリッジ14は主走査方向Xに往復動する。
キャリッジ14の下部には、流体としてのインクを噴射する噴射手段(流体噴射ヘッド)としての記録ヘッド19が設けられている。さらに本体ケース12内において記録ヘッド19と対向する下方位置には、記録ヘッド19と用紙Pとの間隔を規定する長尺板状のプラテン20が配置されている。また、キャリッジ14の上部には、ブラック用およびカラー用の各インクカートリッジ21,22が着脱可能に装填されており、記録ヘッド19は、各インクカートリッジ21,22から供給された各色のインクを、色ごとのノズル群から噴射(吐出)可能に構成されている。
プリンタ11の背面側には、給紙トレイ23と、給紙トレイ23上に積重された多数枚の用紙Pのうち最上位の1枚のみを分離して副走査方向Yに給送する自動給紙装置(Auto Sheet Feeder)24とが設けられている。
また、本体ケース12の図1における右側下部に配設された搬送モータ(以下、PFモータ25と記す)の駆動により、搬送駆動ローラ41Aと搬送従動ローラ41B、及び排紙駆動ローラ42Aと排紙従動ローラ42B(いずれも図3に示す)が回転駆動され、用紙Pが副走査方向Yに搬送される。そして、キャリッジ14を主走査方向Xに往復動させながら記録ヘッド19のノズルから用紙Pに向けてインクを噴射する印刷動作と、用紙Pを副走査方向Yに所定の搬送量で搬送する搬送動作とを交互に繰り返すことで、用紙Pに印刷が施される。なお、本実施形態では、PFモータ25が自動給紙装置24の駆動源としても利用されている。
また、プリンタ11には、キャリッジ14の移動距離に比例する数のパルスを出力するリニアエンコーダ26がガイド軸13に沿って設けられ、リニアエンコーダ26の出力パルスを用いて求められるキャリッジ14の移動位置、移動速度及び移動方向に基づいて、キャリッジ14の速度制御及び位置制御は行われる。また、キャリッジ14には、用紙Pからの反射光を検出する傾斜検出手段としての光学センサ38(紙幅センサ)が設けられ、キャリッジ14が用紙P上を移動することにより、光学センサ38が用紙Pの紙端を検出可能となっている。
また、プリンタ11において、キャリッジ14の移動経路上における図1の右端位置がキャリッジ14のホームポジションに設定されており、その直下にはメンテナンス装置30が配設されている。
図3は、記録ヘッド及び搬送機構を示す模式側面図である。図3に示すように、用紙Pの搬送経路上には、記録ヘッド19の上流側位置に一対の搬送駆動ローラ41A及び搬送従動ローラ41Bが回転可能に配置されるとともに、記録ヘッド19の下流側位置に一対の排紙駆動ローラ42A及び排紙従動ローラ42Bが回転可能に配置されている。PFモータ25(図1参照)の駆動力が伝達されて両駆動ローラ41A,42Aが回転することにより、用紙Pは図3における左方向(副走査方向Y)へ搬送される。
搬送駆動ローラ41Aのやや搬送方向上流側の位置には、端部検出手段としての紙検出センサ43が設けられている。紙検出センサ43は、例えば接触式センサ(スイッチ式センサ)からなる。もちろん、紙検出センサ43は、用紙Pを検知できれば他の方式のセンサを代用でき、例えば光学式センサ(フォトセンサ)も採用できる。
本実施形態では、紙検出センサ43の検出位置(検出レバーの位置)から、記録ヘッド19の下面に開口する多数のノズルのうち搬送方向における最上流ノズル位置と対向する基準位置までの距離Lorは、プリンタ11ごとに一定値に決まっている。
紙検出センサ43が用紙Pの先端(上端)を検知したときの位置から距離Lorに相当する分だけ用紙Pを搬送させた位置(基準位置)を、例えば「0」として、それ以降、用紙Pが搬送される搬送量を計数することで、用紙Pの搬送位置を管理している。
図2は、プリンタのキャリッジ周辺を示す模式平面図である。光学センサ38により給紙時に紙端を検知する検出走査処理を説明する。
この検出走査処理は、印刷開始に先立ち実施され、用紙Pの幅方向(X方向)両端の紙端検出位置P1,P2と、用紙Pの上端辺上の二箇所の先端検出位置P3,P4との計四箇所の検出位置を取得する。これらの4つの検出位置に基づいて、用紙Pの紙幅、スキュー方向及びスキュー量が求められる。
まず、用紙Pを光学センサ38による検出が可能な位置(図2における用紙位置)まで給送する。用紙給送後、キャリッジ14をホームポジションから反ホームポジション側へ図2における矢印(1)に示す経路で走査し(往動させ)、その走査途中で光学センサ38により用紙Pの幅方向両端の紙端検出位置P1,P2を取得する。
続いてキャリッジ14を破線矢印(2)に示すように少し復動させて第1位置(図2における実線位置)に配置し、引き続き用紙Pを反搬送方向(図2における下方)へ搬送して矢印(3)に示す経路で光学センサ38を走査し、その走査途中で用紙Pの上端辺上の第1先端検出位置P3を取得する。次に、キャリッジ14の復動と、用紙Pの搬送方向への搬送とを同時並行に行って、矢印(4)に示すように両者の相対位置を移動させて、キャリッジ14を第2位置(図2における二点鎖線)に配置する。そして、用紙Pを反搬送方向(図2における下方)へ搬送して矢印(4)に示す経路で光学センサ38を走査し、その走査途中で用紙Pの上辺上の第2先端検出位置P4を取得する。こうして用紙Pの幅方向両端の紙端検出位置P1,P2と、上辺における二つの先端検出位置P3,P4とを取得する。このうち先端検出位置P3,P4に基づいて用紙Pのスキュー方向及びスキュー量が検出される。
また、図2に示しように、搬送駆動ローラ41Aの軸部の一端には、軸部に一体回転可能に連結された円板状の符号板45aとセンサ45bを備えたロータリエンコーダ45が設けられている。ロータリエンコーダ45は、搬送駆動ローラ41Aの回転量に比例する数のパルスを出力する。
図5は、プリンタ11の電気的な構成を示す概略構成図である。
プリンタ11は、コントローラ51、CRモータ18、噴射駆動素子JD1〜JDn、PFモータ25、光学センサ38、紙検出センサ43、リニアエンコーダ26及びロータリエンコーダ45を備える。噴射駆動素子JD1〜JDnは、図6における記録ヘッド19のノズル開口面19aに形成されたノズル♯1〜♯nごとに設けられている。
また、図5に示すように、コントローラ51は、インターフェイス52、受信バッファ53、制御手段としての主制御部54、ヘッド駆動回路55、CRモータ駆動回路56及びPFモータ駆動回路57を備えている。各駆動回路55〜57には、それぞれ噴射駆動素子JD1〜JDn、CRモータ18、PFモータ25が接続されている。
主制御部54は、データ構築部61、マスク処理部62、スキュー量演算部63、印刷開始位置演算部64、下端処理開始位置演算部65、紙端検出走査制御部66、キャリッジ制御部67、搬送制御部68、CR位置カウンタ69および位置取得手段としてのPF位置カウンタ70を備えている。また、ヘッド駆動回路55は、原駆動信号発生部71とマスク回路72とを備えている。
「縁なし印刷」が設定されている場合、ホスト装置80内のプリンタドライバ81による解像度変換処理は以下のように行われる。
図4は、縁なし印刷時の解像度変換処理を説明するレイアウト図である。ここで、用紙Pの幅方向(図4における左右方向)にX方向、用紙搬送方向(図4における上下方向)にY方向をとる。
設定されている用紙サイズ(例えばA2判)から決まる用紙エリアTAのX方向長さを「Xpaper」、Y方向長さを「Ypaper」とする。また、「縁なし印刷」が行われる印刷エリアPA(印刷データ領域)のX方向長さを「Xprint」、Y方向長さを「Ypri nt」とする。「縁なし印刷」を行う場合は、用紙Pの搬送位置が上下・左右にばらついても余白なく縁なし印刷ができるように、用紙Pの四辺外側に所定の長さ(はみ出し量)のはみ出し領域Axが設定され、用紙エリアTAとはみ出し領域Axとから印刷エリアPAは決まる。用紙Pの上側のはみ出し量(はみ出し長)を「Top」、下側のはみ出し量を「Bottom」、左側のはみ出し量を「Left」、右側のはみ出し量を「Right」とすると、印刷エリアPAのX,Y方向の各寸法Xprint、Yprintは、以下のように示される。
Xprint=Xpaper+Left+Right …(1)
Yprint=Ypaper+Top+Bottom …(2)
解像度変換処理は、アプリケーションから受け取った画像データの解像度を、用紙サイズに合った変倍処理を行いつつ、プリンタ11が印刷するための印刷解像度に変換する。具体的には、画像データの解像度が印刷解像度よりも低い場合は、線形補間を行うことによって画像データの隣接するラスタ間に新たなデータを生成し、逆に印刷解像度よりも高い場合は、一定の割合でデータを間引くことによって、画像データの解像度を印刷解像度に変換する。
縁なし印刷の場合、流体噴射処理データとしての印刷データは、用紙エリアTAよりはみ出し領域Axだけ広い印刷エリアPAの画像を印刷可能なデータとしてプリンタ11に送られてくる。本実施形態では、はみ出し量Top、Bottom、Left、Rightは、共に等しくΔBに設定されているものとする。はみ出し量ΔBは、例えば1〜10mmの範囲内の所定値に設定され、例えば用紙サイズに応じて可変な値を設定しても構わない。
図5に戻って、データ構築部61は、受信バッファ53から読み出した所定量の画像データを基に、インタレース印刷方式で印刷するための一走査分(1パス分)の噴射駆動データを、複数パス分ずつ生成する。また、データ構築部61は、印刷画像データの生成とともにそのときのインタレース印刷方式に応じてキャリッジ14の移動動作及び用紙Pの搬送動作を行えるようにコマンドを生成する。データ構築部61が生成した印刷画像データは、マスク処理部62に送られるとともに、コマンドはキャリッジ制御部67及び搬送制御部68に送られる。
紙端検出走査制御部66は、給紙動作を行うときに、光学センサ38に用紙P上を走査させて、用紙Pの幅方向両側の紙端検出位置P1,P2、および用紙Pの上端辺上における第1及び第2先端検出位置P3,P4を取得すべく、キャリッジ制御部67及び搬送制御部68に紙端検出走査処理の指示を出力する。紙端検出走査制御部66から指示に従ってキャリッジ制御部67及び搬送制御部68は、CRモータ18及びPFモータ25を駆動制御して、前述の紙端検出走査処理を実行する。この結果、図2に示した紙端検出走査が行われる。
CR位置カウンタ69は、キャリッジ14がホームポジションに位置するときを原点位置として、リニアエンコーダ26から入力する検出パルスの例えばパルスエッジを計数する。なお、本実施形態では、リニアエンコーダ26により位置検出可能なキャリッジ14の移動経路上において、ホームポジション側を「Home側」、反ホームポジション側を「Full桁側」と呼ぶことにする。
また、図5に示すPF位置カウンタ70は、ロータリエンコーダ45から入力する検出パルスの例えばパルスエッジを計数するとともに、給紙途中の用紙Pの上端(先端)を検知した時の紙検出センサ43の検知信号(オン信号)に基づきリセットされる。さらに、このリセット後、図3における距離Lorに相当する計数値を計数して、用紙Pの上端が、記録ヘッド19の基準位置(最上流ノズル位置)に達した時点で再びリセットされる。このため、PF位置カウンタ70には、用紙Pの先端が基準位置に達した時の位置を起点とする用紙Pの搬送位置が計数値として管理される。
また、スキュー量演算部63は、紙端検出走査処理の過程で光学センサ38が検出した検出位置P1〜P4を取得する。各検出位置P1〜P4の位置座標は、光学センサ38が紙端を検知した時点のCR位置カウンタ69及びPF位置カウンタ70の各計数値に基づいて取得する。そして、スキュー量演算部63は、第1及び第2先端検出位置P3,P4に基づきスキュー方向及びスキュー量を演算する。スキュー量演算部63の演算結果は、印刷開始位置演算部64及び下端処理開始位置演算部65にそれぞれ送られる。本実施形態では、光学センサ38及びスキュー量演算部63により傾斜検出手段が構成される。なお、スキュー方向及びスキュー量の演算内容については後述する。
印刷開始位置演算部64は、給紙された用紙Pに対して記録ヘッド19が印刷を開始する印刷開始位置を演算する。この印刷開始位置は、用紙Pのスキュー方向を考慮したスキュー量に応じた値として演算される。この印刷開始位置は、頭出しされた用紙Pに対する相対位置として示され、印刷画像データのうち印刷開始位置より下流側部分をマスクしてインク滴噴射処理を行うべく、印刷開始位置演算部64の演算結果は、マスク処理部62に送られる。本実施形態では、印刷開始位置演算部64が、印刷エリア(流体噴射エリア)の先頭ラスタ位置(噴射開始位置)を決める上端処理(所定処理)を開始すべき上端処理開始位置(処理開始位置)を演算する演算手段を構成する。
下端処理開始位置演算部65は、通常のインタレース印刷方式で進められる印刷の途中から下端処理を開始する下端処理開始位置YLstart(図9,図10を参照)を演算する。下端処理開始位置YLstartは、用紙Pのスキュー方向及びスキュー量に応じた値として演算される。下端処理開始位置演算部65の演算結果は、データ構築部61及びマスク処理部62に送られる。本実施形態では、下端処理開始位置演算部65が、印刷エリア(流体噴射エリア)の最終ラスタ位置(噴射終了位置)を決める下端処理(所定処理)を開始すべき下端処理開始位置(処理開始位置)を演算する演算手段を構成する。なお、印刷開始位置及び下端処理開始位置の詳しい演算内容については後述する。
マスク処理部62は、データ構築部61が上端処理又は下端処理のために構築した印刷画像データを受け付けたときに、印刷画像データのうち印刷エリアからはみ出すドットを検出し、検出したドットに対応する噴射駆動素子JDによる噴射を禁止するマスク処理を行う。マスク処理部62は、ヘッド駆動回路55内のマスク回路72に噴射駆動素子JDの噴射駆動を禁止させるマスク信号を出力する。
ヘッド駆動回路55内の原駆動信号発生部71は、噴射駆動素子JDを駆動させるための原駆動信号を発生させる。また、マスク回路72には、データ構築部61からの印刷画像データと、マスク処理部62からのマスク信号と、原駆動信号発生部71からの原駆動信号とが同期して入力される。
図6に、各ノズル♯1〜♯nを駆動するための駆動回路のブロック図を示す。なお、図6において、各信号名の最後に付されたかっこ内の数字は、その信号が供給されるノズルの番号を示している。この駆動回路は、図5示すコントローラ51内におけるマスク処理部62、原駆動信号発生部71及びマスク回路72等を含むもので、図6ではマスク回路72はノズル一列分のみ示している。
原駆動信号発生部71は、各ノズル♯1〜♯nに共通して用いられる原駆動信号ODRVを生成する。この原駆動信号ODRVは、一単位領域分の移動期間内(キャリッジ14が一単位領域の間隔を横切る時間内)において、図中の下に示すように、第1パルスW1と第2パルスW2の2つのパルスを含む信号である。
マスク回路72は、記録ヘッド19のノズル♯1〜♯nをそれぞれ駆動する複数の噴射駆動素子JD1〜JDnに対応して複数設けられている。そして、各マスク回路72には、原駆動信号発生部71から原駆動信号ODRVと、データ構築部61が構築した印刷画像データに基づく印刷信号PRT(i)とが入力される。印刷信号PRT(i)は、単位領域に対応する単位領域データであり、一単位領域に対して2ビットの情報を有するシリアル信号であり、その各ビットは、第1パルスW1と第2パルスW2とにそれぞれ対応している。そして、このマスク回路72は、印刷信号PRT(i)のレベルに応じて、原駆動信号ODRVを遮断したり通過させたりする。すなわち、印刷信号PRT(i)がロウレベルのときには、原駆動信号ODRVのパルスを遮断してインク滴を噴射しないようにし、また、印刷信号PRT(i)がハイレベルのときには、原駆動信号ODRVの対応するパルスをそのまま通過させて、これを駆動信号DRV(i)として噴射駆動素子JD1〜JDnに出力し、これによってノズル♯1〜♯nからインク滴を吐出する。
なお、本実施形態にあっては、このマスク回路72には、印刷信号PRT(i)に加えて、マスク処理部62からマスク信号SIG(1)〜SIG(n)が入力される。このマスク信号SIG(1)〜SIG(n)は、後述する印刷開始位置からの印字動作を実現すべく印刷画像データの一部を空データにするマスク処理に供されるものであり、0または1のレベルの信号である。そして、マスク回路72から出力される駆動信号DRV(i)がインク滴を吐出する信号になっているか否かは、前記印刷信号PRT(i)と、当該マスク処理信号SIGとの論理積(AND演算)の演算結果で決定する。
ここで、データ構築部61が行うデータ構築処理について説明する。
データ構築部61は、受信バッファ53からイメージデータを読み出してプリンタ11で採用されるインタレース印刷方式に合った内容の印刷画像データを構築する。
まずインタレース印刷方式による印字動作について説明する。「インタレース印刷方式」とは、副走査方向に沿ってドットピッチの整数倍のノズルピッチとなるように配列された多数のノズルを有する記録ヘッド19を主走査方向へ1回走査することにより多数の主走査ラインを同時に印刷し、次に記録ヘッド19と用紙Pとを副走査方向へノズルピッチと互いに素の関係にある整数分だけ相対的に搬送させたあと再び主走査方向へ1回走査して前回までに形成された主走査ライン(ラスタライン)同士の間を埋めるようにして印刷する方式である。本実施形態では、図6に示すように、記録ヘッド19のノズル♯1〜♯nからなるノズル列をインク色ごとに備える。
図7及び図8では、ノズル列は、各ノズル♯1〜♯n同士の間隔、つまりノズルピッチがドットピッチの4倍となるように副走査方向に9個配列されている例で説明する。また、説明の便宜上、ノズル列を構成するノズル群を、図6の上から順にノズル群#1,#2,…,#9と番号を付して表すものとする。
さて、図7は用紙Pに対する記録ヘッド19の相対位置とインタレース印刷方式による印刷結果を表す説明図である。本実施形態のプリンタ11は、このようなインタレース印刷方式による用紙Pへの印刷の途中で用紙Pの下端が記録ヘッド19に到達するような場合、用紙Pの下端近傍にインタレース印刷方式特有のインク濃淡ムラが発生するのを防止しながら印刷エリア内で印刷を終える下端処理を実行する。この下端処理が開始されると、図8に示すように、通常のインタレース印刷方式では搬送量をドットピッチ9個分としていたところをドットピッチ1個分だけ搬送する。そして搬送終了後、通常のインタレース印刷方式においてノズル群#1〜#9の各々に割り当てられる印刷画像データをノズル2つ分だけ上流側(図8で下側)にシフトすると共に印刷エリアからはみ出るノズル群#9の印刷データを空にして記録ヘッド19を主走査方向に沿って走査することにより、6本の主走査ラインを形成する。次に、用紙Pを副走査方向に沿ってドットピッチ1個分だけ搬送し、該搬送終了後、通常のインタレース印刷方式においてノズル群#1,#2,…,#9の各々に割り当てられる印刷画像データをノズル4つ分だけ上流側にシフトすると共に印刷エリアPAからはみ出るノズル群#9の印刷画像データを空にして記録ヘッド19を主走査方向Xに沿って走査することにより4本の主走査ラインを形成する。更に、用紙Pを副走査方向Yに沿ってドットピッチ1個分だけ搬送し、該搬送終了後、通常のインタレース印刷方式においてノズル群#1,#2,…,#9の各々に割り当てられる印刷データをノズル6つ分だけ上流側にシフトすると共に印刷エリアPAからはみ出るノズル群#9の印刷データを空にして印刷ヘッドを主走査方向に沿って走査することにより2本の主走査ラインを形成する。そして、用紙Pを副走査方向Yに沿ってドットピッチ1個分だけ搬送し、該搬送終了後、通常のインタレース印刷方式においてノズル群#1,#2,…,#9の各々に割り当てられる印刷画像データをノズル8つ分だけ上流側にシフトすると共に印刷エリアからはみ出るノズル群#9の印刷データを空にすると、ノズル群#1,#2,…,#9のすべての印刷データが空になるため、この時点で下端処理を終了する(この下端処理の詳細については、特許文献2を参照)。この結果、下端近傍においても主走査ラインが間引きされることがないため濃淡ムラが生じることがない。
この下端処理を完結するためには、図8に示すように印刷エリアPAの下端から副走査方向Yに所定の長さmを持つ領域を確保する必要がある。この場合、用紙Pへの印刷が縁なし印刷の設定である場合は、用紙Pの下端と印刷エリアPAの下端との間にはみ出し量ΔB(図8を参照)が確保される。つまり、用紙Pの下端から、所定の長さmからはみ出し量ΔBを差し引いた値(=m−ΔB)だけ離れた処理開始位置Sで下端処理を開始する必要がある。また、用紙Pの下端にボトムマージンΔCが設けられているときには、用紙Pの下端と印刷可能領域の下端との間にそのボトムマージンΔCを確保する必要がある。つまり、用紙Pの下端から所定の長さmとボトムマージンΔCとの和(=m+ΔC)だけ離れた処理開始位置Sで下端処理を開始する必要がある。
また、このようなインタレース印刷方式による用紙Pへの印刷のはじめに用紙Pの上端近傍にインタレース印刷方式特有のインク濃淡ムラが発生するのを防止しながら印刷エリアPAへの印刷を始める上端処理を実行する。上端処理は、下端処理と逆の順番の処理方法で進められ、通常のインタレース印刷方式では搬送量をドットピッチ9個分としていたところをドットピッチ1個分ずつとして進められ、この上端処理が終了すると、ドットピッチ9個分の搬送量で通常のインタレース印刷方式を開始する。
次にプリンタ11における印刷処理について、図11〜図13に示すフローチャートに従って説明する。ホスト装置80から印刷データを受信すると、コントローラ51は印刷処理を開始する。印刷データは、画像の一部のデータであり、インタレース印刷方式に合ったドット噴射順序への並び替えはされていない。
まずステップS1において、給紙動作が行われる。この給紙動作により用紙Pは、光学センサ38が検出可能な所定位置まで搬送される。
次のステップS2では、用紙幅検出を行う。すなわち、CRモータ18を駆動させて記録ヘッド19を主走査方向Xに図2における経路(1)に沿って移動させ、用紙Pの幅方向両端の紙端検出位置P1,P2を検出する。
次にステップS3において、用紙上端検出を行う。すなわち、CRモータ18とPFモータ25とを駆動制御して、図2に示すように、経路(3)に沿って走査して用紙Pの先端における第1先端検出位置P3を検出するとともに、経路(4)に沿って走査して用紙Pの上端における第2先端検出位置P4を検出する。
光学センサ38がオンした時点におけるCR位置カウンタ69及びPF位置カウンタ70の各計数値から、検出位置P1〜P4の各座標(X1,Y1)(X2,Y2)(X3,Y3)(X4,Y4)を取得できる。
次のステップS4では、用紙スキュー量及び用紙上端検出位置に基づき印刷開始位置(印刷エリアPAの先頭ラスタ位置)を計算する。
ここで、印刷開始位置の求め方を簡単に説明する。
図9は、Home側が先行するスキュー時の用紙と印刷エリアとを示し、図10は、Full桁側が先行するスキュー時における用紙と印刷エリアとを示すそれぞれ模式図である。同図では、縁なし印刷時に設定される印刷エリアPA(印刷データ領域)を示している。また、図9、図10においては、第1先端検出位置P3はFull桁側先端検出位置、第2先端検出位置P4はHome側先端検出位置と示している。
用紙Pのスキュー方向及びスキュー量は、光学センサ38により検出した検出位置P1(X1,Y1),P2(X2,Y2),P3(X3,Y3),P4(X4,Y4)の座標を用いて求めることができる。まずスキュー方向については、第1先端検出位置P3と第2先端検出位置P4のY座標値を比較し、Y3>Y4が成立すれば、Home側先行スキューと判定でき、一方、Y3<Y4が成立すれば、Full桁側先行スキューと判定できる。
縁なし印刷時は、用紙Pの外側に所定のはみ出し量ΔBが設定されて、用紙Pより広く印刷エリアPAが設定される。また、用紙Pの給紙中に紙検出センサ43が用紙Pの先端(上端)を検出した用紙上端検出位置P1sensorが取得される。この用紙上端検出位置P1sensorと、検出位置P1〜P4の座標値とを用いてスキューした用紙Pの最上端となる角端位置(用紙Pの搬送方向最も下流側に位置する角端位置)を計算し、この角端位置にはみ出し量を加えて印刷開始位置を計算する。
図9に示すように、Home側先行スキューのときは、Home側角端位置P1home(Home側コーナー)が用紙Pの最上端となる。一方、Full桁側先行スキューのときは、Full桁側角端位置P1full(Full桁側コーナー)が用紙Pの最上端となる。そして、縁なし印刷において、Home側先行スキューのときは、用紙PのHome側角端位置P1homeより所定のはみ出し量ΔBだけ搬送方向下流側(図9等では上側)となる位置を、印刷エリアPAの先頭ラスタ位置、すなわち、印刷開始位置YUstartとして求める。印刷開始位置YUstartは、インタレース印刷方式における上端処理の処理開始位置となる。
また、図10に示すように、Full桁側先行スキューのときは、Full桁側角端位置P1fullより所定のはみ出し量ΔBだけ搬送方向下流側となる位置を印刷エリアPAの先頭ラスタ位置、すなわち上端処理の処理開始位置である印刷開始位置YUstartとして求める。
この印刷開始位置YUstartの算出処理は、図12に示すフローチャートに従って行われる。印刷開始位置YUstart(図9,図10を参照)が決まると、ステップS5では、用紙の頭出しを行う。頭出し位置は、用紙Pのスキュー量にかかわらず、用紙Pに対して画像の内容(例えば画像の中心)が同じ位置(用紙の中心)に印刷されるように決定する。
次のステップS6では、印刷が終了したか否かを判断するが、印刷開始時であるので、ステップS7に進んで、印字動作を行う。すなわち、コントローラ51は、CRモータ18を駆動してキャリッジ14を主走査方向Xへ移動させつつその移動途中で記録ヘッド19のノズルからインク滴を噴射し、キャリッジ14が主走査方向Xに1回移動する1パス分の印刷を行う。1パスの印刷により、副走査方向Y(搬送方向)に所定のドット間隔を開けた複数本の主走査ラインが形成される。
ステップS8では、紙送りを行う。すなわち、コントローラ51は、PFモータ25を駆動させて要求送り量だけ用紙Pを搬送させる。そして、以後、印字動作(S7)と用紙送り(S8)とを繰り返すことで用紙Pへの印刷が進められる。この印刷過程の最初に、用紙Pに対して印刷開始位置YUstartから上端処理が実施され、次いで上端処理が終了すると、図7に示す通常のインタレース印刷処理に移行する。
ステップS9では、用紙下端を検出したか否かを判断する。コントローラ51が紙検出センサ43から入力する検出信号が紙ありから紙なしに切り換わり、用紙Pの後端が検出されると、次のステップS10において、用紙Pのスキュー量および用紙下端検出位置P2sensorに基づき最終ラスタ位置Ylastを計算する。
ここで、図9、図10に示すように、最終ラスタ位置Ylastとは、印刷エリアPAの最下端位置であり、用紙Pの最下端である角端位置P2full(図9)又はP2home(図10)に、縁なし印刷時に設定されるはみ出し量ΔBを加えた位置となる。
次のステップS11では、最終ラスタ位置Ylastにより下端処理開始位置YLstartを更新する。すなわち、最終ラスタ位置Ylastから、下端処理に必要な所定長さmだけ下流側の位置を、下端処理開始位置YLstartに設定する。ステップS11及びS12の演算は、図13に示すフローチャートに従って進められる。下端処理開始位置YLstartは、下端処理を開始する図8に示す処理開始位置Sに相当する。こうして下端処理開始位置YLstartが決まると、その後、PF位置カウンタ70の計数値が下端処理開始位置YLstartの値に達すると、図7に示す通常のインタレース印刷処理から図8に示す下端処理に移行する。そして、下端処理が終了すると、印刷終了(S6でYES)と判断され、排紙動作が行われる(S12)。
例えば下端処理開始位置YLstartが演算された際に、既にデータ構築部61がインタレース印刷処理用の印刷画像データを構築している場合が起こり得る。特に紙検出センサ43が位置するHome側とは反対側であるFull桁側が先行するスキューである場合、用紙下端検出位置P2sensorと下端処理開始位置YLstartとの搬送方向における距離が相対的に短くなるので、このような事態が発生しやすい。しかし、このような場合でも、データ構築部61は、インタレース印刷処理用に構築した印刷画像データを破棄して、下端処理用の印刷データを再構築する。
ここで、図9及び図10を用いて、下端処理開始位置の演算方法を説明する。
用紙下端検出位置P2sensorと、P1〜P4の座標とを用いてスキューしたときに最も最下流となる用紙Pの最下端を計算する。図9に示すように、Home側先行スキューのときは、Full桁側角端位置P2full(図9における用紙Pの右下コーナー)が用紙Pの最下端となる。一方、Full桁側先行スキューのときは、Home側角端位置P2home(Home側コーナー)が用紙Pの最下端となる。そして、縁なし印刷において、図9に示すHome側先行スキューのときは、用紙PのFull桁側角端位置P2fullより所定のはみ出し量ΔBだけ搬送方向上流側となる位置を印刷エリアPAの最終ラスタ位置Ylastとして求める。この最終ラスタ位置Ylastは、印刷終了位置となる。また、この最終ラスタ位置Ylastは、P2sensorにyを加えて求まるP2fullにさらに、はみ出し量ΔBを加えて求まる(Ylast=P2sensor+y+ΔB)。
また、縁なし印刷において、図10のようなFull桁側先行スキューのときは、Home側角端位置P2home(Home側コーナー)より所定のはみ出し量ΔBだけ搬送方向上流側となる位置を印刷エリアPAの最終ラスタ位置Ylastとして求める。この最終ラスタ位置Ylastは、P2sensorにyを加えて求まるP2homeにさらに、はみ出し量ΔBを加えて求まる(Ylast=P2sensor+y+ΔB)。
インタレース記録方式のときの下端処理開始位置YLstartは、最終ラスタ位置Ylastより搬送方向下流側に、下端処理に必要な所定の距離mとなる位置として求められる(YLstart=Ylast−m)。
ここで、用紙下端検出位置P2sensorと角端位置P2full又はP2homeとの搬送方向におけるずれ量であるyは、図9及び図10において、P1〜P4の座標から決まる値a,b,cを用いて、y=c×b/a として求まる。ここで、P2sensorの座標を、(X2sensor,Y2sensor)とする。
a=Full桁側先端検出位置X3−Home側先端検出位置X4であり、b=Home側先端検出位置Y4−Full桁側先端検出位置Y3である。cは、用紙下端検出位置P2sensorと角端位置P2full又はP2homeとのX方向における距離である。例えばHome側先行スキュー時には、図9に示すように、c=Full桁側用紙端検出位置X2full−用紙下端検出位置X2sensorで表される。また、Full桁側先行スキュー時には、図10に示すように、c=用紙下端検出位置X2sensor−Home側用紙端検出位置X2homeで表される。
なお、図9及び図10における用紙上端検出位置P1sensorと用紙下端検出位置P2sensorは、それぞれ紙検出センサ43が用紙Pの先端又は後端を検知したときのPF位置カウンタ70の計数値から取得するが、PF位置カウンタ70の計数値は基準位置(最上流ノズル位置)における値である。このため、実際にはPF位置カウンタ70の計数値に、紙検出センサ43と基準位置との間の距離Lorを加えて用いる。また、図9及び図10には、先頭ラスタ位置YUstartを求めるときに用いるc値については表記していないが、図9では、点P1homeと点P1sensorとのX方向における距離cであり、図10では、点P1fullと点P1sensorとのX方向における距離cである。なお、本実施形態では、ずれ量y又はb/a値が、スキュー量に相当する。
以上の演算方法に従って、図12に示すフローチャートでは、印刷開始位置YUstartを演算し、図13に示すフローチャートでは、下端処理開始位置YLstartを演算する。以下、図12及び図13に示す処理について説明する。まず図12の印刷開始位置YUstartを演算する処理を説明する。
ステップS21において、Home側先行のスキューであるか否かを判断する。すなわち、先端検出位置P3,P4のY座標の値Y3,Y4を比較し、Y3<Y4であれば、Home側先行スキューと判定する。Home側先行スキューであれば、図9において、角端位置P1home(X1home,Y1home)と、用紙上端検出位置P1sensor(X1sensor,Y1sensor)とのX座標の値の差で表される距離cを求める(c=X1sensor−X1home)。ここで、Home側角端位置P1homeは、P3,P4の二点を通る線分(y=a・x+b1)と、この線分の傾きと直角な傾き(−1/a)で、点P1を通る線分(y=−(1/a)x+b2)との交点のY座標の値として求める。もちろん、他の演算式により求めることもでき、例えばHome側角端位置P1homeは、用紙下端検出位置P2sensorとスキュー量とに基づく演算で求めてもよい。すなわち、光学センサ38による用紙Pの幅方向両端の検出位置P1,P2のうち一方(Home側の一方)から用紙Pの傾斜に沿った延長上の位置に先頭ラスタ位置が存在することを利用した演算式などである。
一方、Home側先行スキューでなかった場合は、ステップS23において、Full桁側先行スキューであるか否かを判断し、Full桁側先行スキューであった場合は、ステップS24において、Full桁側先行時の距離cを取得する。すなわち、Full桁側角端位置P1fullから用紙上端検出位置P1sensorとの間の距離cを演算する(c=X1full−X1sensor)。なお、Full桁側角端位置P1fullは、前述のHome側先行スキュー時の演算と同様の考え方で求める。
そして、距離cが決まると、ステップS26において、y=c×b/aを計算する。この結果、Home側先行のスキューの場合、図9に示すように、用紙上端検出位置P1sensorとHome側角端位置P1homeとの搬送方向(Y方向)における距離yが求まる。また、Full桁側先行のスキューの場合、図10に示すように、用紙上端検出位置P1sensorとFull桁側角端位置P1fullとの搬送方向における距離yが求まる。また、スキューがない場合は、y=0を設定する(S25)。
さらにステップS27において、先頭ラスタ位置YUstartを、式 YUstart=Y1sensor−y−ΔB により演算する。
次に下端処理開始位置YLstartの演算方法を説明する。
図13に示すように、ステップS31において、Home側先行スキューであるか否かを判断し、Home側先行スキューであれば(Y3>Y4)、ステップS32において、Home側先行時の距離cを計算する。すなわち、図10において、角端位置P2full(X2full,Y2full)と、用紙下端検出位置P2sensor(X2sensor,Y2sensor)とのX座標の値の差で表される距離cを求める(c=X1full−X2sensor)。
ここで、Full桁側角端位置P2fullは、P3,P4の二点を通る線分の傾きと同じ傾きAで、点P2sensorを通る一次式(y=A・x+b1)と、この線分の傾きと直角な傾き(−1/A)で、点P2を通る線分(y=−(1/A)x+b2)との交点の座標(X2full,Y2full)として求めることができる。
一方、Full桁側先行スキューであれば(S33でYES)、ステップS34において、Full桁側先行時の距離c(図10)を計算する。すなわち、図10において、Home側角端位置P2homeと用紙下端検出位置P2sensorとの間のX方向における距離cを演算する(c=X2sensor−X2home)。ここで、Home側角端位置P2homeの座標は、前述のHome側先行スキュー時の演算と同様の考え方で演算すればよい。また、スキューがなかった場合は、y=0を設定する(S35)。
そして、距離cが決まると、ステップS36において、y=c+b/aを計算する。
ステップS37では、最終ラスタ位置Ylastを、Ylast=Y2sensor+y+ΔB により算出する。すなわち、Home側先行スキュー(図9)では、最終ラスタ位置Ylastは、用紙下端検出位置P2sensorに距離yだけ上流側に位置するFull桁側角端位置P2fullから、はみ出し量ΔBだけ上流側に位置する値として求まる。また、Full桁側先行スキュー(図10)では、最終ラスタ位置Ylastは、用紙下端検出位置P2sensorに距離yだけ上流側に位置するHome側角端位置P2homeから、はみ出し量ΔBだけ上流側に位置する値として求まる。
そして、ステップS38において、下端処理開始位置YLstartを、YLstart=Ylast−m により算出する。下端処理開始位置YLstartは、図9及び図10に示すように、最終ラスタ位置Ylastを基準に、下端処理に必要な所定距離mだけ下流側の位置として求められる。
ここで、本実施形態においては、従来例で述べたように、スキュー時を想定してはみ出し量ΔBを多めに設定しておく必要はないので、はみ出し量ΔBは、必要最小限の比較的小さめな値に設定している。
図14(a)に示すように、用紙スキューがない場合も、図14(b),(c)に示すように、用紙スキューがある場合も、用紙の搬送方向において最も外側となる最上端と最下端からそれぞれ搬送方向外側へはみ出し量ΔBと等しい距離だけ離れた位置に印刷開始位置YUstartと、印刷終了位置Ylastが決まる。これに対して従来は、図14(a)に二点鎖線で示す範囲が印刷エリアであり、用紙スキューが発生しても縁なし印刷が確実に施されるように印刷エリアが広めに設定されていた。このため、本実施形態では、用紙スキューが発生していない場合、用紙Pの外側へ打ち捨てられるインク量を少なく済ませられる。これは、用紙スキュー量が少ないほど打ち捨てインク量が少なくなる。
また、図14では、印刷画像データに基づく画像エリアIAを破線で示している。印刷開始位置に頭出しする処理方法も可能ではあるが、本実施形態では、画像データと用紙Pとの位置関係が、用紙スキューにかかわらず常に一定になるように用紙Pを頭出しする。すなわち、先端検出位置P3,P4のX方向における中点M(用紙の上辺両端の中点)の座標(Xm,Ym)を求め、この中点MのY座標の値Ymと、記録ヘッド19の基準位置との搬送方向における位置関係が、印刷条件が同じであれば、スキュー量にかかわらず同じになる条件で頭出しを行う。このため、図14(a)〜(c)に示すように、用紙Pのスキュー量にかかわらず、画像が用紙に対して同じ位置に配置されるように印刷が施される。
この場合、印刷画像データは、用紙サイズに比べ大きめに形成されており、印刷画像データのうち印刷開始位置YUstartより下流側(図14では上側)にはみ出した部分は、このはみ出し部分に対応するノズルからのインク滴噴射を禁止すべく、マスク処理部62がはみ出し部分に対応するノズルに対応するマスク回路72に出力するマスク信号を生成する。このように印刷開始位置YUstartに応じて画像データにマスクをかける領域を決めることで、用紙Pに対する印刷エリアPAの先頭ラスタ位置を決定している。この結果、用紙Pのスキューの有無やスキュー量によらず、画像内容の所定箇所(例えば中心)が用紙Pの常に同じ位置(例えば中心)に印刷される。
なお、本実施形態においては、用紙Pの幅方向については、パス毎に光学センサ38が用紙の両端を検知し、その検知した両端から外側へ一定のはみ出し量ΔBとなるように、X方向における印刷エリアの範囲を調整しつつ印刷を進める。よって、用紙Pがスキューしても、用紙Pの幅方向外側への打ち捨て量は少なく抑えられる。
実施の形態は、上記に限定されるものではなく、以下のように変更してもよい。
(変形例1)図15に示すように、用紙Pの内側に印刷エリアPAが配置されて印刷エリアPAの外側に余白のある縁あり印刷にも適用できる。この場合、印刷開始位置YUstartと下端処理開始位置YLstartは、用紙Pの搬送方向上下端に規定の最小余白量ΔCminが確保されるように設定する。また、縁なし印刷時は、用紙Pの搬送方向最上端と最下端となる各角端位置を基準にしたが、縁あり印刷時は、用紙Pの搬送方向において用紙内側寄りの角端位置(Home側先行スキューでは角端位置P1full、角端位置P2home)を基準にする。そして、前記実施形態におけるはみ出し量ΔBが用紙Pの外側であるのに対して、余白量は用紙Pの内側に設定されるので、印刷開始位置YUstartと下端処理開始位置YLstartは、それぞれ式 YUstart=Y1sensor−y+ΔCmin、YLstart=Y2sensor+y−ΔCminで計算できる。なお、最小余白量ΔCminは、一定値でもよいし、設定余白量ΔCsの値に応じた可変の値、あるいはスキュー量に応じた可変の値でもよく、印刷エリアPAが用紙Pからはみ出さない限りにおいて適宜な値を設定してよい。例えば用紙Pの上端部又は下端部にそれぞれ形成される余白のX方向における平均余白量が、印刷条件で設定した設定余白量ΔCsに等しくなるように、最小余白量ΔCminをスキュー量に応じた可変な値に設定して、印刷開始位置YUstartや下端処理開始位置YLstartを決定してもよい。また、印刷エリアPAが用紙Pに内接するように印刷開始位置YUstartや下端処理開始位置YLstartを設定してもよい(この場合、ΔCmin<0ともなりうる)。このように印刷開始位置YUstartや下端処理開始位置YLstartを決める最小余白量は任意に設定してよいが、ターゲットにおいて流体噴射エリアの外側にできる余白の搬送方向における最小余白量ΔCminがプリンタドライバ81に印刷条件として設定した設定余白量ΔCs以下の値となるように処理開始位置を演算することが好ましい。また、スキューがあるときにも、スキューなしのときと同じ画像が全部印刷されるように最小余白量ΔCminを設定することが望ましい。
(変形例2)光学センサ38(紙幅センサ)がパスごとに検知する用紙Pの幅方向両端の紙端検出位置P1,P2の座標データをプロットしてそのプロットされた点群を結んだ線分の傾斜角からスキュー方向及びスキュー量を求めてもよい。また、縁あり印刷においても、印刷開始位置をマスク処理で決めることにより、スキュー量にかかわらず画像が用紙に対してほぼ同じ位置に印刷される構成も採用できる。
(変形例3)紙検出センサ43は、搬送駆動ローラ41Aと記録ヘッド19の間の領域に配置してもよく、さらに記録ヘッド19の下流側に配置してもよい。例えば紙検出センサが記録ヘッド19の下流側であっても、ターゲットを給送時に一旦紙検出センサの位置まで搬送すれば先端(上端)は検知でき、また上端検出位置に用紙長を加えて下端位置を求め、この下端位置を基準にスキュー量に応じた下端処理開始位置を決めることはできる。また、紙検出センサ43は、一個に限定されず複数個設けてもよく、例えば紙幅方向(主走査方向X)に複数個配置してもよい。この場合、複数個の紙検出センサ43により、ターゲットの傾斜状態(スキュー)を検出する構成も採用できる。つまり、端部検出手段と傾斜検出手段は、一部又は全部が兼用されても構わない。
(変形例4)印刷開始位置と下端処理開始位置のうち一方のみを採用する構成でもよい。例えば下端処理開始位置のみを採用してもよいし、印刷開始位置のみを採用してもよい。
(変形例5)上端処理開始位置(印刷開始位置)を決めた後、印刷開始位置から印刷(上端処理)を開始する方法として、印刷開始位置より上流側のデータをマスクする処理を採用したが、印刷エリアに合うように印刷開始位置に調整するために、用紙を頭出しする印刷開始位置で調整する方法を採用できる。この場合、印刷データのうちマスクされる部分を減らし、その分の印刷処理を早く進めることができ、用紙の搬送位置を変更するだけの搬送制御で対応できる。
(変形例6)印刷開始位置YUstartから印字が開始されるように、用紙Pの頭出し位置をスキューに応じて調整する構成も採用してよい。この構成であれば、マスク処理で印刷開始位置を調整する構成に比べ、マスク処理による印字開始遅れを回避できる。
(変形例7)前記各実施形態では、シリアル式インクジェットプリンタに適用したが、ラインヘッド型のインクジェットプリンタに適用してもよい。ラインプリンタの場合、用紙Pは一定速度で搬送されつつ、その搬送中の用紙Pに対してフルライン型の記録ヘッドからインク滴を噴射する構成をとる。ラインプリンタの場合、例えば紙幅方向に沿ってラインセンサを配置して、用紙の先端検出位置P3,P4ならびに紙幅方向両端の紙端検出位置P1,P2を検出できるようにする。
(変形例8)図11〜図13に示す処理を実行する主制御部54は、ソフトウェアのみにより構成されてもよいし、ハードウェアのみから構成されてもよいし、さらにソフトウェアとハードウェアの協働により実現されるものでもよい。
(変形例9)前記実施形態では、流体噴射装置をインクジェット式記録装置に具体化したが、この限りではなく、インク以外の他の流体(液体や、機能材料の粒子が液体に分散又は混合されてなる液状体、ゲルのような流状体、流体として流して噴射できる固体を含む)を噴射したり吐出したりする流体噴射装置に具体化することもできる。例えば、液晶ディスプレイ、EL(エレクトロルミネッセンス)ディスプレイ及び面発光ディスプレイの製造などに用いられる電極材や色材(画素材料)などの材料を分散または溶解のかたちで含む液状体を噴射する液状体噴射装置、バイオチップ製造に用いられる生体有機物を噴射する液体噴射装置、精密ピペットとして用いられ試料となる液体を噴射する液体噴射装置であってもよい。さらに、時計やカメラ等の精密機械にピンポイントで潤滑油を噴射する液体噴射装置、光通信素子等に用いられる微小半球レンズ(光学レンズ)などを形成するために紫外線硬化樹脂等の透明樹脂液を基板上に噴射する液体噴射装置、基板などをエッチングするために酸又はアルカリ等のエッチング液を噴射する液体噴射装置、ゲル(例えば物理ゲル)などの流状体を噴射する流状体噴射装置、トナーなどの粉体(粉粒体)を例とする固体を噴射する粉粒体噴射装置(例えばトナージェット式記録装置)であってもよい。そして、これらのうちいずれか一種の流体噴射装置に本発明を適用することができる。なお、本明細書において「流体」とは、気体のみからなる流体を含まない概念であり、流体には、例えば液体(無機溶剤、有機溶剤、溶液、液状樹脂、液状金属(金属融液)等を含む)、液状体、流状体、粉粒体(粒体、粉体を含む)などが含まれる。
11…記録装置(流体噴射装置)としてのプリンタ、14…キャリッジ、18…キャリッジモータ(CRモータ)、19…噴射手段としての記録ヘッド、20…プラテン、25…搬送モータ(PFモータ)、26…リニアエンコーダ、38…傾斜検出手段を構成する光学センサ、43…端部検出手段としての紙検出センサ、41A…搬送手段を構成する搬送駆動ローラ、41B…搬送手段を構成する搬送従動ローラ、42A…搬送手段を構成する排紙駆動ローラ、42B…搬送手段を構成する排紙従動ローラ、55…ヘッド駆動回路、56…CRモータ駆動回路、57…PFモータ駆動回路、54…制御手段を構成する主制御部、61…データ構築部、62…マスク手段を構成するマスク処理部、63…傾斜検出手段を構成するスキュー量演算部、64…演算手段としての印刷開始位置演算部、64…演算手段としての下端処理開始位置演算部、66…紙端検出走査制御部、67…キャリッジ制御部、68…搬送制御部、69…CR位置カウンタ、70…位置取得手段としてのPF位置カウンタ、72…マスク手段を構成するマスク回路、80…ホスト装置、81…プリンタドライバ、P…ターゲットとしての用紙、P1,P2…紙端検出位置、P3…第1先端検出位置、P4…第2先端検出位置、PA…流体噴射エリアとしての印刷エリア、ΔB…はみ出し量、ΔCmin…最小余白量、YUstart…処理開始位置及び噴射開始位置としての印刷開始位置、YLstart…処理開始位置としての下端処理開始位置、Ylast…噴射終了位置としての最終ラスタ位置。