(57)【特許請求の範囲】
【請求項１】
複数色の色データを含むカラー印刷データを印刷出力する出力部を制御し、該出力部に各色データを所定の順序で転送する情報処理装置であって、
前記転送される各色データのデータ量を特定する特定手段と、
前記特定された各色データの前記所定の順序に従うデータ量と、前記各色データ１頁を出力する間に前記出力部に転送可能なデータ量である面転送量とに基づいて、最初に印刷する色データについての印刷開始指示タイミングを決定する決定手段と、
前記決定されたタイミングで前記出力部に印刷開始指示を行う指示手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記決定手段は、
前記特定された各色のデータ量と前記面転送量との各差分を、前記各色のデータ転送の順に和算していった場合の最大値を算出し、転送動作を開始してから、該最大値のデータ量を転送するのに必要な時間分だけ、印刷開始指示を遅らせるように前記タイミングを決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、
前記出力されるカラー印刷データ１頁ごとに前記タイミングを決定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記指示手段は、前記カラー印刷データを前記出力部に転送後、前記決定されたタイミングで前記出力部に印刷開始指示を行うことを特徴とする請求項１乃至３の何れかに記載の情報処理装置。
【請求項５】
前記各色は、ＹＭＣＫの４色からなり、Ｙ、Ｍ、Ｃ、Ｋの順にデータ転送が行われることを特徴とする請求項１乃至４の何れかに記載の情報処理装置。
【請求項６】
前記情報処理装置は前記出力部を備える出力装置に対してカラー印刷データを通信回線を介して転送可能なホストコンピュータであることを特徴とする請求項１乃至５の何れかに記載の情報処理装置。
【請求項７】
複数色の色データを含むカラー印刷データを印刷出力する出力部を制御し、該出力部に各色データを所定の順序で転送する印刷処理方法であって、
前記転送される各色データのデータ量を特定する特定工程と、
前記特定された各色データの前記所定の順序に従うデータ量と、前記各色データ１頁を出力する間に前記出力部に転送可能なデータ量である面転送量とに基づいて、最初に印刷する色データについての印刷開始指示タイミングを決定する決定工程と、
前記決定されたタイミングで前記出力部に印刷開始指示を行う指示工程と
を備えることを特徴とする印刷処理方法。
【請求項８】
前記決定工程は、
前記特定された各色のデータ量と前記面転送量との各差分を、前記各色のデータ転送の順に和算していった場合の最大値を算出し、転送動作を開始してから、該最大値のデータ量を転送するのに必要な時間分だけ、印刷開始指示を遅らせるように前記タイミングを決定することを特徴とする請求項７に記載の印刷処理方法。
【請求項９】
前記決定工程は、
前記出力されるカラー印刷データ１頁ごとに前記タイミングを決定することを特徴とする請求項７又は８に記載の印刷処理方法。
【請求項１０】
前記指示工程は、前記カラー印刷データを前記出力部に転送後、前記決定されたタイミングで前記出力部に印刷開始指示を行うことを特徴とする請求項７乃至９の何れかに記載の印刷処理方法。
【請求項１１】
前記各色は、ＹＭＣＫの４色からなり、Ｙ、Ｍ、Ｃ、Ｋの順にデータ転送が行われることを特徴とする請求項７乃至１０の何れかに記載の印刷処理方法。
【請求項１２】
前記情報処理装置は前記出力部を備える出力装置に対してカラー印刷データを通信回線を介して転送可能なホストコンピュータであることを特徴とする請求項７乃至１１の何れかに記載の印刷処理方法
【請求項１３】
請求項７乃至１２のいずれか１つに記載の印刷処理方法をコンピュータによって実現させるための制御プログラム。
【請求項１４】
請求項７乃至１２のいずれか１つに記載の印刷処理方法をコンピュータによって実現させるための制御プログラムを格納した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データの出力が可能な出力装置に接続される情報処理装置に関するものであり、特に適切なタイミングで出力装置の印刷開始指示を導き出す印刷処理に関するものである。
【０００２】
【従来の技術】
レーザービームプリンタに代表されるように、従来より、ホストコンピュータから受信した印刷データを印刷するページプリンタの印刷方法として、必要なメモリ容量を小さくするために、印刷データの受信と同時に印刷開始を指示し、印刷データを受信しながら印刷する方法が知られている。しかし、ページプリンタでは、エンジンが印刷を開始してから終了するまでのページごとの時間が一定に定められており、印刷終了までに１ページを構成する印刷データの全体を受信できなかった場合には、正常な印刷結果を得ることが出来ない。従って、ホストコンピュータとプリンタとの間を接続しているインターフェースが十分に高速でない場合、１ページを構成する印刷データの量が多ければ、印刷開始を指示してから印刷終了するまでに１ページを構成する印刷データの全体を受信し終えることが出来ず、正常な印刷結果を得ることが出来ない。
【０００３】
そこで、このような問題に対処すべく、例えば、特開平０６−３２０８０６号公報には、印刷データを受信したプリンタにおいて、「スリーク転送ページ」コマンドが受信されるとヘッダー部分が処理され、ヘッダー内のしきい値に従って、バッファとして割り当てられたＲＡＭ部分がＩ／Ｏバッファとして動作するように設定され、しきい値を満たすラスタ・イメージ・データがバッファされるとプリントエンジン３４がオンされ、印刷処理がなされる技術が開示されている。そして、同公報によればホストコンピュータにおけるしきい値の設定は、レーザ・プリント・エンジンの周知のプリント速度及び標準Ｉ／Ｏの予め想定された転送速度に従って決定することとなっている。
【０００４】
また、特開２００１−１４２６７０号公報には、画像データの圧縮率を考慮した画像データサイズとインターフェースの転送速度とから、ある一定量のデータをプリンタに転送後、エンジンの印刷を開始し、その後はデータを転送しながら印刷を継続するという技術が開示されている。
【０００５】
【特許文献１】
特開平０６−３２０８０６号公報
【特許文献２】
特開２００１−１４２６７０号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、上記いずれの従来技術を用いても、印刷データがカラーの場合（複数色の色プレーンを有する場合）には、データによっては正常な印刷結果が得られないことがある。つまりカラーの印刷データの場合、エンジンは各色プレーンをそれぞれ所定の順番で転写体に印刷するので、印刷データが全体として比較的大きくないデータ量であったとしても、ある１つの色プレーンのデータ量が大きい場合には、その色プレーンの印刷において、その色プレーンの印刷データの受信が間に合わず、印刷に失敗してしまう（つまり、印刷開始から印刷終了までの時間が一定時間内におさまらない）という問題点があった。
【０００７】
本発明は、上述した課題に鑑みてなされたもので、複数色プレーンの印刷データを出力処理する出力部を制御する情報処理装置において、各色プレーンごとの印刷データ量を考慮した適切なタイミングで印刷開始を指示することで、複数色の色プレーンの印刷データにおいても、正常な印刷結果を得ることができるようにすることを目的とする。
【０００８】
【課題を解決するための手段】
上記の目的を達成するために本発明に係る情報処理装置は以下のような構成を備える。即ち、
複数色の色データを含むカラー印刷データを印刷出力する出力部を制御し、該出力部に各色データを所定の順序で転送する情報処理装置であって、
前記転送される各色データのデータ量を特定する特定手段と、
前記特定された各色データの前記所定の順序に従うデータ量と、前記各色データ１頁を出力する間に前記出力部に転送可能なデータ量である面転送量とに基づいて、最初に印刷する色データについての印刷開始指示タイミングを決定する決定手段と、
前記決定されたタイミングで前記出力部に印刷開始指示を行う指示手段とを備える。
【０００９】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。本発明によれば、例えば、ホストコンピュータ等から受信した印刷データを格納するメモリと、該メモリに格納された印刷データをドットイメージに展開すると共に印刷出力する印刷手段とを少なくとも備えるプリンタにおいて、可能な限りの高速印刷を行うことが可能となる。
【００１０】
図１は本発明を一実施形態にかかる情報処理装置を備える印刷システム全体を示すブロック図である。１０２は画像データ生成部であり、アプリケーション（不図示）から受け取ったデータから画像データを生成する。１０３は画像データ計算部であり、画像データがモノクロかカラーかを判別し、各色プレーンのデータ量を算出する。１０４は画像データ転送部であり、画像データ計算部１０３から受け取った画像データをプリンタへ転送する（なお、ホストコンピュータ１０１において生成された画像データのうち、プリンタ１０７に転送されるデータを“印刷データ”と呼ぶこととする。以下同じ）。１０５は印刷開始指示判断部であり、画像データ量計算部１０３から画像データの種別（カラーまたはモノクロ）と画像データのデータ量とを受け取るとともに、画像データ転送部１０４から印刷データの転送速度を受け取り、これらに基づいて適切な印刷開始指示のタイミングを判断する。１０６は印刷開始指示部であり、画像データ転送部１０４からプリンタ１０７へ転送された印刷データのデータ量を監視し、印刷開始指示判断部１０５において判断された適切な印刷開始指示のタイミングに基づいて、プリンタ１０７へ印刷開始の指示を行う。
【００１１】
図２は、図１に示した印刷システムのうち、通信制御部に関連する構成を示す図である。はじめにホストコンピュータ１０１の通信制御に関する構成について説明する。
【００１２】
オペレーティングシステム（ＯＳ）２０は、ＣＰＵ、メモリ、ハードディスク、通信ポート２５などのハードウェアの管理、およびアプリケーションプログラム２１、プリンタドライバプログラム２２、送信プログラム２３、通信ドライバ２４などのソフトウェアの管理を行う。
【００１３】
アプリケーションプログラム２１は、操作者の指示に従って画像データを作成するとともに、オペレーティングシステム２０を経由してプリンタドライバプログラム２２に画像データを送り、印刷指令を発行する。
【００１４】
プリンタドライバプログラム２２は、アプリケーションプログラム２１から発行された印刷指令に基づき、プリンタ１０７が印刷を行うための画像データを作成する。この画像データには圧縮が施されるものとする。なお、画像データの圧縮処理はプリンタドライバプログラム２２により行われても良いし、プリンタドライバプログラム２２とは別の圧縮モジュールにより行われても良いし、通信プログラム２３により行われても良い。
【００１５】
プリンタドライバプログラム２２が生成する画像データは、同様の構成を有する複数のページを備えており、各ページは、１つのページ開始コマンドと１つの画像データ開始コマンド、ならびに１つ以上の画像データコマンドおよび１つのページ終了コマンドとによって構成されている。
【００１６】
ページ開始コマンドは、用紙サイズ、画像データの幅と高さ、画像データのサイズなど、印刷の制御に必要な情報を指定するコマンドである。画像データコマンドは、印刷されるべきブロックを指定するコマンドである（アプリケーションプログラム２１が発行した印刷指令に従って生成された画像データは、圧縮された上で、例えば３２ＫＢ以下のブロックに分割されている）。ページ終了コマンドは、１つのページの印刷データの終了を示すコマンドである。
【００１７】
送信プログラム２３は、後述する手順により、プリンタ１０７から取得したプリンタステータスに従って、プリンタドライバプログラム２２が作成した画像データを通信ドライバ２４、通信ポート２５を経由して印刷データとしてプリンタ１０７に送信する。通信ドライバ２４は、送信プログラム２３の要求に従い、通信ポートを制御して、プリンタ１０７との間の送受信を行う。
【００１８】
次にプリンタ１０７の通信制御に関する構成について説明する。通信ポート３０は、例えばパラレルインタフェースケーブルにより、ホストコンピュータ１０１の通信ポート２５に接続される。もちろん接続は、ネットワークを介して行われていてもよい。
【００１９】
制御回路３１は、例えば、ＲＯＭ、ＲＡＭおよびタイマーを内蔵した１チップＣＰＵで構成され、通信ポート３０、ＦＩＦＯメモリ３２、復号回路３３、シフトレジスタ３４、および内蔵するタイマーの制御を行うとともにプリンタエンジン３５との間でシリアル信号を用いてエンジンコマンドの送信およびエンジンステータスの受信を行う。
【００２０】
ＦＩＦＯ（ファーストインファーストアウト）メモリ３２は、例えば、０．５ＭＢの容量を有し、通信ポート３０が受信した印刷データを記憶し、記憶した印刷データを先入れ先出しの順に復号回路３３に出力する。ＦＩＦＯメモリ３２は、空き容量があるか否かを示す信号を制御回路３１に出力する。
【００２１】
復号回路３３は、ＦＩＦＯメモリ３２に記憶された印刷データを復号し、シフトレジスタ３４に出力する。
【００２２】
シフトレジスタ３４は、プリンタエンジン３５から主走査の開始を通知する信号を受信すると、復号回路３３が出力したパラレルデータをシリアルデータに変換し、プリンタエンジン３５に出力する。
【００２３】
プリンタエンジン３５は、レーザービームプリンタエンジンからなり、制御回路３１との間でシリアル信号を用いてエンジンコマンドの受信およびエンジンステータスの送信を行い、制御回路３１からＰＲＩＮＴコマンドを受信すると１ページの印刷処理を開始し、用紙が主走査を開始すべき所定の位置に達すると、主走査の開始を通知する信号をシフトレジスタ３４に出力し、シフトレジスタ３４が出力したシリアルデータに従って印刷を行う。
【００２４】
ホストコンピュータ１０１から受信した印刷データを印刷するプリンタ１０７では、スループットを向上させるため、印刷データを受信すると同時に印刷開始を指示することが多い。しかし、印刷データのサイズが大きく、転送が間に合わない場合は、正常な印刷結果を得ることができない。その時、正常な印刷結果が得られるかどうかは実際に印刷してみないとわからず、トナーや用紙の無駄な消費になっているという問題がある。逆に、正常な印刷結果を得るために印刷データの転送が終わってから印刷開始を指示することがあるが、その場合、必要以上にスループットを低下させてしまうという問題がある。
【００２５】
その１つの解決策として、印刷データとインターフェースの転送速度とから算出したデータ量を予めプリンタ本体に転送し、その後印刷を開始するという方法があるが、上述したように、この方法によれば印刷データがカラーの場合、全体のデータ量が多くないが、ある色プレーンのデータ量のみが多い場合に、正常な印刷結果が得られないこととなってしまう。つまり、従来の方法では印刷データ量としては多くないので、早いタイミングで印刷開始をしても問題ないと判断されてしまい、データ量の多いプレーンが印刷されるときに印刷開始から印刷終了までの時間が一定時間内におさまらず、失敗してしまうということとなる。
【００２６】
そこで以下では、カラーの印刷データを出力する出力装置と通信可能に接続されるホストコンピュータであって、ＯＳを介して供給される描画命令に基づき生成された各色の画像データサイズとプリンタが所定色の印刷データを１頁処理する間に転送可能な面転送量とに基づき、適切なタイミングでプリンタに対して印刷開始指示を行うことが可能なホストコンピュータにおける印刷処理の詳細について説明する。
【００２７】
図３、４、５は、本実施形態にかかるホストコンピュータ（情報処理装置）の動作を示すフローチャートである。実際にはホストコンピュータ１０１の送信プログラム２３、あるいは通信プログラム２３とプリンタドライバプログラム２２との協働によって実行される。また、実際の印刷処理においては図３、４、５の順で処理が行われる。
【００２８】
図３は、画像データからそのデータ量を算出する処理を示すフローチャートであり、図１中の画像データ計算部１０３により実行される。ＩｍａｇｅＳｉｚｅ及びＰｌａｎｅＳｉｚｅ［１］乃至［４］は０に初期化されている。画像データを受け取った送信プログラム２３は、まずステップＳ３０１で受け取ったコマンドが画像データコマンドであるかどうかを判別し、画像データコマンドである場合には、ステップＳ３０２に進み、画像データコマンドでない場合には、ステップＳ３１１に進む。
【００２９】
ステップＳ３０２では、その画像データコマンドのデータサイズをＩｍａｇｅＳｉｚｅに加算する。すべての画像データコマンドのサイズがＩｍａｇｅＳｉｚｅに加算されるので、ＩｍａｇｅＳｉｚｅがそのページの画像データのサイズとなる。ステップＳ３０３で画像データがＹｅｌｌｏｗの画像データかを判別し、Ｙｅｌｌｏｗの画像データの場合は、ステップＳ３０４に進み、違う場合はステップＳ３０５に進む。
【００３０】
ステップＳ３０４では、ＰｌａｎｅＳｉｚｅ［１］にデータサイズを加算する。ＰｌａｎｅＳｉｚｅの添え字は印刷時の面順（転写体に転写する際の順序）を示している。本実施形態では特別のことわりがない限り、以下、原則としてＹｅｌｌｏｗ、Ｍａｇｅｎｔａ、Ｃｙａｎ、Ｂｌａｃｋの面順で転写体に印刷されるものとする。
【００３１】
ステップＳ３０５で画像データがＭａｇｅｎｔａの画像データかを判別し、Ｍａｇｅｎｔａの画像データの場合は、ステップＳ３０６に進み、違う場合はステップＳ３０７に進む。ステップＳ３０６では、ＰｌａｎｅＳｉｚｅ［２］にデータサイズを加算する。
【００３２】
ステップＳ３０７では画像データがＣｙａｎの画像データかを判別し、Ｃｙａｎの画像データの場合には、ステップＳ３０８に進み、違う場合はステップＳ３０９に進む。ステップＳ３０８では、ＰｌａｎｅＳｉｚｅ［３］にデータサイズを加算する。
【００３３】
ステップＳ３０９では画像データがＢｌａｃｋの画像データかを判別し、Ｂｌａｃｋの画像データの場合には、ステップＳ３１０に進み、違う場合はステップＳ３０１に進む。ステップＳ３１１では、コマンドがページ終了コマンドかを判別し、ページ終了コマンドでない場合にはステップＳ３０１に戻り、次のコマンドを処理する。ページ終了コマンドの場合には、そのページのデータ量の算出は終了したと判断し、処理を終える。
【００３４】
図４は、モノクロの場合においては図３の処理で算出された全体のデータ量と面転送量との差から、カラーの場合においては、各色のうち転送される所定の色の画像データサイズと面転送量との差と、先に送信する他の色の画像データサイズと面転送量との差との和で最大のものから遅延画像データサイズ（ＭａｘＤｅｌａｙＳｉｚｅ）を決定する処理を示すフローチャートである。この図４に示されるフローチャートは図１中の印刷開始指示判断部１０５により実行される。
【００３５】
転送速度は、現在、一般的に使用されているＬＰＴポート、ＵＳＢポートの平均的な速度である７５０ＫＢ／ｓｅｃとする。ＵＳＢ２．０のＨｉ−Ｓｐｅｅｄ（６０ＭＢ／Ｓ）等の高速なインターフェースで接続される場合も考えられるが、画像データの転送自体が数百ｍｓｅｃで終わってしまうので、かかる転送速度により転送しても問題ない。また、送信プログラムは自分がどのようなエンジンの送信プログラムであるかを知っているので、色プレーン数＝４色（ＰｌａｎｅＮｕｍ＝４）は既知とする。
【００３６】
ＭａｘＤｅｌａｙＳｉｚｅ、ＤｅｌａｙＳｉｚｅ［１］乃至［４］は０に初期化されている。ＤｅｌａｙＳｉｚｅ［ｉ］は、各色プレーンを印刷する際に、印刷を開始する前に予めプリンタに送信が必要なデータ量（以後、遅延転送量）が格納される。
【００３７】
まず、ステップＳ４０１では受け取った画像データがカラー画像データであるか否かを判別する。カラー画像データであるか否かは、送信プログラムにおいて受け取ったデータに設定されているフラグを見ることで判別される。カラー画像データの場合には、ステップＳ４０２に進み、モノクロ画像データの場合にはステップＳ４１１に進む。
【００３８】
ステップＳ４０２では、色プレーンの１面がプリンタにおいて転写体に対して印刷処理を完了するまでに転送可能なデータ量である面転送量を、転送速度とエンジンスピードと１つのプレーンを印刷する時間とに基づいて算出する。例えば、エンジンがカラー４ｐｐｍで色プレーンが４色だとすると、１つの色プレーンを印刷する時間は、４（ｐｐｍ）を４（色）で割った値を６０倍した、６０ｓｅｃ／４（ｐｐｍ）／４（色数）となるので、面転送量は、
面転送量  ＝  転送速度（７５０ＫＢ／ｓｅｃ）＊６０／４／４
と計算される。
【００３９】
ステップＳ４０３では処理に使用する変数ｉを０に初期化する。ステップＳ４０４ではｉをインクリメントし、印刷の面順に処理を行う。
【００４０】
ステップＳ４０５ではｉがＰｌａｎｅＮｕｍ（＝４）以下か否かを判別し、ＰｌａｎｅＮｕｍ以下であれば、まだプレーンがあるのでステップＳ４０６に進む。ＰｌａｎｅＮｕｍより大きい場合はすべてのプレーンに関して処理を行ったと判断し、処理を終了する。
【００４１】
ステップＳ４０６では、ｉが１かどうかを判別し、１の場合は、最初の色プレーンと判断し、ステップＳ４０７に進む。１でない場合は、ステップＳ４０９に進む。
【００４２】
ステップＳ４０７では、ＰｌａｎｅＳｉｚｅ［１］（本実施形態ではＹｅｌｌｏｗの画像データサイズ）と面転送量との差分をＤｅｌａｙＳｉｚｅ［１］に代入する。つまり、面転送量よりも画像データサイズが大きい場合には、印刷処理の間に印刷データの転送が間に合わないこととなるため、予め転送しておく必要がある。そして、色プレーンのデータ量から面転送量を差し引いた値が第一面（Ｙｅｌｌｏｗ）の遅延転送量としてＤｅｌａｙＳｉｚｅ［１］に保持される。なお、面転送量がＰｌａｎｅＳｉｚｅ［１］よりも大きな場合にはＤｅｌａｙＳｉｚｅ［１］の値はマイナスとして演算されることとなる。
【００４３】
ステップＳ４０８では、ＤｅｌａｙＳｉｚｅ［１］をＭａｘＤｅｌａｙＳｉｚｅに代入する。
【００４４】
一方、ステップＳ４０９では、第二面以降（Ｍａｇｅｎｔａ、Ｃｙａｎ、Ｂｌａｃｋ）の遅延転送量を算出する。第二面以降は、前の色プレーンのデータ量が面転送量より小さい場合は、前の色プレーンを印刷中に次の色プレーンのデータを転送でき、大きい場合には、さらに遅延させなければならないため、前面までの遅延転送量ＤｅｌａｙＳｉｚｅ［ｉ−１］をその面の遅延転送量に加算しなければならない。ステップＳ４１０では、その時のＭａｘＤｅｌａｙＳｉｚｅとＤｅｌａｙＳｉｚｅ［ｉ］とを比較し、大きいほうを遅延画像データサイズ（ＭａｘＤｅｌａｙＳｉｚｅ）に代入する。
【００４５】
なお、モノクロ印刷の場合には、ステップＳ４１１でカラー印刷の場合のステップＳ４０２と同様に面転送量を算出する。モノクロの場合、色プレーン数は１となる。ステップＳ４１２では、色が１つしかないので、そのページの画像データのサイズから面転送量を差し引いた値が、遅延転送量となるので、その値をＭａｘＤｅｌａｙＳｉｚｅとする。
【００４６】
図５は、図４の処理で算出した遅延画像データサイズ（ＭａｘＤｅｌａｙＳｉｚｅ）を使用して実際に印刷を行うときの処理を示すフローチャートであり、図１中の画像転送部１０４、印刷開始指示部１０６或は図２中の通信プログラムにより各色のページ毎に実行される。送信プログラム２３は、ワーク領域として出力済みページ数、データ送信が完了したページ数、送信済みデータサイズを保持しており、初期値は０である。
【００４７】
まず、ステップＳ５０１にて、ポートの種類を判断する。ポートの種類は、例えばポート名から判断し、ＬＰＴ、ＵＳＢ等が含まれていればローカル、そうでなければネットワークであると判断する。ローカルであれば、ステップＳ５０２に進み、ネットワークの場合は、別の処理によって印刷が行われ、終了する。例えば、別の処理としてはプリンタに備えられたネットワークインタフェースカードのメモリに全データを受信させて、印刷を行わせるような処理等が挙げられる。尚、ネットワークインタフェースカードにはメモリが十分に備えられているものとする。
【００４８】
ポートの種類がデータの転送速度が安定しているインターフェースに対応したポートであればステップＳ５０２以降の処理を実行させ、データの転送速度が動的に変動し得るようなネットワークインタフェースに対応したポートであればステップＳ５０２以降の処理の代わりに全画像データを受信させ印刷を実行させるようにすれば、より安定した、且つメモリの容量を全体として小さくすることができるシステムを構築することが可能となる。
【００４９】
次にステップＳ５０２にて、プリンタ１０７からステータス取得コマンドが送信される。プリンタにおいてジャムや紙無し等のエラーが発生していないか、あるいはホストコンピュータとプリントとの通信状態が正常か否かを判断するためにステータス取得が実行される。
【００５０】
ステップＳ５０３では、プリンタ１０７のステータスを受信する。これはプリンタ1０７が正常に動作しているか否かを監視する処理が含まれる。なお、ステータスは、エラーフラグ、印刷完了ページ数、コマンド送信禁止フラグ、およびデータ送信禁止フラグにより構成される。エラーフラグは、プリンタ１０７の印刷過程でエラーが検出されたことを示す。印刷完了ページ数は、印刷が正常に終了したページ数を示す。コマンド送信禁止フラグは、プリンタ１０７がページ開始コマンド、ページ終了コマンドを受信することができないことを示す。データ送信禁止フラグは、プリンタ１０７が印刷データを受信することができないことを示す。
【００５１】
ステップＳ５０４では、受信したステータスのエラーフラグが１であるかどうかを判定する。エラーフラグが１である場合は、所定の印刷エラーが発生しているので、エラー終了する。エラーフラグが０である場合は、ステップＳ５０５に進む。
【００５２】
ステップＳ５０５では、受信したステータスの印刷完了ページ数が、総ページ数に等しいかを判定する。印刷完了ページ数が総ページ数と等しい場合は、全てのページの印刷が正常に終了したので、正常終了する。印刷完了ページ数が総ページ数と等しくない場合は、全てのページの印刷が正常に終了していないので、ステップＳ５０６に進む。
【００５３】
ステップＳ５０６では、出力済みページ数が総ページ数に等しいかを判定する。出力済みページ数が総ページ数と等しい場合は、全てのページの送信が終了しているので、ステップＳ５０２に戻る。出力済みページ数が総ページ数と等しくない場合はステップＳ５０７に進む。
【００５４】
ステップＳ５０７では、これから送信しようとするコマンドが画像データコマンドであるか判定する。これから送信しようとするコマンドが画像データコマンドでない場合は、ステップＳ５０８に進む。
【００５５】
ステップＳ５０８では、受信したステータスのコマンド送信禁止フラグが１であるかを判定する。コマンド送信禁止フラグが１の場合は、画像データコマンド以外のコマンド送信が禁止されているのでステップＳ５０２に戻る。コマンド送信禁止フラグが０の場合は、画像データコマンド以外のコマンドの送信が許可されているのでステップＳ５０９に進む。
【００５６】
ステップＳ５０９では、これから送信しようとしているコマンドがページ開始コマンドであるかを判定する。ページ開始コマンドであると判定された場合は、ステップＳ５１０に進む。
【００５７】
ステップＳ５１０では、送信済みデータサイズを０にし、ステップＳ５１５に進む。
【００５８】
ステップＳ５０９でページ開始コマンドでないと判定された場合は、ステップＳ５１１に進む。ステップＳ５１１では、これから送信しようとしているコマンドがデータ開始コマンドであるかを判定する。データ開始コマンドであると判定された場合は、ステップＳ５１２に進む。それ以外のコマンドであれば、ステップＳ５１５に進む。
【００５９】
ステップＳ５１２では、印刷開始が可能かどうかを判定する（ＭａｘＤｅｌａｙＳｉｚｅが０以下であれば、予めデータを転送する必要がなく、データの開始と同時に印刷開始が可能となる）。印刷開始が可能であると判断された場合は、ステップＳ５１３に進む。印刷開始が可能でないと判定された場合は、ステップＳ５１５に進む。ページ開始コマンドを受け取った時点では、まだ画像データは転送されていない。このとき、ＭａｘＤｅｌａｙＳｉｚｅに格納されている値が０以下であれば、データを転送する前に印刷を指示することが出来ると判断する。
【００６０】
ステップＳ５１３では、所定のコマンド（データ開始コマンド）を送信する。ステップＳ５１４では、ステップＳ５１２で印刷開始が可能であると判定されているので、印刷開始コマンドを送信する。
【００６１】
ステップＳ５１５では、所定のコマンド（ページ開始コマンド、ページ終了コマンド等）を送信する。ステップＳ５１６では、現在出力中のページのブロックを全て送信したかを判定する。現在出力中のページに未送信のブロックがある場合は、ステップＳ５０２に戻る。現在出力中のページのブロックを全て送信した場合は、ステップＳ５１７に進み、出力済みページ数に１を加算し、ステップＳ５０２に戻る。
【００６２】
ステップＳ５０７において、画像データコマンドであると判断された場合は、ステップＳ５１８に進む。ステップＳ５１８では、受信したステータスのデータ送信禁止フラグが１であるかを判定する。プリンタは受信バッファがフルになった場合にデータ送信禁止フラグを１にする。データ送信禁止フラグが１の場合は、画像データの送信が禁止されているのでステップＳ５１９に進む。データ送信禁止フラグが０の場合は、画像データの送信が許可されているので、ステップＳ５２０に進む。
【００６３】
ステップＳ５２０において、印刷開始が可能であるかを判別する。送信済みデータサイズが、図３、４のフローチャートに従い、各色のデータ量と算出された各色データのデータ量と前記各色データ１頁を出力する間に前記出力装置に転送可能なデータ量である面転送量とに基づいて算出されたＭａｘＤｅｌａｙＳｉｚｅより大きければ、印刷開始前に転送必要な量のデータを送信したので、印刷可能と判断する。印刷可能であると判別された場合は、ステップＳ５２１に進み、印刷開始が可能でないと判別された場合はステップＳ５２２に進む。
【００６４】
ステップＳ５１８においてデータ送信禁止フラグが１であると判定された場合はステップＳ５１９に進む。データ送信禁止フラグが１であるということは、その時すでに、プリンタ側のバッファがフルであるということであるので、これ以上予め画像データを転送することが出来ないので、印刷開始コマンドを送信する。ステップＳ５２２で、１ブロック（所定量）の画像データを送信する。ステップＳ５２２で１ブロック（所定量）の画像データを送信することは、プリンタに備えられたメモリ容量が小さい場合に、メモリを十分に活用することができる。
【００６５】
ステップＳ５２３で送信済みデータサイズにステップＳ５２２で送信した画像データのサイズを加算する。そして、ステップＳ５０２からステップＳ５２３の処理を繰り返すことにより、ＭａｘＤｅｌａｙＳｉｚｅ以上の画像データの送信を予め行う。また、ステップＳ５２２の処理で１ブロックづつの画像データを転送を繰り返すようにしても良いが、ステップＳ５２２の処理をＭａｘＤｅｌａｙＳｉｚｅ以上の画像データを予め送信するようにしても良い。
【００６６】
以上のように、画像データ量計算部１０３において、図３に示すフローチャートに従って各色の画像データ量を算出し、印刷開始指示判断部１０５において、図４に示すフローチャートに従って、ＭａｘＤｅｌａｙＳｉｚｅを求め、該ＭａｘＤｅｌａｙＳｉｚｅに基づいて印刷開始指示部１０６等において図５のフローチャートによるタイミングで、プリンタ１０７に印刷開始指示を送信することで、印刷開始から印刷終了までの時間を一定にすることが可能となる。これにより、エンジンが印刷を開始してから終了までに１ページを構成する画像データの全体を受信できないといったことを回避することが可能となる。
【００６７】
ここで、本発明の印刷処理方法の特徴をより明確にすべく、上記実施形態（図１の構成、図２等のフローチャート）のもと、具体的な実施例（実施例１乃至３）について以下に説明する。
【００６８】
［実施例１］
上述した本発明の一実施形態の具体例を以下に説明する。本実施例ではプリンタが１プレーン印刷するのに必要な時間をＴp、データ転送速度をＤ、面転送量（すなわち、Ｔp×Ｄ）を１００とする（なお、説明の便宜上、以下の説明においては、単位の記載を省略するものとする）。
【００６９】
また、画像データはＹｅｌｌｏｗ、Ｍａｇｅｎｔａ、Ｃｙａｎ、Ｂｌａｃｋの４色から構成されており、かかる面順で印刷されるものとし、各プレーンのサイズは下記の通りとする。
【００７０】
ＰｌａｎｅＳｉｚｅ［１］（＝Ｙｅｌｌｏｗ）＝１６０
ＰｌａｎｅＳｉｚｅ［２］（＝Ｍａｇｅｎｔａ）＝９０
ＰｌａｎｅＳｉｚｅ［３］（＝Ｃｙａｎ）＝９０
ＰｌａｎｅＳｉｚｅ［４］（＝Ｂｌａｃｋ）＝６０
なお、本実施例の説明にあたっては、かかる前提条件のもと、従来の印刷処理方法により求められた印刷開始指示タイミングにより印刷する場合と、本発明の実施形態にかかる印刷処理方法により求められた印刷開始指示タイミングにより印刷する場合とを対比して説明するものとする。
【００７１】
図６は、従来の印刷処理方法により求められた印刷開始指示タイミングにより印刷処理を行った場合の、処理の概念図である。
【００７２】
同図において、６０１は印刷開始から印刷終了までの理想的な印刷処理時間を示したものである（同図において横方向は時間方向を示すものとする）。つまり、プリンタが１プレーンを印刷するのに必要な時間Ｔpに対して、本実施例では４プレーン（Ｙ、Ｍ、Ｃ、Ｋ）を印刷するので、理想的な印刷処理時間としては４Ｔpとなる。
【００７３】
また、６０２は転送される印刷データを示したもので、横軸が時間、縦軸がデータ転送速度（＝Ｄ）を表している。つまり、６０２に示す長方形の面積は、所定時間内に転送されるデータ量となる。
【００７４】
ここで、上記従来技術の説明において記載したように、従来の印刷処理方法では、転送される印刷データの総データ量と、面転送量との関係のみに基づいて印刷開始タイミングを算出していた。そして、本実施例の場合、総データ量は、１６０＋９０＋９０＋６０＝４００であり、面転送量は１００であるため、４プレーンでは４００となり、総データ量と面転送量とが等しくなる。このため、従来の印刷処理方法によれば、印刷開始指示とデータ転送開始とは同時に行えば足りると判断されていた。
【００７５】
しかしながら、図６に示すように、Ｙデータ（Ｙｅｌｌｏｗのデータ）の転送開始とともにＹデータの印刷開始を指示すると、プリンタはＹデータ（１プレーン）を印刷するのに時間Ｔpで済むが、データ転送はＴpの間に１００しか行えない。このため、Ｙデータのデータ量（１６０）を転送し終えるまで、プリンタは途中で印刷処理を待機する必要が生じる（図６の６０３のＴp＋αにおけるαは、この待機時間に相当する）。つまり、印刷開始から印刷終了までの印刷処理時間も、４Ｔp＋αだけ必要となり、印刷処理時間が増加することとなる。この結果、印刷開始から印刷終了までの時間が一定時間内におさまらなくなってしまう。そして、電子写真方式を採用した印刷装置においては、既に印刷データが用意されていることが前提となっており、印刷開始から印刷終了の間において画像形成処理を待機するようなことはできないものも存在する。このため、図６のような条件の印刷処理結果は失敗となる。
【００７６】
なお、本実施例の場合、Ｙｅｌｌｏｗ以外のデータ転送における遅延要因はない。つまり、Ｙｅｌｌｏｗの印刷完了後、Ｍａｇｅｎｔａの印刷を開始した場合、Ｍａｇｅｎｔａの印刷開始時には、同時にＭａｇｅｎｔａのデータ転送も開始されており、印刷開始時の遅延は生じない。また、面転送量は１００であるため、Ｍａｇｅｎｔａ（１プレーン）を印刷する時間Ｔpの間に、Ｍａｇｅｎｔａのデータ（データ量＝９０）のデータ転送を完了させることができるため、Ｍａｇｅｎｔａを印刷中には、必要なＭａｇｅｎｔａのデータはすべてデータ転送を完了していることとなり遅延は生じない。また、ＣｙａｎについてもＭａｇｅｎｔａと同様に、遅延は生じない。
【００７７】
さらに、Ｃｙａｎの印刷終了とともにＢｌａｃｋの印刷を開始したときには、すでにＢｌａｃｋのデータ（データ量＝２０）は転送が完了した状態にある。さらに、面転送量は１００であるため、Ｂｌａｃｋ（１プレーン）を印刷する時間Ｔpの間に残りのデータ（データ量＝４０）を受け取ることができる。
【００７８】
このように、従来の方法によれば、印刷データの全体データ量が４００であるため、印刷開始タイミングをデータ転送開始と同時にしてもよいと判断してしまい、Ｙｅｌｌｏｗの印刷時に遅延が生じ、全体としても印刷開始から印刷終了までの印刷処理時間が理想的な印刷処理時間（４Ｔp）を越えてしまうこととなっていた。
【００７９】
これに対して、本実施形態にかかる印刷処理方法により求められた印刷開始指示タイミングによれば、印刷開始から印刷終了までの印刷処理時間を一定（４Ｔp）に保つことが可能となる。
【００８０】
まず、図４のステップＳ４０７より、ＤｅｌａｙＳｉｚｅ［１］＝ＰｌａｎｅＳｉｚｅ［１］−面転送量＝６０となり、ステップＳ４０８より、ＭａｘＤｅｌａｙＳｉｚｅ＝６０と算出される。
【００８１】
さらに、ステップＳ４０９では、ＤｅｌａｙＳｉｚｅ［２］＝ＤｅｌａｙＳｉｚｅ［１］＋ＰｌａｎｅＳｉｚｅ［２］−面転送量＝６０＋９０−１００＝５０となり、ステップＳ４１０ではＭａｘ（ＭａｘＤｅｌａｙＳｉｚｅ、ＤｅｌａｙＳｉｚｅ［２］）＝Ｍａｘ（６０、５０）＝６０と算出される。
【００８２】
同様に、ＤｅｌａｙＳｉｚｅ［３］、ＤｅｌａｙＳｉｚｅ［４］についても算出すると、最終的にＭａｘＤｅｌａｙＳｉｚｅ＝６０と算出される。
【００８３】
この結果、本実施形態にかかる印刷処理方法によれば、Ｙｅｌｌｏｗをデータ量６０だけ転送した後に印刷を開始すれば、印刷処理時間を一定に保つことができると判断される。
【００８４】
Ｙｅｌｌｏｗデータをデータ量６０だけ転送後に印刷開始指示をした場合の処理の概念図を図７に示す。同図の６０２、７０３より明らかなように、予めＹｅｌｌｏｗのデータをデータ量６０だけ転送しているため、Ｙｅｌｌｏｗ（１プレーン）を印刷する時間Ｔpが経過するまでにＹｅｌｌｏｗの全データ（１６０）が転送されるため、遅延なく印刷処理が可能となる。
【００８５】
次にＭａｇｅｎｔａ（１プレーン）を印刷開始しようとした際には、すでにＭａｇｅｎｔａのデータ転送を開始しているため、同様に遅延なく印刷が開始できる。また、Ｍａｇｅｎｔａを印刷する時間Ｔpが経過するまでにＭａｇｅｎｔａのデータ転送は完了しているため、ここでも遅延は生じない。さらに、Ｃｙａｎについても同様の結果となる。
【００８６】
さらに、Ｃｙａｎの印刷終了とともに、Ｂｌａｃｋの印刷を開始したとき、すでにＢｌａｃｋのデータ（データ量＝２０）は転送が完了した状態にある。そして、Ｂｌａｃｋ（１プレーン）を印刷する時間Ｔpが経過するまでに転送できるデータ量は１００であるため、Ｂｌａｃｋ（１プレーン）を印刷する時間Ｔpの間に残りのデータ（データ量＝４０）を受け取ることができる。
【００８７】
このように、本実施形態にかかる印刷処理方法によれば、適切なタイミングで印刷開始指示を送ることができるため、印刷開始から印刷終了までの印刷処理時間を理想的な印刷処理時間（４Ｔp）にすることができる。
【００８８】
［実施例２］
本実施形態にかかる印刷処理方法によれば、実施例１のように特定のプレーンのデータ量が多い場合でも、印刷処理時間を一定にするための最適な印刷開始指示タイミングを算出することが可能となるが、本実施形態にかかる印刷処理方法の特徴はこれに限られない。例えば、２つの印刷データがあり、各印刷データを構成する各プレーンのデータ量がそれぞれ同じで、かつ印刷データの転送順序（面順）が異なる関係にある場合にも、それぞれの印刷データに対して印刷処理時間を一定にするための最適な印刷開始指示タイミングを算出することが可能である。本実施例では、かかる特徴が明確になるケースについて説明することとする。
【００８９】
上記実施例１同様、本実施例でもプリンタが１プレーン印刷するのに必要な時間をＴp、データ転送速度をＤ、面転送量（すなわち、Ｔp×Ｄ）を１００とする（なお、説明の便宜上、以下の説明においては、単位の記載を省略するものとする）。
【００９０】
また、２つの画像データはＹｅｌｌｏｗ、Ｍａｇｅｎｔａ、Ｃｙａｎ、Ｂｌａｃｋの４色から構成されており、各画像データの各プレーンのサイズおよび面順は下記の通りとする（データ１と、データ２とは、各プレーンのサイズが同じで面順のみが異なる）。
【００９１】
（データ１）
ＰｌａｎｅＳｉｚｅ［１］（＝Ｙｅｌｌｏｗ）＝１６０
ＰｌａｎｅＳｉｚｅ［２］（＝Ｍａｇｅｎｔａ）＝９０
ＰｌａｎｅＳｉｚｅ［３］（＝Ｃｙａｎ）＝９０
ＰｌａｎｅＳｉｚｅ［４］（＝Ｂｌａｃｋ）＝１３０
（データ２）
ＰｌａｎｅＳｉｚｅ［１］（＝Ｙｅｌｌｏｗ）＝１６０
ＰｌａｎｅＳｉｚｅ［２］（＝Ｍａｇｅｎｔａ）＝９０
ＰｌａｎｅＳｉｚｅ［３］（＝Ｂｌａｃｋ）＝１３０
ＰｌａｎｅＳｉｚｅ［４］（＝Ｃｙａｎ）＝９０
図８は、上記前提条件のもとデータ１に対して、本実施形態にかかる印刷処理方法により求められた印刷開始指示タイミングにより印刷処理を行った場合の処理の概念図である。
【００９２】
上記実施例１と同様に図４のフローチャートに従ってＭａｘＤｅｌａｙＳｉｚｅを求めると、最終的にＭａｘＤｅｌａｙＳｉｚｅ＝７０と算出される。
【００９３】
したがって、データ１のＹｅｌｌｏｗデータをデータ量７０だけ転送後に印刷開始指示をだすと、図８の８０２、８０３に示すように、印刷処理時間を一定に保つことができることがわかる。
【００９４】
一方、図９は、上記前提条件のもとデータ２に対して、本実施形態にかかる印刷処理方法により求められた印刷開始指示タイミングにより印刷処理を行った場合の処理の概念図である。差異が明確になるように、６０１に理想的な印刷処理時間を、８０３にデータ１に対して求めたＭａｘＤｅｌａｙＳｉｚｅに基づいて印刷開始指示をした場合の印刷処理時間をそれぞれ示す。
【００９５】
データ１とデータ２とは各プレーンのデータ量が同じで、面順が異なるだけであるが、８０３より明らかなように、データ１に対して求めたＭａｘＤｅｌａｙＳｉｚｅに基づいて印刷開始指示をしたのでは、印刷処理時間を一定に維持することができない。
【００９６】
つまり、Ｙｅｌｌｏｗデータをデータ量７０だけ転送後に印刷開始指示を出した場合、Ｙデータ、Ｍデータの印刷処理は遅延なく実施することが可能であるが、Ｋデータの印刷処理において遅延が生じる。
【００９７】
Ｋデータの印刷処理開始時点では、Ｋデータの一部（データ量＝２０）がすでに転送を完了した状態にあるが、Ｋデータの印刷開始から時間Ｔpが経過するまでの間に（Ｋデータの印刷処理が完了するまでの間に）、Ｋデータはさらにデータ量１００が転送されるのみで、全データ（データ量１３０）を転送することはできない。このため、Ｋデータの印刷途中で印刷処理が待機状態となり遅延が生じる（結果的に、印刷処理時間は４Ｔp＋βとなる）。また、待機が行えない印刷装置の場合には、実施例１において説明したのと同様に印刷処理は失敗する。
【００９８】
これに対して、９０３に示すように、データ２に対して求めたＭａｘＤｅｌａｙＳｉｚｅ（図４のフローチャートに従って処理すると、ＭａｘＤｅｌａｙＳｉｚｅ＝８０となる）に基づいて印刷開始指示を出した場合には、印刷処理時間を一定に保つことが可能となる。つまり、Ｙｅｌｌｏｗデータをデータ量８０だけ転送後に印刷開始指示を出すため、Ｋデータの印刷開始時点において、Ｋデータはすでにデータ量３０だけ転送を完了した状態にある。このため、Ｋデータの印刷開始から時間Ｔpが経過するまでの間に（Ｋデータの印刷処理が完了するまでの間に）、Ｋデータはさらにデータ量１００が転送され、全データ（データ量１３０）を転送することができる。このため、Ｋデータの印刷時の遅延は生じず、理想的な印刷処理時間（４Ｔp）で印刷処理することが可能となる。言い換えれば、既に印刷データが用意されていることを前提とし、印刷開始から印刷終了の間において画像形成処理を待機しない、或は待機できないような印刷装置においても正常に印刷処理を終了させることができる。
【００９９】
上記実施例１、実施例２の説明からわかるように、本実施形態にかかる印刷処理方法により求められる印刷開始指示タイミングは以下の要件を満たすこととなる。つまり、当該印刷開始指示タイミングで印刷開始指示がなされた場合、
▲１▼所定のプレーン印刷開始時には、すでに、あるいは同時に当該プレーンのデータ転送が開始されており、
▲２▼所定のプレーン印刷終了時には、すでに、あるいは同時に当該プレーンのデータ転送が完了しており、
▲３▼上記▲１▼、▲２▼の要件が、印刷データを構成する各プレーンの印刷において具備されている、
こととなる。
【０１００】
そして、かかる要件を具備することにより、従来の印刷処理方法に基づいて求められた印刷開始指示タイミングでは、印刷開始から印刷終了までの印刷処理時間を一定に保つことができないようなカラー印刷データであっても印刷処理時間を一定に保つことができる、適切な印刷開始指示タイミングを算出することが可能となる。
【０１０１】
さらに、本実施形態にかかる印刷処理方法によれば、複数のプレーンからなる印刷データの転送順序（面順）が変更になった場合でも適切な印刷開始指示タイミングを算出することが可能となる。
【０１０２】
以上の説明から明らかなように、本実施形態によれば、複数色プレーンの印刷データを出力処理する出力装置に接続された情報処理装置において、各色プレーンごとの印刷データ量を考慮した適切なタイミングで印刷開始を指示することで、複数色の色プレーンの印刷データにおいても、正常な印刷結果を得ることが可能となる。
【０１０３】
［実施例３］
実施例１および２においては、印刷開始指示の判断を印刷装置に接続された情報処理装置において行うようにして説明を行ってきた。しかしながら、これに限定されるものではなく、プリンタにより実施例１、２の処理の一部を実行させるようにしても良い。
【０１０４】
即ち、ホストコンピュータ（情報処理装置）で実行された図３のフローチャートに従う演算結果をプリンタに通知し、プリンタは受信した演算結果に基づき図４、図５のフローチャートを実行する。この場合には、プリンタには事前に面転送量が記憶されているものとする。例えば、ホストコンピュータから通知された転送速度と、自装置のカラーエンジンスピードと、色プレーン数とから面転送量の演算を行うような形態が想定される。
【０１０５】
また、図５のフローチャートは、図２の制御回路３１とプリンタエンジン３５との間の処理として説明することができる。
【０１０６】
即ち、ホストコンピュータ１０１をプリンタコントローラであるところの制御回路３１に、プリンタ１０７をプリンタエンジン３５（不図示のエンジン制御回路を含む）に相当させて各ステップの処理を説明することができる。
【０１０７】
但し、ステップＳ５２０の処理は「ホストコンピュータ１０１から受信済み画像データサイズ＞ＭａｘＤｅｌａｙＳｉｚｅ」の内容の、制御回路３１の処理とする。
【０１０８】
実施例３によれば、ホストコンピュータが、複数のプリンタ夫々のエンジン速度等を把握していいない場合でも、適切な印刷開始タイミングを決定することが出来るという格別の効果を得ることができる。
【０１０９】
【他の実施形態】
なお、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。前述した実施形態の機能を実現するソフトウエアのプログラムコードをネットワークなどを介してダウンロードして実行したり、プログラムコードを記録した記録媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【０１１０】
この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１１１】
プログラムコードを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１１２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１３】
更に、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１４】
なお、本発明に係る実施態様の例を以下に列挙する。
【０１１５】
［実施態様１］  カラー印刷データを出力する出力装置と通信可能に接続される情報処理装置であって、
前記出力装置において出力されるカラー印刷データ１頁を構成する各色データのデータ量を算出する算出手段と、
前記算出された各色データのデータ量と、前記各色データ１頁を出力する間に前記出力装置に転送可能なデータ量である面転送量とに基づいて、前記出力装置に印刷開始指示を行うタイミングを決定する決定手段と、
前記出力するカラー印刷データを前記出力装置に転送後、前記決定されたタイミングで前記出力装置に印刷開始指示を送信する指示送信手段と
を備えることを特徴とする情報処理装置。
【０１１６】
［実施態様２］  前記決定手段は、
前記算出された各色のデータ量と前記面転送量との各差分を、前記各色のデータ転送の順に和算していった場合の最大値を算出し、前記カラー印刷データを転送開始してから、該最大値のデータ量を転送するのに必要な時間分だけ、印刷開始指示を遅らせるように前記タイミングを決定することを特徴とする請求項１に記載の情報処理装置。
【０１１７】
［実施態様３］  前記決定手段は、
前記出力されるカラー印刷データ１頁ごとに前記タイミングを決定することを特徴とする請求項１に記載の情報処理装置。
【０１１８】
［実施態様４］  前記各色は、ＹＭＣＫの４色からなり、Ｙ、Ｍ、Ｃ、Ｋの順にデータ転送が行われることを特徴とする請求項１に記載の情報処理装置。
【０１１９】
［実施態様５］  カラー印刷データを出力する出力装置と通信可能に接続される情報処理装置における印刷処理方法であって、
前記出力装置において出力されるカラー印刷データ１頁を構成する各色データのデータ量を算出する算出工程と、
前記算出された各色データのデータ量と、前記各色データ１頁を出力する間に前記出力装置に転送可能なデータ量である面転送量とに基づいて、前記出力装置に印刷開始指示を行うタイミングを決定する決定工程と、
前記出力するカラー印刷データを前記出力装置に転送後、前記決定されたタイミングで前記出力装置に印刷開始指示を送信する指示送信工程と
を備えることを特徴とする印刷処理方法。
【０１２０】
［実施態様６］  前記決定工程は、
前記算出された各色のデータ量と前記面転送量との各差分を、前記各色のデータ転送の順に和算していった場合の最大値を算出し、前記カラー印刷データを転送開始してから、該最大値のデータ量を転送するのに必要な時間分だけ、印刷開始指示を遅らせるように前記タイミングを決定することを特徴とする請求項５に記載の印刷処理方法。
【０１２１】
［実施態様７］  前記決定工程は、
前記出力されるカラー印刷データ１頁ごとに前記タイミングを決定することを特徴とする請求項５に記載の印刷処理方法。
【０１２２】
［実施態様８］  前記各色は、ＹＭＣＫの４色からなり、Ｙ、Ｍ、Ｃ、Ｋの順にデータ転送が行われることを特徴とする請求項５に記載の印刷処理方法。
【０１２３】
［実施態様９］  実施態様５乃至８のいずれか１つに記載の印刷処理方法をコンピュータによって実現させるための制御プログラム。
【０１２４】
［実施態様１０］  実施態様５乃至８のいずれか１つに記載の印刷処理方法をコンピュータによって実現させるための制御プログラムを格納した記録媒体。
【０１２５】
【発明の効果】
以上説明したように、本発明によれば、複数色プレーンの印刷データを出力処理する出力部を制御する情報処理装置において、各色プレーンごとの印刷データ量を考慮した適切なタイミングで印刷開始を指示することで、複数色の色プレーンの印刷データにおいても、正常な印刷結果を得ることが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかる情報処理装置を備える印刷処理システムのシステム構成を示すブロック図である。
【図２】本発明の一実施形態にかかる情報処理装置を備える印刷処理システムの構成を説明するブロック図である。
【図３】本発明の一実施形態にかかる情報処理装置の送信プログラムにおける、画像データ量を算出するための処理の流れを示すフローチャートである。
【図４】本発明の一実施形態にかかる情報処理装置の送信プログラムにおける、遅延転送量を算出するための処理の流れを示すフローチャートである。
【図５】本発明の一実施形態にかかる情報処理装置の送信プログラムにおける、印刷処理の流れを示すフローチャートである。
【図６】従来の方式により印刷処理した場合の遅延の様子を示した図である。
【図７】実施例１の印刷処理時の処理の様子を示した図である。
【図８】実施例２の印刷処理時の処理の様子を示した図である。
【図９】実施例２の印刷処理時の処理の様子を示した図である。
【符号の説明】
１０１      ホストコンピュータ
１０７      プリンタ
２０        オペレーティングシステム
２１        アプリケーションプログラム
２２        プリンタドライバプログラム
２３        送信プログラム
２４        通信ドライバ
２５        通信ポート
３０        通信ポート
３１        制御回路
３２        ＦＩＦＯメモリ
３３        復号回路
３４        シフトレジスタ
３５        プリンタエンジン
【図１】
0003689699.tif 000002
【図２】
0003689699.tif 000003
【図３】
0003689699.tif 000004
【図４】
0003689699.tif 000005
【図５】
0003689699.tif 000006
【図６】
0003689699.tif 000007
【図７】
0003689699.tif 000008
【図８】
0003689699.tif 000009
【図９】
0003689699.tif 000010