(57)【要約】【課題】  一般的な印刷システムでは、プリンタドライバに送られる描画データおよびプリンタに送られる印刷データはアプリケーションの生成する描画ＡＰＩコールに大きく依存する。【解決手段】  アプリケーションから数ライン単位に細切れに分割されたイメージデータの印刷があった場合に、プリンタドライバもしくはプリンタでイメージの隣接を検知し細切れイメージデータを同一イメージとしてまとめてしまうことで、必要なメモリサイズの低減および印刷速度の高速化、効率よいイメージデータ圧縮を図る。【選択図】  図１
2005141447.tif 000002
【特許請求の範囲】
【請求項１】
互いに接続されたパーソナルコンピュータやワークステーション等のホストコンピュータと、それらから送られてきた印刷開始から印刷終了までの一連の印刷ジョブを受信し、そのデータを解析して印刷用紙に印刷する印字情報を作成する印刷装置とからなる印刷システムにおいて、
前記印刷装置は、印刷ジョブ中の各描画コマンドを解析し、中間データに変換する印刷コマンド解析手段と、
イメージデータおよびその属性情報を記憶装置に記憶する記憶手段とを備え、
前記印刷コマンド解析手段はイメージ描画コマンドを解析する際、前記記憶手段によってイメージデータ及びその属性情報を一旦記憶しておき、次にイメージ描画コマンドを解析するときに前記記憶しておいたイメージデータと現在解析中のイメージデータが合成できるかどうかを判定し、合成できると判定したには、前記記憶装置に合成したイメージデータおよびその属性情報を記憶し、
合成できないと判定した場合には現在記憶しているイメージデータを現在記憶している属性情報を用いて中間データに変換し、現在解析中のイメージデータおよびその属性情報を前記記憶装置に記憶する
ことを特徴とした印刷システム。
【請求項２】
請求項１に記載の印刷システムであって、
前記印刷コマンド解析手段は、前記記憶しておいたイメージデータと現在解析中のイメージデータの描画位置が隣接している場合に合成できると判定する
ことを特徴とした印刷システム。
【請求項３】
請求項１に記載の印刷システムであって、
前記印刷コマンド解析手段は、前記記憶しておいたイメージデータと現在解析中のイメージデータの幅ドット数が同じで、描画位置が上方向もしくは下方向のどちらかに隣接している場合に合成できると判定する
ことを特徴とした印刷システム。
【請求項４】
請求項２または３に記載の印刷システムであって、
前記印刷コマンド解析手段は、さらに前記記憶しておいたイメージデータと現在解析中のイメージデータの属性情報が同じ場合に合成できると判定する
ことを特徴とした印刷システム。
【請求項５】
請求項１〜４のいづれかに記載の印刷システムであって、
前記属性情報にはイメージデータの描画領域、色形式、階調、クリップ、ＲＯＰ（描画論理）、ブラシ（パターン）、色変換プロファイルのうち少なくともいづれか１つを含む
ことを特徴とした印刷システム。
【請求項６】
請求項１〜５のいづれかに記載の印刷システムであって、
前記印刷コマンド解析手段は、イメージ描画以外の描画コマンドを解析する際、前記記憶装置にイメージデータが記憶されている場合には、現在記憶しているイメージデータを現在記憶している属性情報を用いて中間データに変換する
ことを特徴とした印刷システム。
【請求項７】
請求項１〜６のいづれかに記載の印刷システムであって、
前記印刷コマンド解析手段が１ページ分すべての印刷コマンドを解析終了した際、前記記憶装置にイメージデータが記憶されている場合には、現在記憶しているイメージデータを現在記憶している属性情報を用いて中間データに変換する
ことを特徴とした印刷システム。
【請求項８】
請求項１〜７のいづれかに記載の印刷システムであって、
前記印刷コマンド解析手段は、イメージデータを合成する際、合成後のイメージデータサイズが前記記憶装置の容量を越えると判断した場合、現在記憶しているイメージデータを現在記憶している属性情報を用いて中間データに変換し、現在解析中のイメージデータおよびその属性情報を前記記憶装置に記憶する
ことを特徴とした印刷システム。
【請求項９】
請求項１〜８のいづれかに記載の印刷システムであって、
前記印刷コマンド解析手段は、解析処理中に描画データの回転処理が入らない場合は、前記合成処理及びイメージデータの記憶処理は行わない
ことを特徴とした印刷システム。
【請求項１０】
互いに接続されたパーソナルコンピュータやワークステーション等のホストコンピュータと、それらから送られてきた印刷開始から印刷終了までの一連の印刷ジョブを受信し、そのデータを解析して印刷用紙に印刷する印字情報を作成する印刷装置とからなる印刷システムにおいて、
前記ホストコンピュータは、アプリケーションから印刷指示のあった描画オブジェクトから印刷装置が解釈可能な印刷コマンドを生成するドライバプログラムと、
イメージデータおよびその属性情報を記憶装置に記憶する記憶手段とを備え、
ドライバプログラムはイメージ描画コマンドを生成する際、前記記憶手段によってイメージデータ及びその属性情報を一旦記憶しておき、次にイメージ描画コマンドを生成するときに前記記憶しておいたイメージデータと現在コマンド生成中のイメージデータが合成できるかどうかを判定し、合成できると判定したには、前記記憶装置に合成したイメージデータおよびその属性情報を記憶し、
合成できないと判定した場合には現在記憶しているイメージデータから現在記憶している属性情報を用いて印刷コマンドを生成し、現在コマンド生成中のイメージデータおよびその属性情報を前記記憶装置に記憶する
ことを特徴とした印刷システム。
【請求項１１】
請求項１０に記載の印刷システムであって、
前記ドライバプログラムは、前記記憶しておいたイメージデータと現在コマンド生成中のイメージデータの描画位置が隣接している場合に合成できると判定する
ことを特徴とした印刷システム。
【請求項１２】
請求項１０に記載の印刷システムであって、
前記ドライバプログラムは、前記記憶しておいたイメージデータと現在コマンド生成中のイメージデータの幅ドット数が同じで、描画位置が上方向もしくは下方向のどちらかに隣接している場合に合成できると判定する
ことを特徴とした印刷システム。
【請求項１３】
請求項１１または１２に記載の印刷システムであって、
前記ドライバプログラムは、さらに前記記憶しておいたイメージデータと現在コマンド生成中のイメージデータの属性情報が同じ場合に合成できると判定する
ことを特徴とした印刷システム。
【請求項１４】
請求項１０〜１３のいづれかに記載の印刷システムであって、
前記属性情報にはイメージデータの描画領域、色形式、階調、クリップ、ＲＯＰ（描画論理）、ブラシ（パターン）、色変換プロファイルのうち少なくともいづれか１つを含む
ことを特徴とした印刷システム。
【請求項１５】
請求項１０〜１４のいづれかに記載の印刷システムであって、
前記ドライバプログラムは、イメージ描画以外の描画オブジェクトを受け取った際、前記記憶装置にイメージデータが記憶されている場合には、現在記憶しているイメージデータから現在記憶している属性情報を用いて印刷コマンドを生成する
ことを特徴とした印刷システム。
【請求項１６】
請求項１０〜１５のいづれかに記載の印刷システムであって、
前記ドライバプログラムが１ページ分すべての描画オブジェクトの印刷コマンド生成終了した際、前記記憶装置にイメージデータが記憶されている場合には、現在記憶しているイメージデータから現在記憶している属性情報を用いて印刷コマンド生成する
ことを特徴とした印刷システム。
【請求項１７】
請求項１０〜１６のいづれかに記載の印刷システムであって、
前記ドライバプログラムは、イメージデータを合成する際、合成後のイメージデータサイズが前記記憶装置の容量を越えると判断した場合、現在記憶しているイメージデータから現在記憶している属性情報を用いて印刷コマンド生成し、現在印刷コマンド生成中のイメージデータおよびその属性情報を前記記憶装置に記憶する
ことを特徴とした印刷システム。
【請求項１８】
請求項１０〜１７のいづれかに記載の印刷システムであって、
前記ドライバプログラムは、印刷コマンド生成中に描画データの回転処理が入らない場合は、前記合成処理及びイメージデータの記憶処理は行わない
ことを特徴とした印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ及びプリンタドライバ、及びそれらを含んだプリントシステムに関する。
【背景技術】
【０００２】
近年、一般オフィスにおいては多種多様な文書が印刷されるようになった。その中でも一般的なページプリンタのプリントシステムを説明する。従来のページプリンタにおける印刷システムでは、ユーザがアプリケーションを用いて作成した印刷データは、描画オブジェクト単位にオペレーションシステムの描画ＡＰＩコールを通じてホストコンピュータ上で動作するプリンタドライバへ渡され、プリンタドライバは渡された描画オブジェクトを接続された印刷装置に応じた印刷コマンドへ逐次変換し、印刷コマンドが出来上がるとすぐに印刷データがプリントスプーラへ転送される。その後所定の単位で印刷データがプリンタへ転送される。プリンタでは送られてきた印刷データから印刷コマンドを読み出し、その印刷コマンドを逐次中間データへ変換する。このとき、印刷データの論理用紙レイアウトとプリンタにセットされた物理用紙レイアウトが異なる場合には、必要に応じて回転・拡大縮小を施す。こうして１ページ分の中間データが出来上がると、それを専用のハードウェア装置などを用いてビットマップデータへ変換し、ビットマップデータをビデオデータとしてプリンタエンジンに転送することで最終的な印刷結果を得ていた。（特許文献１）
【特許文献１】特開平０６−０８７２５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
以上のように、一般的な印刷システムでは、プリンタドライバに送られる描画データおよびプリンタに送られる印刷データはアプリケーションの生成する描画ＡＰＩコールに大きく依存する。一方、一部のアプリケーション（特にＤＴＰ系アプリケーションなどに多い）においては特殊な方式で描画データを生成する場合があるが、このときプリンタに送られる印刷データがプリンタの処理手法に適さないデータの場合、印刷速度の低下やメモリ不足の原因となっていた。
【０００４】
その一例としてアプリケーションによって大きなイメージデータが高さ数ライン単位の細切れ状に分割して描画されることによってメモリ不足が生じる例を図２を用いて説明する。図２において２００はアプリケーションが保持するイメージデータを表す。問題が生じるケースにおいて印刷指示がなされたとき、アプリケーションは２０１の模式図のようにイメージデータを高さ数ドットの細切れイメージに分割し、それぞれ別々に描画ＡＰＩコールを発行する。このときプリンタドライバは渡されたイメージ通りに細切れのイメージコマンドをプリンタへ送信する。２０２ａはプリンタに送られた細切れイメージコマンドの一例であるが、印刷データの論理用紙レイアウトとプリンタにセットされた物理用紙レイアウトが異なる場合には、プリンタ内部で２０２ｂのように回転処理が施される。このように回転された細切れイメージは幅数ドットの縦長イメージとなる。中間データは直接ハードウェア処理される形式のため、特定ｂｉｔのバウンダリ整合されたデータ形式であることが多い。図２では中間データが３２ｂｉｔバウンダリであるシステムの場合に、２０２ｂが中間データに変換された様子をあらわしている。特にイメージデータは１ライン毎にバウンダリ整合されるため２０２ｂのように幅数ドットのイメージデータは実際のデータサイズよりも大幅に大きな中間データが生成される。例えば幅１ドットの２値イメージはデータサイズが３２倍に膨れ上がってしまう。このデータサイズ肥大化が各細切れイメージに対して生じるためプリンタでのメモリ不足の原因となっていた。
【０００５】
またプリンタドライバにおいて最終的な印刷用紙座標系への変換をおこなう印刷システムの場合、２０１のような細切れイメージデータはドライバにおいて２０２ｂのように回転される。このとき特にライン単位のイメージの連続性を圧縮するような圧縮方式は、圧縮率が極端に悪くなってしまう場合があった。
【０００６】
本発明は、上記問題点を鑑みてなされたもので、第１の目的は、ドライバもしくはプリンタでイメージの隣接を検知し細切れイメージデータを同一イメージとしてまとめてしまうことで、必要なメモリサイズの低減および印刷速度の高速化を図るとことである。
【０００７】
また本発明の第２の目的は、ドライバもしくはプリンタでイメージの隣接を検知し細切れイメージデータを同一イメージとしてまとめてしまうことで、効率よくイメージデータに圧縮を適用することである。
【課題を解決するための手段】
【０００８】
上記目的を達成するための請求項１記載の発明は、互いに接続されたパーソナルコンピュータやワークステーション等のホストコンピュータと、それらから送られてきた印刷開始から印刷終了までの一連の印刷ジョブを受信し、そのデータを解析して印刷用紙に印刷する印字情報を作成する印刷装置とからなる印刷システムにおいて、前記印刷装置は、印刷ジョブ中の各描画コマンドを解析し、中間データに変換する印刷コマンド解析手段と、イメージデータおよびその属性情報を記憶装置に記憶する記憶手段とを備える。
【０００９】
かかる構成において、前記印刷コマンド解析手段はイメージ描画コマンドを解析する際、前記記憶手段によってイメージデータ及びその属性情報を一旦記憶しておき、次にイメージ描画コマンドを解析するときに前記記憶しておいたイメージデータと現在解析中のイメージデータが合成できるかどうかを判定し、合成できると判定したには、前記記憶装置に合成したイメージデータおよびその属性情報を記憶し、合成できないと判定した場合には現在記憶しているイメージデータを現在記憶している属性情報を用いて中間データに変換し、現在解析中のイメージデータおよびその属性情報を前記記憶装置に記憶することにより、分割されたイメージデータを合成して一度に処理可能となる。
【００１０】
上記目的を達成するための請求項２記載の発明は、請求項１に記載の印刷システムであって、前記印刷コマンド解析手段は、前記記憶しておいたイメージデータと現在解析中のイメージデータの描画位置が隣接している場合に合成できると判定することにより、隣接するイメージデータを合成して一度に処理可能となる。
【００１１】
上記目的を達成するための請求項３記載の発明は、請求項１に記載の印刷システムであって、前記印刷コマンド解析手段は、前記記憶しておいたイメージデータと現在解析中のイメージデータの幅ドット数が同じで、描画位置が上方向もしくは下方向のどちらかに隣接している場合に合成できると判定することにより、
バンド上に上下に分割されたイメージデータを合成して一度に処理可能となる。
【００１２】
上記目的を達成するための請求項４記載の発明は、請求項２または３に記載の印刷システムであって、前記印刷コマンド解析手段は、さらに前記記憶しておいたイメージデータと現在解析中のイメージデータの属性情報が同じ場合に合成できると判定することにより、イメージを合成することによる描画不正を防ぐことが出来る。
【００１３】
上記目的を達成するための請求項５記載の発明は、請求項１〜４のいづれかに記載の印刷システムであって、前記属性情報にはイメージデータの描画領域、色形式、階調、クリップ、ＲＯＰ（描画論理）、ブラシ（パターン）、色変換プロファイルのうち少なくともいづれか１つを含むことにより、イメージを合成することによる描画不正を防ぐことが出来る。
【００１４】
上記目的を達成するための請求項６記載の発明は、請求項１〜５のいづれかに記載の印刷システムであって、前記印刷コマンド解析手段は、イメージ描画以外の描画コマンドを解析する際、前記記憶装置にイメージデータが記憶されている場合には、現在記憶しているイメージデータを現在記憶している属性情報を用いて中間データに変換することにより、合成されたイメージデータと他のデータ描画順序を正しくすることが可能となる。
【００１５】
上記目的を達成するための請求項７記載の発明は、請求項１〜６のいづれかに記載の印刷システムであって、前記印刷コマンド解析手段が１ページ分すべての印刷コマンドを解析終了した際、前記記憶装置にイメージデータが記憶されている場合には、現在記憶しているイメージデータを現在記憶している属性情報を用いて中間データに変換することにより、合成されたイメージデータと他のデータの描画順序を正しくすることが可能となる。
【００１６】
上記目的を達成するための請求項８記載の発明は、請求項１〜７のいづれかに記載の印刷システムであって、前記印刷コマンド解析手段は、イメージデータを合成する際、合成後のイメージデータサイズが前記記憶装置の容量を越えると判断した場合、現在記憶しているイメージデータを現在記憶している属性情報を用いて中間データに変換し、現在解析中のイメージデータおよびその属性情報を前記記憶装置に記憶することにより、限られたメモリを有効に使い、分割されたイメージデータを合成して一度に処理可能となる。
【００１７】
上記目的を達成するための請求項１０記載の発明は、互いに接続されたパーソナルコンピュータやワークステーション等のホストコンピュータと、それらから送られてきた印刷開始から印刷終了までの一連の印刷ジョブを受信し、そのデータを解析して印刷用紙に印刷する印字情報を作成する印刷装置とからなる印刷システムにおいて、前記ホストコンピュータは、アプリケーションから印刷指示のあった描画オブジェクトから印刷装置が解釈可能な印刷コマンドを生成するドライバプログラムと、イメージデータおよびその属性情報を記憶装置に記憶する記憶手段とを備る。
【００１８】
かかる構成において、ドライバプログラムはイメージ描画コマンドを生成する際、前記記憶手段によってイメージデータ及びその属性情報を一旦記憶しておき、次にイメージ描画コマンドを生成するときに前記記憶しておいたイメージデータと現在コマンド生成中のイメージデータが合成できるかどうかを判定し、合成できると判定したには、前記記憶装置に合成したイメージデータおよびその属性情報を記憶し、合成できないと判定した場合には現在記憶しているイメージデータから現在記憶している属性情報を用いて印刷コマンドを生成し、現在コマンド生成中のイメージデータおよびその属性情報を前記記憶装置に記憶することにより、
分割されたイメージデータを合成して一度に処理可能となる。
【００１９】
上記目的を達成するための請求項１１記載の発明は、請求項１０に記載の印刷システムであって、前記ドライバプログラムは、前記記憶しておいたイメージデータと現在コマンド生成中のイメージデータの描画位置が隣接している場合に合成できると判定することにより、隣接するイメージデータを合成して一度に処理可能となる。
【００２０】
上記目的を達成するための請求項１２記載の発明は、請求項１０に記載の印刷システムであって、前記ドライバプログラムは、前記記憶しておいたイメージデータと現在コマンド生成中のイメージデータの幅ドット数が同じで、描画位置が上方向もしくは下方向のどちらかに隣接している場合に合成できると判定することにより、バンド上に上下に分割されたイメージデータを合成して一度に処理可能となる。
【００２１】
上記目的を達成するための請求項１３記載の発明は、請求項１１または１２に記載の印刷システムであって、前記ドライバプログラムは、さらに前記記憶しておいたイメージデータと現在コマンド生成中のイメージデータの属性情報が同じ場合に合成できると判定することにより、イメージを合成することによる描画不正を防ぐことが出来る。
【００２２】
上記目的を達成するための請求項１４記載の発明は、請求項１０〜１３のいづれかに記載の印刷システムであって、前記属性情報にはイメージデータの描画領域、色形式、階調、クリップ、ＲＯＰ（描画論理）、ブラシ（パターン）、色変換プロファイルのうち少なくともいづれか１つを含むことにより、イメージを合成することによる描画不正を防ぐことが出来る。
【００２３】
上記目的を達成するための請求項１５記載の発明は、請求項１０〜１４のいづれかに記載の印刷システムであって、前記ドライバプログラムは、イメージ描画以外の描画オブジェクトを受け取った際、前記記憶装置にイメージデータが記憶されている場合には、現在記憶しているイメージデータから現在記憶している属性情報を用いて印刷コマンドを生成することにより、合成されたイメージデータと他のデータの描画順序を正しくすることが可能となる。
【００２４】
上記目的を達成するための請求項１６記載の発明は、請求項１０〜１５のいづれかに記載の印刷システムであって、前記ドライバプログラムが１ページ分すべての描画オブジェクトの印刷コマンド生成終了した際、前記記憶装置にイメージデータが記憶されている場合には、現在記憶しているイメージデータから現在記憶している属性情報を用いて印刷コマンド生成することにより、合成されたイメージデータと他のデータの描画順序を正しくすることが可能となる。
【００２５】
上記目的を達成するための請求項１７記載の発明は、請求項１０〜１６のいづれかに記載の印刷システムであって、前記ドライバプログラムは、イメージデータを合成する際、合成後のイメージデータサイズが前記記憶装置の容量を越えると判断した場合、現在記憶しているイメージデータから現在記憶している属性情報を用いて印刷コマンド生成し、現在印刷コマンド生成中のイメージデータおよびその属性情報を前記記憶装置に記憶することにより、限られたメモリを有効に使い、分割されたイメージデータを合成して一度に処理可能となる。
【発明の効果】
【００２６】
上記目的を達成するための請求項１記載の発明によれば、互いに接続されたパーソナルコンピュータやワークステーション等のホストコンピュータと、それらから送られてきた印刷開始から印刷終了までの一連の印刷ジョブを受信し、そのデータを解析して印刷用紙に印刷する印字情報を作成する印刷装置とからなる印刷システムにおいて、前記印刷装置は、印刷ジョブ中の各描画コマンドを解析し、中間データに変換する印刷コマンド解析手段と、イメージデータおよびその属性情報を記憶装置に記憶する記憶手段とを備える。
【００２７】
かかる構成において、前記印刷コマンド解析手段はイメージ描画コマンドを解析する際、前記記憶手段によってイメージデータ及びその属性情報を一旦記憶しておき、次にイメージ描画コマンドを解析するときに前記記憶しておいたイメージデータと現在解析中のイメージデータが合成できるかどうかを判定し、合成できると判定したには、前記記憶装置に合成したイメージデータおよびその属性情報を記憶し、合成できないと判定した場合には現在記憶しているイメージデータを現在記憶している属性情報を用いて中間データに変換し、現在解析中のイメージデータおよびその属性情報を前記記憶装置に記憶することによって、分割されたイメージデータを合成して一度に処理可能となる。
【００２８】
上記目的を達成するための請求項２記載の発明によれば、請求項１に記載の印刷システムであって、前記印刷コマンド解析手段は、前記記憶しておいたイメージデータと現在解析中のイメージデータの描画位置が隣接している場合に合成できると判定することによって、隣接するイメージデータを合成して一度に処理可能となる。
【００２９】
上記目的を達成するための請求項３記載の発明によれば、請求項１に記載の印刷システムであって、前記印刷コマンド解析手段は、前記記憶しておいたイメージデータと現在解析中のイメージデータの幅ドット数が同じで、描画位置が上方向もしくは下方向のどちらかに隣接している場合に合成できると判定することによって、バンド上に上下に分割されたイメージデータを合成して一度に処理可能となる。
【００３０】
上記目的を達成するための請求項４記載の発明によれば、請求項２または３に記載の印刷システムであって、前記印刷コマンド解析手段は、さらに前記記憶しておいたイメージデータと現在解析中のイメージデータの属性情報が同じ場合に合成できると判定することによって、イメージを合成することによる描画不正を防ぐことが出来る。
【００３１】
上記目的を達成するための請求項５記載の発明によれば、請求項１〜４のいづれかに記載の印刷システムであって、前記属性情報にはイメージデータの描画領域、色形式、階調、クリップ、ＲＯＰ（描画論理）、ブラシ（パターン）、色変換プロファイルのうち少なくともいづれか１つを含むことによって、イメージを合成することによる描画不正を防ぐことが出来る。
【００３２】
上記目的を達成するための請求項６記載の発明によれば、請求項１〜５のいづれかに記載の印刷システムであって、前記印刷コマンド解析手段は、イメージ描画以外の描画コマンドを解析する際、前記記憶装置にイメージデータが記憶されている場合には、現在記憶しているイメージデータを現在記憶している属性情報を用いて中間データに変換することによって、合成されたイメージデータと他のデータの描画順序を正しくすることが可能となる。
【００３３】
上記目的を達成するための請求項７記載の発明によれば、請求項１〜６のいづれかに記載の印刷システムであって、前記印刷コマンド解析手段が１ページ分すべての印刷コマンドを解析終了した際、前記記憶装置にイメージデータが記憶されている場合には、現在記憶しているイメージデータを現在記憶している属性情報を用いて中間データに変換することによって、合成されたイメージデータと他のデータの描画順序を正しくすることが可能となる。
【００３４】
上記目的を達成するための請求項８記載の発明によれば、請求項１〜７のいづれかに記載の印刷システムであって、前記印刷コマンド解析手段は、イメージデータを合成する際、合成後のイメージデータサイズが前記記憶装置の容量を越えると判断した場合、現在記憶しているイメージデータを現在記憶している属性情報を用いて中間データに変換し、現在解析中のイメージデータおよびその属性情報を前記記憶装置に記憶することによって、限られたメモリを有効に使い、分割されたイメージデータを合成して一度に処理可能となる。
【００３５】
上記目的を達成するための請求項１０記載の発明によれば、互いに接続されたパーソナルコンピュータやワークステーション等のホストコンピュータと、それらから送られてきた印刷開始から印刷終了までの一連の印刷ジョブを受信し、そのデータを解析して印刷用紙に印刷する印字情報を作成する印刷装置とからなる印刷システムにおいて、前記ホストコンピュータは、アプリケーションから印刷指示のあった描画オブジェクトから印刷装置が解釈可能な印刷コマンドを生成するドライバプログラムと、イメージデータおよびその属性情報を記憶装置に記憶する記憶手段とを備る。
【００３６】
かかる構成において、ドライバプログラムはイメージ描画コマンドを生成する際、前記記憶手段によってイメージデータ及びその属性情報を一旦記憶しておき、次にイメージ描画コマンドを生成するときに前記記憶しておいたイメージデータと現在コマンド生成中のイメージデータが合成できるかどうかを判定し、合成できると判定したには、前記記憶装置に合成したイメージデータおよびその属性情報を記憶し、合成できないと判定した場合には現在記憶しているイメージデータから現在記憶している属性情報を用いて印刷コマンドを生成し、現在コマンド生成中のイメージデータおよびその属性情報を前記記憶装置に記憶することによって、分割されたイメージデータを合成して一度に処理可能となる。
【００３７】
上記目的を達成するための請求項１１記載の発明によれば、請求項１０に記載の印刷システムであって、前記ドライバプログラムは、前記記憶しておいたイメージデータと現在コマンド生成中のイメージデータの描画位置が隣接している場合に合成できると判定することによって、隣接するイメージデータを合成して一度に処理可能となる。
【００３８】
上記目的を達成するための請求項１２記載の発明によれば、請求項１０に記載の印刷システムであって、前記ドライバプログラムは、前記記憶しておいたイメージデータと現在コマンド生成中のイメージデータの幅ドット数が同じで、描画位置が上方向もしくは下方向のどちらかに隣接している場合に合成できると判定することによって、バンド上に上下に分割されたイメージデータを合成して一度に処理可能となる。
【００３９】
上記目的を達成するための請求項１３記載の発明によれば、請求項１１または１２に記載の印刷システムであって、前記ドライバプログラムは、さらに前記記憶しておいたイメージデータと現在コマンド生成中のイメージデータの属性情報が同じ場合に合成できると判定することによって、イメージを合成することによる描画不正を防ぐことが出来る。
【００４０】
上記目的を達成するための請求項１４記載の発明によれば、請求項１０〜１３のいづれかに記載の印刷システムであって、前記属性情報にはイメージデータの描画領域、色形式、階調、クリップ、ＲＯＰ（描画論理）、ブラシ（パターン）、色変換プロファイルのうち少なくともいづれか１つを含むことによって、
イメージを合成することによる描画不正を防ぐことが出来る。
【００４１】
上記目的を達成するための請求項１５記載の発明によれば、請求項１０〜１４のいづれかに記載の印刷システムであって、前記ドライバプログラムは、イメージ描画以外の描画オブジェクトを受け取った際、前記記憶装置にイメージデータが記憶されている場合には、現在記憶しているイメージデータから現在記憶している属性情報を用いて印刷コマンドを生成することによって、合成されたイメージデータと他のデータの描画順序を正しくすることが可能となる。
【００４２】
上記目的を達成するための請求項１６記載の発明によれば、請求項１０〜１５のいづれかに記載の印刷システムであって、前記ドライバプログラムが１ページ分すべての描画オブジェクトの印刷コマンド生成終了した際、前記記憶装置にイメージデータが記憶されている場合には、現在記憶しているイメージデータから現在記憶している属性情報を用いて印刷コマンド生成することによって、合成されたイメージデータと他のデータの描画順序を正しくすることが可能となる。
【００４３】
上記目的を達成するための請求項１７記載の発明によれば、請求項１０〜１６のいづれかに記載の印刷システムであって、前記ドライバプログラムは、イメージデータを合成する際、合成後のイメージデータサイズが前記記憶装置の容量を越えると判断した場合、現在記憶しているイメージデータから現在記憶している属性情報を用いて印刷コマンド生成し、現在印刷コマンド生成中のイメージデータおよびその属性情報を前記記憶装置に記憶することによって、限られたメモリを有効に使い、分割されたイメージデータを合成して一度に処理可能となる。
【発明を実施するための最良の形態】
【００４４】
実施例の構成を説明する前に、本実施例を適用するに好適なレーザビームプリンタおよびインクジェットプリンタの構成について図１を参照しながら説明する。なお、本実施例を適用する印刷装置は、レーザビームプリンタおよびインクジェットプリンタに限られるものではなく、他のプリント方式の印刷装置でも良いことは言うまでもない。
【００４５】
図１は本発明を適用可能な第１の印刷装置の構成を示す断面図であり、例えばレーザビームプリンタ（ＬＢＰ）の場合を示す。
【００４６】
図において１０１はプリンタ本体である。１２８は操作パネルで、操作のためのスイッチおよびＬＥＤ表示器、ＬＣＤ表示器が配されている。１０３は制御ボード収納部で、プリンタの印字プロセス制御を行うエンジンコントローラ、およびプリンタ全体の制御とホストコンピュータからのデータを解析しイメージデータに変換するビデオコントローラ、および各種オプションユニットを統括して制御するオプションコントローラが収納されている。
【００４７】
１３０は用紙カセットで、用紙を保持し不図示の仕切り板によって電気的に用紙サイズを検知する機構を有する。また用紙カセット１３０は収納されている用紙の残量を検知するセンサ１３２を備え、用紙の残量を検知する機能を有する。１３１はカセット給紙クラッチで、用紙カセット１３０上に収納された用紙の最上位の用紙一枚のみを分離し、不図示の駆動手段によって分離した用紙を給紙ローラ１０４まで搬送させるカムであり、給紙の度に間欠的に回転し、一回転に対応して一枚の用紙を給紙する。１２９はレジストシャッタで用紙を押圧して給紙を停止させる。給紙ローラ１０４はカセット給紙クラッチ１３１より給紙される用紙の先端部をレジストシャッタ１２９まで搬送する。１０２は手差し給紙トレイであり、１０５は手差し給紙ローラで、この手差し給紙ローラ１０５は用紙の先端をレジストシャッタ１２９まで搬送する。
【００４８】
以上のような構成によって用紙カセット１３０および手差し給紙用トレイ１０２から選択的に用紙を給紙する事が可能となる。また、手差し給紙ローラ１０５、カセット給紙クラッチ１３１の下流には、記録紙を同期搬送する給紙ローラ１０４、レジストローラ対１０６がそれぞれ設けられ、レジストローラ対１０６の下流には、レーザスキャナ部１０７から発したレーザ光によって、記録紙上にトナー像を形成する画像記録部１０８が設けられている。
【００４９】
さらに、画像記録部１０８の下流には、記録紙上に形成されたトナー像を熱定着する定着器１０９が設けられ、定着器１０９の下流には、排紙部の紙搬送状態を検知する排紙センサ１１０、記録紙を搬送する搬送ローラ１１１などが設けられている。排紙トレイ１１５は用紙残量検知センサ１１５ｓを備えており、一定時間毎に排紙トレイ１１５に積載された用紙残量を検知する。
【００５０】
次にレーザスキャナ部１０７は、プリンタコントローラから送出される画像信号（画像信号ＶＤＯ）に基づいて変調されたレーザ光を発光するレーザユニット１１６、このレーザユニット１１６からのレーザ光を感光ドラム１２２上に走査するポリゴンミラー１１７、走査方向のレーザ光位置を検出するビーム検出器１１８、結像レンズ群１１９、折返ミラー１２０およびレーザ光の光量を検知する光量検知センサ１２１等により構成されている。
【００５１】
前述の画像記録部１０８は公知の電子写真プロセスに必要な、レーザスキャナ部１０７の走査により形成された静電潜像を保持する感光ドラム１２２、感光ドラム１２２を光除電する前露光ランプ１２３、感光ドラムを一様帯電させる一時帯電器１２４、感光ドラム１２２に形成された静電潜像をトナー現像する現像器１２５、現像器１２５により現像されたトナー像を給送される記録紙に転写する転写帯電器１２６、感光ドラム１２２上の残存トナーを清掃するクリーナ１２７等から構成されている。
【００５２】
制御ボード収納部１０３内には図示しないビデオコントローラ、エンジンコントローラおよびオプションコントローラ部があり、エンジンコントローラはレーザスキャナ部１０７、画像記録部１０８，定着器１０９による電子写真プロセスの制御およびプリンタ本体１０１内の記録紙の搬送制御を行う。また、ビデオコントローラは、パーソナルコンピュータ等の外部装置（不図示）と汎用インタフェース（セントロニクスインタフェースやＲＳ２３２Ｃ等）で接続され、汎用インタフェースを介して送られてくる画像情報をビットデータに展開し、そのビットデータを信号ＶＤＯとしてエンジンコントローラへ送る。
【００５３】
（第１実施例）
＜図３の説明＞
図３は、本発明の第１の実施の形態に係る印刷システムの概略構成を示すブロック図である。
【００５４】
なお、ここではレーザビームプリンタ（図１）を例にして説明する。
【００５５】
同図に示すように、本実施例に係る印刷システムは、ホストコンピュータ３００と、ＬＡＮなどの通信回線によってホストコンピュータ３００に接続され、送られてきた印刷ジョブを印刷用紙に印刷するプリンタ３１０から構成される。
【００５６】
ホストコンピュータ３００では、Windows（登録商標）に代表されるオペレーションシステムが稼動しており、不図示の入力装置によるユーザからの入力情報を取得し、印刷する文書を生成するためのアプリケーション３０１と、アプリケーション３０１によって作成された文書からオペレーションシステムのＡＰＩを通じて受け取った描画オブジェクトを印刷ジョブに変換するプリンタドライバ３０２とから構成される。プリンタドライバ３０２は生成した印刷ジョブをオペレーションシステムの用意したプリントスプーラ３０３に一時記憶させ、プリントスプーラ３０３が印刷ジョブを随時プリンタ３１０へ送信する。
【００５７】
プリンタ３１０は、転送された印刷ジョブを受信する印刷ジョブ受信手段３１１と、受信した印刷ジョブから印刷コマンドを読み出し所定のルールに基づき印刷コマンドを解析し、中間オブジェクトを生成する印刷ジョブ解析手段３１２と、各種ワークメモリとして使用されるメモリ３２０と、メモリ３２０上に構成され合成されたイメージを蓄積する合成イメージバッファ３２３、及び合成イメージバッファに蓄積された合成イメージの属性データを記憶しておく属性バッファ３２４と、中間データを蓄積する中間データバッファ３２１と、中間データバッファ３２１に蓄積された中間データをビットマップイメージへ展開するイメージ展開手段３１３と、メモリ３２０上に構成されイメージ展開手段３１３により展開されたビットマップイメージを蓄積するページメモリ３２２と、展開されたイメージデータを印刷用紙に物理的に印刷するプリンタエンジン３１４とから構成される。なお、３３０は印刷された印刷結果を表す。
【００５８】
＜図４の説明＞
次に、合成イメージバッファ３２３と属性バッファ３２４にデータが蓄積される様子を図４を用いて説明する。合成イメージバッファ３２３には幅が同じで上方向または下方向にぴったりと隣接したイメージが順次蓄積されていく。本実施例では説明のため下方向に隣接したイメージが蓄積されていくものとする。４０１は合成イメージバッファのメモリ構成を表した模式図で、イメージ１からイメージ５までの５個のイメージが合成された状態で保存されている様子をあらわす。４０２は属性バッファ３２４に記憶される情報の一例を表した模式図である。４０２ではイメージ描画領域、イメージ色形式、イメージ階調、クリップ、ＲＯＰ（描画論理）、ブラシ（パターン）、色変換プロファイルの情報が構造体として記憶されている。ここでイメージ描画領域は合成されたイメージに対する描画領域のことを示す。
【００５９】
なおこのように属性情報を記憶しておくのは、属性が異なるイメージを合成しないようにするためである。たとえ描画領域が隣接しているイメージ同士でも、前記したような属性が異なるイメージ同士を合成した場合、不具合が生じることは言うまでもない。
【００６０】
以上のような構成の印刷システムにおける印刷処理の流れを説明する。
【００６１】
ユーザからの印刷指示があるとまずプリンタドライバ３０２はアプリケーション２０１から描画オブジェクトを受け取り、順次印刷コマンドに変換しながら印刷ジョブと生成し、生成した印刷ジョブをプリントスプーラ３０３を通じてプリンタ３１０へ送信する。プリンタ３１０に送信された印刷ジョブは印刷ジョブ受信手段３１１によって受信された後、印刷コマンド解析手段３１２が受信した印刷ジョブを印刷コマンド毎に解析してゆく。
【００６２】
＜図５の説明＞
ここで印刷ジョブ解析手段３１２がイメージコマンドを解析し、中間データを生成する処理を図５を用いて説明する。印刷ジョブ解析手段３１２はイメージコマンドを受けとるとまず、イメージコマンドのソースイメージ（イメージデータ自体）の高さが閾値より小さいかどうかを判断する（Ｓ５０１）。この閾値はプリンタ内部処理の事情に応じてあらかじめ決めて置いたものでも、合成イメージバッファのサイズや印刷用紙サイズ、印刷解像度などによって動的に変化されるものでもどちらでもよい。例えばイメージ展開手段の扱うデータバウンダリが３２ｂｉｔである場合、前記閾値は１６などに設定が好適である。
【００６３】
ここでソースイメージの高さが閾値よりも大きい場合（Ｓ５０１−ＮＯ）、既に合成イメージバッファにイメージデータがキャッシュされているかを確認する（Ｓ５０２）。ここでキャッシュされたイメージデータがあった場合（Ｓ５０２−ＹＥＳ）、既にキャッシュされたイメージデータに対して中間データ（中間オブジェクト）生成を行う。このとき中間データ生成には属性キャッシュ３２４に記憶された情報を参照し、中間データ生成後は合成イメージバッファ３２３の情報はクリア（初期化）しておく（Ｓ５０３）。次に該イメージコマンドについて中間データを生成し、該イメージコマンドに対する解析処理を終了する（Ｓ５０４）。一方、既にキャッシュされたイメージデータが存在しなかった場合（Ｓ５０２−ＮＯ）は該イメージコマンドについてのみ中間データを生成し、該イメージコマンドに対する解析処理を終了する（Ｓ５０４）。
【００６４】
一方、Ｓ５０１でソースイメージの高さが閾値よりも小さかった場合（Ｓ５０１−ＹＥＳ）、既に合成イメージバッファ３２３にイメージデータがキャッシュされているかを確認する（Ｓ５０５）。キャッシュされたイメージデータがなかった場合（Ｓ５０５−ＮＯ）、該イメージコマンドを合成イメージバッファに保存し（Ｓ５０６）、同時に該イメージコマンドに対する属性データを属性バッファ３２４に記憶して該イメージコマンドに対する解析処理を終了する（Ｓ５０７）。
【００６５】
Ｓ５０５で、既にキャッシュされたイメージデータが存在した場合（Ｓ５０５−ＹＥＳ）、次に該イメージコマンドの描画領域と属性バッファに記憶されたイメージ描画領域とを照合し、イメージが隣接しているかどうかを判定する（Ｓ５０８）。ここでイメージが隣接していた場合は（Ｓ５０８−ＹＥＳ）、その他の属性が同じかどうかを照合する（Ｓ５０９）。ここで属性も同じであった場合は、合成イメージバッファ３２３の残りサイズと該イメージコマンドのイメージサイズを比較し、該イメージが合成バッファ３２３に納まるかどうかを判定する（Ｓ５１１）。ここで合成イメージバッファ３２３に納まると判断された場合には（Ｓ５１１−ＹＥＳ）、合成イメージバッファ３２３の適切な位置に該イメージコマンドのイメージデータをコピーし（Ｓ５１２）、属性バッファ３２４に記憶された属性情報を合成後のイメージに対応するものに更新して該イメージコマンドの解析処理を終了する（Ｓ５１３）。
【００６６】
一方、Ｓ５０８で描画領域が隣接していない（Ｓ５０８−ＮＯ）、もしくはＳ５１０で属性が異なる（Ｓ５１０−ＮＯ）、もしくはＳ５１１で合成イメージバッファ３２３に納まらない（Ｓ５０８−ＮＯ）と判断された場合には、既にキャッシュされたイメージデータに対して中間データ（中間オブジェクト）生成を行う。このとき中間データ生成には属性キャッシュ３２４に記憶された情報を参照し、中間データ生成後は合成イメージバッファ３２３の情報はクリア（初期化）しておく（Ｓ５０９）。その後、該イメージコマンドを合成イメージバッファに保存し（Ｓ５０６）、同時に該イメージコマンドに対する属性データを属性バッファ３２４に記憶して該イメージコマンドに対する解析処理を終了する（Ｓ５０７）。
【００６７】
＜図６の説明＞
次に印刷ジョブ解析手段３１２がイメージコマンド以外の描画コマンドを解析し、中間データを生成する処理を図６を用いて説明する。印刷ジョブ解析手段３１２がイメージコマンド以外の描画データを受け取るとまず、合成イメージバッファ３２３に既にイメージデータがキャッシュされているかどうかを判定する（Ｓ６０１）。ここでキャッシュされたイメージデータがあった場合（Ｓ６０１−ＹＥＳ）、既にキャッシュされたイメージデータに対して中間データ（中間オブジェクト）生成を行う。このとき中間データ生成には属性キャッシュ３２４に記憶された情報を参照し、中間データ生成後は合成イメージバッファ３２３の情報はクリア（初期化）しておく（Ｓ６０２）。次に該イメージコマンド以外の描画コマンドについて中間データを生成し、該コマンドに対する解析処理を終了する（Ｓ６０３）。一方、既にキャッシュされたイメージデータが存在しなかった場合（Ｓ６０１−ＮＯ）は該イメージコマンド以外の描画コマンドについてのみ中間データを生成し、該コマンドに対する解析処理を終了する（Ｓ６０３）。
【００６８】
以上のように処理することでイメージデータと他の描画データの描画順序が不正になることを防ぐことができる。
【００６９】
＜図７の説明＞
次に印刷ジョブ解析手段３１２が１ページ分のすべての描画コマンドを解析終了したときのプリンタ３１０の処理を図７を用いて説明する。
【００７０】
印刷ジョブ解析手段３１２が１ページ分すべての描画コマンドを解析終了したと判断されたなら、まず合成イメージバッファ３２３に既にイメージデータがキャッシュされているかどうかを判定する（Ｓ７０１）。ここでキャッシュされたイメージデータがあった場合（Ｓ７０１−ＹＥＳ）、既にキャッシュされたイメージデータに対して中間データ（中間オブジェクト）生成を行う。このとき中間データ生成には属性キャッシュ３２４に記憶された情報を参照し、中間データ生成後は合成イメージバッファ３２３の情報はクリア（初期化）しておく（Ｓ７０２）。次にページ展開手段３１３が中間データバッファ３２１に蓄積された中間データから印刷用紙に印刷するビットマップイメージデータを生成し、ページメモリ３２２に蓄積する（Ｓ７０３）。その後ページメモリ３２２に蓄積されたデータをプリンタエンジン３１４へ転送することで印刷結果３１４を得る（Ｓ７０４）。一方、既にキャッシュされたイメージデータが存在しなかった場合（Ｓ６０１−ＮＯ）は、同様にページ展開手段３１３が中間データバッファ３２１に蓄積された中間データから印刷用紙に印刷するビットマップイメージデータを生成し、ページメモリ３２２に蓄積し（Ｓ７０３）、蓄積されたイメージデータをプリンタエンジン３１４へ転送することで印刷結果３１４を得る（Ｓ７０４）。
【００７１】
以上の処理により１ページ分のイメージデータを過不足なく、かつ描画順序通りに印刷することが可能となる。
【００７２】
（その他の実施例）
上記実施例ではプリンタ内部でイメージの合成処理を行ったが、ホストコンピュータ上のプリンタドライバでイメージ合成処理を行っても良いことは言うまでもない。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施例１に係る印刷システムの断面図である。
【図２】イメージデータが細切れで処理されることによる不具合を説明するための図。
【図３】本発明の実施例１に係る印刷システムの構成を説明するブロック図である。
【図４】本発明の実施例１に係るバッファの中身を表す模式図。
【図５】本発明の実施例１に係るプリンタの処理動作を表すフローチャート。
【図６】本発明の実施例１に係るプリンタの処理動作を表すフローチャート。
【図７】本発明の実施例１に係るプリンタの処理動作を表すフローチャート。
【符号の説明】
【００７４】
１０１  ＬＢＰ本体
１０３  制御ボード収納部
１１５  排紙トレイ
１２８  操作パネル    
１３０  用紙カセット
３００  ホストコンピュータ
３０１  アプリケーション
３０２  ドライバ
３０３  プリントスプーラ
３１０  プリンタ
３１１  印刷ジョブ受信手段
３１２  印刷ジョブ解析手段
３２０  メモリ
３２３  合成イメージバッファ
３２４  属性バッファ
３１３  イメージ展開手段
３１４  プリンタエンジン
３３０  印刷結果
【図１】
2005141447.tif 000003
【図２】
2005141447.tif 000004
【図３】
2005141447.tif 000005
【図４】
2005141447.tif 000006
【図５】
2005141447.tif 000007
【図６】
2005141447.tif 000008
【図７】
2005141447.tif 000009