(57)【要約】      （修正有）【課題】プリントバッファが更新された量に応じて出力媒体の送り量を制御する。【解決手段】出力データを保持し、プリンタエンジン１０５に適合した形式で出力するプリントバッファ１０４と、エンジン出力単位の出力時間毎にプリントバッファ１０４が更新された更新量を検出するバッファ更新量検出部１０６と、バッファ更新量検出部１０６により検出された更新量に基づいて、出力媒体の送り量を決定する出力媒体送り量決定部１０７と、を備える。【選択図】図１
2008119855.tif 000002
【特許請求の範囲】
【請求項１】
出力データを保持し、出力エンジンに適合した形式で出力するプリントバッファと、
エンジン出力単位の出力時間毎に前記プリントバッファが更新された更新量を検出するバッファ更新量検出手段と、
前記バッファ更新量検出手段により検出された更新量に基づいて、出力媒体の送り量を決定する送り量決定手段と、
を備えることを特徴とする画像出力装置。
【請求項２】
前記送り量決定手段で決定された送り量により出力エンジンのパス数を決定することを特徴とする請求項１記載の画像出力装置。
【請求項３】
前記送り量決定手段で決定された送り量により出力エンジンで使用するノズル数を決定することを特徴とする請求項１記載の画像出力装置。
【請求項４】
前記プリントバッファの前段に、入力色空間を出力エンジンの色制限範囲に適合させる第１の色変換手段と、
前記プリントバッファの後段に、出力エンジンの色材の色空間に変換する第２の色変換手段とを備えることを特徴とする請求項１乃至３の何れか一項記載の画像出力装置。
【請求項５】
出力データを保持し、出力エンジンに適合した形式で出力するプリントバッファを備える画像出力装置の制御方法であって、
エンジン出力単位の出力時間毎に前記プリントバッファが更新された更新量を検出するバッファ更新量検出工程と、
前記バッファ更新量検出工程で検出された更新量に基づいて、出力媒体の送り量を決定する送り量決定工程と、
を有することを特徴とする画像出力装置の制御方法。
【請求項６】
請求項５記載の画像出力装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項７】
請求項６記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷向け画像出力装置及びその制御方法に関する。
【背景技術】
【０００２】
近年、プリンタにおいては、高画質化・高速化の進展によりインク色（種）やノズル数及び出力解像度等が年々増加してきている。これに伴い、出力データをエンジン出力単位＋所定量分保持し、出力エンジンに適合した形式で出力用プリントバッファの容量も爆発的に増加してきている。
【０００３】
一方、画像処理においては色変換に代表されるデータ変換処理が増加しつつある。このデータ変換処理は、複雑な処理を簡略化するために、ルックアップテーブル（ＬＵＴ）で構成される場合が多いが、全ての色空間を直接ＬＵＴで変換するには、膨大なメモリ容量が必要となる。そこで、入力色空間を所定単位の小立方体に分割し、その頂点（格子点）に対する出力値だけをＬＵＴに格納し、それ以外の入力値については近傍の頂点（格子点）の出力値より補間演算によって算出する方法が一般的である。補間方法として、立方体補間、三角柱補間、四角錐補間、四面体補間などが提案されている（例えば、特許文献１及び２参照）。
【０００４】
しかしながら、上記ＬＵＴ＋補間方法では、変換精度を上げるために格子点を増やすと、ＲＧＢ等の３次元入力では３乗に比例してＬＵＴ容量が増大する。更に、入力デバイスの色再現範囲を増大させるため、ＲＧＢＥ（Ｅ：エメラルド）のように、特色を追加する場合もあり、その場合は４乗に比例してＬＵＴ容量が増大する。
【０００５】
そこで、上記ＬＵＴの容量を削減するため、上記ＬＵＴをキャッシュ化する方法が提案されている。
【特許文献１】特開昭53-123201号公報
【特許文献２】特開2000-22973号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＬＵＴをキャッシュ化した場合、キャッシュのミスヒットが全体の処理時間に大きく影響する。特に、出力エンジンに同期して動作させる場合、このミスヒットの影響は大きく、ミスヒットによる処理の遅延でプリントバッファの更新が間に合わず、出力画像が破綻してしまう恐れがある。そこで、ミスヒットを防ぐ方法が多く提案されてきているが、全ての入力データにおいて破綻しないことを保証することは、非常に困難であった。
【０００７】
本発明は、プリントバッファが更新された量に応じて出力媒体の送り量を制御することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、出力データを保持し、出力エンジンに適合した形式で出力するプリントバッファと、エンジン出力単位の出力時間毎に前記プリントバッファが更新された更新量を検出するバッファ更新量検出手段と、前記バッファ更新量検出手段により検出された更新量に基づいて、出力媒体の送り量を決定する送り量決定手段とを備えることを特徴とする。
【０００９】
また、本発明は、出力データを保持し、出力エンジンに適合した形式で出力するプリントバッファを備える画像出力装置の制御方法であって、エンジン出力単位の出力時間毎に前記プリントバッファが更新された更新量を検出するバッファ更新量検出工程と、前記バッファ更新量検出工程で検出された更新量に基づいて、出力媒体の送り量を決定する送り量決定工程とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、プリントバッファが更新された量に応じて出力媒体の送り量を制御することにより画像出力の破綻を防止することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【００１２】
［第１の実施形態］
図１は、第１の実施形態における画像出力装置の構成例を示す概略ブロック図である。第１の実施形態では、前段色変換処理１０１から後段色変換処理１０３を経て、プリンタエンジン１０５へデータが出力される。ここで、前段色変換処理１０１のキャッシュミスによる遅延を平滑化するために、バッファ（FIFO）１０２が備えられている。
【００１３】
また、後段色変換処理１０３以降は、プリンタエンジン１０５に同期してデータを出力する必要があることから、後段色変換処理１０３とプリンタエンジン１０５との間には、プリントバッファ１０４が設けられている。
【００１４】
尚、このプリントバッファ１０４は後段色変換処理１０３の後に設けられているので、インク（プレーン）数分のバッファ容量を持つ必要がある。また、このプリントバッファ１０４は、プリンタエンジン１０５に適合した形式で出力データを保持する。
【００１５】
第１の実施形態では、エンジン出力単位の出力時間毎にプリントバッファ１０４の更新量を検出するバッファ更新量検出部１０６と、その検出結果に基づき出力媒体の送り量を決定する出力媒体送り量決定部１０７とを設けている。そして、この出力媒体送り量決定部１０７がプリンタエンジン１０５に対して制御信号（パス数、使用ノズル数）を出力することで、プリントバッファ１０４の更新が間に合わずに起こる画像出力の破綻を防止することが可能となる。
【００１６】
次に、第１の実施形態におけるプリンタエンジン１０５の動作を、図２〜図５を用いて説明する。ここでは、左右交互印字（ヘッドが左からスタートし、次に右、次に左と交互に印字する場合）を例に挙げて説明する。
【００１７】
図２は、通常のプリント動作（双方向：１パス）を説明するための図である。ここでは、プリンタエンジン１０５がラスタ方向に１パス印字を行う場合、即ち、１走査でノズル高さ分の画像を形成する場合を説明する。
【００１８】
図２に示す（Ａ）のように、まず、紙の左側上部（左上）より印字を開始し、１ライン（Ｃ（０）部分）を印字するとヘッドを紙の横に一時停止させ、その後、１パス分の紙送りを行う。次に、図２に示す（Ｂ）のように、右側上部（前回印字したすぐ下）より同様に、Ｃ（１）部分を印字し、２ライン分（Ｃ（１）のライン）を印字するとヘッドを横に一次停止させ、１パス分の紙送りを行う。図２に示す（Ｃ）のように、この動作を続け、１画像（Ｃ（０）〜Ｃ（Ｚ））を印字すると、プリント動作を終了する。
【００１９】
次に、２パス及び４パスのプリント動作を、図３及び図４を用いて説明する。図３は、２パスのプリント動作を説明するための図である。
【００２０】
１パスと比較するために、図３に示す（Ａ）に１パスの動作を、（Ｂ）に２パスの動作を示している。尚、１パスの動作は図２に示すものと同じである。
【００２１】
図３に示す（Ｂ）のように、２パスは、２回の走査でノズル高さ分の画像を生成する。１回目の走査による印字をＡ、２回目の走査による印字をＢとし、Ａの後にＢを印字したものを、Ｃ（Ａ＋Ｂ）とする。このＣで示す部分が１パスで形成された画像（完成された出力）と等価になる。
【００２２】
まず、Ａ（０）を下半分のノズルで印字していき、Ａ（０）の印字が１走査終わると、今度は上半分のノズルでＢ（１）の印字を、下半分のノズルでＡ（１）の印字を開始する。これ以降同様に、上から順に最初のパスでＡ（ｉ）を印字し、次のパスでＢ（ｉ＋１）を印字していく。そして、画像全てを印字したところで終了する。尚、２パスの場合は、１パスの時と比べ、紙送り量が１／２であることに着目する。
【００２３】
図４は、４パスのプリント動作を説明するための図である。図３に示す（Ｂ）の２パスでは、２回の走査で画像が生成されたが、４パスでは、図４に示すように、４回の走査で画像が生成される。これ以外は同様であるので説明は省略する。尚、紙送り量は１パスの時の１／４となる。
【００２４】
次に、バッファ更新量検出部１０６がプリントバッファ１０４のバッファ更新量を検出し、出力媒体送り量決定部１０７がパス数を制御する方法を、図５を用いて説明する。
【００２５】
図５は、バッファ更新量を検出する方法を説明するための図である。図５に示す［０］は、バッファが更新されて行く様子である。［１］〜［３］は、プリント動作の１走査の終了時におけるバッファ更新状態である。
【００２６】
例えば、プリント動作の１走査の終了時におけるバッファ更新状態が［１］であったとする。この場合、既に１パス分（この例では、１６ラインとする）のデータが揃っているので、１パス分を一度に印字することが可能であると判断し、プリンタエンジン１０５に対して１パス印字（紙送り量：１パス（１６ライン））を指示する。
【００２７】
また、別のタイミングで、プリント動作の１走査の終了時におけるバッファ更新状態が［２］であったとする。この場合、１パス分のデータは揃っていないが、２パス分（１６／２＝８ライン分）のデータが揃っているので、２パスでの印字が可能であると判断し、プリンタエンジン１０５に対して２パス印字（紙送り量：２パス（８ライン））を指示する。
【００２８】
そして、［３］の場合は、２パス分のデータは揃っていないが、４パス分（１６／４＝４ライン分）のデータが揃っているので、プリンタエンジン１０５に対して４パス印字（紙送り量：４パス（４ライン））を指示する。
【００２９】
次に、プリントバッファ１０４の更新が間に合わずに起こる画像出力の破綻を防止する制御を、図６を用いて説明する。
【００３０】
図６は、第１の実施形態における画像出力の破綻を防止する制御を説明するための図である。図６に示す（Ａ）は問題例であり、図５に示す［２］、［３］のように、更新量が１パス（又は現在のパス数）に満たない場合に、対策無しで印字した時の出力画像結果である。即ち、最初の印字Ｃ（０）がスタートし、次の印字を行う際に、プリントバッファの更新量が足りなかった場合（図６では、約半数が未更新である）、データがないため、更新前のデータＸが印字されてしまう。このため、この部分（図中、Ｘ（１）の部分）の画像が乱れる。
【００３１】
一方、図６に示す（Ｂ）は、印字データを変更しない（印字に使用するノズル数を変更する）解決例、（Ｃ）は、印字データを変更する（パス数を変更する）解決例である。
【００３２】
ここで、図６に示す（Ｂ）及び（Ｃ）の２つの解決方法を詳細に説明する。
【００３３】
図６に示す（Ｂ）では、１パスと同様に、１度に印字が終了するデータを使う。まず、バッファ更新量より紙送り量を判定し、判定結果に基づいて紙送りを行う。この例では、バッファ更新量がノズル高さの半分の場合を示している。この時、紙送り量は１パス時の半分と判定され、通常の１／２の紙送りを行う。
【００３４】
尚、上半分のデータは、以前に印字したＣ（０）であるため、印字しない（ブランクとする）。また、下半分は、通常と同様に印字を行う。つまり、紙送り量を半分にし、使用ノズル数を半分に変更し、画像を形成する。
【００３５】
この方法は、プリンタエンジン１０５が対応可能であるなら、バッファ更新量に合わせてライン単位の紙送りが可能である。この場合、更新量に比例して画像が形成されるので、最も無駄が少ない。
【００３６】
また、図６に示す（Ｃ）でも、（Ｂ）と同様に、バッファ更新量より、紙送り量を判定し、判定結果に基づいて紙送りを行う。この例では、上述のバッファ更新量が半分以上で２パスを指示された場合である。この場合、（Ｂ）の解決方法と違うのは、データの印字方法と送り量の分解能である。（Ｂ）の解決方法では、パス数は変わらないので、１回の走査で印字が終わるデータＣを印字したが、（Ｃ）の解決方法では、パス数が変わってしまうので、印字データCを複数パスに分割する処理が必要となる。
【００３７】
尚、原理的には（Ｃ）の解決方法でも任意の紙送り量に対応することは可能であるが、データの分割等、処理が非常に複雑になるため、現実的には印字高さの整数分の１の送り量に限定される。
【００３８】
次に、印字に使用するノズル数を変更することにより、上述の問題を解決する方法（図６に示す（Ｂ））により画像形成を行う場合を、図７を用いて説明する。
【００３９】
図７は、第１の実施形態における使用ノズル数の変更による画像形成を説明するための図である。まず、０回目（左→右）：最初に１パスでＣ（０）の印字がスタートされたとする。１回目（右→左）：制御信号により１／２の紙送りが指示されたため、ノズル高さの１／２分の紙送りを行った後、上半分を印字無し、下半分のＣ（１）を印字する。
【００４０】
２回目（左→右）：１回目と同様、ノズル高さの１／２の紙送り指示のため、１回目と同様に、Ｃ（２）の印字を行う。３回目（右→左）：バッファ更新が全て間に合ったため、通常の紙送りの指示に復帰する。ここで、１パス分の紙送りを行った後、ヘッド全体でＣ（３）の印字を行う。
【００４１】
４回目（左→右）：１／４の紙送りの指示のため、ノズル高さの１／４分の紙送りと、１／４のノズル数でＣ（４）の印字を行う。つまり、上から３／４は印字なし、下１／４のみの印字となる。５回目（右→左）：４回目と同様に、Ｃ（５）の印字を行う。
【００４２】
６回目（左→右）：１／２の紙送り指示のため、ノズル高さの１／２の紙送りと、半分のノズル数でＣ（６）の印字を行う。
【００４３】
次に、パス数を変更することにより、上述の問題を解決する方法（図６に示す（Ｃ））により画像形成を行う場合を、図８を用いて説明する。
【００４４】
図８は、第１の実施形態におけるパス数の変更による画像形成を説明するための図である。まず、０回目（左→右）：最初に１パスでＣ（０）の印字がスタートされたとする。１回目（右→左）：制御信号により２パスが指示されたため、２パス分を紙送りした後、上半分を印字無し、下半分をＡ（１）の印字を行う。
【００４５】
２回目（左→右）：１回目と同様、２パス指示のため、１回目と同様に、印字を行う。但し、上半分はＢ（２）、下半分はＡ（２）の印字を行う。３回目（右→左）：バッファ更新量が１パス分あったので、１パスの指示に復帰したいが、印字データの都合上、ここでは、２パスの紙送りを行い、上半分はＢ（３）、下半分はＣ（３）の印字を行う。
【００４６】
４回目（左→右）：バッファ更新量が１パス分あったので、１パスの指示に復帰する。つまり、ここで完全な復帰となり、１パス分の紙送りがなされた後、１パス分のＣ（４）の印字を行う。
【００４７】
このように、パス数の変更による画像形成の方が、使用ノズル数の変更による画像形成より制御的に複雑であることがわかる。
【００４８】
尚、プリントバッファにラスタ方向でWriteする場合を説明したが、プリントバッファにカラム方向（ノズル列方向）でWriteする場合もある。これは、フィルタ処理時のラインバッファの節約や、ＤＲＡＭ上に構成されるプリントバッファをノズル方向にバースト上に読み出すためである。
【００４９】
そこで、プリントバッファにカラム方向（ノズル列方向）でWriteする場合に本発明を適用した例を、図９及び図１０を用いて説明する。
【００５０】
図５に示すラスタ方向のWriteとの違いは、プリントバッファへのデータ書き込み方向である。図９及び図１０に示す［０］のように、プリンタの印字方向（横方向）とは違い、カラム方向（ノズル列方向）に格納される。
【００５１】
図９は、カラム方向（ノズル列方向）のWriteをバンドの幅（ここでは１６ライン分）で処理した例を示す図である。まず、［０］で左上から下方向へ順にWriteしていく。一番下までWriteすると、１つ右に移動し、また一番上から下方向へ処理したものをWriteしていく。この方法で、前段色変換処理１０１が行われた場合、［１］では、全てのデータが更新されているため、問題はない。
【００５２】
しかし、更新量が［１］の９２％の［２］や４４％の［３］のように１パス分に満たなかった場合、パス数を２パス又は４パスに変更しようとしても、バッファのWrite方向がカラム方向（ノズル列方向）であるため、出力画像の破綻を起こしてしまう。
【００５３】
そこで、図１０に示す［０］のように、カラム方向で処理する場合に、エンジンの最大パス数における送り量単位に書き込むことで、パス数の変更を可能とする。
【００５４】
図１０は、カラム方向（ノズル列方向）のWriteをパス数の送り量で処理した例を示す図である。図１０に示すように、パス数の最大が４で、１パスでの処理ラインが１６ラインであった場合、最大のパス数である４パス時の送り量（４ライン）をカラム方向の書き込み単位としてプリントバッファにWriteしていく。これにより、図１０に示す［２］、［３］のように、パス数（送り量）を変更しても破綻なく出力画像を形成することが可能になる。
【００５５】
つまり、カラム方向で処理を行う場合、エンジンの最大パス数における送り量をカラム方向の書き込み単位に合わせることで、本発明を適用することができる。
【００５６】
［第２の実施形態］
次に、図面を参照しながら本発明に係る第２の実施形態を詳細に説明する。第１の実施形態では、プリントバッファ１０４が印刷解像度、ノズル高さ、インク数（プレーン数）などの出力デバイス空間に依存し、プリンタエンジン１０５を変更すると、このプリントバッファ１０４の構成も変更する必要があった。
【００５７】
また、プリントバッファ１０４の容量も出力デバイス空間に依存しており、高画質化のために印刷解像度やインク数を増加させたり、高速化のためにノズル高さを増やしたりすると、それに比例してバッファ容量は増大してしまう。
【００５８】
そこで、図１１に示すように、プリントバッファ１１０２を前段色変換処理１１０１と後段色変換処理１１０３の間に設けることにより、出力デバイス依存部分を排除することができ、プリントバッファの容量削減が可能となる。つまり、インク数や印刷解像度等が増加してもプリントバッファを変更する必要がなくなり、その結果、従来に比べてメモリ容量を大幅に削減することができる。
【００５９】
図１１は、第２の実施形態における画像出力装置の構成例を示す概略ブロック図である。なお、図１１に示すバッファ更新量検出部１１０６及び出力媒体送り量決定部１１０７の処理は、第１の実施形態と同様であり、その説明は省略する。
【００６０】
第２の実施形態では、第１の実施形態と同様に、プリントバッファ１１０２の更新量を検出することで、更新された量に応じてプリント出力を制御するので、プリントバッファ１１０２の更新が間に合わずに起こる破綻を完全に防止することができる。
【００６１】
更に、プリントバッファ１１０２を後段色変換処理１１０３の前に移動することにより、ＲＧＢ空間にてデータを格納できるので、プリントバッファ１１０２の容量を削減することができる。
【００６２】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【００６３】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを格納した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
【００６４】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを格納した記憶媒体は本発明を構成することになる。
【００６５】
このプログラムコードを供給するための記憶媒体として、例えばフレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００６６】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。
【００６７】
更に、記憶媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６８】
以上説明した実施形態によれば、プリントバッファが更新された量に応じて出力媒体の送り量を制御することにより処理の遅延による破綻が発生しなくなる。従って、プリントバッファの前段に位置する色変換などのキャッシュ容量を削減することができる。また、処理時間が不確定な処理の導入も容易となる。
【００６９】
更に、入力色空間を出力エンジンの色制限範囲に適合させる第１の色変換手段と、出力エンジンの色材の色空間に変換する第２の色変換手段との間にプリントバッファを備える。これにより、第１の色変換手段におけるミスヒットのペナルティを隠蔽し、かつ、プリントバッファを色材の数、解像度及び階調数に依存しない構成とすることが可能となり、プリントバッファの容量を大幅に削減できる。
【図面の簡単な説明】
【００７０】
【図１】第１の実施形態における画像出力装置の構成例を示す概略ブロック図である。
【図２】通常のプリント動作（双方向：１パス）を説明するための図である。
【図３】２パスのプリント動作を説明するための図である。
【図４】４パスのプリント動作を説明するための図である。
【図５】バッファ更新量を検出する方法を説明するための図である。
【図６】第１の実施形態における画像出力の破綻を防止する制御を説明するための図である。
【図７】第１の実施形態における使用ノズル数の変更による画像形成を説明するための図である。
【図８】第１の実施形態におけるパス数の変更による画像形成を説明するための図である。
【図９】カラム方向（ノズル列方向）のWriteをバンドの幅（ここでは１６ライン分）で処理した例を示す図である。
【図１０】カラム方向（ノズル列方向）のWriteをパス数の送り量で処理した例を示す図である。
【図１１】第２の実施形態における画像出力装置の構成例を示す概略ブロック図である。
【符号の説明】
【００７１】
１０１  前段色変換処理
１０２  バッファ
１０３  後段色変換処理
１０４  プリントバッファ
１０５  プリンタエンジン
１０６  バッファ更新量検出部
１０７  出力媒体送り量決定部
１１０１  前段色変換処理
１１０２  プリントバッファ
１１０３  後段色変換処理
１１０５  プリンタエンジン
１１０６  バッファ更新量検出部
１１０７  出力媒体送り量決定部
【図１】
2008119855.tif 000003
【図２】
2008119855.tif 000004
【図３】
2008119855.tif 000005
【図４】
2008119855.tif 000006
【図５】
2008119855.tif 000007
【図６】
2008119855.tif 000008
【図７】
2008119855.tif 000009
【図８】
2008119855.tif 000010
【図９】
2008119855.tif 000011
【図１０】
2008119855.tif 000012
【図１１】
2008119855.tif 000013