(57)【要約】【課題】ホストコンピュータとプリンタの間を接続しているインタフェースの転送速度と画像データ量とから、最も速い印刷速度が得られるタイミングを判断して印刷開始の指示を行う。【解決手段】画像データ生成部１０２はアプリケーションから受け取ったデータから画像データを生成する。画像データ転送部１０３は画像データ生成部１０２から受け取った画像データをプリンタへ転送する。転送速度測定部１０４は画像データ転送部１０３からプリンタ１０７に転送される画像データの速度を測定することにより転送速度を測定する。印刷開始指示判断部１０５は転送速度測定部１０４で測定された転送速度から印刷開始指示が可能かを判断する。印刷開始指示判断部１０５において印刷開始指示が可能であると判断された場合、印刷開始指示部１０６がプリンタ１０７へ印刷開始の指示を行う。【選択図】　　　図１
2004127023.tif 000002
【特許請求の範囲】
【請求項１】
データ処理装置と印刷装置とが通信手段を介して通信可能に接続された印刷システムであって、
前記データ処理装置と前記印刷装置の間のデータの転送速度に応じた所定のタイミングで前記印刷装置に印刷を開始させる印刷開始手段を具備することを特徴とする印刷システム。
【請求項２】
前記データ処理装置と前記印刷装置の間のデータの転送速度を検出する検出手段を更に具備することを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記検出手段は、前記印刷装置に実際に転送するデータの転送時間を計測することにより前記転送速度を算出することを特徴とする請求項２に記載の印刷システム。
【請求項４】
前記印刷装置での印刷の可否を判断する判断手段を更に備え、前記判断手段により印刷可能と判断された場合、前記印刷装置に対して印刷開始を指示することを特徴とする請求項１乃至３のいずれか１項に記載の印刷システム。
【請求項５】
通信手段を介して印刷装置に通信可能に接続されたデータ処理装置であって、
前記印刷装置に対するデータの転送速度に応じた所定のタイミングで前記印刷装置に印刷を開始させる印刷開始手段を具備することを特徴とするデータ処理装置。
【請求項６】
前記印刷装置との間のデータの転送速度を検出する検出手段を更に具備することを特徴とする請求項５に記載のデータ処理装置。
【請求項７】
前記検出手段は、前記印刷装置に実際に転送するデータの転送時間を計測することにより前記転送速度を算出することを特徴とする請求項６に記載のデータ処理装置。
【請求項８】
前記印刷装置での印刷の可否を判断する判断手段を更に備え、前記判断手段により印刷可能と判断された場合、前記印刷装置に対して印刷開始を指示することを特徴とする請求項５乃至７のいずれか１項に記載のデータ処理装置。
【請求項９】
データ処理装置と印刷装置とが通信手段を介して通信可能に接続された印刷システムにおける印刷制御方法であって、
前記データ処理装置と前記印刷装置の間のデータの転送速度に応じた所定のタイミングで前記印刷装置に印刷を開始させることを特徴とする印刷制御方法。
【請求項１０】
前記データ処理装置と前記印刷装置の間のデータの転送速度を検出する検出工程を更に具備することを特徴とする請求項９に記載の印刷制御方法。
【請求項１１】
前記検出工程では、前記印刷装置に実際に転送するデータの転送時間を計測することにより前記転送速度を算出することを特徴とする請求項１０に記載の印刷制御方法。
【請求項１２】
前記印刷装置での印刷の可否を判断する判断工程を更に備え、前記判断工程により印刷可能と判断された場合、前記印刷装置に対して印刷開始を指示することを特徴とする請求項９乃至１１のいずれか１項に記載の印刷制御方法。
【請求項１３】
請求項９乃至１２のいずれか１項に記載の印刷制御方法を実行する機能を実現させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、ホストコンピュータから画像データを受信して印刷するプリンタに適用可能な印刷システム、データ処理装置及び印刷制御方法に関する。
【０００２】
【従来の技術】及び
【発明が解決しようとする課題】
従来、レーザービームプリンタに代表され、ホストコンピュータから受信した画像データを印刷するページプリンタでは、必要なメモリ容量を小さくするために、画像データと同時に印刷開始を指示し、印刷データを受信しながら印刷するという方法がある。しかし、ページプリンタでは、印刷を開始してから終了するまでの時間が一定に定められており、印刷終了までに１ページを構成する画像データの全体を受信できなかった場合には、正常な印刷結果を得ることができない。
【０００３】
従って、ホストコンピュータとプリンタとの間を接続しているインタフェースが十分に高速でない場合、１ページを構成する画像データの量が多ければ、印刷開始を指示してから印刷が終了するまでに１ページを構成する画像データの全体を受信し終えることができず、正常な印刷結果を得ることができないという問題がある。
【０００４】
また、ホストコンピュータとプリンタが通信線を介して接続されている場合は、ネットワークの通信速度が一定でないため、１ページを構成する画像データの量を格納できる容量のバッファを用意し、１ページを構成する画像データの全体を受信した後に印刷開始を指示し、印刷するという方法がある。ネットワークの通信速度は動的に変化するものであるので、印刷途中に通信速度が上がり、印刷開始を指示できる状況もあり得る。しかし、ネットワークの通信速度が十分に高速な場合になったとしても、最悪の場合の通信速度をネットワークの通信速度として、１ページを構成する画像データの全体が受信されるまで、印刷が開始されないため、最大スループットが落ちてしまうという問題がある。
【０００５】
本発明は、上述した問題点を鑑みてなされ、その目的は、ホストコンピュータとプリンタの間を接続しているインタフェースの転送速度として実際の画像データの転送時にその瞬間の速度を測定し、そのリアルタイムの転送速度と画像データ量とから、適切な印刷開始のタイミングを判断し、最も速い印刷速度が得られるタイミングと判断されたときに印刷開始の指示を行う印刷システム、データ処理装置及び印刷制御方法を提供することである。
【０００６】
【課題を解決するための手段】
上述の課題を解決し、目的を達成するために、本発明の印刷システムは、データ処理装置と印刷装置とが通信手段を介して通信可能に接続された印刷システムであって、前記データ処理装置と前記印刷装置の間のデータの転送速度に応じた所定のタイミングで前記印刷装置に印刷を開始させる印刷開始手段を具備する。
【０００７】
また、好ましくは、上記印刷システムにおいて、前記データ処理装置と前記印刷装置の間のデータの転送速度を検出する検出手段を更に具備する。
【０００８】
また、好ましくは、上記印刷システムにおいて、前記検出手段は、前記印刷装置に実際に転送するデータの転送時間を計測することにより前記転送速度を算出する。
【０００９】
また、好ましくは、上記印刷システムにおいて、前記印刷装置での印刷の可否を判断する判断手段を更に備え、前記判断手段により印刷可能と判断された場合、前記印刷装置に対して印刷開始を指示する。
【００１０】
本発明のデータ処理装置は、通信手段を介して印刷装置に通信可能に接続されたデータ処理装置であって、前記印刷装置に対するデータの転送速度に応じた所定のタイミングで前記印刷装置に印刷を開始させる印刷開始手段を具備する。
【００１１】
また、好ましくは、上記データ処理装置において、前記印刷装置との間のデータの転送速度を検出する検出手段を更に具備する。
【００１２】
また、好ましくは、上記データ処理装置において、前記検出手段は、前記印刷装置に実際に転送するデータの転送時間を計測することにより前記転送速度を算出する。
【００１３】
また、好ましくは、上記データ処理装置において、前記印刷装置での印刷の可否を判断する判断手段を更に備え、前記判断手段により印刷可能と判断された場合、前記印刷装置に対して印刷開始を指示する。
【００１４】
本発明の印刷制御方法は、データ処理装置と印刷装置とが通信手段を介して通信可能に接続された印刷システムにおける印刷制御方法であって、前記データ処理装置と前記印刷装置の間のデータの転送速度に応じた所定のタイミングで前記印刷装置に印刷を開始させる。
【００１５】
また、好ましくは、上記印刷制御方法において、前記データ処理装置と前記印刷装置の間のデータの転送速度を検出する検出工程を更に具備する。
【００１６】
また、好ましくは、上記印刷制御方法において、前記検出工程では、前記印刷装置に実際に転送するデータの転送時間を計測することにより前記転送速度を算出する。
【００１７】
また、好ましくは、上記印刷制御方法において、前記印刷装置での印刷の可否を判断する判断工程を更に備え、前記判断工程により印刷可能と判断された場合、前記印刷装置に対して印刷開始を指示する。
【００１８】
尚、本発明は、上記いずれかの印刷制御方法を印刷装置自体や外部のホストコンピュータに実行させるためのプログラムの形態や当該プログラムを記憶したコンピュータ読み取り可能な記憶媒体の形態にも適用できる。
【００１９】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について詳細に説明する．
本発明は、例えば、ホストコンピュータ等から受信した画像データを格納するメモリと、該メモリに格納された画像データをドットイメージで印刷する印刷部とを少なくとも備えたプリンタにおいて、インタフェースの通信速度に応じて可能な限り高速印刷を行うことを可能にする印刷制御を行う。
【００２０】
図１は本発明に係る実施形態の印刷システムの全体を示すブロック図であり、１０２は画像データ生成部であり、アプリケーションから受け取ったデータから画像データを生成する。１０３は画像データ転送部であり、画像データ生成部１０２から受け取った画像データをプリンタへ転送する。１０４は、転送速度測定部であり、画像データ転送部１０３からプリンタ１０７に転送される画像データの速度を測定することにより転送速度を測定する。１０５は印刷開始指示判断部であり、転送速度測定部１０４で測定された転送速度から印刷開始指示が可能かを判断する。印刷開始指示判断部１０５において印刷開始指示が可能であると判断された場合、印刷開始指示部１０６がプリンタ１０７へ印刷開始の指示を行う。
【００２１】
図２は、本実施形態の印刷システムを構成するホストコンピュータとプリンタとの詳細な構成を示す機能ブロック図である。
【００２２】
先ず、ホストコンピュータ１０１の構成について説明すると、オペレーティングシステム（ＯＳ）２０は、ＣＰＵ、メモリ、ハードディスク、通信ポート２５などのハードウェアの管理、およびアプリケーションプログラム２１、プリンタドライバプログラム２２、送信プログラム２３、通信ドライバ２４などのソフトウェアの管理を行う。
【００２３】
アプリケーションプログラム２１は、操作者の指示に従ってデータを作成すると共に、オペレーティングシステム２０を経由してプリンタドライバプログラム２２に印刷指令を発行する．
プリンタドライバプログラム２２は、アプリケーションプログラム２１から発行された印刷指令に基づき、プリンタ１０７が印刷を行うための印刷データを作成する。
【００２４】
プリンタドライバプログラム２２が生成する印刷データは、１つのページに付き、１つのページ開始コマンド、１つの画像データ開始コマンド、１つ以上の画像データコマンド、１つのページ終了コマンドによって構成されており、これら一連のコマンドにより構成されるページを必要なだけ繰り返す。
【００２５】
ページ開始コマンドは、用紙サイズ、画像データの幅と高さ、画像データのサイズなど、印刷の制御に必要な情報を指定する。画像データコマンドは、印刷されるべきビットマップデータを指定するもので、アプリケーションプログラム２１が発行した印刷指令に従って生成されたビットマップデータを圧縮した上で、例えば、３２ＫＢ以下のブロックに分割されたものである。ページ終了コマンドは、１つのページの印刷データの終了を示す。
【００２６】
送信プログラム２３は、後述する手順により、プリンタ１０７から取得したプリンタステータスに従って、プリンタドライバプログラム２２が作成した印刷データを通信ドライバ２４、通信ポート２５を経由してプリンタ１０７に送信する。
【００２７】
通信ドライバ２４は、送信プログラム２３の要求に従い、通信ポートを制御して、プリンタ１０７との間の送受信を行う。
【００２８】
次に、プリンタ１０７の構成について説明する。
【００２９】
通信ポート３０は、例えばパラレルインタフェースケーブルにより、ホストコンピュータの通信ポート２５と接続される。もちろん、これはネットワークによって接続されている場合もある。
【００３０】
制御回路３１は、例えば、ＲＯＭ、ＲＡＭ及びタイマーを内蔵した１チップＣＰＵで構成され、通信ポート３０、ＦＩＦＯメモリ３２、復号回路３３、シフトレジスタ３４、および内蔵するタイマーの制御を行うと共に、プリンタエンジン３５との間でシリアル信号を用いてエンジンコマンドの送信およびエンジンステータスの受信を行う。
【００３１】
ＦＩＦＯ（ファーストインファーストアウト）メモリ３２は、例えば、０．５ＭＢの容量を有し、通信ポート３０が受信したデータを記憶し、記憶したデータを先入れ先出しの順に復号回路３３に出力する。ＦＩＦＯメモリ３２は、空き容量があるか否かを示す信号を制御回路３１に出力する。
【００３２】
復号回路３３は、ＦＩＦＯメモリ３２に記憶された画像データを復号化し、シフトレジスタ３４に出力する。
【００３３】
シフトレジスタ３４は、プリンタエンジン３５から主走査の開始を通知する信号を受信すると、復号回路３３が出力したパラレルデータをシリアルデータに変換し、プリンタエンジン３５に出力する。
【００３４】
プリンタエンジン３５は、レーザービームプリンタエンジンからなり、制御回路３１との間でシリアル信号を用いてエンジンコマンドの受信およびエンジンステータスの送信を行い、制御回路３１からＰＲＩＮＴコマンドを受信すると１ページの印刷処理を開始し、用紙が主走査を開始すべき所定の位置に達すると、主走査の開始を通知する信号をシフトレジスタ３４に出力し、シフトレジスタ３４が出力したシリアルデータに従って印刷を行う。
【００３５】
［通信制御］
ローカルに接続されていて、ホストコンピュータから受信した画像データを印刷するプリンタでは、スループットを向上させるため、画像データを受信すると同時に印刷開始を指示されることが多い。しかしながら、画像データのサイズが大きく、転送が間に合わない場合は、正常な印刷結果を得ることができない。逆に、正常な印刷結果を得るために画像データの転送が終わってから印刷開始を指示されることがあるが、その場合、必要以上にスループットを低下させてしまうという問題がある。
【００３６】
また、ホストコンピュータとプリンタとがネットワークを介して接続されている場合があり、この場合、ネットワークの通信速度はトラフィックの状況に応じて常に変化している。そのため、印刷時にネットワークの通信速度が速い場合は、早く印刷開始を指示すれば、スループットが上がるにもかかわらず、ネットワークの転送速度は最悪の状態を考慮し、どんな状況でも一律に画像データの転送が完了した後に印刷開始を指示しているため、スループットが低いという問題がある。
【００３７】
このような場合に、画像データを転送している間、その画像データの転送にかかる時間監視し、その転送時間からその瞬間のインタフェースの転送速度を求め、転送速度とこれから転送する残りの画像データのサイズから印刷開始が可能なタイミングであるかを判断し、印刷開始が可能であれば、印刷開始の指示を行う。
【００３８】
図３は本実施形態の通信制御を示すフローチャートである。
【００３９】
以下では、図３のフローチャートを参照して本実施形態の通信制御について説明するが、実際にはホストコンピュータ１０１の送信プログラム２３によって実行される処理である。
【００４０】
送信プログラム２３は、ワーク領域として、出力済みページ数、未出力画像データサイズ、転送ブロックサイズ、転送開始時間、転送終了時間、インタフェース転送速度を使用する。出力済みページ数は、データ送信が完了したページ数を保持し、初期値は０である。未出力画像データサイズは、まだ送信していない１ページの画像データのサイズを保持し、初期値は０である。転送ブロックサイズは、その時転送する画像データコマンドのサイズを保持し、初期値は０である。転送開始時間は、１ブロックの画像データの送信を開始する時間を保持し、初期値は０である。転送終了時間は、１ブロックの画像データの送信が完了した時間を保持し、初期値は０である。インタフェース転送速度は、現在使用しているインタフェースの転送速度を保持し、初期値は０である。
【００４１】
送信プログラム２３が起動されると、まずステップＳ３０１にて、ポートの種類を判断する。ポートの種類は、ポート名から判断し、ＬＰＴ、ＵＳＢ等が含まれていればローカル、そうでなければネットワークであると判断する。この時点では、また画像データが送信されていおらず、インタフェースの転送速度がわからないので、判断されたポートの種類によってインタフェース転送速度のデフォルトの設定を行う。例えば、ＬＰＴならば５００ＫＢ／ｓｅｃ、ＵＳＢならば７００ＫＢ／ｓｅｃ、ネットワークであれば３００ＫＢ／ｓｅｃと設定する。
【００４２】
次にステップＳ３０２にて、ステータス取得コマンドを送信する。
【００４３】
ステップＳ３０３では、プリンタのステータスを受信する。なお、ステータスは、エラーフラグ、印刷完了ページ数、コマンド送信禁止フラグ、およびデータ送信禁止フラグにより構成される。エラーフラグは、プリンタの印刷過程でエラーが検出されたことをしめす。印刷完了ページ数は、印刷が正常に終了したページ数を示す。コマンド送信禁止フラグは、プリンタ１０７が画像データ以外のコマンドすなわちページ開始コマンド、ページ終了コマンドを受信することができないことを示す。データ送信禁止フラグは、プリンタ１０７が、画像データを受信することができないことを示す。
【００４４】
ステップＳ３０４では、受信したステータスのエラーフラグが１であるかどうかを判定する。エラーフラグが１である場合は、印刷エラーが発生しているので、エラー終了する。エラーフラグが０である場合は、ステップＳ３０５に進む。
【００４５】
ステップＳ３０５では、受信したステータスの印刷完了ページ数が、総ページ数に等しいかを判定する。印刷完了ページ数が総ページ数と等しい場合は、全てのページの印刷が正常に終了したので正常終了する。印刷完了ページ数が総ページ数と等しくない場合は、全てのページの印刷が正常に終了していないので、ステップＳ３０６に進む。
【００４６】
ステップＳ３０６では、出力済みページ数が総ページ数に等しいかを判定する。出力済みページ数が総ページ数と等しい場合は、全てのページの送信が終了しているので、ステップＳ３０２に戻る。出力済みページ数が総ページ数と等しくない場合はステップＳ３０７に進む。
【００４７】
ステップＳ３０７では、これから送信しようとするコマンドが画像データコマンドであるか判定する。これから送信しようとするコマンドが画像データコマンドでない場合は、ステップＳ３０８に進む。
【００４８】
ステップＳ３０８では、受信したステータスのコマンド送信禁止フラグが１であるかを判定する。コマンド送信禁止フラグが１の場合は、画像データコマンド以外のコマンド送信が禁止されているのでステップＳ３０２に戻る。コマンド送信禁止フラグが０の場合は、画像データコマンド以外のコマンドの送信が許可されているのでステップＳ３０９に進む。
【００４９】
ステップＳ３０９では、これから送信しようとしているコマンドがページ開始コマンドであるかを判定する。ページ開始コマンドであると判定された場合は、ステップＳ３１０に進む。
【００５０】
ステップＳ３１０では、ページ開始コマンドに含まれているそのページの画像データサイズを未出力画像データサイズに記憶させ、ステップＳ３１５に進む。
【００５１】
ステップＳ３０９でページ開始コマンドでないと判定された場合は、ステップＳ３１１に進む。ステップＳ３１１では、これから送信しようとしているコマンドがデータ開始コマンドであるかを判定する。データ開始コマンドであると判定された場合は、ステップＳ３１２に進む。それ以外のコマンドであれば、ステップＳ３１５に進む。
【００５２】
ステップＳ３１２では、印刷開始が可能かどうかを判定する。印刷開始が可能であると判断された場合は、ステップＳ３１３に進む。可能でないと判断された場合は、ステップＳ３１５に進む。印刷開始が可能かどうかは、以下の方法によって判定する。
【００５３】
印刷開始が可能かどうかというのは、印刷を開始してから印刷が完了するまでの間、つまり１ページの印刷にかかる時間に、１ページの画像データを送れるかどうかということである。例えば、連続印刷速度が４ｐｐｍ（ｐａｇｅ　ｐｅｒ　ｍｉｎｕｔｅ）であれば、１ページの印刷にかかる時間は、６０ｓｅｃ／４ｐｐｍ＝１５ｓｅｃとなり、１５秒であることになる。印刷開始を指示する時点での未出力画像データが、１５秒で転送が完了するかとも言い換えられる。転送完了が可能な転送速度は、次の式で表される。
【００５４】
未出力画像データサイズ／１ページの印刷にかかる時間＝転送完了に必要とされるデータ転送速度
インタフェースの転送速度が、転送完了に必要とされるデータ転送速度を上回っていれば印刷開始が可能であると判定できる。
【００５５】
ステップＳ３１３では、１つのコマンドを送信する。ステップＳ３１４では、Ｓ３１２で印刷開始が可能であると判定されているので、印刷開始コマンドを送信する。
【００５６】
ステップＳ３１５では、１つのコマンドを送信する。
【００５７】
ステップＳ３１６では、現在出力中のページのブロックを全て送信したかを判定する。現在出力中のページに未送信のブロックがある場合は、ステップＳ３０２に戻る。現在出力中のページのブロックを全て送信した場合は、ステップＳ３１７に進み、出力済みページ数に１を加算し、ステップＳ３０２に戻る。
【００５８】
ステップＳ３０７において、画像データコマンドであると判断された場合は、ステップＳ３１９に進む。ステップＳ３１９では、受信したステータスのデータ送信禁止フラグが１であるかを判定する。プリンタは受信バッファがフルになった場合にデータ送信禁止フラグを１にする。データ送信禁止フラグが１の場合は、画像データの送信が禁止されているのでステップＳ３２０に進む。データ送信禁止フラグが０の場合は、画像データの送信が許可されているので、ステップＳ３２１に進む。
【００５９】
ステップＳ３２０において、データ送信禁止フラグが１であるということは、プリンタ側のバッファがフルであるということなので、印刷開始コマンドを送信する。
【００６０】
ステップＳ３２１において、ステップＳ３１２と同様に印刷開始が可能であるかを判別し、印刷可能であると判別された場合は、ステップＳ３２２に進み、印刷開始が可能でないと判別された場合はステップＳ３２３に進む。この場合、既に画像データの転送が始まっているので、ステップＳ３１２の式をそのまま利用して転送完了に必要とされる転送速度を求めることはできない。
【００６１】
ステップＳ３１２でいう１ページの印刷にかかる時間とは、用紙と用紙の間の時間＋実際にレーザ−が出力されている時間の和である。しかし、画像データの転送が始まっているということは、そのとき用紙と用紙の間の時間に来ていることを意味しているので、このときは実際にレーザーが出力されている時間で転送できるかどうかを判断しなければならない。例えば、用紙と用紙の間が３秒ある場合は、１５−３＝１２秒で転送が完了するかということである。つまり、次の式で表される転送速度を上回らなければならない。
【００６２】
未出力画像データサイズ／実際にレーザーが出力されている時間＝転送完了に必要とされるデータ転送速度
ステップＳ３２２では、印刷開始コマンドを送信し、ステップＳ３２３に進む。
【００６３】
ステップＳ３２３では、画像データコマンドには、そのコマンド自身のサイズが格納されているので、そのコマンドのサイズを転送ブロックサイズに記憶し、ステップＳ３２４に進む。
【００６４】
ステップＳ３２４において、その時のシステム時間を取得し、転送開始時間に記憶させる。ステップＳ３２５では、１ブロックの画像データコマンドを送信する。ステップＳ３２６にて、システム時間を取得し、転送完了時間に記憶させる。
【００６５】
ステップＳ３２７において、転送ブロックサイズ、転送開始時間、転送完了時間から次の式によって、インタフェースの転送時間を算出する。
【００６６】
転送ブロックサイズ／（転送完了時間−転送開始時間）＝インタフェース転送速度
算出された転送速度を、インタフェース転送速度に記憶させる。
【００６７】
ステップＳ３２８にて、未出力画像サイズから、ステップＳ３２６にて転送した転送ブロックサイズを減算し、ステップＳ３０２に戻る。
【００６８】
上記実施形態によれば、インタフェースが高速になった場合は、早めに印刷開始を指示して連続印刷における最大スループットを保つことができると共に、インタフェースが低速な場合には、印刷開始の指示を遅らせて可能な限り正常な印刷結果を得ることができるようになり、メモリ容量が十分大きくない場合であっても、インタフェースの速度の動的な変化に応じて、できるだけ高速に印刷して正常な印刷結果を得ることができる。
【００６９】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００７０】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７２】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した図３の各機能ブロックに対応するプログラムコードや各種テーブルが格納されることになる。
【００７３】
【発明の効果】
以上説明したように、本発明によれば、例えば、インタフェースが高速になった場合は、早めに印刷開始を指示して、連続印刷における最大スループットを保つことができると共に、インタフェースが低速な場合には、印刷開始の指示を遅らせて、可能な限り正常な印刷結果を得ることができるようになり、メモリ容量が十分大きくない場合であっても、インタフェースの速度の動的な変化に応じて、できるだけ高速に印刷して正常な印刷結果を得ることができる。
【図面の簡単な説明】
【図１】本発明に係る実施形態の印刷システムの構成を示す機能ブロック図である。
【図２】本実施形態の印刷システムを構成するホストコンピュータとプリンタの詳細構成を示すブロック図である。
【図３】本実施形態のホストコンピュータの送信プログラムによる通信制御を示すフローチャートである。
【符号の説明】
１０１　ホストコンピュータ
１０７　プリンタ
２０　アプリケーションプログラム
２２　プリンタドライバプログラム
２３　送信プログラム
２５　通信ポート
３０　プリンタ通信ポート
３１　制御回路
３２　ＦＩＦＯ
３３　復号回路
３４　シフトレジスタ
３５　プリンタエンジン
【図１】
2004127023.tif 000003
【図２】
2004127023.tif 000004
【図３】
2004127023.tif 000005