(57)【要約】【課題】記録媒体が斜行しても、印刷処理を停止することなく傾きのない画像を記録媒体上に形成可能な、フルマルチヘッドのインクジェット記録装置を提供する。【解決手段】所定のノズル列を備えた記録ヘッドを複数連結したフルマルチヘッドのインクジェット記録装置において、各プロセッサが、記録媒体の搬送方向と交差する方向において印刷領域を複数に分割した処理領域を制御する、前記フルマルチヘッドに対応した複数のプロセッサと、搬送方向に対する前記記録媒体の斜行を検知する斜行検知手段と、前記各プロセッサの制御下で、前記斜行検知手段で検知された斜行の角度に応じて、前記記録媒体に対して傾きのない画像となるように前記処理領域の記録データを補正する記録データ補正手段と、を備えたことを特徴とする。【選択図】図７
2017071065.tif 000002
【特許請求の範囲】
【請求項１】
所定のノズル列を備えた記録ヘッドを複数連結したフルマルチヘッドのインクジェット記録装置において、
各プロセッサが、記録媒体の搬送方向と交差する方向において印刷領域を複数に分割した処理領域を制御する、前記フルマルチヘッドに対応した複数のプロセッサと、
搬送方向に対する前記記録媒体の斜行を検知する斜行検知手段と、
前記各プロセッサの制御下で、前記斜行検知手段で検知された斜行の角度に応じて、前記記録媒体に対して傾きのない画像となるように前記処理領域の記録データを補正する記録データ補正手段と、
を備えたことを特徴とするインクジェット記録装置。
【請求項２】
前記各プロセッサに割り当てられる処理領域の幅が、前記記録媒体の搬送において許容される最大の斜行角度に対応した幅であることを特徴とする請求項１に記載のインクジェット記録装置。
【請求項３】
前記記録データ補正手段は、
前記斜行検知手段で検知された斜行の角度に応じて前記記録データを構成するドットの位置をシフトさせた補正記録データを生成し、当該生成した補正記録データをバッファに記憶するシフト処理を行なうシフト処理手段と、
前記バッファから前記補正記録データを読み出して前記記録ヘッドへ送出する手段と、
を含むことを特徴とする請求項１又は２に記載のインクジェット記録装置。
【請求項４】
前記シフト処理手段は、ライン単位で読み出した前記記録データにおける各ドットの座標と、前記斜行検知手段で検知された斜行の角度とに基づいて、ノズル列方向及び搬送方向のシフト量をライン単位で導出して、前記補正記録データをライン単位で生成することを特徴とする請求項３に記載のインクジェット記録装置。
【請求項５】
前記フルマルチヘッドを構成する複数の記録ヘッドと、前記複数のプロセッサとは、１対１又は複数対１で対応することを特徴とする請求項１乃至４のいずれか１項に記載のインクジェット記録装置。
【請求項６】
前記各プロセッサに割り当てられる処理領域の幅が、前記最大の斜行角度に対応した幅よりも小さい場合において、
前記複数のプロセッサ間で通信するためのデータ通信手段をさらに備え、
前記各プロセッサは、前記シフト処理手段における補正記録データの生成において自身に割り当てられた処理領域を超えた分の補正記録データを、前記データ通信手段を介して隣接する他のプロセッサに転送する
こと特徴とする請求項３乃至５のいずれか１項に記載のインクジェット記録装置。
【請求項７】
前記記録データ補正手段における前記補正が、印刷処理に対して間に合うか否かを判定する判定手段をさらに有し、
前記判定手段で前記補正が印刷処理に対し間に合うと判定された場合に、前記記録データ補正手段が前記補正を行なう
ことを特徴とする請求項６に記載のインクジェット記録装置。  
【請求項８】
前記判定手段は、前記判定をライン単位で行ない、
前記記録データ補正手段は、前記補正をライン単位で行なう
ことを特徴とする請求項７に記載のインクジェット記録装置。
【請求項９】
前記判定手段は、前記シフト処理に要する時間と前記転送に要する時間との合計時間と、１ラインの記録に要する時間とを比較し、前記１ラインの記録に要する時間よりも前記合計時間の方が短かい場合に、前記補正が印刷に間に合うと判定することを特徴とする請求項８に記載のインクジェット記録装置。
【請求項１０】
前記判定手段は、前記判定を頁単位で行ない、
前記記録データ補正手段は、前記補正を頁単位で行なう
ことを特徴とする請求項７に記載のインクジェット記録装置。
【請求項１１】
前記判定手段は、１頁分の前記転送に要する時間と、１頁分の前記シフト処理に要する時間とを比較して大きい方の時間を前記補正に要する時間として決定し、当該決定した補正に要する時間と、前記斜行検知手段が斜行を検知してから記録を開始するまでの時間とを比較し、前記補正に要する時間の方が短かい場合に、前記補正が印刷に間に合うと判定することを特徴とする請求項１０に記載のインクジェット記録装置。
【請求項１２】
前記判定手段で前記補正が印刷処理に対し間に合わないと判定された場合、前記補正を行うことなく印刷処理を実行することを特徴とする請求項７乃至１１のいずれか１項に記載のインクジェット記録装置。
【請求項１３】
前記判定手段で前記補正が印刷処理に対し間に合わないと判定された場合、前記補正が間に合うよう前記記録媒体の搬送速度を遅くして印刷処理を実行することを特徴とする請求項７乃至１１のいずれか１項に記載のインクジェット記録装置。
【請求項１４】
所定のノズル列を備えた記録ヘッドを複数連結したフルマルチヘッドのインクジェット記録装置であって、各プロセッサが、記録媒体の搬送方向と交差する方向において印刷領域を複数に分割した処理領域を制御する、前記フルマルチヘッドに対応した複数のプロセッサを備えたインクジェット記録装置における記録方法であって、
搬送方向に対する前記記録媒体の斜行を検知する検知ステップと、
前記各プロセッサの制御下で、前記検知ステップで検知された斜行の角度に応じて、前記記録媒体に対して傾きのない画像となるように前記処理領域の記録データを補正するステップと、
前記補正された記録データを用いて前記記録媒体に記録を行なうステップと
を含むことを特徴と記録方法。
【請求項１５】
コンピュータを、請求項１乃至１３のいずれか１項に記載のインクジェット記録装置の一部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷用紙等の記録媒体にインクを吐出して記録を行うインクジェット記録装置に関し、特に、所定のノズル列を備えた記録ヘッドを複数連結したフルマルチヘッドのインクジェット記録装置に関するものである。
【背景技術】
【０００２】
記録ヘッドよりインクを吐出して記録を行うインクジェット記録装置の一つの形式として、ラインヘッド式のインクジェット記録装置が知られている。ラインヘッド式のインクジェット記録装置は、記録媒体（印刷用紙）の搬送方向と交差する方向に吐出口が配列されて形成された記録ヘッドを有している。そして、吐出口列の延びる方向と交差する方向に記録媒体を搬送しながら、記録ヘッドの吐出口から記録媒体にインクが吐出されて記録が行われる。このラインヘッド式のインクジェット記録装置は、記録ヘッドから一行分もしくは複数行分のインクが一度にまとめて吐出され、且つ、記録媒体を搬送しながらそれらが連続的に行われるため記録のスピードが速いという利点がある。
【０００３】
しかし、このようなラインヘッド式のインクジェット記録装置に使用される長尺な記録ヘッドの製造段階において、単一の基板に多数のノズルを高密度に一列に配列することは、技術面、コスト面において多くの困難を伴う。そのため、ラインヘッド式のインクジェット記録装置においては、つなぎ型ラインヘッド（以下、「フルマルチヘッド」と呼ぶ。）が用いられている。このフルマルチヘッドは、多数のノズルが高密度に配列された比較的短い短尺な記録ヘッド部を千鳥状に複数連結することによって長尺化されたラインヘッドとして構成されている。また、互いに異なる色の記録を行う複数のフルマルチヘッドを副走査方向に間隔を空けて配置した、いわゆるフルマルチ型のカラー記録装置があり、これによればカラー記録を高速に行うことを可能にしている（例えば、特許文献１を参照）。
【０００４】
また一方で、インクジェット記録装置においては、記録媒体が本来の搬送方向から斜め方向にずれてしまう、いわゆる斜行搬送が問題となっている。記録媒体が斜行すると、本来、ドット（画素）が形成されるべき位置からずれた位置にドットが形成されてしまい画質劣化につながることが知られている。そこで近年、斜行補正の技術に関する提案もいくつかなされている。斜行補正の技術としては例えば特許文献２が存在する。特許文献２では、記録媒体であるロール紙の搬送速度と、搬送方向に対するロール紙の斜行角度を検知し、検知した搬送速度と斜行角度に基づいて記録ヘッド間のインク吐出タイミングを制御することでドット位置ずれを補正している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−７６４１１号公報
【特許文献２】特開２００８−１０５３４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
記録媒体が斜行しても、印刷処理を停止することなく傾きのない画像を記録媒体上に形成可能な、フルマルチヘッドのインクジェット記録装置を提供する。
【課題を解決するための手段】
【０００７】
本発明に係るインクジェット記録装置は、所定のノズル列を備えた記録ヘッドを複数連結したフルマルチヘッドのインクジェット記録装置であって、各プロセッサが、記録媒体の搬送方向と交差する方向において印刷領域を複数に分割した処理領域を制御する、前記フルマルチヘッドに対応した複数のプロセッサと、搬送方向に対する前記記録媒体の斜行を検知する斜行検知手段と、前記各プロセッサの制御下で、前記斜行検知手段で検知された斜行の角度に応じて、前記記録媒体に対して傾きのない画像となるように前記処理領域の記録データを補正する記録データ補正手段と、を備えたことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、フルマルチヘッドのインクジェット記録装置において、記録媒体が斜行した場合でも印刷処理を停止することなく、傾きのない画像を記録媒体上に形成することができる。
【図面の簡単な説明】
【０００９】
【図１】実施例１に係る、インクジェット記録装置の構成の一例を示す図である。
【図２】斜行角度の検出方法を説明する図である。
【図３】実施例１に係る、各プロセッサの処理領域を模式的に表した図である。
【図４】実施例１に係る、斜行搬送によって各プロセッサの処理領域が傾いた状態を示す図である。
【図５】記録データのシフト量の導出方法を説明する図である。
【図６】実施例１に係る、記録データ補正部における処理の流れを説明したシーケンス図である。
【図７】実施例１に係る、印刷用紙の斜行搬送に応じてリアルタイムに斜行補正記録を行なう処理の流れを示すフローチャートである。
【図８】実施例２に係る、インクジェット記録装置の構成の一例を示す図である。
【図９】実施例２に係る、各プロセッサに設定される処理領域を模式的に表した図である。
【図１０】実施例２に係る、各プロセッサ処理領域と斜行角度との関係を模式的に表した図である。
【図１１】実施例２に係る、印刷用紙の斜行搬送に応じてリアルタイムに斜行補正記録を行う処理の流れを示すフローチャートである。
【図１２】実施例２に係る、斜行補正可否判定処理の詳細を示すフローチャートである。
【図１３】実施例２に係る、ライン単位のデータ転送処理の詳細を示すフローチャートである。
【図１４】データ転送要否判定処理の詳細を示すフローチャートである。
【図１５】実施例３に係る、印刷用紙の斜行検知から印刷開始までの間に、１頁分の斜行補正した記録データを用意して印刷処理を行う処理の流れを示すフローチャートである。
【図１６】実施例３に係る、斜行補正可否判定処理の詳細を示すフローチャートである。
【図１７】実施例３に係る、１頁分のデータ転送処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して、本発明を実施する形態について説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
［実施例１］
本実施例では、所定のノズル列を備えた記録ヘッドを４つ連結したフルマルチヘッドのインクジェット記録装置を例に説明を行なうものとする。本実施例では、４つの記録ヘッドにそれぞれ対応した４つのプロセッサを備え、印刷領域が短冊状に分割された所定領域の記録データを各プロセッサが制御するものとする。ただし、記録ヘッド及びプロセッサの数はこれに限定されるものではなく、４つよりも少ない数であってもよいし、４つよりも多い数であってもよい。
【００１２】
また、本実施例におけるインクジェット記録装置では、各プロセッサの処理領域の幅を各記録ヘッドの幅よりも広く設定している。そして、記録ヘッドの幅と等しい幅のノズルバッファに記録データを書き込む際に、記録ヘッドの幅から外れる領域の記録データはノズルバッファに書き込まずに除外することとする。以下、本実施例について図面を参照して詳細に説明する。
【００１３】
（インクジェット記録装置の構成）
図１は、本実施例に係るインクジェット記録装置の構成の一例を示す図である。インクジェット記録装置１００は、制御部１１０、記録データ補正部１２０、フルマルチヘッド部１３０、斜行検知部１４０で構成される。フルマルチヘッド部１３０は、４つの記録ヘッド（第１〜第４記録ヘッド）を互いにある所定の幅でオーバラップさせ、千鳥状に配置した構成となっている。ちなみに、各記録ヘッドを互いにオーバラップさせるのは、印刷の際、記録ヘッド同士のつなぎ目に起因した白スジや黒スジ等の特有な画質劣化を防止する「つなぎ補正」を行うためである。このつなぎ補正の内容に関しては本発明と直接関係は無いため、ここでは説明を省略する。
【００１４】
制御部１１０には、４つの記録ヘッド（第１〜第４記録ヘッド）にそれぞれ対応して、第１〜第４プロセッサ及び第１〜第４メモリが存在する。さらに制御部１１０には、１個の斜行検知部１４０が存在する。また、記録データ補正部１２０も同様に、第１〜第４記録ヘッドにそれぞれ対応して、第１〜第４シフト処理部、第１〜第４ノズルバッファ、第１〜第４ヘッドデータ送出部が存在する。なお、図１を含む添付の図面において、第１〜第４の各記録ヘッドは、記録ヘッド＃１、記録ヘッド＃２、記録ヘッド＃３、記録ヘッド＃４でそれぞれ示される。また、第１〜第４プロセッサは、プロセッサ＃１、プロセッサ＃２、プロセッサ＃３、プロセッサ＃４でそれぞれ示される。第１〜第４メモリは、メモリ＃１、メモリ＃２、メモリ＃３、メモリ＃４でそれぞれ示される。第１〜第４シフト処理部は、シフト処理部＃１、シフト処理部＃２、シフト処理部＃３、シフト処理部＃４でそれぞれ示される。第１〜第４ノズルバッファは、ノズルバッファ＃１、ノズルバッファ＃２、ノズルバッファ＃３、ノズルバッファ＃４でそれぞれ示される。第１〜第４ヘッドデータ送出部は、ヘッドデータ送出部＃１、ヘッドデータ送出部＃２、ヘッドデータ送出部＃３、ヘッドデータ送出部＃４でそれぞれ示される。
【００１５】
以下、第１記録ヘッドに対応する一群の構成（すなわち、第１プロセッサ、第１メモリ、第１シフト処理部、第１ノズルバッファ、第１ヘッドデータ送出部）を例として、各部の動作を説明する。
【００１６】
第１プロセッサは、印刷領域を搬送方向と交差する方向において複数に分割した領域（ここでは短冊状に４つに分割した領域）のうち第１の領域において、第１記録ヘッドで記録するデータの制御と管理を行う。この場合において第１の領域（第１プロセッサ処理領域）は、最大斜行角度に対応した幅に設定される。ここで、最大斜行角度とは、インクジェット記録装置１００の搬送機構（不図示）において、印刷用紙が斜行しても搬送機構内に詰まることなく搬送することが可能な、許容される最大の角度を指す。実際の搬送系のメカ構成（例えば、搬送経路にどれだけの遊びがあるかといった要因）に依存し、例えば予めテスト搬送を行なって紙詰まりを起すことなく搬送可能な角度を割り出すなどして決定される。第１プロセッサは、第１メモリに記録データを一旦格納し、当該第１メモリからライン単位で記録データを読み出し、次段の記録データ補正部１２０に記録データを送る。この際、ライン単位の記録データの幅は、上記処理領域の幅と等しいものとする。第１ノズルバッファは、第１記録ヘッドへ送る直前の記録データを一時記憶するためのメモリであり、その幅は第１記録ヘッドの幅と等しいものとする。ノズルバッファの詳細に関しては後述する。第１シフト処理部は、第１プロセッサからライン単位で送られてくる記録データの座標と、斜行検知部１４０から受け取った斜行角度の情報から、記録データのノズル列方向のシフト量と搬送方向のシフト量をそれぞれ導出する。シフト量の導出方法の詳細については後述する。さらに第１シフト処理部は、導出されたシフト量を第１ノズルバッファにおけるアドレス値に変換し、変換したアドレス値を元の記録データのアドレス値にオフセット付加する。こうして得られた記録データ（補正記録データ）が第１ノズルバッファへライン単位で書き込まれる。第１ヘッドデータ送出部は、第１ノズルバッファからライン単位で記録データを読み出し、第１記録ヘッドへデータの送出を行う。第２〜第４記録ヘッドにそれぞれ対応する一群の構成においても、同様の関係である。  
斜行検知部１４０は、印刷用紙が搬送方向に対して斜行した場合、その斜行を検知して斜行角度を検出する。この斜行検知部１４０は上述の第１〜第４のプロセッサのうちのいずれかの又は独立した不図示のプロセッサの下で制御される。本実施例では第１プロセッサの制御下で動作するものとして説明する。検出した斜行角度の情報は、上述の第１〜第４シフト処理部に送られる。図２は、斜行角度の検出方法を説明する図である。搬送系路上の所定の位置に、印刷用紙２００の両端を検知するためのフォトダイオード等のセンサ（２０１Ｌ、２０１Ｒ）がそれぞれ配置される。所定の位置としては、使用する印刷用紙サイズに合わせて固定位置としてもよいし、可動式の搬送用ガイドの両端に設けるなどにより可変としてもよい。そして、センサ２０１Ｌから得られるセンサ波形とセンサ２０１Ｒから得られるセンサ波形とから、左右の紙端がセンサを通過する時間差Ｔを求め、これにより斜行角度を得ることができる。ここで説明した斜行角度の検出方法は一例でありこれ限定されるものではなく、他の手法によってもよい。
【００１７】
続いて、第１〜第４の各プロセッサが担当する処理領域について詳しく説明する。図３は、本実施例における各プロセッサの処理領域を模式的に表した図である。図３において、両矢印３１０は、第１プロセッサ処理領域を示し、第１記録ヘッドの幅に対して片側（右側）のみ広く設定されている。これは、第１プロセッサが担当する処理領域は用紙端部の領域であることから、斜行した場合に第１記録ヘッドがない所まで、記録すべき画像がはみ出さないようにするためである。また、処理領域３１０内の破線の横線で示す矩形領域３１１は、第１シフト処理部が行なう捨て処理における捨て領域である。第１シフト処理部は、第１プロセッサ処理領域の記録データを第１ノズルバッファへ書き込む際に、座標変換後の記録データが第１記録ヘッドで対応可能な範囲内かどうかを判別している。そして、第１記録ヘッドで対応可能な分の記録データのみ第１ノズルバッファへ書き込みを行い、第１記録ヘッドで対応不可能な分の記録データは第１ノズルバッファへ書き込まない。この処理を捨て処理といい、第１プロセッサ処理領域に関しては、捨て領域３１１に相当する部分の記録データが捨て処理の対象となり、第１記録ヘッドでは記録されないことになる。
【００１８】
同様に、両矢印３２０は、第２プロセッサ処理領域を示し、第２記録ヘッドの幅に対して両側とも広く設定されている。また、処理領域３２０内の両端にある実線の斜線で示す矩形領域３２１は、第２シフト処理部が行なう上記捨て処理における捨て領域である。すなわち、第２プロセッサ処理領域に関しては、捨て領域３２１に相当する部分の記録データが捨て処理の対象となり、第２記録ヘッドで記録されないことになる。
【００１９】
同様に、両矢印３３０は、第３プロセッサの処理領域を示し、第３記録ヘッドの幅に対して両側とも広く設定されている。また、処理領域３３０内の両端にある破線の斜線で示す矩形領域３３１は、第３シフト処理部が行なう上記捨て処理における捨て領域である。すなわち、第３プロセッサ処理領域に関しては、捨て領域３３１に相当する部分の記録データが捨て処理の対象となり、第３記録ヘッドで記録されないことになる。
【００２０】
そして、両矢印３４０は、第４プロセッサの処理領域を示し、第４記録ヘッドの幅に対して片側（左側）のみ広く設定されている。これは、第４プロセッサが担当する処理領域は用紙端部の領域であり、斜行した場合に第４記録ヘッドがない所まで、記録すべき画像画がはみ出さないようにするためである。また、処理領域３４０内の斜め格子模様の矩形領域３４１は、第４シフト処理部が行なう上記捨て処理における捨て領域である。すなわち、第４プロセッサ処理領域に関しては、捨て領域３４１に相当する部分の記録データが捨て処理の対象となり、第４記録ヘッドで記録されないことになる。
【００２１】
また、図３においてグレーで示す矩形領域３５０は、第１記録ヘッドと第２記録ヘッドとがオーバラップする、つなぎ補正領域としてのヘッドオーバラップ領域である。同様に、グレーで示す矩形領域３６０は第２記録ヘッドと第３記録ヘッドとのヘッドオーバラップ領域であり、グレーで示す矩形領域３７０は、第３記録ヘッドと第４記録ヘッドとのヘッドオーバラップ領域である。
【００２２】
上述のとおり、第１〜第４の各プロセッサ処理領域は互いに所定の幅でオーバラップしているが、その量（幅）は、第１〜第４記録ヘッドのオーバラップ量とは異なり、本実施例では以下の関係にあるものとする。  
処理領域のオーバラップ量  ＞  記録ヘッドのオーバラップ量
【００２３】
図４は、本実施例における第１〜第４の各プロセッサに設定される処理領域を説明する図であり、本実施例における各プロセッサ処理領域は最大斜行角度に対応するように設定される。図４において、破線部分は、印刷用紙が斜行搬送されたことにより斜めになった状態の各プロセッサ処理領域を示している。斜めになった第１プロセッサの処理領域３１０’においては、斜行搬送によって斜めになった処理領域の角部Ｉと角部Ｊが、第１記録ヘッドの端部までの範囲に収まっていれば斜行補正を行う。このように、処理領域３１０’は、最大斜行角度４１０の範囲内であれば対応可能なように設定される。また、三角形領域３１１’は捨て領域として捨て処理される部分である。
【００２４】
同様に、第２プロセッサの処理領域３２０’においては、斜行搬送によって斜めになった処理領域の角部Ｅと角部Ｋが、第２記録ヘッドの端部までの範囲に収まっていれば斜行補正を行う。処理領域３２０’も、最大斜行角度４１０の範囲内であれば対応可能なように設定される。また、三角形領域３２１’は捨て領域として捨て処理される部分である。
【００２５】
同様に、第３プロセッサの処理領域３３０’においては、斜行搬送によって斜めになった処理領域の角部Ｆと角部Ｌが、第３記録ヘッドの端部までの範囲に収まっていれば斜行補正を行う。処理領域３３０’も、最大斜行角度４１０の範囲内であれば対応可能なように設定される。また、三角形領域３３１’は捨て領域として捨て処理される部分である。
【００２６】
そして、第４プロセッサの処理領域３４０’においては、斜行搬送によって斜めになった処理領域の角部Ｇと角部Ｈが、第４記録ヘッドの端部までの範囲に収まっていれば斜行補正を行う。第４プロセッサ処理領域３４０’も、最大斜行角度４１０の範囲内であれば対応可能なように設定される。また、三角形領域３４１’が捨て領域として捨て処理される部分である。
【００２７】
続いて、斜行補正時における、シフト量の導出方法について説明する。シフト量の導出は、第１〜第４シフト処理部において、各プロセッサからライン単位で送られてくる記録データの座標と斜行検知部１４０から送られてくる斜行角度の情報とに基づいてなされる。以下に述べる導出方法の場合、印刷処理に対して非常に短い処理時間で済むため、印刷処理を停止させずにリアルタイムで斜行補正を行うことが可能となる。図５は、記録データのシフト量の導出方法を説明する図である。図５において、実線の矩形５００は、斜行することなく正常に搬送された真っ直ぐな状態での印刷用紙（以下、正常搬送用紙）を示している。そして、破線の矩形５１０は、斜行して搬送され斜めに傾いた状態の印刷用紙（斜行搬送用紙）を示している。この斜行搬送時の角度をθとすると、斜行搬送用紙５１０は、正常搬送用紙５００の中心点を軸にしてθの角度で反時計方向に回転したことになる。よって、本来であれば正常搬送用紙５００上に記録されるはずの記録データが、斜行搬送用紙５１０上の角度θで反時計方向に回転した位置に記録されることになる。すなわち、正常搬送用紙５００上のある記録データをＡとし、この記録データＡの座標を（x, y）とすると、斜行角度θで搬送されたことで、記録データＡは記録データＡ’として座標（x’，y’）の位置に記録されることになる。この時の記録データＡ’の座標（x’，y’）は、以下の式（１）で表すことができる。
【００２８】
【数１】
2017071065.tif 000003
【００２９】
上記式（１）を解くと、記録データＡ’の座標（x’，y’）はそれぞれ以下のようになる。  
x’= x*cosθ - y*sinθ
y’= x*sinθ + y*cosθ
【００３０】
そして、記録データのシフト量は、ノズル列方向及び搬送方向のそれぞれについて、元座標と新座標の差から求めることができ、それぞれ式（２）と式（３）で表すことができる。  
ノズル列方向のシフト量  ＝ x’- x    ・・・式（２）
搬送方向のシフト量    ＝ y’- y      ・・・式（３）
【００３１】
このようにして、第１〜第４の各シフト処理部は、記録データの座標と斜行検知部１４０から受け取った斜行角度情報とに基づいて、記録データのノズル列方向へのシフト量と搬送方向へのシフト量をそれぞれ導出する。導出したシフト量はノズルバッファにおけるアドレス値に変換され、変換したアドレス値が元の記録データのアドレス値にオフセット付加される。
【００３２】
図６は、本実施例の記録データ補正部１２０における処理の流れを説明したシーケンス図である。ここでは、４ドット×４ドットの記録データを８つのノズルを有した記録ヘッドで記録を行うことを前提に、斜行補正を行うケースを例に説明を行なうものとする。そして、記録データを格納するメモリの幅はプロセッサ処理領域の幅と等しいものとする。また、ノズルバッファの幅は記録ヘッドの幅と等しいものとする。さらに、ノズルバッファは最大斜行に対応可能な縦方向の長さ（縦幅）があるものとする。記録ヘッドのノズルから吐出されるインク滴の一つを１ドットとすると、メモリには４ドット×４ドットの記録データが格納されていることになる。図６に示されるように、記録データ補正部１２０では、以下に示す１）〜４）の順にライン単位で処理が進行する。  
１）メモリから１ライン分の記録データ（ラインデータ）が入力
２）入力されたラインデータからシフト量を導出
３）導出したシフト量を反映した１ライン分の記録データ（補正記録データ）をノズルバッファへ格納
４）記録ヘッドへ１ライン分の記録データを送出
以下、１ライン目〜４ライン目における各処理を時系列で説明する。
【００３３】
＜１ライン目＞
まず、メモリから１ライン目のデータ（00,01,02,03）が読み出される。次に、読み出されたラインデータ（00,01,02,03）における各ドットデータの座標と、斜行検知部１４０から受け取った斜行角度情報から、ノズル列方向のシフト量と搬送方向のシフト量をそれぞれ求める。ここで、求めたシフト量を（ノズル列方向のシフト量, 搬送方向のシフト量）で表すこととする。すると、各ドットデータのシフト量は以下のようになる（ここでは説明の便宜上、ノズル列方向へのシフト量をゼロとしている。）。  
ドットデータ「00」のシフト量：（0, 0）
ドットデータ「01」のシフト量：（0, +1）
ドットデータ「02」のシフト量：（0, +2）
ドットデータ「03」のシフト量：（0, +3）
【００３４】
そして、求めたシフト量をノズルバッファにおけるアドレス値に変換する。ここでは、シフト量が“1”のときアドレス値が“1”変化するものとする。そして、変換したアドレス値を元の各ドットデータのアドレス値にオフセット付加して、各ドットデータをノズルバッファに書き込む。例えば、ドットデータ「01」については、ノズル列方向のシフト量に変化はないが、搬送方向のシフト量が“+1”であるため、搬送方向にアドレス値“1”がオフセット付加される。同様に、ドットデータ「02」については、ノズル列方向のシフト量に変化はないが、搬送方向のシフト量が“+2”であるため、搬送方向にアドレス値“2”がオフセット付加される。同様に、ドットデータ「03」については、ノズル列方向のシフト量に変化はないが、搬送方向のシフト量が“+3”であるため、搬送方向にアドレス値３がオフセット付加される。図６では、シフト量が反映された各ドットデータが「00’，01’，02’，03’」で示されている。シフト量がラインデータに反映された結果、ノズルバッファには、搬送方向のシフト量に応じてアドレス値が搬送方向に1個ずつずれた１ライン分の記録データ（補正記録データ）が格納されることになる。そして、ヘッドデータ送出部によって、ノズルバッファからライン単位で記録データが読み出され、記録ヘッドに１ライン分のデータ（ヘッドデータ）６０１が送出される。
【００３５】
＜２ライン目＞
次に、メモリから２ライン目のデータ（10,11,12,13）が読み出される。そして、読み出されたラインデータ（10,11,12,13）について、１ライン目と同様にノズル列方向のシフト量と搬送方向のシフト量をそれぞれ求める。各ドットデータのシフト量は以下のようになる。  
ドットデータ「10」のシフト量：（0,0）
ドットデータ「11」のシフト量：（0,+1）
ドットデータ「12」のシフト量：（0,+2）
ドットデータ「13」のシフト量：（0,+3）
【００３６】
そして、求めたシフト量をノズルバッファにおけるアドレス値に変換し、変換したアドレス値を元の各ドットデータのアドレス値にオフセット付加して、各ドットデータをノズルバッファへ書き込む。図６では、シフト量が反映された各ドットデータが「10’，11’，12’，13’」で示されている。そして、ヘッドデータ送出部によって、ノズルバッファからライン単位で記録データが読み出され、記録ヘッドに１ライン分のデータ（ヘッドデータ）６０２が送出される。
【００３７】
＜３ライン目＞
次に、メモリから３ライン目のデータ（20,21,22,23）が読み出される。そして、読み出されたラインデータ（20,21,22,23）について、１〜２ライン目と同様にノズル列方向のシフト量と搬送方向のシフト量をそれぞれ求める。各ドットデータのシフト量は以下のようになる。  
ドットデータ「20」のシフト量：（0,0）
ドットデータ「21」のシフト量：（0,+1）
ドットデータ「22」のシフト量：（0,+2）
ドットデータ「23」のシフト量：（0,+3）
【００３８】
そして、求めたシフト量をノズルバッファにおけるアドレス値に変換し、変換したアドレス値を元の各ドットデータのアドレス値にオフセット付加して、各ドットデータをノズルバッファへ書き込む。図６では、シフト量が反映された各ドットデータが「20’，21’，22’，23’」で示されている。そして、ヘッドデータ送出部によって、ノズルバッファからライン単位で記録データが読み出され、記録ヘッドに１ライン分のデータ（ヘッドデータ）６０３が送出される。
【００３９】
＜４ライン目＞
次に、メモリから４ライン目のデータ（30,31,32,33）が読み出される。そして、読み出されたラインデータ（30,31,32,33）について、１〜３ライン目と同様にノズル列方向のシフト量と搬送方向のシフト量をそれぞれ求める。各ドットデータのシフト量は以下のようになる。  
ドットデータ「30」のシフト量：（0,0）
ドットデータ「31」のシフト量：（0,+1）
ドットデータ「32」のシフト量：（0,+2）
ドットデータ「33」のシフト量：（0,+3）
【００４０】
そして、求めたシフト量をノズルバッファにおけるアドレス値に変換し、変換したアドレス値を元の各ドットデータのアドレス値にオフセット付加して、各ドットデータをノズルバッファへ書き込む。図６では、シフト量が反映された各ドットデータが「30’，31’，32’，33’」で示されている。そして、ヘッドデータ送出部によって、ノズルバッファからライン単位で記録データが読み出され、記録ヘッドに１ライン分のデータ（ヘッドデータ）６０４が送出される。
【００４１】
この後は、メモリ内に記録データは残っていないため、メモリからのラインデータの読み出しとシフト量の導出処理はスキップし、ノズルバッファに残っているドットデータがライン単位で記録ヘッドへ順次送られる。そして、ノズルバッファ内のドットデータが全て記録ヘッドに送られると終了する。
【００４２】
図７は、本実施例に係る、印刷用紙の斜行搬送に応じてリアルタイムに斜行補正記録を行なう処理の流れを示すフローチャートである。以下の一連の処理は不図示のＲＯＭ等に格納されたプログラムに基づいて実行される。各プロセッサは、自身に割り当てられた処理領域の記録データを対象として以下の各ステップの処理を実行する。なお、斜行検知部１４０は、第１〜第４のいずれかのプロセッサの制御下に置かれているものとする。
【００４３】
ステップ７０１では、斜行検知部１４０のセンサによって、印刷用紙の端部が検知される。
【００４４】
ステップ７０２では、印刷用紙の両端が上記センサを通過する際の時間差に基づいて、斜行の有無が判定される。斜行しているかどうかの判別には、実際に使用する印刷用紙を用いたテスト搬送などによって予め決定した閾値を用いるなどすればよい。斜行していると判定されれば、ステップ７０３へ進む。一方、斜行していないと判定されれば、斜行補正を伴わない通常の印刷処理を実行するべくステップ７１０へ進む。斜行なしと判定された場合、１ライン分の記録データの入力（ステップ７１０）と、当該記録データの記録ヘッドへの送出（ステップ７１１）が、全ラインについて完了するまで繰り返される（ステップ７１２）。
【００４５】
ステップ７０３では、検知された斜行の角度が、前述したような手法によって求められる。求めた斜行角度の情報は、各シフト処理部に送られる。以下の各ステップについては、第１プロセッサの制御下にある各部を例に説明を行なうものとする。
【００４６】
ステップ７０４では、斜行角度情報に基づいて、検出された斜行角度が前述の最大許容斜行角度の範囲内であるか否かが判定される。検出された斜行角度が最大許容斜行角度の範囲内であればステップ７０５へ進む。一方、検出された斜行角度が最大許容斜行角度の範囲を超えている場合は、エラー処理を行なうべくステップ７１３へ進む。すなわち、ステップ７１３では、例えばエラーメッセージを不図示の表示手段に表示するなどの方法により、許容範囲を超えて印刷用紙が傾いている旨がユーザに通知される。そして、続くステップ７１４で、印刷用紙の排紙処理（印刷用紙をそのまま排出或いは排出困難な程度の斜行であれば搬送停止など）が実行される。
【００４７】
ステップ７０５では、第１メモリからライン単位で記録データが入力される。
【００４８】
ステップ７０６では、第１シフト処理部において、入力された１ライン分の記録データ（ラインデータ）の座標と、斜行検知部１４０からの斜行角度情報とに基づいて、該ラインデータのノズル列方向のシフト量と搬送方向のシフト量がそれぞれ導出される。
【００４９】
ステップ７０７では、導出されたシフト量を反映した１ライン分の記録データ（補正記録データ）が、第１ノズルバッファへ格納される。
【００５０】
ステップ７０８では、第１ノズルバッファからライン単位で記録データが読み出され、第１記録ヘッドに送出される。そして、第１記録ヘッドにおいて、入力された記録データに従った画像が記録媒体上に形成される。
【００５１】
ステップ７０９では、全ライン分の処理が完了したか否かが判定される。全ライン分の処理が完了している場合は本処理を終える。一方、未処理のラインがある場合は、ステップ７０５に戻って次のラインが処理される。
【００５２】
以上が、本実施例に係る、印刷用紙の斜行に応じてリアルタイムに斜行補正を行ないつつ記録を行なう処理の内容である。
【００５３】
なお、斜行検知部１４０が制御下にない他のプロセッサでは、ステップ７０２及び７０４での判定結果を、斜行検知部１４０を制御下に置くプロセッサから受け取って、それぞれの処理領域の記録データを対象としてステップ７０５以降の処理を実行する。仮に、斜行検知部１４０が第１〜４プロセッサとは独立したプロセッサの下で制御される場合は、ステップ７０１〜７０４までの処理が別個に実行される。そして、その処理結果を第１〜第４の各プロセッサが受け取って、それぞれの処理領域の記録データを対象としてステップ７０５以降の処理を実行することになる。
【００５４】
本実施例では各記録ヘッドに１対１でプロセッサを設けているが、複数の記録ヘッドに対して１個のプロセッサを設けてもよい。例えば、フルマルチヘッドを全２０個の記録ヘッドで構成し、それに対してプロセッサを５個設け、各プロセッサが４個の記録ヘッドを制御・管理するといった構成でもよい。この場合、各プロセッサに割り当てられる処理領域は、自己の制御下に置く計４個の記録ヘッドの集まりを本実施例における１個の記録ヘッドとして扱って、適宜設定すればよい。
【００５５】
以上のとおり、本実施例のインクジェット記録装置は、フルマルチヘッドを構成する複数の記録ヘッドに、１対１（或いは複数対１）で対応した複数のプロセッサを設け、各プロセッサが、短冊状に分割された所定領域の記録データを制御・管理する。そして、記録媒体が斜行搬送された場合でも、リアルタイムな斜行補正（斜行角度に合わせた記録データのシフト制御）を行うことで、印刷処理を停止させることなく、記録媒体に対して真っ直ぐな画像を得ることができる。
【００５６】
［実施例２］
実施例１では、許容される印刷用紙の最大斜行角度に対応した処理領域を各プロセッサに割り当てていた。これにより、印刷用紙が搬送方向に対して斜行した場合でも、各プロセッサが、自身に設定された処理領域の範囲内で斜行補正記録を行なうことを可能にしていた。次に、各プロセッサに割り当てる処理領域を、最大斜行角度に対応した処理領域よりも小さくする態様について、実施例２として説明する。なお、実施例１と基本的な構成（記録ヘッドとプロセッサの数は実施例１と同様に各４つ）は共通するものとし、以下では実施例１との差異点を中心に説明するものとする。
【００５７】
図８は、本実施例に係る、インクジェット記録装置の構成の一例を示す図である。図１で示した実施例１の構成と比較すると、制御部１１０’内に、第１〜第４のデータ通信部と、斜行補正記録の可否を判定する補正可否判定部８００とを有している点が異なっている。その他の構成は実施例１と同じである。図８において、第１〜第４の各データ通信部は、データ通信部＃１、データ通信部＃２、データ通信部＃３、データ通信部＃４でそれぞれ示される。
【００５８】
第１〜第４データ通信部は、第１〜第４の各プロセッサ処理領域が扱う記録データ等の送受信を行い、隣接するプロセッサ間でデータを相互受信可能な構成となっている。
【００５９】
補正可否判定部８００は、第１〜第４のいずれかのプロセッサ（或いは独立したプロセッサ）の制御下で、斜行補正に要する処理が、印刷処理速度に対して間に合うか否かを判定する処理を行なう。ライン単位で斜行補正を行なう場合は、ライン単位で常に以下の関係が成り立たなければならない。
１ラインの記録に要する時間  ＞  １ラインの斜行補正に要する時間
【００６０】
記録ヘッドが１ラインを記録するのに要する時間（Ｎライン目の記録開始からＮ＋１ライン目の記録開始までの時間：１ライン記録時間）は、カラー／モノクロ、解像度、印刷用紙のサイズや種類といった印刷設定によって一意に決まる。条件に拠るが、通常は数μsec〜数msec程度である。また、１ラインの斜行補正に要する時間は、１ライン単位での、シフト量を導出して補正記録データを生成する処理に要する時間（シフト処理時間）と、隣接するプロセッサへの記録データの転送に要する時間（データ転送時間）で決まる。ここで、シフト処理時間はどのラインでも共通（一定の処理性能で行われる）とすると、データ転送時間が長いラインほど斜行補正に要する時間が大きくなることになる。補正可否判定部８００は、データ転送時間をライン単位で各シフト処理部から取得し、予め一意に定まる１ライン記録時間とシフト処理時間とから、斜行補正が印刷に間に合うか否かを判定する。本実施例では、各シフト処理部がライン単位でデータ転送時間を導出する構成としているが、補正可否判定部８００で行なうようにしてもよい。
【００６１】
図９は、本実施例において第１〜第４の各プロセッサに設定される処理領域を模式的に表した図である。両矢印９１０で示す第１プロセッサ処理領域は、頁全体の印刷領域を短冊状に４つに分割した領域のうち、第１プロセッサに割り当てられる処理領域である。実施例１と同様、第１プロセッサで処理された記録データは第１記録ヘッドによって記録される。第２〜第４の各プロセッサ処理領域（参照符号９２０〜９４０）についても同様である。そして、第１〜第４の各プロセッサ処理領域（９１０、９２０、９３０、９４０）からヘッドオーバラップ領域（３５０、３６０、３７０）を除いた領域をそれぞれ第１〜第４専属処理領域（９１１、９２１、９３１、９４１）とする。また、第１〜第４の各記録ヘッドの幅からヘッドオーバラップ領域（３５０、３６０、３７０）を除いた領域をそれぞれ第１〜第４専属ヘッド領域（９１２、９２２、９３２、９４２）とする。
【００６２】
実施例１では、
処理領域のオーバラップ量  ＞  記録ヘッドのオーバラップ量
とし、印刷用紙の最大斜行角度に対応した処理領域を各プロセッサに割当てていた。
【００６３】
本実施例では、
処理領域のオーバラップ量  ≧  記録ヘッドのオーバラップ量
とし、各プロセッサに割り当てる処理領域を最大斜行角度に対応した処理領域よりも小さくしている。図９で示す例は、処理領域のオーバラップ量と記録ヘッドのオーバラップ量とを同じにしたケースであり、
処理領域のオーバラップ量  ＝  記録ヘッドのオーバラップ量  ＝  つなぎ補正領域幅
となっている。
【００６４】
図１０（ａ）は、本実施例の各プロセッサ処理領域と斜行角度との関係を模式的に表した図である。上述のとおり本実施例では、プロセッサ処理領域のオーバラップ量を最大斜行角度に対応した処理領域に比べて小さく設定している。そのため、印刷用紙の斜行に応じて斜行補正を行なうと、対応する記録ヘッドを超えてしまい記録できない領域が出てきてしまう。以下、第１プロセッサ処理領域と第２プロセッサ処理領域との境界を例に説明する。
【００６５】
図１０（ａ）において、斜めになった第１プロセッサ領域９１０’内の右下隅の斜線で示す三角形領域１００１は、第１プロセッサだけが記録データを持っている領域である。この三角形領域１００１に関しては、印刷用紙が斜行していない場合は、第１プロセッサの制御下で第１記録ヘッドによって記録が行なわれる。しかし、印刷用紙の斜行によってノズル列方向にずれが生じると、当該三角形領域１００１を斜行補正記録するには、第１記録ヘッドだけでは記録できず、第２記録ヘッドでの記録が必要となる。そのため、第１データ通信部を介して第２プロセッサに領域１００１の記録データを転送する必要がある。同様に、斜めになった第２プロセッサ領域９２０’内の左上隅の斜線で示す三角形領域１００２は、第２プロセッサだけが記録データを持っている領域であり、印刷用紙が斜行していない場合は、第２プロセッサの制御下で第２記録ヘッドによって記録が行なわれる。しかし、印刷用紙の斜行によってノズル列方向にずれが生じると、当該三角形領域１００２を斜行補正記録するには、第２記録ヘッドだけでは記録できず、第１記録ヘッドでの記録が必要となる。そのため、第２データ通信部を介して第１プロセッサに三角形領域１００２の記録データを転送する必要がある。
【００６６】
そして同様に、第２プロセッサ処理領域と第３プロセッサ処理領域との境界では、三角形領域１００３及び１００４を斜行補正記録するために、第２プロセッサと第３プロセッサとの間で記録データの相互転送が必要となる。すなわち、三角形領域１００３は第２プロセッサから第３プロセッサに向けてデータ転送される領域であり、三角形領域１００４は第３プロセッサから第２プロセッサに向けてデータ転送される領域である。
【００６７】
また、第３プロセッサ処理領域と第４プロセッサ処理領域との境界では、三角形領域１００５及び１００６を斜行補正記録するために、第３プロセッサと第４プロセッサとの間で記録データの相互転送が必要となる。すなわち、三角形領域１００５は第３プロセッサから第４プロセッサに向けてデータ転送される領域であり、三角形領域１００６は第４プロセッサから第３プロセッサに向けてデータ転送される領域である。
【００６８】
なお、本実施例では、つなぎ補正を考慮して、隣のプロセッサにデータ転送する領域の中にヘッドオーバラップ領域を含めているが、含めないようにしてもよい。すなわち、自プロセッサでは物理的に処理不可能な領域のみを、隣のプロセッサへのデータ転送領域としてもよい。
【００６９】
実施例１と本実施例の関係を整理すると以下のとおりである。
【００７０】
まず、図９に示すように処理領域のオーバラップ量を記録ヘッドのオーバラップ量と同じに設定した場合、少しでも印刷用紙が斜行すると上述のようなデータ転送領域１００１〜１００６が発生する。一方、処理領域のオーバラップ量を記録ヘッドのオーバラップ量より大きく設定した場合は、印刷用紙の斜行角度によってデータ転送が必要になったりならなかったりする。そして、図３に示すように、処理領域のオーバラップ量を最大斜行角度に対応するまで、記録ヘッドのオーバラップ量より大きく設定すると、データ転送は必要なくなる。
【００７１】
図１１は、本実施例に係る、印刷用紙の斜行搬送に応じてリアルタイムに斜行補正記録を行う処理の流れを示すフローチャートである。以下の一連の処理は不図示のＲＯＭ等に格納されたプログラムに基づいて実行される。各プロセッサは、自身に割り当てられた処理領域の記録データを対象として以下の各ステップの処理を実行する。なお、斜行検知部１４０及び補正可否判定部８００は、実施例１と同様、第１〜第４のいずれかのプロセッサの制御下に置かれているものとする。
【００７２】
ステップ１１０１〜１１０４は、それぞれ実施例１に係る図７のステップ７０１〜７０４に相当する。すなわち、搬送されてきた印刷用紙の端部が検知され（Ｓ１１０１）、印刷用紙の両端がセンサを通過する際の時間差に基づいて斜行の有無が判定され（Ｓ１１０２）、斜行があれば検知された斜行角度が検出される（Ｓ１１０３）。そして、検出された斜行角度が最大許容斜行角度の範囲内であるか否かが判定され（Ｓ１１０４）、最大許容斜行角度の範囲内であればステップ１１０５へ進む。一方、検出された斜行角度が最大許容斜行角度の範囲を超えている場合は、ステップ１１１６へ進み、エラー処理がなされる。
【００７３】
ステップ１１０５では、補正可否判定部８００において、印刷速度に対して斜行補正が間に合うか否かが判定される。図１２は、本実施例の斜行補正可否判定処理の詳細を示すフローチャートである。
【００７４】
ステップ１２０１では、隣のプロセッサへのデータ転送（隣のノズルバッファへの一部記録データの格納）を必要とするか否かが判定される。データ転送の要否を判定する処理の詳細については後述する。
【００７５】
ステップ１２０２では、データ転送要否判定処理の結果に応じて処理の切り分けがなされる。データ転送が必要と判定された場合は、ステップ１２０３へ進む。一方、データ転送が不要と判定された場合は、ステップ１２０５へ進む。
【００７６】
ステップ１２０３では、隣のプロセッサへ転送するデータ量の最大サイズを導出する。図１０（ｂ）は、前述の図１０（ａ）の一部を拡大した図である。以下、図１０（ａ）及び（ｂ）を参照しつつ、転送データの最大サイズの導出方法を説明する。図１０（ａ）から明らかなように、転送データのサイズが最大となるのは、斜行補正を行なう前の先頭ラインまたは最終ラインのどちらかである。図１０（ｂ）において、両矢印１０２０の長さから転送領域１００２の最終ラインのドット数が判明し、転送データのサイズが求まる。ここで、ドット位置１０１０の座標を（x, y）、ドット位置１０１０’の座標を（x’, y’）、斜行角度をθとすると、両矢印１０２０の長さは、（x’- x）／cosθで求めることができる。１ドットが８ビットであれば、１ドット＝1byteとなり、ドット数がそのままデータサイズとなる（byte単位）。転送領域１００１における先頭ラインの転送データサイズも同様の方法で求められる。なお、両端にある第１プロセッサ処理領域及び第２プロセッサ処理省域については、斜行の向きによって、先頭ラインか最終ラインのどちらか一方を求めればよい。すなわち、図１０（ａ）のように反時計方向に回転している場合であれば、第１プロセッサ処理領域については先頭ラインの転送データサイズを、第３プロセッサ処理領域については最終ラインの転送データサイズを求めればよい。
【００７７】
ステップ１２０４では、先頭ライン及び最終ラインにおけるデータ転送に要する時間を求め、より長い方の時間を、データ転送時間として決定する。具体的には、まずステップ１２０３で導出された先頭ライン及び最終ラインの転送データサイズ（例えば数十byte）を各々のデータ転送レート（例えば数十Mbyte/sec）で除算する。そうして得られた値に、ノズルバッファへの書き込み開始から完了までのレイテンシ（例えば数μsec）を加算することで、データ転送に要する時間（例えば数μ〜数十μsec）が算出される。そして、算出された先頭ライン及び最終ラインにおけるデータ転送時間のうち値の大きい方の時間を、データ転送時間として決定する。決定されたデータ転送時間の情報は、補正可否判定部８００に送られる。
【００７８】
ステップ１２０５では、データ転送を要しないことから、データ転送時間が０に決定される。決定されたデータ転送時間の情報は補正可否判定部８００に送られる。
【００７９】
ステップ１２０６では、予め分かっている１ラインの記録に要する時間に基づいて、斜行補正が印刷に間に合うか否かが判定される。具体的には、１ラインの記録に要する時間と、シフト処理時間とデータ転送時間との合計時間とを比較し、合計時間の方が短かければ、斜行補正が印刷に間に合うと判定する。判定の結果、斜行補正が印刷に間に合う場合は、ステップ１２０７に進む。一方、斜行補正が印刷に間に合わない場合は、ステップ１２０８に進む。
【００８０】
ステップ１２０７では、斜行補正を実行するかどうかを示すフラグ（以下、斜行補正フラグ）を、実行を意味するＯＮに設定する。
【００８１】
ステップ１２０８では、斜行補正フラグを、不実行を意味するＯＦＦに設定する。
【００８２】
以上が、斜行補正可否判定処理の内容である。図１１のフローの説明に戻る。
【００８３】
ステップ１１０６では、上述の斜行補正可否判定処理の結果に応じて処理が切り分けられる。斜行補正が間に合うと判定されていた場合（斜行補正フラグがＯＮ）は、ステップ１１０７に進む。一方、斜行補正が間に合わないと判定されていた場合（斜行補正フラグがＯＦＦ）は、ステップ１１１３に進み、実施例１のステップ７１０〜７１２と同様の処理が実行される。すなわち、ステップ１１１３〜１１１５では、斜行補正を行うことなく印刷用紙にそのまま画像が記録される。
【００８４】
本実施例で斜行補正が間に合う場合は、以下のステップ１１０７〜１１１２の各処理が実行される。
【００８５】
まず、ステップ１１０７、１１０８、１１０９、１１１１及び１１１２は、実施例１の場合と同じである。すなわち、第１プロセッサの場合であれば、第１メモリからライン単位で記録データが入力されると（Ｓ１１０７）、そのシフト量が導出され（Ｓ１１０８）、該シフト量を反映した補正記録データが第１ノズルバッファへ格納される（Ｓ１１０９）。そして、第１ノズルバッファからライン単位で記録データが読み出され、第１記録ヘッドに送出される（Ｓ１１１１）。これが全ライン分の処理が終了するまで繰り返される（Ｓ１１１２）。以下、本実施例に特有の処理であるステップ１１１０におけるライン単位のデータ転送処理について、第１プロセッサの場合を例に詳しく説明する。
【００８６】
１ライン分の斜行補正のためのシフト量を導出後（Ｓ１１０８）、第１シフト処理部において、対応するノズルバッファへの補正記録データの書き込み処理が実行される（Ｓ１１０９）。この際、データ転送が必要な場合には、第１記録ヘッドの専属領域９１２を超えた領域内のデータが、第１及び第２データ通信部を介して隣の第２プロセッサの制御下にある第２のノズルバッファに転送・格納される。図１１に示すフローチャートでも明らかなように、このデータ転送処理は、自身の制御下にあるノズルバッファへのデータ書き込み処理（Ｓ１１０９）と並列で処理される。図１３は、本実施例に係る、ライン単位のデータ転送処理の詳細を示すフローチャートである。
【００８７】
ステップ１３０１では、ステップ１１０７で入力された１ライン分の記録データについて、着目ドットを決定する。
【００８８】
ステップ１３０２では、斜行補正前の記録データにおける着目ドットのノズル列方向の位置xが、専属処理領域（ここでは、第１プロセッサの専属処理領域９１１）の範囲内か否かが判定される。判定の結果、専属処理領域の範囲内である場合は、ステップ１３０３に進む。一方、専属処理領域の範囲外である場合は、転送処理の対象外であるので、本処理を抜ける。
【００８９】
ステップ１３０３では、斜行補正後の記録データにおける着目ドットのノズル列方向の位置x’が、専属処理領域の範囲外か否かが判定される。判定の結果、専属処理領域の範囲外である場合は、ステップ１３０４に進む。一方、専属処理領域の範囲内である場合は、転送処理の対象外であるので、本処理を抜ける。
【００９０】
ステップ１３０４では、当該着目ドットのデータについて、ステップ１１０８で導出したシフト量に基づいて、隣のノズルバッファ（ここでは第２ノズルバッファ）におけるアドレス値に変換する。そして変換されたデータは、データ通信部を介して、隣のプロセッサ（ここでは第２プロセッサ）の制御下にあるノズルバッファ（ここでは第２ノズルバッファ）に書き込まれる。
【００９１】
ステップ１３０５では、入力された１ライン分の記録データについて未処理のドットの有無が判定される。すべてのドットについて処理が完了していれば、本処理を終える。一方、未処理のドットがあればステップ１３０１に戻って次のドットを着目ドットに決定し、処理が続行される。
【００９２】
以上がデータ転送処理の内容である。このような処理により、斜行によって各プロセッサのみでは処理が困難となった転送領域内のデータが、隣接するノズルバッファに書き込まれる。ステップ１１０９における補正記録データの書き込み処理及びステップ１１１０におけるデータ転送処理が完了した段階で、隣り合う記録ヘッドによって印刷される斜行補正後の１ライン分の記録データがノズルバッファ内に揃ったことになる。図１１のフローチャートの説明に戻る。
【００９３】
ステップ１１１１では、各ノズルバッファ（ここでは、第１及び第２ノズルバッファ）からライン単位で記録データが読み出され、対応する記録ヘッド（ここでは、第１及び第２記録ヘッド）に送出される。
【００９４】
ステップ１１１２では、記録データの全ラインについて、対応する記録ヘッドに送られたかが判定される。未処理のラインがあれば、ステップ１１０７に戻って次のラインを対象に処理が続行される。一方、全ラインについての処理が完了していれば、本処理を終える。
【００９５】
以上が、本実施例に係る、印刷用紙の斜行搬送に応じてリアルタイムに斜行補正記録を行う処理の内容である。
【００９６】
最後に、図１２のフローチャートのステップ１２０１におけるデータ転送要否判定処理について説明する。図１４は、データ転送要否判定処理の詳細を示すフローチャートである。ここでは、本来は第２プロセッサによって記録されるべき記録データが、隣接する第１及び第３プロセッサの制御下にある第１及び第３ノズルバッファに転送・格納する必要ありと判定される過程を例に説明するものとする。
【００９７】
ステップ１４０１では、搬送方向の位置が最終ラインであって、ノズル列方向の位置が第１プロセッサ処理領域との境界である、斜行補正前のドット位置１０１０について、斜行補正した場合のドット位置１０１０’が導出される。
【００９８】
ステップ１４０２では、斜行補正した場合のドット位置１０１０’のノズル列方向の位置が、第１記録ヘッドの範囲内であるか否かが判定される。第１記録ヘッドの範囲内である場合は、ステップ１４０６へ進む。一方、第１記録ヘッドの範囲内でない場合は、ステップ１４０３へ進む。
【００９９】
ステップ１４０３では、搬送方向の位置が先頭ラインであって、ノズル列方向の位置が第３プロセッサ処理領域との境界である、斜行補正前のドット位置１０１１について、斜行補正した場合のドット位置１０１１’が導出される。
【０１００】
ステップ１４０４では、斜行補正した場合のドット位置１０１１’のノズル列方向の位置が、第３記録ヘッドの範囲内であるか否かが判定される。第３記録ヘッドの範囲内である場合は、ステップ１４０６へ進む。一方、第３記録ヘッドの範囲内でない場合は、ステップ１４０５へ進む。
【０１０１】
ステップ１４０５では、隣接する第１及び第３プロセッサの制御下にあるノズルバッファへのデータ転送が必要ないと決定される。
【０１０２】
ステップ１４０６では、隣接する第１及び第３プロセッサの制御下にあるノズルバッファへのデータ転送が必要（転送領域＃２１のデータの第１ノズルバッファへの格納及び転送領域＃２３のデータの第３ノズルバッファへの格納が必要）であると決定される。
【０１０３】
以上がデータ転送要否判定処理の内容である。なお、図１４のフローチャートで示したデータ転送要否判定処理は、図１０の例のように印刷用紙が反時計回りに回転して斜行している場合に対応している。印刷用紙が時計回りに回転して斜行している場合は、第３プロセッサ処理領域との間で最終ラインについての関係をまず判定し（Ｓ１４０１）、続いて第１プロセッサ処理領域との間で先頭ラインについての関係を判定（Ｓ１４０３）すればよい。
【０１０４】
以上説明したように、本実施例では、印刷用紙の斜行によって各プロセッサに割り当てられている処理領域が、対応する記録ヘッドの範囲を超えた場合に、超えた分の領域内のデータが隣のプロセッサの制御下にあるノズルバッファに転送・格納される。さらにデータ転送を含む斜行補正処理が印刷に間に合うか否かをライン単位で判定し、間に合う場合に斜行補正して印刷するようにしている。このような構成とすることで、各プロセッサに割り当てるプロセッサ処理領域を実施例１の場合と比較して小さくすることができる。これにより、各プロセッサが処理対象とする記録データの画像処理に要する時間や使用するメモリ容量及びメモリ帯域を削減することが可能である。
【０１０５】
なお、本実施例では、斜行補正が印刷に間に合わない場合にそのまま印刷することとしているが、これに限られるものではない。例えば、印刷用紙の搬送を停止してもよいし、搬送速度を遅くして斜行補正が間に合うような構成にしてもよい。
【０１０６】
［実施例３］
実施例２は、実施例１と同様にライン単位で記録ヘッドと同期して斜行補正する態様であった。そのため、ライン単位で斜行補正が印刷に間に合うことを保証しなければならなかった。そうなると、１頁トータルでの処理時間は印刷速度に対して間に合っているのに、データ転送時間が大きくなるラインがあることで斜行補正記録ができないということが起こり得る。また、斜行を検知してから印刷を開始するまでに時間的余裕があっても、印刷開始に先行してシフト処理やデータ転送処理を行なうことは、その構成上できない。そこで、印刷用紙の斜行検知から印刷開始までの間に、１頁分の斜行補正した記録データを用意し、可能な限り印刷処理ができるように保証する態様について、実施例３として説明する。なお、本実施例も実施例２と基本的な構成（記録ヘッドとプロセッサの数は各４つ）は共通するものとし、以下では実施例２との差異点を中心に説明するものとする。
【０１０７】
本実施例に係るインクジェット記録装置の構成は、図８で示した実施例２の構成と基本的には同じであるが、一部処理内容が異なる部分があるので、その点を説明する。
【０１０８】
まず第１〜第４の各ノズルバッファは、各々の対応する記録ヘッドが記録する１頁分のデータの斜行補正に必要なバッファサイズを備えている。すなわち、ノズル列方向の長さ（横幅）は実施例２におけるノズルバッファと同じであるが、搬送方向の長さ（縦幅）は印刷可能な用紙の１頁分の長さに対応したサイズとなっている。このようなノズルバッファにより、印刷開始までに１頁分の補正記録データを格納しておくことができる。
【０１０９】
また、補正可否判定部８００は、印刷速度に対して斜行補正が間に合うか否かを判定する点は実施例２と同じであるが、その判定方法が異なる。本実施例では、印刷開始までに１頁分の記録データを用意しておく必要があるため、斜行補正が印刷に間に合うことを保証するためには、以下の関係が成り立たなければならない。
斜行検知から印刷開始までの時間  ＞  １頁の斜行補正に要する時間
【０１１０】
この場合において、斜行検知部１４０における斜行の検知から、記録ヘッドでの先頭ラインの記録開始までの時間は、斜行検知部１４０から各記録ヘッドまでの距離と、印刷用紙の搬送速度で決まる。そして、斜行検知部１４０から各記録ヘッドまでの距離は使用するインクジェット記録装置毎の固定値であり、印刷用紙の搬送速度は印刷設定（カラーかモノクロか、高精彩モードか否かなど）によって予め一意に定まる。また、１頁の斜行補正に要する時間は、１頁分のシフト処理時間と１頁分のデータ転送時間とで決まる。この場合において、シフト処理とデータ転送とを並行して行えるとすると、１頁分の斜行補正に要する時間は、１頁分のシフト処理時間と、１頁分のデータ転送時間とのうち大きい方の時間となる。本実施例の補正可否判定部８００は、上述した１頁分の斜行補正に要する時間を各シフト処理部から取得して、予め分かっている斜行検知から印刷開始までの時間（通常は、１〜数秒程度）と比較し、斜行補正が印刷に間に合うか否かを判定する。ここでは、シフト処理部で１頁分の斜行補正に要する時間を導出する構成としているが、補正可否判定部８００において行なう構成としてもよい。
【０１１１】
図１５は、本実施例に係る、印刷用紙の斜行検知から印刷開始までの間に、１頁分の斜行補正した記録データを用意して印刷処理を行う処理の流れを示すフローチャートである。以下の一連の処理は不図示のＲＯＭ等に格納されたプログラムに基づいて実行される。各プロセッサは、自身に割り当てられた処理領域の記録データを対象として、以下の各ステップの処理を実行する。なお、斜行検知部１４０及び補正可否判定部８００は、実施例２と同様、第１〜第４のいずれかのプロセッサの制御下に置かれているものとする。
【０１１２】
ステップ１５０１〜１５０４は、それぞれ実施例２に係る図１１のステップ１１０１〜１１０４に相当する。すなわち、搬送されてきた印刷用紙の端部が検知され（Ｓ１５０１）、印刷用紙の両端がセンサを通過する際の時間差に基づいて斜行の有無が判定され（Ｓ１５０２）、斜行があれば検知された斜行の角度が求められる（Ｓ１５０３）。そして、検出された斜行角度が最大許容斜行角度の範囲内であるか否かが判定され（Ｓ１５０４）、最大許容斜行角度の範囲内であればステップ１５０５へ進む。一方、検出された斜行角度が最大許容斜行角度の範囲を超えている場合はステップ１５１６に進み、エラー処理（Ｓ１５１６）と排紙処理（Ｓ１５１７）が実行される。
【０１１３】
ステップ１５０５では、補正可否判定部８００において、処理対象頁の１頁トータルでの斜行補正に要する時間が印刷開始までに間に合うか否かが判定される。図１６は、本実施例における斜行補正可否判定処理の詳細を示すフローチャートである。
【０１１４】
ステップ１６０１では、データ転送を必要とするか否かが判定される。このデータ転送要否判定処理の内容は、実施例２のステップ１２０１と同じであるので、説明を省く。
【０１１５】
ステップ１６０２では、データ転送要否判定処理の結果に応じて処理の切り分けがなされる。データ転送が必要と判定された場合は、ステップ１６０３へ進む。一方、データ転送が不要と判定された場合は、ステップ１６０５へ進む。
【０１１６】
ステップ１６０３では、処理対象頁内における隣のプロセッサへ転送する記録データのサイズを導出する。ここで、本ステップにおける転送データのサイズの導出について、第２プロセッサが隣の第１及び第３プロセッサに転送する場合を例に、前述の図１０を参照しつつ説明する。第２プロセッサの処理領域についての転送データのサイズ（ドット数）は、三角形領域１００２と三角形領域１００３の面積から得ることができる。実施例２で説明したように、両矢印１０２０で示す長さは、（x’- x）／ｃｏｓθで表され、これを三角形領域１００２の底辺とすると、その高さは（x’- x）／ｓｉｎθで表される。よって、三角形領域１００２の面積は、（x’- x）2／（２×ｓｉｎθｃｏｓθ）となる。三角形領域１００３についても同様の方法でその面積を算出できる。印刷用紙のサイズや解像度、さらに斜行角度にも拠るが、１画素を８ビットとし、Ａ４の６００dpiで斜行角度θが数度であれば、数千byte（数千ドット）程度となる。
【０１１７】
ステップ１６０４では、ステップ１６０３で導出されたサイズのデータ転送に要する時間を導出する。具体的には、導出された転送データサイズをデータ転送レートで除算し、ノズルバッファへの書き込み開始から完了までのレイテンシを加算して、データ転送時間が算出される。
【０１１８】
ステップ１６０５では、処理対象頁（１頁分）のデータサイズと、シフト処理部の処理速度とから、処理対象頁全体のシフト処理に要する時間を導出する。
【０１１９】
ステップ１６０６では、処理対象頁に対して斜行補正を行なった場合、印刷に間に合うか否かが判定される。具体的には、まずステップ１６０４で導出した１頁分のデータ転送時間と、ステップ１６０５で導出した１頁分のシフト処理時間とを比較して大きい方の時間を、処理対象頁の斜行補正に要する時間として決定する。そして、決定した処理対象頁の斜行補正に要する時間と、斜行を検知してから先頭ラインを記録するまでの時間とを比較し、斜行補正に要する時間が短ければ、印刷に間に合うと判定する。判定の結果、斜行補正が間に合う場合はステップ１６０７に進む。一方、斜行補正が間に合わない場合はステップ１６０８に進む。
【０１２０】
ステップ１６０７では、斜行補正フラグを、実行を意味するＯＮに設定する。
【０１２１】
ステップ１６０８では、斜行補正フラグを、不実行を意味するＯＦＦに設定する。
【０１２２】
以上が、本実施例に係る、斜行補正可否判定処理の内容である。図１５のフローの説明に戻る。
【０１２３】
ステップ１５０６では、上述の斜行補正可否判定処理の結果に応じて処理が切り分けられる。斜行補正が間に合うと判定されていた場合（斜行補正フラグがＯＮ）であって、データ転送が不要な場合は、ステップ１５０７〜１５１０の各処理が実行される。さらに、斜行補正が間に合うと判定されていた場合（斜行補正フラグがＯＮ）であって、データ転送が必要な場合は、ステップ１５０７〜１５１０の各処理と並行して、頁単位のデータ転送処理（ステップ１５１１）が実行される。一方、斜行補正が間に合わないと判定されていた場合（斜行補正フラグがＯＦＦ）は、ステップ１５１４に進み、実施例２のステップ１１１３〜１１１５と同様の処理が実行される。すなわち、ステップ１５１４〜１５１６では、斜行補正を行うことなく印刷用紙にそのまま画像が記録される。
【０１２４】
ステップ１５０７〜１５１０の各処理は、基本的には実施例２のステップ１１０７〜１１１２に対応するが以下の点で異なっている。すなわち、実施例２では、記録ヘッドとライン単位で同期させるため、ラインデータの入力処理の速度は、記録ヘッドへのデータ転送の速度と同じで、例えば１ライン進むのに１msec程度である。そのため、ノズルバッファのバッファサイズは、最大斜行角度のとき、１ラインの記録データを斜行補正するために必要なサイズを確保していれば十分だった。本実施例では、記録ヘッドと頁単位で同期させるため、ラインデータの入力処理の速度は、シフト処理部の処理性能の速度で行われ、例えば1ライン進むのに1μsec程度である。また、上述のとおり本実施例のノズルバッファは、最大斜行角度のときに１頁分の記録データを斜行補正するために必要なサイズを備えている点でも、実施例２と異なっている。
【０１２５】
ステップ１５１１では、１頁分のデータ転送処理が実行される。図１７は、本実施例に係る、１頁分のデータ転送処理の詳細を示すフローチャートである。ここでは、本来は第２プロセッサで記録されるべきデータが、隣接する第１及び第３のプロセッサの制御下にあるノズルバッファに転送・格納される場合を代表例として適宜触れつつ、１頁全体の処理についての説明を行なうものとする。
【０１２６】
ステップ１７０１では、搬送方向が先頭ラインであって、ノズル列方向の位置が第３プロセッサ処理領域との境界である、斜行補正前のドット位置１０１１を着目ドットに決定する。
【０１２７】
ステップ１７０２では、決定された着目ドットについて、斜行補正後のドット位置が導出される。例えば、処理開始直後の段階では上記ドット位置１０１１の斜行補正後のドット位置として、位置１０１１’が導出される。
【０１２８】
ステップ１７０３では、着目ドットの斜行補正後のノズル列方向の位置が、第３記録ヘッドの範囲内か否かが判定される。判定の結果、第３記録ヘッドの範囲内であれば、ステップ１７０４へ進む。一方、第３記録ヘッドの範囲内でなければ、ステップ１７０６へ進む。
【０１２９】
ステップ１７０４では、着目ドットの斜行補正後のデータが、第３プロセッサの制御下にある第３ノズルバッファに転送され、格納される。
【０１３０】
ステップ１７０５では、１ドット分のアドレスがインクリメントされ、ステップ１７０２に戻る。これによって次の着目ドットが決定され、該着目ドットの斜行補正後の位置が第３記録ヘッドの範囲外になるまで同じ処理が繰り返される。
【０１３１】
着目データの斜行補正後の位置が第３記録ヘッドの範囲外になるということは、先頭ラインに対してデータ転送が必要な領域がなくなったことを示している。よって、ステップ１７０６では、着目ドットの斜行補正前の位置が第３プロセッサ処理領域との境界であるかどうかが判定される。判定の結果、第３プロセッサ処理領域との境界でない場合は、ステップ１７０７に進む。
【０１３２】
ステップ１７０７では、１ライン分のアドレスがインクリメントされ、ステップ１７０２に戻る。これによって処理対象が次のラインに移行し、先頭ラインと同様の処理が、着目ドットの斜行補正前の位置が第３プロセッサ処理領域との境界になるまで繰り返される。こうして、三角形領域１００３内の記録データが隣の第３ノズルバッファに書き込まれることになる。着目ドットの斜行補正前の位置が第３プロセッサ処理領域との境界になったとき、着目ドット位置が位置１０１２に達したことを意味し、三角形領域１００３についてのデータ転送が完了したことになる。したがって、着目ドットの位置を位置１０１０に移し、三角形領域１００２についての処理に移行する。基本的には三角形領域１００３に対する処理と同じであるが、簡単に説明する。
【０１３３】
まず、搬送方向が最終ラインであって、ノズル列方向の位置が第２プロセッサ処理領域との境界である、斜行補正前のドット位置１０１０が着目ドットに決定される（Ｓ１７０８）。次に、決定された着目ドットについて、斜行補正後のドット位置が導出される。例えば、処理開始直後の段階では上記ドット位置１０１０の斜行補正後のドット位置として、位置１０１０’が導出される（Ｓ１７０９）。そして、着目ドットの斜行補正後のノズル列方向の位置が、第１記録ヘッドの範囲内か否かが判定される。判定の結果、第１記録ヘッドの範囲内であれば、該着目ドットの斜行補正後のデータが第１プロセッサの制御下にある第１ノズルバッファに転送・格納される（Ｓ１７１０でＹｅｓ、Ｓ１７１１）。そして、着目ドットの斜行補正後の位置が第１記録ヘッドの範囲外になるまで同じ処理が繰り返される（Ｓ１７１２）。着目データの斜行補正後の位置が第１記録ヘッドの範囲外になった時点で、最終ラインに対してデータ転送が必要な領域がなくなったことを示す。よって、着目ドットの斜行補正前の位置が第１プロセッサ処理領域との境界であるかが判定される（Ｓ１７１３）。判定の結果、第１プロセッサ処理領域との境界でない場合は、１ライン分のアドレスがデクリメントされて処理対象が次のラインに移行する（Ｓ１７１３でＮｏ、Ｓ１７１４）。そして、最終ラインと同様の処理が、着目ドットの斜行補正前の位置が第１プロセッサ処理領域との境界になるまで繰り返される。こうして、三角形領域１００２の記録データが第１ノズルバッファに書き込まれることになる。着目ドットの斜行補正前の位置が第１プロセッサ処理領域との境界になったとき、着目ドット位置が位置１０１３に達したことを意味し、三角形領域１００２についてのデータ転送が完了したことになる。  このような処理が各プロセッサで行なわれる。そして、本実施例では、実施例２のように１ラインずつ全記録データに対しシフト処理を行なってデータ転送するのではなく、１頁内のデータ転送が必要な領域のみにシフト処理が行なわれることになる。
【０１３４】
以上が、本実施例に係る、１頁分のデータ転送処理の内容である。図１５のフローチャートの説明に戻る。
【０１３５】
ステップ１５０７〜１５１０での各ノズルバッファへのデータ書き込み処理とステップ１５１１での１頁分のデータ転送処理が完了すると、斜行補正後の１頁分の記録データが揃ったことになる。
【０１３６】
ステップ１５１２では、各ノズルバッファからライン単位で記録データが読み出され、対応する記録ヘッドに送られる。
【０１３７】
ステップ１５１３では、全ラインについての記録データが対応する記録ヘッドに送られたかどうかが判定される。未処理のラインがあれば、ステップ１５１２に戻って次のラインを対象に処理が続行される。一方、全ラインについての処理が完了していれば、本処理を終える。
【０１３８】
以上説明したように、本実施例では、斜行検知から印刷開始までの時間に、１頁分の斜行補正された記録データをまとめて生成する。このような構成にすることで、ライン間でシフト処理の時間にばらつきがある場合でも、可能な限り斜行補正記録をすることが可能となる。特に、印刷速度が速く、斜行検知から印刷開始までの時間に余裕があるような場合に有効である。
【０１３９】
本実施例では、説明を分かりやすくするために、１頁の先頭ラインを印刷開始するまでに１頁分の記録データを用意する構成としたが、この例に限らない。例えば、１頁をノズル列方向に分割した領域（バンド）の単位で、記録データを用意する構成としてもよい。この場合、各バンドの先頭ラインを記録するまでに、そのバンドの斜行補正記録データが用意できるか否かを判定すればよい。
【０１４０】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１４１】
１００  インクジェット記録装置
１１０  制御部
１２０  記録データ補正部
１３０  フルマルチヘッド部
１４０  斜行検知部
【図１】
2017071065.tif 000004
【図２】
2017071065.tif 000005
【図３】
2017071065.tif 000006
【図４】
2017071065.tif 000007
【図５】
2017071065.tif 000008
【図６】
2017071065.tif 000009
【図７】
2017071065.tif 000010
【図８】
2017071065.tif 000011
【図９】
2017071065.tif 000012
【図１０】
2017071065.tif 000013
【図１１】
2017071065.tif 000014
【図１２】
2017071065.tif 000015
【図１３】
2017071065.tif 000016
【図１４】
2017071065.tif 000017
【図１５】
2017071065.tif 000018
【図１６】
2017071065.tif 000019
【図１７】
2017071065.tif 000020