(57)【要約】【課題】ホスト装置における圧縮処理が完了するのをまつことなく適切に印刷開始タイミングを決定して印刷を開始することができる枠組みを提供する。【解決手段】ホスト装置から印刷イメージの圧縮データを受信し、該圧縮データを伸長して印刷イメージを復元し、該印刷イメージに基づき印刷を実行するホストベースプリンタであって、印刷動作の開始可否を判定するタイミングＳを記憶する手段と、タイミングＳが到来した場合に、印刷イメージについて該タイミングＳまでに受信した圧縮データのデータ量ｐに基づき、印刷イメージの残りの圧縮データのデータ量ｑを予測する手段と、データ量ｑのデータを受信するのに必要な時間Ｔ１を予測する手段と、印刷イメージを印刷するのに必要な時間Ｔ２を予測する手段と、Ｔ１がＴ２以下である場合に、印刷イメージを復元して印刷を実行する印刷動作を行わせる手段とを備える。【選択図】  図３
2005305986.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置から印刷イメージの圧縮データを受信し、該圧縮データを伸長して印刷イメージを復元し、該印刷イメージに基づき印刷を実行するホストベースプリンタであって、
印刷対象の印刷イメージ（以下、「印刷対象イメージ」という）について印刷動作の開始可否を判定するタイミングＳを記憶する記憶手段と、
タイミングＳが到来した場合に、印刷対象イメージについて該タイミングＳまでに受信した圧縮データのデータ量ｐに基づき、印刷対象イメージの残りの圧縮データのデータ量ｑを予測する第１予測手段と、
前記予測したデータ量ｑのデータを受信するのに必要な時間Ｔ１を予測する第２予測手段と、
印刷対象イメージを印刷するのに必要な時間Ｔ２を予測する第３予測手段と、
Ｔ１がＴ２以下である場合に印刷対象イメージについて印刷動作開始可と判定し、印刷対象イメージを復元して印刷を実行する印刷動作を行わせる開始判定手段と、を備えることを特徴とするホストベースプリンタ。
【請求項２】
前記第１予測手段は、受信済みのバンドの数とデータ量ｐとに基づきバンド平均データ量を求め、未受信のバンドの数に該バンド平均データ量を乗算してデータ量ｑを予測することを特徴とする、請求項１記載のホストベースプリンタ。
【請求項３】
ホスト装置から指定されたタイミングに基づきタイミングＳの初期値を設定する手段を備えることを特徴とする請求項１又は２記載のホストベースプリンタ。
【請求項４】
圧縮データを受信する通信インタフェースの規格と、ホスト装置における圧縮処理のパフォーマンスに関わる情報とに基づいて、圧縮データに関する受信速度Ｖを求める手段を備え、
前記第２予測手段は、データ量ｑと受信速度Ｖとに基づき時間Ｔ１を予測することを特徴とする、請求項１乃至３のいずれか１項に記載のホストベースプリンタ。
【請求項５】
圧縮データに関する受信速度Ｖを実測する手段を備え、
前記第２予測手段は、データ量ｑと受信速度Ｖとに基づき時間Ｔ１を予測することを特徴とする、請求項１乃至３のいずれか１項に記載のホストベースプリンタ。
【請求項６】
前記開始判定手段は、Ｔ１がＴ２より大きい場合に印刷対象イメージについて印刷動作開始不可と判定し、印刷動作の開始可否を再判定すべく、前記記憶手段を参照してタイミングＳを設定し直すことを特徴とする、請求項１乃至５のいずれか１項に記載のホストベースプリンタ。
【請求項７】
前記開始判定手段は、Ｔ１がＴ２より大きい場合に印刷対象イメージについて印刷動作開始不可と判定し、タイミングＳから少なくとも（Ｔ１−Ｔ２）が経過してから印刷動作を行わせることを特徴とする、請求項１乃至６のいずれか１項に記載のホストベースプリンタ。
【請求項８】
前記開始判定手段は、Ｔ１がＴ２より大きい場合に印刷対象イメージについて印刷動作開始不可と判定し、（Ｔ１−Ｔ２）が所定時間ｍ以下の場合には、（Ｔ１−Ｔ２）に基づきタイミングＳを設定し直し、（Ｔ１−Ｔ２）が所定閾値ｍを越える場合には、（Ｔ１−Ｔ２）より短い所定時間ｎに基づきタイミングＳを設定し直すことを特徴とする、請求項１乃至６のいずれか１項に記載のホストベースプリンタ。
【請求項９】
所定時間ｍ又は／及び所定時間ｎは、タイミングＳの初期値に基づいて定められることを特徴とする請求項８記載のホストベースプリンタ。
【請求項１０】
印刷イメージに対して圧縮処理を実行しつつ、該圧縮処理により生成した圧縮データをホストベースプリンタに送信する機能を備えたホスト装置であって、
ホストベースプリンタに圧縮データを送信する場合に、当該ホスト装置における圧縮処理のパフォーマンスに関わる情報をホストベースプリンタに送信することを特徴とするホスト装置。
【請求項１１】
前記パフォーマンスに関わる情報は、ホスト装置に実装されるＣＰＵ又は／及びメモリのスペック情報を少なくとも含んでいることを特徴とする請求項１０記載のホスト装置。
【請求項１２】
請求項１ないし９のいずれか１項のホストベースプリンタと、請求項１０又は１１記載のホスト装置と、を備えたホストベースプリンタシステム。
【請求項１３】
ホスト装置から印刷イメージの圧縮データを受信し、該圧縮データを伸長して印刷イメージを復元し、該印刷イメージに基づき印刷を実行するホストベースプリンタにおける印刷制御方法であって、
印刷対象の印刷イメージ（印刷対象イメージ）について印刷動作の実行可否を判定するタイミングＳが到来した場合に、印刷対象イメージについて該タイミングＳまでに受信した圧縮データのデータ量ｐに基づき、印刷対象イメージの残りの圧縮データのデータ量ｑを予測する工程と、
前記予測したデータ量ｑのデータを受信するのに必要な時間Ｔ１を予測する工程と、
印刷対象イメージを印刷するのに必要な時間Ｔ２を予測する工程と、
Ｔ１がＴ２以下である場合に印刷対象イメージについて印刷動作開始可と判定し、印刷対象イメージを復元して印刷を実行する印刷動作を行わせる工程と、を備えることを特徴とする印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置とホストベースプリンタとを備えたプリンタシステム（ホストベースプリンタシステム）に関わり、特に、ホスト装置から印刷イメージの圧縮データを受信し、該圧縮データを伸長して印刷イメージを復元し、該印刷イメージに基づき印刷を実行するホストベースプリンタに好適な技術に関する。
【背景技術】
【０００２】
ホストベースプリンタシステムでは、通常、１）ホスト装置において、テキスト、図形、画像等を含む印刷データに対してラスタライズ処理を実行して（ビットマップに展開して）印刷イメージを生成し、２）ホスト装置から印刷イメージをホストベースプリンタへ送信し、３）ホストベースプリンタにおいてコントローラが印刷エンジンの同期信号に従って印刷イメージを印刷エンジンへ転送し、４）印刷エンジンが印刷を実行する、という枠組みを採る。
【０００３】
ここで、ホストベースプリンタにおいて、ホスト装置からのデータの受信速度が印刷エンジンの印刷速度よりも遅い場合、通常、印刷実行中にデータが枯渇しないように、受信したデータをホストベースプリンタ内の受信バッファにいったん格納し、該受信バッファに一定以上のデータが格納された段階で印刷を開始する構成を採る。
【０００４】
このような構成を採る場合、印刷の指示を受けてから実際に印刷を開始するまでの待ち時間を短くするために、１ページ分の印刷イメージを受信し終わる前に印刷を開始する方法が提案されている。例えば、印刷イメージの転送等がバンド単位で行われる場合、受信済みバンドの数が全バンドに対して所定の割合に達するタイミングを印刷開始タイミングとする（例えば、ホストベースプリンタにおいて１ページ分のバンドのうち１／１０を受信した時点で印刷を開始する等）ことが考えられる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
全バンドの１／１０を受信した時点のように固定的に印刷開始タイミングを定めている場合、想定した以上に受信速度が遅いと、印刷実行中に受信バッファが空になり、印刷が失敗してしまうおそれがある。
【０００６】
このような問題に対し、特開平９−３００７０８号公報に記載の技術では、データ転送速度と、印刷データのヘッダ情報に含まれる１ページ分のデータ長とに基づいて、ホッピング動作終了時から印刷データの受信が完了するまでの時間を演算し、該時間に基づいて印刷開始タイミングを適応的に決定することで、解決を図っている。
【０００７】
しかし、ホストベースプリンタシステムでは、ホスト装置において印刷イメージを圧縮してからプリンタに送信する構成を採るのが普通であり、その際、達成できた圧縮率によって圧縮後のデータ長は変わってくるため、１ページ分について圧縮処理を終了した後でなければ１ページ分のデータ長は判明しない。
【０００８】
従って、印刷データのヘッダ情報に含まれている１ページ分のデータ長を利用する特開平９−３００７０８号公報に記載の技術では、プリンタは、ホスト装置において１ページ分の圧縮処理が終了してデータ長が判明した後、該データ長がヘッダ情報に埋め込まれた状態で送信されてこないと、印刷開始タイミングを決定することができず、当然、印刷を開始することもできないことになる。すなわち、ホスト装置において１ページ分の圧縮処理が終了してからでないとプリンタは印刷を開始できないため、印刷の指示を受けてから印刷を開始するまでの待ち時間が長くなる（スループットが低下する）という問題は依然として残存してしまう。
【０００９】
そこで、本発明は、ホストベースプリンタシステムにおいて、ホスト装置からホストベースプリンタに対して印刷イメージの圧縮データを送信する場合であっても、圧縮処理が完了するのをまつことなく適切に印刷開始タイミングを決定して、印刷を開始することができる枠組みを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明のホストベースプリンタは、ホスト装置から印刷イメージの圧縮データを受信し、該圧縮データを伸長して印刷イメージを復元し、該印刷イメージに基づき印刷を実行するホストベースプリンタであって、印刷対象の印刷イメージ（印刷対象イメージ）について印刷動作の開始可否を判定するタイミングＳを記憶する記憶手段と、タイミングＳが到来した場合に、印刷対象イメージについて該タイミングＳまでに受信した圧縮データのデータ量ｐに基づき、印刷対象イメージの残りの圧縮データ（残データ）のデータ量ｑを予測する第１予測手段と、前記予測したデータ量ｑの残データを受信するのに必要な時間（残データ受信時間）Ｔ１を予測する第２予測手段と、印刷対象イメージを印刷するのに必要な時間（印刷時間）Ｔ２を予測する第３予測手段と、Ｔ１がＴ２以下である場合に印刷対象イメージについて印刷動作開始可と判定し、印刷対象イメージを復元して印刷を実行する印刷動作を行わせる開始判定手段と、を備えることを特徴とする。
【００１１】
好適には、前記第１予測手段は、受信済みのバンドの数とデータ量ｐとに基づきバンド平均データ量を求め、未受信のバンドの数に該バンド平均データ量を乗算してデータ量ｑを予測することを特徴とする。
【００１２】
また好適には、更に、ホスト装置から指定されたタイミングに基づきタイミングＳの初期値を設定する手段を備えることを特徴とする。
【００１３】
かかる構成によれば、受信するデータ量の総量が予め判明していない場合でも、残データ受信時間Ｔ１に基づいて適切なタイミングで印刷動作を開始することができる。その結果、ホスト装置において印刷対象イメージの圧縮データを生成してプリンタに送信する場合であっても、ホスト装置における圧縮処理が終了して圧縮データの総量が判明するのを待つことなく適切なタイミングで印刷動作を開始することが可能となり、印刷の指示を受けてから印刷を開始するまでの待ち時間を減らして、スループットを大きく向上させることができる。
【００１４】
好適には、更に、圧縮データを受信する通信インタフェースの規格と、ホスト装置における圧縮処理のパフォーマンスに関わる情報とに基づいて、圧縮データに関する受信速度Ｖを求める手段を備えており、前記第２予測手段は、データ量ｑと受信速度Ｖとに基づき時間Ｔ１を予測することを特徴とする。
【００１５】
かかる構成によれば、タイマー等の計時手段を利用することなくデータの受信速度を求めて残データ受信時間Ｔ１を予測することができる。
【００１６】
好適には、圧縮データに関する受信速度Ｖを実測する手段を備え、前記第２予測手段は、データ量ｑと受信速度Ｖとに基づき時間Ｔ１を予測することを特徴とする。
【００１７】
かかる構成によれば、受信速度の変化に柔軟に対応して、残データ受信時間Ｔ１を予測することができる。
【００１８】
好適には、前記開始判定手段は、Ｔ１がＴ２より大きい場合に印刷対象イメージについて印刷動作開始不可と判定し、印刷動作の開始可否を再判定すべく、前記記憶手段を参照してタイミングＳを設定し直すことを特徴とする。
【００１９】
かかる構成によれば、印刷動作の開始可否を判定するタイミングＳを再設定して、開始可否を繰り返し判定することができるため、より的確に開始タイミングを決定して印刷動作を開始することが可能となる。
【００２０】
好適には、前記開始判定手段は、Ｔ１がＴ２より大きい場合に印刷対象イメージについて印刷動作開始不可と判定し、タイミングＳから少なくとも（Ｔ１−Ｔ２）が経過してから印刷動作を行わせることを特徴とする。
【００２１】
かかる構成によれば、印刷動作開始時において残データ受信時間が印刷時間Ｔ２以下となる可能性が高いことから、印刷実行中にデータが枯渇してしまう可能性を抑制することができる。
【００２２】
好適には、前記開始判定手段は、Ｔ１がＴ２より大きい場合に印刷対象イメージについて印刷動作開始不可と判定し、（Ｔ１−Ｔ２）が所定時間ｍ以下の場合には、（Ｔ１−Ｔ２）に基づきタイミングＳを設定し直し、（Ｔ１−Ｔ２）が所定閾値ｍを越える場合には、（Ｔ１−Ｔ２）より短い所定時間ｎに基づきタイミングＳを設定し直すことを特徴とする。所定時間ｍ又は／及び所定時間ｎは、タイミングＳの初期値に基づいて定められることが望ましい。
【００２３】
かかる構成によれば、受信速度Ｖがデータ受信途中に変わっても、その変化による影響をタイムリーにタイミングＳに反映させることができるようになり、より適切なタイミングで印刷動作の開始可否を判定することが可能となる。
【００２４】
本発明のホスト装置は、印刷イメージに対して圧縮処理を実行しつつ、該圧縮処理により生成した圧縮データをホストベースプリンタに送信する機能を備えたホスト装置であって、ホストベースプリンタに圧縮データを送信する場合に、当該ホスト装置における圧縮処理のパフォーマンスに関わる情報をホストベースプリンタに送信することを特徴とする。
【００２５】
前記パフォーマンスに関わる情報は、ホスト装置に実装されるＣＰＵ又は／及びメモリのスペック情報を少なくとも含んでいることが望ましい。
【００２６】
本発明のホストベースプリンタシステムは、本発明のホストベースプリンタと、本発明のホスト装置と、を備えることを特徴とする。
【００２７】
本発明の印刷制御方法は、ホスト装置から印刷イメージの圧縮データを受信し、該圧縮データを伸長して印刷イメージを復元し、該印刷イメージに基づき印刷を実行するホストベースプリンタにおける印刷制御方法であって、印刷対象の印刷イメージ（印刷対象イメージ）について印刷動作の実行可否を判定するタイミングＳが到来した場合に、印刷対象イメージについて該タイミングＳまでに受信した圧縮データのデータ量ｐに基づき、印刷対象イメージの残りの圧縮データのデータ量ｑを予測する工程と、前記予測したデータ量ｑのデータを受信するのに必要な時間Ｔ１を予測する工程と、印刷対象イメージを印刷するのに必要な時間Ｔ２を予測する工程と、Ｔ１がＴ２以下である場合に印刷対象イメージについて印刷動作開始可と判定し、印刷対象イメージを復元して印刷を実行する印刷動作を行わせる工程と、を備えることを特徴とする。
【００２８】
本発明の印刷制御方法は、ホストベースプリンタが備えるＣＰＵにより実施することができるが、そのためのコンピュータプログラムは、ＣＤ−ＲＯＭ、磁気ディスク、半導体メモリ及び通信ネットワークなどの各種の媒体を通じてホスト装置及びホストベースプリンタにインストールまたはロードすることができる。また、コンピュータプログラムが、プリンタ用カードやプリンタ用オプションボードに記録されて流通する場合も含む。
【発明の効果】
【００２９】
本発明によれば、ホストベースプリンタシステムにおいて、ホスト装置からホストベースプリンタに対して印刷イメージの圧縮データを送信する場合であっても、圧縮処理が完了するのをまつことなく適切に印刷開始タイミングを決定して、印刷を開始することができる。
【発明を実施するための最良の形態】
【００３０】
図１は、本発明の実施形態のプリンタシステム１のハードウェア構成を示すブロック図である。図１に示すように、プリンタシステム１は、ホスト装置１０と、通信ネットワーク（ＬＡＮ、インターネット、専用線、パケット通信網、それらの組み合わせ等のいずれであってもよく、有線、無線の両方を含む）を介して該ホスト装置１０と通信可能に構成されるホストベースプリンタ（画像形成装置）２０とを含んでいる。
【００３１】
ホスト装置１０は、ハードウェアとして、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ、ユーザインタフェース、通信インタフェース等を備えている。
【００３２】
また、ホスト装置１０は、プリンタ２０に印刷を実行させるため必要な通常の制御機能として、プリンタドライバ手段１１を備えている。
【００３３】
プリンタドライバ手段１１は、通常のプリンタドライバと同様の機能構成であり、例えば、ホスト装置１０上で動作するアプリケーションプログラムからの印刷要求に応じて、ポストスクリプト等の所定のプリンタ制御言語により記述された印刷データ（テキスト、図形、画像などを含む）に基づいてラスタライズ処理を実行して印刷イメージを生成するＲＩＰ手段１２、印刷イメージに対して所定の画像処理（スクリーン処理など）を施す画像処理手段１３、印刷イメージに対して圧縮処理を実行し、圧縮データを生成する圧縮手段１４、圧縮データにヘッダ情報等を付加して印刷データを生成し、これをホストベースプリンタ２０に対して送信する印刷データ生成／送信手段１５などを備える（図２参照）。
【００３４】
ただし、本実施形態の印刷データ生成／送信手段１５は、後述するように、印刷データのヘッダ情報等として、ホスト装置１０における圧縮処理のパフォーマンスに関わる情報と、印刷対象の印刷イメージ（以下、「印刷対象イメージ」という）のサイズ等に基づいて指定した印刷開始タイミングの情報とをホストベースプリンタ２０に対して送信する点で、従来の構成と異なっている。
【００３５】
なお、上記の各手段は、ホスト装置１０内のＨＤＤ、ＲＯＭやＲＡＭ、外部の記憶媒体等に格納されるプログラムをＣＰＵが実行することにより、又は専用のハードウェアを用いて、機能手段として実現される。
【００３６】
ホストベースプリンタ２０は、動力機構部２１とプリンタコントローラ２２を備えている。
【００３７】
動力機構部２１は、用紙をプリンタ内に供給する給紙機構、印刷イメージに基づいて印刷を実行する印刷エンジン、及び用紙をプリンタ機外に排出する排紙機構等により構成される。印刷エンジンは、例えば、インクジェットプリンタや熱転写プリンタのように１文字単位で印刷するシリアルプリンタ、１行単位で印刷するラインプリンタ、ページ単位で印刷するページプリンタ等に対応する各種印刷エンジンを用いることができる。また、レーザプリンタに対応する印刷エンジンの場合、タンデムエンジン、４サイクルエンジンなど種々のタイプのものを採用することができる。
【００３８】
プリンタコントローラ２２は、ハードウェアとして、ＣＰＵ、ＲＯＭ、ＲＡＭ、ユーザインタフェース、通信インタフェース等を備えている。通信インタフェースとしては、例えばパラレルＩＦ、ＵＳＢ、Ｅｔｈｅｒｎｅｔなどの規格に対応した各インタフェースを考えることができる。
【００３９】
プリンタコントローラ２２は、通常のホストベースプリンタにおけるプリンタコントローラと同様の機能を備えており、例えば、ホスト装置１０からコマンドや印刷データ等を受信して受信バッファ（図示せず）に格納する受信手段２３、印刷データに含まれる圧縮データを伸長して印刷イメージを復元し、かかる復元された印刷イメージを印刷エンジンに転送する伸長／転送手段２４、伸長／転送手段２４や動力機構部２１（印刷エンジン）の印刷動作を制御する印刷制御手段２５などを備える。
【００４０】
ただし、本実施形態の印刷制御手段２５は、印刷対象イメージについて印刷動作の開始可否を判定するタイミングＳを記憶するタイミング記憶手段２５１と、タイミングＳが到来した場合に、印刷対象イメージについて該タイミングＳまでに受信した圧縮データのデータ量ｐに基づき、印刷対象イメージの残りの圧縮データ（以下、「残データ」という）のデータ量ｑを予測する残データ量予測手段２５２と、圧縮データに関する受信速度Ｖを求める受信速度取得手段２５３と、データ量ｑと受信速度Ｖとに基づき、データ量ｑの残データを受信するのに必要な時間（以下、「残データ受信時間」という）Ｔ１を予測する残データ受信時間予測手段２５４と、印刷対象イメージを印刷するのに必要な時間（以下、「印刷時間」という）Ｔ２を予測する印刷時間予測手段２５５と、Ｔ１がＴ２以下である場合に印刷対象イメージについて印刷動作開始可と判定し、伸長／転送手段２４及び動力機構部２１（印刷エンジン）を制御して、印刷対象イメージを復元して印刷を実行する印刷動作を行わせる開始判定手段２５６とを備える点で、従来の構成と異なっている（図２参照）。
【００４１】
なお、上記の各手段は、ホストベースプリンタ２０内のＲＡＭやＲＯＭ、外部の記憶媒体等に記憶されるプログラムをＣＰＵが実行することにより、又は専用のハードウェアを用いて、機能手段として実現される。
【００４２】
以下、図３〜図６を参照してプリンタシステム１における印刷処理について説明する。なお、各工程（符号が付与されていない部分的な工程を含む）は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００４３】
（ホスト装置１０における処理）
プリンタドライバ手段１１は、外部又はホスト装置１０上で動作しているアプリケーションプログラムから印刷要求を受け付けると、ホストベースプリンタ（プリンタコントローラ２２）に対して印刷指示コマンドを送信するとともに、ＲＩＰ手段１２などに対して処理の開始を指示する。
【００４４】
ＲＩＰ手段１２は、処理開始の指示を受け付けると、アプリケーションプログラムから受け取った印刷対象データ（ポストスクリプト等の所定のプリンタ制御言語により記述された印刷対象データ）に基づいて印刷対象イメージを生成し、ＲＡＭの所定領域に格納する。なお、アプリケーションプログラム等からラスタイメージの形式で印刷対象データを受け取ることができる場合は、ＲＩＰ手段１２による処理は省略できる。また、カラー画像の場合、印刷対象イメージは、例えばＣＭＹＫ各プレーンのデータのほか、色変換やハーフトーン処理のための属性値（ＬＵＴを指定するパラメータ値など）のデータをも含むことができる。
【００４５】
画像処理手段１３は、必要に応じて前記生成された印刷対象イメージに対して所定の画像処理（スクリーン処理など）を施す。
【００４６】
圧縮手段１４は、所定数の走査ライン（例えば６４ライン）から構成されるバンド単位で印刷対象イメージに対して所定の圧縮処理を実行して圧縮データを生成し、ＲＡＭの所定領域に格納する。なお、所定の圧縮処理としては、ＪＰＥＧ（Joint Photographic Coding Experts Group）方式、ＪＢＩＧ（Joint Bi−level Image Experts Group）方式など、設計に応じて従来の種々の圧縮アルゴリズムを採用することができる。
【００４７】
印刷データ生成／送信手段１５は、圧縮手段１４による印刷対象イメージ全体の圧縮処理が終了するのを待つことなく、バンド単位の圧縮データごとに所定のヘッダ情報を付加して印刷データを生成し、ホストベースプリンタ２０に対して順次送信する。
【００４８】
ここで、印刷データ生成／送信手段１５は、印刷対象イメージの少なくとも最初のバンドの圧縮データについて印刷データを生成する際に、そのヘッダ情報に、ホスト装置１０における圧縮処理のパフォーマンスに関わる情報と、印刷対象イメージのサイズ等に基づいて指定した印刷開始タイミングの情報とを付加する。
【００４９】
圧縮処理のパフォーマンスに関わる情報としては、例えば、ホスト装置１０に実装されるＣＰＵやメモリのスペック情報（ＣＰＵの種類やクロック、圧縮処理時にワークエリアとして使用されるＲＡＭの容量など）を考えることができる。
【００５０】
印刷開始タイミングは、本実施形態のようにバンド単位で圧縮処理等を行う場合であれば、全バンド数に対して所定割合のバンドを受信した時点など、バンドを基準に指定することができる。この場合、印刷開始タイミング情報として、例えば全バンド数と所定割合とを組み合わせた情報や、全バンド数に所定割合を乗算して得られる印刷開始バンド数の情報などを考えることができる。なお、全バンド数は、例えばＡ４サイズ、３００ｄｐｉであれば２００バンドのように、印刷対象イメージのサイズ（用紙サイズ及び印刷解像度）に基づいて予め定めることができる。
【００５１】
なお、これらの情報は、圧縮データとは別にホストベースプリンタ２０に対して送信するように構成してもよい。
【００５２】
（ホストベースプリンタ２０における処理）
受信手段２３は、ホスト装置１０からコマンドや印刷データ等を受信して受信バッファに格納する。
【００５３】
印刷制御手段２５は、受信バッファから順次コマンドを読み出して解釈する。そして、前記解釈したコマンドが印刷指示コマンドである場合、動力機構部２１を制御して印刷の準備を整えるとともに、以下の印刷動作の開始判定処理を実行する。
【００５４】
（第１実施例：図３）
まず、印刷制御手段２５は、印刷指示コマンドに対応する印刷データのヘッダ情報から、ホスト装置１０より指定された印刷開始タイミング情報を抽出する。そして、前記抽出した印刷開始タイミング情報に基づいて、印刷対象イメージについての印刷動作の開始可否を判定するタイミングＳの初期値を設定し、ＲＡＭの所定領域に構成されるタイミング記憶手段２５１に格納する（Ｓ１００）。
【００５５】
次に、印刷制御手段２５は、圧縮データに関する受信速度Ｖを求める（受信速度取得：Ｓ１０１）。
【００５６】
受信速度Ｖは、タイマー等の計時手段を利用して実測することもできるが、本実施例では、受信手段２３において圧縮データの受信に用いている通信インタフェースの規格（各種モードの情報を含む）と、印刷データのヘッダ情報に含まれる、ホスト装置における圧縮処理のパフォーマンスに関わる情報とに基づき、受信速度Ｖを求める方法を採用する。
【００５７】
具体例として、受信手段２３がパラレル、ＵＳＢ、Ｅｔｈｅｒｎｅｔの３種類の通信インタフェース規格により圧縮データを受信可能に構成されており、また圧縮処理のパフォーマンスに関わる情報として、ホスト装置１０に実装されるＣＰＵのクロックとＲＡＭの容量とが利用できる場合を想定する。この場合、例えばホストベースプリンタ２０のＲＯＭや不揮発性のＲＡＭ等に図４に示すような２つのテーブルＡ、Ｂを記憶しておく。そして、圧縮データの受信に用いる通信インタフェース規格及び通信モードをテーブルＡに適用して標準速度Ｖｍを求め、ＣＰＵクロックとＲＡＭ容量をテーブルＢに適用して係数Ｐを求める。そして、標準速度Ｖｍに係数Ｐを乗算して、受信速度Ｖを求める。例えば、通信インタフェース規格がＵＳＢのＦＳモードであり、ＣＰＵクロック、ＲＡＭ容量がそれぞれ１．５Ｇ、５１２Ｍである場合、受信速度Ｖは、６００００００×０．９５＝５７０００００（ｂｉｔ／ｓｅｃ）となる。
【００５８】
なお、図４に示すテーブルの数値、構成は一例に過ぎず、設計に応じて種々変更することが可能である。例えば標準速度Ｖｍ等の具体的な数値は実験等に基づいて定めることが可能であり、また例えばテーブルＢについて、ＣＰＵ、メモリのいずれかのスペック情報のみを用いて係数Ｐを求める構成としてもよい。
【００５９】
次に、印刷制御手段２５は、印刷対象イメージを印刷するのに必要な時間（印刷時間）Ｔ２を予測する（印刷時間予測：Ｓ１０２）。
【００６０】
予測手順として、例えば、以下のような手順を考えることができる。まず、伸長／転送手段２４における伸長処理や転送処理の実行速度、印刷エンジンの動作速度等に基づいて、１バンドについて伸長処理を開始してから印刷処理を終了するまでの時間（バンド印刷時間）を予め設定しておく。そして、該バンド印刷時間に、印刷対象イメージのサイズに基づいて定まる全バンド数を乗算することで、印刷時間Ｔ２の予測値を求める。
【００６１】
なお、伸長／転送手段２４を専用ハードウェアによって構成した場合、印刷エンジンの動作速度が律速となる可能性が高いことから、主に印刷エンジンの動作速度に基づいてバンド印刷時間を設定すればよい。
【００６２】
次に、印刷制御手段２５は、タイミング記憶手段２５１を参照してタイミングＳが到来したか否かを判断し、到来するまで待機する（Ｓ１０３）。
【００６３】
例えば、タイミングＳが全バンド数に対する所定割合（又は印刷開始バンド数）により特定されている場合、印刷制御手段２５は、印刷対象イメージの圧縮データの受信状況を監視し、全バンドのうち所定割合のバンド（又は印刷開始バンド数分のバンド）について圧縮データを受信し終わった時点で、タイミングＳが到来したと判断する。一方、タイミングＳが時刻を指定して再設定されている場合、印刷制御手段２５は、内部タイマー等をチェックしてタイミングＳの到来を判断する。
【００６４】
印刷制御手段２５は、タイミングＳが到来したと判断した場合、印刷対象イメージについて該タイミングＳまでに受信した圧縮データのデータ量ｐに基づき、印刷対象イメージの残りの圧縮データ（残データ）のデータ量ｑを予測する（残データ量予測：Ｓ１０４）。
【００６５】
予測手順として、例えば、以下のような手順を考えることができる。まず、印刷対象イメージの受信済みのバンドの数（例えば、全バンド数の１／１０に相当するバンド数）とデータ量ｐとに基づき、受信済みバンドのバンド平均データ量を求める。次に、印刷対象イメージの未受信のバンドの数（例えば、全バンド数の９／１０に相当するバンド数）に該バンド平均データ量を乗算して、データ量ｑの予測値を求める。なお、カラー画像の場合、例えばＣＭＹＫ各プレーンに関しては共通に又は統合してバンド平均データ量や残データのデータ量を求めてもよい一方、色変換やハーフトーン処理のための属性値のデータについては、ＣＭＹＫとは別にバンド平均データ量や残データのデータ量を求めることが望ましい。
【００６６】
次に、印刷制御手段２５は、データ量ｑと受信速度Ｖとに基づき、データ量ｑの残データを受信するのに必要な時間（残データ受信時間）Ｔ１を予測する（残データ受信時間予測：Ｓ１０５）。具体的には、データ量ｑを受信速度Ｖで除算することにより、残データ受信時間Ｔ１の予測値を求めることができる。
【００６７】
次に、印刷制御手段２５は、残データ受信時間Ｔ１と印刷時間Ｔ２とを比較する（Ｓ１０６）。
【００６８】
そして、Ｔ１がＴ２以下である場合、印刷制御手段２５は、印刷対象イメージについて印刷動作開始可と判定し、印刷動作を開始する（開始タイミング判定：Ｓ１０７）。具体的には、給紙機構を制御して用紙を印刷開始位置に待機させる（給紙する）。また、伸長／転送手段２４を制御して、受信バッファに格納される圧縮データを順次伸長して印刷対象イメージを復元し、前記復元した印刷対象イメージを印刷エンジンに転送させる。また、印刷エンジンを制御して印刷対象イメージに基づき印刷を実行させる。
【００６９】
一方、Ｔ１がＴ２より大きい場合、印刷制御手段２５は印刷動作開始不可と判定し、タイミングＳによって特定される時刻以降において印刷動作の開始可否を再判定すべく、タイミング記憶手段に記憶されているタイミングＳを設定し直し（Ｓ１０８）、Ｓ１０１に再帰する。
【００７０】
このとき、現在設定されているタイミングＳが到来した時刻をｔ１として、ｔｓ＝ｔ１＋Ｔ１−Ｔ２により時刻ｔｓを求め、少なくとも時刻ｔｓ以降の時点を新たなタイミングＳとして設定し直すことが望ましい。図５からわかるように、時刻ｔ１での予測値に基づく時刻ｔｓの残データ受信時間Ｔ１’は印刷時間Ｔ２と一致するため、時刻ｔｓ以降の時点において残データ受信時間を予測した場合、該予測値が印刷時間Ｔ２以下となる（すなわち印刷動作開始可と判定できる）可能性が高いと考えられるからである。
【００７１】
（第２実施例：図６）
第２実施例は、原則として第１実施例と同様の処理構成であるが、１）受信したデータ数と受信時間とに基づいて受信速度を求める点、２）タイミングＳを設定し直す際に、現タイミングＳと再設定後のタイミングＳとの間隔が適切な範囲に収まるように調整を図る点で、第１実施例と異なっている。
【００７２】
まず、印刷制御手段２５は、印刷指示コマンドに対応する印刷データのヘッダ情報から、ホスト装置１０より指定された印刷開始タイミング情報を抽出する。そして、前記抽出した印刷開始タイミング情報に基づいて、印刷対象イメージについての印刷動作の開始可否を判定するタイミングＳの初期値を設定し、ＲＡＭの所定領域に構成されるタイミング記憶手段２５１に格納する（Ｓ２００）。
【００７３】
次に、印刷制御手段２５は、印刷対象イメージを印刷するのに必要な時間（印刷時間）Ｔ２を予測する（印刷時間予測：Ｓ２０１）。
【００７４】
予測手順として、例えば、以下のような手順を考えることができる。まず、伸長／転送手段２４における伸長処理や転送処理の実行速度、印刷エンジンの動作速度等に基づいて、１バンドについて伸長処理を開始してから印刷処理を終了するまでの時間（バンド印刷時間）を予め設定しておく。そして、該バンド印刷時間に、印刷対象イメージのサイズに基づいて定まる全バンド数を乗算することで、印刷時間Ｔ２の予測値を求める。
【００７５】
なお、伸長／転送手段２４を専用ハードウェアによって構成した場合、印刷エンジンの動作速度が律速となる可能性が高いことから、主に印刷エンジンの動作速度に基づいてバンド印刷時間を設定すればよい。
【００７６】
次に、印刷制御手段２５は、タイミング記憶手段２５１を参照してタイミングＳが到来したか否かを判断し、到来するまで待機する（Ｓ２０２）。
【００７７】
例えば、タイミングＳが全バンド数に対する所定割合（又は印刷開始バンド数）により特定されている場合、印刷制御手段２５は、印刷対象イメージの圧縮データの受信状況を監視し、全バンドのうち所定割合のバンド（又は印刷開始バンド数分のバンド）について圧縮データを受信し終わった時点で、タイミングＳが到来したと判断する。一方、タイミングＳが時刻を指定して再設定されている場合、印刷制御手段２５は、内部タイマー等をチェックしてタイミングＳの到来を判断する。
【００７８】
印刷制御手段２５は、タイミングＳが到来したと判断した場合、印刷対象イメージについて該タイミングＳまでに受信した圧縮データのデータ量ｐに基づき、印刷対象イメージの残りの圧縮データ（残データ）のデータ量ｑを予測する（残データ量予測：Ｓ２０３）。
【００７９】
予測手順として、例えば、以下のような手順を考えることができる。まず、印刷対象イメージの受信済みのバンドの数（例えば、全バンド数の１／１０に相当するバンド数）とデータ量ｐとに基づき、受信済みバンドのバンド平均データ量を求める。次に、印刷対象イメージの未受信のバンドの数（例えば、全バンド数の９／１０に相当するバンド数）に該バンド平均データ量を乗算して、データ量ｑの予測値を求める。
【００８０】
次に、印刷制御手段２５は、圧縮データに関する受信速度Ｖを求める（受信速度取得：Ｓ２０４）。
【００８１】
本実施例では、内部タイマー等の計時手段（図示せず）を利用して、所定期間内に受信したデータのデータ量と、該データの受信に要した受信時間とを求め、受信速度Ｖを実測する方法を採用する。後述するように、ホストの処理状況に応じて受信速度は変化する可能性があるが、本実施例のように受信速度を実測する構成であれば、そのような受信速度の変化に柔軟に対応して、残データ受信時間Ｔ１を予測することが可能となる。
【００８２】
かかる観点からは、前記所定期間は、受信速度が変化した場合でも追従して実測できるように定めることが望ましい。具体的には、タイミングＳが初期値である場合は、受信開始からタイミングＳまでの期間、タイミングＳが再設定されたものである場合は、その再設定される前のタイミングＳから現在のタイミングＳまでの期間とすることが考えられる。
【００８３】
次に、印刷制御手段２５は、データ量ｑと受信速度Ｖとに基づき、データ量ｑの残データを受信するのに必要な時間（残データ受信時間）Ｔ１を予測する（残データ受信時間予測：Ｓ２０５）。具体的には、データ量ｑを受信速度Ｖで除算することにより、残データ受信時間Ｔ１の予測値を求めることができる。
【００８４】
次に、印刷制御手段２５は、残データ受信時間Ｔ１と印刷時間Ｔ２とを比較する（Ｓ２０６）。
【００８５】
そして、Ｔ１がＴ２以下である場合、印刷制御手段２５は、印刷対象イメージについて印刷動作開始可と判定し、印刷動作を開始する（開始タイミング判定：Ｓ２０７）。具体的には、給紙機構を制御して用紙を印刷開始位置に待機させる（給紙する）。また、伸長／転送手段２４を制御して、受信バッファに格納される圧縮データを順次伸長して印刷対象イメージを復元し、前記復元した印刷対象イメージを印刷エンジンに転送させる。また、印刷エンジンを制御して印刷対象イメージに基づき印刷を実行させる。
【００８６】
一方、Ｔ１がＴ２より大きい場合、印刷制御手段２５は印刷動作開始不可と判定し、タイミングＳによって特定される時刻以降において印刷動作の開始可否を再判定すべく、タイミング記憶手段に記憶されているタイミングＳを設定し直し（Ｓ２０８〜Ｓ２１０）、Ｓ２０１に再帰する。
【００８７】
具体的には、印刷制御手段２５は、（Ｔ１−Ｔ２）と所定時間ｍとを比較し（Ｓ２０８）、（Ｔ１−Ｔ２）が所定時間ｍ以下である場合は、（Ｔ１−Ｔ２）に基づきタイミングＳを設定し直す（Ｓ２０９）。
【００８８】
例えば、タイミングＳが時刻を指定して再設定されている場合、タイミングＳに（Ｔ１−Ｔ２）を加算してタイミングＳを設定し直す。
【００８９】
また例えば、タイミングＳが印刷開始バンド数により特定されている場合（例えば、１０バンド分を受信した時点など）、下記式に基づき時間（Ｔ１−Ｔ２）の間に受信することが予想されるバンド数ｋを求め、印刷開始バンド数にバンド数ｋを加算して、タイミングＳを再設定する。
【００９０】
バンド数ｋ＝（Ｔ１−Ｔ２）×受信速度Ｖ／バンド平均データ量
一方、（Ｔ１−Ｔ２）が所定時間ｍを越える場合は、現タイミングＳと再設定後のタイミングＳとの間隔が適切な範囲に収まるように調整すべく、（Ｔ１−Ｔ２）より短い所定時間ｎに基づきタイミングＳを設定し直す（Ｓ２１０）。なお、タイミングＳが印刷開始バンド数により特定されている場合、印刷開始バンド数に下記式のバンド数ｋ’を加算して、タイミングＳを設定すればよい点は、上記同様である。
【００９１】
バンド数ｋ’＝所定時間ｎ×受信速度Ｖ／バンド平均データ量
ここで、所定時間ｍは設計に応じて定めることができるが、例えばタイミングＳの初期値が印刷開始バンド数により特定されている場合であれば、該印刷開始バンド数分のデータの受信に要する時間の所定倍（例えば２倍）を所定時間ｍとすることが考えられる。
【００９２】
また、所定時間ｎも設計に応じて定めることができるが、例えばタイミングＳの初期値が印刷開始バンド数により特定されている場合であれば、該印刷開始バンド数分のデータの受信に要する時間の所定倍（例えば１倍）を所定時間ｎとすることが考えられる。
【００９３】
以下、現タイミングＳと再設定後のタイミングＳとの間隔が適切な範囲に収まるように調整する理由を述べる。
【００９４】
上述したように、ホスト装置１０において、印刷データ生成／送信手段１５は、圧縮手段１４による印刷対象イメージ全体の圧縮処理が終了するのを待つことなく、ホストベースプリンタ２０に対して印刷データを順次送信する。この場合、印刷対象イメージ全体についてＲＩＰ手段１２、画像処理手段１３及び圧縮手段１４の処理が終了するまでは、ＲＩＰ手段１２、画像処理手段１３及び圧縮手段１４による処理と、印刷データ生成／送信手段１５による処理とが並列に実行されることから、印刷データ生成／送信手段１５に割り振られるリソース（ＣＰＵパワー、ワークメモリ等）は相対的に少なくなる。一方、印刷対象イメージ全体についてＲＩＰ手段１２、画像処理手段１３及び圧縮手段１４の処理が終了した後は、印刷データ生成／送信手段１５は各手段が消費していたリソースをも利用して処理を実行できるため、並列に実行してときに比べてより高速に処理を実行できる（より高速に印刷データを生成してデータ送信することができる）。
【００９５】
このように、圧縮手段１４等が処理を終了するまでと、その後とでは、印刷データ生成／送信手段１５の処理速度、ひいては、ホストベースプリンタ２０における受信速度Ｖが変わってくることになる（図７参照）。
【００９６】
ここで、タイミングＳを再設定した後に上記理由により受信速度Ｖが速くなる状況を想定する。この場合、その再設定したタイミングＳは、受信速度Ｖが速くなった点が反映されていないため、印刷動作の開始可否を判定するタイミングとして必ずしも適切とはいえないおそれがある（必要以上に遅いおそれがある）。
【００９７】
そこで、第２実施例では、タイミングＳを再設定した後に受信速度Ｖが速くなった場合でも、その速くなった受信速度ＶがタイミングＳに反映されない期間が長期にわたらないように、具体的には、再設定後のタイミングＳと現タイミングＳ（受信速度Ｖの実測時）との間隔が所定時間ｍ以上とならないように、タイミングＳを再設定している。このように構成することで、受信速度Ｖがデータ受信途中に変わっても、その変化による影響をタイムリーにタイミングＳに反映させることができるようになり、より適切なタイミングで印刷動作の開始可否を判定することが可能となる。
【００９８】
（作用効果）
本実施形態では、印刷動作の開始可否を判定するタイミングＳを記憶しておき、該タイミングＳにおける残データ量の予測値に基づいて残データ受信時間を予測する構成を採用しているため、受信するデータ量の総量が予め判明していない場合でも、残データ受信時間に基づいて適切なタイミングで印刷動作を開始することが可能となる。そのため、ホスト装置において印刷対象イメージの圧縮データを生成してプリンタに送信する場合であっても、ホスト装置における圧縮処理が終了して圧縮データの総量が判明するのを待つことなく適切なタイミングで印刷動作を開始することができ、その結果、印刷の指示を受けてから印刷を開始するまでの待ち時間を減らして、スループットを大きく向上させることができる。
【００９９】
また、本実施形態では、印刷動作の開始可否を判定するタイミングＳを再設定して、開始可否を繰り返し判定することができるため、より的確に開始タイミングを決定して印刷動作を開始することが可能となる。
【０１００】
（その他）
本発明は上記実施形態に限定されることなく、種々に変形して適用することが可能である。例えば、設計に応じてタイミングＳの再設定回数に上限値Ｘ（Ｘ≧１）を定めておいてもよい。この場合、印刷制御手段２５は、上限回数目に再設定したタイミングＳでは開始判定を行うことなく直ちに印刷動作を開始することになる。
【０１０１】
また例えば、上記実施形態では、ホストベースプリンタ２０において、残データ量の予測、残データ受信時間の予測、開始可否の判定を行う構成としているが、本発明はこのような構成に限られるものではない。例えば、これらのうち任意の処理についてホスト装置１０において実行し、その結果をホストベースプリンタ２０に通知するように構成してもよい。
【０１０２】
また例えば、上記実施形態では、印刷制御手段２５による印刷動作の開始判定後に圧縮データの伸長処理を実行する構成としているが、本発明は必ずしもこのような構成に限られず、印刷動作の開始判定前に先行して伸長処理を実行する構成としてもよい。
【０１０３】
また例えば、上記実施形態では、（Ｔ１−Ｔ２）と所定時間ｍとを直接比較しているが、下記式によりバンド数ｋ’’を求め、バンド数ｋとバンド数ｋ’’とを比較することで（Ｔ１−Ｔ２）と所定時間ｍとを間接的に比較する構成としてもよい。
【０１０４】
バンド数ｋ’’＝所定時間ｍ×受信速度Ｖ／バンド平均データ量
【図面の簡単な説明】
【０１０５】
【図１】本発明の実施形態におけるプリンタシステムのハードウェア構成を示すブロック図である。
【図２】プリンタドライバ手段１１、プリンタコントローラ２２の機能構成図を示すブロック図である。
【図３】ホストベースプリンタ２０における印刷開始判定処理の第１実施例の流れを示すフローチャートである。
【図４】受信速度を求める際に参照するテーブルを示す図である。
【図５】再設定する際のタイミングＳの決め方を説明するための図である。
【図６】ホストベースプリンタ２０における印刷開始判定処理の第２実施例の流れを示すフローチャートである。
【図７】受信速度等が時間とともに変化する様子を説明するための図である。
【符号の説明】
【０１０６】
１  プリンタシステム、１０  ホスト装置、１１  プリンタドライバ手段、１２  ＲＩＰ手段、１３  画像処理手段、１４  圧縮手段、１５  印刷データ生成／転送手段、２０  ホストベースプリンタ、２１  動力機構部、２２  プリンタコントローラ、２３  受信手段、２４  伸長／転送手段、２５  印刷制御手段
【図１】
2005305986.tif 000003
【図２】
2005305986.tif 000004
【図３】
2005305986.tif 000005
【図４】
2005305986.tif 000006
【図５】
2005305986.tif 000007
【図６】
2005305986.tif 000008
【図７】
2005305986.tif 000009