(57)【特許請求の範囲】
【請求項１】
バッファ手段で一時記憶されるラスタ画像データに基づいて互いに異なる位相、異なる周期で画像印刷出力を行う複数の印刷エンジンと、プリント・ジョブ・データからラスタ画像データを生成して上記複数の印刷エンジンに伝送する単一の画像生成エンジンとを具備するプリント・システムにおいて、
上記印刷エンジンの各々は、上記画像生成エンジンに対して、印刷出力サイクルの位相情報を通知する位相情報通知手段を有し、
上記画像生成エンジンは、位相情報をもとに各印刷エンジン間の相対的位相差を求め、その相対的位相差に基づき、同報伝送先の印刷エンジンを選択する同報先選択手段を有し、
選択された印刷エンジンに対して同報伝送により上記ラスタ画像データを伝送することを特徴とするプリント・システム。
【請求項２】
ラスタ画像データに基づいて互いに異なる位相、異なる周期で画像印刷出力を行う複数の印刷エンジンと、、プリント・ジョブ・データからラスタ画像データを生成して上記複数の印刷エンジンに伝送する単一の画像生成エンジンとを具備するプリント・システムにおいて、
上記印刷エンジンの各々は、上記画像生成エンジンに対して、印刷出力サイクルの位相情報を通知する位相情報通知手段を有し、
上記画像生成エンジンは、位相情報をもとに各印刷エンジン間の相対的位相差を求め、その相対的位相差に基づき、同報伝送先のデータ受信部を選択する同報先選択手段を有し、
一連のデータ伝送に先立って同報伝送先の印刷エンジンを選択し、
選択された各印刷エンジンは、受信したデータを処理されるまでの期間保持するデータ・バッファ手段と、データ送信部に対して、データ・バッファ手段へのデータ滞留の状態をあらわすバッファ状態情報を通知するバッファ状態通知手段とを有し、
上記画像生成エンジンは、バッファ状態情報に基づき、同報伝送先のいずれの印刷エンジンのデータ・バッファ手段においても、データのオーバフローが生じないように同報伝送を停止し、または、アンダーフローが生じないように同報転送を再開する送出制御手段を有することを特徴とするプリント・システム。
【請求項３】
上記印刷エンジンの各々は、位相情報として、当該印刷エンジンの印刷処理の周期中の一基点に当該印刷エンジンの印刷処理がさしかかったことを示す信号を用いる請求項１または２記載のプリント・システム。。
【請求項４】
上記画像生成エンジンは、相対的位相差として、上記印刷エンジンより位相情報が通知される時間の差を測定して、相対的位相差を求める請求項３記載のプリント・システム。
【請求項５】
上記印刷エンジンの各々は、上記データ・バッファ手段へのデータ滞留量を監視し、データ・バッファ手段の容量に対して設けた閾値をまたがってデータ滞留量が変化した事をバッファ状態情報とする請求項２記載のプリント・システム。
【請求項６】
上記印刷エンジンは、上記データ・バッファ手段の容量に対して設ける閾値として、アンダフローの危険を早期に検知するための下位水準と、オーバフローの危険を早期に検知するための上位水準の２値の閾値を用いる請求項５記載のプリント・システム。
【請求項７】
上記画像生成エンジンは、上記印刷エンジンの上記データ・バッファ手段へのデータ滞留量が上位水準を超えたことをあらわすバッファ状態情報が同報伝送先のいずれかのデータ受信部から通知された場合には、同報伝送を停止し、その後、データ・バッファ手段へのデータ滞留量が上位水準を超えたことをあらわすバッファ状態情報を通知したすべてのデータ受信部からデータ・バッファ手段へのデータ滞留量が上位水準を下回ったことをあらわすバッファ状態情報が通知されたら同報伝送を再開する請求項６記載のプリント・システム。
【請求項８】
上記印刷エンジンの上記データ・バッファ手段へのデータ滞留量が上位水準を超えたことをあらわすバッファ状態情報が同報伝送先のいずれかの印刷エンジンから通知された場合には、同報伝送を停止し、その後、データ・バッファ手段へのデータ滞留量が上位水準を超えたことをあらわすバッファ状態情報を通知したすべての印刷エンジンからデータ・バッファ手段へのデータ滞留量が上位水準を下回ったことをあらわすバッファ状態情報が通知されて同報伝送を再開する前に、同報伝送先のいずれかの印刷エンジンからデータ・バッファ手段へのデータ滞留量が下位水準を下回ったことをあらわすバッファ状態情報が通知された場合に、該当する印刷エンジンを同報伝送先から外し、個別にデータ伝送を再開する請求項７記載のプリント・システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、初期の位相が互いに異なり、かつ、互いに異なる周期で所定量のデータを処理する複数のデータ受信部に対して、単一のデータ送信部からデータの同報伝送を行うデータ伝送装置に関するものである。
【０００２】
例えば、本発明は、初期の位相が互いに異なり、かつ、互いに異なる周期で印刷処理を行う複数の印刷エンジンを用いて、同じプリント・ジョブの一連の画像データを印刷するプリンタ・システムにおいて、データ送信部である画像生成エンジンからデータ受信部である複数の印刷エンジンに対して、画像データを同報伝送するデータ伝送方式、および、装置に関するものである。
【０００３】
本発明が改善しようとする技術を説明するにあたり、まず、単一の印刷エンジンを持つプリンタ・システムの基本モデルを図１に示す。図１において、画像生成エンジン１０には画像生成部および画像蓄積部が設けられ、印刷エンジン２０には緩衝バッファおよび画像生成部が設けられている。これら各部の詳細は図２に記載されている。
【０００４】
ここで、画像印刷部に高速性が要求される場合には、機械部品の回転動作の慣性が大きくなり、位相を容易にはずらせないので、緩衝バッファから画像印刷部へのラスタ画像データ出力は、画像印刷部の動作の位相に合わせて応答よく行わなければならない。また画像印刷部の回転動作の周期が所定値に安定するには時間を要し、短時間での動作停止・再開が出来ないので、効率良く印刷する為には連続して印刷処理する必要があるが、画像印刷部の動作の周期には個体差があり、また、同一個体の周期間にも揺らぎが存在するので、画像蓄積部から緩衝バッファへのラスタ画像データ出力は、緩衝バッファから画像印刷部へのデータ出力に合わせて、アンダフローが生じないように間断なく行わなければならない。
【０００５】
このように、高速のプリント・システムは、データ受信側の処理の位相と周期に合わせて、データ伝送することが前提となるシステムである。
【０００６】
本発明は、このような要求特性を持つプリンタ・システム、または、同様の要求特性を持つデータ伝送系の為に考案されたものであり、本発明考案の背景には、このようなプリンタ・システムを用いて、ページ数・部数の多いプリント・ジョブを、より短時間に印刷出力する目的がある。
【０００７】
プリンタの出力スループットを引き上げるには、印刷エンジン単体の印刷処理のスループット（ｐｐｍ：ｐａｐｅｒｓ  ｐｅｒ  ｍｉｎｕｔｅｓ）を引き上げるアプローチがあるが、ここでは、印刷エンジンのマルチ化のアプローチをとる。
【０００８】
マルチ印刷エンジンのプリンタ・システムのモデルを図３に示す。
このようなマルチ印刷エンジンのプリンタ・システムで、同一のプリントジョブを複数の印刷エンジンで印刷する場合、各印刷エンジン間の印刷処理は模式的に図４のように表される。
【０００９】
図４に示すように、マルチ印刷エンジンのプリンタ・システムでは、各印刷エンジンの画像印刷部は、互いに異なる位相で、かつ、異なる周期で印刷処理を行う。また、それぞれの周期には、個体差や揺らぎがある。そして、先述のとおり、高速のプリンタ・システムでは、このようなデータ受信側の処理の位相と周期に合わせて、データ伝送する必要がある。
【００１０】
一方、単一のデータ送信部から複数のデータ受信部に対して同一のデータを伝送する場合には、従来、同報伝送を用いるが、同報伝送は、データ受信部の側が、データ伝送のタイミングに合わせて、受信したデータを逐次処理できる事を前提とする伝送方式である。
【００１１】
本発明の技術は、このように、前提が相反する為に、従来は適用されることがなかったマルチ印刷エンジンのプリンタ・システムに対して、同報伝送を適用するものである。
【００１２】
【従来の技術】
先述のように、マルチ印刷エンジンのプリンタ・システムでは、各印刷エンジンの画像印刷部は、互いに異なる位相で、かつ、異なる周期で印刷処理を行う。そして、先述のとおり、高速のプリンタ・システムでは、このようなデータ受信側の処理の位相と周期に合わせてデータ伝送する必要がある為、従来技術においては、画像生成エンジンから個々の印刷エンジンに対して、独立したデータ伝送が行われている。
図５には、従来技術において、同一のプリントジョブ（ページ数：Ｎ）をマルチ化された印刷エンジンで印刷する場合の画像生成エンジンと印刷エンジン間のデータ伝送の様態を模式的に示す。
【００１３】
図５に示すように、ある時点：ｔにおいて各印刷エンジンで印刷処理されるラスタ画像データの部位（図５の例では、Ｐａ（ｔ），Ｐｂ（ｔ），Ｐｃ（ｔ））は異なっており、データ伝送もそれに合わせて行う為、その時点：ｔにおいて、各印刷エンジンに対して伝送されるラスタ画像データの部位が異なっている。その為、印刷エンジンのマルチ化台数に乗じて、画像生成エンジンから印刷エンジン群へのデータ伝送スループットへの要求値が増大する。
【００１４】
画像生成エンジンから印刷エンジン群へのデータ伝送スループットへの要求値の具体的な値の例としては、各ページが６００ｓｐｉ（ｓｐｏｔｓ  ｐｅｒ  ｉｎｃｈ），２４ｂｉｔｓ／ｐｉｘｅｌ，Ａ４用紙サイズのプリント・ジョブの場合、各ページのラスタ画像データのサイズは、約１４４Ｍｂｙｔｅｓとなる。これを各々６０ｐｐｍの印刷エンジンで出力する場合、一印刷エンジンへのデータ伝送につき、１４４Ｍｂｙｔｅｓ／ｓｅｃ（約１．１Ｇｉｇａ  ｂｉｔｓ／ｓｅｃ）の帯域が必要となり、そのマルチ化により、画像生成エンジンからのデータ伝送スループットに過大な性能が要求される。
【００１５】
なお、これ以降、本特許では、各印刷エンジン間の同一時点における印刷部位の差（図５の例では、｜Ｐａ（ｔ）−Ｐｂ（ｔ）｜，｜Ｐｂ（ｔ）−Ｐｃ（ｔ）｜，｜Ｐｃ（ｔ）−Ｐａ（ｔ）｜）を単に印刷部位差と呼ぶ。
【００１６】
上述のとおり、従来技術において、画像生成エンジンから印刷エンジン群へのデータ伝送スループットへの要求値が増大するという問題を生じるのは、画像生成エンジンから個々の印刷エンジンに対して、独立したデータ伝送を行うためである。
【００１７】
これは、各印刷エンジン間の動作の位相がそろっていない事が理由であるが、マクロに（プリント・ジョブの単位で）見れば、各印刷エンジンでは、同一のプリント・ジョブを同時に印刷処理している。よって、プリント・ジョブの単位で同報伝送を適用すれば、伝送帯域を抑制することはできる。しかし、そのためには、各印刷エンジンのプリント・ジョブを保持できる容量の緩衝バッファを設ける必要がある。先に例示したように、各ページが６００ｓｐｉ（ｓｐｏｔｓ  ｐｅｒ  ｉｎｃｈ），２４ｂｉｔｓ／ｐｉｘｅｌ，Ａ４用紙サイズのプリントジョブの場合、各ページのラスタ画像データのサイズは、１ページあたりでみても約１４４Ｍｂｙｔｅｓと大きい。また、これを各々６０ｐｐｍの印刷エンジンで出力する場合、緩衝バッファには、少なくとも、それぞれ１４４Ｍｂｙｔｅｓ／ｓｅｃ（約１．１Ｇｉｇａ  ｂｉｔｓ／ｓｅｃ）ずつの入出力スループットが求められる。その為、緩衝バッファとしては、できるだけ容量を減らして半導体メモリで構成することが望ましく、容量の増加は、すなわちコストの増加に結びつく。
【００１８】
また、同報伝送を適用するもう一つの手段としては、各印刷エンジンにおいて同一時点で印刷される部位が同一となるように、印刷エンジンの動作をそろえることである。しかし、高速な印刷エンジンの画像印刷部は、動作の慣性の大きな機械部品で構成されるため、複数の印刷エンジン間で、それらの動作を厳密にそろえるには、機械的に回転の軸を連結する為の機構や、印刷エンジン間で同一のマスター・クロックに対する同期追従の制御を行う為の機構等の、マルチ印刷エンジン化の目的の為に新たな機構を必要とし、これもコスト高を招いてしまう。
【００１９】
【発明が解決しようとする課題】
上述の従来技術の問題点を鑑み、本発明では、各印刷エンジンの印刷部位差をより少ない容量の緩衝バッファで吸収できる範囲に抑えつつ、同報伝送を適用することを課題とする。
【００２０】
【課題を解決するための手段】
一般に同報伝送とは、同一のデータをすべてのデータ受信部に対して、一括して伝送するものである。しかし、画像生成エンジンから印刷エンジン群へのデータ伝送スループットに余裕があるのであれば、無理に複数ある印刷エンジンのすべてに対して一括して同報伝送する必然はなく、同一のデータを、複数の同報伝送や複数の独立したデータ伝送を用いて同時に行ってもよい。
【００２１】
よって、以下では、印刷部位差が互いの緩衝バッファで吸収できる印刷エンジン同士に対しては、同報伝送を用い、他と印刷部位差が離れた印刷エンジンに対しては、独立にデータ伝送を行う事を考える。
【００２２】
ここで、まず、マルチ印刷エンジンのプリンタ・システムにおいて、各印刷エンジン間で印刷部位差が生じる理由を考えると、次の三点が挙げられる。
【００２３】
▲１▼各印刷エンジンで動作の周期が安定するまでの時間に差があり、印刷処理を開始するタイミングが異なる。
▲２▼各印刷エンジンの画像印刷部の動作の位相が、一連の印刷処理の開始時点で異なっている。
▲３▼各印刷エンジンの画像印刷部の動作の周期に個体差があり、また、それぞれの周期には揺らぎも有るために、それぞれの位相は徐々に変化する。
【００２４】
ここで、第一の理由に対しては、画像印刷部の回転動作が安定した印刷エンジンの印刷処理開始を待ち合わせるものとする。
【００２５】
次に、第二の理由である画像印刷部の初期の位相が異なる点については、各印刷エンジンの画像印刷部の動作の位相や互いの位相差そのものを知る必要はなく、印刷部位差が互いの緩衝バッファで吸収できるどうかが問題である。つまり、図６に示すように、画像印刷部の動作が安定した印刷エンジンでは、動作の周期毎に印刷処理開始の機会がおとずれるので、各印刷エンジンの画像印刷部がその動作周期中の一基点（例えば、ページ先頭部位の印刷開始位置）にさしかかる時間の差（以下では、印刷時間差と呼ぶ）を基に、同一の同報伝送によるデータ伝送先（同報グループ）とする印刷エンジンを選択する。
【００２６】
印刷エンジン間の印刷部位差は、同一部位の印刷時間差（以下では、単に印刷時間差と呼ぶ）と式１の関係にあるので、印刷時間差を用いて、ある２つの印刷エンジン間の印刷部位差が、緩衝バッファで吸収可能であるかの判断、または、単なる大小比較が可能である。
【００２７】
【数１】
印刷部位差＝印刷時間差×印刷処理のスループット      式１
【００２８】
また、第三の理由、すなわち、各印刷エンジン毎の画像印刷部の動作の周期にある個体差やゆらぎによる位相の変化に対しては、その結果として一連の印刷処理中に、同一の同報グループに属する印刷エンジン間の印刷部位差が緩衝バッファで吸収できなくなったら、同報グループを分離する、または、単にデータ伝送を中断する等の制御を行う。この制御を図７に示す。
【００２９】
なお、本発明の以上の構成および他の構成については特許請求の範囲に記載されている。またこれらの構成は以下に詳細に説明される。
【００３０】
【発明の実施の形態】
以上より、本発明は、大きく次の２つの制御から構成されるものとする。
▲１▼一連の印刷処理の開始時点で、互いの位相差が小さく、印刷部位差を緩衝バッファで吸収可能なもの同士、または、単に互いの位相差が近しいもの同士を同報グループ化する制御。これを以下では、静的制御と呼ぶ。
【００３１】
▲２▼各印刷エンジンの画像印刷部の動作の周期の個体差や、動作の周期のゆらぎにより、一連の印刷処理の最中に、同一の同報グループに属する印刷エンジン間で、印刷部位差が拡大し、緩衝バッファで吸収できなくなったものを分離する、または、単に伝送を中断する制御。これを以下では、動的制御と呼ぶ。
【００３２】
静的制御を実現する手段としては、次の２つを設ける。
【００３３】
（Ａ）各印刷エンジンには、互いの初期の位相差を算出する為の位相情報を画像生成エンジン側に通知する位相情報通知手段を設ける。ここで、位相情報とは、画像印刷部が、その動作周期中の一基点（例えば、ページ先頭部位の印刷開始位置）にさしかかった事を、画像生成エンジンに対して遅延のばらつきなく通知する信号である。
【００３４】
（Ｂ）画像生成エンジンには、各印刷エンジンから通知される位相情報に基づき、互いの初期の印刷部位差が緩衝バッファで吸収可能な印刷エンジン同士、または、互いの初期の印刷部位差が単に近しい印刷エンジン同士を選択して、同報グループとする同報先選択手段を設ける。
【００３５】
動的制御を実現する手段としては、次の２つを設ける。
（Ｃ）各印刷エンジンには、緩衝バッファから出力中（印刷中）の画像データの部位と、緩衝バッファに入力中の画像データの部位の差、即ち、緩衝バッファへの画像データの滞留量を監視し、その状態を示すバッファ状態情報を画像生成エンジンに通知するバッファ状態情報通知手段を設ける。
【００３６】
（Ｄ）画像生成エンジンには、各印刷エンジンから通知されるバッファ状態情報に基づき、フロー制御を行う送出制御手段を設ける。送出制御手段は、バッファ滞留量がその容量を超えそうなものがある期間は、画像データ送出を一時停止し、また、もし、画像データの送出停止中に、バッファ滞留量がゼロとなりそうなものが生じた場合には、該当する印刷エンジンに対するデータ伝送を同報グループから分離独立して開始する。
【００３７】
なお、これら静的制御と、動的制御の２つの制御は、いずれか一方のみを実施しても、両方を組合わせて実施しても良い。
【００３８】
静的制御と動的制御を組み合わせて実施する場合は、静的制御の完了後に、その結果に従う同報グループ毎に、動的制御を適用する。
【００３９】
図８および図９に、静的制御と動的制御を組み合わせて実施する場合のブロック図を示す。図８において、データ送信部１００は画像蓄積部１１０、送出制御手段１２０、データ同報手段１３０、同報先選択手段１４０等を含んで構成されている。同報先選択手段１４０は、データ受信部２００（図９）から送られてくる位相情報に基づいて同報先を決定する。送出制御手段１２０は選択されたデータ受信部２００には同報送信を行い、その他のデータ受信部２００には個別にデータ送信を行なう。データ同報手段１３０はデータ送信を同報し、また個別の宛先にもデータ送信を行う。また、送出制御手段１２０は同報受信中のデータ受信部２００からバッファ状態情報を受け取りデータを緩衝しきれなくなったデータ受信部２００を同報グループから分離して個別にデータを送信する。
【００４０】
図９において、データ受信部２００はデータ受信手段２１０、緩衝バッファ２２０、画像印刷部２３０、位相情報通知手段２４０、バッファ滞留情報通知手段２５０等を含んで構成されている。位相情報通知手段２４０はが争印刷部２３０の位相検知信号に基づいて位相情報をデータ送信部１００に送る。これにより同報グループに属すべきかどうかが決定される。バッファ滞留情報通知手段２５０は緩衝バッファ２２０のバッファ滞留量に基づいてバッファ状態をデータ送信部１００に送信する。これに基づいて同報グループから分離すべきかどうかが決定される。
【００４１】
動作周期の印刷エンジンによる個体差や、単一の印刷エンジンにおける動作周期の変動を考慮する必要がない場合には、動的制御は不要である。静的制御のみを実施する場合は、画像生成エンジンからのデータ送出は、各印刷エンジンの緩衝バッファからに対するデータ入出力が平衡するように、印刷エンジン群の平均印刷スループットに固定して行うものとする。
【００４２】
図１０および図１１に、静的制御のみを実施する場合のブロック図を示す。なお、図１０および図１１と図８および図９との対応する個所には対応する符号を付して詳細な説明を省略する。
【００４３】
また、逆に、各印刷エンジンの初期の位相差が十分小さく、動作周期の印刷エンジンによる個体差や、単一の印刷エンジンにおける動作周期の変動のみを考慮する場合には、動的制御のみを実施すればよい。動的制御のみを実施する場合は、同報グループのメンバ・リストは、固定的に与えるものとする。
【００４４】
図１２および図１３に、動的制御のみを実施する場合のブロック図を示す。この場合にも図８および図９との対応する個所には対応する符号を付して詳細な説明を省略する。
【００４５】
【実施例】
続いて、各手段、および、手段間の信号の具体的な実施例を示す。
【００４６】
まず、静的制御を実現する手段、および、手段間の信号について、具体的な実施例を示す。
【００４７】
各データ受信部（印刷エンジン）の位相信号通知手段では、画像印刷部が、その動作周期中の一基点（例えば、ページ先頭部位の印刷開始位置）にさしかかった事を位相検知信号により検知し、位相情報として画像生成エンジンに対して通知する。ここで、位相検知信号、および、位相情報には、時刻の情報を含む必要はなく、遅延のばらつきなく通知が行われればよい。
【００４８】
その結果、画像生成エンジン側には、図１４に例示するように、各印刷エンジンからの位相信号が周期的に通知される。
【００４９】
ここで、印刷エンジン数：Ｎ、印刷エンジン群の平均動作周期：Ｔ、基準時刻：ｔｂａｓｅ、各印刷エンジン（ｉ）からの位相信号受信時刻：ｔｉ（またはｔ’ｉ）とする。
【００５０】
次に、まず、同報先選択手段の実施例として、この信号を用いて、単に互いの初期の印刷部位差が近しい印刷エンジン同士を選択し、同報グループとするアルゴリズムを示す。
【００５１】
同報先選択手段では、第一のステップとして、各印刷エンジンの相対的位相：ｐｉ（ｉ＝０〜Ｎ−１）を、次式により求める。
【００５２】
【数２】
ｐｉ＝（ｔｉ−ｔｂａｓｅ）  ｍｏｄ  Ｔ                  式２
但し、Ｘ  ｍｏｄ  Ｙは、実数Ｘを実数Ｙで割った商の整数部をＺとするとき、Ｘ−Ｚ×Ｙで求められる値とする。
【００５３】
次に、第二のステップとして、ｐｉの値に基づき、昇順または降順に並び替えを行う。並び替え後の相対的位相の配列をＰｊ、配列のインデックスと各印刷エンジンのインデックスの関係をｉｊとする。図１４の例では、昇順に並べた場合、ｉｊ＝｛ａ，ｃ，ｂ｝となる。
【００５４】
次に、第三のステップとして、Ｐｊの隣りあう要素同士の位相差：Ｄｊ，（ｊ＋１）  ｍｏｄ  Ｎを次式により求める。
【００５５】
【数３】
Ｄｊ，（ｊ＋１）  ｍｏｄ  Ｎ＝（Ｐ（ｊ＋１）  ｍｏｄ  Ｎ−Ｐｊ＋Ｔ）  ｍｏｄ  Ｔ          式３
【００５６】
最後に、第四のステップとして、初期の同報グループ数：Ｍとして、式３で算出される位相差のうち、最大のものから順にＭ個（但し、Ｍ＝１の場合は０個）のｊについて、インデックス（ｉｊ，ｉｊ＋１  ｍｏｄ  Ｎ）を同報グループの境界とする。図１４の例では、Ｄ２，０＞Ｄ１，２＞Ｄ０，１であるので、Ｍ＝２とすると、（ｉ２，ｉ０）＝（ｂ，ａ）、および、（ｉ２，ｉ０）＝（ｃ，ｂ）を境界として、２つの同報グループ｛印刷エンジンａ，印刷エンジンｃ｝、および、｛印刷エンジンｂ｝が形成される。
【００５７】
ここで、初期の同報グループ数：Ｍは、画像生成エンジンからの一同報あたりのデータ送出レート：ｒと画像生成エンジンからの最大のデータ伝送スループット：Ｒから次式で求められる最大同報数：Ｍｍａｘ以下の整数値とする。
【００５８】
【数４】
Ｍｍａｘ＝Ｒ  ｄｉｖ  ｒ            式４
但し、Ｘ  ｄｉｖ  Ｙは、整数Ｘを整数Ｙで割った商の整数部とする。
【００５９】
また、互いの初期の印刷部位差が緩衝バッファで吸収可能な印刷エンジン同士を選択して、同報グループとするアルゴリズムの例としては、緩衝バッファの容量：Ｌ、印刷スループット：Ｓとして、上記第三のステップ以降を次のように行う。
【００６０】
ここで、第二のアルゴリズムの第三のステップでは、任意のｊ（ｊ＝０〜Ｎ−１）とＥ＝Ｎ−１となる変数Ｅを初期値として、Ｅ＝０となるまで次の処理を繰り返す。
【００６１】
まず、式５により求められるＰｊとＰ（ｊ＋ｋ）  ｍｏｄ  Ｎの位相差：Ｄｊ，（ｊ＋ｋ）  ｍｏｄ  Ｎをｋ＝１〜Ｅについて順次求め、その値が式６を最初に満たすｋを求める。
【００６２】
【数５】
Ｄｊ，（ｊ＋ｋ）  ｍｏｄ  Ｎ＝（Ｐ（ｊ＋ｋ）  ｍｏｄ  Ｎ−Ｐｊ＋Ｔ）  ｍｏｄ  Ｔ            式５
【００６３】
【数６】
Ｄｊ，（ｊ＋ｋ）  ｍｏｄ  Ｎ＞Ｌ／Ｓ                  式６
【００６４】
この結果求められるインデックスｉｊからｉ（ｊ＋ｋ−１）  ｍｏｄ  Ｎまでの印刷エンジンの互いの初期の印刷部位差は、緩衝バッファで吸収可能であるので、これらを同一の同報グループとする。
【００６５】
以降、第三のステップでは、ｊ＝（ｊ＋ｋ）  ｍｏｄ  Ｎ、Ｅ＝Ｅ−Ｋとして、上記の処理を繰り返す。
【００６６】
また、さらに、上記第三のステップのｊの初期値として０〜Ｎ−１の値を順次用いて、分割される同報グループの数が最小となるようなｊの初期値を求める第三のアルゴリズムを用いてもよい。
【００６７】
なお、上記のグループ化処理の結果として求められる各同報グループのメンバ・リストを表す信号については、動的制御を実現する手段間の信号（グループ・メンバのビット・リスト：Ｇ）として後述する。
【００６８】
次に、動的制御を実現する手段、および、手段間の信号について、具体的な実施例を示す。
【００６９】
まず、バッファ状態情報の実施例としては、緩衝バッファ内のラスタ画像データの滞留量の変化イベントをあらわす信号を用いる。
【００７０】
すなわち、バッファ状態情報通知手段では、緩衝バッファに対して、図１５に示すような、上方水準と下方水準を設けて、データ滞留量を監視し、図１６に示す３つの状態で管理する。そして、図１７に示す状態の変化が生じた際に、その状態変化をバッファ状態情報として通知する。
【００７１】
緩衝バッファにおける上方水準と下方水準の値については、経験的に最適値を決定してもよいが、その初期値は、次の考えに基づいて決定できる。
【００７２】
まず、上方水準については、ＭＨイベントを通知してから、フロー制御の結果として緩衝バッファへのデータ入力がとまるまでの期間、即ち、少なくとも画像生成エンジンと印刷エンジン間の往復の信号伝搬時間の期間、緩衝バッファからの出力が停止して入力のみが継続してもバッファオーバーフローが発生しないだけのマージンとすればよい。また、下方水準についても同様に、ＭＬイベントを通知してから、緩衝バッファへのデータ入力が再開するまでの期間、即ち、少なくとも画像生成エンジンと印刷エンジン間の往復の信号伝搬時間の期間、緩衝バッファからへの入力が停止して出力のみが継続してもバッファ・アンダー・フローが発生しないだけのマージンとすればよい。
【００７３】
ついで、送出制御手段について実施例を示す。
【００７４】
送出制御手段は、静的制御の結果として決定される印刷エンジンの同報グループ、または、あらかじめ決定された印刷エンジンの同報グループの各々に対して、次の変数を持つ。
【００７５】
▲１▼グループ・メンバのビット・リスト：Ｇ
ビット・リスト：Ｇのビット長はＮ：印刷エンジン数以上とする。
ビット・リスト：Ｇは、グループ・メンバの印刷エンジンのインデックスをｉ（０≦ｉ＜Ｎ）とするとき、グループに属する全メンバについての２ｉの論理和とする。
また、インデックス：ｉの印刷エンジンに対するデータ伝送を分離独立、またはＯＬイベントを受けてデータ伝送を中止する際には、Ｇ自身の値と２ｉとの排他的論理和を算出し保持する。
【００７６】
▲２▼状態Ｈにあるグループ・メンバのビット・リスト：Ａ
ビット・リスト：Ａのビット長はＮ：印刷エンジン数以上とする。
ビット・リスト：Ａは状態表示記号Ｈの状態にあるグループメンバのインデックスに対応するビットが１となるように状態を保持管理する。つまり、初期値を０として、インデックス：ｉの印刷エンジンからイベントＭＨが通知された場合に、Ａ自身の値と２ｉとの論理和を算出し保持する。
また、インデックス：ｉの印刷エンジンからイベントＨＭが通知された場合には、Ａ自身の値と２ｉとの排他的論理和を算出し保持する。インデックス：ｉの印刷エンジンに対するデータ伝送を分離独立、またはＯＬイベントを受けてデータ伝送を中止する際にも、Ａ自身の値と２ｉとの排他的論理和を算出し保持する。
【００７７】
なお、インデックス：ｉの印刷エンジンに対するデータ伝送を分離独立する場合には、それを単一の同報グループとして、対応するにビット・リスト：Ｇ（値は２ｉ）、および、Ａ（初期値は０）を新たに設ける。
【００７８】
送出制御手段は、同報グループ毎に、上記２つの変数と同報グループに属する印刷エンジンからのバッファ状態情報に基づいて、図１８の状態遷移表に示すように振舞う。
【００７９】
次に、同報グループ宛ラスタ画像データ信号、各データ受信部宛ラスタ画像データ信号、および、データ同報手段の実施例を示す。
【００８０】
データ送出手段、または、送出制御手段は、各ページのラスタ画像データを、所定長のデータ（分割データ）に分割し、先頭の分割データから順に通し番号（分割データ・シーケンス番号）を割り振り、図１９に例示する形式のデータ・フレームを作成し、同報グループ宛ラスタ画像データ信号として順次送出する。
【００８１】
なお、図１９の例では、データ・フレームの宛先グループ・アドレスとして、先述のグループ・メンバのビット・リストの値を用いるものとする。そして、データ同報手段では、宛先グループアドレス以降のデータ・フレームの残り部分をコピーして、図２０に例示する形式のデータ・フレームを作成し、宛先グループ・アドレスに保持されるグループ・メンバのビット・リストの中で値が１であるビットに対応するインデックスの印刷エンジン（データ受信部）に宛てて、各データ受信部宛てラスタ画像データ信号として送出する。
【００８２】
なお、本発明には、データ送信部（画像生成エンジン）から各データ受信部（印刷エンジン）へのラスタ画像データ（データ・フレーム）の伝送を実現するデータ伝送手段を含まない。同業者においては、データ伝送手段は、既存の技術を用いて、容易に実現可能である。
【００８３】
【発明の効果】
本発明によれば、画像生成エンジンからのデータ伝送スループットを有効に用いて単〜複数の同報伝送を行うことで、同報グループ内の印刷エンジンの印刷部位差を抑制するため、各画像生成エンジンにおける緩衝バッファの容量を少なくすることが可能である。
すなわち、初期の位相が互いに異なり、かつ、互いに異なる周期で印刷処理を行う複数の印刷エンジンを用いても、緩衝バッファの容量増大に伴なうコスト増加を抑えてマルチ印刷エンジンのプリント・システムを構成し、ページ数・部数の多いプリント・ジョブを、より短時間に印刷出力する事ができる。
また、本発明は、本発明で想定するプリンタ・システムに限らず、それと同様の要求特性を持つデータ伝送系に対して、同様の効果をもたらす。
【図面の簡単な説明】
【図１】  プリンタ装置モデルの説明図である。
【図２】  図１の各部を説明する図である。
【図３】  プリンタ装置における印刷エンジン・マルチ化の説明図である。
【図４】  印刷エンジン間の位相差の説明図である。
【図５】  画像生成エンジン‐印刷エンジン間データ伝送の様態の説明図である。
【図６】  本発明の制御方法の説明図である。
【図７】  本発明の制御方法の説明図である。
【図８】  静的制御と動的制御を組み合わせて実施するデータ送信部手段構成の説明図である。
【図９】  静的制御と動的制御を組み合わせて実施するデータ受信部手段構成の説明図である。
【図１０】  静的制御のみを実施するデータ送信部手段構成の説明図である。
【図１１】  静的制御のみを実施するデータ受信部手段構成の説明図である。
【図１２】  動的制御のみを実施するデータ送信部手段構成の説明図である。
【図１３】  動的制御のみを実施するデータ受信部手段構成の説明図である。
【図１４】  位相信号通知の例の説明図である。
【図１５】  緩衝バッファの状態管理方法の説明図である。
【図１６】  緩衝バッファ状態通知手段の説明図である。
【図１７】  緩衝バッファ状態情報の説明図である。
【図１８】  送出制御手段の状態遷移表の説明図である。
【図１９】  同報グループ宛ラスタ画像データ信号の説明図である。
【図２０】  各データ受信部宛ラスタ画像データ信号の説明図である。
【符号の説明】
１０    画像生成エンジン
２０    印刷エンジン
１００    データ送信部
１１０    画像蓄積部
１２０    送出制御手段
１３０    データ同報手段
１４０    同報先選択手段
２００    データ受信部
２１０    データ受信手段
２２０    緩衝バッファ
２３０    画像印刷部
２４０    位相情報通知手段
２５０    バッファ滞留情報通知手段
【図１】
0003997697.tif 000002
【図２】
0003997697.tif 000003
【図３】
0003997697.tif 000004
【図４】
0003997697.tif 000005
【図５】
0003997697.tif 000006
【図６】
0003997697.tif 000007
【図７】
0003997697.tif 000008
【図８】
0003997697.tif 000009
【図９】
0003997697.tif 000010
【図１０】
0003997697.tif 000011
【図１１】
0003997697.tif 000012
【図１２】
0003997697.tif 000013
【図１３】
0003997697.tif 000014
【図１４】
0003997697.tif 000015
【図１５】
0003997697.tif 000016
【図１６】
0003997697.tif 000017
【図１７】
0003997697.tif 000018
【図１８】
0003997697.tif 000019
【図１９】
0003997697.tif 000020
【図２０】
0003997697.tif 000021