(57)【特許請求の範囲】
【請求項１】
それぞれが異なる転送速度を有する、データを転送するための複数のデータ転送手段と、
前記データを分割する分割手段と、
前記分割手段が前記分割したデータを前記データ転送手段の少なくとも２つに出力させる出力制御手段とを有し、
前記分割手段は、前記データを出力する前記少なくとも２つのデータ転送手段の転送速度の比に応じて、前記データを分割することを特徴とするデータ処理装置。
【請求項２】
前記分割手段は、データをページ単位で分割することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記分割手段は、データを所定のサイズで分割することを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記分割手段は、ページ単位で分割したデータの各々にページ識別情報を付加することを特徴とする請求項２に記載のデータ処理装置。
【請求項５】
前記データ転送手段は、パラレルインターフェース、ＵＳＢ、ＩＥＥＥ１３９４、ＲＳ−２３２Ｃのいずれかの規格に従うデータ転送手段であることを特徴とする請求項１から４までのいずれか１つに記載のデータ処理装置。
【請求項６】
請求項１から５までのいずれか１つに記載のデータ処理装置と、
当該データ処理装置と前記複数のデータ転送手段により接続され、前記データ転送手段により入力された前記分割されたデータを合成する合成手段と、前記合成したデータを印刷する印刷手段とを有する印刷装置と、
からなる印刷システム。
【請求項７】
データを分割し、
前記分割したデータを、それぞれが異なる転送速度を有する、少なくとも２つのデータ転送手段に出力させ、データを転送するデータ処理方法であって、
前記データを分割するステップにおいて、前記データを出力する前記少なくとも２つのデータ転送手段の転送速度の比に応じて、前記データを分割する
ことを特徴とするデータ処理方法。
【請求項８】
前記データを分割するステップにおいて、前記データをページ単位で分割することを特徴とする請求項７に記載のデータ処理方法。
【請求項９】
前記データを分割するステップにおいて、前記データを所定のサイズで分割することを特徴とする請求項７に記載のデータ処理方法。
【請求項１０】
前記データを分割するステップにおいて、ページ単位で分割したデータの各々にページ識別情報を付加することを特徴とする請求項８に記載のデータ処理方法。
【請求項１１】
データを分割する手順と、
前記分割したデータを、それぞれが異なる転送速度を有する、少なくとも２つのデータ転送手段に出力させる手順と、
データを転送する手順をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記データを分割する手順において、前記データを出力する前記少なくとも２つのデータ転送手段の転送速度の比に応じて、前記データを分割する
ことを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１２】
前記データを分割する手順において、前記データをページ単位で分割することを特徴とする請求項１１に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１３】
前記データを分割する手順において、前記データを所定のサイズで分割することを特徴とする請求項１１に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１４】
前記データを分割する手順において、ページ単位で分割したデータの各々にページ識別情報を付加することを特徴とする請求項１２に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のデータ転送手段により接続された装置間におけるデータの転送技術に関するものであり、より詳細には、複数のデータ転送手段により接続されたホストと印刷装置間におけるプリントデータの転送技術に関するものである。
【０００２】
【従来の技術】
近年、高速なＩ／Ｆ等のデータ転送手段が登場し、印刷装置も複数のＩ／Ｆを標準で装備するようになっている。従来のホストから印刷装置へのプリントデータの転送は、ホストと印刷装置がインターフェース（以下、Ｉ／Ｆとよぶ）等の複数のデータ転送手段で接続されていても、そのうちの１つのデータ転送手段を選択して転送を行っている。
【０００３】
【発明が解決しようとする課題】
高速なＩ／Ｆ等のデータ転送手段により、データ転送が速くなっているものの、プリントデータ量は、印刷装置の高解像度化、カラー化に伴って増大しており、さらなるデータ転送の高速化が要望されている。
【０００４】
本発明は、上記要望を応えるためになされたものであり、ホストから印刷装置へ１つのプリントデータを転送するために、複数のデータ転送手段を用いて転送することにより、データ転送時間を短縮するデータ処理装置と印刷装置とを含む印刷システム、データ処理方法、および印刷方法を提供する。ここで、データ転送時間とは、データ送信装置からデータ受信装置までデータ転送手段によってデータが転送されるのにかかる時間のことである。
【０００５】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るデータ処理装置は、それぞれが異なる転送速度を有する、データを転送するための複数のデータ転送手段と、前記データを分割する分割手段と、前記分割したデータを前記データ転送手段の少なくとも２つに出力させる出力制御手段とを有し、前記分割手段は、前記データを出力する前記少なくとも２つのデータ転送手段の転送速度の比に応じて、前記データを分割することを特徴とするものである。
【０００６】
ここで、分割手段は、データをページ単位で分割してもよいし、データを所定のサイズで分割してもよいし、データをページ単位で分割し、分割したデータの各々にページ識別情報を付加してもよい。  
【０００７】
また、データ転送手段は、パラレルインターフェース、ＵＳＢ、ＩＥＥＥ１３９４、ＲＳ−２３２Ｃのいずれかの規格に従うデータ転送手段であってもよい。パラレルインターフェースとは、例えば、セントロニクスインターフェースやＩＥＥＥ１２８４をいう。
【００１０】
本発明に係る印刷システムは、上記データ処理装置と、当該データ処理装置と前記複数のデータ転送手段により接続され、前記データ転送手段により入力された前記分割されたデータを合成する合成手段と、前記合成したデータを印刷する印刷手段とを有する印刷装置と、からなることを特徴とするものである。
【００１２】
本発明に係るデータ処理方法は、データを分割し、前記分割したデータを、それぞれが異なる転送速度を有する、少なくとも２つのデータ転送手段を使って出力させ、データを転送するデータ処理方法であって、前記データを分割するステップにおいて、前記データを出力する前記少なくとも２つのデータ転送手段の転送速度の比に応じて、前記データを分割することを特徴とするものである。
ここで、前記データを分割するステップにおいては、データをページ単位で分割してもよいし、データを所定のサイズで分割してもよいし、データをページ単位で分割し、分割したデータの各々にページ識別情報を付加してもよい。
【００１４】
本発明に係る記録媒体は、データを分割する手順と、前記分割したデータを、それぞれが異なる転送速度を有する、少なくとも２つの前記データ転送手段を使って出力させる手順と、データを転送する手順とをコンピュータに実行させるプログラムためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記データを分割する手順において、前記データを出力する前記少なくとも２つのデータ転送手段の転送速度の比に応じて、前記データを分割することを特徴とするものである。
ここで、前記データを分割する手順においては、データをページ単位で分割してもよいし、データを所定のサイズで分割してもよいし、データをページ単位で分割し、分割したデータの各々にページ識別情報を付加してもよい。
【００１６】
【発明の実施の形態】
（印刷システムの構成）
本発明の印刷システムについて図面を用いて説明する。
図１は、データ処理装置と印刷装置とを備える印刷システムの概略構成図である。データ処理装置１９は、例えばＰＣ（パーソナルコンピュータ）等のコンピュータである。データ処理装置１９は、Ｉ／Ｏ制御部４、５、６、７と、ＣＰＵ１と、ＲＡＭ２と、ＲＯＭ３とで構成されている。ＣＰＵ１には、データ処理装置１９を制御するプログラムが格納されているＲＯＭ３と、ＣＰＵ１が制御のために実行するプログラムやプリントデータを一時的に格納するＲＡＭ２と、プリントデータの入出力制御を行うＩ／Ｏ制御部４、５、６、７とが接続されている。印刷装置２０は、Ｉ／Ｏ制御部８、９、１０、１１と、ＣＰＵ１４と、ＲＡＭ１３と、ＲＯＭ１２と、印刷部１５とで構成されている。データ処理装置１９と同様に、印刷装置２０においても、ＣＰＵ１４には、印刷装置２０を制御するプログラムが格納されているＲＯＭ１２と、ＣＰＵ１４が制御のために実行するプログラムやプリントデータを一時的に格納するＲＡＭ１３と、プリントデータの入出力制御を行うＩ／Ｏ制御部８、９、１０、１１とが接続されている。データ処理装置１９と印刷装置２０との間は、複数のデータ転送手段（パラレルインターフェース、ＵＳＢ、ＩＥＥＥ１３９４、ＲＳ−２３２Ｃ等）で接続されている。
なお、プリントデータとは、印刷するためのデータであり、文字であっても画像であってもよい。また、データ処理装置１９、印刷装置２０のそれぞれは、データ処理装置１９と印刷装置２０を接続するデータ転送手段の数だけＩ／Ｏ制御部を備える必要がある。
【００１７】
また、本実施の形態の印刷システムでは、プリントデータ処理を実行するプログラムをＲＯＭ３に、印刷処理を実行するプログラムをＲＯＭ１２にそれぞれ格納する。しかし、本プログラムの一部または全部をフロッピーディスクやハードディスク装置やＣＤ−ＲＯＭ等の情報記録媒体（図示せず）に格納しておき、必要に応じて情報記録媒体よりプログラムおよびデータをＲＡＭ２、１３に読み出し、これを実行させてもよい。なお、本実施の形態の印刷システムにおいて、ＣＰＵ１、１４はユーザの操作に従い各処理を順次実行していく。
【００１８】
以下、本印刷システムにおけるデータ処理装置１９と印刷装置２０との間のデータ転送について、３つの方法について説明する。第１は、データをページ単位で分割して転送する方法であり、第２は、データを所定のサイズで分割して転送する方法であり、第３は、データをページ単位で分割し、それぞれにページ識別情報を付加して転送する方法である。さらに、第３の方法の変形例として、データを印刷用紙単位で分割し、それぞれに印刷用紙識別情報を付加して転送する方法がある。なお、データ転送手段として、パラレルインターフェース、ＵＳＢ、ＩＥＥＥ１３９４、ＲＳ−２３２Ｃ等さまざまなものが考えられるが、データ転送手段は、データ処理装置１９から印刷装置２０にデータを転送できるものであれば、どんなものでも可能である。データ処理装置１９と印刷装置２０とをＬＡＮ等のネットワークで接続してもよい。ここでは、データ転送手段がＵＳＢ、ＩＥＥＥ１３９４の２種類の場合について説明する。これは、単に説明を簡単にするためであり、データ転送手段がＵＳＢ、ＩＥＥＥ１３９４のみに限定されるわけではない。
【００１９】
なお、プリントデータのページ数が少ないために、プリントデータを分割してＩＥＥＥ１３９４とＵＳＢの２つのデータ転送手段でデータ転送するより、比較的転送速度の速いＩＥＥＥ１３９４のみを用いてデータ転送する方が速い場合がある。その場合は、当然プリントデータを分割するのではなく、最も転送速度の速いデータ転送手段（ここでは、ＩＥＥＥ１３９４）のみを用いて転送する。ここでは、プリントデータのページ数がある程度多いため、プリントデータを分割して複数のデータ転送手段を用いて転送する場合が、プリントデータを分割せずに１つのデータ転送手段を用いて転送する場合よりデータ転送時間が短くなるものとして説明を進める。
【００２０】
（第１の方法）
まず、データ処理装置１９のＣＰＵ１の動作を説明する。
図２は、データ処理装置１９のＣＰＵ１が実行するプリントデータ処理プログラムのフローチャートである。プログラムが起動すると、まず、初期設定処理を行い、例えばＮ＝１にする（ステップＳ２１）。次に、プリントデータがあるか否か判断する（ステップＳ２２）。プリントデータがあるならば、ステップＳ２３に進み、プリントデータがないならば、データ処理プログラムを終了する。次に、ステップＳ２３において、スプール処理を行う。このスプール処理とは、プリントデータをページ記述言語によって表すことである。
【００２１】
次に、プリントデータをページ単位でｎ分割する（ここではｎ＝２）（ステップＳ２４）。ＩＥＥＥ１３９４には、転送速度が、１００Ｍｂｐｓ、２００Ｍｂｐｓ、４００Ｍｂｐｓ等のものがあり、ＵＳＢには、転送速度が、１．５Ｍｂｐｓ、１２Ｍｂｐｓ等のものがあるが、ここでは、ＩＥＥＥ１３９４の転送速度が１００Ｍｂｐｓ、ＵＳＢの転送速度が１２Ｍｂｐｓであるとする。したがって、ＩＥＥＥ１３９４とＵＳＢの転送速度の比は、２５：３である。プリントデータを分割する際、できるだけこの比に近いことが好ましい。例えば、全部２８ページのプリントデータであるならば、２５ページと３ページに分割する。
【００２２】
ここで、転送速度が速い順に第１データ転送手段、第２データ転送手段とする。また、分割したプリントデータのヘッダにページが多い順に優先順位を示すデータと全ページ数を示すデータを付ける。優先順位が高いデータとは、例えばページ番号が小さいデータのことである。
【００２３】
次に、使用する第Ｎデータ転送手段のＮとプリントデータの分割数ｎを比較し、Ｎ≦ｎであるか否か判断する（ステップＳ２５）。Ｎ≦ｎであるならば、ステップＳ２６に進み、Ｎ≦ｎでないならば、プリントデータ処理プログラムを終了する。ステップＳ２６において、転送がまだ終わっていない最も優先順位の高いプリントデータを、Ｉ／Ｏ制御部４、５のいずれかに出力する。このとき、転送速度が最も速い使用していない第Ｎデータ転送手段を使用することができるようにＩ／Ｏ制御部４、５のいずれかに出力する。その後、Ｉ／Ｏ制御部４（または５）は、第Ｎデータ転送手段を用いて印刷装置２０にプリントデータを転送する。次に、Ｎ＝Ｎ＋１とし（ステップＳ２７）、ステップＳ２５に戻る。ステップＳ２５において、Ｎ≦ｎを満たさなくなるまで、ステップＳ２６とステップＳ２７を繰り返し、プリントデータ処理のプログラムの実行を終了する。
【００２４】
次に、印刷装置２０のＩ／Ｏ制御部８、９、１０、１１の動作について説明する。図３の（ａ）は、Ｉ／Ｏ制御部８が実行するプログラムを示すフローチャートである。プログラムが起動すると、まず、Ｉ／Ｏ制御部８は、プリントデータがデータ処理装置１９から転送されているか否か判断する（ステップＳ３１）。プリントデータが転送されているならば、ステップＳ３２に進み、プリントデータが転送されていないならば、ステップＳ３１において、プリントデータが転送されるまで待つ。ステップＳ３２において、プリントデータをＲＡＭ１３の第１バッファ１６（図４）に格納する。このとき、ページ記述言語で表されたプリントデータを画像データとして第１バッファ１６に格納してもよい。図４に示されているように、ＲＡＭ１３において、第１バッファ１６と第２バッファ１７は別々の領域である。
【００２５】
次に、第１バッファ１６にプリントデータが全て格納されたか否か判断する（ステップＳ３３）。これは、プリントデータが非常に大きなデータであるために、第１バッファ１６に全て格納されない場合があるためである。第１バッファ１６にプリントデータが全て格納されたならば、ステップＳ３４に進み、第１バッファ１６にプリントデータが全て格納されたわけではないならば、ステップＳ３２に戻る。第１バッファ１６内のプリントデータを印刷するときに、プリントデータが第１バッファ１６から出力されるので、第１バッファ１６に空きができ、ステップＳ３２において、第１バッファ１６にプリントデータを格納できるようになる。
【００２６】
次に、ステップＳ３４において、プリントデータのヘッダを参照し、プリントデータのうち、分割された１まとまりのデータの全ページが転送され、第１バッファ１６に格納されたか否か、つまりジョブが終了か否か判断する。ジョブが終了でないならば、ステップＳ３１に戻り、残りのプリントデータを処理する。ジョブが終了ならば、ジョブ終了を示す第１フラグをセットして、プログラムの実行を終了する。
【００２７】
図３の（ｂ）は、Ｉ／Ｏ制御部９が実行するプログラムを示すフローチャートである。プログラムが起動すると、まず、Ｉ／Ｏ制御部９は、プリントデータがデータ処理装置１９から転送されているか否か判断する（ステップＳ４１）。プリントデータが転送されているならば、ステップＳ４２に進み、プリントデータが転送されていないならば、ステップＳ４１において、プリントデータが転送されるまで待つ。ステップＳ４２において、プリントデータをＲＡＭ１３の第２バッファ１７（図４）に格納する。このとき、ページ記述言語で表されたプリントデータを画像データとして第２バッファ１７に格納してもよい。
【００２８】
次に、第２バッファ１７にプリントデータが全て格納されたか否か判断する（ステップＳ４３）。これは、プリントデータが非常に大きなデータであるために、第２バッファ１７に全て格納されない場合があるためである。第２バッファ１７にプリントデータが全て格納されたならば、ステップＳ４４に進み、第２バッファ１７にプリントデータが全て格納されたわけではないならば、ステップＳ４１に戻る。第２バッファ１７内のプリントデータを印刷するときに、プリントデータが第２バッファ１７から出力されるので、第２バッファ１７に空きができ、ステップＳ４２において、第２バッファ１７に残りのプリントデータを格納できるようになる。
【００２９】
次に、ステップＳ４４において、プリントデータのヘッダを参照し、プリントデータのうち、分割された１まとまりのデータの全ページが転送され、第２バッファ１７に格納されたか否か、つまりジョブが終了か否か判断する。ジョブが終了でないならば、ステップＳ４１に戻り、残りのプリントデータを処理する。ジョブが終了ならば、ジョブ終了を示す第２フラグをセットして、プログラムの実行を終了する。
【００３０】
次に、印刷装置２０のＣＰＵ１４の動作を説明する。図５は、印刷装置２０のＣＰＵ１４が実行するプログラムを示すフローチャートである。プログラムが起動すると、まず第１バッファ１６にプリントデータがあるか否か判断する（ステップＳ５１）。第１バッファ１６にプリントデータがないならば、プリントデータが格納されるまで待つ。第１バッファ１６にプリントデータがあるならば、印刷部１５を制御してプリントデータを印刷する（ステップＳ５２）。次に、第１フラグが立っているか否か判断する（ステップＳ５３）。第１フラグが立っていないならば、ステップＳ５１に戻り、第１フラグが立っているならば、第２バッファ１７にプリントデータがあるか否か判断する（ステップＳ５４）。第２バッファ１７にプリントデータがないならば、ステップＳ５１に戻る。第２バッファ１７にプリントデータがあるならば、印刷部１５を制御してプリントデータを印刷する（ステップＳ５５）。次に、第２フラグが立っているか否か判断する（ステップＳ５６）。第２フラグが立っていないならば、ステップＳ５４に戻り、第２フラグが立っているならば、第１フラグ、第２フラグをリセットし（ステップＳ５７）、プログラムの実行を終了する。
【００３１】
以上のことから、第１の方法を用いる印刷システムは、データ処理装置１９から印刷装置２０へ、使用可能なデータ転送手段を複数同時に使用しデータを分割して転送を行うことから、データ転送時間を短縮することができる。
【００３２】
（第２の方法）
まず、データ処理装置１９のＣＰＵ１の動作を説明する。図６は、データ処理装置１９のＣＰＵ１が実行するデータ処理プログラムのフローチャートである。プログラムが起動すると、まず、初期設定処理を行い、例えばＮ＝１にする（ステップＳ６１）。次に、プリントデータがあるか否か判断する（ステップＳ６２）。プリントデータがあるならば、ステップＳ６３に進み、プリントデータがないならば、データ処理のプログラムの実行を終了する。次に、ステップＳ６３において、スプール処理を行う。このスプール処理とは、プリントデータをページ記述言語によって表すことである。
【００３３】
次に、プリントデータを適当なサイズでｎ分割する（ここではｎ＝２）（ステップＳ６４）。ここでは、ＩＥＥＥ１３９４の転送速度が１００Ｍｂｐｓ、ＵＳＢの転送速度が１２Ｍｂｐｓであるとする。したがって、ＩＥＥＥ１３９４とＵＳＢの転送速度の比は、２５：３である。プリントデータを分割する際、できるだけこの比に近いことが好ましい。例えば、全部で２８行のプリントデータであるならば、２５行と３行に分割する。ここで、転送速度が速い順に第１データ転送手段、第２データ転送手段とする。また、分割したプリントデータのヘッダにデータ量が多い順に優先順位を示すデータと全ページ数を示すデータを付ける。優先順位が高いデータとは、例えばページ番号が小さいデータのことである。
【００３４】
次に、使用する第Ｎデータ転送手段のＮとプリントデータの分割数ｎを比較し、Ｎ≦ｎであるか否か判断する（ステップＳ６５）。Ｎ≦ｎであるならば、ステップＳ６６に進み、Ｎ≦ｎでないならば、プリントデータ処理のプログラムを終了する。ステップＳ６６において、転送がまだ終わっていない最も優先順位の高いデータを、Ｉ／Ｏ制御部４、５のいずれかに出力する。このとき、転送速度が最も速い使用していない第Ｎデータ転送手段を使用することができるようにＩ／Ｏ制御部４、５のいずれかに出力する。その後、Ｉ／Ｏ制御部４（または５）は、第Ｎデータ転送手段を用いて印刷装置２０に転送する。次に、Ｎ＝Ｎ＋１とし（ステップＳ６７）、ステップＳ６５に戻る。ステップＳ６５において、Ｎ≦ｎを満たさなくなるまで、ステップＳ６６とステップＳ６７を繰り返し、プリントデータ処理のプログラムの実行を終了する。
【００３５】
次に、印刷装置２０のＩ／Ｏ制御部８、９、１０、１１の動作は、第１の方法と同一であるので、重複を避けるために説明を省略する。
【００３６】
次に、印刷装置２０のＣＰＵ１４の動作を説明する。図７は、ＲＡＭ領域を示す概略図である。ＲＡＭ１３において、第１バッファ１６、第２バッファ１７、ページバッファ１８に分けられている。第１バッファ１６には、第１転送手段により転送されたプリントデータが格納され、第２バッファ１７には、第２転送手段により転送されたプリントデータが格納される。
【００３７】
図８は、印刷装置２０のＣＰＵ１４が実行するプログラムのメインルーチンを示すフローチャートである。プログラムが起動すると、Ｍ＝１とする初期設定処理を行う（ステップＳ７１）。次に、第１バッファ１６にプリントデータがあるか否か判断する（ステップＳ７２）。第１バッファ１６にプリントデータがないならば、プリントデータが格納されるまで待つ。第１バッファ１６にプリントデータがあるならば、中間データ処理を行う（ステップＳ７３）。次に、第１フラグが立っているか否か判断する（ステップＳ７４）。第１フラグが立っていないならば、ステップＳ７１に戻り、第１フラグが立っているならば、第２バッファ１７にプリントデータがあるか否か判断する（ステップＳ７５）。第２バッファ１７にプリントデータがないならば、第２バッファ１７にプリントデータが格納されるまで待つ。第２バッファ１７にプリントデータがあるならば、中間データ処理を行う（ステップＳ７６）。これらの中間データ処理（ステップＳ７３、Ｓ７６）については後に詳細に説明する。次に、第２フラグが立っているか否か判断する（ステップＳ７７）。第２フラグが立っていないならば、ステップＳ７５に戻り、第２フラグが立っているならば、第１フラグ、第２フラグをリセットし（ステップＳ７８）、プログラムの実行を終了する。
【００３８】
ここで、中間データ処理（ステップＳ７３、Ｓ７６）について説明する。図９は、印刷装置２０のＣＰＵ１４が実行するプログラムのサブルーチンを示すフローチャートである。まず、第１バッファ１６（または第２バッファ１７）にあるプリントデータをページバッファ１８に格納する（ステップＳ８１）。このとき、ページバッファ１８に以前に格納された完全な１ページでないプリントデータと新たに格納する完全な１ページでないプリントデータとを合成して完全な１ページのプリントデータを作成する。このとき、ページ記述言語で表されたプリントデータを画像データとしてページバッファ１８に格納してもよい。次に、Ｍページのプリントデータが完全な１ページ分のプリントデータであるか否か判断する（ステップＳ８２）。完全な１ページ分のプリントデータでないならば、図８のステップＳ７３、またはステップＳ７６に戻る。完全な１ページ分のプリントデータであるならば、印刷部１５を制御して、Ｍページを印刷する（ステップＳ８３）。次に、Ｍ＝Ｍ＋１とし（ステップＳ８４）、ステップＳ８２に戻る。
【００３９】
以上のことから、第２の方法を用いる印刷システムは、プリントデータを複数個に分割し、データ処理装置１９から印刷装置２０へ、使用可能なデータ転送手段を複数同時に使用しデータ転送を行うことから、データ量が少ない場合でもデータ転送時間を短縮することができる。
【００４０】
（第３の方法）
まず、データ処理装置のＣＰＵの動作を説明する。図１０は、データ処理装置１９のＣＰＵ１が実行するプリントデータ処理プログラムのフローチャートである。プログラムが起動すると、まず、初期設定処理を行い、例えばＬ＝１にする（ステップＳ９１）。次に、ＲＡＭ２内に印刷すべきプリントデータが格納されているか否か判断する（ステップＳ９２）。プリントデータがあるならば、ステップＳ９３に進み、プリントデータがないならば、プリントデータ処理のプログラムの実行を終了する。次に、ステップＳ９３において、スプール処理を行う。このスプール処理とは、プリントデータをページ記述言語によって表すことである。
【００４１】
次に、プリントデータをページ単位で分割する（ステップＳ９４）。例えば、プリントデータが全部でＸページであるならば、Ｘ分割する（Ｘ≧１）。また、分割したプリントデータのヘッダにページ数と全ページ数を示すヘッダを付ける（ステップＳ９５）。次に、転送がまだ終わっていないもっともページ番号の小さいＬページ目のプリントデータを、Ｉ／Ｏ制御部４、５、６、７のいずれかに出力する（ステップＳ９６）。このとき、転送速度が最も速い使用していないデータ転送手段を使用することができるようにＩ／Ｏ制御部４、５、６、７のいずれかに出力する。その後、Ｉ／Ｏ制御部４、５、６、７は、データ転送手段を用いて印刷装置２０に転送する。次に、Ｌ＝Ｘであるか否か判断する（ステップＳ９７）。Ｌ＝Ｘであるならば、プリントデータ処理のプログラムの実行を終了する。Ｌ＝Ｘでないならば、Ｌ＝Ｌ＋１とし（ステップＳ９８）、ステップＳ９６に戻る。
【００４２】
なお、ステップＳ９４において、プリントデータをページ単位でＸ分割するのではなく、印刷用紙単位でＸ分割し、それぞれ１ページのプリントデータに縮小してもよい。印刷用紙単位とは、ｎページのプリントデータを１／ｎに縮小して１ページのプリントデータとして印刷する場合、ｎページ分のプリントデータのことをいう。ｎの値として１、２、４、８、１６が好ましいが、これらに限定されない。さらに、ステップＳ９５において、分割したデータの各々のヘッダに印刷用紙単位におけるページ数と全ページ数を示すヘッダを付ける。このように、ステップＳ９４とステップＳ９５を変更することによって、ｎ枚のページを１枚の印刷用紙に印刷できるように、データ転送することが可能になる。
【００４３】
次に、印刷装置２０のＩ／Ｏ制御部８、９、１０、１１の動作について説明する。図１１の（ａ）は、Ｉ／Ｏ制御部８が実行するプログラムを示すフローチャートである。プログラムが起動すると、まず、Ｉ／Ｏ制御部８は、プリントデータがデータ処理装置１９から転送されているか否か判断する（ステップＳ１０１）。プリントデータが転送されているならば、ステップＳ１０２に進み、プリントデータが転送されていないならば、ステップＳ１０１において、プリントデータが転送されるまで待つ。ステップＳ１０２において、プリントデータをＲＡＭ１３（図１２）に格納する。
【００４４】
次に、ＲＡＭ１３にプリントデータが全て格納されたか否か判断する（ステップＳ１０３）。これは、プリントデータが非常に大きなデータであるために、ＲＡＭ１３に全て格納されない場合があるためである。ＲＡＭ１３にプリントデータが全て格納されたならば、ステップＳ１０４に進み、ＲＡＭ１３にプリントデータが全て格納されたわけでないならば、ステップＳ１０２に戻る。ＲＡＭ１３内のプリントデータを印刷するときに、プリントデータがＲＡＭ１３から出力されるので、ＲＡＭ１３に空きができ、ステップＳ１０２において、ＲＡＭ１３にプリントデータを格納できるようになる。
【００４５】
次に、ステップＳ１０４において、プリントデータのヘッダを参照し、プリントデータの全ページが転送され、ＲＡＭ１３に格納されたか否か、つまりジョブが終了か否か判断する。ジョブが終了でないならば、ステップＳ１０１に戻り、残りのプリントデータを処理する。ジョブが終了ならば、ジョブ終了を示す第１フラグをセットして（ステップＳ１０５）、プログラムの実行を終了する。
【００４６】
図１１の（ｂ）は、Ｉ／Ｏ制御部９が実行するプログラムを示すフローチャートである。プログラムが起動すると、まず、Ｉ／Ｏ制御部９は、プリントデータがデータ処理装置１９から転送されているか否か判断する（ステップＳ１１１）。プリントデータが転送されているならば、ステップＳ１１２に進み、プリントデータが転送されていないならば、ステップＳ１１１において、プリントデータが転送されるまで待つ。ステップＳ１１２において、プリントデータをＲＡＭ１３（図１２）に格納する。
【００４７】
次に、ＲＡＭ１３にプリントデータが全て格納されたか否か判断する（ステップＳ１１３）。これは、プリントデータが非常に大きなデータであるために、ＲＡＭ１３に全て格納されない場合があるためである。ＲＡＭ１３にプリントデータが全て格納されたならば、ステップＳ１１４に進み、ＲＡＭ１３にプリントデータが全て格納されたわけでないならば、ステップＳ１１２に戻る。ＲＡＭ１３内のプリントデータを印刷するときに、プリントデータがＲＡＭ１３から出力されるので、ＲＡＭ１３に空きができ、ステップＳ１１２において、ＲＡＭ１３にプリントデータを格納できるようになる。
【００４８】
次に、ステップＳ１１４において、プリントデータのヘッダを参照し、プリントデータの全ページが転送され、ＲＡＭ１３に格納されたか否か、つまりジョブが終了か否か判断する。ジョブが終了でないならば、ステップＳ１１１に戻り、残りのプリントデータを処理する。ジョブが終了ならば、ジョブ終了を示す第２フラグをセットして（ステップＳ１１５）、プログラムの実行を終了する。
【００４９】
次に、印刷装置２０のＣＰＵ１４の動作を説明する。図１３は、印刷装置２０のＣＰＵ１４が実行するプログラムを示すフローチャートである。プログラムが起動すると、まず、ＲＡＭ１３にプリントデータがあるか否か判断する（ステップＳ１２１）。プリントデータがないならば、ＲＡＭ１３にプリントデータが格納されるまで待つ。プリントデータがあるならば、ヘッダのページ番号を確認し、最もページ番号の小さいプリントデータから順番に、ＲＡＭ１３から読み出す（ステップＳ１２２）。次に、印刷部１５を制御し、読み出したプリントデータを印刷する（ステップＳ１２３）。次に、印刷されたプリントデータのヘッダから、全てのプリントデータが印刷されたか否か判断する（ステップＳ１２４）。全てのプリントデータが印刷されていないならば、ステップＳ１２１に戻り、全てのプリントデータが印刷されたならば、第１フラグが立っているか否か判断する（ステップＳ１２５）。第１フラグが立っていないならば、ステップＳ１２１に戻り、第１フラグが立っているならば、ステップＳ１２６に進む。ステップＳ１２６において、第２フラグが立っているか否か判断する。第２フラグが立っていないならば、ステップＳ１２１に戻り、第２フラグが立っているならば、第１フラグ、第２フラグをリセットして（ステップＳ１２７）、プログラムの実行を終了する。
【００５０】
以上のことから、第３の方法を用いる印刷システムは、プリントデータをページ単位で複数個に分割し、データ処理装置１９から印刷装置２０へ、使用可能なデータ転送手段を複数同時に使用しデータ転送を行うことから、データ転送時間を短縮することができる。
【００５１】
なお、本実施の形態において、データ処理装置１９から印刷装置２０へのデータ転送について記載しているが、本発明はこれに限定されるわけではなく、複数のデータ転送手段を使うことによって、例えばＰＣ間のデータ転送であっても、データ転送時間を短縮することができる。また、２つのデータ転送手段（ＵＳＢ、ＩＥＥＥ１３９４）を用いる例として説明したが、例えばパラレルインタフェース、ＲＳ−２３２Ｃ等の他のデータ転送手段を用いてもよい。さらに、３つ以上のデータ転送手段を用いて、分割されたプリントデータをデータ転送してもよい。
【００５２】
【発明の効果】
複数のデータ転送手段を用いることによってデータ転送時間を短縮できる。
【図面の簡単な説明】
【図１】  データ処理装置と印刷装置とを備える印刷システムの概略構成図。
【図２】  プリントデータ処理プログラムを示すフローチャート。
【図３】  印刷装置のＩ／Ｏ制御部が実行するプログラムを示すフローチャート。
【図４】  ＲＡＭ領域を示す概略図。
【図５】  印刷装置のＣＰＵが実行するプログラムを示すフローチャートである。
【図６】  プリントデータ処理プログラムのフローチャート。
【図７】  ＲＡＭ領域を示す概略図。
【図８】  印刷装置のＣＰＵが実行するプログラムのメインルーチンを示すフローチャートである。
【図９】  印刷装置のＣＰＵが実行するプログラムのサブルーチンを示すフローチャート。
【図１０】  プリントデータ処理プログラムを示すフローチャート。
【図１１】  印刷装置のＩ／Ｏ制御部が実行するプログラムを示すフローチャート。
【図１２】  ＲＡＭ領域を示す概略図。
【図１３】  印刷装置のＣＰＵが実行するプログラムを示すフローチャート。
【符号の説明】
１、１４…ＣＰＵ
２、１３…ＲＡＭ
３、１２…ＲＯＭ
４、５、６、７、８、９、１０、１１…Ｉ／Ｏ制御部
１５…印刷部
１６…第１バッファ
１７…第２バッファ
１８…ページバッファ
１９…データ処理装置
２０…印刷装置
【図１】
0004254032.tif 000002
【図２】
0004254032.tif 000003
【図３】
0004254032.tif 000004
【図４】
0004254032.tif 000005
【図５】
0004254032.tif 000006
【図６】
0004254032.tif 000007
【図７】
0004254032.tif 000008
【図８】
0004254032.tif 000009
【図９】
0004254032.tif 000010
【図１０】
0004254032.tif 000011
【図１１】
0004254032.tif 000012
【図１２】
0004254032.tif 000013
【図１３】
0004254032.tif 000014