(57)【要約】マルチヘッドプリンタによる印刷の前に、印刷データ上でストライピング、スタガリングおよびステッチングなどの処理を行うための技術を開示する。印刷データのサブセットは、マルチステージのバッファに格納し、処理効率を向上させながら処理することが可能である。デジタル写真を表す印刷データは、デジタル写真を連続して高速で印刷できるように、十分に速く処理することが可能である。プリントバッファサイズや割り込み頻度などのシステムのパラメータは、システム全体のコストなどのデザイン要件に応じて変更することが可能である。
2007530318.tif 000002
【特許請求の範囲】
【請求項１】
複数の千鳥状印刷ヘッドを備えたプリンタを使用した印刷データの印刷方法であって、
（Ａ）基準印刷ヘッドとして前記複数の千鳥状印刷ヘッドのうちの１つを識別するステップと、
（Ｂ）前記複数の千鳥状印刷ヘッドに対応する複数の時間オフセットを識別するステップであって、前記複数の時間オフセットは、前記基準印刷ヘッドの印刷時間に対する前記複数の千鳥状印刷ヘッドの印刷時間を表す、複数の時間オフセットを識別するステップと、
（Ｃ）前記複数の印刷時間に対して行うステップであって、
（１）前記複数の千鳥状印刷ヘッドのそれぞれに対し、前記印刷ヘッドに対応する前記時間オフセットに基づいて、前記印刷データのサブセットを印刷するかどうかを判断するステップと、
（２）前記印刷ヘッドが前記印刷データのサブセットを印刷すべきであると判断した場合に、前記印刷データのサブセットを前記印刷ヘッドに提供するステップと、
（３）それ以外ならば、所定のデータセットを前記印刷ヘッドに提供するステップと、を行うステップと、
を含む印刷データの印刷方法。
【請求項２】
前記ステップ（Ｃ）（３）は、前記印刷ヘッドにヌルデータを提供するステップを含む、請求項１に記載の方法。
【請求項３】
前記ステップ（Ｃ）（３）は、前記印刷ヘッドに予熱データを提供するステップを含む、請求項１に記載の方法。
【請求項４】
複数の千鳥状印刷ヘッドを備えたプリンタを使用した、印刷データの印刷装置であって、
前記複数の千鳥状印刷ヘッドのうちの１つを基準印刷ヘッドとして識別するための第１の識別手段と、
前記複数の千鳥状印刷ヘッドに対応する複数の時間オフセットを識別するための第２の識別手段であって、前記複数の時間オフセットは、前記基準印刷ヘッドの印刷時間に対する前記複数の千鳥状印刷ヘッドの印刷時間を表す、第２の識別手段と、
前記複数の千鳥状印刷ヘッドに対して、前記印刷ヘッドに対応する時間オフセットに基づいて、前記印刷データのサブセットを印刷するかどうかを判断するための判定手段と、
前記印刷ヘッドは、前記印刷データのサブセットを印刷すべきであると判断した場合に、前記印刷ヘッドに前記印刷データのサブセットを提供するための第１の提供手段と、
前記印刷ヘッドに所定のデータセットを提供するための第２の提供手段と、
複数の印刷時間に対して、前記判定手段、前記第１の提供手段、および前記第２の提供手段を起動させるための反復手段と、を備える印刷データの印刷装置。
【請求項５】
前記第２の提供手段は、前記印刷ヘッドにヌルデータを提供するための手段を備える、請求項４に記載の装置。
【請求項６】
前記第２の提供手段は、前記印刷ヘッドに予熱データを提供するための手段を備える、請求項４に記載の装置。
【請求項７】
第１の印刷ヘッドと、前記第１の印刷ヘッド対して千鳥状である第２の印刷ヘッドとを備えるプリンタを使用した、印刷データの印刷方法であって、
（Ａ）前記第１の印刷ヘッドの印刷時間に対する前記第２の印刷ヘッドの印刷時間を示す時間オフセットを識別するステップと、
（Ｂ）第１の時間間隔において、
（１）前記第１の印刷ヘッドに前記印刷データの第１の部分を提供するステップと、
（２）前記第２の印刷ヘッドにヌルデータを提供するステップと、を行うステップと、
（Ｃ）前記時間オフセットに等しい時間だけ前記第１の時間間隔よりも後に発生する、第２の時間間隔において、
（１）前記第１の印刷ヘッドに前記印刷データの第２の部分を提供するステップと、
（２）前記第２の印刷ヘッドに前記印刷データの前記第１の部分を提供するステップと、を行うステップと、
を含む印刷データの印刷方法。
【請求項８】
（Ｄ）前記時間オフセット以下の時間だけ前記第１の時間間隔よりも後に発生する、第３の時間間隔において、
（１）前記第１の印刷ヘッドに前記印刷データの第３の部分を提供するステップと、
（２）前記第２の印刷ヘッドにヌルデータを提供するステップと、を行うステップと、
をさらに含む、請求項７に記載の方法。
【請求項９】
第１の印刷ヘッドと、前記第１の印刷ヘッドに対して千鳥状である第２の印刷ヘッドとを備えるプリンタを使用した、印刷データの印刷装置であって、
前記第１の印刷ヘッドの印刷時間に対する前記第２の印刷ヘッドの印刷時間を示す時間オフセットを識別するための手段と、
第１の時間間隔において、前記第１の印刷ヘッドに前記印刷データの第１の部分を提供するための手段と、
第１の時間間隔において、前記第２の印刷ヘッドにヌルデータを提供するための手段と、
前記時間オフセットに等しい時間だけ前記第１の時間間隔よりも後に発生する、第２の時間間隔において、前記第１の印刷ヘッドに前記印刷データの第２の部分を提供するための手段と、
第２の時間間隔において、前記第２の印刷ヘッドに前記印刷データの前記第１の部分を提供するための手段と、
を備える印刷データの印刷装置。
【請求項１０】
前記時間オフセット以下の時間だけ前記第１の時間間隔よりも後に発生する、第３の時間間隔において、前記第１の印刷ヘッドに前記印刷データの第３の部分を提供するための手段と、
第３の時間間隔において、前記第２の印刷ヘッドにヌルデータを提供するための手段と、
をさらに備える、請求項９に記載の装置。
【請求項１１】
印刷データの印刷方法であって、
（Ａ）第１の処理印刷データを生成するために、前記印刷データの第１の部分に第１の画像処理ステップを行うステップと、
（Ｂ）第１のバッファに前記第１の処理印刷データを格納するステップと、
（Ｃ）第２のバッファに前記第１の処理印刷データを送信するステップと、
（Ｄ）第２の処理印刷データを生成するために、前記印刷データの第２の部分に第２の画像処理ステップを行うステップと、
（Ｅ）第３のバッファに前記第２の処理印刷データを格納するステップと、
（Ｆ）第４のバッファに前記第２の処理印刷データを送信するステップと、
（Ｇ）ステップ（Ｄ）、（Ｅ）、および（Ｆ）のうちの少なくとも１つのステップが行われている間に、前記第２のバッファから印刷エンジンに前記第２の処理印刷データを送信するステップと、
を含む印刷データの印刷方法。
【請求項１２】
前記第１の画像処理ステップは、前記印刷データの前記第１の部分のストライピングを行うステップを含む、請求項１１に記載の方法。
【請求項１３】
前記第１の画像処理ステップは、前記印刷データの前記第１の部分のスタガリングを行うステップを含む、請求項１１に記載の方法。
【請求項１４】
前記第１の画像処理ステップは、前記印刷データの前記第１の部分のステッチングを行うステップを含む、請求項１１に記載の方法。
【請求項１５】
印刷データの印刷装置であって、
第１の処理印刷データを生成するために、前記印刷データの第１の部分に第１の画像処理ステップを行うための第１の画像処理手段と、
第１のバッファに前記第１の処理印刷データを格納するための第１の格納手段と、
第２のバッファに前記第１の処理印刷データを送信するための第１の送信手段と、
第２の処理印刷データを生成するために、前記印刷データの第２の部分に第２の画像処理ステップを行うための第２の画像処理手段と、
第３のバッファに前記第２の処理印刷データを格納するための第２の格納手段と、
第４のバッファに前記第２の処理印刷データを送信するための第２の送信手段と、
前記第２の処理手段、前記第２の格納手段、および前記第２の送信手段のうちの少なくとも１つが動作している間に、前記第２のバッファから印刷エンジンに前記第２の処理印刷データを送信するための第３の送信手段と、
を備える印刷データの印刷装置。
【請求項１６】
前記第１の画像処理手段は、前記印刷データの前記第１の部分のストライピングのための手段を備える、請求項１５に記載の方法。
【請求項１７】
前記第１の画像処理手段は、前記印刷データの前記第１の部分のスタガリングのための手段を備える、請求項１５に記載の方法。
【請求項１８】
前記第１の画像処理手段は、前記印刷データの前記第１の部分のステッチングのための手段を備える、請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は、マルチヘッドプリンタに関し、より詳しくは、マルチヘッドプリンタで印刷するための印刷データの処理技術に関する。
【背景技術】
【０００２】
（発明の背景）
（関連技術）
コンピュータおよびデジタル映像技術では、様々なプリンタが公知である。当該のプリンタには、ドットマトリックスプリンタ、レーザープリンタ、インクジェットプリンタ、および感熱式プリンタなどが挙げられる。感熱式プリンタは、印刷出力に熱エネルギ（熱）を使用する。さらに具体的には、感熱式プリンタは、一般的に直線配列の加熱要素（「印刷ヘッド要素」とも称される）を備える。この加熱要素は、例えば、ドナーシートから出力媒体に色素を転写することによって、または出力媒体に呈色反応を誘導することによって、出力媒体上に印刷を行う。出力媒体は、一般的に、転写色素を受容する多孔性受像体、または呈色性の化学作用によってコーティングされた紙である。それぞれの印刷ヘッド要素は、起動されると、印刷ヘッド要素の下を通る媒体を呈色させ、特定の密度を有するスポットを発生させる。より大きい、または密度の高い領域は、より小さい、または密度の低いスポットの領域よりも暗いものとして感知される。デジタル画像は、非常に小さく、密集したスポットの二次元配列として描写される。
【０００３】
感熱印刷ヘッド要素は、エネルギの供給によって起動する。印刷ヘッド要素にエネルギを供給すると、印刷ヘッド要素の温度が上昇し、出力媒体への色素の転写、または受像体における呈色のいずれかが生じる。このように印刷ヘッド要素によって生成される出力の密度は、印刷ヘッド要素に供給されるエネルギ量の関数である。印刷ヘッド要素に供給するエネルギ量は、例えば、特定の時間間隔内の印刷ヘッドへの電力量の変化によって、またはより長い時間間隔にわたる印刷ヘッドへの電力の供給によって、変化する場合がある。
【０００４】
シングル感熱式プリンタは、複数の感熱印刷ヘッドを備えることが可能であり、その場合、印刷するデータは、「ストライプ」と称される複数の部分に分割され、それぞれの部分がプリンタヘッドのうちの１つによって印刷される。印刷データをストライプに分割する処理を、「ストライピング」と称する。マルチヘッド感熱式プリンタは、コストおよび信頼性の理由から、また特に幅広い印刷が必要な場合に、シングルヘッドプリンタよりも優れている。例えば、シングルワイドヘッドのコストは、一般的にシングルワイドヘッドと同じ合計幅を有するマルチ小型ヘッドのコストよりも著しく高い。さらに、ワイドヘッドの製造歩留まりは、小型ヘッドの歩留まりと比較すると非常に低い。加えて、マルチヘッドプリンタにおいて１つの印刷ヘッドの１つのピクセルが故障した場合は、故障した印刷ヘッドだけを交換すればよいが、１つの大型印刷ヘッドを使用する場合、1台のプリンタが故障すれば、ずっと高いコストで印刷ヘッド全体の交換が必要となる。
【０００５】
マルチヘッドプリンタの印刷ヘッドは、印刷ヘッドごとにスタガリングを行うことが可能である。この種のプリンタの一例は、Ｋａｉｙａらへの特許文献１に開示されており、２つのプラテンローラに沿って千鳥状配列に配置された複数の熱ヘッドを備えた感熱記録装置として開示されている。その装置は、第１の一組の印刷ヘッドによって第１のプラテンローラに印刷される、交互の画像セグメントを有する。介在セグメントは、第２のプラテンローラに印刷する第２の一組の印刷ヘッドによって補充される。ヘッドは、第２の一組の印刷ヘッドの印刷が第１の一組の印刷ヘッドの印刷にオーバーラップするように構成され、一方から他方への移行の存在をあいまいにするように印刷を構成することが可能な隣接するセグメントの各対の間に、「ステッチング」領域を形成する。
【０００６】
適切な防止ステップが講じられない場合、ステッチング領域の使用によって、印刷画像内に望ましくない可視的なアーチファクトが発生する場合がある。ステッチング領域の存在が、最大部分に対して可能な限りごくわずかになるように、ステッチング領域内の「ステッチ」画像セグメントには、さまざまな技術が使用されている。ステッチング技術には、印刷前にステッチングを行った画像セグメントに画像処理を行うための技術、ステッチングを行った画像セグメントを適切な調整によって適切に印刷するための機械的技術、およびそれらを組み合わせた技術が挙げられる。ステッチング技術の特定の例は、共有の特許出願第１０／３７４、８４７号（２００３年２月２５日出願）の名称「Ｉｍａｇｅ  Ｓｔｉｔｃｈｉｎｇ  ｆｏｒ  ａ  Ｍｕｌｔｉ−Ｈｅａｄ  Ｐｒｉｎｔｅｒ」に見られる。
【０００７】
ストライピングおよびステッチングは、印刷のために印刷データを印刷ヘッドに供給する前に印刷データに行う必要のある、２種類の処理例にすぎない。マルチヘッドプリンタの高速化、およびプリンタメーカー間の価格競争が進んでいるため、ストライピングおよびステッチングを行うための技術、および高速かつ安価に印刷データを処理できる他の画像処理技術がますます重要になってきている。
【特許文献１】米国特許第４，６６０，０５２号明細書
【発明の開示】
【課題を解決するための手段】
【０００８】
（要旨）
マルチヘッドプリンタによる印刷の前に、ストライピング、スタガリング、およびステッチングなどの処理を行うための技術を開示する。印刷データのサブセットは、マルチステージのバッファに格納し、処理効率を向上させながら処理することが可能である。デジタル写真を表す印刷データは、デジタル写真を高速に印刷できるように、十分に速く処理することが可能である。プリントバッファサイズおよび割り込み頻度などのシステムのパラメータは、システム全体のコストなどのデザイン要件に応じて変更することが可能である。
【０００９】
本発明の様々な側面および実施形態の特徴および効果は、以下の説明および請求項から明らかになろう。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態に基づいた、マルチヘッドの印刷データにおいて印刷データを処理するための技術の例を説明する。図１を参照する。図１は、印刷ジョブを行うために、本発明の一実施形態において使用される方法１００を示すフローチャートである。図２を参照する。図２は、図１の方法１００を行うことが可能なマルチヘッドプリンタ２０２を備えたシステム２００の機能ブロック図である。
【００１１】
プリンタ２０２は、印刷ジョブにおいて、プリンタへの印刷データ２０４を受信する（ステップ１０２）。印刷データ２０４は、出力媒体に印刷するいかなるデータであってもよい。印刷データ２０４は、例えば、１つ以上の色のデジタル写真、またはプリンタ２０２への入力に好適なフォーマットで表される他のデジタル画像であってもよい。プリンタ２０２は、印刷データ２０４を受信し、そのストライピングを行ってストライピングした印刷データ２０８を生成する（ステップ１０４）、ストライパ２０６を備える。以下、ストライピングを行うために使用することが可能な特定の技術の例を、図８を参照して説明する。プリンタ２０２は、ストライピングした印刷データ２０８をスタガリングして、スタガリングを行った印刷データ２１２を生成する（ステップ１０６）、スタガラ（ｓｔａｇｇｅｒｅｒ）２１０を備える。以下、スタガリングを行うために使用可能な特定の技術の例を、図９および図１０を参照して説明する。
【００１２】
プリンタ２０２はまた、スタガリングを行った印刷データ２１２を受信し、そのデータにステッチングを行ってステッチングを行った印刷データ２１６を生成する（ステップ１０８）、ステッチャ２１４も備える。ステッチングを行うために使用することが可能な特定の技術の例は、上述の特許出願、名称「Ｉｍａｇｅ  Ｓｔｉｔｃｈｉｎｇ  ｆｏｒ  ａ  Ｍｕｌｔｉ−Ｈｅａｄ  Ｐｒｉｎｔｅｒ」に開示されている。プリンタ２０２はまた、ステッチングを行った印刷データ１１６に熱履歴制御を行って、熱履歴制御を調整した印刷データ２２０を生成する（ステップ１１０）、熱履歴制御エンジン２１８も備える。熱履歴制御を行うために使用することが可能な特定の技術の例は、共有の特許出願第０９／９３４，７０３号（２００１年８月２２日出願）の名称「Ｔｈｅｒｍａｌ  Ｒｅｓｐｏｎｓｅ  Ｃｏｒｒｅｃｔｉｏｎ  Ｓｙｓｔｅｍ」に開示されている。
【００１３】
プリンタ２０２はまた、熱履歴制御を調整した印刷データ２２０を描写および印刷することによって、印刷出力２２４を生成する、印刷エンジン２２２を備える。印刷エンジン２２２の例は、上述の特許出願、名称「Ｉｍａｇｅ  Ｓｔｉｔｃｈｉｎｇ  ｆｏｒ  ａ  Ｍｕｌｔｉ−Ｈｅａｄ  Ｐｒｉｎｔｅｒ」に開示されている。印刷出力２２４は、例えば、１つ以上の色のデジタル写真、またはワイドフォーマットの出力媒体に印刷された他の画像であってよい。
【００１４】
図３を参照する。図３は、本発明の一実施形態に基づいた、複数の印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆのレイアウトを示す図である。印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆは、例えば、印刷エンジン２２２（図２）の一部であってよい。
【００１５】
図３に示される特定の例では、６つのマゼンタ／イエロー（Ｍ／Ｙ）の印刷ヘッド３０４ａ乃至３０４ｆ、および６つのシアン（Ｃ）の印刷ヘッド３０６ａ乃至３０６ｆがある。しかし、本願明細書に開示される技術は、あらゆる種類の複数の印刷ヘッドとともに使用することが可能である。例えば、図３に示されるような組み合わせたマゼンタ／イエローの印刷ヘッド３０４ａ乃至３０４ｆではなく、独立したマゼンタおよびイエローの印刷ヘッドであってもよい。さらに、本願明細書では、印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆは、特定の寸法、解像度、および他の特性を有すると説明しているが、本発明の実施形態は、そのような特性を有する印刷ヘッドとともに使用することに限定するものではない。
【００１６】
印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆは、ダウンウェブ方向３０８ａに印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆの下を通る出力媒体３０２に印刷する。図３に示される特定の例では、出力媒体は、幅３７インチ（すなわち、クロスウェブ方向３０８ｂ）である。いずれかの特定の時点で、印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆのそれぞれは、そのときに印刷ヘッドの下にある出力媒体３０２の部分の上に印刷する。以下の説明では、例示のために、出力媒体３０２が毎秒０．５インチの速度でダウンウェブ方向３０８ａに移動するものとする。
【００１７】
本発明の一実施形態において、印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆのそれぞれは、幅６．４インチ、解像度３００ドット／インチ（ｄｐｉ）である。その結果、印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆのそれぞれが、１９２０の印刷ヘッド要素を備えるので、ピクセルの印刷ラインは、幅１９２０ピクセル（すなわち、クロスウェブ方向３０８ｂにおいて）である。
【００１８】
印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆは、行３１６ａ乃至３１６ｄに配置される。さらに具体的には、行３１６ａは、マゼンタ／イエローの印刷ヘッド３０４ａ、３０４ｃ、および３０４ｅを備え、行３１６ｂは、シアンの印刷ヘッド３０６ａ、３０６ｃ、および３０６ｅを備え、行３１６ｃは、マゼンタ／イエローの印刷ヘッド３０４ｂ、３０４ｄ、および３０４ｆを備え、行３１６ｄは、シアンの印刷ヘッド３０６ｂ、３０６ｄ、および３０６ｆを備える。
【００１９】
印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆはまた、列３１８ａ乃至３１８ｆに配置される。さらに具体的には、列３１８ａは、マゼンタ／イエローの印刷ヘッド３０４ａ、およびシアンの印刷ヘッド３０６ａを備え、列３１８ｂは、マゼンタ／イエローの印刷ヘッド３０４ｂ、およびシアンの印刷ヘッド３０６ｂを備え、列３１８ｃは、マゼンタ／イエローの印刷ヘッド３０４ｃ、およびシアンの印刷ヘッド３０６ｃを備え、列３１８ｄは、マゼンタ／イエローの印刷ヘッド３０４ｄ、およびシアンの印刷ヘッド３０６ｄを備え、列３１８ｅは、マゼンタ／イエローの印刷ヘッド３０４ｅ、およびシアンの印刷ヘッド３０６ｅを備え、列３１８ｆは、マゼンタ／イエローの印刷ヘッド３０４ｆ、およびシアンの印刷ヘッド３０６ｆを備える。
【００２０】
ピクセルは、クロスウェブ方向３０８ｂに番号がつけられ、図３の右側のピクセル１から始まり、図３の左側のピクセル１１，１００（３００ｄｐｉ×３７インチ）で終わる。ピクセル「ライン」は、本願明細書では単一行の１１，１００ピクセルのことである。印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆは、ライン内の各ピクセルが、マゼンタ／イエローの印刷ヘッド３０４ａ乃至ｅのうちの少なくとも１つ、およびシアンの印刷ヘッド３０６ａ乃至３０６ｆのうちの少なくとも１つによって印刷されるように、列３１８ａ乃至３１８ｆ内に配置される。
【００２１】
印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆはまた、印刷ヘッド３０４ａ乃至３０４ｆと３０６ａ乃至３０６ｆとの出力の間にオーバーラップがあるように、配置される。例えば、領域３１０では、列３１８ｅと３１８ｆがオーバーラップする。領域３１０は、クロスウェブ方向３０８ｂに８４ピクセル（０．２８インチ）を含み、ここではヘッド３０４ｅおよび３０６ｅの出力がヘッド３０４ｆおよび３０６ｆの出力とオーバーラップする。領域３１０は、上述の特許出願の名称「Ｉｍａｇｅ  Ｓｔｉｔｃｈｉｎｇ  ｆｏｒ  ａ  Ｍｕｌｔｉ−Ｈｅａｄ  Ｐｒｉｎｔｅｒ」に開示されているような、ステッチング技術を用いることが可能なステッチング領域の一例である。
【００２２】
列３１８ａ乃至３１８ｆのそれぞれの印刷ヘッドは、ダウンウェブ方向３０８ａに、互いに１インチ離れている。例えば、マゼンタ／イエローのヘッド３０４ｃは、ダウンウェブ方向３０８ａに、シアンのヘッド３０６ｃから１インチ３１４ａ離れ、同様に、マゼンタ／イエローのヘッド３０４ｄは、ダウンウェブ方向３０８ａに、シアンのヘッド３０６ｄから１インチ３１４ｂ離れていれる。
【００２３】
行３１６ａ乃至３１６ｄのうちの同じ色の異なる印刷ヘッドは、ダウンウェブ方向に、互いに４インチ離れている。例えば、（行３１６ａにおいて）マゼンタ／イエローのヘッド３０４ｅは、（行３１６ｃにおいて）マゼンタ／イエローのヘッド３０４ｆから４インチ３１２ａ離れ、（行３１６ｂにおいて）シアンのヘッド３０６ａは、ダウンウェブ方向３０８ａに、シアンのヘッド３０６ｂから４インチ３１２ｂ離れている。図３に示される印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆの特定の配置は、例示のためにだけに提供されるものであり、本発明を限定するものではない。
【００２４】
印刷データを印刷エンジン２２２に十分迅速に供給するには、印刷エンジン２２２が印刷データ２０４を連続的に印刷できることが望ましい。印刷データ２０４を印刷データ２０４に十分迅速に供給できない場合、印刷エンジン２２２が、印刷ジョブ中に時折停止および再開する場合があるので、そのジョブの印刷に必要な総時間が増加する。さらに、止まった印刷ヘッドによって生じる熱の流出の結果、印刷エンジン２２２の開始および停止によって、印刷ヘッド２２４に「バンディング」が生じる。当該のバンディングは、一般的に、印刷ヘッド２２４を使用し難くし、それによって印刷ヘッド２０４の再印刷が必要となる。印刷エンジンの高速化が進んでいるため、印刷データの印刷エンジン２２２への連続的な供給を確保するために、印刷データへの処理（図１に示される方法１００によって行われる処理など）を可能な限り効率的に実行することがますます必要になってきている。
【００２５】
図５を参照する。図５は、図２のプリンタ２０２を備えるシステム２５０の機能ブロック図である。図２は、印刷データ２０４に行うことが可能な画像処理ステップを示すが、図５は、本発明の一実施形態に基づいた、印刷効率の最大化を目的とした様態でのプリンタ２０２を介した印刷データ２０４の流れを示す。図４Ａ乃至４Ｆを参照する。これらの図は、本発明の一実施形態に基づいた、プリンタ２０２を使用して印刷を行う方法を示すフローチャートである。
【００２６】
図５を参照する。図５は、印刷データ２０４をプリンタ２０２に供給する印刷ソース２５２を含むシステム２５０を示す。印刷ソース２５２は、パーソナルコンピュータ、デジタルカメラ、スキャナ、または印刷データ２０４のあらゆる他のソースであってよい。プリンタ２０２は、受信コントローラ２５４、フロントエンド２５８、およびバックエンド２６２を備える。以下、印刷ソース２５２、受信コントローラ２５４、フロントエンド２５８、およびバックエンド２６２によって行われる機能を、図４Ａ乃至４Ｆを参照して説明する。
【００２７】
図４Ａを参照する。図４Ａは、本発明の一実施形態に基づいた、印刷ソース２５２によって印刷ジョブを印刷する方法４００を示すフローチャートである。印刷ジョブにはあらゆる種類の印刷データを含むことが可能であるが、以下の説明のために、印刷ジョブは複数のデジタル画像を含むものとする。各々の画像は、例えば、複数ページの文書の相異なるページであってよい。別様には、各々の画像は、デジタル写真のような単一画像の文書の画像であってよく、その場合、下記の「印刷ジョブ」は、複数の異なる印刷ジョブ（各デジタル画像に対して１つ）、または各々の画像を別々のページとして含む単一の印刷ジョブを含むことが可能である。当業者には、印刷ジョブの生成およびフォーマットのための様々な技術が公知であり、説明する特定の例は、本発明を限定するものではない。
【００２８】
印刷ソース２５２は、複数の画像のうちの各画像Ｉのループに入って印刷する（ステップ４０２）。印刷ソース２５２は、画像Ｉを（印刷データ２０４の形態で）プリンタ２０２に送信する（ステップ４０４）。印刷ソース２５２は、プリンタ２０２から、プリンタ２０２が印刷データ２０４を受信した旨の確認応答２６６を待つ（ステップ４０６）。印刷ソース２５２は、残りの画像に対してステップ４０４乃至４０６を繰り返す（ステップ４０８）。後に詳述するように、プリンタ２０２は、印刷ソース２５２がプリンタ２０２にすべての画像の送信を終える前に、１つ以上の画像の印刷を開始することが可能である。
【００２９】
図４Ｂを参照する。図４Ｂは、本発明の一実施形態に基づいた、受信コントローラ２５４によって行われる方法４１０を示すフローチャートである。図５に示されるように、受信コントローラ２５４は、第１の受信バッファ２５６ａと、第２の受信バッファ２５６ｂとを備える。一般的に、受信コントローラ２５４は、受信印刷ジョブを受信バッファ２５６ａおよび２５６ｂに交互に格納する。図４Ｂを参照する。図４Ｂは、受信コントローラ２５４が、変数ＲｅｃｅｉｖｅＢｕｆの値を１に初期化し（ステップ４１２）、次の印刷ジョブを第１の受信バッファ２５６ａに格納することを示す。
【００３０】
受信コントローラ２５４は、接続２６４ａを通じて印刷ソース２５２から（印刷データ２０４の形態で）次の画像を受信し（ステップ４１４）、その画像をＲｅｃｅｉｖｅＢｕｆの値によって示される受信バッファに格納する（ステップ４１６）。本実施形態では、ＲｅｃｅｉｖｅＢｕｆ＝１は受信バッファ２５６ａを示し、ＲｅｃｅｉｖｅＢｕｆ＝２は受信バッファ２５６ｂを示す。受信コントローラ２５４は、印刷ソース２５２に受信確認応答２６６を送信する（ステップ４１８）。
【００３１】
受信コントローラ２５４は、変数ＯｌｄＲｅｃｅｉｖｅＢｕｆをＲｅｃｅｉｖｅＢｕｆに等しい値に初期化する（ステップ４２０）。変数ＯｌｄＲｅｃｅｉｖｅＢｕｆによって行われる機能は、下記に詳述する。
【００３２】
受信コントローラ２５４は、ＲｅｃｅｉｖｅＢｕｆの値をトグルする（ステップ４２２）。本実施形態では、ステップ４２２は、割り当てＲｅｃｅｉｖｅＢｕｆ＝（３−ＲｅｃｅｉｖｅＢｕｆ）を使用して実行することが可能である。より一般的には、２つ以上の受信バッファがある場合、ＲｅｃｅｉｖｅＢｕｆの値は、ラウンドロビン法または他の方法で、許容範囲の値によって循環させることが可能である。ＲｅｃｅｉｖｅＢｕｆの値のトグルまたは変更によって、受信コントローラ２５４は、以前のＲｅｃｅｉｖｅＢｕｆの値によって示されたものとは異なる受信バッファに、次の受信画像を格納する。
【００３３】
受信コントローラ２５４は、方法４１０の残りのステップの実行と並行して、ステップ４２２の後に、印刷ソース２５２から次の画像の受信を始めることが可能である。受信コントローラ２５４が次の画像を印刷ソース２５２から受信すると、受信コントローラ２５４は、ステップ４１４から方法４１０の実行を再開する。
【００３４】
方法４１０は、ＯｌｄＲｅｃｅｉｖｅＢｕｆの値によって示される受信バッファにおいて、印刷データのストライピング、スタガリング、およびステッチングを行い、ＯｌｄＲｅｃｅｉｖｅＢｕｆによって示される受信バッファに戻る、ステッチングした印刷データを格納する（ステップ４２４）。ステップ４２４は、受信コントローラ２５４またはプリンタ２０２の他の構成要素によって行うことが可能であり、例えば、方法１００のステップ１０４乃至１０８を参照して上述した技術を使用して行うことが可能である。受信コントローラ２５４は、バス２６４ｂを通じてフロントエンド２５８にステッチングした印刷データを送信し（ステップ４２６）、そのデータには、図４Ｃおよび４Ｅを参照して下記に説明するように更なる処理が行われる。ステップ４２６は、画像全体が印刷ソース２５２から受信された後に行われるが、これは本発明の要件ではない。例えば、受信コントローラ２５４は、印刷ソース２５２が、当該のデータをプリンタ２０２で使用できるように、できる限り迅速に受信コントローラ２５４にデータを供給できることを知っているか、またはそのように予想される場合、画像全体が受信される前に、フロントエンド２５８にステッチングした印刷データの送信を始めることが可能である。
【００３５】
以下、フロントエンド２５８およびバックエンド２６２の動作を、本発明の一実施形態に基づいて説明する。フロントエンド２５８は、２つのフロントエンドバッファ２６０ａおよび２６０ｂを含み、バックエンド２６２は、２つのバックエンドバッファ、２６４ａおよび２６４ｂを含むことに留意されたい。受信コントローラ２５４、フロントエンド２５８、およびバックエンド２６２は、例えばソフトウェアプログラムであってよく、また受信バッファ２５６ａおよび２５６ｂ、フロントエンドバッファ２６４ａおよび２６４ｂ、およびバックエンドバッファ２６４ａおよび２６４ｂは、例えば、メモリ（例、ＲＡＭ）、ハードディスク、または他の持続的な記憶媒体の領域であってよい。図５には２つの受信バッファ２５６ａおよび２５６ｂ、２つのフロントエンドバッファ２６０ａおよび２６０ｂ、および２つのバックエンドバッファ２６４ａおよび２６４ｂが示されているが、これらのバッファの数はいくつであってもよい。本発明の一実施形態では、フロントエンド２５８およびバックエンド２６２は、ＰＣＩバスのような高速リンク２６４ｃを通じて連結される。
【００３６】
図４Ｃを参照する。図４Ｃは、印刷ジョブの始めにフロントエンド２５８によって行われる方法４４０を示すフローチャートである。一般的に、フロントエンド２５８は、プリンタ２０２が印刷を始める前に、受信コントローラ２５４から２つのバッファの印刷データを受信し、第１および第２のフロントエンドバッファ２６０ａおよび２６０ｂにそのデータを格納し、第１および第２のバックエンドバッファ２６４ａおよび２６４ｂそのデータを送信する。
【００３７】
さらに具体的には、フロントエンド２５８は、受信コントローラ２５４から（図４Ｂのステップ４２６で送信された）第１の一組の印刷データを受信し、第１のフロントエンドバッファ２６０ａにその第１の一組の印刷データを格納する（ステップ４４２）。実際には、フロントエンド２５８は、バッファ２６０ａが満たされるまで、受信コントローラ２５４から印刷データを受信し、第１のフロントエンドバッファ２６０ａにそのデータを連続的に格納することが可能である。
【００３８】
フロントエンド２５８またはプリンタ２０２の他の構成要素は、（例えば、図１のステップ１１０を参照して上述した技術を使用して）第１の一組の印刷データの熱履歴制御を行い（ステップ４４４）、バックエンド２６２に得られた一組の印刷データを送信し（ステップ４４６）、そのデータは第１のバックエンドバッファ２６４ａに格納される。
【００３９】
フロントエンド２５８は、次いで受信コントローラ２５４からの第２の一組の印刷データを同様に処理する。さらに具体的には、このフロントエンドは、受信コントローラ２５４から第２の一組の印刷データを受信し、第２のフロントエンドバッファ２６０ｂにそのデータを格納する（ステップ４４８）。フロントエンド２５８は、第２の一組の印刷データの熱履歴制御を行い（ステップ４５０）、バックエンド２６２に得られた処理印刷データを送信し（ステップ４５２）、そのデータは第２のバックエンドバッファ２６４ｂに格納される。
【００４０】
図４Ｄを参照する。図４Ｄは、印刷ジョブの開始時、すなわち、印刷エンジン２２２が印刷を始める前に、バックエンド２６２によって行われる方法４６０を示すフローチャートである。一般的に、バックエンド２５８は、フロントエンド２５８から第１の二組の印刷データを受信し、バックエンドバッファ２６４ａおよび２６４ｂにそれらのデータを格納し、次いで印刷のために印刷エンジン２２２にそれらのデータを送信する。
【００４１】
さらに具体的には、バックエンド２６２は、フロントエンド２５８から（図４Ｃのステップ４４６で送信された）第１の一組の印刷データを受信し、第１のバックエンドバッファ２６４ａにその第１の一組の印刷データを格納する（ステップ４６２）。バックエンド２６２は、フロントエンド２５８から第２の一組の印刷データを受信し、第２の一組の印刷データを第２のバックエンドバッファ２６４ｂに格納する（ステップ４６４）。バックエンド２６２は、次いで第１の一組の処理印刷データ２６６を印刷エンジン２２２に送信し始め、処理印刷データ２６６の印刷を始める。
【００４２】
図４Ｅおよび４Ｆを参照する。両図は、本発明の一実施形態に基づいた、印刷開始後（すなわち、方法４４０および４６０の実行後）、フロントエンド２５８およびバックエンド２６２によって行われる方法４７０および４８０をそれぞれ示すフローチャートである。方法４８０を最初に説明する。
【００４３】
図４Ｄを参照して上述したように、バックエンド２６２は、フロントエンド２５８がバッファ２６４ａおよび２６４ｂの両方を満たした後に、印刷のために印刷エンジン２２２に印刷データ２６６の送信を始める。バックエンド２６２は、第１のバッファ２６４ａから印刷エンジン２２２への印刷データ２６６の供給を継続する。バックエンド２６２が、第１のバックエンドバッファ２６４ａから印刷エンジン２２２への印刷データの供給を終えると（ステップ４８２）、第１のバッファ２６４ａは空になる。第１のバッファ２６４ａが空であることを検出すると、バックエンド２６２は、（バス２６４ｃを通じて）フロントエンド２５８に、印刷する次の一組の印刷データのリクエストを送信する（ステップ４８４）。バックエンド２６２は、他のバッファ２６４ｂに格納される一組の印刷データの印刷を始める（ステップ４８６）。バックエンド２６２がフロントエンド２５８から次の一組の印刷データを受信している間に、ステップ４８６を行えることに留意されたい。方法４８０は、第１のバッファ２６４ａからの印刷に関して説明されているが、さらに一般的には、方法４８０は、バッファ２６４ａおよび２６４ｂのうちのいずれかからの印刷に適用する。
【００４４】
図４Ｅを参照する。フロントエンド２５８がバックエンド２６２から（ステップ４８４で送信された）次の一組の印刷データのリクエストを受信する場合（ステップ４７２）、フロントエンド２５８は、（フロントエンドバッファ２６０ａおよび２６０ｂのうちの現在の１つから）バックエンド２６２に次の一組の印刷データを送信し（ステップ４７４）、その一組の印刷データは、バックエンドバッファ２６４ａおよび２６４ｂのうちの空の１つに格納される。フロントエンド２５８は、バックエンド２６２に送信する次の一組の印刷データのソースとして、フロントエンドバッファ２６０ａと２６０ｂとの間でトグルすることが可能である。
【００４５】
要約すれば、印刷ジョブの始めに、受信コントローラ２５４は、２つのバッファの印刷データを受信し、そのデータのストライピング、スタガリング、およびステッチングを行い、フロントエンド２５８に印刷データを送信し、その印刷データはフロントエンドバッファ２６０ａおよび２６０ｂに格納する。フロントエンド２５８は、印刷データに熱履歴制御を行い、バックエンド２６２にその印刷データを送信し、そのデータはバックエンドバッファ２６４ａおよび２６４ｂに格納される。バックエンドバッファ２６４ａおよび２６４ｂが両方とも満たされると、バックエンド２６２は、印刷データ２６６を印刷し始めている印刷エンジン２２２に処理印刷データ２６６の送信を始める。バックエンドバッファ２６４ａおよび２６４ｂのうちのいずれかのデータが空になった場合、フロントエンド２５８のバックエンド２６２への別のバッファのデータの送信に応答して、バックエンド２６２は、フロントエンド２５８にリクエスト（例、中断）を送信し、データは空のバックエンドバッファに格納される。同様に、フロントエンドバッファ２６０ａおよび２６０ｂのうちのいずれかのデータが空になった場合、フロントエンド２５８は、受信コントローラ２５４から更なるデータを受信し、そのデータを空のフロントエンドバッファに格納する。
【００４６】
したがって、図４Ａ乃至４Ｆに関する上述の技術は、印刷ジョブの実行中に当該の印刷データ２６６が印刷エンジン２２２による印刷に常に利用可能であるように、処理印刷データ２６６を印刷エンジン２２２に効率的に供給できる様態で、印刷ジョブにストライピング、スタガリング、ステッチング、および熱履歴制御のような画像処理ステップの実行に使用することが可能である。その技術によって、印刷エンジン２２２は、停止することなく印刷ジョブ全体を印刷することが可能であるので、印刷ジョブの印刷に必要な総時間を最小限に抑えられる。
【００４７】
図６を参照する。図６は、ディスクまたは他の媒体に格納することが可能な印刷データファイル６００を示す図である。図６に示されるフォーマットで表すことが可能なデータの例には、プリンタ２０２（図２）に送信される印刷データ２０４、および受信バッファ２５６ａおよび２５６ｂ、フロントエンドバッファ２６０ａおよび２６０ｂ、およびバックエンドバッファ２６４ａおよび２６４ｂ（図５）に格納される印刷データが挙げられる。以下の説明では、印刷データ２０４は、図６に示されるフォーマットで格納されるものとする。
【００４８】
印刷データは、シアン、マゼンタ、およびイエローのピクセルの交互のラインで、印刷データファイル６００に配置される。図６ではライン７０２ａ乃至７０２ｌだけが選択されているが、実際には、データファイル６００は、印刷データ２０４のすべてを表すために必要な多数のラインを含むことが可能である。ライン７０２ａ乃至７０２ｌのそれぞれは、クロスウェブ方向３０８ｂ（図３）の、フルライン（すなわち行）を表す。例えば、図３の出力媒体３０２を使用した場合、ライン７０２ａ乃至７０２ｌのそれぞれは、１１，１００のピクセルを含むことになる。
【００４９】
さらに具体的には、ライン７０２ａは、印刷データ２０４のシアンのピクセルの第１のラインを含み、ライン７０２ｂは、印刷データ２０４のマゼンタのピクセルの第１のラインを含み、ライン７０２ｃは、印刷データ２０４のイエローのピクセルの第１のラインを含む。ライン７０２ｄは、印刷データ２０４のシアンのピクセルの第２のラインを含み、ライン７０２ｅは、印刷データ２０４のマゼンタのピクセルの第２のラインを含み、ライン７０２ｆは、印刷データ２０４のイエローのピクセルの第２のラインを含む。
【００５０】
ライン７０２ｇは、印刷データ２０４のシアンのピクセルの第３００のラインを含み、ライン７０２ｈは、印刷データ２０４のマゼンタのピクセルの第３００のラインを含み、ライン７０２ｉは、印刷データ２０４のイエローのピクセルの第３００のラインを含む。図の簡略化のため、印刷データ２０４の介在ライン２乃至２９９は、図６には示していない。最後に、ライン７０２ｊは、印刷データ２０４のシアンのピクセルの第ｎのラインを含み、ライン７０２ｅは、印刷データ２０４のマゼンタのピクセルの第ｎのラインを含み、ライン７０２ｆは、印刷データ２０４のイエローのピクセルの第ｎのラインを含む。ここで、ｎは印刷データ２０４の総ライン数である。図の簡略化のために、印刷データ２０４の介在ライン３０１−（ｎ−１）は、図６には示していない。
【００５１】
本発明の一実施形態では、フロントエンドバッファ２６０ａおよび２６０ｂ、およびバックエンドバッファ２６４ａおよび２６４ｂは、より小さなバッファに再分割され、それぞれが印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆのうちの１つに対応する。例えば、図７Ａを参照すると、図７Ａは、本発明の一実施形態に基づいた、フロントエンドバッファ２６０ａおよび２６０ｂを示す図である。第１のフロントエンドバッファ２６０ａは、シアンのプリントバッファ７０６ａ乃至７０６ｆと、マゼンタのプリントバッファ７０８ａ乃至７０８ｆと、イエローのプリントバッファ７１０ａ乃至７１０ｆとを備える。同様に、第２のフロントエンドバッファ２６０ｂは、シアンのプリントバッファ７１６ａ乃至７１６ｆと、マゼンタのプリントバッファ７１８ａ乃至７１８ｆと、イエローのプリントバッファ７２０ａ乃至７２０ｆとを備える。
【００５２】
フロントエンドバッファ２６０ａおよび２６０ｂのサブバッファのそれぞれは、印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆのうちの特定１つのための印刷データを格納する。例えば、プリントバッファ７０６ａは、シアンの印刷ヘッド３０６ａによって印刷される印刷データを格納し、プリントバッファ７０６ｂは、シアンの印刷ヘッド３０６ｂによって印刷される印刷データを格納する、といった具合である。同様に、プリントバッファ７０８ａおよび７１０ａは、マゼンタ／イエローの印刷ヘッドに３０４ａよって印刷される印刷データを格納し、プリントバッファ７０８ｂおよび７１０ｂは、マゼンタ／イエローの印刷ヘッド３０４ｂによって印刷される印刷データを格納し、他のプリントバッファも同様である。第２のフロントエンドバッファ２６０ｂのサブバッファは、第１のフロントエンドバッファ２６０ａにサブバッファと同様に配置される。さらに、受信バッファ２５６ａおよび２５６ｂ、およびバックエンドバッファ２６４ａおよび２６４ｂのサブバッファ（図示せず）は、図７Ａに示される様態でも配置することが可能である。
【００５３】
印刷データ２０４のストライピングを行うために、ストライパ２０６が使用することが可能な方法の一例を説明する前に、ストライピングを行ったデータの特定の例を説明する。図７Ｂを参照する。図７Ｂは、ストライパ２０６によってプリントバッファ２６０ａおよび２６０ｂに格納することが可能なストライピングを行った印刷データ２０８の特定の例を示す図である。バックエンドプリントバッファ２６４ａおよび２６４ｂのデータは、図７Ｂに示されるものと同じ配置で格納することが可能である。図７Ｂに示されるストライピングを行ったデータの配置の以下の説明によって、ストライピングを行ったデータ２０８を生成するために、ストライパ２０６が使用することが可能な技術の説明が容易になろう。
【００５４】
図７Ｂに示される例では、図の簡略のために、バッファ７０６ａ、７０６ｂ、および７０６ｆだけが示されているが、３００ラインのシアンの印刷データが、シアンのプリントバッファ７０６ａ乃至７０６ｆに格納される。シアンの印刷データは、以下のように、クロスウェブ方向にバッファ７０６ａ乃至７０６ｆに分割される。シアンのプリントバッファ７０６ａは、３００ラインのシアンの印刷データのそれぞれのピクセル１乃至１９２０を含む。例えば、バッファ７０６ａの第１のライン７５２ａは、第１のラインのシアンの印刷データのピクセル１乃至１９２０を含み、バッファ７０６ａの最後（第３００）のライン７５２ｂは、第３００のラインのシアンの印刷データのピクセル１乃至１９２０を含む。
【００５５】
シアンのプリントバッファ７０６ｂは、３００ラインのシアンの印刷データのそれぞれのピクセル１８３７乃至３７５６を含む。例えば、バッファ７０６ｂの第１のライン７５４ａは、第１のラインのシアンの印刷データのピクセル１８３７乃至３７５６を含み、バッファ７０６ｂの最後（第３００）のライン７５４ｂは、第３００のラインのシアンの印刷データのピクセル１８３７乃至３７５６を含む。最後に、バッファ７０６ｆの第１のライン７５６ａは、第１のラインのシアンの印刷データのピクセル１１，０１７乃至１１，１００を含み、バッファ７０６ｆの最後（第３００）のライン７５６ｂは、第３００のラインのシアンの印刷データのピクセル１１，０１７乃至１１，１００を含む。
【００５６】
バッファ７０６ａとバッファ７０６ｂとの間には８４ピクセルのオーバーラップがあることに留意されたい。さらに具体的には、バッファ７０６ａおよび７０６ｂは、両方とも３００ラインのシアンの印刷データのそれぞれのピクセル１８３７乃至１９２０を含む。このオーバーラップは、シアンの印刷ヘッド３０６ａとシアンの印刷ヘッド３０６ｂ（図３）との間の８４ピクセルのオーバーラップ領域３１０を表す。図７Ｂには示されていないが、バッファ７０６ｂ乃至７０６ｆは、類似したオーバーラップの複製印刷データを有する。マゼンタのプリントバッファ７０８ａ乃至７０８ｆおよびイエローのプリントバッファ７１０ａ乃至７１０ｆに格納されたデータは、シアンのプリントバッファ７０６ａ乃至７０６ｆに関する説明と同様に配置される。
【００５７】
図１および２に関して上述したように、ストライパ２０６は、印刷データ２０４にストライピングを行って、ストライピングを行った印刷データ２０８を生成することが可能である。一般的に、ストライパ２０６は、（１）印刷データ２０４を垂直のストライプ（すなわち列）に分割し、そのそれぞれは、複数の印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆのうちの１つによる印刷に好適である。また、（２）図７Ｂに示される配置で、フロントエンドプリントバッファ２６０ａおよび２６０ｂにストライピングを行ったデータを格納する。図８を参照する。図８は、印刷データ２０４のストライピングを行って、ストライピングを行った印刷データ２０８を生成する（図１のステップ１０４）ために、本発明の一実施形態に基づいて、ストライパ２０６によって行われる方法８００を示すフローチャートである。以下の方法８００の説明は図７Ａも参照し、ストライパ２０６による印刷データ２０４のストライピングを示す。
【００５８】
方法８００は、ラインカウンタ７２２ｂの値ＬＣを初期値（例えば１）に初期化する（ステップ８０２）。ラインカウンタ７２２ｂは、プリントバッファ２６０ａおよび２６０ｂに格納すべき印刷データ２０４の第１のラインの行番号を指定する。方法８００は、各印刷ヘッドバッファサイズ７２２ｃ（ライン）を識別する（ステップ８０４）。「印刷ヘッドバッファ」という用語は、個々の印刷ヘッドに関連するバッファのことを指す。例えば、バッファ７０６ａ乃至７０６ｆのそれぞれは、印刷ヘッドバッファである。
【００５９】
割り込み頻度７２２ａとは、更なる印刷データをリクエストするために、バックエンド２６２がフロントエンド２５８に割り込む頻度のことである。サイズ７２２ｃの値は、当該の割り込みの間に、少なくとも印刷エンジン２２２による印刷が可能な、できる限り多くのラインの印刷データを保持するように十分大きく選択することが可能である。サイズ７２２ｃの値は、出力媒体３０２のダウンウェブ速度７２２ｇ、印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆのダウンウェブ解像度７２２ｈ、および割り込み頻度７２２ａに基づいて、方法８００の開始前に選択することが可能である。
【００６０】
本実施例では、出力媒体３０２のダウンウェブ速度７２２ｇは、０．５インチ／秒であり、印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆのダウンウェブ解像度７２２ｈは、３００ｄｐｉである。割り込み頻度７２２ａは、２秒に１回割り込むものとする。出力媒体３０２は、各組の割り込みの間（０．５インチ／秒  ×  ２．０秒）に１．０インチ移動する。この時間の間に、３００ラインが印刷される（３００ｄｐｉ×１．０インチ）。したがって、プリントバッファ７０２ａおよびｂが、印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆの、割り込み中の連続的な印刷を可能にするように、十分な印刷データを保持するためのものである場合、プリントバッファサイズ７２２ｃは、少なくとも３００ラインでなければならない。上述のように、本実施例ではプリントバッファサイズ７２２ｃは、３００ラインである。プリントバッファサイズ７２２ｃを計算することによって、方法８００は、ステップ８０４で、割り込みの間に印刷されるライン数としてプリントバッファサイズ７２２ｃを識別することが可能である。
【００６１】
プリントバッファサイズ７２２ｃをＳとすると、方法８００は、ラインカウンタ７２２ｂによって指定されるライン番号ＬＣで始まる、（合計３Ｓラインに対して）Ｓラインのシアン、マゼンタ、イエローの印刷データを選択する（ステップ８０６）。例えば、ＬＣ＝１であれば、方法８００は、ステップ８０６で、印刷データ２０４のライン１乃至３００を取得する。
【００６２】
方法８００は、ピクセルカウンタＰＣ７２２ｉを１などの値に初期化する（ステップ８０８）。方法８００では、印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆのそれぞれの幅ＨＷ７２２ｅ（ステップ８１０）、およびオーバーラップ領域３１０の幅ＯＷ７２２ｊ（ピクセル）を識別する（ステップ８１２）。
【００６３】
ＨＣを各色のヘッド７２２ｄの数とする。本実施例では、ＨＣ＝６である。方法８００は、値１から始まり、値ＨＣで終わる変数Ｂ（バッファ）にわたるループに入る（ステップ８１４）。以下に詳述するように、Ｂにわたるループの各反復において、列３１８ａ乃至３１８ｆのうちの相異なる１つに対するバッファは、ストライピングを行った印刷データで満たされる。
【００６４】
方法８００は、変数Ｈ（ヘッド）にわたるループに入り、シアン、マゼンタ、およびイエローを表す値をとることが可能である（ステップ８１６）。方法８００は、ＨおよびＢの値によって指定されるバッファＨＢを識別する。例えば、Ｈ＝１、Ｂ＝１であれば、ＨＢはバッファ７０６ａある。Ｈ＝３、Ｂ＝３であれば、ＨＢはバッファ７１０ｃである。バッファ２６０ａが二次元配列であると見なされる場合、ＨおよびＢは、対応するバッファを認識するための二次元配列へのインデックスと見なすことが可能である。
【００６５】
方法８００は、バッファＨＢを色Ｈの印刷データで満たし、ピクセルＰＣで始まり、ピクセルＰＣ＋ＨＷ−１で終わる（ステップ８１８）。例えば、Ｈ＝１、Ｂ＝１、ＰＣ＝１、およびＨＷ＝１９２０であれば、バッファ７０６ａは、ステップ８０６で得られるシアンの印刷データのピクセル１乃至１９２０で満たすことが可能である。同様に、Ｈ＝２、Ｂ＝３、ＰＣ＝１８３７、およびＨＷ＝１９２０であれば、バッファ７０８ｃを、ステップ８０６で得られるマゼンタの印刷データのピクセル１８３７乃至３７５６で満たすことが可能である。方法８００は、Ｈの残りの値分、ステップ８１８を繰り返す（ステップ８２０）。
【００６６】
ステップ８１６乃至８２０のループが終了すると、方法８００は、満たされた一組のシアン、マゼンタ、およびイエローの印刷ヘッドバッファを有することになる。例えば、ステップ８１６乃至８２０のループが初めて行われるとき（すなわち、Ｂ＝１、ＰＣ＝１）、方法８００は、バッファ７０６ａ、７０８ａ、および７１０ａを、シアン、マゼンタ、およびイエローの印刷データのピクセル１乃至１９２０で満たす。
【００６７】
方法８００は、式ＰＣ＝ＰＣ＋ＨＷ−ＯＷを使用して、ピクセルカウンタＰＣに新しい値を割り当てる（ステップ８２２）。すなわち、方法８００は、印刷ヘッドの幅７２２ｅからオーバーラップ領域３１０の幅７２２ｊを引いた分、ピクセルカウンタ７２２ｉの値を増加させる。例えば、ＰＣ＝１の場合、ステップ８２４で、値１８３７（１＋１９２０−８４）をＰＣに割り当てる。当該の結果は、図７Ｂのバッファ７０６ｂ、７０８ｂ、および７１０ｂの左端のピクセルのピクセル番号に適合する。
【００６８】
ＢがＨＣよりも小さい場合、方法８００は、Ｂの値を増加して、ステップ８１６乃至８２２を繰り返す（ステップ８２４）。方法８００は、それによって次の列の印刷ヘッドバッファを満たす。Ｂにわたるループの残りは、図７Ｂに示されるように、印刷ヘッドバッファの残りの列を印刷データで満たすものと理解されたい。
【００６９】
上述のように、ストライパ２０６は、第１および第２のプリントバッファ２６０ａおよび２６０ｂに、選択的にストライピングを行った印刷データを格納することが可能である。バンクフラグ７２２ｆは、ストライパ２０６が、２つのバンク２６０ａおよび２６０ｂのいずれかに、いずれかの特定の時点で、ストライピングを行った印刷データ２０６を格納するものであることを示す、二進値を格納することが可能である。例えば、バンクフラグ７２２ｆは、スイッチ７２４に接続することが可能である。このスイッチは、バンクフラグ７２２ｆがゼロの場合に、第１のバンク２６０ａにストライパ２０６の出力２０８を命令し、またバンクフラグ７２２ｆが１の場合に、第２のバンク２６０ｂにストライパ２０６の出力２０８を命令する。
【００７０】
ストライパ２０６が、ストライピングを行ったデータ２０８を（ステップ８０６乃至８２４を行って）バンク２６０ａおよび２６０ｂのうちの１つに格納した後、方法８００は、バンクフラグ７２２ｆの値をトグルすることが可能である（ステップ８２６）。方法８００は、次いでＳの値だけラインカウンタ５２２ｂの値を増加させて（ステップ８２８）、ステップ８０６に戻ることが可能である。図８には示されていないが、方法４７０のステップ４７２（図４Ｅ）に関して上述したように、方法８００は、バックエンド２６２から次の割り込みを受信するまで、ステップ８０６を再び行うことができない。
【００７１】
例えば、ストライパ２０６が、ステップ８０６乃至８２４のワンパスで、ストライピングを行った印刷データ２０８をプリントバッファ２６０ａに格納するものとする。バンクフラグ７２２ｆがトグルされ（ステップ８２６）、次いでステップ８０６乃至８２４が行われるときに、印刷データ２０４から次の一組のＳラインがストライピングされ、ストライパ２０６によってプリントバッファのバンク２６０ｂに格納される。ステップ８０６乃至８２６の次のパスの間に、ストライパ２０６は、バッファ２６０ａにストライピングを行った印刷データを格納する。このように、ストライパ２０６は、選択的にバッファ２６０ａおよび２６０ｂにストライピングを行った印刷データ２０６を格納する。
【００７２】
２つのバッファのバンク２６０ａおよび２６０ｂを使用することによって、新しい一組のＳラインのストライピングを行ったデータ２０８を、バッファ２６０ａおよび２６０ｂのうちの１つに格納しながら、バッファ２６０ａおよび２６０ｂのうちの他方のストライピングを行ったデータに更なる処理または印刷を行うことができる。その結果、直前の一組のストライピングを行ったデータの印刷が終わった後に、直ちに印刷するために、新しい一組のストライピングを行ったデータを常に利用することが可能となる。このように、印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆには、連続的にデータを供給することが可能になるので、プリンタ２０２は、最高効率でデータを印刷することが可能になる。
【００７３】
図７Ｂおよび図８は、ストライパ２０６の動作に関して上述されているが、当業者は、印刷データ２０４の印刷を高効率で処理および印刷するために、スタガラ（ｓｔａｇｇｅｒｅｒ）２１０、ステッチャ２１４、および熱履歴制御エンジン２１８の動作に、どのように同様の技術を適用するのかを理解されよう。
【００７４】
上述のように、スタガラ２１０は、ストライピングを行った印刷データ２０８のスタガリングを行って、スタガリングを行った印刷データ２１２を生成する。「スタガリング」という用語は、ダウンウェブ方向３０８ａの印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆの物理的なスタガリングを考慮し、それによって、適切な時間に、印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆに適切な印刷データを供給するシーケンスで、印刷ヘッド３０４ａ乃至３０４ｆおよび３０６ａ乃至３０６ｆにデータを提供する処理を指す。スタガリングを適切に行うには、ダウンウェブの印刷速度、およびダウンウェブの解像度を考慮する必要もある。
【００７５】
スタガリングの必要性は、図３を参照することで理解することができよう。例えば、マゼンタ／イエローの印刷ヘッド３０４ａ乃至３０４ｆによる単一ラインの印刷データの印刷を考える。図３から、出力媒体３０２は、最初にマゼンタ／イエローの印刷ヘッド３０４ａ、３０４ｃ、および３０４ｅの下を同時に通り、次いで（本実施例では８秒後に）マゼンタ／イエローの印刷ヘッド３０４ｂ、３０４ｄ、および３０４ｆの下を同時に通ることがわかる。印刷されるべきピクセルのライン全体が、６つすべてのマゼンタ／イエローの印刷ヘッド３０４ａ乃至３０４ｆに同時に供給された場合、ピクセルのラインは、２つの相異なる行３１６ａおよび３１６ｃにおける印刷ヘッド３０４ａ乃至３０４ｆの物理的なスタガリングにより、出力媒体３０２に不連続なセグメントで印刷することになる。したがって、得られるピクセルのラインが実際に出力媒体３０２に単一のラインで印刷されるような方法で、経時的に印刷ヘッド３０４ａ乃至３０４ｆに供給される印刷データのスタガリングが必要である。
【００７６】
図９を参照する。図９は、本発明の一実施形態に基づいた、スタガラ２１０の動作を詳細に示す機能ブロック図である。図１０を参照する。図１０は、本発明の一実施形態に基づいた、スタガリングを行うための方法１０００を示すフローチャートである。例えば、方法１０００は、スタガラ２１０が、ストライピングを行った印刷データ２０８のスタガリングを行い、それによって、スタガリングを行った印刷データ２１２を生成する（図１のステップ１０６）ために使用することが可能である。
【００７７】
図９を参照する。クロック９０２は、時間信号Ｔ９０４を出力する。例えば、クロック９０２は、時間信号Ｔ９０４を、印刷ヘッドのサイクル期間と同じ間隔で更新することが可能である。スタガラ１１０は、印刷ヘッドの行３１６ａ乃至３１６ｄ（図３）のそれぞれによって生成される出力が、第１の行３１６ａが出力を生成した時間からオフセットされることによる時間量を示す、一組の時間オフセット９０６を含む。Ｒを行番号とし、行３１６ａに対してＲ＝０、行３１６ｂに対してＲ＝１、行３１６ｃに対してＲ＝２、行３１６ｄに対してＲ＝３とする。ΔＴ（Ｒ）を行Ｒに対する時間オフセットとする。例えば、図３に示される相対的タイミングを使用すると、ΔＴ（０）＝０秒、ΔＴ（１）＝２秒、ΔＴ（２）＝８秒、およびΔＴ（３）＝１０秒である。ΔＴ（Ｒ）の各値は、ΔＴ（０）の値に相対的であるので、ΔＴ（０）は常にゼロである。
【００７８】
方法１０００は、Ｔ９０４の現在の値を受信する（ステップ１００２）。スタガラ２１０は、時間オフセットΔＴ（Ｒ）９０６ａ乃至９０６ｄから時間信号Ｔ９０４を減算して、行３１６ａ乃至３１６ｄのそれぞれに対して実効時間Ｔｅｆｆ（Ｒ）９１０を生成する、減算器９０８を備える（ステップ１００４）。例えば、上述の時間オフセット８０６ａ乃至８０６ｄの値を使用すると、Ｔ＝０の場合、Ｔｅｆｆ（０）＝０、Ｔｅｆｆ（１）＝−２、Ｔｅｆｆ（２）＝−８、およびＴｅｆｆ（３）＝−１０である。
【００７９】
方法１０００は、Ｒの各値（例、値０、１、２、および３）にわたりループに入る（ステップ１００６）。方法１０００は、Ｒの現在の値に対して、Ｔｅｆｆ（Ｒ）がゼロ未満であるかどうかを判断する（ステップ１００８）。Ｔｅｆｆ（Ｒ）がゼロ未満である場合、方法１０００は、行Ｒに対するバッファにヌルデータ（ゼロ値）を格納する（ステップ１０１０）。それ以外ならば、方法１０００は、行Ｒに対するバッファに時間Ｔｅｆｆ（Ｒ）に対するストライピングを行ったデータ２０８を格納する（ステップ１０１２）。時間Ｔｅｆｆ（Ｒ）の行Ｒの印刷ヘッドに対するストライピングを行ったデータ２０８は、例えば、ライン番号Ｔｅｆｆ（Ｒ）×印刷ヘッドのダウンウェブの解像度×出力媒体３０２のダウンウェブ速度、で始まるストライピングを行った印刷データ２０８となりうる。
【００８０】
以下、ステップ１００８乃至１０１２の動作を、特定の例に関して詳述する。例えば、Ｔ＝０秒の場合の印刷ジョブの開始を考える。以下、Ｒ＝０およびΔＴ（０）＝０秒として行３１６ａを考える。この場合、Ｔｅｆｆ（０）＝Ｔ−ΔＴ（０）＝０−０＝０である。したがって、この場合、方法１０００は、ステップ１００８でＴｅｆｆ（０）が０未満ではないと判断するので、マゼンタ／イエローの印刷ヘッド３０４ａ、３０４ｃ、および３０４ｅに対する印刷バッファに、時間Ｔｅｆｆ（０）（例、０秒）に対するストライピングした印刷データを格納する。当該のストライピングを行った印刷データは、ストライピングを行った印刷データ２０８のラインゼロから始まる。これは、印刷開始時、出力媒体３０２が、行３１６ａの印刷ヘッド３０４ａ、３０４ｃ、および３０４ｅの下を通過するため、適切な結果である。
【００８１】
以下、同じ印刷ジョブの開始時、（Ｔ＝０秒）、Ｒ＝１およびΔＴ（０）＝２秒として行３１６ｂを考える。この場合、Ｔｅｆｆ（１）＝Ｔ−ΔＴ（０）＝０−２＝−２である。したがって、この場合、方法１０００は、ステップ１００８でＴｅｆｆ（１）が０未満であると判断するので、シアンの印刷ヘッド３０６ａ、３０６ｃ、および３０６ｅに対する印刷バッファに、ヌルの印刷データを格納する。これは、印刷開始時、出力媒体３０２が、行３１６ｂの印刷ヘッド３０６ａ、３０６ｃ、および３０６ｅの下をまだ通っていないため、適切な結果である。時間Ｔ＝０での行３１６ｃおよび３１６ｄの印刷ヘッドに対して、同じ結果が得られる。
【００８２】
以下、印刷ジョブの２秒後、Ｔ＝０秒での場合を考える。以下、Ｒ＝０およびΔＴ（０）＝０秒として行３１６ａを考える。この場合、Ｔｅｆｆ（０）＝Ｔ−ΔＴ（０）＝２−０＝２である。したがって、この場合、方法１０００は、ステップ１００８でＴｅｆｆ（０）が０未満ではないと判断するので、マゼンタ／イエローの印刷ヘッド３０４ａ、３０４ｃ、および３０４ｅに対する印刷バッファに、時間Ｔｅｆｆ（０）（例、２秒）に対するストライピングした印刷データを格納する。当該のストライピングを行った印刷データは、ストライピングを行った印刷データ２０８のライン３００から始まる。
【００８３】
以下、Ｒ＝１およびΔＴ（０）＝２秒として行３１６ｂを考える。Ｔ＝２の場合、Ｔｅｆｆ（１）＝Ｔ−ΔＴ（０）＝２−２＝０である。この場合、方法１０００は、ステップ１００８でＴｅｆｆ（１）が０未満ではないと判断するので、シアンの印刷ヘッド３０６ａ、３０６ｃ、および３０６ｅに対する印刷バッファに、時間Ｔｅｆｆ（１）（例、０秒）に対するストライピングした印刷データを格納する。当該のストライピングを行った印刷データは、ストライピングを行った印刷データ２０８のラインゼロから始まる。これは、時間Ｔ＝０から、行３１６ａによって印刷される領域の始めが、まさに行３１６ｂの下を通り始める、適切な結果である。時間Ｔ＝０で、方法１０００は、行３１６ｃおよび３１６ｄに対するプリントバッファにヌルデータを格納し続ける。
【００８４】
以下、印刷ジョブの８秒後、Ｔ＝８秒での場合を考える。以下、Ｒ＝０およびΔＴ（０）＝０秒として行３１６ａを考える。この場合、Ｔｅｆｆ（０）＝Ｔ−ΔＴ（０）＝８−０＝８である。したがって、この場合、方法１０００は、ステップ１００８でＴｅｆｆ（０）が０未満ではないと判断するので、マゼンタ／イエローの印刷ヘッド３０４ａ、３０４ｃ、および３０４ｅに対する印刷バッファに、時間Ｔｅｆｆ（０）（例、８秒）に対するストライピングした印刷データを格納する。当該のストライピングを行った印刷データは、ストライピングを行った印刷データ２０８のライン１２００から始まる。
【００８５】
以下、Ｒ＝１およびΔＴ（１）＝２秒として行３１６ｂを考える。Ｔ＝８の場合、Ｔｅｆｆ（１）＝Ｔ−ΔＴ（１）＝８−２＝６である。この場合、方法１０００は、ステップ１００８でＴｅｆｆ（１）が０未満ではないと判断するので、シアンの印刷ヘッド３０６ａ、３０６ｃ、および３０６ｅに対する印刷バッファに、時間Ｔｅｆｆ（１）（例、６秒）に対するストライピングした印刷データを格納する。当該のストライピングを行った印刷データは、ストライピングを行った印刷データ２０８のライン９００から始まる。
【００８６】
以下、Ｒ＝２およびΔＴ（２）＝８秒として行３１６ｃを考える。Ｔ＝８の場合、Ｔｅｆｆ（２）＝Ｔ−ΔＴ（２）＝８−８＝０である。この場合、方法９００は、ステップ１００８でＴｅｆｆ（２）が０未満ではないと判断するので、シアンの印刷ヘッド３０６ａ、３０６ｃ、および３０６ｅに対する印刷バッファに、時間Ｔｅｆｆ（２）（例、０秒）に対するストライピングした印刷データを格納する。当該のストライピングを行った印刷データは、ストライピングを行った印刷データ２０８のラインゼロから始まる。これは、時間Ｔ＝８から、行３１６ｃによって印刷される領域の始めが、まさに行３１６ａの下を通り始める、適切な結果である。時間Ｔ＝８で、方法１０００は、行３１６ｄに対するプリントバッファにヌルデータを格納し続ける。
【００８７】
更なる例を提供することができるが、上述の説明からステップ１００８乃至１０１２の動作は明らかである。時間信号Ｔ９０４は、ストライピングを行った印刷データ２０８のすべてのラインに対して増加させることが可能であるが、その場合、ステップ１０１０乃至１０１２で、プリントバッファに格納された印刷データのライン数は、Ｔを更新する間に印刷されたライン数に等しくなりうる。例えば、Ｔが１．０秒ごとに更新される場合、ステップ１０１０乃至１０１２では、１５０ラインの印刷データ（０．５インチ／秒×１．０秒×３００ドット／インチ）をそれぞれ格納し、時間Ｔｅｆｆ（Ｒ）に対応する印刷データのラインから始まる。
【００８８】
方法１０００は、残りの値のＲに対してステップ１００８乃至１０１２を繰り返すことによって（ステップ１０１４）、残りの行３１６ｂ乃至３１６ｄに対するバッファを、ストライピングを行った印刷データ２０８のサブセットまたはヌルデータによって満たす。方法１０００は、クロック９０２から時間信号Ｔ９０４を受信した場合に、ステップ１００４乃至１０１４を繰り返す。
【００８９】
本発明の利点の中には、以下のうちの１つ以上が挙げられる。本願明細書に開示される技術のうちの１つの利点は、それらの技術によって、ストライピングおよびスタガリングなどの画像処理ステップが、バッファのデータを構成することによって効率的に行うことができることである。このバッファは、印刷データが、マルチヘッドプリンタの印刷ヘッドへの連続的な供給を確保するように選択されたバッファサイズおよび関連する割り込み頻度を有する。当該のプリンタのアーキテクチャは、モジュール式かつ拡張可能であるので、速度が増加したときに、次世代のプリンタとの使用に好適である。
【００９０】
さらに、上述の技術は、ＲＴＯＳ（リアルタイムオペレーティングシステム）ではなく、Ｌｉｎｕｘオペレーティングシステムのような規制のオペレーションシステムを使用して、十分な速度で印刷データを供給するために使用することができる。ＲＴＯＳは、一般的に、従来の規制のオペレーティングシステムよりも高い帯域幅保障を提供するが、規模の大きさによってより高価になることも多い。その結果、従来の既製のオペレーティングシステムを使用した、十分な速度での印刷データの処理能力によって、プリンタは、ＲＴＯＳとの組み合わせが可能なものよりもはるかに低コストで製造することが可能である。
【００９１】
より一般的には、本願明細書に開示される技術は、リアルタイムオペレーティングシステムを用いずに、またプリンタに必要なＲＡＭの量を最小限に抑えながら、高速印刷を可能にするように用いることによって、プリンタの製造コストをさらに低減することが可能である。例えば、非リアルタイムオペレーティングシステムの最短の割り込み間隔が７００ミリ秒とする。そのような場合、最小のプリントバッファのサイズは、１０５ライン（上述の図の例を用いて、０．７×３００×０．５）である。このサイズのバッファを実装するのに必要なＲＡＭの総量は、容易に計算することが可能である。既知量の増設ＲＡＭが、プリンター搭載ソフトウェアおよび他のバッファプリンタに必要となる場合がある。したがって、必要な最小のプリントバッファのサイズを満たすために必要なＲＡＭの最小量を計算することが可能であり、最大処理量で印刷ができるプリンタを最小限のコストで製造することができる。
【００９２】
上述の技術の別の利点は、実際の印刷データであれヌルデータであれ（図１０）、印刷中に常に印刷ヘッドにいくつかのデータを供給することによって、印刷品質を向上させることが可能なことである。例えば、熱履歴制御エンジン２１８は、ある温度範囲で最適に動作することが可能であるが、「冷えた」印刷ヘッド（すなわち、熱履歴制御エンジン２１８を最適化するには、その温度が温度範囲の下限よりも低い印刷ヘッド）に供給されるデータの生成に使用した場合には、良好に機能することができない。そのような場合、印刷ヘッドには、方法１０００への他の変更を必要とせずに、ステップ１０１０（図１０）で、ヌルデータではなく余熱データを供給することが可能である。熱履歴制御エンジン２１８の出力が向上するように、それによって印刷ヘッドを予熱することが可能である。当該の技術は、例えば、ヌルデータの使用と組み合わせることが可能である。例えば、（直線の印刷ジョブなどによって）印刷ヘッドがすでに暖かい場合は、ヌルデータを印刷ヘッドに供給することが可能であり、一方で、印刷ヘッドが冷たい場合は、余熱データを印刷ヘッドに供給することが可能である。
【００９３】
本発明を特定の実施形態に関して上述したが、上述の実施形態は、例示のためだけに提供したものであり、本発明の範囲を限定または規定するものではないことを理解されたい。以下を含むがこれに限定されない様々な他の実施形態もまた、請求項の範囲内である。例えば、本願明細書に開示される要素および構成要素は、更なる構成要素にさらに分割するか、または結合させて、より少ない構成要素で同じ機能を実行するように形成することが可能である。
【００９４】
本発明の様々な実施形態を感熱式プリンタに関して説明しているが、本願明細書に開示される技術は、感熱式プリンタとの使用に限定するものではない。むしろ、本願明細書に開示される技術は、あらゆる種類のプリンタとともに使用することが可能である。さらに、本願明細書に開示される技術は、印刷ヘッドの数、色、解像度、または速度のような、開示された特定の例の他の機能を有するプリンタとの使用に限定するものではない。
【００９５】
上述の技術は、例えば、ハードウェア、ソフトウェア、ファームウェア、またはそれらを組み合わせたものにおいて使用することが可能である。上述の技術は、プロセッサ、プロセッサ可読の記憶媒体（揮発性および不揮発性メモリおよび／または格納要素などを含む）、少なくとも１つの入力装置、および少なくとも１つの出力装置を含む、プログラム可能なコンピュータ上で実行する１つ以上のコンピュータプログラムで使用することが可能である。プログラムコードは、上述の機能および出力を生成するために、入力装置を使用して入力した入力に適用することが可能である。出力は、１つ以上の出力装置に供給することが可能である。
【００９６】
以下の請求項の範囲内の各コンピュータプログラムは、アセンブリ言語、機械語、高レベル手続きプログラミング言語、またはオブジェクト指向プログラミング言語のような、あらゆるプログラミング言語で実行することが可能である。プログラミング言語は、例えば、コンパイルまたはインタプリタ型プログラミング言語であってよい。
【００９７】
当該の各コンピュータプログラムは、コンピュータプロセッサによる実行のために、機械可読の記憶装置内に具体的に取り入れられたコンピュータプログラム製品で実行することが可能である。本発明の方法ステップは、入力によって動作することによって、および出力を生成することによって本発明の機能を実行するために、コンピュータ可読媒体に具体的に取り入れられたプログラムを実行する、コンピュータプロセッサによって実行することが可能である。例として、適切なプロセッサには、汎用および専用マイクロプロセッサの両方が挙げられる。概して、プロセッサは、読出し専用メモリおよび／またはランダムアクセスメモリから指示およびデータを受信する。コンピュータプログラムの命令を明らかに取り入れるために好適な記憶装置には、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリを含む半導体メモリ装置のようなすべての形態の不揮発性メモリ、内蔵のハードディスクおよび着脱可能なディスクのような磁気ディスク、光磁気ディスク、およびＣＤ−ＲＯＭなどが挙げられる。上述のいずれかのものは、特注のＡＳＩＣ（特定用途向け集積回路）またはＦＰＧＡ（フィールドプログラマブルゲートアレイ）によって、またはこれらに組み込むことによって、補うことが可能である。コンピュータは、概して、内臓ディスク（図示せず）または着脱可能なディスクなどの記憶媒体から、プログラムおよびデータを受信することもできる。これらの要素はまた、従来のデスクトップまたはワークステーションコンピュータ、および本願明細書に開示された方法を使用したコンピュータプログラムの実行に好適な他のコンピュータに見出される。これらの要素は、あらゆるデジタル印刷エンジンまたはマーキングエンジン、ディスプレイモニタ、または紙、フィルム、ディスプレイ画面、または他の出力媒体上に、カラーまたはグレースケールのピクセルを生成できる他のラスタ出力装置、とともに使用することが可能である。
【図面の簡単な説明】
【００９８】
【図１】印刷ジョブを行うために本発明の一実施形態で使用される方法のフローチャートである。
【図２】本発明の一実施形態に基づいた、図１の方法を行うシステムの機能ブロック図である。
【図３】本発明の一実施形態に基づいた、複数の印刷ヘッドのレイアウトを示す図である。
【図４Ａ】本発明の一実施形態に基づいた、印刷ジョブを印刷するために図２のプリンタによって使用される方法のフローチャートである。
【図４Ｂ】本発明の一実施形態に基づいた、印刷ジョブを印刷するために図２のプリンタによって使用される方法のフローチャートである。
【図４Ｃ】本発明の一実施形態に基づいた、印刷ジョブを印刷するために図２のプリンタによって使用される方法のフローチャートである。
【図４Ｄ】本発明の一実施形態に基づいた、印刷ジョブを印刷するために図２のプリンタによって使用される方法のフローチャートである。
【図４Ｅ】本発明の一実施形態に基づいた、印刷ジョブを印刷するために図２のプリンタによって使用される方法のフローチャートである。
【図４Ｆ】本発明の一実施形態に基づいた、印刷ジョブを印刷するために図２のプリンタによって使用される方法のフローチャートである。
【図５】本発明の一実施形態に基づいた、図２のプリンタを介した印刷データの流れを示す図である。
【図６】本発明の一実施形態に基づいた、ディスクまたは他の媒体への格納が可能な印刷データファイルの図である。
【図７Ａ】本発明の一実施形態に基づいた、印刷データにストライピングを行うためのシステムを示す図である。
【図７Ｂ】本発明の一実施形態に基づいた、ストライピングを行った印刷データを示す図である。
【図８】本発明の一実施形態に基づいた、印刷データにストライピングを行うために使用する方法のフローチャートである。
【図９】本発明の一実施形態に基づいた、印刷データにスタガリングを行うための術を示す機能ブロック図である。
【図１０】本発明の一実施形態に基づいた、印刷データにスタガリングを行うための方法のフローチャートである。
【図１】
2007530318.tif 000003
【図２】
2007530318.tif 000004
【図３】
2007530318.tif 000005
【図４Ａ】
2007530318.tif 000006
【図４Ｂ】
2007530318.tif 000007
【図４Ｃ】
2007530318.tif 000008
【図４Ｄ】
2007530318.tif 000009
【図４Ｅ】
2007530318.tif 000010
【図４Ｆ】
2007530318.tif 000011
【図５】
2007530318.tif 000012
【図６】
2007530318.tif 000013
【図７Ａ】
2007530318.tif 000014
【図７Ｂ】
2007530318.tif 000015
【図８】
2007530318.tif 000016
【図９】
2007530318.tif 000017
【図１０】
2007530318.tif 000018
【国際調査報告】
2007530318.tif 000019
2007530318.tif 000020
2007530318.tif 000021
2007530318.tif 000022