(57)【要約】【課題】少ない容量の中で複雑な印刷データを印刷処理できるようにするとともに、プリンタコントローラの機能処理負担を軽減することである。【解決手段】ＰＣ１のプリンタドライバを介して受信バッファ６の情報をプリンタコントローラ３より取得し、取得した受信バッファ６の情報に基づいて、受信バッファ６に対するパケットデータの書き込みを管理し、受信バッフ６に書き込まれたパケットデータのダブルバッファへの転送を管理する構成を特徴とする。【選択図】        図６
2005018495.tif 000002
【特許請求の範囲】
【請求項１】
色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられるダブルバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置であって、
前記受信バッファの情報を前記プリンタコントローラより取得し、取得した前記受信バッファの情報に基づいて、前記受信バッファに対するパケットデータの書き込みを管理し、前記受信バッファに書き込まれたパケットデータの前記ダブルバッファへの転送を管理する制御手段を備えることを特徴とするデータ処理装置。
【請求項２】
前記パケットデータは、前記受信バッファに書き込むための指定アドレスが付加されていることを特徴とする請求項１記載のデータ処理装置。
【請求項３】
印刷データを各色毎に圧縮し、任意のデータサイズに分割し、前記受信バッファへの書き込みアドレスとデータサイズを付加し、１つのパケットデータを作成して、該パケットデータを前記受信バッファへ転送する転送手段を備えることを特徴とする請求項１記載のデータ処理装置。
【請求項４】
前記プリンタコントローラは、複数のドラムから構成されるエンジン部を備え、
前記転送手段は、印刷する用紙の搬送方向の長さをＬ、各ドラムの中心間隔をＤとし、Ｌ≦Ｄ／２を満足するどうかに基づいて、各色別のパケットデータの転送タイミングを異ならしめることを特徴とする請求項３記載のデータ処理装置。
【請求項５】
前記制御手段は、前記ダブルバッファに空きがあるかどうかの判定結果に基づいて、前記受信バッファに書き込まれたパケットデータの前記ダブルバッファへの転送を管理することを特徴とする請求項１乃至４のいずれかに記載のデータ処理装置。
【請求項６】
色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられるダブルバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置における印刷制御方法であって、
前記受信バッファの情報を前記プリンタコントローラより取得し、取得した前記受信バッファの情報に基づいて、前記受信バッファに対するパケットデータの書き込みを管理し、前記受信バッファに書き込まれたパケットデータの前記ダブルバッファへの転送を管理することを特徴とする印刷制御方法。
【請求項７】
前記パケットデータは、前記受信バッファに書き込むための指定アドレスが付加されていることを特徴とする請求項６記載の印刷制御方法。
【請求項８】
印刷データを各色毎に圧縮し、任意のデータサイズに分割し、前記受信バッファへの書き込みアドレスとデータサイズを付加し、１つのパケットデータを作成して、該パケットデータを前記受信バッファへ転送する転送ステップを備えることを特徴とする請求項６記載の印刷制御方法。
【請求項９】
前記転送ステップは、前記パケットデータのサイズを任意の固定したサイズとすることを特徴とする請求項８記載の印刷制御方法。
【請求項１０】
各色毎のパケットデータは、１〜Ｎの任意数のパケットデータに分割して転送可能とすることを特徴とする請求項６記載の印刷制御方法。
【請求項１１】
前記プリンタコントローラは、複数のドラムから構成されるエンジン部を備え、
前記転送ステップは、印刷する用紙の搬送方向の長さをＬ、各ドラムの中心間隔をＤとし、Ｌ≦Ｄ／２を満足するどうかに基づいて、各色別のパケットデータの転送タイミングを異ならしめることを特徴とする請求項８または９記載の印刷制御方法。
【請求項１２】
前記ダブルバッファに空きがあるかどうかの判定結果に基づいて、前記受信バッファに書き込まれたパケットデータの前記ダブルバッファへの転送を管理することを特徴とする請求項６記載の印刷制御方法。
【請求項１３】
前記転送ステップは、各色のパケットデータにパケットデータの終端を示す情報を付加して転送することを特徴とする請求項８記載の印刷制御方法。
【請求項１４】
色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられる第２のバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置であって、
前記第２のバッファの空き情報を前記プリンタコントローラより取得する取得手段と、
前記受信バッファに対するパケットデータの書き込みを制御し、前記取得手段により取得された空き情報に基づいて、前記受信バッファに書き込まれたパケットデータの前記第２のバッファへの転送を制御する制御手段を備えることを特徴とするデータ処理装置。
【請求項１５】
色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられる第２のバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置における印刷制御方法であって、
前記第２のバッファの空き情報を前記プリンタコントローラより取得する取得ステップと、
前記受信バッファに対するパケットデータの書き込みを制御する第１の制御ステップと、
前記取得ステップで取得された空き情報に基づいて、前記受信バッファに書き込まれたパケットデータの前記第２のバッファへの転送を制御する第２の制御ステップとを備えることを特徴とする印刷制御方法。
【請求項１６】
請求項６〜１３のいずれかに記載の印刷制御方法を実現するプログラムを記憶したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項１７】
請求項６〜１３のいずれかに記載の印刷制御方法を実現することを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられるダブルバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムに関するものである。
【０００２】
【従来の技術】
従来、カラープリンタには、ホストから印刷データを受信するためにＲＡＭ等により構成される受信バッファを備えている。そして、該受信バッファの管理は、プリンタ装置が備えるプリンタコントローラが行っていた。
【０００３】
また、受信バッファは、ホストから受信する印刷データ中、例えばカラー印刷データであれば、各色毎にパーテションで区切られて管理されており、別の色がパーテションを越えて使用することはできないように管理されていた。
【０００４】
図１４は、従来の４ドラムのプリンタコントローラの一例を示すブロック図である。
【０００５】
図１４において、５０１はホストコンピュータ（ＰＣ）であり、ＣＰＵ５０９がＹ，Ｍ，Ｃ，Ｋの色毎に印刷データの圧縮を行い、Ｙ，Ｍ，Ｃ，Ｋの色毎にプリンタの受信バッファ５０５へ転送して印刷開始を指示する。
【０００６】
制御部５０４は、プリンタコントローラ５０３の全体を制御する部分である。
【０００７】
デコーダ５０６は、１色に１つあり全部で４つある。ＦＩＦＯ５０７は、各デコーダに１つあり全部で４つある。また、このＦＩＦＯ５０７からのデータがＶｉｄｅｏ  Ｉ／Ｆ５０８を介してエンジン部に送られる。
【０００８】
ＰＣ５０１は、印刷データを圧縮しそのデータ（Ｙ，Ｍ，Ｃ，Ｋ）を、プリンタの受信バッファ５０５に転送する。
【０００９】
プリンタは、ＰＣ５０１からのデータを一度受信バッファ５０５に格納し、各色データを各色ごとのデコーダ５０６へ転送し印刷を行う。なお、このようなプリンタ装置として、特許文献１が提案されている。
【００１０】
【特許文献１】
特開２０００−２１１１９６号公報
【００１１】
【発明が解決しようとする課題】
従来、プリンタコントローラの受信バッファの管理は、上述したように、プリンタコントローラ上の制御部（ＡＳＩＣ等）で行っていた。このため、制御部の構造が複雑であった。
【００１２】
また、受信バッファの管理は色毎にパーテションで区切られており、別の色で空きがあっても使用することができなかった。
【００１３】
例えばカラー印刷データの場合、Ｙ，Ｍ，Ｃ，Ｋで圧縮した結果が、各色で同じサイズにならず、圧縮率の高い所は、該受信バッファの対応域に空きが生じたり、反対に、圧縮率の低い所は書き込み領域が残っていない状態となる場合が発生して、受信した印刷データを効率よく管理できなくなる等の問題点があった。
【００１４】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられるダブルバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置において、受信バッファの情報をプリンタコントローラより取得し、取得した受信バッファの情報に基づいて、受信バッファに対するパケットデータの書き込みを管理し、前記受信バッフに書き込まれたパケットデータのダブルバッファへの転送を管理することにより、色別のパケットデータを保持するための受信バッファを色別に設けることなく、単一の受信バッファへのパケットデータの書き込みと読み出しタイミングを適切に制御して、少ない容量の中で複雑な印刷データを印刷処理できるようにするとともに、プリンタコントローラの機能処理負担を軽減するデータ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することである。
【００１５】
また、本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられる第２のバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置において、前記第２のバッファの空き情報を前記プリンタコントローラより取得し、該取得された空き情報に基づいて、前記受信バッファに書き込まれたパケットデータの前記第２のバッファへの転送を制御することにより、色別のパケットデータを保持するための受信バッファを色別に設けることなく、単一の受信バッファへのパケットデータの書き込みと読み出しタイミングを最適化して、少ない容量でも複雑な印刷データを印刷処理できるようにするとともに、プリンタコントローラの機能処理負担を軽減するデータ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することである。
【００１６】
【課題を解決するための手段】
上記目的を達成する本発明のデータ処理装置は以下に示す構成を備える。
【００１７】
本発明は、色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられるダブルバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置であって、前記受信バッファの情報を前記プリンタコントローラより取得し、該取得した前記受信バッファの情報に基づいて、前記受信バッファに対するパケットデータの書き込みを管理し、前記受信バッファに書き込まれたパケットデータの前記ダブルバッファへの転送とを管理することを特徴とする。
【００１８】
上記目的を達成する本発明の印刷制御方法は以下に示す構成を備える。
【００１９】
本発明は、色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられるダブルバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置における印刷制御方法であって、前記受信バッファの情報を前記プリンタコントローラより取得し、該取得した前記受信バッファの情報に基づいて、前記受信バッファに対するパケットデータの書き込みを管理し、前記受信バッファに書き込まれたパケットデータの前記ダブルバッファへの転送を管理することを特徴とする。
【００２０】
上記目的を達成する本発明の他のデータ処理装置は以下に示す構成を備える。
【００２１】
本発明は、色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられる第２のバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置であって、前記第２のバッファの空き情報を前記プリンタコントローラより取得する取得手段と、前記受信バッファに対するパケットデータの書き込みを制御し、前記取得手段により取得された空き情報に基づいて、前記受信バッファに書き込まれたパケットデータの前記第２のバッファへの転送を制御する制御手段を備えることを特徴とする。
【００２２】
上記目的を達成する本発明の他の印刷制御方法は以下に示す構成を備える。
【００２３】
本発明は、色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられる第２のバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置における印刷制御方法であって、前記第２のバッファの空き情報を前記プリンタコントローラより取得する取得ステップと、前記受信バッファに対するパケットデータの書き込みを制御する第１の制御ステップと、前記取得ステップで取得された空き情報に基づいて、前記受信バッファに書き込まれたパケットデータの前記第２のバッファへの転送を制御する第２の制御ステップとを備えることを特徴とする印刷制御方法。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【００２５】
本実施形態の構成を説明する前に、本実施形態を適用するに好適なレーザビームプリンタおよびインクジェットプリンタの構成について図１〜図３を参照しながら説明する。なお、本実施形態を適用するプリンタは、レーザビームプリンタおよびインクジェットプリンタに限られるものではなく、他のプリンタ方式のプリンタでも良いことは言うまでもない。
【００２６】
図１は、本発明を適用可能な印刷装置の構成を説明する断面図であり、例えば４連ドラム式のカラーレーザビームプリンタの概略配置構成例を示す図である。
【００２７】
図１において、１０８は図示しない転写紙を収納したカセットである。転写紙は、図示しない給紙コロ駆動モータにより回転駆動される給紙コロ１０７により、カセット１０８内からプリンタ内に送り込まれ、転写紙を搬送する搬送ベルト１０９上に供給される。搬送ベルト１０９は、図示しないベルト駆動モータで回転駆動するベルト駆動ローラ１１９によって矢印Ａ方向へ駆動され、そのベルト１０９上に載せられた転写紙を図示左方向に搬送する。
【００２８】
一方、搬送ベルト１０９による転写紙の搬送路上には、４個の同一構成の感光ドラム１１１が搬送方向に沿って所定間隔で配置されている。この４個の感光ドラム１１１のそれぞれに対して、帯電器１１２，トナーホッパ（図示しない），現像スリーブ１０６および転写器１１０等が１つずつ設けられている。トナーホッパのそれぞれには、シアン（Ｃ），マゼンタ（Ｍ），イエロー（Ｙ），ブラック（ＢＫ）の異なる色のトナーが貯蔵されている。
【００２９】
また、感光ドラム１１１のそれぞれについて、図示しないレーザ発振器とポリゴンミラー１０４と反射ミラー１１７とからなる光学系が設けられている。
【００３０】
このような４つの記録ユニットのそれぞれについて、記録時には、まず感光ドラム１１１が図示の時計方向に回転され、帯電器１１２により均一に帯電される。次に、上述のレーザ発振器により発生され、画像情報（画像信号）に応じてオン・オフされるレーザ光が、高速回転するポリゴンミラー１０４により反射ミラー１１７を介して感光ドラム１１１の表面上を主走査方向（感光ドラムの回転軸方向）に振られて主走査を行い、感光ドラム１１１の表面上に静電潜像が形成される。続いて、現像スリーブ１０６により感光ドラム１１１の表面上にトナーが付着されて、上述の潜像に対応したトナー像が形成され、さらに感光ドラム１１１と転写器１１０間を通過する転写紙にそのトナー像が転写器１１０により転写される。
【００３１】
転写紙が搬送ベルト１０９により搬送されて４つの感光ドラム１１１を通過していく過程で、上述のようにしてＣ，Ｍ，Ｙ，ＢＬの４色のトナー像が転写紙に転写される。この転写後、転写紙は定着器１１３の熱ローラ１１４と圧接ローラ１２２間に導かれ、熱ローラ１１４によりトナー像が熱定着される。しかる後、転写紙は排紙コロ１１６により排紙トレー１１５上に排紙される。
【００３２】
図２は、本発明に係るデータ処理装置のモジュール構成を説明するブロック図であり、図１に示したプリンタ２０５と通信可能なホストコンピュータのモジュール構成例に対応する。
【００３３】
図２に示しホストコンピュータ本体１０１において、アプリケーション２０１から出力された印刷データは、プリンタドライバ２０２に入力されプリンタが解釈できるデータに翻訳される。続いて、このプリンタドライバ２０２から出力されたデータは、プリントスプーラ２０３によってスプーリングされ、通信ドライバ２０４を介してプリンタ２０５に出力される。ここで、アプリケーション２０１、プリンタドライバ２０２、プリントスプーラ２０３及び通信ドライバ２０４はそれぞれ図示しないハードディスクからＲＡＭにロードされＣＰＵによって処理されるプログラムである。
【００３４】
なお、本実施形態におけるホストコンピュータ本体１０１には、以下の手段を備える。
【００３５】
ＣＭＹＫの各プレーンの圧縮された画像データをＮ個のパケットデータ（１パケット＝１６ＫＢ）に分割する手段を備えている。なお、ダブルバッファは、１６ＫＢを２つ持っている。
【００３６】
また、ホストは、各色Ｎ個のデータすべてについて、受信バッファの書き込みアドレスを管理する。
【００３７】
さらに、受信バッファへの書き込みは１６ＫＢ単位なので、受信バッファのサイズ（１６ＫＢ＝Ｍ）が、書き込み可能なパケット数となる。
【００３８】
また、ホストはＭ個の空き領域に対して、各色Ｎ個パケットデータを転送する。その際、受信バッファの書き込みアドレスをホストから指定する。
【００３９】
さらに、受信バッファからダブルバッファへのパケットデータの転送は、ホストから受信バッファの読み出しアドレスを指定して、ホストが指示する色のダブルバッファへ転送する。
【００４０】
また、受信バッファからの読み出しにより空きが出来たら、残りの画像データを同様の手順で順次転送する。
【００４１】
ホスト側が上記の構成を備えることにより、受信バッファへの書き込み時には、ホストがアドレスを指定し各色パケットを格納する。その際、各色パケットデータの書き込みアドレスを、ホスト側で記憶しておき、受信バッファからダブルバッファへ転送する際に、指定のパケットデータが格納されているアドレスをホストから指示する。
【００４２】
また、ダブルバッファへパケットデータを転送することで、受信バッファに１つの空きが生じる、この空き情報もホストが管理することで、次にホストから受信バッファへ転送するパケットデータが送れるようになる。
【００４３】
図３は、本発明を適用可能な第２の出力装置の構成を示す外観図であり、例えばインクジェット記録装置（ＩＪＲＡ）の場合を示す。
【００４４】
図において、駆動モータ５０１３の正逆回転に連動して駆動力伝達ギア５０１１、５００９を介して回転するリードスクリュー５００５の螺旋溝５００４に対して係合するキャリッジＨＣはピン（図示しない）を有し、矢印ａ，ｂ方向に往復移動される。このキャリッジＨＣには、インクジェットカートリッジＩＪＣが搭載されている。
【００４５】
５００２は紙押さえ板であり、キャリッジ移動方向にわたって紙をプラテン５０００に対して押圧する。５００７、５００８はフォトカプラで、キャリッジのレバー５００６のこの域での存在を確認して、駆動モータ５０１３の回転方向切り換え等を行なうためのホームポジション検知手段として機能する。
【００４６】
５０１６は記録ヘッドの全面をキャップするキャップ部材５０２２を支持する部材、５０１５は前記キャップ部材５０２２内を吸引する吸引手段で、キャップ内開口５０２３を介して記録ヘッドＩＪＣの吸引回復を行なう。
【００４７】
５０１７はクリーニングブレードで、部材５０１９により前後方向に移動可能となる。５０１８は本体支持板で、上記クリーニングブレード５０１７、部材５０１９を支持する。５０１２は吸引回復の吸引を開始するためのレバーで、キャリッジＨＣと係合するカム５０２０の移動に伴って移動し、駆動モータから駆動力がクラッチ切り換え等の公知の伝達手段で移動制御される。
【００４８】
これらのキャピング、クリーニング、吸収回復は、キャリッジがホームポジション側領域にきたときにリードスクリュー５００５の作用によってそれらの対応位置で所望の処理が行なえるように構成されているが、周知のタイミングで所望動作を行なうように構成されていればよい。
【００４９】
図４は、図３に示した第２の出力装置の制御構成を説明するブロック図である。
【００５０】
図において、１７００は記録信号を入力するインタフェース、１７０１はＭＰＵ，１７０２は前記ＭＰＵ１７０１が実行する制御プログラムやホスト印刷情報等を格納するＲＯＭ，１７０３はＤＲＡＭで、受信バッファが構築され、各種データ（上記記録信号やヘッドに供給される記録データ等）を保存する。
【００５１】
なお、受信バッファは、カラー印刷可能な場合には、各色毎にＤＲＡＭ１７０３上に確保される。
【００５２】
１７０４は、記録ヘッド１７０８に対する出力データの供給制御を行なうゲートアレイで、インタフェース１７００、ＭＰＵ１７０１，ＤＲＡＭ１７０３間のデータの転送制御も行なう。
【００５３】
１７１０はキャリアモータで、前記記録ヘッド１７０８を搬送する。１７０９は搬送モータで、記録用紙を搬送する。１７０５はヘッドドライバで、前記記録ヘッド１７０８を駆動する。１７０６はモータドライバで、前記搬送モータ１７０９を駆動する。１７０７はモータドライバで、前記キャリアモータ１７１０を駆動する。
【００５４】
このように構成された上記記録装置において、インタフェース１７００を介して後述するホストコンピュータ１００より入力情報が入力されると、ゲートアレイ１７０４とＭＰＵ１７０１との間で入力情報がプリント用の出力情報に変換される。そして、モータドライバ１７０６、１７０７が駆動されるとともに、ヘッドドライバ１７０５に送られた出力情報に従って記録ヘッドが駆動され印字が実行される。
【００５５】
〔第１実施形態〕
ホストベースの４ドラムのレーザプリンタにおいて、プリンタの受信バッファ６（後述する）のメモリ管理をホストコンピュータ側で行い、受信バッファへの書き込み、上書き及び、読み出しのアドレスの指示をホストコンピュータから行うことで、受信バッファを無駄なく有効利用できる（無駄な空きを作らなくてすむ）。
【００５６】
このような手段を設ける事で、従来受信バッファはＹ，Ｍ，Ｃ，Ｋの４つに分かれていたので、各色４つのバッファの最後の部分を有効利用できなかったが、この手段を用いることで、受信バッファの最後の部分は１つになるので有効利用できる部分が多くなる。また、受信バッファの書き込み、読み出し指示がホスト側から行う事で、プリンタコントローラの構造を簡素化できるので、コントローラのコストダウンにつながる。
【００５７】
図５は、本発明の第１実施形態を示すプリンタシステムの一例を示すブロック図である。
【００５８】
図５において、１はホストベース・プリンタに接続されているホストコンピュータであり、いわゆるパーソナルコンピュータ（ＰＣ）で構成される。２はホストベース・４ドラムのプリンタで、図示しないＶｉｄｅｏ  Ｉ／Ｆを介してエンジン部４と接続されている。
【００５９】
３はプリンタコントローラで、ＡＳＩＣ５とＣＰＵ７，受信バッファ６等から構成されている。なお、ＡＳＩＣ５には、ダブルバッファ１０個（Ｙ，Ｍ，Ｃ，Ｋ用）、デコーダ４個（Ｙ，Ｍ，Ｃ，Ｋ用）、ＦＩＦＯ４個（Ｙ，Ｍ，Ｃ，Ｋ用）を内蔵している。
【００６０】
また、例えばＤＲＡＭで構成される受信バッファ６は、例えばＵＳＢＩ／Ｆケーブルを介して受信するＹ、Ｍ、Ｃ、Ｋのカラーデータで構成される印刷データをホスト１より受信して保持する。なお、受信バッファ６は、オプションのメモリを装着して、容量を拡張可能に構成されているものとする。
【００６１】
７はＣＰＵで、印刷データに対する処理を制御するとともに、エンジン部４に対する制御を行う。
【００６２】
なお、本実施形態におけるプリンタコントローラ３は、以下の手段を備える。
【００６３】
受信バッファ６の読み出しポインタを１つ設け、各色のダブルバッファへ１パケット分のデータを転送する機能手段を設ける。
【００６４】
また、受信バッファ６への書き込みポインタを１つ設け、ホストからのパケットデータを書き込む機能手段を設ける。
【００６５】
さらに、各色のダブルバッファの空き状況を、ホストへ送る手段を設ける。
【００６６】
このように構成されたプリンタ２において、ホスト１から転送された印刷データは、一度受信バッファ６に格納され、受信バッファ６からＡＳＩＣ５内のダブルバッファへ読み出され、圧縮データを伸長しビデオデータに変換して、Ｖｉｄｅｏ  Ｉ／Ｆを介してエンジン部４に送ることにより、カラー印刷を含む印刷処理が実行される。
【００６７】
このように構成された４ドラムのプリンタ２は、以下のようなデータ処理を実行することでカラー印刷を行う。
【００６８】
ステップ（１）で、プリンタ２は、ホスト１へプリンタ２の情報を転送する。ここで、情報とは、受信バッファの容量、ダブルバッファの容量、ドラム装置の長さ等が含まれるものとする。
【００６９】
ステップ（２）で、ＰＣ１は、受信バッファ６の管理をホＰＣ１で行うために、圧縮したデータを各色毎に１６ＫＢのデータサイズに分け、そのデータを１つのパケットとしてプリンタ２へ転送する為のデータとする。
【００７０】
そのパケットは、格納アドレスとデータの長さとデータ（１６ＫＢ）から成っている。この際、Ｙ，Ｍ，Ｃ，Ｋの４色毎に、１…ｎまでのパケットを作る。そのパケットは、１…ｎ−１まではデータサイズは１６ＫＢである。
【００７１】
また、ｎ番目のパケットは最後のデータの残りとなるため、データサイズ≦１６ＫＢとなる。
【００７２】
次に、ステップ（３）で、ＰＣ１は、プリンタ２の印刷順序に合わせてデータを転送する。
【００７３】
この際、エンジン部４に給紙される用紙の長さＬがドラム装置の長さＤとの関係が、例えば後述する図８に示す各ドラムの間隔Ｄと用紙の搬送長Ｌとの関係が、Ｌ≦Ｄ／２のときは、パケットの転送は、Ｙ，Ｍのデータを転送後にＣ，Ｋのパケットを転送する。
【００７４】
このように、該用紙の長さに応じて転送すべき印刷データの色の順番を変更することにより、プリンタ２の受信バッファ６内で、パケットが不要に留まることを無くすことができる。
【００７５】
そして、ステップ（４）で、印刷処理が開示されると、プリンタ２の受信バッファ６から読み出したデータを、一時的に蓄えるＡＳＩＣ５内のダブルバッファの空き状況をＰＣ１へ通知することで、ＰＣ１がパケットのダブルバッファへの読み出しの指示を行う。
【００７６】
なお、この際、受信バッファ６の空き情報は、ＰＣ１が管理しているので、受信バッファ６の空き情報はその都度ＰＣ１へ通知する必要はない。
【００７７】
次に、ステップ（５）で、ＰＣ１は、受信バッファ６の書き込みと、読み出しを並行して行いながら、各色Ｙ，Ｍ，Ｃ，Ｋの色毎の受信バッファ６の残量を管理し、残りのパケットが少なくなった色を優先的にプリンタ２へ送るようにする。
【００７８】
また、ＰＣ１は、ダブルバッファの空き情報をプリンタ２から取得し、受信バッファ６からデータを読み出しダブルバッファへの転送の指示を行う。
【００７９】
そして、ステップ（６）で、プリンタ２には、ＰＣ１からの指示により（格納アドレス指定）受信バッファ６にパケットのデータを格納する機能を設ける。
【００８０】
また、ＰＣ１へプリンタ２のダブルバッファの空き状況を知らせる機能を設ける。
【００８１】
次に、ステップ（７）で、ＰＣ１は、Ｙ，Ｍ，Ｃ，Ｋのデータをプリンタ２の受信バッファ６へ転送しながら、受信バッファ６からダブルバッファへの読み出しを指示し、最後のパケットのダブルバッファへの転送が終わるまで、この動作を繰り返し印刷を行う。
【００８２】
上記処理を繰り返すことにより、受信バッファ６の最後の部分は、１つになるので有効利用できる部分が多くなり、今まで印刷できなかった画像データでも印刷できるようになる。
【００８３】
また、受信バッファ６の書き込み、読み出し指示がホスト側から行う事で、プリンタコントローラ３の構造を簡素化できるので、プリンタコントローラ３のコストダウンに大いに貢献する。
【００８４】
図６は、図５に示した４ドラム用のプリンタコントローラ３の詳細構成を説明するブロック図であり、図５と同一のものには同一の符号を付してある。
【００８５】
図６において、ＰＣ１は、印刷データの圧縮を行い画像データを１６ＫＢのパケット化して、プリンタコントローラ３の受信バッファ６へ転送し印刷開始する。その際、ＰＣ１はプリンタコントローラ３内の受信バッファ６の空き情報の管理を行い、書き込みアドレス、読み出しアドレス（ダブルバッファ１０へデータ転送）の指示や、一度書いたパケットへの上書きの指示も行う。
【００８６】
ＣＰＵ７は、ＵＳＢ  Ｉ／Ｆ５６を介してＰＣ１との通信、エンジン部４の制御と通信、プリンタコントローラ３全体の制御を行う。
【００８７】
受信バッファ６は、ＰＣ１から送られてくるＹ，Ｍ，Ｃ，Ｋのデータパケットを格納する。
【００８８】
ＡＳＩＣ５には、受信バッファ６の制御、ＣＰＵ  Ｉ／Ｆ、色別の４つのダブルバッファ５２−Ｙ，５２−Ｍ，５２−Ｃ，５２−Ｋ等と、４つのデコーダ５３、４つのＦＩＦＯ５４、ＵＳＢ  Ｉ／Ｆ、Ｖｉｄｅｏ  Ｉ／Ｆ５５を内蔵する。
【００８９】
制御部５１には、受信バッファ６の制御、ＣＰＵ  Ｉ／Ｆ、ＵＳＢ  Ｉ／Ｆを内蔵する。
【００９０】
４つダブルバッファ５２−Ｙ，５２−Ｍ，５２−Ｃ，５２−Ｋは、各色（Ｙ，Ｍ，Ｃ，Ｋ）に分かれており、ｅｖｅｎとｏｄｄの２つのバッファから構成される。
【００９１】
デコーダ５３は、各色に１つあり全部で４つあり、ＦＩＦＯ５４は各デコーダに１つあり、全部で４つある。
【００９２】
Ｖｉｄｅｏ  Ｉ／Ｆ５５は、エンジン部４へビデオデータを転送する為のインタフェースであり、４つの出力先（Ｖｉｄｅｏ１（Ｙ），Ｖｉｄｅｏ２（Ｍ），Ｖｉｄｅｏ３（Ｃ），Ｖｉｄｅｏ４（Ｋ））から構成されている。
【００９３】
図７は、図５に示したＰＣ１から送られてくるＹ，Ｍ，Ｃ，ＫのデータパケットＰ１〜ＰＮの構成を説明する図である。
【００９４】
図７において、ホスト１は、Ｙ，Ｍ，Ｃ，Ｋの色毎に画像データを圧縮して、図の様な、受信バッファ６の格納アドレス、画像データのデータ長、画像データからの成るパケットに構成しプリンタ２の受信バッファ６へ格納する。なお、１つのパケットのデータは、パケットサイズ≦１６ＫＢで構成される。
【００９５】
図７に示す例では、メモリを効率良く使うために、各色の最後のパケットのみパケットのデータサイズ≦１６ＫＢとし、最後のパケットＰＮとすると、第１番目からＮ−１番目までは、パケットのデータサイズを１６ＫＢとする。
【００９６】
そして、色毎にパケットＰ１〜ＰＮまでのデータをＰＣ１側で作成する。なお、色別のパケットＰ１〜ＰＮは、パケットＹ１…Ｎｙ，Ｍ１…Ｎｍ，Ｃ１…Ｎｃ，Ｋ１…Ｎｋから構成されるものとする。
【００９７】
これらのパケットを、印刷のデータの必要なタイミングに同期してプリンタ２の受信バッファ６へ転送する。
【００９８】
そのタイミングは、印刷用紙の長さＬ（副走査の方向）とドラム装置の長さにより異なる。
【００９９】
図８は、図５に示したエンジン部４における色別のドラム配置構成と印刷用紙の搬送長との関係を説明する相関図である。
【０１００】
図８に示すように、エンジン部４における各ドラムが所定間隔Ｄで並置される場合、例えば用紙の搬送方向に対する長さ（搬送長）Ｌとの関係が、Ｌ≦Ｄ／２のときは、パケットの転送は、Ｙ，Ｍのデータを転送後にＣ，Ｋのパケットを転送する。以下、図９を参照して、そのタイミングについて説明する。
【０１０１】
図９は、図６に示したビデオデータＶｉｄｅｏ１〜４のシップタイミングを説明するタイミングチャートである。なお、（ａ）は用紙の搬送方向に対する長さ（搬送長）Ｌとの関係が、Ｌ≦Ｄ／２のときのシップタイミングに対応し、（ｂ）は、それ以外のタイミングを示す。
【０１０２】
なお、ドラムの間隔Ｄと印刷用紙の搬送長Ｌとの関係は、図７に示す関係を満足するものとする。
【０１０３】
図８に示すドラムと印刷用紙との例では、例えばビデオデータをエンジン部４へ転送（シップ）するタイミングは、図９の（ｂ）の通りであり、ＹのビデオデータＶｉｄｅｏ１（Ｙ）のシップが終わってから、ＣのビデオデータＶｉｄｅｏ３（Ｃ）のシップが始まる。
【０１０４】
また、ＭのビデオデータＶｉｄｅｏ２（Ｍ）のシップが終わってから、ＫのビデオデータＶｉｄｅｏ４（Ｋ）のシップが始まる。図中の実線がビデオデータのシップ状態を表す。
【０１０５】
なお、４つのドラムを同時に使用する例の場合、すなわち、図９の（ｂ）に示す場合は、４つのドラムを同時に使用するため、ＹからＫまで順次エンジン部４に転送される。
【０１０６】
つまり、タイミングＴＭ２でみると、ビデオデータＶｉｄｅｏ１（Ｙ），Ｖｉｄｅｏ２（Ｍ），Ｖｉｄｅｏ３（Ｃ），Ｖｉｄｅｏ４（Ｋ）が全て転送されているタイミングが存在する（色同時に使用する状態が存在する）。
【０１０７】
図１０は、本発明に係るデータ処理装置における第１のデータ処理手順の一例を示すフローチャートであり、図４に示したＰＣ１によるデータ処理手順に対応する。なお、Ｓ１〜Ｓ８は各ステップを示す。また、各ステップＳ１〜Ｓ８は、図５には図示されないＰＣ１内における外部記憶装置に記憶されたプリンタドライバがＯＳの管理の下で、ＣＰＵがＲＡＭ上にロードして実行されるものとする。
【０１０８】
まず、ステップＳ１で、プリンタ２から転送される受信バッファ６のサイズ、ダブルバッファのサイズ、ドラム装置の長さ等の情報を入手（取得）する。そして、ステップＳ２は、アプリケーションから印刷処理が開始されると、印刷を行う画像データを各色（Ｙ，Ｍ，Ｃ，Ｋ）毎に圧縮を行う、そして各色毎に１６ＫＢのデータサイズに分割してパケットを作る。
【０１０９】
なお、当該パケットのヘッダ部には、受信バッファ６へ格納するアドレスとデータのサイズが付加されている。
【０１１０】
この際、色毎に、パケットデータＹ１…Ｎｙ，Ｍ１…Ｎｍ，Ｃ１…Ｎｃ，Ｋ１，ＮｋをＰＣ１で作成る。
【０１１１】
次に、ステップＳ３で、このパケットデータＹ１…Ｎｙ，Ｍ１…Ｎｍ，Ｃ１…Ｎｃ，Ｋ１…Ｎｋをプリンタ２の受信バッファ６へ、上図（図９に示したタイミングで転送する。このとき、受信バッファ６の管理はＰＣ１が行う。
【０１１２】
つまり、ＰＣ１は、受信バッファ６のどのアドレスにパケットを書き込むか、そして、受信バッファ６のいずれのアドレスからパケットを読み出し、どのダブルバッファに転送するかを管理する。
【０１１３】
また、ＰＣ１は、受信バッファ６内の読み出されたパケットは、空として扱い、次にパケットを書き込める状態となったものとして管理し、順次パケットを受信バッファ６に上書きして行く。
【０１１４】
なお、ステップＳ３では、パケットを任意の数プリンタ２の受信バッファ６へ転送する。
【０１１５】
次に、ステップＳ４で、ＰＣ１はプリンタ２よりダブルバッファの空き情報を入手するのを待ち、入手したら、ステップＳ５で、ステップＳ４で入手した空き情報から、空きがあると判断した場合には、その色のパケットデータを受信バッファ６から読み出し、そのダブルバッファへ転送する。
【０１１６】
次に、ステップＳ６で、すべてのデータパケットのダブルバッファ１０への転送が終わったかどうかを判断して、終わっていないと判断した場合は、ステップＳ３へ戻り、終わっていると判断した場合には、ステップＳ７で、プリンタ２の印刷動作が終了したか調べて、終わっていると判断した場合には、ステップＳ８で、印刷処理を終了する。
【０１１７】
以上の処理により、受信バッファ６の最後の部分は１つになるので有効利用できる部分が多くなり、今まで印刷できなかった画像データでも印刷できるようになる。
【０１１８】
また、受信バッファ６の書き込み、読み出し指示がホスト側から行う事で、プリンタコントローラ３の構成を簡素化できるので、プリンタコントローラ３をコストダウンすることができる。
【０１１９】
〔第２実施形態〕
上記第１実施形態では、４ドラムのレーザプリンタを例として、ホストから送られてくるデータサイズが１６ＫＢの場合について説明したが、データサイズが５１２バイトの場合にも本発明を適用することができる。以下、その実施形態について説明する。
【０１２０】
プリンタ２は、受信バッファ６内のパケットデータをダブルバッファ１０へ読み出すための、アドレス情報を色毎にＣＰＵにスタックして記憶されており、そのデータは逐次ホストより送られてくる。
【０１２１】
このとき、ＰＣ１はデータを圧縮し、５１２バイトのパケットに分解し、そのデータが同じパケットが複数あったときは、１つのパケットのみ転送し、受信バッファ６から再度読み出し時に、ＰＣ１より同じアドレスを指示する。このとき、受信バッファ６内のこのパケットへの上書きは、パケットの再度の読み出しが最後になるまで行わない。通常は、１度読み出すと空きとなり上書き可能となる。
【０１２２】
以下、図６に示したプリンタコントローラ３を備えるプリンタ２における第２実施形態の動作について説明する。本例の４ドラムの印刷装置は、Ｙ、Ｍ、Ｃ、Ｋの４色に分かれているものとする。
【０１２３】
まず、ステップ（１）で、プリンタ２は、ＰＣ１へプリンタ２の情報を転送する。
【０１２４】
ここで、情報とは、受信バッファ６の容量、ダブルバッファ１０の容量、ドラム装置の長さ等が含まれる。
【０１２５】
そして、ステップ（２）で、ＰＣ１は、受信バッファ６の管理をＰＣ１で行うために、圧縮したデータを各色毎に５１２Ｂのデータサイズに分け、そのデータを１つのパケットとしてプリンタへ転送する為のデータとする。
【０１２６】
そのパケットは、格納アドレスとデータ（５１２Ｂ）から成っている。Ｙ，Ｍ，Ｃ，Ｋの４色毎に、１…ｎまでのパケットを作る。
【０１２７】
そのパケットは、１…ｎ−１まではデータサイズは５１２Ｂである。また、ｎ番目のパケットは最後のデータの残りとなるため、データサイズ≦５１２Ｂとなる。
【０１２８】
そして、ステップ（３）で、印刷処理が開始されると、プリンタ２の受信バッファ６から読み出したデータを、一時的に蓄えるダブルバッファの空き状況をホストＰＣへ知らせることで、ＰＣ１がパケットのダブルバッファへの読み出しの指示を行う。
【０１２９】
また、この際、受信バッファ６の空き情報は、ＰＣ１が管理しているので、受信バッファ６の空き情報はホストへ知らせる必要はない。
【０１３０】
次に、ステップ（４）で、ＰＣ１は、受信バッファ６の書き込みと読み出しを行いながら、各色Ｙ，Ｍ，Ｃ，Ｋの色毎の受信バッファ６の残量を管理し、残りのパケットが少なくなった色を優先的にプリンタ２へ送るようにする。
【０１３１】
また、ＰＣ１は、ダブルバッファの空き情報をプリンタ２から取得し、受信バッファ６からデータを読み出し、ダブルバッファへの転送の指示を行う。
【０１３２】
そして、ステップ（５）で、同じデータのパケットは２つは送らず１つのみ送り２度読み出して使うようにする。これは、色を超えて同じデータは共用するためである。
【０１３３】
次に、ステップ（６）で、プリンタ２には、ＰＣ１からの指示により（格納アドレス指定）受信バッファ６にパケットのデータを格納する機能を設ける。
【０１３４】
また、ＰＣ１へプリンタ２のダブルバッファの空き状況を知らせる機能を設ける。
【０１３５】
そして、ステップ（７）で、ＰＣ１は、Ｙ，Ｍ，Ｃ，Ｋのデータをプリンタ２の受信バッファ６へ転送しながら、受信バッファ６からダブルバッファへの読み出しを指示し、最後のパケットのダブルバッファ１０への転送が終わるまで、この動作を繰り返し、印刷処理を行う。
【０１３６】
このように印刷データを転送処理することにより、受信バッファ６の最後の部分は１つになるので、有効利用できる部分が多くなるばかりか、同じデータのパケットは２度送らないので、見かけ上の圧縮率が上がるので、今まで印刷できなかった画像データでも印刷できるようになる。
【０１３７】
また、受信バッファ６の書き込み、読み出し指示がホスト側から行う事で、プリンタコントローラの構造を簡素化できるので、プリンタコントローラ３のコストダウンを図ることができる。なお、プリンタコントローラ等を含むプリンタシステムの構成は、図５と同様であるので、その説明は省略する。
【０１３８】
図１１は、本発明に係るデータ処理装置におけるパケットデータの構成を説明する図である。
【０１３９】
図１１に示すように、ＰＣ１は、各色毎に、第１番目のパケット（アドレスとデータ（最大５１２Ｂ）からなる）を作成し、第ｎ番目のパケットまで作成し、順次プリンタ２に転送する。
【０１４０】
図１２は、本発明に係るデータ処理装置における第２のデータ処理手順の一例を示すフローチャートであり、図５に示したＰＣ１によるデータ処理手順に対応する。なお、Ｓ１１〜Ｓ１８は各ステップを示す。また、各ステップＳ１１〜Ｓ１８は、図５には図示されないＰＣ１内における外部記憶装置に記憶されたプリンタドライバがＯＳの管理の下で、ＣＰＵがＲＡＭ上にロードして実行されるものとする。
【０１４１】
また、本実施形態におけるプリンタコントローラ３内におけるビデオデータのシップ処理は、第１実施形態（図８参照）と同様なので、説明は省略する。
【０１４２】
まず、ステップＳ１１で、プリンタ２からホストコンピュータ１に転送される情報、すなわち、受信バッファ６のサイズ、ダブルバッファ１０のサイズ、ドラム装置の長さ等の情報を入手（取得）する。
【０１４３】
次に、ステップＳ１２で、印刷処理が開始されると、印刷を行う画像データを各色（Ｙ，Ｍ，Ｃ，Ｋ）毎に、所定の圧縮方法により圧縮処理を行う。そして、図１０に示したように、各色毎に５１２Ｂのデータサイズに分割して、パケットを作成する。なお、パケットは、そのヘッダ部に受信バッファ６へ格納するアドレスが付加されている。そして、色毎に第１番目から第Ｎ番目までのパケットデータがＰＣ１で作成される。この際、色毎に、パケットデータＹ１…Ｎｙ，Ｍ１…Ｎｍ，Ｃ１…Ｎｃ，Ｋ１…ＮｋをＰＣ１で作成る。
【０１４４】
そして、ステップＳ１３で、このパケットデータをプリンタ２の受信バッファ６へ、図９に示したシップタイミングに同期して転送する。このとき、受信バッファ６の管理はＰＣ１が行うものとする。
【０１４５】
つまり、受信バッファ６のどのアドレスに該パケットデータを書き込むか、そして、どのアドレスからパケットデータを読み出し、どのダブルバッファに転送するかを管理する。
【０１４６】
また、ＰＣ１は、受信バッファ６内の読み出されたパケットは、空として扱い、次にパケットを書き込める状態となったものとして受信バッファ６の空き領域を管理し、次のパケットデータを上書きして行く。
【０１４７】
次に、ステップＳ１３で、パケット（Ｙ，Ｍ，Ｃ，Ｋ毎の）を任意の数分、プリンタ２の受信バッファ６へ転送する。
【０１４８】
なお、ＰＣ１はプリンタ２よりプリンタコントローラ３のＣＰＵ７が内蔵するＲＡＭ上で管理する、ダブルバッファ１０へ転送するパケットの順番を各色毎にスタックしている。そこで、ステップＳ１４で、上記内蔵するＲＡＭ上に確保されるスタックに空があるかどうかを判断して、空きがないと判断した場合には、ステップＳ１４へ戻る。
【０１４９】
一方、ステップＳ１４で、スタックに空きがあると判断した場合には、ステップＳ１５で、各色のパケットの読み出し情報をスタックする。そして、プリンタコントローラ３はＣＰＵ７の指示でダブルバッファ１０に空きがあれば、ＣＰＵ７内のＲＡＭ上の各色の読み出し情報のスタックから、受信バッファ６の読み出しアドレスを取り出し、そのパケットデータをダブルバッファ１０へ転送する。
【０１５０】
次に、ステップＳ１６は、すべてのデータパケットのダブルバッファ１０への転送が終わったかを判断して、転送終了していないと判断した場合には、ステップＳ１３へ戻る。
【０１５１】
一方、ステップＳ１６で、転送終了していると判断した場合には、ステップＳ１７で、プリンタ２の印刷処理動作が終了しているかどうかを判断して、終了していないと判断した場合には、印刷処理動作が終了するのを待機し、終了していると判断した場合には、ステップＳ１８で、印刷処理を終了する。
【０１５２】
以上の処理により、受信バッファ６の最後の部分は、色データが複数存在する場合でも、そぞれ独立した色領域として管理することなく、一括した１つのパケットデータ保持領域として管理することができ、その結果、色データ中で使用容量が少ない色データとなるパケットデータを受信した場合でも、受信バッファ６のメモリ領域を有効利用できる部分が多くなるので、今まで印刷できなかった画像データでも印刷できるようになる。
【０１５３】
また、受信バッファ６の書き込み、読み出し指示がホストとなるＰＣ１側から行う事で、プリンタコントローラ３の構造を簡素化できるので、プリンタコントローラ３のコストダウンを図ることができる。
【０１５４】
以下、図１３に示すメモリマップを参照して本発明に係るデータ処理装置および印刷装置を含む印刷処理システムで読み取り可能なデータ処理プログラムの構成について説明する。
【０１５５】
図１３は、本発明に係るデータ処理装置および印刷装置を含む印刷処理システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１５６】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１５７】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１５８】
本実施形態における図１０，図１２に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１５９】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１６０】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６１】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１６２】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１６３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１６５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１６６】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６８】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１６９】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではなく、以下の実施態様も含まれることはいうまでもない。以下、その実施態様１〜１７について説明する。
【０１７０】
〔実施態様１〕
色別のパケットデータを受信バッファ（例えば図５に示す受信バッファ６に対応する）で受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられるダブルバッファ（例えば図５に示すダブルバッファ１０に対応する）に転送制御するプリンタコントローラ（例えば図５に示すプリンタコントローラ３に対応する）と通信可能なデータ処理装置（図５に示すＰＣ１）であって、前記受信バッファおよび前記ダブルバッファの情報を前記プリンタコントローラより取得し、該取得した前記受信バッファの情報に基づいて、前記受信バッファに対するパケットデータの書き込みと、該書き込まれたパケットデータの前記ダブルバッファへの転送とを管理する制御手段（例えば図５に示すＰＣ１のプリンタドライバ）を備えることを特徴とするデータ処理装置。
【０１７１】
〔実施態様２〕
前記パケットデータは、前記受信バッファに書き込むための指定アドレスが付加されていることを特徴とする実施態様１記載のデータ処理装置。
【０１７２】
〔実施態様３〕
印刷データを各色毎に圧縮し、任意のデータサイズに分割し、前記受信バッファへの書き込みアドレスとデータサイズを付加し、１つのパケットデータを作成して、該パケットデータを前記受信バッファへ転送する転送手段を備えることを特徴とする実施態様１記載のデータ処理装置。
【０１７３】
〔実施態様４〕
前記プリンタコントローラは、複数のドラムから構成されるエンジン部を備え、前記転送手段は、印刷する用紙の搬送方向の長さをＬ、各ドラムの中心間隔をＤとし、Ｌ≦Ｄ／２を満足するどうかに基づいて、各色別のパケットデータの転送タイミングを異ならしめることを特徴とする実施態様３または４記載のデータ処理装置。
【０１７４】
〔実施態様５〕
前記制御手段は、前記ダブルバッファに空きがあるかどうかの判定結果に基づいて、前記受信バッファに書き込まれたパケットデータの前記ダブルバッファへの転送を管理することを特徴とする実施態様１乃至４記載のデータ処理装置。
【０１７５】
〔実施態様６〕
色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられるダブルバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置における印刷制御方法であって、前記受信バッファの情報を前記プリンタコントローラより取得し、該取得した前記受信バッファの情報に基づいて、前記受信バッファに対するパケットデータの書き込みを管理し、前記受信バッファに書き込まれたパケットデータの前記ダブルバッファへの転送を管理する（図１０に示すステップＳ１〜Ｓ６あるいは図１２に示すステップＳ１１〜Ｓ１６））を備えることを特徴とする印刷制御方法。
【０１７６】
〔実施態様７〕
前記パケットデータは、前記受信バッファに書き込むための指定アドレスが付加されていることを特徴とする実施態様６記載の印刷制御方法。
【０１７７】
〔実施態様８〕
印刷データを各色毎に圧縮し、任意のデータサイズに分割し、前記受信バッファへの書き込みアドレスとデータサイズを付加し、１つのパケットデータを作成して、該パケットデータを前記受信バッファへ転送する転送ステップを備えることを特徴とする実施態様６記載の印刷制御方法。
【０１７８】
〔実施態様９〕
前記転送ステップは、前記パケットデータのサイズを任意の固定したサイズとすることを特徴とする実施態様８記載の印刷制御方法。
【０１７９】
〔実施態様１０〕
各色毎のパケットデータは、１〜Ｎの任意数のパケットデータに分割して転送可能とすることを特徴とする実施態様６記載の印刷制御方法。
【０１８０】
〔実施態様１１〕
前記プリンタコントローラは、複数のドラムから構成されるエンジン部を備え、前記転送ステップは、印刷する用紙の搬送方向の長さをＬ、各ドラムの中心間隔をＤとし、Ｌ≦Ｄ／２を満足するどうかに基づいて、各色別のパケットデータの転送タイミングを異ならしめることを特徴とする実施態様８または９記載の印刷制御方法。
【０１８１】
〔実施態様１２〕
前記制御ステップは、前記ダブルバッファに空きがあるかどうかの判定結果に基づいて、前記受信バッファに書き込まれたパケットデータの前記ダブルバッファへの転送を管理することを特徴とする実施態様６記載の印刷制御方法。
【０１８２】
〔実施態様１３〕
前記転送ステップは、各色のパケットデータにパケットデータの終端を示す情報を付加して転送することを特徴とする実施態様８記載の印刷制御方法。
【０１８３】
〔実施態様１４〕
色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられる第２のバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置であって、前記第２のバッファの空き情報を前記プリンタコントローラより取得する取得手段（図２に示したプリンタドライバ２０２等）と、前記受信バッファに対するパケットデータの書き込みを制御し、前記取得手段により取得された空き情報に基づいて、前記受信バッファに書き込まれたパケットデータの前記第２のバッファへの転送を制御する制御手段（図２に示したプリンタドライバ２０２等）を備えることを特徴とするデータ処理装置。
【０１８４】
〔実施態様１５〕
色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられる第２のバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置における印刷制御方法であって、前記第２のバッファの空き情報を前記プリンタコントローラより取得する取得ステップ（図１０に示すステップＳ４〜Ｓ６）と、前記受信バッファに対するパケットデータの書き込みを制御する制御ステップ（図１０に示すステップＳ４〜Ｓ６）と、前記取得ステップで取得された空き情報に基づいて、前記受信バッファに書き込まれたパケットデータの前記第２のバッファへの転送を制御する制御ステップ（図１０に示すステップＳ４〜Ｓ６）とを備えることを特徴とする印刷制御方法。
【０１８５】
〔実施態様１６〕
第６〜１３の実施態様のいずれかに記載の印刷制御方法を実現するプログラムを記憶したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【０１８６】
〔実施態様１７〕
第６〜１３の実施態様のいずれかに記載の印刷制御方法を実現することを特徴とするプログラム。
【０１８７】
上記実施形態および実施態様によれば、受信バッファを無駄なく使用できるので、より多くの画像データを受信バッファに格納することができるので、データ転送が間に合わずに印刷できない事が少なくなる。
【０１８８】
また、受信バッファ内のパケットのデータを再度読み出すことにより、全体の画像データのサイズが小さくなるので、今まで圧縮率が悪くて印刷できなかった画像データが印刷出来るようになる。
【０１８９】
さらに、受信バッファの書き込み、読み出し指示がホスト側から行う事で、プリンタコントローラの構造を簡素化できるので、コントローラのコストダウンにつながる。
【０１９０】
なお、上記実施形態では、ＰＣ１側における図１０または図１２に示したステップをＰＣ１側のＣＰＵが処理する場合について説明したが、一連の処理をモジュール化して、いわゆるプリンタドライバの機能処理に組み込むことも本発明の適用範囲であることはいうまでもない。
【０１９１】
また、パケットデータのデータサイズは、プリンタエンジンのプリント方式の違いや、プリンタおよびＰＣ双方のデータ転送処理能力や、メモリアクセスタイムに応じて決定されるから、上記実施形態におけるパケットデータのサイズも一例に過ぎない。
【０１９２】
【発明の効果】
以上説明したように、本発明によれば、色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられるダブルバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置において、受信バッファの情報をプリンタコントローラより取得し、取得した受信バッファの情報に基づいて、受信バッファに対するパケットデータの書き込みを管理し、前記受信バッフに書き込まれたパケットデータのダブルバッファへの転送を管理するので、色別のパケットデータを保持するための受信バッファを色別に設けることなく、単一の受信バッファへのパケットデータの書き込みと読み出しタイミングを適切に制御して、少ない容量の中で複雑な印刷データを印刷処理できるようにするとともに、プリンタコントローラの機能処理負担を軽減することができる。
【０１９３】
また、本発明によれば、色別のパケットデータを受信バッファで受信した後、該受信バッファに書き込まれたパケットデータを色別に設けられる第２のバッファに転送制御するプリンタコントローラと通信可能なデータ処理装置において、前記第２のバッファの空き情報を前記プリンタコントローラより取得し、前記取得手段により取得された空き情報に基づいて、前記受信バッファに書き込まれたパケットデータの前記第２のバッファへの転送を制御するので、色別のパケットデータを保持するための受信バッファを色別に設けることなく、単一の受信バッファへのパケットデータの書き込みと読み出しタイミングを最適化して、少ない容量でも複雑な印刷データを印刷処理できるようにするとともに、プリンタコントローラの機能処理負担を軽減することができる等の優れた効果を奏する。
【図面の簡単な説明】
【図１】本発明を適用可能な第１の出力装置の構成を示す断面図である。
【図２】本発明に係るデータ処理装置のモジュール構成を説明するブロック図である。
【図３】本発明を適用可能な第２の出力装置の構成を示す外観図である。
【図４】図３に示した第２の出力装置の制御構成を説明するブロック図である。
【図５】本発明の第１実施形態を示すプリンタシステムの一例を示すブロック図である。
【図６】図５に示した４ドラム用のプリンタコントローラの詳細構成を説明するブロック図である。
【図７】図５に示したＰＣから送られてくるＹ，Ｍ，Ｃ，ＫのデータパケットＰ１〜ＰＮの構成を説明する図である。
【図８】図５に示したエンジン部における色別のドラム配置構成と印刷用紙の搬送長との関係を説明する相関図である。
【図９】図６に示したビデオデータＶｉｄｅｏ１〜４のシップタイミングを説明するタイミングチャートである。
【図１０】本発明に係るデータ処理装置における第１のデータ処理手順の一例を示すフローチャートである。
【図１１】本発明に係るデータ処理装置におけるパケットデータの構成を説明する図である。
【図１２】本発明に係るデータ処理装置における第２のデータ処理手順の一例を示すフローチャートである。
【図１３】本発明に係るデータ処理装置および印刷装置を含む印刷処理システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【図１４】従来の４ドラムのプリンタコントローラの一例を示すブロック図である。
【符号の説明】
１  ＰＣ
３  プリンタコントローラ
４  エンジン部
５  ＡＳＩＣ
６  受信バッファ
７  ＣＰＵ
１０  ダブルバッファ
５３  デコーダ
５４  ＦＩＦＯ
【図１】
2005018495.tif 000003
【図２】
2005018495.tif 000004
【図３】
2005018495.tif 000005
【図４】
2005018495.tif 000006
【図５】
2005018495.tif 000007
【図６】
2005018495.tif 000008
【図７】
2005018495.tif 000009
【図８】
2005018495.tif 000010
【図９】
2005018495.tif 000011
【図１０】
2005018495.tif 000012
【図１１】
2005018495.tif 000013
【図１２】
2005018495.tif 000014
【図１３】
2005018495.tif 000015
【図１４】
2005018495.tif 000016