(57)【要約】【課題】  プリンタ側のメモリ容量を増加させることなく、プリンタ側のメモリ不足を解消する。【解決手段】  プリンタ３０側でメモリ不足が生じている場合には、ホスト２０にプリンタ用のメモリ領域を確保させるためのメモリ確保命令を出力し、メモリ確保完了の応答が返信されて来るのを待つ（Ｓ３０〜Ｓ５０）。メモリ確保完了の応答が返信されて来たら、転送すべきデータを選択し、このデータをホスト２０側へ書き込み命令と共に出力する（Ｓ６０，Ｓ７０）。ホスト２０側へ退避しているデータが必要になった場合はデータ読み出し命令を出力し、データ読み出し応答が返って来たらデータをプリンタ３０側のＲＡＭ４３に書き込む（Ｓ８０〜Ｓ１１０）。また、ホスト２０側にメモリ領域を確保する必要がなくなったら、メモリ解放命令を出力する（Ｓ１２０，Ｓ１３０）。【選択図】        図２
2005199728.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータから送られてくるデータに基づいてプリンタ側のメモリに画像データを蓄積し、該蓄積された画像データに基づいて印刷を実行するようにした印刷方法において、
プリンタ側で確保しておくべきデータの一部について、当該一部のデータを必要に応じてホストコンピュータ側のメモリに退避させておき、該退避させておいたデータがプリンタ側で必要になったか否かをプリンタ側で判断させ、該判断の結果、必要になったと判断したとき、前記退避させておいたデータをプリンタ側に戻し、必要になっていないと判断したとき、前記退避させておいたデータをプリンタ側に戻さないようにしたことを特徴とする印刷方法。
【請求項２】
ホストコンピュータから送られてくるデータに基づいてプリンタ側のメモリに画像データを蓄積し、該蓄積された画像データに基づいて印刷を実行するようにした印刷システムにおいて、
前記ホストコンピュータと前記プリンタとを双方向通信可能に接続し、
前記プリンタ側で確保しておくべきデータの一部について、当該一部のデータを必要に応じてホストコンピュータ側のメモリに退避させておくデータ退避手段と、
前記プリンタ側に設けられ、前記データ退避手段により前記ホストコンピュータ側のメモリに退避されているデータがプリンタ側で必要になったか否か判断する退避データ要否判断手段と、
前記退避データ要否判断手段により前記退避されているデータが必要になったと判断されたとき、前記退避されているデータをプリンタ側に戻し、必要になっていないと判断されたとき、前記退避されているデータをプリンタ側に戻さないデータ戻し手段と
を備えることを特徴とする印刷システム。
【請求項３】
請求項２記載の印刷システムにおいて、
前記ホストコンピュータ側のメモリにおける、前記退避データ要否判断手段により必要になったと判断されたデータが退避されているメモリ領域を指定する戻し対象データメモリ領域指定手段を備え、
前記データ戻し手段は、前記戻し対象データメモリ領域指定手段により指定されたメモリ領域に退避されているデータをプリンタ側に戻す
ことを特徴とする印刷システム。
【請求項４】
請求項２または請求項３に記載の印刷システムにおいて、
前記プリンタ側でメモリの不足が生じたか否かを判断するメモリ不足判断手段を備え、  前記データ退避手段は、前記メモリ不足判断手段によりメモリの不足が生じたと判断された場合に前記一部のデータを退避させる
ことを特徴とする印刷システム。
【請求項５】
請求項２〜４のいずれかに記載の印刷システムにおいて、
前記プリンタがページメモリを有するページプリンタであり、
前記退避させるデータが、プリンタ側のページメモリ以外の記憶領域に確保しておくべきデータである
ことを特徴とする印刷システム。
【請求項６】
ホストコンピュータから送られてくるデータに基づいてプリンタ側のメモリに画像データを蓄積し、該蓄積された画像データに基づいて印刷を実行するようにした印刷システムにおいて用いられるプリンタであって、
前記印刷システムは、前記プリンタ側のデータを前記ホストコンピュータ側のメモリに一時的に退避させることができるよう構成されており、
当該プリンタ側で確保しておくべきデータの一部を必要に応じて前記ホストコンピュータ側へ出力するデータ出力手段と、
前記データ出力手段により出力されて前記ホストコンピュータ側のメモリに一時的に退避されているデータが当該プリンタ側で必要になったか否かを判断する退避データ要否判断手段と、
前記退避データ要否判断手段により前記退避されているデータが必要になったと判断されたとき、前記退避されているデータを当該プリンタへ戻させるための戻し命令を前記ホストコンピュータ側へ出力し、必要になっていないと判断されたとき、前記退避されているデータを当該プリンタへ戻させるための戻し命令を前記ホストコンピュータ側へ出力しない戻し命令手段と
を備えることを特徴とするプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータから送られてくるデータに基づいてプリンタ側のメモリに画像データを蓄積し、該蓄積された画像データに基づいて印刷を実行するようにした印刷方法と、当該印刷方法を実施する印刷システム、及びその印刷システムに用いられるプリンタに関する。
【背景技術】
【０００２】
従来、レーザプリンタに代表される様なページプリンタは、１頁分の画像情報を十分格納できるだけのＲＡＭが必要であり、ホストコンピュータからプリンタＲＡＭの容量を越えるデータが送出されてくると、メモリ不足となりエラーとなっている。データ圧縮技術を用いてメモリ不足を解消する努力もなされているが、その一方でコストダウンのためにメモリの容量を極力少なくする必要があり、まだメモリ不足の問題は残っている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
そこで、本発明は、プリンタ側のメモリ容量を増加させることなく、プリンタ側のメモリ不足を解消することを目的とする。
【課題を解決するための手段】
【０００４】
請求項１記載の印刷方法は、ホストコンピュータから送られてくるデータに基づいてプリンタ側のメモリに画像データを蓄積し、該蓄積された画像データに基づいて印刷を実行するようにした印刷方法において、プリンタ側で確保しておくべきデータの一部について、当該一部のデータを必要に応じてホストコンピュータ側のメモリに退避させておき、該退避させておいたデータがプリンタ側で必要になったか否かをプリンタ側で判断させ、該判断の結果、必要になったと判断したとき、前記退避させておいたデータをプリンタ側に戻し、必要になっていないと判断したとき、前記退避させておいたデータをプリンタ側に戻さないようにしたことを特徴とする。
【０００５】
例えば、ホスト側のハードディスクやＲＡＭなどにプリンタ側の確保すべきデータの一部を退避させておくのである。こうしてデータの一部をホスト側に退避させることで、プリンタ側の使用可能なメモリを拡張し、メモリ不足を解消することができる。そして、退避させたデータは、必要に応じてプリンタ側に戻すので、データの退避によって印刷不能等の弊害を来さない。
【０００６】
次に、請求項２記載の印刷システムは、ホストコンピュータから送られてくるデータに基づいてプリンタ側のメモリに画像データを蓄積し、該蓄積された画像データに基づいて印刷を実行するようにした印刷システムにおいて、前記ホストコンピュータと前記プリンタとを双方向通信可能に接続し、前記プリンタ側で確保しておくべきデータの一部について、当該一部のデータを必要に応じてホストコンピュータ側のメモリに退避させておくデータ退避手段と、前記プリンタ側に設けられ、前記データ退避手段により前記ホストコンピュータ側のメモリに退避されているデータがプリンタ側で必要になったか否か判断する退避データ要否判断手段と、前記退避データ要否判断手段により前記退避されているデータが必要になったと判断されたとき、前記退避されているデータをプリンタ側に戻し、必要になっていないと判断されたとき、前記退避されているデータをプリンタ側に戻さないデータ戻し手段とを備えることを特徴とする。
【０００７】
この印刷システムによれば、データ退避手段によりプリンタ側で確保しておくべきデータの一部を必要に応じてホストコンピュータ側に退避させ、このデータがプリンタ側で必要になったとき、データ戻し手段がプリンタ側にデータを戻す。これにより、上記本発明の方法を実現している。
【０００８】
上記請求項２記載の印刷システムにおいては、例えば請求項３に記載のように、前記ホストコンピュータ側のメモリにおける、前記退避データ要否判断手段により必要になったと判断されたデータが退避されているメモリ領域を指定する戻し対象データメモリ領域指定手段を備え、前記データ戻し手段は、前記戻し対象データメモリ領域指定手段により指定されたメモリ領域に退避されているデータをプリンタ側に戻すようにしてもよい。
【０００９】
請求項２または請求項３に記載の印刷システムにおいては、例えば請求項４に記載のように、前記プリンタ側でメモリの不足が生じたか否かを判断するメモリ不足判断手段を備え、前記データ退避手段は、前記メモリ不足判断手段によりメモリの不足が生じたと判断された場合に前記一部のデータを退避させるようにしておくとよい。こうすることで、必要以上にデータの退避と戻しを行う必要がなくなり、システム全体の稼動効率を妨げない。
【００１０】
請求項２〜４のいずれかに記載の印刷システムにおいては、例えば請求項５に記載のように、前記プリンタがページメモリを有するページプリンタであり、前記退避させるデータが、プリンタ側のページメモリ以外の記憶領域に確保しておくべきデータとしておくとよい。例えば、パターンキャッシュ、フォントキャッシュ、ページデータ、図形データ、ダウンロードパターン、ダウンロードマクロ、ダウンロードフォント等のデータをあげることができる。ページメモリ自体を退避させないのは、ここには常に印刷に必要な画像データが展開されており、退避させるとすぐに戻す必要が生じてしまうからである。これに対し、例示したパターンキャッシュなどは、印刷時に常に必要なデータではないので、一旦退避させておいてもよいのである。
【００１１】
次に、請求項６記載のプリンタは、ホストコンピュータから送られてくるデータに基づいてプリンタ側のメモリに画像データを蓄積し、該蓄積された画像データに基づいて印刷を実行するようにした印刷システムにおいて用いられるプリンタであって、前記印刷システムは、前記プリンタ側のデータを前記ホストコンピュータ側のメモリに一時的に退避させることができるよう構成されており、当該プリンタ側で確保しておくべきデータの一部を必要に応じて前記ホストコンピュータ側へ出力するデータ出力手段と、前記データ出力手段により出力されて前記ホストコンピュータ側のメモリに一時的に退避されているデータが当該プリンタ側で必要になったか否かを判断する退避データ要否判断手段と、前記退避データ要否判断手段により前記退避されているデータが必要になったと判断されたとき、前記退避されているデータを当該プリンタへ戻させるための戻し命令を前記ホストコンピュータ側へ出力し、必要になっていないと判断されたとき、前記退避されているデータを当該プリンタへ戻させるための戻し命令を前記ホストコンピュータ側へ出力しない戻し命令手段とを備えることを特徴とする。
【００１２】
この請求項６のプリンタによれば、ホストコンピュータ側に退避させているデータが必要になったか否かを当該プリンタ側で判断するようにし、必要になったときに戻し命令を出力してデータを戻すようにしている。このように構成されたプリンタを用いることにより、上記請求項２に記載の印刷システムが実現される。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を一層分かりやすくするため、実施例を図面と共に説明する。
【００１４】
実施例のプリンタシステム１０は、図１に示す様に、印刷ホスト２０と、レーザプリンタ３０とで構成されている。印刷ホスト２０とレーザプリンタ３０とはパラレルデータ送受信用のセントロニクスケーブル１５を介して双方向通信可能に接続されている。
【００１５】
ホスト２０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ハードディスク２４、入出力ポート２５等を備えるパーソナルコンピュータであり、ＰＤＬ（ページディスクリプションランゲージ）タイプの印刷データ及びコマンドデータを出力するように構成されている（以下、「ＰＤＬ出力」、「ＰＤＬデータ」等という）。
【００１６】
レーザプリンタ３０は、露光装置、感光体、現像装置、転写装置、定着装置などを備え、電子写真方式により用紙に画像を形成するエンジン部３５と、このエンジン部３５を駆動制御するコントローラ部４０とからなる。コントローラ部４０は、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、ラインスキャンバッファ４４、駆動回路４５、入出力ポート４６等を中心に構成される。この内、ＲＡＭ４３は、ホスト２０から受信したＰＤＬデータを一旦格納すると共に、コマンド実行によって展開された画像データを蓄積するのに利用される。また、パターンキャッシュ、フォントキャッシュ、ページデータ、図形データ、ダウンロードパターン、ダウンロードマクロ、ダウンロードフォント等のデータを格納しておくのにも用いられる。
【００１７】
ここで、パターンキャッシュ等について説明する。
【００１８】
（１）  パターンキャッシュ
ホストから指定されたパターン（模様）を印刷のためにビットマップに展開して結果を一時適にメモリに残しておくものである。こうすることにより、ホストからもう一度同じパターンが指定されたとき、もう一度展開する手間をなくすのに役立つ。
【００１９】
（２）  フォントキャッシュ
ホストから指定された文字の種類、サイズ等に従い、印刷のためにスケーラブルにビットマップに展開した結果を一時的にメモリに残しておくものである。こうすることにより、もう一度同じ文字がホストから指定された時にもう一度展開する必要がなくなるからである。
【００２０】
（３）  ページデータ
印刷する直前の１ページ分の完全にビットマップ化されたデータ。このデータをそのままレーザービームに出力する。
【００２１】
（４）  図形データ
ページメモリに展開する前の中間的な図形の形状データ。図形の形状を数値（座標）で表している。印刷時まで展開されることはない。
【００２２】
（５）  ダウンロードパターン
ホストからダウンロードされた模様。このデータはすぐに印刷データに展開されるというものではなく、次に模様を使用する描画データをホストから送られてきた時に参照される。
【００２３】
（６）  ダウンロードマクロ
（５）と同様。マクロとは、一連の手続をカプセル化したもので、何度も同じ一連の手続を使用するときに、何度も大量のデータをホストから送出しなくてもよくなる。
【００２４】
（７）  ダウンロードフォント
（５），（６）と同様。
【００２５】
これら印刷ホスト２０及びレーザプリンタ３０は、次の様な処理によって印刷を実行している。
【００２６】
まず、レーザプリンタ３０側の制御処理について説明する。
【００２７】
レーザプリンタ３０側では、図２に示す様に、ホスト２０からのＰＤＬデータを受信したら、これに含まれるコマンドを実行して印刷データを画像データに展開する（Ｓ１０，Ｓ２０）。そして、このデータ展開の結果、ＲＡＭ４３においてメモリ不足が生じているか否かを判断する（Ｓ３０）。ここでいうメモリ不足とは、データ展開に必要とするサイズのメモリを確保しようとしたときにメモリの空きエリアがこれに足りないときをいう。
【００２８】
メモリ不足が生じている場合には、ホスト２０にプリンタ用のメモリ領域を確保させるためのメモリ確保命令を出力する（Ｓ４０）。そして、ホスト２０からメモリ確保が完了した旨の応答が返信されて来るのを待つ（Ｓ５０）。
【００２９】
メモリ確保完了の応答が返信されて来たら、ホスト２０側へ転送すべきデータを選択し（Ｓ６０）、このデータをホスト２０側へ書き込み命令と共に出力する（Ｓ７０）。転送すべきデータは、パターンキャッシュ等の中から選択される。選択の優先順位は、（１）ダウンロードフォント、（２）ダウンロードマクロ、（３）ダウンロードパターン、（４）図形データ、（５）ページデータ、（６）フォントキャッシュ、（７）パターンキャッシュという順番とする。利用頻度との関係によりこの優先順位が決められている。利用頻度の低いものほど早いタイミングでホスト２０側へ退避されることとなる。
【００３０】
一方、ホスト２０側へ退避しているデータが必要になった場合は（Ｓ８０＝ＹＥＳ）、ホスト２０に対してデータの読み出し命令を出力する（Ｓ９０）。そして、ホスト２０からデータ読み出し応答が返って来るのを待ち（Ｓ１００）、転送されてきたデータをプリンタ３０側のＲＡＭ４３に書き込む（Ｓ１１０）。
【００３１】
また、ホスト２０側にメモリ領域を確保する必要がなくなったら（Ｓ１２０＝ＹＥＳ）、ホスト２０に対してメモリ解放命令を出力する（Ｓ１３０）。そして、１ページ分の画像データを展開し終えたら印刷処理を実行する（Ｓ１４０，Ｓ１５０）。
【００３２】
次に、印刷ホスト２０側の処理について、図３を用いて説明する。
【００３３】
ホスト２０では、出力すべきＰＤＬデータがある場合、１バイトずつデータを出力する（Ｓ２１０，Ｓ２２０）。これは、通常のＰＤＬプリンタにおける処理と全く同様である。
【００３４】
本実施例の特徴としては、このデータ出力処理の他に、プリンタ３０からメモリ確保命令が送信されて来た場合に（Ｓ２３０＝ＹＥＳ）、ホスト２０側のＲＡＭ２３又はハードディスク２４にプリンタ用メモリ領域を確保し（Ｓ２４０）、メモリ確保が完了したらその旨の応答を返信する（Ｓ２５０，Ｓ２６０）。なお、メモリ確保に失敗した場合には（Ｓ２５０＝ＹＥＳ）、エラーを報知して処理を終了する（Ｓ２７０）。
【００３５】
また、プリンタ３０からデータ書き込み命令を受信したら（Ｓ２８０）、プリンタ用に確保したメモリ領域にプリンタ３０からの退避データを書き込む（Ｓ２９０）。そして、この退避データは、プリンタ３０からのデータ読み出し命令を受信したら読み出され、出力される（Ｓ３００，Ｓ３１０）。なお、上述のプリンタ用メモリ領域は、プリンタ３０からメモリ解放命令を受信することによって確保を解かれる（Ｓ３２０，Ｓ３３０）。
【００３６】
本実施例によれば、上述の処理により、プリンタ３０側のメモリ不足に対してホスト２０側にプリンタ用メモリ領域を確保し、ここにダウンロードフォントから順番に利用頻度の低いデータを一時退避させておく。これにより、プリンタ３０側では、ＲＡＭ４３内の画像データ用のリングバッファ領域を十分に確保することができるようになり、メモリ不足によるトラブル発生を回避している。
【００３７】
次に、メモリ確保命令等のデータ構造について説明する。
【００３８】
実施例では、プリンタ３０は、メモリ確保命令等として、図４（ａ）〜（ｄ）の様な構造のデータを出力するようにしている。各命令の先頭にはエスケープコード「１ｂｈ」と「Ｍ」、「Ｍ」、「Ｇ」とからなる識別子が付されている（以下、これを「メモリマネージャ識別子」とよぶ）。
【００３９】
そして、メモリ確保命令については、メモリマネージャ識別子に続けてＡｌｌｏｃａｔｅの頭文字をとって「Ａ」が付され、続けて確保すべきバイト数を示すデータが記録される。
【００４０】
また、メモリ解放命令については、メモリマネージャ識別子に続けてＲｅｌｅａｓｅの頭文字をとって「Ｒ」が付され、続けて解放すべきメモリ領域を指定するための「メモリハンドル」が記録される。
【００４１】
一方、データ書き込み命令については、メモリマネージャ識別子に続けてＷｒｉｔｅの頭文字をとって「Ｗ」が付され、続けて書き込むべきメモリ領域を指定するための「メモリハンドル」が記録され、さらに、メモリハンドル内の書き込み開始位置を示す「メモリオフセット」が記録された後、書き込みデータバイト数と書き込むべきデータとが記録される。
【００４２】
また、データ読み出し命令については、メモリマネージャ識別子に続けてＲｅａｄの頭文字をとって「Ｒ」が付され、続けて読み出すべきメモリ領域を指定するための「メモリハンドル」が記録され、さらに、メモリハンドル内の読み出し開始位置を示す「メモリオフセット」が記録された後、読み出しデータバイト数が記録される。
【００４３】
一方、ホスト２０側からの応答は、図５（ａ），（ｂ）に示される様に構成されている。こちらも、それぞれ先頭にメモリマネージャ識別子が付される。そして、これに続けて、メモリ確保完了応答では、Ａｌｌｏｗａｂｌｅの「Ａ」と、確保したメモリ領域を示す「メモリハンドル」とが記録されたものとなっている。また、データ読み出し応答では、メモリマネージャ識別子、Ｒｅａｄの「Ｒ」、データバイト数及びデータが記録されたものとなっている。
【００４４】
実施例においては、この様に、メモリ確保命令等を行う場合、通常のデータと区別するために先頭にメモリマネージャ識別子を付することとし、混乱を来さないようにしている。
【００４５】
以上本発明の一実施例について説明してきたが、本発明は何らこの実施例に限定されるものではなく、例えば、印刷データはＰＤＬデータに限られない等、その要旨を逸脱しない範囲内で種々なる態様にて実施できることはもちろんである。
【００４６】
また、メモリを管理するためのデータと印刷データとの区別についても、例えば、ＩＥＥＥ１２８４のＥＣＰモードによる印刷システムであれば、メモリマネージャ識別子に代えて、アドレスで区別するようにしてもよい。具体的には、ホストからは、アドレス「００」に続けて印刷データを、アドレス「０１」に続けてメモリ管理用データを出力するようにしてもよいのである。プリンタ側では、このアドレスによって印刷データなのかメモリ管理用データなのかを簡単に区別することができる。
【図面の簡単な説明】
【００４７】
【図１】実施例のプリンタシステムの概略構成図である。
【図２】実施例におけるプリンタ側の制御処理内容を示すフローチャートである。
【図３】実施例におけるホスト側の制御処理内容を示すフローチャートである。
【図４】実施例におけるプリンタ側が出力する命令のデータ構造を示す説明図である。
【図５】実施例におけるホスト側が出力する応答のデータ構造を示す説明図である。
【符号の説明】
【００４８】
１０・・・プリンタシステム、１５・・・セントロニクスケーブル、２０・・・印刷ホスト２０、２１・・・ＣＰＵ、２２・・・ＲＯＭ、２３・・・ＲＡＭ、２４・・・ハードディスク、３０・・・レーザプリンタ、３５・・・エンジン部、４０・・・コントローラ部、４１・・・ＣＰＵ、４２・・・ＲＯＭ、４３・・・ＲＡＭ、４４・・・ラインスキャンバッファ、４５・・・入出力ポート。
【図１】
2005199728.tif 000003
【図２】
2005199728.tif 000004
【図３】
2005199728.tif 000005
【図４】
2005199728.tif 000006
【図５】
2005199728.tif 000007