(57)【要約】【課題】プリンタのメモリより大きな容量を有する同一ページの画像データを適切に出力することができるようにする。【解決手段】シアン、マゼンタ、黄、及び黒の画像データコマンドがそれぞれ格納されている４つのデータキュー４０２〜４０５における先頭のバッファ管理ブロック５０２のＴＩＭＥを比較し、最も早期の画像データコマンド５０３を１つ選択し、前記選択した画像データコマンド５０３をプリンタ８に転送することにより、プリンタ８で早く出力される画像データから転送を行うようにして、プリンタ８のメモリより大きな容量を有する同一ページの画像データを適切に出力することができるようにする。【選択図】      図１
2004295230.tif 000002
【特許請求の範囲】
【請求項１】
同一ページの複数の面の画像データをプリンタに並行に転送する画像転送装置であって、
前記同一ページの複数の面の画像データについて、前記プリンタで必要とされる順序を評価する順序評価手段と、
前記順序評価手段により必要とされると評価された順に画像データを転送する画像データ転送手段とを備えたことを特徴とする画像転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像転送装置に関し、特に、複数のドラムを持つカラープリンタなどのプリンタに画像データを転送するために用いて好適なものである。
【０００２】
【従来の技術】
従来、レーザービームプリンタに代表されるページプリンタでは、１ページを構成する印刷データの全体がメモリに格納されてから印刷を開始するのが一般的である。
【０００３】
この方法によれば、メモリ容量が十分でないために、１ページを構成する印刷コマンドの全体を前記メモリに格納できない場合、印刷を行うことができないという問題点がある。
【０００４】
この問題点を解決するために、例えば特開平９−１１５５４号公報（ホストベースプリンタ、特許文献１）に示されるように、印刷開始前にメモリフルとなった場合には印刷を開始し、以後印刷を行っている間に残りの画像を転送するという方法がある。
【０００５】
【特許文献１】
特開平９−１１５５４号公報
【０００６】
【発明が解決しようとする課題】
上述の従来の技術では、白黒プリンタが対象であるが、ドラムを１つ有し、シアン、マゼンタ、黄、黒の各色の印刷を順次行う、いわゆる１ドラムカラープリンタにも適用可能である。
【０００７】
近年、カラープリンタの印刷速度を高速化するために、シアン、マゼンタ、黄、黒の各色ごとに専用のドラムを有し、同時に４色の印刷を可能とする、いわゆる４ドラムカラープリンタが一般的になってきた。
【０００８】
図８は、４ドラムカラープリンタにおける、各色の画像データを出力する時間関係を示した図である。
感光ドラム間には一定の距離があるため、各色を同じタイミングで印刷することはできず、図８に示すように、シアン、マゼンタ、黄、黒の各色の画像データにおける出力開始のタイミングには一定のずれがある。
【０００９】
ページプリンタにおいては、画像データの出力をいったん開始してしまうと印刷を止めることができないので、画像データのある部分を出力するべきときまでにその画像データを受信していない場合には画像が切れてしまい、正しい印刷結果が得られない。このため、できるだけ出力される順に画像データを転送することが望ましい。
【００１０】
しかしながら、上述の従来の技術では、画像データが出力される順を考慮していないため、例えば１ドラムカラープリンタにおける画像データの転送順序、すなわち第１ページのシアンの画像データを全て転送してから第１ページのマゼンタの画像データを転送するようにすると、黒の画像データの先頭はシアンの画像データの末尾付近と同時に出力されるにもかかわらず、転送順序はシアンの画像データの末尾よりもかなり後になってしまうという問題がある。
【００１１】
また、ホストコンピュータにて画像が生成される順序（例えば１ページを１６のバンドに分割して画像を生成する場合には第１バンドのシアン画像、第１バンドのマゼンタ画像、第１バンドの黄画像、第１バンドの黒画像、第２バンドのシアン画像・・・第１６バンドの黒画像の順）に画像データを送った場合には、シアンの画像データの末尾は黒の画像データの先頭付近と同時に出力されるにもかかわらず、転送順序は黒の画像データの先頭よりもかなり後になってしまうという問題がある。
【００１２】
このように従来の技術では、プリンタに１ページ全体の画像データを格納することができない場合には、前記プリンタで画像を適切に出力することができなくなる虞があるという問題点があった。
【００１３】
本発明は上述の問題点に鑑みてなされたものであり、プリンタのメモリより大きな容量を有する同一ページの画像データを適切に出力することができるようにすることを目的とする。
【００１４】
【課題を解決するための手段】
本発明の画像転送装置は、同一ページの複数の面の画像データをプリンタに並行に転送する画像転送装置であって、前記同一ページの複数の面の画像データについて、前記プリンタで必要とされる順序を評価する順序評価手段と、前記順序評価手段により必要とされると評価された順に画像データを転送する画像データ転送手段とを備えたことを特徴としている。
【００１５】
【発明の実施の形態】
次に、図面を参照しながら本発明の一実施形態について説明する。
図１は、本実施形態のプリントシステムの概略構成の一例を示すブロック図である。
【００１６】
図中、１は、画像転送装置として配設されるコンピュータであり、ＣＰＵ、メモリ、ハードディスク、フレキシブルディスクドライブ、キーボード、マウス、モニタ、ＵＳＢポート、ネットワークインタフェース等のハードウェア（不図示）を備える。
【００１７】
２はオペレーティングシステムであり、コンピュータ１が備えるハードウェア、アプリケーション３、プリンタドライバ４、ランゲージモニタ５、ＵＳＢポートドライバ６、およびネットワークポートドライバ７などのソフトウェアを管理する。
【００１８】
アプリケーション３は、例えばワードプロセッサのようなアプリケーションソフトウェアであり、操作者の指示に従って文書の作成・印刷などを行う。
プリンタドライバ４は、アプリケーション３が発行した印刷指令を、オペレーティングシステム２を経て受け取り、該印刷指令をランゲージモニタ５およびプリンタ８ａ、８ｂが解釈可能なプリンタコマンドに変換する。
【００１９】
ランゲージモニタ５は、プリンタドライバ４が出力したプリンタコマンドを受け取り、ＵＳＢポートドライバ６あるいはネットワークポートドライバ７を経由してプリンタ８ａ、８ｂに送信する。
【００２０】
ＵＳＢポートドライバ６は、ランゲージモニタ５が出力したプリンタコマンドを、ＵＳＢポートを経てプリンタ８ａに送信するとともに、プリンタ８ａからステータスを受信した場合にはそのステータスをランゲージモニタ５に出力する。
【００２１】
ネットワークポートドライバ７は、ランゲージモニタ５が出力したプリンタコマンドをネットワークおよびネットワークインタフェースカード９を経てプリンタ８ｂに送信するとともに、プリンタ８ｂからステータスを受信した場合にはそのステータスをランゲージモニタ５に出力する。
【００２２】
プリンタ８ａ、８ｂは、それぞれＵＳＢポートドライバ６あるいはネットワークポートドライバ７から受信したプリンタコマンドに従って印刷を行う。なお、プリンタ８ａ、８ｂは同様の構成であるので、以下の説明では必要に応じてこれらをプリンタ８と総称する。
【００２３】
ネットワークインタフェースカード９は、ネットワークポートドライバ７からネットワークを経由して受信したプリンタコマンドを、高速の専用インタフェースを経由してプリンタ８ｂに送信するとともに、プリンタ８ｂからステータスを受信した場合には、そのステータスを、ネットワークを経由してネットワークポートドライバ７に送信する．
【００２４】
図２は、プリンタ８の概略構成の一例を示すブロック図である。
図中、１１はＵＳＢポートであり、コンピュータ１からプリンタコマンドを受信する。１２はＤＭＡコントローラであり、ＵＳＢポート１１あるいはネットワークインタフェースカード９から受信した画像データをメモリ１３に格納するとともに、メモリ１３から読み出した画像データを復号回路１４に出力する。
【００２５】
１３はメモリであり，例えば１６Ｍバイトの容量を有し，ＤＭＡコントローラ１２の制御にしたがって、画像データの格納あるいは出力を行う。このメモリ１３は、論理的に４つのチャネルに分割され，各々独立した例えば４Ｍバイトの容量を有するＦＩＦＯ（ファーストインファーストアウト）メモリとして動作する。
【００２６】
復号回路１４ａ〜１４ｄは、メモリ１３に記憶された画像データを復号し、プリンタエンジン１５に出力する。これら４つの復号回路１４ａ〜１４ｄは、同一の回路である。このように、本実施形態では、同一の復号回路を４回路構成することにより、各チャネルの画像データを同時に復号することが出来るようにしている。なお、以下の説明では、必要に応じて４つの復号回路１４ａ〜１４ｄを復号回路１４と総称する。
【００２７】
プリンタエンジン１５は、例えばレーザビームプリンタエンジンであり、制御回路１６の指示により、復号回路１４が出力した画像データに従って印刷を行う。
【００２８】
本実施形態では、このプリンタエンジン１５が４つのドラムを有するようにすることにより、各チャネルの画像データをシアン、マゼンタ、黄、黒の４色の画像データとして、同時に印刷することが出来るようにしている。
【００２９】
制御回路１６は、例えば１チップＣＰＵで構成され、ＵＳＢポート１１、ＤＭＡコントローラ１２、メモリ１３、復号回路１４、プリンタエンジン１５およびネットワークインタフェースカード９の制御を行う。
【００３０】
１７はオプションスロットであり、ネットワークインタフェースカード９を装着するためのものである。ネットワークインタフェースカード９は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ネットワークインタフェース、プリンタインタフェースなどのハードウェア（不図示）を有し，コンピュータ１からプリンタコマンドを受信する。
【００３１】
以下、本実施形態のプリントシステムにおける印刷動作について説明する。
操作者がコンピュータ１側でアプリケーション３に対する所定の操作を行うと、アプリケーション３は印刷データを生成する。そして、上記生成した印刷データの印刷を操作者が指示すると、アプリケーション３からオペレーティングシステム２を経由してプリンタドライバ４に印刷指令が渡される。
【００３２】
プリンタドライバ４は、アプリケーション３から発行された印刷指令に基づき、印刷データを画像データに変換して圧縮し、圧縮した画像データを、用紙サイズ、ビットマップデータのラインの長さとライン数などを指定するページ開始コマンドと、ページ終了を示すページ終了コマンド３６６とともに出力する。
【００３３】
出力されたプリンタコマンドは、オペレーティングシステム２を経由してランゲージモニタ５に渡される。ランゲージモニタ５は、受け取ったプリンタコマンドをプリンタ８に転送し、１ページ分のプリンタコマンドを送り終えると、印刷開始を指示する印刷開始コマンドをプリンタ８に送る。
【００３４】
ランゲージモニタ５からプリンタ８にいたる通信路は、論理的に１つのコマンドチャネルと４つのデータチャネルによって構成される。各々のチャネルでデータ転送が可能であるかどうかは、ステータス取得コマンドのレスポンスであるステータスによって示される。
【００３５】
また、前述のように、各データチャネルで受信される各面の画像データ（シアン、マゼンタ、黄、黒の４色の画像データ）は重なってプリンタエンジン１５に出力される。このためランゲージモニタ５は、送信する各画像データブロックコマンドの画像データがプリンタエンジン１５に出力される時間関係を予測し、画像データがプリンタエンジン１５に出力される順序で画像データの送信を行う。
【００３６】
このようにしてプリンタ８に転送された画像データは、メモリ１３に格納される。プリンタ８が印刷開始コマンドを受信すると、プリンタエンジン１５に印刷開始を指示する。
【００３７】
プリンタエンジン１５はカセットから紙を給紙する。紙が所定の位置に達すると、シアン、マゼンタ、黄、黒の順に画像データの出力が開始される。
【００３８】
プリンタエンジン１５に出力されるべき画像データは、メモリ１３から読み取られ、復号回路１４により復号される。
【００３９】
図３は、プリンタドライバ４が出力する１ページ分のプリンタコマンドの一例を示す図である。
各コマンドは、コマンドの種類を識別するためのコマンドコード、そのコマンドのサイズを示す情報、およびコマンドによって異なるその他の情報が含まれる。
【００４０】
各ページはページ開始コマンド３０１で始まり、ページ開始コマンド３０１には、用紙サイズ、給紙カセット、１ページのライン数、１ラインのバイト数など印刷に必要な情報を含む。
【００４１】
次に、一連の画像データコマンド３０２〜３６５が続く．プリンタドライバ４は，１ページを複数（例えば１６）のバンドに分割し，バンド毎に画像データを生成する。
【００４２】
このため、画像データコマンドは、図３に示すように、バンド１シアン３０２、バンド１マゼンタ３０３、バンド１黄３０４、バンド１黒３０５、バンド２シアン、・・・バンド１６黒３６５の順に出力される。
【００４３】
各々の画像データコマンド３０２〜３６５には、シアン、マゼンタ、黄、黒のいずれであるかを示すプレーン情報、そのコマンドに含まれる画像のライン数、および圧縮された画像データを含む。
そして、各ページの最後はページ終了コマンド３６６である。
【００４４】
図４は、ランゲージモニタ５が出力する１ページ分のプリンタコマンドの一例を示す図である。
各コマンドには、コマンドの種類を識別するためのコマンドコード、そのコマンドのサイズを示す情報、およびコマンドによって異なるその他の情報が含まれる。
【００４５】
ランゲージモニタ５からプリンタ８に至るまでの通信路は、論理的に１つのコマンドチャネルおよび４つのデータチャネルによって構成されているので、プリンタコマンド４００は、これに対応して送信データを格納するための５つのキューを持つ。すなわち、コマンドキュー４０１、第１のデータキュー４０２、第２のデータキュー４０３、第３のデータキュー４０４、および第４のデータキュー４０５を持つ。
【００４６】
コマンドキュー４０１にはページ開始コマンドが、第１のデータキュー４０２にはシアンの画像データコマンドが、第２のデータキュー４０３にはマゼンタの画像データコマンドが、第３のデータキュー４０４には黄の画像データコマンドが、第４のデータキュー４０５には黒の画像データコマンドが、それぞれ格納される。
なお、本実施形態では、ページ終了コマンド３６６をプリンタ８に送信しないので、ページ終了コマンド３６６はコマンドキューに格納されない。
【００４７】
図５は、１つのデータキューのデータ構造の一例を示す図である。
図中、キュー管理ブロック５０１は、データキューを管理するためのデータ構造であり、ＨＥＡＤ、ＴＡＩＬおよびＮＥＸＴＴＩＭＥの領域を有する。
【００４８】
前記ＨＥＡＤは、キューの先頭におけるバッファ管理ブロック５０２のアドレスを示す。前記ＴＡＩＬは、キューの末尾におけるバッファ管理ブロック５０２のアドレスを示す。前記ＮＥＸＴＴＩＭＥは、各画像データコマンド５０３がプリンタエンジン１５に出力される時期を計算するための作業領域である。
【００４９】
バッファ管理ブロック５０２は、画像データコマンド５０３を管理するためのデータ構造であり、ＮＥＸＴ、ＡＤＤＲおよびＴＩＭＥの領域を有する。
前記ＮＥＸＴは、次のバッファ管理ブロック５０２のアドレスを示す。前記ＡＤＤＲは、該バッファ管理ブロック５０２が管理する画像データコマンド５０３のアドレスを示す。前記ＴＩＭＥは、該バッファ管理ブロック５０２が管理する画像データコマンド５０３がプリンタエンジン１５に出力される時期を示す。
【００５０】
画像データコマンド５０３は、ＣＯＭＭＡＮＤ、ＳＩＺＥ、ＬＩＮＥＳおよびＩＭＡＧＥの領域を有する。
前記ＣＯＭＭＡＮＤは、画像データコマンドであることと色を示すコマンドコードである。前記ＳＩＺＥは、該画像データコマンドのサイズを示す。前記ＬＩＮＥＳは、画像データのライン数を示す。前記ＩＭＡＧＥは、圧縮された画像データである。
【００５１】
図６は、ランゲージモニタ５の処理手順の一例を示すフローチャートである。オペレーティングシステム２からランゲージモニタ５が呼び出されると、まずステップＳ１において、プリンタコマンドがページ開始コマンド３０１であるか否かを調べる。
【００５２】
この結果、プリンタコマンドがページ開始コマンド３０１であった場合には、ステップＳ２において該プリンタコマンドをコマンドキューに格納する。
次に、ステップＳ３において、キュー管理ブロック５０１を初期化する。
【００５３】
次に、ステップＳ４において、前記ＮＥＸＴＴＩＭＥを初期化する。具体的には、先頭のシアンの画像データ出力開始時刻から、各色の画像データ出力開始時刻間での時間をライン数に換算して前記ＮＥＸＴＴＩＭＥに格納する。
【００５４】
なお、ページプリンタでは，画像データの各ラインは、等間隔（例えば５００マイクロ秒ごと）に出力されるため、時間をライン間隔で割ることにより前記時間をライン数に換算することができる。そして、ステップＳ１に戻り、引き続くコマンドの処理を行う。
【００５５】
前記ステップＳ１において、プリンタコマンドがページ開始コマンドでなかった場合には、ステップＳ５において、プリンタコマンドがページ終了コマンド３６６であるか否かを調べる。
【００５６】
この結果、プリンタコマンドがページ終了コマンド３６６でなかった場合には、プリンタコマンドが画像データコマンドの場合であるので、ステップＳ６において、該画像データコマンドの色を管理するデータキューの末尾にバッファ管理ブロック５０２を追加し、追加したバッファ管理ブロック５０２のＡＤＤＲに該画像データコマンド５０３を格納する。
【００５７】
次に、ステップＳ７において、キュー管理ブロック５０１のＮＥＸＴＴＩＭＥに格納されている値を、追加したバッファ管理ブロック５０２のＴＩＭＥに格納する。
【００５８】
次に、ステップＳ８において、キュー管理ブロック５０１のＮＥＸＴＴＩＭＥに、該画像データコマンド５０３のＬＩＮＥＳに格納されている値を加算する。これにより、キュー管理ブロック５０１のＮＥＸＴＴＩＭＥには、次の同色の画像データが出力される時間に相当するライン数が格納される。そして、ステップＳ１に戻り、引き続くコマンドの処理を行う。
【００５９】
前記ステップＳ５において、プリンタコマンドがページ終了コマンド３６６であった場合には、ステップＳ９において、ページ送信処理を行う。
次に、ステップＳ１０において、全てのコマンドを処理したか否かを判定する。この判定の結果、全てのコマンドを処理していない場合にはステップＳ１に戻り、引き続くコマンドの処理を行う。一方、全てのコマンドを処理した場合には処理を終了する。
【００６０】
次に、図７を参照しながら、図６のステップＳ９におけるページ送信処理の詳細を説明する。
まずステップＳ２１において、ステータス取得コマンドを送信する。
【００６１】
次に、ステップＳ２２において、ステータスを受信する。受信したステータスには、あらかじめ定められた画像データコマンドの最大サイズを格納するだけの空きが各チャネルのバッファにあるかどうかに応じて、そのチャネルのコマンドを送信してよいか否かを示す情報、および画像データの出力が完了したページ番号を示す情報が含まれる。
なお、ステータス取得コマンドおよび印刷開始コマンドはステータスにかかわらず送信することができる。
【００６２】
次に、ステップＳ２３において、コマンドキュー４０１に未送信のコマンドがあるか否かを判定する。この判定の結果、未送信のコマンドがある場合には、ステップＳ２４において、受信したステータスがコマンドキュー４０１のコマンドを送信してよいことを示しているか否かを判定する。
【００６３】
この判定の結果、コマンドキュー４０１のコマンドを送信してよい場合には、ステップＳ２５において、コマンドキュー４０１の先頭のコマンドを送信し、ステップＳ２１に戻る。なお、送信されたコマンドはコマンドキュー４０１から除かれる。
【００６４】
前記ステップＳ２３において、コマンドキュー４０１に未送信のコマンドがないと判定した場合と、前記ステップＳ２４において、コマンドキュー４０１のコマンドを送信してはいけないと判定した場合には、ステップＳ２６に進む。
【００６５】
そして、ステップＳ２６において、４つのデータキュー４０２〜４０５における先頭のバッファ管理ブロック５０２のＴＩＭＥを比較し、最も早期の（すなわち前記ＴＩＭＥに格納されている値が最も小さい）画像データコマンド５０３を１つ選択する。
【００６６】
次に、ステップＳ２７において、受信したステータスが、ステップＳ２６で選択された画像データコマンド５０３が属するチャネルで画像データを転送することが許可されているか否かを判定する。
【００６７】
この判定の結果、前記選択された画像データコマンド５０３が属するチャネルで画像データを転送することが許可されている場合には、ステップＳ２８において、前記選択された画像データコマンド５０３を送信する。
【００６８】
なお、前記送信された画像データコマンド５０３およびそれを管理するバッファ管理ブロック５０２は、キューから除かれる。次に、ステップＳ２９において、未送信の画像データが４つのデータキュー４０２〜４０５のいずれかに残っているか否かを判定する。この判定の結果、未送信の画像データが残っている場合には、ステップＳ２１に戻る。
【００６９】
このようにして、未送信の画像データが全て送信されると、ステップＳ２９からステップＳ３０に進み、印刷開始コマンドが送信済みか否かを判定する。この判定の結果、印刷開始コマンドが送信済みの場合には、送信処理を終了する。一方、印刷開始コマンドが未送信の場合には、ステップＳ３１において、印刷開始コマンドを送信して送信処理を終了する。
【００７０】
前記ステップＳ２７において、前記選択された画像データコマンド５０３が属するチャネルで画像データを転送することが禁止されている場合には、ステップＳ３２において、印刷開始コマンドが送信済みであるか否かを判定する。この判定の結果、印刷開始コマンドが送信済みの場合には、ステップＳ２１に戻る。
【００７１】
一方、印刷開始コマンドが未送信の場合には、ステップＳ３３において、現在送信中のページの１つ前のページにおける画像データの出力が終了しているか否かを判定する。
【００７２】
この判定の結果、現在送信中のページの１つ前のページにおける画像データの出力が終了していない場合には、現在送信中のページの１つ前のページの画像データがメモリ１３に残っており、この画像データはいずれプリンタエンジン１５に出力されてメモリ１３に空きができるので、それを待つためにステップＳ２１に戻る。
【００７３】
現在送信中のページの１つ前のページにおける画像データの出力が終了している場合には、このまま待っていてもメモリ１３に空きができる可能性はないため、ステップＳ３４において印刷開始コマンドを送信する。そして、ステップＳ２１に戻る。
【００７４】
このようにして画像データコマンド５０３は、プリンタエンジン１５に出力されるべき順に転送されるとともに、１ページの送信が終了するか、あるいはメモリ１３がフルになると、印字開始コマンドが送信される。
【００７５】
次に、印刷がどのように行われるかを説明する。
まず、ホスト（コンピュータ１、以下同様）はページ開始コマンドを送信する。プリンタ８はこれを受信し、制御回路１６内部のメモリに格納する。
【００７６】
次にホストは、画像データを出力されるべき順に、プリンタ８によって画像データの送信が許可されている限りプリンタ８に送信する。プリンタ８はこれを受信してメモリ１３に格納する。
【００７７】
１ページを構成する画像データの全てがメモリ１３に格納できた場合には、ホストは印刷開始コマンドを送信する。プリンタ８はこれを受信し、プリンタエンジン１５に対して印刷の開始を指示する。
【００７８】
プリンタエンジン１５は、カセットから用紙を給紙し、用紙が各々のドラムに応じた所定の位置に達すると、対応する復号回路１４から画像データを受け取って画像を用紙上に形成する。
【００７９】
各々の復号回路１４は、メモリ１３に構成された４つのＦＩＦＯメモリのうちの対応する１つからデータを読み取って復号する。メモリ１３から読み取られた画像データの領域は空きとなる。
【００８０】
１ページを構成する画像データのサイズが大きい場合、１ページを構成する画像データの全てを送信する前にメモリ１３に空き領域がなくなるため、プリンタ８はステータスを通じて、あらかじめ定められた画像データコマンド５０３の最大サイズを格納するだけの空きがないチャネルをホストに通知する。
【００８１】
この場合、ホストは、前のページの画像データの出力が終了するまで待つが、それでもなお画像データコマンド５０３の最大サイズを格納するだけの空きがない場合には、印刷開始コマンドを送信する。以後同様に印刷か開始され、画像データがある程度プリンタエンジン１５に出力されると、メモリ１３に空きができる。
【００８２】
プリンタ８は、ステータスを通じて，空きが出来たことをホストに通知する。ホストは、再び画像データの送信を開始する。このようにして、印刷を行っている間に画像データが転送される。
【００８３】
ネットワークインタフェースカード９を経由する場合にも、ほぼ同様に動作する。ネットワークインタフェースカード９は、１つのキューを保持する。ホストからコマンドを受信すると、キューの末尾に追加する。ただし、受信したコマンドが印刷開始コマンドである場合にはキューに格納せず、直ちにプリンタ８に送信する。
【００８４】
また、受信したコマンドがステータス取得コマンドである場合にはキューに格納せず、プリンタ８から取得したステータスをホストに送信する。この際、ステータスには、各チャネルでコマンドを送信してよいか否かを示す情報が含まれているので、この各チャネルでコマンドを送信してよいか否かを示す情報については、ネットワークインタフェースカード９のステータスを反映するように変更を加えた上で送信する。
【００８５】
具体的には、ネットワークインタフェースカード９の内部に、あらかじめ定められた画像データコマンド５０３の最大サイズを格納するだけの空きがある場合には、全てのチャネルの送信を許可し、そうでなければ全てのチャネルの送信を禁止する。
【００８６】
ネットワークインタフェースカード９はまた、ステータス取得コマンドをプリンタ８に自発的に送信してステータスを取得し、キューの先頭のコマンドが送信可能である場合には、そのコマンドをプリンタ８に送信する。
【００８７】
以上のように本実施形態では、シアン、マゼンタ、黄、及び黒の画像データコマンドがそれぞれ格納されている４つのデータキュー４０２〜４０５における先頭のバッファ管理ブロック５０２のＴＩＭＥを比較し、最も早期の（すなわちＴＩＭＥに格納されている値が最も小さい）画像データコマンド５０３を１つ選択し、前記選択した画像データコマンド５０３をプリンタ８に転送することにより、プリンタ８で早く出力される画像データから転送を行うようにしたので、プリンタ８が１ページ全体の画像データを格納することが出来ない場合であっても、適切に印刷することができるようになる。
【００８８】
なお、上述の本実施形態では、ランゲージモニタ５は４つのデータキュー４０２〜４０５を使用するようにしたが、これに換えて１つのデータキューとし、データキューに画像データを追加する際に、画像出力時期の順にソートしながら追加するようにしてもよい。
【００８９】
また、上述の本実施形態では，ランゲージモニタ５は、最も早期の画像データの送信が行えない場合には、他に送信可能な画像データがあっても送信を行わないようにしたが、これに換えて最も早期の画像データの送信が行えない場合に他に送信可能な画像データがあれば、それを送信するようにしてもよい。
【００９０】
また、上述の実施形態では、ネットワークインタフェースカード９は１つのキューを保持していたが，これに換えてホストと同様に５つのキューを保持し、できるだけ受信した順に画像データを送信するようにしてもよい。
【００９１】
（本発明の他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００９２】
また、この場合、前記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００９３】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００９４】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【００９５】
本発明の実施態様の例を以下に列挙する。
（実施態様１）  同一ページの複数の面の画像データをプリンタに並行に転送する画像転送装置であって、
前記同一ページの複数の面の画像データについて、前記プリンタで必要とされる順序を評価する順序評価手段と、
前記順序評価手段により必要とされると評価された順に画像データを転送する画像データ転送手段とを備えたことを特徴とする画像転送装置。
【００９６】
（実施態様２）  前記画像データ転送手段により転送される画像データが転送可能であるか否かを示す信号を、前記プリンタから受信する転送可能信号受信手段を備え、
前記画像データ転送手段は、前記順序評価手段により先頭の順序であると評価された画像データが、前記転送可能信号受信手段により受信された信号により転送可能であると示された場合には、該画像データを転送し、前記順序評価手段により先頭の順序であると評価された画像データが前記転送可能信号受信手段により受信された信号により転送可能でないと示された場合には、他の転送可能な画像データを転送することを特徴とする実施態様１に記載の画像転送装置。
【００９７】
（実施態様３）  前記実施態様１または２に記載の画像転送装置と、前記画像転送装置から転送された画像データに基づく画像を出力するプリンタとを有することを特徴とするプリントシステム。
【００９８】
（実施態様４）  同一ページの複数の面の画像データをプリンタに並行に転送する画像転送方法であって、
前記同一ページの複数の面の画像データについて、前記プリンタで必要とされる順序を評価する順序評価処理と、
前記順序評価処理により必要とされると評価された順に画像データを転送する画像データ転送処理とを行うことを特徴とする画像転送方法。
【００９９】
（実施態様５）  前記画像データ転送処理により転送される画像データが転送可能であるか否かを示す信号を、前記プリンタから受信する転送可能信号受信処理を行い、
前記画像データ転送処理は、前記順序評価処理により先頭の順序であると評価された画像データが、前記転送可能信号受信処理により受信された信号により転送可能であると示された場合には、該画像データを転送し、前記順序評価処理により先頭の順序であると評価された画像データが前記転送可能信号受信処理により受信された信号により転送可能でないと示された場合には、他の転送可能な画像データを転送することを特徴とする実施態様４に記載の画像転送方法。
【０１００】
（実施態様６）  同一ページの複数の面の画像データをプリンタに並行に転送することをコンピュータに実行させるコンピュータプログラムであって、
前記同一ページの複数の面の画像データについて、前記プリンタで必要とされる順序を評価する順序評価処理と、
前記順序評価処理により必要とされると評価された順に画像データを転送する画像データ転送処理とをコンピュータに実行させることを特徴とするコンピュータプログラム。
【０１０１】
（実施態様７）  上記実施態様６に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【０１０２】
【発明の効果】
以上説明したように本発明によれば、同一ページの複数の面の画像データをプリンタに並行に転送するに際し、前記同一ページの複数の面の画像データについて、前記プリンタで必要とされる順序を評価し、前記評価した順に画像データを転送するようにしたので、前記プリンタで早く出力される画像データから転送を行うことができる。これにより、前記プリンタのメモリより大きな容量を有する同一ページの画像データを適切に出力することができ、１ページ全体の画像データを格納することが出来ない場合であっても適切に印刷することが可能なプリンタを構成することができる。
【図面の簡単な説明】
【図１】本発明の実施形態を示し、プリントシステムの概略構成の一例を示すブロック図である。
【図２】本発明の実施形態を示し、プリンタの概略構成の一例を示すブロック図である。
【図３】本発明の実施形態を示し、プリンタドライバが出力する１ページ分のプリンタコマンドの一例を示す図である。
【図４】本発明の実施形態を示し、ランゲージモニタが出力する１ページ分のプリンタコマンドの一例を示す図である。
【図５】本発明の実施形態を示し、データキューのデータ構造の一例を示す図である。
【図６】本発明の実施形態を示し、ランゲージモニタの処理手順の一例を示すフローチャートである。
【図７】本発明の実施形態を示し、ランゲージモニタのページ送信処理手順の一例を示すフローチャートである。
【図８】４ドラムのカラープリンタにおける画像データの転送タイミングを示す図である。
【符号の説明】
１  コンピュータ
２  オペレーティングシステム
３  アプリケーション
４  プリンタドライバ
５  ランゲージモニタ
６  ＵＳＢポートドライバ
７  ネットワークポートドライバ
８  プリンタ
９  ネットワークインタフェースカード
【図１】
2004295230.tif 000003
【図２】
2004295230.tif 000004
【図３】
2004295230.tif 000005
【図４】
2004295230.tif 000006
【図５】
2004295230.tif 000007
【図６】
2004295230.tif 000008
【図７】
2004295230.tif 000009
【図８】
2004295230.tif 000010