(57)【特許請求の範囲】
【請求項１】
複数の形式の印刷データを入力するデータ入力手段と、
前記データ入力手段により入力された複数のデータ形式の印刷データから中間データを生成する複数の中間データ生成手段と、
前記中間データ生成手段により生成される中間データの生成の完了が検知されると、生成の完了した中間データから画像を形成する画像形成手段と
を備えることを特徴とする画像形成装置。
【請求項２】
前記データ入力手段は、異なる形式の印刷データを、単一の通信路から入力することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記データ入力手段は、異なる形式の印刷データを、それぞれ異なる通信路から入力することを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記中間データ生成手段は、中間データの生成の終了として、印刷ジョブの終了を表わすジョブ終了状態を検知すると、その旨を前記画像形成手段に通知し、前記画像形成手段は、その通知を受けて画像の形成を開始することを特徴とする請求項１に記載の画像形成装置。
【請求項５】
複数の形式の印刷データを入力する画像形成装置の制御方法であって、
入力された複数の形式の印刷データを複数の中間データ生成手段により中間データを生成させる中間データ生成工程と、
前記中間データ生成工程により生成される中間データの生成の完了が検知されると、生成の完了した中間データから画像形成部により画像を形成させる画像形成工程と
を備えることを特徴とする画像形成装置の制御方法。
【請求項６】
前記中間データ生成工程は、印刷データの区切りとして、印刷ジョブの終了を表わすジョブ終了状態を検知すると、その旨を前記画像形成工程に通知し、前記画像形成工程は、その通知を受けて画像の形成を開始することを特徴とする請求項５に記載の画像形成装置の制御方法。
【請求項７】
複数の形式の印刷データを入力する画像形成装置を制御するプログラムを格納するコンピュータ可読の記憶媒体であって、前記プログラムは、
入力された複数の形式の印刷データを複数の中間データ生成手段により中間データを生成させる中間データ生成工程と、
前記中間データ生成工程により生成される中間データの生成の完了が検知されると、生成の完了した中間データから画像形成部により画像を形成させる画像形成工程と
を含むことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばコンピュータなどのホスト装置にに接続された印刷装置や印刷システム、あるいはプリンタ、コピー、ファックスなどが一体化した画像形成装置およびその制御方法に関するものである。
【０００２】
【従来の技術】
近年、コンピュータはＬＡＮ（ローカルエリアネットワーク）によって相互接続されており、プリンタにとどまらず、コピー、ファックス機能を備えたマルチファンクション画像処理装置など多様な周辺機器群も、ＬＡＮによりコンピュータ等と接続することが可能となっている。
【０００３】
フロアなどの構内接続としてのＬＡＮは、一つのユーザグループとして接続された機器の共有使用や機器間のデータ転送を可能としているが、地理的に離れた場所にあるいくつかのＬＡＮを、高速総合デジタルネットワーク（ＩＳＤＮ）回線や公衆電話回線などで接続することによりＷＡＮ（ワイドエリアネットワーク）を構成している場合もある。
【０００４】
通常それぞれのＬＡＮは、共有されるファイルを管理するファイルサーバや、共有されるプリンタを管理するプリントサーバを含むコンピュータ群により構成さる。各コンピュータに搭載されるネットワークオペレーティングシステムは、データやファイルの転送や共有、プリンタの共有などをおこなう各種プロトコルに対応している。また、各コンピュータ上で動作するアプリケーションから転送された印刷ジョブは、一般にプリントサーバを介してネットワーク上に接続されたプリンタへ転送されるようになっている。
【０００５】
各コンピュータ上で動作するユーザアプリケーションには、文書作成ソフト、表計算ソフトなど様々なものがある。それらのアプリケーションを使用して作成されたデータは、オペレーティングシステムの一機能であるプリンタドライバソフトウェアにより、プリンタ制御言語であるＰＤＬ（Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）データに変換された後、印刷ジョブとしてプリントスプーラに一時格納され、プリンタに送出するように構成されていることが多い。
【０００６】
このように生成される印刷ジョブのデータ量は、近年の印刷装置の高解像度化、カラー化に伴って増大している。例えば、Ａ４用紙１ページ分を解像度６００ＤＰＩのイメージ画像で表すと、データ量は約４ＭＢｙｔｅになり、複数ページで構成されたドキュメントを印刷する場合には、数十ＭＢｙｔｅのデータ転送が必要な場合もある。通常これらの画像は圧縮されて転送されることが多いが、それでも多量なデータが転送されることにかわりはない。
【０００７】
このようなデータ転送量の増大のため、従来のインタフェースに較べてより高速なインタフェースをユーザが利用できるようになっている。例えば、ＬＡＮを構築するためのＥｔｈｅｒＮｅｔでは従来１０メガｂｐｓ（ｂｉｔｓ  ｐｅｒ  ｓｅｃｏｎｄ）の転送レートが標準であったが、１００メガｂｐｓの転送能力を備えたＦａｓｔＥｔｈｅｒｎｅｔも普及し始めている。また、シリアルポートにおいても、ＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）といった、セントロニクス仕様に代表されるパラレルポートに較べてより高速な送信ポートを搭載しているホストコンピュータも利用できるようになっている。また更に高速な転送プロトコルとしてＩＥＥＥ規格１３９４が提唱されており、１００メガｂｐｓから最大４００メガｂｐｓのデータ転送が可能なように構成されている場合もある。
【０００８】
このようにプリントスプーラから多様な転送経路を経由して印刷ジョブがプリンタに転送されると、プリンタは受信した印刷データを受信バッファに蓄えつつ、受信したデータをＰＤＬ解析部により直ちに並列処理で実行することにより、印刷すべきラスタビットマップ画像を生成して印刷処理を行う。
【０００９】
一方ページプリンタなどの印刷装置では、これらＬＡＮ接続用のインタフェースに加え、ホストコンピュータと１対１で接続するためパラレルインタフェースや高速／低速シリアルインタフェースなど複数の入力インタフェースを備える場合が多い。例えば、従来シリアルインタフェースとしてＲＳ−２３２Ｃインタフェースやモデム接続によって通信を行なう場合には、９６００ｂｐｓから最大５７６００ｂｐｓ程度のデータ転送能力しか備えていない転送ポートも存在し、近年の高速なＬＡＮインタフェース、高速シリアルインタフェースとの転送能力差は、実効転送能力を加味しても数倍〜数百倍にもなることがある。
【００１０】
【発明が解決しようとする課題】
このような印刷システムで、複数の入力インタフェースを備えたプリンタによって、例えば２つの異なるインターフェースにより異なるデータ源から印刷ジョブを受信すると、最初にデータ受信を開始した第１のインタフェースの印刷データの解析出力を実行している間、第２の入力インタフェースに入力された印刷ジョブは第１の出力が完了するまで受信バッファに保持される。第２のインタフェースの受信バッファが一杯になると、第１のインタフェースの出力完了まで第２のインタフェースによるデータ転送は中断されることになる。
【００１１】
なお印刷ジョブは、プリンタドライバソフトウェアによりプリンタ制御言語（ＰＤＬ）で記述されたデータとして、１つまたは複数の文書ファイルから生成される。印刷ジョブは一つの印刷文書を構成する単位であり、通常、ジョブ開始命令とジョブ終了命令によって区切られている。また、印刷データに明確な区切りがない場合になどにはプリンタ装置側で独自にジョブの開始と終了を定義する場合もある。または、データ転送プロトコルによっては、データ転送パケットに１つの印刷ジョブを関連づける情報を付加し、一つの印刷文書として開始／終了を検知できるようにしている。
【００１２】
このように、前述の通り第１の印刷ジョブの出力が完了するまで第２の印刷ジョブのデータ受信は中断されるため、第１の印刷ジョブの完了を通知する情報をプリンタが受信できなければ、第２の印刷ジョブのデータ受信も中断したままとなってしまう。すなわち、例えばネットワークを構築するための各種機器の混雑度、通信障害、プリントサーバの混雑度、システムダウンなど何らかの要因のために印刷ジョブ終了命令を受信完了できなくなると、他のインターフェースにより接続された、正常なネットワーク上のプリントサーバからの印刷ジョブを受信することができなかった。
【００１３】
また、印刷ジョブはジョブ開始命令の着信順に処理されるように構成しているため、プリンタの有する複数のインターフェースの転送速度が異なっている場合、データ転送能力の低いインタフェースからのジョブ開始命令を先に受信すると、そのデータ転送が終了するまで、高速なインターフェースのデータ転送を実行できないか、もしくは転送途中で中断される場合があり、結果的に全体の処理能力が低下する場合があった。特に、ＷＡＮの一種であるインターネット経由の場合、各ＬＡＮ内の複数のファイル転送サーバを経由してプリントサーバに印刷ジョブがとどけられるため、印刷ジョブファイルの転送を行なう転送サーバの混雑具合により、転送プロトコルの持つ能力値に較べて、実効転送速度が大きく低下する場合がある。このため、インターネット経由での印刷ジョブを行っている場合、その後で開始した印刷ジョブの処理が待たされて、プリンタの印刷能力を充分に発揮できないという問題があった。
【００１４】
さらには、コピー、ファックス、プリンタなどが一体化したマルチファンクション処理装置など、複数の入力インタフェース及び複数の印刷ジョブ解析部が存在するデータ処理装置においては、ある印刷ジョブを処理していると、そのジョブ終了命令の解析が終るまで他の印刷ジョブを印刷することが出来ず、高速なジョブ解析処理部による処理が中断される場合があり、結果的に装置の処理能力を発揮できない場合があった。
【００１５】
本発明は、上記の問題点を解決するためになされたもので、複数の入力インタフェースから入力される印刷ジョブを、それぞれ平行して受信し、先に受信し終えた印刷ジョブから開始することにより、低速なインターフェースによる処理速度低下の影響を最小限に抑えることができる画像形成装置及びその制御方法を提供することを目的とする。
【００１６】
また、複数の入力インタフェースから入力される印刷ジョブを、各入力インターフェースごとに並行して受信することにより、低速なインターフェースの処理のために高速なインターフェースによるデータ受信速度を低下させずに、処理効率を向上させることができる画像形成装置及びその制御方法を提供することを目的とする。
【００１７】
また、複数の入力インタフェースから入力される印刷ジョブを、印刷される形式のデータに変換を完了した順序で出力することで装置全体の処理速度を高めることができる画像形成装置及びその制御方法を提供することを目的とする。
【００１８】
また、互いに異なる形式で入力される印刷ジョブを、印刷される形式のデータに変換を完了した順序で出力することで装置全体の処理速度を高めることができる画像形成装置及びその制御方法を提供することを目的とする。
【００１９】
【課題を解決するための手段】
【００２１】
上記目的を達成するために、本発明は次のような構成からなる。すなわち、複数の形式の印刷データを入力するデータ入力手段と、前記データ入力手段により入力された複数のデータ形式の印刷データから中間データを生成する複数の中間データ生成手段と、前記中間データ生成手段により生成される中間データの生成の完了が検知されると、生成の完了した中間データから画像を形成する画像形成手段とを備える。
【００２２】
好ましくは、前記データ入力手段は、異なる形式の印刷データを、単一の通信路から入力する。
【００２３】
好ましくは、前記データ入力手段は、異なる形式の印刷データを、それぞれ異なる通信路から入力する。
【００２４】
好ましくは、前記中間データ生成手段は、中間データの生成の終了として、印刷ジョブの終了を表わすジョブ終了状態を検知すると、その旨を前記画像形成手段に通知し、前記画像形成手段は、その通知を受けて画像の形成を開始する。
【００２５】
【発明の実施の形態】
［第１の実施の形態］
まず、本発明を適用するに好適なレーザビームプリンタの構成について図１を参照しながら説明する。なお、本実施例を適用するプリンタは、レーザビームプリンタに限られるものではなく、インクジェット方式など他のプリント方式のプリンタでも良い。
＜レーザビームプリンタの構成＞
図１は本発明を適用可能な電子写真方式のプリンタの断面図であり、例えばレーザビームプリンタ（ＬＢＰ）の場合を示す。
【００２６】
図において、ＬＢＰ本体１０００は、外部に接続されているホストコンピュータから供給される印刷情報（文字コード、図形描画命令、イメージデータ等）や外字、フォームデータあるいはマクロ命令等を入力して記憶するとともに、それらの情報に従って対応する画像パターンやフォームパターン等を作成し、記録媒体である記録紙等に像を形成する。操作パネル１０１２には、操作のためのスイッチおよびＬＥＤ表示器等が配されている。プリンタ制御ユニット１００１は、ＬＢＰ本体１０００全体の制御およびホストコンピュータから供給される文字情報等を解析する。このプリンタ制御ユニット１００１は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ１００２に出力する。レーザドライバ１００２は半導体レーザ１００３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１００３から発射されるレーザ光１００４をオン・オフ切り換えする。レーザ光１００４は回転多面鏡１００５で左右方向に振らされて静電ドラム１００６上を走査露光する。これにより、静電ドラム１００６上には画像パターンの静電潜像が形成されることになる。この潜像は、静電ドラム１００６周囲に配設された現像ユニット１００７により現像された後、記録紙に転写される。現像ユニット１００７内には、記録紙に画像を形成するためのトナーの残量検知機構が備えられ、プリンタ制御ユニット１００１により、トナー残量も検知できるようになつている。
【００２７】
転写される記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ１０００に装着した用紙カセット１００８に収納され、給紙ローラ１００９および搬送ローラ１０１０と搬送ローラ１０１１とにより、装置内に取り込まれて、静電ドラム１００６に供給される。用紙カセット１００８には用紙残量検知機構が装備されており、プリンタ制御ユニット１００１により用紙残量を検知できるようになっている。
【００２８】
ＬＢＰ本体１０００には、図示しないカードスロットを備え、内蔵フォントに加えてオプションフォントカード，言語系（ＰＤＬ）の異なる制御カード（エミュレーションカード）、フォームデータやフォントデータを書き込み保時可能なメモリカードを接続できるように構成されている。
＜印刷システムの構成＞
図２は本発明の実施例を示すプリンタ制御システムのブロック図である。ここでは、図１のレーザビームプリンタを用いたシステムを例にして説明する。なお、本発明に係る構成を有するのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ等のネットワークを介して処理が行われるシステムであってもよい。また、システム或は装置にプログラムを供給することによって本発明が実施される場合でも適用できる。この場合、本発明に係わるプログラムを格納した記憶媒体が本発明を構成することになる。そして、該記憶媒体からそのプログラムをシステム或は装置に読み出すことによって、そのシステム或は装置が特定の態様で機能する。
【００２９】
図において、印刷ジョブはパーソナルコンピュータ１（ＰＣ）２０００上で動作するアプリケーションプログラムによりプリンタ制御ユニット用の制御言語として生成され、プリントサーバ２００１内のプリントスプーラ内に格納される。ＰＣ２０００やプリントサーバ２００１は、ネットワークオペレーティングシステムの提供する機能として実現される。プリントサーバ２００１はプリンタ１０００を構成するＬＡＮインタフェースカード１０１３とＬＡＮ２００２を介して通信制御処理を実行し、印刷ジョブをプリンタ制御ユニット１００１へ転送する。すなわち、プリンタ１０００は、ネットワーク接続型印刷システムにおけるプリンタとして機能する。
【００３０】
パーソナルコンピュータ２００３は、ＬＡＮ２００２を介してネットワーク接続されているが、アプリケーションプログラムによって生成された印刷ジョブの転送に関しては、パラレルポートなどを介して通信制御処理を実行し、プリンタ制御ユニットに直接転送できるように構成されている。すなわち、プリンタ１０００は、ダイレクト接続型印刷システムにおけるプリンタでもある。
【００３１】
ここで印刷ジョブとは、入力ページのひとかたまりを定義するジョブ開始命令とジョブ終了命令とにより区切られたデータ単位として入力され、このデータ単位を印刷ジョブと呼ぶ。
【００３２】
また、リセット操作、通信障害等による受信タイムアウトが発生し、装置側で自律的にジョブ終了と認識することにより、印刷ジョブの終了を定義する場合もある。
＜プリンタの構成＞
ネットワーク接続型印刷システムとダイレクト接続型印刷システムとの双方に同時に接続されたプリンタ１０００は、プリンタ全体を制御するとともに印刷ジョブを処理するプリンタ制御ユニット１００１と、オペレータに対するインターフェースである操作部１０１２、印刷される形式に変換されたデータを媒体に印刷する印刷部１−９、フォントデータやプログラム等を格納する外部メモリ１−３などを含んでいる。
【００３３】
プリンタ制御ユニット１００１において、プリンタＣＰＵ１−１は、ＲＯＭ１−２のプログラム用ＲＯＭ等に記憶された制御プログラムに基づいてシステムバス１−４に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インタフェース１−８を介して接続される印刷部（プリンタエンジン）１−９に出力情報としての画像信号を出力する。
【００３４】
ＲＯＭ１−２のプログラムＲＯＭには、図３〜図５のフローチャートで示されるようなＣＰＵ１−１の制御プログラム、印刷部１−９へ転送されるビットマップ画像を生成する画像生成プログラム等を記憶する。ＲＯＭ１−２のフォント用ＲＯＭには上記出力画像を生成する際に使用するフォントデータ（アウトラインフォントデータ或はドットフォントデータ）等を記憶している。ＣＰＵ１−１はＬＡＮインタフェースカード１０１３を介して入力部１（１−１０）によってプリントサーバ２００１との通信処理ができるように構成されている。また、パーソナルコンピュータのパラレルポートを介して通信処理を行なうことが可能な入力部２（１−１１）も備えている。ＲＡＭ１−６は、ＣＰＵ１−１の主メモリ、ワークエリア、受信バッファ等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１−６は、入力部１（１−１０）と入力部２（１−１１）毎に入力されたデータをスプールしておく受信バッファ、印刷すべきデータを中間コードもしくは中間ビットマップ画像として格納するページバッファメモリ、ビットマップ画像が生成されるバンドメモリ、外部メモリ１−３に記憶された外字、フォーム画像などの登録データを一時記憶するためのキャッシュメモリなどに用いられる。
【００３５】
外部メモリ１−３は、メモリコントローラ（ＭＣ）１−７によりアクセスを制御されるハードディスクなどの２次記憶装置などを接続できるようになっている。
【００３６】
この外部メモリ１−３は、ホストコンピュータ２０００上の外字ファイルやフォームファイルなどから転送された登録データを記憶する登録メモリに用いられる。また、入力されたデータを受信格納する受信スプールバッファとしても利用され、更には、印刷すべきデータやフォームデータを中間コード化もしくは中間ビットマップ画像化して格納するページバッファメモリとしても利用される。
【００３７】
操作部１０１２は操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００３８】
また、前述した外部メモリは１個に限らず、１個以上を備えて、内蔵フォントに加えてオプションフォントカード，言語系（ＰＤＬ）の異なるプリンタ制御言語を解釈するエミュレーションプログラムを格納した外部メモリを複数接続できるように構成されていても良い。また、外部メモリとしてハードディスクに限定するものではなく、フラッシュメモリカードなどを装着しても良い。
＜印刷ジョブ入力処理手順＞
図３は図２の印刷システムの入力部１（１−１０）の入力処理を示すフローチャートである。
【００３９】
ホストコンピュータ１（２０００）上のアプリケーションプログラムを用いてユーザから印刷を指示されると、生成された印刷ジョブは、プリントサーバ２００１とＬＡＮインタフェースカード１０１３との間における所定の通信制御手順にしたがって入力部１（１−１０）に入力される。
【００４０】
入力部１（１−１０）は、このようにして入力された印刷データがあるか判断し（Ｓ３０１）、あると判断されると、入力されたデータをＲＡＭ１−６内のスプールバッファ１に格納する（Ｓ３０２）。
【００４１】
入力データのひとまとまりを示すジョブ終了命令を検知するまで、スプールバッファへの格納を実行する（Ｓ３０３−ＮＯ）。
【００４２】
ジョブ終了コマンドを検知し、一つの印刷ジョブを格納し終えたと判断されると（Ｓ３０３−ＹＥＳ）、スプール１受信完了フラグをＯＮにして入力処理を終了する（Ｓ３０４）。スプール１受信完了フラグは、後述するスケジュール制御部１−１３によって参照され、印刷ジョブのスケジューリングに利用される。
【００４３】
図４は図２の印刷システムの入力部２（１−１１）の入力処理を示すフローチャートである。
【００４４】
ホストコンピュータ２（２００３）上のアプリケーションプログラムを用いてユーザから印刷を指示されると、ホストコンピュータ上で生成された印刷ジョブはホストコンピュータ２（２００３）からパラレルポートを経由して直接装置内の入力部２（１−１１）に入力される。
【００４５】
入力部２（１−１１）は、このようにして入力された印刷データがあるか判断し（Ｓ４０１）、入力された印刷データがある判断されると、入力されたデータをＲＡＭ１−６内のスプールバッファ２に格納する（Ｓ４０２）。
【００４６】
入力データのひとまとまりを示すジョブ終了命令を検知するまで、スプールバッファ２への格納を実行する（Ｓ４０３−ＮＯ）。
【００４７】
ジョブ終了コマンドを検知し、一つの印刷ジョブを格納し終えたと判断されると（Ｓ４０３−ＹＥＳ）、スプール２受信完了フラグをＯＮにして終了する（Ｓ４０４）。スプール２受信完了フラグは、後述するスケジュール制御部１−１３によって参照され、印刷ジョブのスケジューリングに利用される。
＜印刷ジョブスケジューリング手順＞
図５は図２におけるプリンタのスケジュール制御部１−１３による、プリンタ各部による処理の順序を制御処理を示すフローチャートである。
【００４８】
まず、ひとまとまりの印刷ジョブのスプールバッファ１への格納を完了したことを意味するスプール１完了フラグがＯＮかどうかを判断する（Ｓ５０１）。スプール１完了フラグがＯＮであり、入力部１（１−１０）から入力された印刷ジョブの受信が完了していると判断したならば、ＲＡＭ１−６内のスプールバッファ１を選択する（Ｓ５０２）。
【００４９】
一方、Ｓ５０１において、スプール１完了フラグがＯＦＦならば、入力部２（１−１１）にデータが入力され、印刷ジョブのスプールバッファ２への格納を受信していることを示すスプール２完了フラグがＯＮかどうかを判断する（Ｓ５０３）。スプール２完了フラグがＯＮであり、入力部２（１−１１）から入力された印刷ジョブの受信が完了していると判断したならば、ＲＡＭ１−６内のスプールバッファ２を選択する（Ｓ５０４）。
【００５０】
一方、Ｓ５０３において、スプール２完了フラグがＯＦＦならば、いずれかのスプール完了フラグがＯＮとなるまで判定ループを繰り返す。
【００５１】
このようにしてスプールバッファが選択されると、選択されたスプールバッファに格納された印刷ジョブは、ジョブ解析部１−１２によって解析され、中間ページが生成される（Ｓ５０５）。
【００５２】
ジョブ解析部１−１２は、印刷データ（印字位置を示す制御コードや文字コードなど）を読み込み、対応するＰＤＬ解析処理を実行し、制御コードなどで指定された印字位置に対応するバンド単位に分類してＲＡＭ１−６内のページバッファメモリに中間データとして格納する。その際、印刷データ中の改ページ命令などのページ終了制御コードを検知するまで同一ページの中間データとしてページ単位に格納する（Ｓ５０６）。印刷データの終了を示す印刷ジョブ終了命令を検知するまで、中間ページ生成（Ｓ５０５）と中間ページ格納処理（Ｓ５０６）を繰り返し実行する（Ｓ５０７）。
【００５３】
Ｓ５０７において印刷ジョブの解析及び中間ページ生成処理が終了したと判断されると、処理されていた印刷ジョブが格納されていたスプールバッファに対応するスプール完了フラグをＯＦＦにする（Ｓ５０８）。
【００５４】
このように生成されたＲＡＭ１−６内のページバッファに格納された中間ページをＲＡＭ１−６内のビットマップメモリに順次ビットマップ展開し、生成された出力すべきビットマップ画像を印刷部Ｉ／Ｆ１−８を介して印刷部１−９に転送し印刷を実行する（Ｓ５０９）。
【００５５】
なお、図５では直列の処理として記載されているが、ＲＡＭ１−６内のページバッファへ中間ページを生成して格納する処理（Ｓ５０５，Ｓ５０６）と、格納された中間ページをビットマップ画像に変換して出力する処理（Ｓ５０９）とは、互いに独立して並行処理できるように構成されている。
【００５６】
このように、複数の異なる入力部を有するプリンタにおいては、印刷ジョブの解析を、印刷ジョブをすべて受信してから開始するために、たとえ一方のインターフェースに障害が発生したとしても、正常な法のインターフェースはその影響を被ることなく印刷ジョブの受信を遂行でき、また印刷出力できる。
【００５７】
また、各インターフェース間に速度差があっても、最も早く受信を完了した印刷ジョブから出力が開始されるため、遅いインターフェースがプリンタの処理効率を低下させることはない。
【００５８】
なお、スケジュール制御部１−１３においては、全ての入力部について、ＯＮになったスプール完了フラグに対応するスプールファイルに格納された印刷ジョブを、ジョブ解析部１−１２において解析するとしたが、特定の入力部を対象に図５のスケジュール制御を実行しても良い。その場合、例えばＮＶＲＡＭ１−５内に入力部毎のスプール設定フラグを設け、高速データ転送可能な入力部についてはスプール設定フラグをＯＦＦの設定とする。その場合には、スケジュール制御部１−１３では、印刷ジョブが入力されるとスプールの完了を待つことなく、直ちに印刷ジョブの解析処理を実行するように制御する。すなわちこの場合には、印刷ジョブが入力されていれば、スプール完了フラグがＯＦＦであっても印刷ジョブの解析処理を開始する。
【００５９】
一方、低速な入力部についてはスプール設定フラグをＯＮの設定とする。その場合には、スケジュール制御部１−１３では、図５の通りスプールの完了を待って印刷ジョブの処理を実行するよう制御する。こうすることにより、低速のインターフェースによる印刷データの受信は、高速のインターフェースにより受信している印刷データの処理とは独立して行われるため、高速のインターフェースにより受信している印刷データの処理を妨げることはない。
【００６０】
なお、本実施形態では、入力インターフェースは２系統であるものとして説明したが、３つ以上の場合にも同様にしてスケジューリング処理できる。
［第２の実施の形態］
図６は本発明の第２の実施形態であるプリンタ制御システムのブロック図である。
＜印刷システムの構成＞
図において、印刷ジョブはパーソナルコンピュータ１（ＰＣ）２０００上で動作するアプリケーションプログラムによりプリンタ制御ユニット用の制御言語として生成され、プリントサーバ１（２００１）内のプリントスプーラ内に格納される。ＰＣ２０００やプリントサーバ１（２００１）は、ネットワークオペレーティングシステムの提供する機能として実現される。プリントサーバ１（２００１）は、プリンタ１０００を構成するＬＡＮインタフェースカード１０１３とＬＡＮ２００２を介して通信制御処理を実行し、印刷ジョブをプリンタ制御ユニット１００１へ転送する。
【００６１】
一方パーソナルコンピュータ２（２００３）も同様にＬＡＮ２００２を介してネットワーク接続されており、アプリケーションプログラムによって生成された印刷ジョブはプリントサーバ２の２００４内のプリントスプーラ内に格納される。プリントサーバ２（２００４）もプリンタ１０００を構成するＬＡＮインタフェースカード１０１３とＬＡＮ２００２を介して通信制御処理を実行し、印刷ジョブをプリンタ制御ユニット１００１へ転送できるように構成されている。
【００６２】
プリンタ制御ユニット１００１において、プリンタＣＰＵ１−１は、ＲＯＭ１−２のプログラム用ＲＯＭに記憶された制御プログラム等に記憶された制御プログラムに基づいてシステムバス１−４に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インタフェース１−８を介して接続される印刷部（プリンタエンジン）１−９に出力情報としての画像信号を出力する。
【００６３】
また、このＲＯＭ１−２のプログラムＲＯＭには、図７〜図９のフローチャートで示されるようなＣＰＵ１−１の制御プログラム、印刷部１−９へ転送されるビットマップ画像を生成する画像生成プログラム等を記憶する。ＲＯＭ１−２のフォント用ＲＯＭには上記出力画像を生成する際に使用するフォントデータ（アウトラインフォントデータ或はドットフォントデータ）等を記憶している。ＣＰＵ１−１はＬＡＮインタフェースカード１０１３を介して入力部１（１−１０）によってプリントサーバ１（２００１）やプリントサーバ２（２００４）との通信処理ができるように構成されている。
【００６４】
ＲＡＭ１−６は、ＣＰＵ１−１の主メモリ、ワークエリア、受信バッファ等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１−６は、入力部１−１０から入力されるプリントサーバ毎の入力データをスプールしておく受信バッファ、印刷すべきデータを中間コードもしくは中間ビットマップ画像として格納するページバッファメモリ、ビットマップ画像が生成されるバンドメモリ、外部メモリ１−３に記憶された外字、フォーム画像などの登録データを一時記憶するためのキャッシュメモリなどに用いられる。
【００６５】
外部メモリ１−３は、メモリコントローラ（ＭＣ）１−７によりアクセスを制御されるハードディスクなどの２次記憶装置などを接続できるようになっている。この外部メモリ１−３は、ホストコンピュータ２０００上の外字ファイルやフォームファイルなどから転送された登録データを記憶する登録メモリに用いられる。また、入力されたデータを受信格納する受信スプールバッファとしても利用され、更には、印刷すべきデータやフォームデータを中間コード化もしくは中間ビットマップ画像化して格納するページバッファメモリとしても利用される。
【００６６】
また、操作部１０１２は、前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００６７】
また、前述した外部メモリは１個に限らず、１個以上を備えて、内蔵フォントに加えてオプションフォントカード，言語系（ＰＤＬ）の異なるプリンタ制御言語を解釈するエミュレーションプログラムを格納した外部メモリを複数接続できるように構成されていても良い。また、外部メモリとしてハードディスクに限定するものではなく、フラッシュメモリカードなどを装着しても良い。
【００６８】
さらに、プリンタ制御部１００１は、印刷ジョブ処理のためのジョブ解析部１，２、スプールバッファ１，２、ページバッファメモリ１，２を、それぞれ２つずつもっている。これらは、それぞれが組みを形成して、それぞれ異なる２種類のＰＤＬにより記述された印刷ジョブに対応したり、あるいは一方がＰＤＬで記述された印刷ジョブを処理するためのもので、もう一方が、例えばファクシミリデータなど、プリンタとして受信した印刷データではないデータを処理するためのものであったりしてもよい。この印刷システムでは、すなわち、異なる形式で送られてくる印刷ジョブを互いに独立に処理するために、それぞれの形式に対応したジョブ解析部と、そのためのメモリが用意されている。
＜ジョブ解析処理＞
図１０は第２の実施形態の印刷システムにおける入力部１−１０の通信制御処理を示すフローチャートである。
【００６９】
ＬＡＮインタフェースカード１０１３を介して各プリントサーバから転送される通信データを受信すると（Ｓ１００１）、通信データパケットの解析を実行し（Ｓ１００２）、ジョブ解析部１（１−１１）用のデータか、ジョブ解析部２（１−１２）用のデータかの判断を実行し（Ｓ１００３）、ジョブ解析部１（１−１１）用のデータであると判断されると、ジョブ１データとして通信制御を実行して受信し（Ｓ１００４）、ＲＡＭ１−６内のスプールバッファ１に格納する（Ｓ１００５）。
【００７０】
一方、Ｓ１００３において、ジョブ解析部２（１−１２）用のデータと判断された場合には、ジョブ２データとして通信制御を実行して受信し（Ｓ１００７）、ＲＡＭ１−６内のスプールバッファ２に格納する（Ｓ１００８）。
【００７１】
図７は、このようにして受信した印刷ジョブを、ジョブ解析部１により処理する手順を示すフローチャートである。
【００７２】
スプールバッファ１にデータが格納されていると判断されると（Ｓ７０１−ＹＥＳ）、スプールバッファ１に格納された印刷データをジョブ解析部１（１−１１）により読み出して、印刷データ（印字位置を示す制御コードや文字コードなど）を読み込み、対応するＰＤＬ解析処理を実行する（Ｓ７０３）。そして、制御コードなどで指定された印字位置に対応するバンド単位に分類してＲＡＭ１−６内のページバッファ１に中間ページデータとして格納する（Ｓ７０４）。その際、印刷データ中の改ページ命令などのページ終了制御コードを検知するまで同一ページの中間データとしてページ単位に格納する。同様にして、印刷ジョブの終了を示すジョブ終了命令を検知するまで、中間ページ生成と格納処理Ｓ７０２〜Ｓ７０４を繰り返し実行する（Ｓ７０５−ＮＯ）。
【００７３】
ジョブ終了コマンドを検知し、一つの印刷ジョブを格納されたと判断されると（Ｓ７０５−ＹＥＳ）、ページバッファ１完了フラグをＯＮにして終了する（Ｓ７０６）。
【００７４】
ページバッファ１完了フラグは、後述するスケジュール制御部１−１３によって参照され、印刷ジョブのスケジューリングに利用される。
【００７５】
図８は、受信した印刷ジョブを、ジョブ解析部２により処理する手順を示すフローチャートである。
【００７６】
スプールバッファ２にデータが格納されていると判断されると（Ｓ８０１−ＹＥＳ）、スプールバッファ２に格納された印刷データをジョブ解析部２（１−１２）により読み出して、印刷データ（印字位置を示す制御コードや文字コードなど）を読み込み対応するＰＤＬ解析処理を実行する（Ｓ８０３）。そして、制御コードなどで指定された印字位置に対応するバンド単位に分類してＲＡＭ１−６内のページバッファ２に中間データとして格納する（Ｓ８０４）。その際、印刷データ中の改ページ命令などのページ終了制御コードを検知するまで同一ページの中間データとしてページ単位に格納する。同様にして、印刷ジョブの終了を示すジョブ終了命令を検知するまで中間ページ生成と格納処理Ｓ８０２〜Ｓ８０４を繰り返し実行する（Ｓ８０５−ＮＯ）。
【００７７】
ジョブ終了コマンドを検知し、一つの印刷ジョブを格納されたと判断されると（Ｓ８０５−ＹＥＳ）、ページバッファ２完了フラグをＯＮにして終了する（Ｓ８０６）。
【００７８】
ページバッファ２完了フラグは、後述するスケジュール制御部１−１３によって参照され、印刷ジョブのスケジューリングに利用される。
【００７９】
以上の図７及び図８の手順により、スプールバッファ１に格納されたデータをジョブ解析部１により解析し、ページバッファ１に中間ページデータとして格納するという処理と、スプールバッファ２に格納されたデータをジョブ解析部２により解析し、ページバッファ２に中間ページデータとして格納するという処理とを、並列に互いに独立して行うことができる。
【００８０】
図９は図６の印刷システムにおけるスケジュール制御部１−１３の制御処理を示すフローチャートである。
【００８１】
まず、ジョブ解析部１（１−１１）により、ひとかたまりの印刷ジョブをＲＡＭ１−６内のページバッファ１に格納し終えたことを意味するページバッファ１完了フラグがＯＮかどうかを判断し（Ｓ９０１）、ＯＮであれば、すなわち中間ページデータの生成が完了していれば、ジョブ解析部１（１−１１）によって生成された中間ページデータが格納されたページバッファ１を選択する（Ｓ９０２）。
【００８２】
一方、Ｓ９０１において、ページバッファ１完了フラグがＯＦＦならば、ジョブ解析部２（１−１２）により、ひとかたまりの印刷ジョブをＲＡＭ１−６内のページバッファ２に格納し終えたことを意味するページバッファ２完了フラグがＯＮかどうかを判断し（Ｓ９０３）、ＯＮであれば、すなわち中間ページデータの生成が完了していれば、ジョブ解析部２（１−１２）によって生成された中間ページデータが格納されたページバッファ２を選択する（Ｓ９０４）。
【００８３】
一方、Ｓ９０３において、ページバッファ２完了フラグもＯＦＦならば、いずれかのジョブ解析部によって印刷ジョブがＲＡＭ１−６内のそれぞれのページバッファに格納されるまで判定ループを繰り返して、印刷部１−９への出力待ち状態となる。
【００８４】
このようにして中間ページデータが読み出されるページバッファが選択されると、選択されたページバッファ内の中間ページデータを読み出してＲＡＭ１−６内のビットマップメモリに順次ビットマップ画像データとして展開し、生成されたビットマップ画像データを、印刷部Ｉ／Ｆ１−８を介して印刷部１−９に転送し印刷を実行する（Ｓ９０５）。
【００８５】
このようにして、選択された一つの印刷ジョブを構成する中間ページの出力を、その印刷ジョブの終わりまで繰り返し実行する（Ｓ９０６）。
【００８６】
ひとつの印刷ジョブの出力が完了すると、その印刷ジョブに対応するページバッファ完了フラグをＯＦＦにして終了する（Ｓ９０７）。
【００８７】
以上のようにして、異なる形式で送信されてきたデータを並行して受信し、そのデータ形式に対応したジョブ解析部で処理して中間ページデータの生成が終了した印刷ジョブから順に出力する。これにより、複数の異なる形式で入力された印刷ジョブを印刷ジョブ毎にソートして受信バッファに格納すし、複数のジョブ解析部による処理を同時に実行することができる。したがって装置の効率的利用が可能となり、印刷システム全体の処理速度を高めることができる。
【００８８】
なお、ジョブ解析部１（１−１１）及びジョブ解析部２（１−１２）は、ＰＤＬ解析処理として説明したが、これに限らない。例えば、ＰＤＬのジョブ解析部とファクシミリやスキャナ画像のジョブを解析してＲＡＭ１−６内のページバッファに格納するようにしても良い。
【００８９】
また、スケジュール制御部１−１３において、全てのジョブ解析部においてページバッファ完了フラグがＯＮになったものを印刷部１−９において印刷するとしたが、特定のジョブ解析部を対象にスケジュール制御を実行しても良い。その場合、例えばＮＶＲＡＭ１−５内にジョブ解析部毎のスプール設定ＯＮ／ＯＦＦフラグを設け、高速データ転送可能な入力部においてはスプールＯＦＦの設定とし、印刷ジョブの解析が終了するとスプールを完了することなく直ちに印刷処理を実行するように制御し、低速な入力部及びジョブ解析部においてはスプールＯＮと設定したスケジュール制御を実行することにより、印刷部１−９を効率的に動作させることができる。
【００９０】
なお、本実施形態では入力部はひとつであるとしてが、データの形式ごとに異なる入力部が用意されている場合にも本実施形態と同様な手順でスケジュールすることができる。
【００９１】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００９２】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
【００９３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９４】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００９５】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００９６】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００９７】
【発明の効果】
以上述べたように本発明によれば、複数の形式で入力された印刷データから平行して中間データを生成できる。したがって装置の効率的利用が可能となり、印刷システム全体の処理速度を高めることができる。
【００９８】
また、複数の入力インタフェースから入力される印刷ジョブを、各入力インターフェースごとに並行して受信することにより、低速なインターフェースの処理のために高速なインターフェースによるデータ受信速度を低下させずに、処理効率を向上させることができる。
【００９９】
また、複数の入力インタフェースから入力される印刷ジョブを、印刷される形式のデータに変換を完了した順序で出力することで装置全体の処理速度を高めることができる。
【０１０１】
【図面の簡単な説明】
【図１】画像形成装置の構成を示す断面図である。
【図２】第１の実施形態の印刷システムのブロック図である。
【図３】第１の実施形態の印刷システムにおける入力処理のフローチャートである。
【図４】第１の実施形態の印刷システムにおける入力処理のフローチャートである。
【図５】第１の実施形態におけるスケジュール制御部１−１３の出力スケジュール制御処理のフローチャートである。
【図６】第２の実施形態の印刷システムのブロック図である。
【図７】第２の実施形態の印刷システムのジョブ解析処理のフローチャートである。
【図８】第２の実施形態の印刷システムのジョブ解析処理のフローチャートである。
【図９】第２の実施形態におけるスケジュール制御部１−１３の出力スケジュール制御処理のフローチャートである。
【図１０】第２の実施形態におけるデータ入力の制御処理のフローチャートである。
【符号の説明】
１−１  ＣＰＵ
１−２  ＲＯＭ
１−３  ハードディスク
１−４  システムバス
１−５  ＮＶＲＡＭ
１−６  ＲＡＭ
１−９  印刷部
１−１３  スケジュール制御部
１０００  プリンタ
１００１  プリンタ制御ユニット
１０１２  操作部
１０１３  ＬＡＮインタフェースカード
２０００  パーソナルコンピュータ
２００１  プリントサーバ
２００２  ＬＡＮ
２００３  パーソナルコンピュータ
２００４  プリントサーバ
【図１】
0003624090.tif 000002
【図２】
0003624090.tif 000003
【図３】
0003624090.tif 000004
【図４】
0003624090.tif 000005
【図５】
0003624090.tif 000006
【図６】
0003624090.tif 000007
【図７】
0003624090.tif 000008
【図８】
0003624090.tif 000009
【図９】
0003624090.tif 000010
【図１０】
0003624090.tif 000011