(57)【特許請求の範囲】
【請求項１】
印刷装置であって、
前記印刷装置と別体の上位装置が生成する複数の画像データが、該上位装置から双方向の通信を行う転送路をそれぞれ介して転送されて書き込まれる複数の記憶手段と、
前記複数の記憶手段それぞれの記憶空間と同一の記憶空間を示す記憶空間情報を持ち、該記憶空間情報により該複数の記憶手段に対する画像データの書き込みおよび読み出しを行うためのアドレス情報を管理する制御手段と、
前記複数の記憶手段それぞれに対応して設けられ、前記複数の記憶手段をそれぞれ独立に制御して、前記複数の記憶手段に対する前記画像データの書き込みおよび読み出しを前記アドレス情報に従い行う複数のデータ管理手段と、
前記複数の記憶手段それぞれから読み出した前記画像データを同一のページに印刷する印刷手段と
を有する
ことを特徴とする印刷装置。
【請求項２】
前記記憶空間情報を前記複数の記憶手段に共通で持つ
ことを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記記憶空間情報を前記複数の記憶手段毎に持つ
ことを特徴とする請求項１に記載の印刷装置。
【請求項４】
前記制御手段は、
前記読み出しの先頭アドレスを示す第１のアドレス情報と、前記書き込みの先頭アドレスを示す第２のアドレス情報とを管理する
ことを特徴とする請求項１乃至請求項３の何れか１項に記載の印刷装置。
【請求項５】
前記制御手段は、
前記第１のアドレス情報が示すアドレスと前記第２のアドレス情報が示すアドレスとの差分に基づき、前記複数の記憶手段の空き領域を管理する
ことを特徴とする請求項４に記載の印刷装置。
【請求項６】
前記制御手段は、
前記複数の記憶手段の全てに対する所定単位の前記画像データの書き込みの終了に応じて、前記書き込みの先頭アドレスを該所定単位分移動させて前記第２のアドレス情報を更新する
ことを特徴とする請求項４または請求項５に記載の印刷装置。
【請求項７】
前記制御手段は、
前記複数の記憶手段の全てからの、前記所定単位の前記画像データの読み出しの終了に応じて、前記読み出しの先頭アドレスを該所定単位分移動させて前記第１のアドレス情報を更新する
ことを特徴とする請求項４乃至請求項６の何れか１項に記載の印刷装置。
【請求項８】
前記制御手段は、
前記複数の記憶手段の全てから前記所定単位の前記画像データの読み出しが終了してから、該複数の記憶手段に前記画像データが書き込まれるまでの間の何れかの時点で、該更新直前の前記第１のアドレス情報で示されるアドレスから前記所定単位分の領域をゼロクリアする
ことを特徴とする請求項７に記載の印刷装置。
【請求項９】
前記制御手段は、
前記第２のアドレス情報の更新の際に、該更新直前の前記第１のアドレス情報で示されるアドレスから前記所定単位分の領域をゼロクリアする
ことを特徴とする請求項８に記載の印刷装置。
【請求項１０】
印刷装置の制御方法であって、
制御手段が、前記印刷装置と別体の上位装置が生成する複数の画像データが、該上位装置からの双方向の通信を行う転送路それぞれを介して転送されて書き込まれる複数の記憶手段それぞれの記憶空間と同一の記憶空間を示す記憶空間情報により、該複数の記憶手段に対する画像データの書き込みおよび読み出しを行うためのアドレス情報を管理する制御ステップと、
データ管理手段が、前記複数の記憶手段それぞれに対応して設けられ、前記複数の記憶手段をそれぞれ独立に制御して、前記複数の記憶手段に対する前記画像データの書き込みおよび読み出しを前記アドレス情報に従い行う複数のデータ管理ステップと、
印刷手段が、前記複数の記憶手段それぞれから読み出した前記画像データを同一のページに印刷する印刷ステップと
を有する
ことを特徴とする印刷装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置から転送された印刷画像データに従い印刷を行う印刷装置および印刷装置の制御方法に関する。
【背景技術】
【０００２】
従来から、印刷装置と、当該印刷装置に対して印刷データを渡すと共に印刷指示を行う上位装置とから構成される印刷システムが知られている。このような印刷システムでは、例えば、上位装置は、ホスト装置から送信された、ページ記述言語（ＰＤＬ：Page  Description  Language）で記述された印刷データに従いＲＩＰ(Raster  Image  Process)によりラスタイメージによる印刷画像データを生成し、生成した印刷画像データを印刷装置の印刷制御部に転送する（特許文献１参照）。
【０００３】
また、上述の印刷システムとは異なり、プリンタコントローラと、プリンタエンジンと、プリンタコントローラおよびプリンタエンジンを接続するデータ線とを備える印刷装置が既に知られている（特許文献２参照）。この特許文献２の印刷装置では、プリンタコントローラとプリンタエンジンとの間で各種制御情報の送受信を行う制御線と、印刷画像データの送受信を行うデータ線とを分離し、データ転送の高速化が図られている。また、この印刷システムにおいて、データ線を各色毎に設け、各色の印刷画像データを並列的に転送することで、カラー印刷におけるデータ転送の高速化が図られている。
【０００４】
さらに、印刷画像データを生成する上位装置と、印刷画像データによる印刷を行う印刷装置とを接続する制御線とデータ線とを分離した印刷システムが提案されている。この印刷システムでは、データ処理専用コントローラに対する印刷画像データの転送タイミングの制御と、印刷対象の用紙を搬送する用紙搬送制御などの印刷制御を、印刷制御用コントローラで一括制御する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、従来技術によれば、制御線とデータ線とを分離した印刷システムにおいて、データ線を各色毎に設けてカラー印刷を行う場合、プリンタエンジン側に各色の印刷画像データを格納する１つのバッファメモリが必要になる。一方、カラー印刷においては、複数の色による印刷を１の印刷対象の用紙に対して位置を合わせて行うことで、当該複数の色が視覚的に混合されて略フルカラーの印刷が可能となる。
【０００６】
そのため、プリンタコントローラは、制御線から、各色を同期させたバッファメモリの制御を行う必要があり、バッファメモリの制御が複雑になってしまうおそれがある。したがって、バッファメモリに格納される各色の印刷画像データの同期制御をより容易に実現可能なバッファメモリの管理方法が求められていた。
【０００７】
本発明は、上記に鑑みてなされたものであって、互いに独立して印刷制御される複数の印刷画像データを格納するバッファメモリの管理を容易とすることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、印刷装置であって、印刷装置と別体の上位装置が生成する複数の画像データが、上位装置から双方向の通信を行う転送路をそれぞれ介して転送されて書き込まれる複数の記憶手段と、複数の記憶手段それぞれの記憶空間と同一の記憶空間を示す記憶空間情報を持ち、記憶空間情報により複数の記憶手段に対する画像データの書き込みおよび読み出しを行うためのアドレス情報を管理する制御手段と、複数の記憶手段それぞれに対応して設けられ、複数の記憶手段をそれぞれ独立に制御して、複数の記憶手段に対する画像データの書き込みおよび読み出しをアドレス情報に従い行う複数のデータ管理手段と、複数の記憶手段それぞれから読み出した画像データを同一のページに印刷する印刷手段とを有することを特徴とする。
【０００９】
また、本発明は、印刷装置の制御方法であって、制御手段が、印刷装置と別体の上位装置が生成する複数の画像データが、上位装置からの双方向の通信を行う転送路それぞれを介して転送されて書き込まれる複数の記憶手段それぞれの記憶空間と同一の記憶空間を示す記憶空間情報により、複数の記憶手段に対する画像データの書き込みおよび読み出しを行うためのアドレス情報を管理する制御ステップと、データ管理手段が、複数の記憶手段それぞれに対応して設けられ、複数の記憶手段をそれぞれ独立に制御して、複数の記憶手段に対する画像データの書き込みおよび読み出しをアドレス情報に従い行う複数のデータ管理ステップと、印刷手段が、複数の記憶手段それぞれから読み出した画像データを同一のページに印刷する印刷ステップとを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、互いに独立して印刷制御される複数の印刷画像データを格納するバッファメモリの管理が容易となるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の各実施形態に適用可能な印刷システムの一例の構成を示すブロック図である。
【図２−１】図２−１は、上位装置の一例の構成を示すブロック図である。
【図２−２】図２−２は、上位装置の機能を示す一例の機能ブロック図である。
【図３−１】図３−１は、プリンタ装置の一例の構成を示すブロック図である。
【図３−２】図３−２は、プリンタコントローラの一例の構成を示すブロック図である。
【図４−１】図４−１は、データ転送制御部の一例の構成を概略的に示すブロック図である。
【図４−２】図４−２は、データ転送制御部の一例の構成をより詳細に示すブロック図である。
【図５】図５は、画像出力部の一例の構成を示すブロック図である。
【図６】図６は、本発明の各実施形態に適用可能な用紙の搬送系を含めたプリンタ装置の一例の構造を概略的に示す略線図である。
【図７】図７は、上位装置とプリンタ装置のプリンタコントローラとの間で送受信される制御情報の一例を示す略線図である。
【図８】図８は、本発明の各実施形態に適用可能な印刷処理を概念的に示す一例のシーケンス図である。
【図９−１】図９−１は、本発明の各実施形態に適用可能な上位装置の処理の例を示すフローチャートである。
【図９−２】図９−２は、本発明の各実施形態に適用可能なプリンタコントローラの処理の例を示すフローチャートである。
【図９−３】図９−３は、本発明の各実施形態に適用可能なプリンタコントローラの印刷指示の一例の処理を示すフローチャートである。
【図９−４】図９−４は、本発明の各実施形態に適用可能な各データ転送制御部の処理の例を示すフローチャートである。
【図１０−１】図１０−１は、本発明の各実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。
【図１０−２】図１０−２は、本発明の各実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。
【図１０−３】図１０−３は、本発明の各実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。
【図１１−１】図１１−１は、本発明の各実施形態に適用可能な上位装置の処理の別の例を示すフローチャートである。
【図１１−２】図１１−２は、本発明の各実施形態に適用可能なデータ転送制御部の処理の別の例を示すフローチャートである。
【図１２】図１２は、本発明の各実施形態による仮想メモリについて説明するための略線図である。
【図１３】図１３は、仮想メモリのより具体的な例を示す略線図である。
【図１４】図１４は、仮想メモリ上での入力ポインタおよび出力ポインタの制御について説明するための略線図である。
【図１５】図１５は、本発明の第１の実施形態に適用される転送管理テーブルの一例を示す略線図である。
【図１６】図１６は、印刷対象に関する情報について説明するための略線図である。
【図１７】図１７は、プリンタコントローラが上位装置からデータを受信した場合の一例の処理を示すフローチャートである。
【図１８】図１８は、仮想メモリによるメモリの空き容量のチェックについて説明するための略線図である。
【図１９】図１９は、仮想メモリによるメモリの空き容量のチェックについて説明するための略線図である。
【図２０】図２０は、転送終了時の一例の処理を示すフローチャートである。
【図２１】図２１は、印刷終了時の一例の処理を示すフローチャートである。
【図２２】図２２は、各色で異なるサイズのビットマップデータを転送する場合の例について説明するための略線図である。
【図２３】図２３は、本第２の実施形態による転送管理テーブルの一例の構成を示す略線図である。
【図２４】図２４は、第１の方法による印刷画像データのメモリ上への一例の配置方法について説明するための略線図である。
【図２５】図２５は、第２の方法による印刷画像データのメモリ上への一例の配置方法について説明するための略線図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、本発明に係る印刷システムの実施形態を詳細に説明する。先ず、理解を容易とするために、各実施形態による印刷システムが適用されるプロダクションプリンティングについて、概略的に説明する。プロダクションプリンティングでは、短時間に大量の印刷を行うことを基本的な考え方としている。そのために、プロダクションプリンティングでは、印刷の高速化を図ると共に、ジョブ管理や印刷データの管理などを効率的に行うために、印刷データの作成から印刷物の分配までの管理を行うワークフローのシステムを構築する。
【００１３】
各実施形態による印刷システムは、プロダクションプリンティングのワークフローにおける、印刷を実行する部分に関わるもので、ＲＩＰ(Raster  Image  Processor)処理と、ＲＩＰ処理により得られたビットマップデータの印刷とを別の装置で行う。ＲＩＰ処理は、印刷処理の中でも最も処理時間を要し、ＲＩＰ処理を行う装置と、印刷処理を行う装置とを分離することで、印刷の高速化が可能となる。
【００１４】
（各実施形態に適用可能な印刷システムの概要）
図１は、本発明の各実施形態に適用可能な印刷システムの一例の構成を示す。この印刷システムは、上位装置１０と、画像形成装置としてのプリンタ装置１３とが、複数のデータ線１１と、制御線１２とで接続されて構成される。ホスト装置５は、例えばコンピュータであって、印刷画像データと、印刷設定情報とを含む印刷ジョブデータを生成する。
【００１５】
印刷ジョブデータは、例えばページ記述言語（ＰＤＬ）によるデータ（以下、ＰＤＬデータと呼ぶ）を含む。このＰＤＬデータを解釈することで、印刷を行うビットマップイメージからなる印刷画像データと、印刷の際のページ情報、レイアウト情報、印刷部数を示す情報など、印刷の設定に関わる印刷設定情報とが生成される。
【００１６】
上位装置１０は、ホスト装置５から供給される印刷ジョブデータに従ってＲＩＰ処理を行い、印刷画像データである各色毎のビットマップデータを作成する。それと共に、上位装置１０は、当該印刷ジョブデータやホスト装置５からの情報などに基づき、印刷動作を制御するための制御情報を作成する。
【００１７】
上位装置１０で作成された各色毎の印刷画像データは、複数のデータ線１１をそれぞれ介してプリンタ装置１３の図示されないプリンタエンジン部に供給される。また、上位装置１０とプリンタコントローラ１４との間で、制御線１２を介して、印刷を制御するための制御情報の送受信が行われる。プリンタコントローラ１４は、この制御情報の送受信に基づきプリンタエンジン部を制御して印刷媒体に対する画像形成を行い、印刷ジョブに従った印刷を実行する。なお、この制御情報の具体的な例については、図１０−１〜図１０−３を用いて後述する。
【００１８】
印刷方式は特に限定されないが、各実施形態では、印刷媒体として印刷用紙を用い、インクジェット方式により印刷用紙に対して印刷画像を形成する。これに限らず、各実施形態を、トナーを用いて印刷用紙に対して印刷画像を形成する印刷装置にも適用可能である。また、印刷用紙は、切断可能なミシン目が所定間隔で打たれた連続紙である連帳紙（連続帳票）を用いるものとする。プロダクションプリンティングでは、印刷用紙としてこの連帳紙を用いることが多い。勿論、これに限らず、Ａ４サイズ、Ｂ４サイズなど、サイズが固定的とされたカット紙を印刷用紙として用いてもよい。なお、連帳紙において、ページは、例えば所定間隔で打たれたミシン目で挟まれる領域をいうものとする。
【００１９】
なお、各実施形態による印刷システムが印刷対象とする印刷媒体は、紙の印刷用紙に限定されない。すなわち、各実施形態に適用される印刷方式により印刷が可能で、且つ、ロールとして提供可能な印刷媒体であれば、他の印刷媒体を用いてもよい。例えば、プラスチックフィルムや布などを印刷媒体として用いてもよい。
【００２０】
（上位装置）
図２−１は、上位装置１０の一例の構成を示す。バス１００に対してＣＰＵ(Central  Processing  Unit)１０１、ＲＯＭ(Read  Only  Memory)１０２、ＲＡＭ(Random  Access  Memory)１０３、ハードディスクドライブ（ＨＤＤ）１０４が接続される。バス１００に対して、さらに、外部Ｉ／Ｆ１１０、制御情報用Ｉ／Ｆ１１１および印刷画像データ用Ｉ／Ｆ１１２が接続される。バス１００に接続されたこれら各部は、バス１００を介して互いに通信可能とされている。
【００２１】
ＲＯＭ１０２およびＨＤＤ１０４は、ＣＰＵ１０１が動作するためのプログラムが予め格納される。ＲＡＭ１０３は、ＣＰＵ１０１のワークメモリとして用いられる。すなわち、ＣＰＵ１０１は、ＲＯＭ１０２およびＨＤＤ１０４に格納されるプログラムに従い、ＲＡＭ１０３をワークメモリとして用いて、この上位装置１０の全体の動作を制御する。
【００２２】
外部Ｉ／Ｆ１１０は、例えばＴＣＰ／ＩＰ(Transmission  Control  Protocol/Internet  Protocol)に対応し、ホスト装置５との通信を制御する。制御情報用Ｉ／Ｆ１１１は、制御情報の通信を制御する。また、印刷画像データ用Ｉ／Ｆ１１２は、印刷画像データの通信を制御するもので、複数のチャネルを有する。例えば、上位装置１０において作成された、色Ｙ(Yellow)、Ｃ(Cyan)、Ｍ(Magenta)およびＫ(Black)による各色の印刷画像データは、これら複数のチャネルからそれぞれ出力される。印刷画像データ用Ｉ／Ｆ１１２は、高速な転送速度が要求されるため、例えばＰＣＩ  Ｅｘｐｒｅｓｓ(Peripheral  Component  Interconnect  Bus  Express)が用いられる。制御情報用Ｉ／Ｆ１１１の方式は特に限定されないが、ここでは、印刷画像データ用Ｉ／Ｆ１１２と同様に、ＰＣＩ  Ｅｘｐｒｅｓｓを用いるものとする。
【００２３】
このような構成において、ホスト装置５から送信された印刷ジョブデータが、上位装置１０の外部Ｉ／Ｆ１１０に受信され、ＣＰＵ１０１を介してＨＤＤ１０４に格納される。ＣＰＵ１０１は、ＨＤＤ１０４から読み出した印刷ジョブデータに基づきＲＩＰ処理を行い、各色のビットマップデータを生成してＲＡＭ１０３にそれぞれ書き出す。例えば、ＣＰＵ１０１は、ＲＩＰ処理によりＰＤＬ(Page  Description  Language)データをレンダリングして各色のビットマップデータを生成してＲＡＭ１０３に書き出す。ＣＰＵ１０１は、ＲＡＭ１０３に書き出された各色のビットマップデータを圧縮符号化してＨＤＤ１０４に一旦格納する。
【００２４】
ＣＰＵ１０１は、例えばプリンタ装置１３において印刷動作が開始される際に、ＨＤＤ１０４から圧縮符号化された各色のビットマップデータを読み出して圧縮符号を復号し、伸張された各色のビットマップデータをＲＡＭ１０３にそれぞれ書き込む。そして、ＣＰＵ１０１は、ＲＡＭ１０３からこれら各色のビットマップデータを読み出して、各色の印刷画像データとして印刷画像データ用Ｉ／Ｆ１１２の各チャネルからそれぞれ出力させ、プリンタ装置１３に対して供給する。また、ＣＰＵ１０１は、印刷動作の進行などに応じて、印刷を制御するための制御情報の送受信を、プリンタ装置１３との間で制御情報用Ｉ／Ｆ１１１を介して行う。
【００２５】
図２−２は、上位装置１０の機能を説明するための一例の機能ブロック図である。上位装置１０は、インターフェイス（Ｉ／Ｆ）１２０、１２３および１２５、ＲＩＰ部１２１、記憶部１２２、ならびに、制御部１２４を含む。インターフェイス１２０、１２３および１２５は、それぞれ図２−１における外部Ｉ／Ｆ１１０、印刷画像データ用Ｉ／Ｆ１１２および制御情報用Ｉ／Ｆ１１１に対応する。ＲＩＰ部１２１および制御部１２４は、図２−１におけるＣＰＵ１０１上で動作するプログラムにより構成される。また、記憶部１２２は、図２−１におけるＲＡＭ１０３またはＨＤＤ１０４のうち少なくとも一方に対応する。
【００２６】
ホスト装置５でＰＤＬデータを含む印刷ジョブデータが作成され、上位装置１０に対して送信される。この印刷ジョブデータは、インターフェイス１２０に受信されてＲＩＰ部１２１に供給される。ＲＩＰ部１２１は、供給された印刷ジョブデータに含まれるＰＤＬデータに基づきレンダリングを行い、Ｙ、Ｃ、Ｍ、Ｋ各色のビットマップデータによる印刷画像データを生成する。ＲＩＰ部１２１は、生成したＹ、Ｃ、Ｍ、Ｋ各色の印刷画像データを、記憶部１２２に順次格納する。
【００２７】
制御部１２４は、インターフェイス１２５を介してプリンタ装置１３のプリンタコントローラ１４と通信を行う。例えば、制御部１２４は、ホスト装置５からインターフェイス１２０を介して供給された印刷ジョブデータに基づき、プリンタ装置１３における印刷を制御するための制御情報を生成する。この制御情報は、制御部１２４からインターフェイス１２５を介してプリンタコントローラ１４に送信される。
【００２８】
インターフェイス１２３は、記憶部１２２に記憶されるＹ、Ｃ、Ｍ、Ｋ各色の印刷画像データにそれぞれ独立してアクセスできるようになっている。また、インターフェイス１２３は、Ｙ、Ｃ、Ｍ、Ｋ各色に対応する複数のデータ線１１を介してプリンタ装置１３に接続され、この複数のデータ線１１を介して、プリンタ装置１３との間でＹ、Ｃ、Ｍ、Ｋ各色の印刷画像データ転送に関する制御情報のやりとりや、Ｙ、Ｃ、Ｍ、Ｋ各色の印刷画像データの転送を行う。
【００２９】
（プリンタ装置）
図３−１は、プリンタ装置１３の一例の構成を示す。プリンタ装置１３は、プリンタコントローラ１４およびプリンタエンジン１５を有する。プリンタコントローラ１４は、制御線１２が接続され、上位装置１０との間で制御線１２を介して制御情報の送受信を行って印刷動作の制御を行う。プリンタエンジン１５は、複数のデータ線１１ａ、１１ｂ、１１ｃおよび１１ｄがそれぞれ接続され、プリンタコントローラ１４の制御に従い、これらデータ線１１ａ、１１ｂ、１１ｃおよび１１ｄをそれぞれ介して上位装置１０から転送された各色の印刷画像データによる印刷処理を行う。
【００３０】
プリンタコントローラ１４およびプリンタエンジン１５について、より詳細に説明する。プリンタコントローラ１４は、制御情報送受信部２０、制御信号送受信部２１、用紙搬送制御部２２および制御部２３を有する。
【００３１】
制御情報送受信部２０は、上位装置１０との間で、印刷を制御するための制御情報の送受信を制御線１２を介して行う。制御信号送受信部２１は、後述するデータ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄのそれぞれと、エンジンＩ／Ｆ制御線４０ａ、４０ｂ、４０ｃおよび４０ｄにより接続される。制御信号送受信部２１は、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄとの間で、それぞれ個別に制御信号の送受信を行う。用紙搬送制御部２２は、後述する搬送制御部５１と搬送制御線４１により接続され、搬送制御部５１との間で用紙搬送を制御するための制御信号の送受信を行う。
【００３２】
制御部２３は、例えばＣＰＵ、ＲＯＭおよびＲＡＭを有し、ＲＯＭに予め記憶されるプログラムに従い、ＲＡＭをワークメモリとして用いてプリンタコントローラ１４の各部の制御を行う。また、制御部２３は、上位装置１０から送信され制御情報送受信部２０により受信された制御情報を解釈して、制御信号送受信部２１や用紙搬送制御部２２に渡す。
【００３３】
なお、制御情報送受信部２０、制御信号送受信部２１および用紙搬送制御部２２は、制御部２３に制御されるハードウェアとして構成してもよいし、制御部２３上で動作されるプログラムのモジュールとして構成してもよい。
【００３４】
図３−２は、プリンタコントローラ１４の一例のハードウェア構成を示す。プリンタコントローラ１４は、ＣＰＵ３２１、インターフェイス（Ｉ／Ｆ）３２２、ＲＡＭ３２３およびＲＯＭ３２４を有し、これらＣＰＵ３２１、インターフェイス３２２、ＲＡＭ３２３およびＲＯＭ３２４が互いに通信可能にバス３２０に接続される。バス３２０には、図示されない通信Ｉ／Ｆを介して制御線１２も接続される。ＣＰＵ３２１は、ＲＯＭ３２４に格納されるプログラムに従いＲＡＭ３２３をワークメモリとして用いて動作し、プリンタ装置１３の全体の動作を制御する。インターフェイス３２２には、ハードウェア的に構成されたロジック回路が含まれ、プリンタコントローラ１４と、データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄ、ならびに、搬送制御部５１との通信を制御する。
【００３５】
このような構成において、例えば、図３−１における制御信号送受信部２１および用紙搬送制御部２２の機能は、Ｉ／Ｆ３２２により実現される。制御部２３の機能は、ＣＰＵ３２１上で動作するプログラムにより実現される。また、制御情報送受信部２０の機能は、図示されない通信Ｉ／Ｆおよびバス３２０により実現される。
【００３６】
図３−１の説明に戻り、プリンタエンジン１５は、同一の構成による複数のデータ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄを有すると共に、印刷画像データに基づく画像を用紙に出力し画像形成を行う画像出力部５０と、印刷用紙の搬送を制御する搬送制御部５１とを有する。
【００３７】
データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄは、それぞれデータ線１１ａ、１１ｂ、１１ｃおよび１１ｄが接続される。また、データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄは、それぞれメモリ３１ａ、３１ｂ、３１ｃおよび３１ｄを含み、上位装置１０から、データ線１１ａ、１１ｂ、１１ｃおよび１１ｄを介して転送された各色の印刷画像データを、それぞれメモリ３１ａ、３１ｂ、３１ｃおよび３１ｄに格納する。
【００３８】
これらメモリ３１ａ、３１ｂ、３１ｃおよび３１ｄは、例えば同一のメモリ容量と、アドレス構成とを有する。また、メモリ３１ａ、３１ｂ、３１ｃおよび３１ｄのそれぞれは、好ましくは少なくとも３ページ分の印刷画像データを格納可能な容量を有する。３ページ分の印刷画像データは、例えば、上位装置１０から転送中のページの印刷画像データと、現在出力中のページの印刷画像データと、次のページの印刷画像データとに対応する。これに限らず、メモリ３１ａ、３１ｂ、３１ｃおよび３１ｄのそれぞれは、２ページ分以下の印刷画像データを格納可能であってもよい。
【００３９】
さらに、データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄは、それぞれエンジンＩ／Ｆ制御線４０ａ、４０ｂ、４０ｃおよび４０ｄにより制御信号送受信部２１と接続される。制御信号送受信部２１は、これらエンジンＩ／Ｆ制御線４０ａ、４０ｂ、４０ｃおよび４０ｄを介して、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄとの間でそれぞれ個別に制御信号の送受信を行うことができる。
【００４０】
図４−１は、データ転送制御部３０ａの一例の構成を概略的に示す。なお、データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄは、共通の構成が適用されるので、図４−１では、データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄを代表してデータ転送制御部３０ａの構成を示す。
【００４１】
データ転送制御部３０ａは、メモリ３１ａおよびロジック回路３２ａを含む。ロジック回路３２ａに対して、エンジンＩ／Ｆ制御線４０ａおよびデータ線１１ａが接続される。ロジック回路３２ａは、制御信号送受信部２１からエンジンＩ／Ｆ制御線４０ａを介して受け取った制御信号に従い、上位装置１０からデータ線１１ａを介して転送された印刷画像データをメモリ３１ａに対して格納する。同様に、ロジック回路３２ａは、制御信号送受信部２１からエンジンＩ／Ｆ制御線４０ａを介して受け取った制御信号に従い、メモリ３１ａから印刷画像データを読み出して、出力線３３ａを介して後述する画像出力部５０に供給する。
【００４２】
なお、論理回路などの組み合わせによりハードウェア的に構成されたロジック回路３２ａによる制御は、プログラムに対する割り込みにより処理を分岐させる、ＣＰＵを用いた制御に対してより高速な処理が可能であるという利点がある。ロジック回路３２ａは、例えば、エンジンＩ／Ｆ制御線４０ａを介して受け取った、ビット列による制御信号に対して論理判定を行い、実行する処理を決定する。これに限らず、ロジック回路３２ａと同等の機能を、ＣＰＵを用いてソフトウェア的に実現してもよい。
【００４３】
データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄからそれぞれ出力された各色の印刷画像データは、画像出力部５０に供給される。画像出力部５０は、各色の印刷画像データによる印刷を実行する。なお、各実施形態では、印刷画像データによる印刷を、ヘッドに設けられたノズルからインクを射出して印刷を行う、インクジェット方式により行う。勿論、印刷方式はインクジェット方式に限られず、例えばレーザプリンタ方式などを用いてもよい。
【００４４】
図４−２は、データ転送制御部３０ａの一例の構成をより詳細に示す。なお、図４−２において、上述した図４−１と共通する部分には同一の符号を付して、詳細な説明を省略する。データ転送制御部３０ａは、メモリ３１ａ、メモリコントローラ１３２ａ、データ転送ＤＭＡ(Direct  Memory  Access)１３３ａおよび１３４ａ、ならびに、データ転送制御部コントローラ１３５ａを有する。これらのうち、メモリコントローラ１３２ａ、データ転送ＤＭＡ(Direct  Memory  Access)１３３ａおよび１３４ａ、ならびに、データ転送制御部コントローラ１３５ａが、図４−１におけるロジック回路３２ａに含まれる。
【００４５】
メモリコントローラ１３２ａは、メモリ３１ａに対するアクセスを制御する。データ転送ＤＭＡ１３３ａは、上位装置１０から印刷画像データを受信し、メモリコントローラ１３２ａを介してメモリに書き込む。データ転送ＤＭＡ１３４ａは、メモリコントローラ１３２ａを介してメモリ３１ａからデータを読み出し、出力線３３ａを介して画像出力部５０に転送する。データ転送制御部コントローラ１３５ａは、プリンタコントローラ１４内の制御信号送受信部２１からエンジンＩ／Ｆ制御線４０ａを介して送信される制御情報を受信し、受信した制御情報に従いデータ転送ＤＭＡ１３３ａおよび１３４ａを制御する。
【００４６】
例えば、制御信号送受信部２１から送信されたデータ転送の開始要求が、エンジンＩ／Ｆ制御線４０ａを介してデータ転送制御部コントローラ１３５ａに受信されると、データ転送制御部コントローラ１３５ａは、この要求に従い、データ転送ＤＭＡ１３３ａに対してデータ転送の開始を指示する。データ転送ＤＭＡ１３３ａは、この指示に従い、データ転送要求をデータ線１１ａを介して上位装置１０に送信する。この要求に従い上位装置１０から送信されたデータは、例えばデータ転送ＤＭＡ１３３ａに受信され、メモリコントローラ１３２ａを介して、メモリ３１ａの所定のアドレスに書き込まれる。
【００４７】
また、制御信号送受信部２１から送信された印刷指示が、エンジンＩ／Ｆ制御線４０ａを介してデータ転送制御部コントローラ１３５ａに受信されると、データ転送制御部コントローラ１３５ａは、データ転送ＤＭＡ１３４ａに対して、メモリ３１ａからのデータ読み出しを指示する。データ転送ＤＭＡ１３４ａは、この指示に応じて、メモリコントローラ１３２ａを介してメモリ３１ａからデータを読み出す。そして、データ転送ＤＭＡ１３４ａは、読み出したデータを、出力線３３ａを介して画像出力部５０に転送する。
【００４８】
図５は、画像出力部５０の一例の構成を示す。画像出力部５０は、出力制御部５５と、色Ｙ、Ｃ、ＭおよびＫ各色のヘッド５６ａ、５６ｂ、５６ｃおよび５６ｄとを含む。なお、各色とヘッド５６ａ、５６ｂ、５６ｃおよび５６ｄとの関係は、この例に限られない。出力制御部５５は、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄそれぞれの印刷画像データが出力される各出力線３３ａ、３３ｂ、３３ｃおよび３３ｄと、ヘッド５６ａ、５６ｂ、５６ｃおよび５６ｄとの接続を制御する。すなわち、出力制御部５５は、各ヘッド５６ａ、５６ｂ、５６ｃおよび５６ｄに対して、それぞれ各出力線３３ａ、３３ｂ、３３ｃおよび３３ｄから１を選択して接続するように経路を設定することができる。
【００４９】
例えば、出力制御部５５は、各出力線３３ａ、３３ｂ、３３ｃおよび３３ｄと、各ヘッド５６ａ、５６ｂ、５６ｃおよび５６ｄとを、１対１に接続するように設定できる。また例えば、出力線３３ａに対して、各ヘッド５６ａ、５６ｂ、５６ｃおよび５６ｄを接続する、というように、出力線３３ａ、３３ｂ、３３ｃおよび３３ｄと、ヘッド５６ａ、５６ｂ、５６ｃおよび５６ｄとを、１対多に接続するように設定できる。
【００５０】
各出力線３３ａ、３３ｂ、３３ｃおよび３３ｄと各ヘッド５６ａ、５６ｂ、５６ｃおよび５６ｄとを接続する経路は、例えばディップスイッチなどを用いてユーザ操作により設定することができる。これに限らず、当該経路を、制御信号送受信部２１からの制御信号により設定してもよい。
【００５１】
上述したように、各実施形態によるプリンタ装置１３では、上位装置１０からの印刷画像データの転送と、当該印刷画像データによる印刷を制御する制御信号の上位装置１０とプリンタ装置１３との間の送受信とが、異なる経路を介して行われる。また、上位装置１０から、各色の印刷画像データがそれぞれ異なるデータ線１１ａ、１１ｂ、１１ｃおよび１１ｄを介して転送されると共に、これらデータ線１１ａ、１１ｂ、１１ｃおよび１１ｄを介して転送された各色の印刷画像データが、互いに独立して制御され、共通の構成を持つデータ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄにそれぞれ供給される。さらに、画像出力部５０において、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄの出力と各色のヘッド５６ａ、５６ｂ、５６ｃおよび５６ｄとの接続経路をユーザ操作などにより設定可能とされている。
【００５２】
したがって、各実施形態によるプリンタ装置１３は、印刷画像データの色数（Ｙ、Ｃ、ＭおよびＫの４色、または、Ｋ色のみ、など）や、画像出力部５０において用いるヘッド数に応じて、プリンタエンジン１５の構成を容易に変更することが可能である。このとき、プリンタエンジン１５に対して、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄのうち、要求される構成に応じて必要とされるものだけを設けるようにできる。
【００５３】
例えば、色Ｙ、Ｃ、ＭおよびＫの４色でフルカラーの印刷を行いたい場合は、プリンタエンジン１５に対してデータ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄを全て設け、出力制御部５５において、データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄの各出力を、それぞれヘッド５６ａ、５６ｂ、５６ｃおよび５６ｄに接続すればよい。また例えば、色Ｋの１色で印刷を行う場合において、装置コスト優先として、それぞれ１のデータ転送制御部３０ａおよびヘッド５６ａのみを設け、出力制御部５５においてデータ転送制御部３０ａの出力をヘッド５６ａに接続することができる。さらに例えば、色Ｋの１色で印刷を行う場合において、印刷速度優先として、１のデータ転送制御部３０ａと４のヘッド５６ａ、５６ｂ、５６ｃおよび５６ｄとを設け、出力制御部５５においてデータ転送制御部３０ａの出力をヘッド５６ａ、５６ｂ、５６ｃおよび５６ｄにそれぞれ接続することができる。この場合、同一色を複数回、重ねて印刷することになるため、例えば、各ヘッド５６ａ、５６ｂ、５６ｃおよび５６ｄでのインクの噴出時間を通常の１／４とし、印刷用紙の搬送速度を通常の４倍として高速印刷を行うことが考えられる。
【００５４】
（印刷用紙の搬送系）
図３−１を参照し、搬送制御部５１は、用紙搬送制御部２２と搬送制御線４１により接続され、画像出力部５０により印刷画像データに基づく画像が形成される用紙の搬送を制御する。図６は、各実施形態に適用可能な、用紙の搬送系を含めたプリンタ装置２００の一例の構造を概略的に示す。既に述べたように、各実施形態では、プリンタ装置２００は、印刷用紙として連帳紙を用いる。
【００５５】
印刷用紙２０１は、印刷用紙補給部２１０から電源操作ボックス２２０を介して第１搬送部２３０に供給される。印刷用紙２０１は、第１搬送部２３０において、搬送制御部５１の搬送制御により複数のローラなどを介して搬送されて位置合わせなどがなされ、上述のプリンタエンジン１５に対応するプリンタエンジン部２４０および２５０に供給される。
【００５６】
プリンタエンジン部２４０および２５０は、上述の画像出力部５０に対応する印刷部２４１において、第１搬送部２３０から供給された印刷用紙２０１に対して印刷画像データに従った印刷を行う。印刷が終了した印刷用紙２０１は、搬送制御部５１の搬送制御によりプリンタエンジン部２５０から排出され、第２搬送部２６０に供給される。印刷後の印刷用紙２０１は、第２搬送部２６０の内部で所定に搬送されて排出され、裁断部２７０に供給される。印刷後の印刷用紙２０１は、裁断部２７０によりミシン目に従い裁断され各ページを分離される。
【００５７】
ここで、プリンタ装置２００は、ページが連続した連続紙である印刷用紙２０１に印刷を行うため、プリンタエンジン部２４０および２５０における印刷用紙２０１への印刷後、当該印刷用紙２０１が第２搬送部２６０から排出されるまでの経路にも、印刷用紙２０１が絶えず存在することになる。
【００５８】
なお、第１搬送部２３０、プリンタエンジン部２４０および２５０、ならびに、第２搬送部２６０からなる構成をもう一組用意して、前側の第２搬送部２６０から排出された印刷後の印刷用紙２０１を表裏反転して後側の第１搬送部２３０に供給することで、印刷用紙２０１に対する両面印刷が可能となる。
【００５９】
（各実施形態に適用可能な印刷処理の詳細）
次に、各実施形態に適用可能な印刷処理について、より詳細に説明する。図７は、上位装置１０とプリンタ装置１３のプリンタコントローラ１４との間で、制御線１２を介して送受信される制御情報の一例を示す。なお、図７において、上位装置１０をＤＦＥ(Digital  Front  End  Processor)、プリンタコントローラ１４をＰＣＴＬとして示している。制御情報は、大まかには、（１）ジョブ（ＪＯＢ）情報と、（２）プリンタ状態および印刷プロセスを示す情報と、（３）印刷条件を示す情報と、（４）接続を示す情報とが含まれる。
【００６０】
（１）のジョブ情報は、ジョブ（ＪＯＢ）開始とジョブ終了とを通知する。ジョブ開始は、上位装置１０からプリンタコントローラ１４に対するジョブ開始の通知と、当該通知に対するプリンタ装置１３から上位装置１０への応答が含まれる。ジョブ終了は、上位装置１０からプリンタコントローラ１４に対する、ジョブ開始により要求した全印刷プロセスの終了の通知と、当該通知に対するプリンタコントローラ１４から上位装置１０への応答が含まれる。これらジョブ開始およびジョブ終了における応答の際に、ジョブを識別するためのジョブ識別子（ＪＯＢＩＤ）がプリンタコントローラ１４から上位装置１０に対して送信される。
【００６１】
（２）のプリンタ状態および印刷プロセスを示す情報には、印刷プロセス受け付け開始と、プリンタ情報の要求および通知と、印刷プロセス開始と、印刷プロセス要求と、データ転送完了と、データ受信完了と、印刷プロセス完了と、プロセス状態報告と、ＳＣ(Service  Control)通知と、エラー発生および解除とを通知する。
【００６２】
印刷プロセス受け付け開始は、プリンタコントローラ１４が印刷プロセスの受け付けが可能となったことをプリンタ装置１３から上位装置１０に対して通知する。プリンタ情報の要求および通知は、上位装置１０からプリンタコントローラ１４に対する必要なプリンタ情報の要求と、当該要求に対するプリンタコントローラ１４から上位装置１０に対する応答とが含まれる。
【００６３】
印刷プロセス開始は、印刷画像データの準備が完了した旨の上位装置１０からプリンタコントローラ１４に対する通知と、当該通知に対するプリンタ装置１３から上位装置１０に対する応答を含む。印刷画像データの準備完了通知は、印刷画像データの出力順およびページ（プロセス）単位に行われる。ページは、一連の印刷動作で印刷が行われる印刷単位であるといえる。
【００６４】
印刷プロセス要求は、プリンタコントローラ１４から上位装置１０に対する印刷プロセスの通知と、当該通知に対する上位装置１０からプリンタコントローラ１４に対する応答とが含まれる。プリンタコントローラ１４は、この印刷プロセス要求により、印刷を行う色Ｙ、Ｃ、ＭおよびＫをそれぞれ示す色情報(Yellow,  Cyan,  Magenta  or  Black)、プロセス識別番号processIDおよびプレーン識別番号を上位装置１０に対して通知する。なお、プレーンは、１ページに印刷される各色の印刷画像データによる画像それぞれに対応するものとする。プリンタコントローラ１４は、プレーン単位およびエンジンすなわちデータ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄの要求順に従い、これらの情報を通知する。すなわち、ビットマップデータからなる印刷画像データは、プリンタエンジン１５側から上位装置１０に取りに行くことになる。
【００６５】
データ転送完了は、上位装置１０からプリンタコントローラ１４に対して要求されたプレーンの印刷画像データの転送完了が通知される。データ受信完了は、プリンタコントローラ１４から上位装置１０に対して、要求したプレーンの印刷画像データの受信完了が通知される。印刷プロセス完了は、上位装置１０からプリンタコントローラ１４に対して、全ページ（プロセス）の印刷要求の完了が通知される。プロセス状態報告は、プリンタコントローラ１４から上位装置１０に対して、ページ（プロセス）の印刷状態が通知される。このとき、プリンタコントローラ１４は、プリンタエンジン１５から給紙、排紙および印刷開始に関する情報を取得し、取得したこれらの情報を当該通知に付加して上位装置１０に送信する。
【００６６】
ＳＣ通知は、上位装置１０からプリンタコントローラ１４に対してプリンタ装置１３の障害情報の取得が要求されると共に、当該要求に対して取得された障害情報がプリンタコントローラ１４から上位装置１０に対して通知される。エラー発生および解除は、上位装置１０側でのエラー発生および当該エラーの解除が上位装置１０からプリンタコントローラ１４に対して通知される。
【００６７】
（３）の印刷条件を示す情報は、印刷条件の設定、すなわち、上位装置１０からプリンタコントローラ１４に対する印刷条件の通知と、当該通知に対するプリンタコントローラ１４の応答とを含む。印刷条件の例としては、印刷形態、印刷種別、給排紙情報、印刷面順、印刷用紙サイズ、印刷データサイズ、解像度および階調、ならびに、色情報などを含む。
【００６８】
印刷形態は、例えば印刷用紙２０１に対して両面印刷および片面印刷のうち何れを行うかを示す。印刷種別は、印刷画像データが存在しておりそれを印刷するのか、印刷画像データが存在しておらず白紙ページとするのかを示す。給排紙情報は、印刷用紙２０１の給紙元および排紙先のスタッカなどの識別情報を示す。印刷面順は、印刷用紙２０１に対して表面から裏面へと印刷するのか、裏面から表面へと印刷するのかを示す。印刷用紙サイズは、例えば印刷用紙２０１として連帳紙を用いる場合、印刷を行うページの印刷用紙２０１の搬送方向の長さを示す。印刷データサイズは、印刷画像データのデータサイズを示す。すなわち、印刷データサイズは、１ページ分の印刷画像データのサイズを示す。解像度および階調は、印刷画像データを印刷用紙２０１に印刷する際の解像度および階調を示す。また、色情報は、例えば印刷を色Ｙ、Ｃ、ＭおよびＫ各色を用いたフルカラーで行うのか、色Ｋのみを用いた単色で行うかを示す。
【００６９】
（４）の接続を示す情報は、登録および解除を含み、上位装置１０およびプリンタコントローラ１４のそれぞれで、互いの情報の登録および登録された情報の解除を行う。
【００７０】
（印刷シーケンス）
次に、各実施形態に適用可能な印刷処理について説明する。図８は、各実施形態に適用可能な印刷処理を概念的に示す一例のシーケンス図である。ここでは、色Ｙ、Ｃ、ＭおよびＫの各色を用いたフルカラー印刷を行うものとする。プリンタコントローラ１４は、上位装置１０から制御情報として印刷用紙２０１に関する情報を受信したら（ＳＥＱ１００）、受信した情報に基づき搬送制御部５１に対して用紙送り長を設定する（ＳＥＱ１１０）。用紙送り長は、例えば搬送方向における１ページのサイズである。
【００７１】
プリンタコントローラ１４は、上位装置１０から１ページ目（ページ＃１）のジョブ開始を示す制御情報を受信したら（ＳＥＱ１０１）、データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄのそれぞれに対して、色Ｙ、Ｃ、ＭおよびＫ各色について１ページ目のデータ転送を開始するように要求する（ＳＥＱ１１０ａ、１１０ｂ、１１０ｃおよび１１０ｄ）。データ転送制御部３０ａは、この要求に従い、データ線１１ａを介して上位装置１０に対して色Ｙの１ページ目の印刷画像データを要求し、この要求に応じて上位装置１０から転送された色Ｙの１ページ目の印刷画像データをメモリ３１ａに格納する。
【００７２】
各データ転送制御部３０ｂ、３０ｃおよび３０ｄについても同様に、ＳＥＱ１１０ｂ、１１０ｃおよび１１０ｄの要求に従い、データ線１１ｂ、１１ｃおよび１１ｄを介して上位装置１０に対して各色Ｃ、ＭおよびＫの１ページ目の印刷画像データをそれぞれ要求する。各データ転送制御部３０ｂ、３０ｃおよび３０ｄは、この要求に応じて上位装置１０から転送された各色Ｃ、ＭおよびＫの１ページ目の印刷画像データを、それぞれメモリ３１ｂ、３１ｃおよび３１ｄに格納する。
【００７３】
一方、この図８の例では、プリンタコントローラ１４から各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄに対して１ページ目のデータ転送が要求されている間に、プリンタコントローラ１４は、上位装置１０から送信された次の２ページ目のジョブ開始を示す制御情報を受信する（ＳＥＱ１０２）。受信された制御情報は、例えばＲＡＭ３２３に保持される。
【００７４】
各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄは、上位装置１０からの各色の１ページ目の印刷画像データの転送が終了したら、それぞれ、その旨をプリンタコントローラ１４に通知する（ＳＥＱ１１１ａ、１１１ｂ、１１１ｃおよび１１１ｄ）。プリンタコントローラ１４は、当該通知にそれぞれ応答して、データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄに対してそれぞれ２ページ目（ページ＃２）のデータ転送を開始するように要求する（ＳＥＱ１１２ａ、１１２ｂ、１１２ｃおよび１１２ｄ）。
【００７５】
この要求に応じて、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄは、上位装置１０に対して各色の２ページ目の印刷画像データをそれぞれ要求し、この要求に応じて上位装置１０から転送された各色の２ページ目の印刷画像データを、それぞれメモリ３１ａ、３１ｂ、３１ｃおよび３１ｄに格納する。
【００７６】
なお、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄは、転送された印刷画像データのデータ量に基づきデータ転送の終了を知ることができる。１ページ分の印刷画像のデータ量を示す情報は、例えば各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄに対するデータ転送開始時に、上位装置１０が印刷画像データの先頭などに付加して送信する。また、印刷画像データを所定単位毎に転送する場合に、上位装置１０が、１ページの最後の印刷画像データの転送単位に対して１ページ分の転送終了を示す終了情報を付加するようにしてもよい。さらに、上位装置１０が、１ページ分の印刷画像データの転送直後などに、１ページ分の印刷画像データの転送終了を示す情報を印刷画像データとは別途に、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄに対して送信することもできる。
【００７７】
一方、プリンタコントローラ１４は、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄの全てから１ページ目のデータ転送終了の通知を受信したら、搬送制御部５１に対して用紙搬送開始を要求する（ＳＥＱ１１３）。搬送制御部５１は、この要求に応じて印刷用紙２０１の所定速度での搬送を開始する。また、プリンタコントローラ１４は、搬送制御部５１に対して用紙搬送開始の要求を行うと共に、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄに対して、１ページ目の印刷の開始を指示する（ＳＥＱ１１４）。
【００７８】
搬送制御部５１は、例えば印刷用紙２０１が所定位置に到達したら、印刷可能状態である旨をプリンタコントローラ１４に対して通知する（ＳＥＱ１１７）。プリンタコントローラ１４は、この搬送制御部５１からの印刷可能状態報告に応じて、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄに対して印刷の先頭位置を指示する（ＳＥＱ１１８）。
【００７９】
各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄは、印刷先頭指示に応じて印刷を開始する。この例では、印刷用紙２０１の搬送方向に沿って各色Ｙ、Ｃ、ＭおよびＫのヘッドがヘッド５６ａ、５６ｂ、５６ｃ、５６ｄの順に並べられているものとする。この場合、印刷用紙２０１における１ページ目の印刷の先頭位置がヘッド５６ａによる印刷位置に達したら、先ずデータ転送制御部３０ａにおいて、メモリ３１ａからの１ページ目の印刷画像データの読み出しが開始される。メモリ３１ａから読み出された色Ｙの印刷画像データは、画像出力部５０に転送される。そして、印刷画像データが出力制御部５５を介してヘッド５６ａに供給され、印刷用紙２０１に対する印刷が行われる（ＳＥＱ１１９ａ）。色Ｙの１ページ目の印刷が終了すると、その旨がプリンタコントローラ１４に対して通知される（ＳＥＱ１２０ａ）。
【００８０】
続けて、印刷用紙２０１における１ページ目の印刷の先頭位置がヘッド５６ｂによる印刷位置に達したら、データ転送制御部３０ｂにおいて、メモリ３１ｂからの１ページ目の印刷画像データの読み出しが開始される。メモリ３１ｂから読み出された色Ｃの印刷画像データは、画像出力部５０に転送される。そして、出力制御部５５を介してヘッド５６ｂに供給され、印刷用紙２０１に対する印刷が開始される（ＳＥＱ１１９ｂ）。色Ｃの１ページ目の印刷が終了したら、その旨がプリンタコントローラ１４に対して通知される（ＳＥＱ１２０ｂ）。
【００８１】
以下同様にして、色ＭおよびＫの印刷が順次開始され（ＳＥＱ１１９ｃ、１１９ｄ）、印刷が終了したら、その旨がプリンタコントローラ１４に対して通知される（ＳＥＱ１２０ｃおよび１２０ｄ）。
【００８２】
一方、上述のＳＥＱ１１２ａ〜１１２ｄで開始された２ページ目の各色の印刷画像データの転送が終了すると、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄは、その旨をプリンタコントローラ１４に対して通知する（ＳＥＱ１１５）。プリンタコントローラ１４は、このデータ転送完了の通知に応じて、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄに対して、２ページ目の印刷の開始をそれぞれ指示する（ＳＥＱ１１６）。
【００８３】
各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄは、１ページ目の印刷の終了後に、それぞれ２ページ目の印刷を開始する。例えば、データ転送制御部３０ａは、１ページ目の印刷が完了（ＳＥＱ１２０ａ）した後、印刷用紙２０１における２ページ目の印刷の先頭位置がヘッド５６ａによる印刷位置に達したら、メモリ３１ａから２ページ目の色Ｙの印刷画像データを読み出して画像出力部５０に供給し、印刷用紙２０１に対する印刷を開始する（ＳＥＱ１２１ａ）。色Ｙの印刷が終了したら、その旨がプリンタコントローラ１４に対して通知される（ＳＥＱ１２２ａ）。
【００８４】
各データ転送制御部３０ｂ、３０ｃおよび３０ｄにおいても、同様にして、２ページ目の先頭位置がヘッド５６ｂ、５６ｃおよび５６ｄによる印刷位置に達したら、メモリ３１ｂ、３１ｃおよび３１ｄから各色の印刷画像データを読み出し、印刷用紙２０１に対する印刷を開始する（ＳＥＱ１２１ｂ〜１２１ｄ）。各色の印刷が終了したら、その旨がプリンタコントローラ１４に対してそれぞれ通知される（ＳＥＱ１２２ｂ〜１２２ｄ）。
【００８５】
プリンタコントローラ１４は、２ページ目の色Ｋの印刷終了通知をデータ転送制御部３０ｄから受け取ると、印刷ジョブによる最終ページの印刷が終了したとして、搬送制御部５１に対して印刷用紙２０１の搬送の停止を要求する（ＳＥＱ１２３）。搬送制御部５１は、この要求に応じて印刷用紙２０１の搬送を停止させ、その旨をプリンタコントローラ１４に対して報告する（ＳＥＱ１２４）。これにより、一連の印刷処理が終了する。
【００８６】
（印刷処理の詳細）
次に、各実施形態に適用可能な印刷処理について、より具体的に説明する。各実施形態では、各データ転送制御部３０ａ〜３０ｄは、プリンタコントローラ１４の制御に従い、印刷を制御するための制御情報を上位装置１０から取得する。また、各データ転送制御部３０ａ〜３０ｄは、プリンタコントローラ１４の制御に従い、上位装置１０から転送された各色の印刷画像データを、それぞれメモリ３１ａ〜３１ｄに格納する。
【００８７】
各実施形態に適用可能な印刷画像データのデータ転送処理について、図９−１〜図９−４のフローチャートを用いて説明する。なお、以下において、データ線１１ａ、１１ｂ、１１ｃおよび１１ｄは、それぞれ色Ｙ、色Ｃ、色Ｍおよび色Ｋの印刷画像データが転送され、データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄは、それぞれ色Ｙ、色Ｃ、色Ｍおよび色Ｋの印刷画像データの転送を制御するものとする。
【００８８】
図９−１は、データ転送に係る上位装置１０における処理の例を示すフローチャートである。上位装置１０は、ホスト装置５からのジョブデータを受信すると、ステップＳ１００で、ジョブ開始を示す制御情報をプリンタコントローラ１４に対して制御線１２を介して送信する。そして、当該制御信号に応答してプリンタコントローラ１４から送信される、印刷プロセス受け付けを示す制御信号を待機する（ステップＳ１０１）。
【００８９】
上位装置１０は、プリンタコントローラ１４からの印刷プロセス受け付けを示す制御信号を受信すると、ステップＳ１０２で、ジョブデータに示される印刷条件を示す制御情報を、プリンタコントローラ１４に対して制御線１２を介して送信し、次のステップＳ１０３で、ページ番号をｎとして、ｎページ目の印刷プロセス開始の制御信号をプリンタコントローラ１４に対して制御線１２を介して送信する。このステップＳ１０３からステップＳ１１２までの処理は、ページ単位の処理となる。
【００９０】
ステップＳ１０４〜ステップＳ１１０の処理は、Ｙ、Ｃ、Ｍ、Ｋ各色について実行される処理となる。以下、色Ｙに関する処理を中心に説明する。上位装置１０は、ステップＳ１０４で、プリンタコントローラ１４からの、例えば色Ｙの印刷画像データの要求を待機する。上位装置１０は、プリンタコントローラ１４から制御線１２を介して送信されたデータ要求を受信すると、ステップＳ１０５で、受け取ったデータ要求に対する応答をプリンタコントローラ１４に返す。そして、次のステップＳ１０６で、データ転送制御部３０ａからデータ線１１ａを介して送信されるデータ転送要求を待機する。
【００９１】
上位装置１０は、データ転送制御部３０ａからのデータ転送要求をデータ線１１ａを介して受信すると、ステップＳ１０７で、データ転送制御部３０ａに対する色Ｙの印刷画像データの転送を開始する。色Ｙの印刷画像データは、データ線１１ａを介してデータ転送制御部３０ａに転送される。このとき、上位装置１０は、転送する色Ｙの印刷画像データに対して、当該印刷画像データのサイズを示す情報を付加する。
【００９２】
上位装置１０は、ステップＳ１０８で、色Ｙの１ページ分のデータ転送が終了するのを待機する。図２−２を参照し、上位装置１０は、例えば、制御部１２４が記憶部１２２およびインターフェイス１２３を監視し、Ｙ、Ｃ、Ｍ、Ｋ各色について、１ページ分のデータ量の転送が行われたか否かをそれぞれ判定する。色Ｙの１ページ分のデータ転送が終了したと判定された場合、処理はステップＳ１０９に移行され、１ページ分のデータ転送が終了したことを示すデータ転送終了通知が制御線１２を介してプリンタコントローラ１４に対して送信される。そして、上位装置１０は、次のステップＳ１１０で、プリンタコントローラ１４からの色Ｙについてのデータ受信完了通知を待機する。
【００９３】
上位装置１０は、ステップＳ１１１で、Ｙ、Ｃ、Ｍ、Ｋの全色について、データ受信完了通知を受信したか否かを判定する。若し、受信していないと判定した場合、処理をステップＳ１０４に戻し、次の色について処理を実行する。
【００９４】
なお、図９−１では、ステップＳ１０４〜ステップＳ１１０の処理がＹ、Ｃ、Ｍ、Ｋ各色について順次実行されるように説明したが、これはこの例に限定されない。例えば、ステップＳ１０４〜ステップＳ１１０の処理を、Ｙ、Ｃ、Ｍ、Ｋ各色について並列的に実行することも可能である。この場合、ステップＳ１１１は、Ｙ、Ｃ、Ｍ、Ｋ各色の処理におけるステップＳ１１０でのデータ受信完了通知を待機することになる。
【００９５】
上位装置１０は、ステップＳ１１１で、Ｙ、Ｃ、Ｍ、Ｋの全色についてデータ受信完了通知を受信したと判定したら、処理をステップＳ１１２に移行させ、次のページの印刷処理を行うか否かを判定する。印刷を行うページ数は、ホスト装置５から受信した印刷ジョブデータから取得することができる。若し、次ページの印刷処理があると判定された場合、ページ番号ｎ＝ｎ＋１とされて処理がステップＳ１０３に戻される。
【００９６】
一方、印刷ジョブデータに示される全ページ分のデータ転送が終了したと判定された場合、処理がステップＳ１１３に移行され、上位装置１０は、プリンタコントローラ１４からの全ページの排紙報告が待機される。上位装置１０は、プリンタコントローラ１４からの全ページの排紙報告を受信した場合、処理をステップＳ１１４に移行させ、プリンタコントローラ１４に対して、制御線１２を介して全ての印刷ジョブが終了した旨を示すジョブ終了通知を送信する。
【００９７】
図９−２は、データ転送に係るプリンタコントローラ１４における処理の例を示すフローチャートである。プリンタコントローラ１４は、ステップＳ１２０で、制御線１２を介して上位装置１０から送信されるジョブ開始を示す制御情報を待機する。プリンタコントローラ１４は、この制御情報を受信したら、次のステップＳ１２１で、上位装置１０に対して、制御線１２を介して応答を返す。さらに、プリンタコントローラ１４は、このステップＳ１２１で、上位装置１０に対して、制御線１２を介して印刷プロセス受け付け開始を示す制御情報を送信する。そして、次のステップＳ１２２で、上位装置１０から制御線１２を介して送信された印刷条件を示す制御情報を受信する。
【００９８】
次のステップＳ１２３で、プリンタコントローラ１４は、上位装置１０から制御線１２を介して送信される、ｎページ目の印刷プロセス開始を示す制御信号を受信したか否かを判定する。若し、受信していないと判定されたら、処理をステップＳ１３０に移行させ、上位装置１０から制御線１２を介してジョブ終了通知を受信したか否かを判定する。若し、ジョブ終了通知を受信していないと判定したら、処理をステップＳ１２３に戻す。一方、ステップＳ１３０でジョブ終了通知を受信したと判定したら、一連の印刷処理が終了される。
【００９９】
プリンタコントローラ１４は、ステップＳ１２３で、上位装置１０から制御線１２を介して送信された印刷プロセス開始を示す制御信号を受信したと判定したら、処理をステップＳ１２４に移行させる。以下のステップＳ１２４〜ステップＳ１２８の処理は、Ｙ、Ｃ、Ｍ、Ｋ各色の処理となる。ここでは、色Ｙの印刷画像データの転送処理について説明する。
【０１００】
ステップＳ１２４で、プリンタコントローラ１４は、上位装置１０に対して、制御線１２を介して印刷画像データを要求し、次のステップＳ１２５で、この要求に対する上位装置１０からの応答を待機する。プリンタコントローラ１４は、上位装置１０からの応答を受信したら、次のステップＳ１２６で、データ転送制御部３０ａに対して、エンジンＩ／Ｆ制御線４０ａを介してデータ転送の開始を要求する。
【０１０１】
このとき、プリンタコントローラ１４は、図１５を用いて後述する転送管理テーブルから、少なくとも、印刷を行うページ（ｎページ目）を示すページ識別子ＰＢＩＤと、印刷画像データの転送元のアドレスを示す転送元アドレスとを抽出する。そして、プリンタコントローラ１４は、抽出されたこれらページ識別子ＰＢＩＤと転送元アドレスとを、データ転送の開始を要求するデータ転送開始要求に付加して、例えばデータ転送制御部３０ａに送信する。
【０１０２】
次のステップＳ１２７で、プリンタコントローラ１４は、上位装置１０からのデータ転送終了通知と、データ転送制御部３０ａからのデータ転送終了通知とを待機する。プリンタコントローラ１４は、これら上位装置１０およびデータ転送制御部３０ａからそれぞれ制御線１２およびエンジンＩ／Ｆ制御線４０ａを介してデータ転送終了通知を受信したら、処理をステップＳ１２８に移行させ、色Ｙについてのデータ受信完了通知を、上位装置１０に対して制御線１２介して送信する。
【０１０３】
プリンタコントローラ１４は、ステップＳ１２９で、Ｙ、Ｃ、Ｍ、Ｋの全色のデータ転送が終了したか否かを判定する。若し、終了していないと判定した場合、処理をステップＳ１２４に戻し、次の色について処理を実行する。一方、プリンタコントローラ１４は、ステップＳ１２９でＹ、Ｃ、Ｍ、Ｋの全色のデータ転送が終了したと判定した場合、ページ番号ｎ＝ｎ＋１として処理をステップＳ１２３に戻す。
【０１０４】
なお、図９−２では、ステップＳ１２４〜ステップＳ１２８の処理がＹ、Ｃ、Ｍ、Ｋ各色について順次実行されるように説明したが、これはこの例に限定されない。例えば、ステップＳ１２４〜ステップＳ１２８の処理を、Ｙ、Ｃ、Ｍ、Ｋ各色について並列的に実行することも可能である。この場合、ステップＳ１２９は、Ｙ、Ｃ、Ｍ、Ｋ各色の処理におけるステップＳ１２８でのデータ受信完了通知を待機することになる。
【０１０５】
なお、プリンタコントローラ１４は、データ転送制御部３０ａ〜３０ｄに対して、各エンジンＩ／Ｆ制御線４０ａ〜４０ｄを介して印刷指示を送信する。この印刷指示により、各データ転送制御部３０ａ〜３０ｄにおいてメモリ３１ａ〜３１ｄから印刷画像データが読み出され、印刷用紙に対する印刷画像データの印刷が実行される。
【０１０６】
なお、プリンタコントローラ１４から各データ転送制御部３０ａ〜３０ｄに対して送信される印刷指示は、例えば図７を用いて説明した制御情報のうち、印刷条件の設定の情報といった、印刷を行うために必要な情報によるテーブルとして作成することができる。プリンタコントローラ１４は、こうして作成したテーブルを、各データ転送制御部３０ａ〜３０ｄに対して送信する。
【０１０７】
図９−３は、このプリンタコントローラ１４が印刷指示を行う際の一例の処理を示すフローチャートである。なお、このフローチャートの実行に先立って、プリンタコントローラ１４が搬送制御部５１に対して、既に印刷準備指示を送信しているものとする。
【０１０８】
プリンタコントローラ１４は、ステップＳ１４０で、上位装置１０からジョブ終了通知が送信されたか否かを判定する。若し、送信されたと判定したら、一連の処理を終了する。上位装置１０からジョブ終了通知が送信されていないと判定した場合、処理をステップＳ１４１に移行させる。
【０１０９】
ステップＳ１４１では、プリンタコントローラ１４は、Ｙ、Ｃ、Ｍ、Ｋ各色について少なくとも１ページ分の印刷画像データの転送終了を待機する。プリンタコントローラ１４は、１ページ分の印刷画像データの転送が終了したと判定したら、処理をステップＳ１４２に移行させ、搬送制御部５１からの印刷準備完了を示す応答の受信が待機される。プリンタコントローラ１４は、搬送制御部５１から送信された印刷準備完了を示す応答を、搬送制御線４１を介して受信すると、次にステップＳ１４３において、各データ転送制御部３０ａ〜３０ｄに対して、ｎページ目の印刷を指示する印刷指示を、エンジンＩ／Ｆ制御線４０ａ〜４０ｄを介して送信する。
【０１１０】
図９−４は、データ転送に係る各データ転送制御部３０ａ〜３０ｄにおける処理の例を示すフローチャートである。ここでは、説明のため、色Ｙ、データ転送制御部３０ａでの処理について説明する。データ転送制御部３０ａは、ステップＳ１５０で、プリンタコントローラ１４からエンジンＩ／Ｆ制御線４０ａを介して送信されるデータ転送開始要求を待機する。
【０１１１】
データ転送制御部３０ａは、データ転送開始要求を受信すると、次のステップＳ１５１で、上位装置１０に対して、色Ｙの印刷画像データの転送を要求するデータ転送要求を、データ線１１ａを介して送信する。このデータ転送要求に応じて上位装置１０からデータ線１１ａを介して転送される、色Ｙの印刷画像データを、データ転送制御部３０ａが受信する（ステップＳ１５２）。データ転送制御部３０ａは、データ転送ＤＭＡ１３３ａを制御して、受信した色Ｙの印刷画像データをメモリ３１ａの所定の領域に格納する（ステップＳ１５３）。
【０１１２】
データ転送制御部３０ａは、ステップＳ１５４で、上位装置１０からの色Ｙの印刷画像データの転送が終了したか否かを判定する。データ転送制御部３０ａは、例えば、転送される印刷画像データに付加されるサイズ情報に基づき、印刷画像データの転送が終了したか否かを判定することができる。若し、印刷画像データの転送が終了していないと判定した場合は、処理をステップＳ１５２に戻し、データの受信およびメモリ３１ａへの格納を継続する。一方、印刷画像データの転送が終了したと判定したら、処理をステップＳ１５５に移行させ、プリンタコントローラ１４に対して、エンジンＩ／Ｆ制御線４０ａを介してデータ転送終了通知を送信する。そして、処理がステップＳ１５０に戻される。
【０１１３】
図１０−１〜図１０−３は、上述した図９−１〜図９−４に示した各フローチャートに従って実行される、各実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。なお、図１０−１〜図１０−３において、符号Ａ〜Ｆは、異なる図面間で対応する符号に処理が移行することを示す。また、以下では、印刷ジョブは、全２ページの印刷を行うものであるとする。
【０１１４】
図１０−１を参照し、先ず、上位装置１０からプリンタコントローラ１４に対して制御線１２を介してジョブ開始の制御情報が送信される（ＳＥＱ２００）。プリンタコントローラ１４は、この制御情報に対して、ジョブ識別子jobID＝１を応答する制御情報を、制御線１２を介して上位装置１０に送信する（ＳＥＱ２０１）。それと共に、プリンタコントローラ１４は、ジョブの開始に伴いジョブを実行するためのリソースを獲得する。そして、プリンタコントローラ１４は、上位装置１０に対して、印刷プロセス受け付け開始を示す制御情報を制御線１２を介して送信する（ＳＥＱ２０２）。
【０１１５】
次に、上位装置１０は、プリンタコントローラ１４に対して、印刷条件を設定する制御情報を制御線１２を介して送信する（ＳＥＱ２０３）。プリンタコントローラ１４に対して設定される印刷条件は、図７を用いて説明したように、印刷形態、印刷種別、給排紙情報、印刷面順、印刷用紙サイズ、印刷画像データのデータサイズ、解像度および階調、ならびに、色情報が含まれる。また、印刷を行うページ数の情報も、印刷条件に含ませることができる。この制御情報がプリンタコントローラ１４に受信されると、受信した制御情報に含まれる各種の印刷条件が、例えばプリンタコントローラ１４のレジスタなどに書き込まれ、印刷条件が設定される。
【０１１６】
次に、上位装置１０は、１ページ目の印刷プロセス開始の制御情報を、制御線１２を介してプリンタコントローラ１４に送信する（ＳＥＱ２０４）。この制御情報は、当該プロセスを識別するためのプロセス識別番号processID＝１と、１ページ目を構成する画像を示す画像識別番号imageID＝１とを含む。プリンタコントローラ１４は、この印刷プロセス開始に対する応答である印刷プロセス開始の制御情報を上位装置１０に返す（ＳＥＱ２０５）。
【０１１７】
次に、プリンタコントローラ１４は、上位装置１０に対して、印刷プロセス要求の制御情報を送信し、印刷画像データを要求する。この印刷プロセス要求は、色Ｙ、Ｃ、ＭおよびＫの各色について、プリンタエンジン１５における色の並び順に従って、順次行われる。この例では、印刷用紙２０１の搬送方向に沿って各色Ｙ、Ｃ、ＭおよびＫのヘッドがヘッド５６ａ、５６ｂ、５６ｃ、５６ｄの順に並べられているものとする。
【０１１８】
先ず、プリンタコントローラ１４は、色Ｙの印刷画像データを要求する印刷プロセス要求の制御情報を、上位装置１０に対して制御線１２を介して送信する（ＳＥＱ２０６）。この制御情報は、プロセスを指定するプロセス識別番号processID＝１と、色Ｙを指定する色情報Yellowとが含まれる。上位装置１０は、この制御情報に対する応答として、画像識別番号imageID＝１を含む制御情報をプリンタコントローラ１４に返す（ＳＥＱ２０７）。プリンタコントローラ１４は、この制御情報を受信すると、色Ｙに対応するデータ転送制御部３０ａに対して印刷画像データの転送を開始するよう要求する（ＳＥＱ２０８）。このとき、プリンタコントローラ１４は、例えば、転送の開始を要求する印刷画像データのデータサイズを、この要求と共にデータ転送制御部３０ａに送信する。
【０１１９】
データ転送制御部３０ａは、この要求を受けて、データ線１１ａを介して上位装置１０に対して色Ｙのプレーンの印刷画像データを要求し（ＳＥＱ２０９Ａ）、この要求に応じて、上位装置１０からデータ転送制御部３０ａに対して、色Ｙの印刷画像データが転送される（ＳＥＱ２０９）。転送された印刷画像データは、データ転送制御部３０ａのメモリ３１ａにおける、１ページ目の印刷画像データのために割り当てられた領域に格納される。
【０１２０】
以下、他の各色Ｃ、ＭおよびＫについても、上述のＳＥＱ２０６、ＳＥＱ２０７、ＳＥＱ２０８、ＳＥＱ２０９ＡおよびＳＥＱ２０９と同様の処理が繰り返され、各色の印刷画像データが上位装置１０から各データ線１１ｂ、１１ｃおよび１１ｄを介してデータ転送制御部３０ｂ、３０ｃおよび３０ｄにそれぞれ転送され、メモリ３１ｂ、３１ｃおよび３１ｄそれぞれの、１ページ目の印刷画像データのために割り当てられた領域に格納される（ＳＥＱ２１０〜ＳＥＱ２２１）。
【０１２１】
また、上位装置１０は、１のプレーンの印刷画像データの転送が終了すると、データ転送完了の制御情報をプリンタコントローラ１４に対して送信する。プリンタコントローラ１４は、この制御情報に応じて、印刷画像データの受信完了の制御情報を上位装置１０に送信する。
【０１２２】
例えば、上位装置１０は、色Ｙのプレーンの印刷画像データの転送が終了すると、画像識別番号imageID＝１と色情報Yellowとを含むデータ転送完了の制御情報をプリンタコントローラ１４に対して送信する（ＳＥＱ２２２）。一方、データ転送制御部３０ａは、上位装置１０からデータ線１１ａを介しての印刷画像データの転送が終了すると、その旨示す通知をプリンタコントローラ１４に対して送信する（ＳＥＱ２２３）。プリンタコントローラ１４は、この通知に応じて、画像識別番号imageID＝１と、色情報Yellowとを含むデータ受信完了の制御情報を上位装置１０に対して送信する（ＳＥＱ２２４）。
【０１２３】
以下、他の各色Ｃ、ＭおよびＫについても、各印刷画像データの転送終了に伴い上述のＳＥＱ２２２〜ＳＥＱ２２４と同様の処理が繰り返され、上位装置１０に対してデータ受信完了の制御情報が送信される（ＳＥＱ２２５〜ＳＥＱ２３３）。
【０１２４】
プリンタコントローラ１４は、ＳＥＱ２３３で、１ページ目の最後の印刷画像データ（すなわち色Ｋの印刷画像データ）についてのデータ受信完了の制御情報を上位装置１０に送信した後に、搬送制御部５１に対して印刷の準備を指示する。搬送制御部５１は、この指示に従い印刷用紙２０１の印刷位置への搬送を開始する。
【０１２５】
説明は図１０−２に移り、１ページ目の各色の印刷画像データの転送が完了すると、上位装置１０は、２ページ目の印刷プロセス開始の制御情報を、制御線１２を介してプリンタコントローラ１４に送信する（ＳＥＱ２３４）。この制御情報は、当該２ページ目のプロセスを識別するプロセス識別番号processID＝２と、２ページ目を構成する画像を示す画像識別番号imageID＝２とを含む。プリンタコントローラ１４は、この印刷プロセス開始に対する応答である印刷プロセス開始の制御情報を上位装置１０に返す（ＳＥＱ２３５）。
【０１２６】
例えば全２ページの印刷を行う場合には、このＳＥＱ２３４およびＳＥＱ２３５の処理で印刷プロセス開始要求が完了することになる。そのため、上位装置１０は、ＳＥＱ２３５で２ページ目の印刷プロセス開始要求に対する応答を受け取ると、ＳＥＱ２３６で、ジョブ識別子jobID＝１が指定されたプロセス開始要求完了の制御情報を、プリンタコントローラ１４に対して送信する。
【０１２７】
次に、上述したＳＥＱ２０６〜ＳＥＱ２２１と同様にして、プリンタコントローラ１４は、上位装置１０に対して印刷プロセス要求の制御情報を送信し、印刷画像データを要求する。この印刷プロセス要求は、色Ｙ、Ｃ、ＭおよびＫの各色について、プリンタエンジン１５における色の並び順に従って、順次行われる。
【０１２８】
先ず、プリンタコントローラ１４は、色Ｙの印刷画像データを要求する印刷プロセス要求の制御情報を、上位装置１０に対して制御線１２を介して送信する（ＳＥＱ２３７）。この制御情報は、プロセスを指定するプロセス識別番号processID＝２と、色Ｙを指定する色情報Yellowとが含まれる。上位装置１０は、この制御情報に対する応答として、画像識別番号imageID＝２を含む制御情報をプリンタコントローラ１４に返す（ＳＥＱ２３８）。プリンタコントローラ１４は、この制御情報を受信すると、色Ｙに対応するデータ転送制御部３０ａに対して印刷画像データの転送を開始するよう要求する（ＳＥＱ２３９）。
【０１２９】
データ転送制御部３０ａは、この要求を受けて、データ線１１ａを介して上位装置１０に対して色Ｙのプレーンの印刷画像データを要求し（ＳＥＱ２４０Ａ）、この要求に応じて、上位装置１０からデータ転送制御部３０ａに対して、色Ｙの印刷画像データが転送される（ＳＥＱ２４０）。転送された印刷画像データは、データ転送制御部３０ａのメモリ３１ａにおける２ページ目の印刷画像データのために割り当てられた領域に格納される。
【０１３０】
以下、他の各色Ｃ、ＭおよびＫについても、上述のＳＥＱ２３７、ＳＥＱ２３８、ＳＥＱ２３９、ＳＥＱ２４０ＡおよびＳＥＱ２４０と同様の処理が繰り返され、各色の印刷画像データが上位装置１０から各データ線１１ｂ、１１ｃおよび１１ｄを介してデータ転送制御部３０ｂ、３０ｃおよび３０ｄにそれぞれ転送され、メモリ３１ｂ、３１ｃおよび３１ｄそれぞれの２ページ目の印刷画像データのために割り当てられた領域に格納される（ＳＥＱ２４４〜ＳＥＱ２５１、ＳＥＱ２５５〜ＳＥＱ２５８）。
【０１３１】
また、上述と同様に、上位装置１０は、１のプレーンの印刷画像データの転送終了毎に、データ転送完了の制御情報をプリンタコントローラ１４に対して送信する。プリンタコントローラ１４は、この制御情報に応答して、印刷画像データの受信完了の制御情報を上位装置１０に送信する。
【０１３２】
図１０−２の例では、上位装置１０は、ＳＥＱ２４０で転送された色Ｙの印刷画像データの転送が終了されると、データ転送完了の制御情報をプリンタコントローラ１４に対して送信する（ＳＥＱ２５２）。データ転送制御部３０ａは、上位装置１０からデータ線１１ａを介しての印刷画像データの転送が終了すると、その旨示す通知をプリンタコントローラ１４に対して送信する（ＳＥＱ２５３）。プリンタコントローラ１４は、この通知に応答して、画像識別番号imageID＝２と、色情報Yellowとを含むデータ受信完了の制御情報を上位装置１０に対して送信する（ＳＥＱ２５４）。
【０１３３】
以下、他の各色Ｃ、ＭおよびＫについても、各印刷画像データの転送終了に伴い上述のＳＥＱ２５２〜ＳＥＱ２５４と同様の処理が行われ、上位装置１０に対してデータ受信完了の制御情報が送信される（ＳＥＱ２５９〜ＳＥＱ２６７）。
【０１３４】
なお、図１０−２の例では、上述したＳＥＱ２３４の直前における搬送制御部５１に対する印刷準備の指示に対する、搬送制御部５１からの印刷準備が完了した旨の応答が、ＳＥＱ２４０の直後に、搬送制御部５１からプリンタコントローラ１４に対して通知されている。プリンタコントローラ１４は、この通知を受信すると、それぞれプロセス識別番号processID＝１およびプロセス識別番号processID＝２とした、印刷プロセス開始の２の制御情報を、上位装置１０に対して送信する（ＳＥＱ２４１、ＳＥＱ２４３）。これにより、上位装置１０に対して、１ページ目および２ページ目の印刷が可能となった旨が通知される。
【０１３５】
また、ＳＥＱ２４１の時点で、１ページ目の各色の印刷画像データのデータ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄへの転送が完了している。そのため、プリンタコントローラ１４は、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄに対して、１ページ目の印刷を行う印刷指示をそれぞれ通知する（ＳＥＱ２４２）。この印刷指示は、例えば各データ転送制御部３０ａ、３０ｂ，３０ｃおよび３０ｄにおいて、メモリ３１ａ，３１ｂ，３１ｃおよび３１ｄにそれぞれ格納されるなどにより保持される。この印刷指示に従った実際の印刷動作は、後続するページの印刷動作などとタイミングを合わせて実行される。
【０１３６】
さらに、図１０−２の例では、プリンタコントローラ１４において、ＳＥＱ２４１およびＳＥＱ２４３の印刷プロセス開始の制御情報の送信により、２番目に転送が開始される色Ｃのプレーンの印刷画像データの上位装置１０に対する要求が遅延している（ＳＥＱ２４４参照）。そして、この遅延に伴い、最初に転送が開始された色Ｙのプレーンの印刷画像データの転送が、色Ｋのプレーンの印刷画像データの転送が開始される前に完了してしまっている（ＳＥＱ２５３参照）。さらにまた、色Ｙのプレーンの印刷画像データの転送完了の通知処理（ＳＥＱ２５３）の後に、色Ｋのプレーンの印刷画像データの転送が開始されている（ＳＥＱ２５７、ＳＥＱ２５８）。
【０１３７】
図１０−１に示す１ページ目のデータ転送処理では、各色の印刷画像データの転送が各色の順序で行われ、印刷画像データの転送が終了した後に、データ転送の終了処理が各色の順序で行われている。これに対して、図１０−２に示す２ページ目のデータ転送処理では、各色の印刷画像データの転送が終了しないうちに、データ転送の終了処理が開始してしまっている。
【０１３８】
上述のように、各色Ｙ、Ｃ、ＭおよびＫのデータ転送を制御するデータ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄがそれぞれ独立した構成とされ、プリンタコントローラ１４は、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄとそれぞれ独立して通信を行うことができ、また、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄは、それぞれ独立して処理を実行する。そのため、このように、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄによる一連の処理の途中に他の処理が割り込んできても、それぞれの処理を変更する必要が無い。
【０１３９】
ＳＥＱ２６７で、プリンタコントローラ１４が上位装置１０に対して色Ｋのプレーンの印刷画像データの転送が完了したことを通知すると、プリンタコントローラ１４は、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄに対して２ページ目の印刷を行う印刷指示をそれぞれ通知する（ＳＥＱ２６８）。
【０１４０】
説明は図１０−３に移り、プリンタエンジン１５においてＳＥＱ２４２の印刷指示に従い１ページ目の印刷が実行され、印刷用紙２０１の給紙が開始される。プリンタエンジン１５は、この１ページ目の給紙開始をプリンタコントローラ１４に対して通知する（ＳＥＱ２６９）。プリンタコントローラ１４は、この通知を受信すると、上位装置１０に対して、プロセス識別番号processID＝１として、１ページ目の給紙が開始されたことを示す制御情報を送信する（ＳＥＱ２７０）。それと共に、プリンタコントローラ１４は、データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄに対して、互いに同期して印刷を実行するよう、印刷指示を送信する。この印刷指示に従い、データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄは、各メモリ３１ａ、３１ｂ、３１ｃおよび３１ｄから各色Ｙ、Ｃ、ＭおよびＫの印刷画像データをそれぞれ読み出し、印刷用紙２０１に対する１ページ目の各プレーンの印刷を順次行う。
【０１４１】
同様に、プリンタエンジン１５は、１ページ目の印刷が完了し、２ページ目の印刷に移行すると、２ページ目の給紙開始をプリンタコントローラ１４に通知する（ＳＥＱ２７１）。プリンタコントローラ１４は、この通知を受信すると、上位装置１０に対して、プロセス識別番号processID＝２として、２ページ目の給紙が開始されたことを示す制御情報を送信する（ＳＥＱ２７２）と共に、データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄに対して、互いに同期して印刷を実行するよう、印刷指示を送信する。この印刷指示に従い、データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄは、各メモリ３１ａ、３１ｂ、３１ｃおよび３１ｄから各色Ｙ、Ｃ、ＭおよびＫの印刷画像データをそれぞれ読み出し、印刷用紙２０１に対する２ページ目の各プレーンの印刷を順次行う。
【０１４２】
また、プリンタエンジン１５は、１ページ目の各色の印刷が終了し印刷用紙２０１の１ページ目が排紙されると、その旨をプリンタコントローラ１４に通知する（ＳＥＱ２７３）。プリンタコントローラ１４は、この通知を受信すると、上位装置１０に対して、プロセス識別番号processID＝１として、１ページ目の印刷用紙２０１が排紙されたことを示す制御情報を送信する（ＳＥＱ２７４）。同様に、プリンタエンジン１５は、２ページ目の各色の印刷が終了し、印刷用紙２０１の２ページ目が排紙されると、その旨をプリンタコントローラ１４に通知し（ＳＥＱ２７５）、プリンタコントローラ１４は、この通知に応じてプロセス識別番号processID＝２として２ページ目の印刷用紙２０１が排紙されたことを示す制御情報を上位装置１０に対して送信する（ＳＥＱ２７６）。
【０１４３】
上位装置１０は、プリンタコントローラ１４から、例えばＳＥＱ２０３で印刷条件の設定の制御情報に含まれる、印刷ページ数を示す情報に対応する排紙報告を受信したら、ＳＥＱ２００で開始を通知したジョブによる印刷が終了したとして、ジョブ識別番号jobID＝１としたジョブ終了の制御情報をプリンタコントローラ１４に対して送信する（ＳＥＱ２７７）。プリンタコントローラ１４は、この制御情報を受信すると、ジョブ識別番号jobID＝１として、応答の制御情報を上位装置１０に送信する（ＳＥＱ２７８）。これにより、一連の印刷処理が終了する。
【０１４４】
上述したように、印刷画像データの上位装置１０からの転送タイミングの制御や、上位装置１０との間の制御情報のやりとりなど、従来、各色のデータ転送制御部がそれぞれ行っていた機能を、プリンタコントローラ１４が一括して行うようにしている。また、各色に対応するデータ転送制御部（データ転送制御部３０ａ〜３０ｄ）は、印刷画像データを受信および読み出しのみを行うようにしている。そのため、印刷画像データの転送処理を高速化することができる。
【０１４５】
また、各色Ｙ、Ｃ、ＭおよびＫのデータ転送を制御するデータ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄがそれぞれ独立した構成とされている。それと共に、プリンタコントローラ１４と各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄとがエンジンＩ／Ｆ制御線４０ａ、４０ｂ、４０ｃおよび４０ｄでそれぞれ接続され、プリンタコントローラ１４と各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄとの間の通信は、データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄそれぞれで独立して行われる。また、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄは、それぞれ独立して処理を実行する。
【０１４６】
そのため、上述の例えばＳＥＱ２３７〜ＳＥＱ２６６のように、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄによる一連の処理の途中に他の処理が割り込んできても、それぞれの処理を変更する必要が無い。また、各データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄの処理が独立しているため、データ転送制御部３０ａ、３０ｂ、３０ｃおよび３０ｄの追加や削除を容易に行うことができ、システム構成の様々なバリエーションを共通の構成で提供することができる。
【０１４７】
（データ転送処理の別の例）
次に、上述したデータ転送処理の別の例について説明する。上述では、各色の印刷画像データの転送処理に際して、上位装置１０は、各色のデータ転送制御部３０ａ〜３０ｄから各データ線１１ａ〜１１ｄを介して送信されたデータ転送要求に応じて、各色の印刷画像データを転送していた。これに対して、本例では、データ転送制御部３０ａ〜３０ｄから上位装置１０に対してデータ転送要求を送信しない。上位装置１０は、プリンタコントローラ１４からのデータ要求に応答した後、直接的に、データ転送制御部３０ａ〜３０ｄに対してデータ線１１ａ〜１１ｄを介して各色の印刷画像データを転送する。
【０１４８】
データ転送処理の別の例による印刷画像データのデータ転送処理について、図１１−１および図１１−２のフローチャートを用いて説明する。図１１−１は、本例による、データ転送に係る上位装置１０における処理の例を示すフローチャートである。なお、図１１−１において、上述した図９−１と共通する処理には同一の符号を付し、詳細な説明を省略する。
【０１４９】
図１１−１のフローチャートに示されるように、上位装置１０の処理は、ステップＳ１００のジョブ開始を示す制御情報の送信から、ステップＳ１０５の、プリンタコントローラ１４からのデータ要求に対する応答をプリンタコントローラ１４に返すまでの処理は、図９−１で説明した処理と同一であるので、ここでの説明を省略する。
【０１５０】
本例では、上位装置１０は、ステップＳ１０５でプリンタコントローラ１４からのデータ要求に対する応答をプリンタコントローラ１４に制御線１２を介して送信した後、処理をステップＳ１６０に移行させる。ステップＳ１６０で、上位装置１０は、例えば色Ｙの印刷画像データを、データ線１１ａを介してデータ転送制御部３０ａに送信し、データ転送制御部３０ａ内のメモリ３１ａに格納する。このとき、上位装置１０は、例えば、送信する印刷画像データに対してメモリ３１ａのアドレス情報を付加してデータ転送制御部３０ａに送信する。データ転送制御部３０ａは、印刷画像データに付加されたアドレス情報に従い、当該印刷画像データをメモリ３１ａに格納する。
【０１５１】
上位装置１０は、ステップＳ１６０による印刷画像データの転送処理を、所定量、例えば１ページ分の印刷画像データの転送が終了するまで行う。上位装置１０は、ステップＳ１０８で、印刷画像データの転送が終了したと判定したら、ステップＳ１０９でデータ転送終了通知をプリンタコントローラ１４に対して制御線１２を介して送信し、ステップＳ１１０で、この通知に対するプリンタコントローラ１４からの応答を待機する。以降は、上述した図９−１で説明した処理と同一であるので、ここでの説明を省略する。
【０１５２】
本例において、プリンタコントローラ１４におけるデータ転送処理および印刷指示処理は、図９−２および図９−３を用いて説明した処理と何ら変わるところが無いので、ここでの説明は省略する。
【０１５３】
図１１−２は、本例による、データ転送に係るデータ転送制御部３０ａにおける処理の別の例を示すフローチャートである。なお、図１１−２において、上述した図９−４と共通する処理には同一の符号を付し、詳細な説明を省略する。
【０１５４】
ステップＳ１５０で、データ転送制御部３０ａは、プリンタコントローラ１４からエンジンＩ／Ｆ制御線４０ａを介して送信されるデータ転送開始要求を待機する。データ転送制御部３０ａは、プリンタコントローラ１４からのデータ転送開始要求を受信すると、処理をステップＳ１６１に移行させ、上位装置１０からデータ線１１ａを介して転送される色Ｙの印刷画像データを受信する。そして、データ転送制御部３０ａは、当該印刷画像データに付加されるアドレス情報に従い、当該印刷画像データをメモリ３１ａに格納する。
【０１５５】
データ転送制御部３０ａは、ステップＳ１５４で、上位装置１０からの色Ｙの印刷画像データの転送が終了したか否かを判定する。データ転送制御部３０ａは、例えば、上位装置１０が転送する印刷画像データに付加したサイズ情報に基づき、印刷画像データの転送が終了したか否かを判定する。上位装置１０が印刷画像データ転送の終了時に、その旨示す情報をデータ転送制御部３０ａに送信してもよい。若し、印刷画像データの転送が終了していないと判定した場合は、処理をステップＳ１６１に戻し、データの受信およびメモリ３１ａへの格納を継続する。
【０１５６】
一方、印刷画像データの転送が終了したと判定したら、処理をステップＳ１５５に移行させ、プリンタコントローラ１４に対して、エンジンＩ／Ｆ制御線４０ａを介してデータ転送終了通知を送信する。そして、処理がステップＳ１５０に戻される。
【０１５７】
このように、データ転送制御部３０ａ〜３０ｄから上位装置１０に対してデータ転送要求を送信せずに、上位装置１０がプリンタコントローラ１４からのデータ要求に応答した後、直接的に、データ転送制御部３０ａ〜３０ｄに対してデータ線１１ａ〜１１ｄを介して各色の印刷画像データを転送する方式を用いることも可能である。
【０１５８】
（第１の実施形態）
次に、本発明の第１の実施形態について説明する。本第１の実施形態では、各データ転送制御部３０ａ〜３０ｄがそれぞれ有するメモリ３１ａ〜３１ｄの管理を、プリンタコントローラ１４側で一元的に行う。なお、以下では、印刷画像データがＣ、Ｍ、Ｙ、Ｋ各色で同一サイズのビットマップデータによって、上位装置１０からプリンタ装置１３に供給されるものとして説明する。
【０１５９】
本第１の実施形態では、図１２に例示されるように、プリンタコントローラ１４において、各メモリ３１ａ〜３１ｄそれぞれのメモリ空間と同一のメモリ空間を持つ仮想的なメモリ６０（以下、仮想メモリ６０と呼ぶ）を定義する。プリンタコントローラ１４は、上位装置１０から転送された印刷画像データを各メモリ３１ａ〜３１ｄに対して書き込む先頭位置（入力ポインタと呼ぶ）と、メモリ３１ａ〜３１ｄから印刷画像データを読み出す際の先頭位置（出力ポインタと呼ぶ）とを、それぞれ仮想メモリ６０上で管理する。
【０１６０】
プリンタコントローラ１４は、各メモリ３１ａ〜３１ｄに対して書き込みを行う際には、入力ポインタが示すアドレスを各データ転送制御部３０ａ〜３０ｄにそれぞれ渡す。各データ転送制御部３０ａ〜３０ｄは、プリンタコントローラ１４から渡されたこの入力ポインタが示すアドレスを先頭アドレスとして、データの書き込みを開始する。同様に、プリンタコントローラ１４は、各メモリ３１ａ〜３１ｄからデータの読み出しを行う際には、出力ポインタが示すアドレスを各データ転送制御部３０ａ〜３０ｄにそれぞれ渡す。各データ転送制御部３０ａ〜３０ｄは、プリンタコントローラ１４から渡されたこの出力ポインタが示すアドレスを先頭アドレスとして、各メモリ３１ａ〜３１ｄからのデータの読み出しを開始する。
【０１６１】
プリンタコントローラ１４は、入力ポインタを、１ページ分の書き込みが終了したら１ページ分アドレスを移動させて更新する。同様に、出力ポインタを、１ページ分の読み出しが終了したら１ページ分アドレスを移動させて更新する。各メモリ３１ａ〜３１ｄの書き込み開始位置および読み出し開始位置がプリンタコントローラ１４側で一元的に管理されるため、ページ単位での各メモリ３１ａ〜３１ｄの記憶領域の確保および解放が容易となる。
【０１６２】
仮想メモリ６０は、例えば、各メモリ３１ａ〜３１ｄのメモリ空間を示す情報であるアドレスマップとして構成される。図１３は、仮想メモリ６０のより具体的な例を示す。一例として、図１３（ａ）に示されるように、実メモリである各メモリ３１ａ〜３１ｄは、それぞれ、利用可能な領域の先頭位置を示すＴｏｐアドレスが「００００ｈ」、利用可能な領域の終端位置を示すＢｏｔｔｏｍアドレスが「ＦＦＦＦｈ」であるものとする。アドレスは、ＴｏｐアドレスからＢｏｔｔｏｍアドレスの方向に向けて、所定単位毎に増加される。なお、アドレス表記において「ｈ」は、直前の文字列が１６進表記の数値であることを示す。
【０１６３】
仮想メモリ６０のＴｏｐアドレスおよびＢｏｔｔｏｍアドレスは、それぞれ、各メモリ３１ａ〜３１ｄのＴｏｐアドレスおよびＢｏｔｔｏｍアドレスと同一の、「００００ｈ」および「ＦＦＦＦｈ」に設定される。また、実メモリである各メモリ３１ａ〜３１ｄそれぞれの入力ポインタ（ＩＮ）および出力ポインタ（ＯＵＴ）は、仮想メモリ６０上の入力ポインタおよび出力ポインタと同じアドレスとして管理される。図１３（ａ）の例では、出力ポインタがアドレス「３０００ｈ」、入力ポインタがアドレス「Ａ０００ｈ」とされている。
【０１６４】
図１３（ｂ）は、仮想メモリ６０の実体となるアドレスマップ６０ａの例を示す。アドレスマップ６０ａは、例えば、ＴｏｐアドレスおよびＢｏｔｔｏｍアドレスと、ある時点での出力ポインタおよび入力ポインタそれぞれのアドレスとによる、アドレスの集合体として構成される。また、図１３（ｂ）の例では、データを書き込む書き込みアドレス（ｗｒｉｔｅ）が、アドレスマップ６０ａにさらに含められている。
【０１６５】
入力ポインタおよび出力ポインタのアドレスは、それぞれ、１ページ分の書き込みの終了時、ならびに、１ページ分の読み出しの終了時に、１ページ分のアドレスが増加されて更新される。また、書き込みアドレスは、各メモリ３０ａ〜３０ｄに対するデータの書き込み時に、データの書き込み単位毎に増加され、各メモリ３０ａ〜３０ｄに対するデータの書き込み位置が示される。これら入力ポインタ、出力ポインタおよび書き込みアドレスは、更新された結果、値がＢｏｔｔｏｍアドレスを超える場合、Ｔｏｐアドレスから巡回的にアドレスが設定される。
【０１６６】
このアドレスマップ６０ａは、例えばプリンタコントローラ１４内の制御部２３において構築される。より具体的には、例えばＣＰＵ３２１によりＲＡＭ３２３上に各値を記憶させることで構築される。ＴｏｐアドレスおよびＢｏｔｔｏｍアドレスは、例えば予めＲＯＭ３２４に記憶しておくことができる。また、プリンタ装置１３の起動時の初期化処理時などに、制御部２３が制御信号送受信部２１を介して各データ転送制御部３０ａ〜３０ｄと通信を行い、各メモリ３１ａ〜３１ｄのＴｏｐアドレスおよびＢｏｔｔｏｍアドレスを取得して、アドレスマップ６０ａを生成することもできる。これに限らず、プリンタコントローラ１４が有するＲＡＭ３２３上に実際にメモリ空間を確保して、仮想メモリ６０を構築してもよい。
【０１６７】
図１４を用いて、仮想メモリ６０上での入力ポインタおよび出力ポインタの制御について説明する。なお、図１４では、図の上側から下側に向けてアドレスが増加するものとする。図１４（ａ）に例示されるように、仮想メモリ６０では、初期状態において、入力ポインタおよび出力ポインタが共にアドレスＰ0を示している。
【０１６８】
例えば図８のＳＥＱ１０１において、上位装置１０からプリンタコントローラ１４に対して１ページ目のデータ転送が要求されると、各メモリ３１ａ〜３１ｄに対し、仮想メモリ６０上の入力ポインタが示すアドレスＰ0から、当該１ページ目の印刷画像データが書き込まれる。１ページ目の全色の印刷画像データの転送が終了されたと判定されたら、プリンタコントローラ１４は、仮想メモリ６０の入力ポインタをアドレスＰ0から１ページ分移動させてアドレスＰ1として入力ポインタの更新を行い、次の１ページ分の印刷画像データを転送する転送先のアドレスを指定する。図８の例では、ＳＥＱ１１１ｄで１ページ目の色Ｋの印刷画像データの転送終了がプリンタコントローラ１４に通知されると、プリンタコントローラ１４は、１ページ目の全色の印刷画像データの転送が終了したと判定する。
【０１６９】
なお、ここでは、１ページ目の全色の印刷画像データの転送が終了した場合に、入力ポインタの更新を行うように説明したが、これはこの例に限定されない。例えば、１ページ目の各色の印刷画像データの転送終了毎に、それぞれ入力ポインタの更新を行ってもよい。
【０１７０】
２ページ目の印刷画像データは、仮想メモリ６０上の入力ポインタが示すアドレスＰ1を転送先アドレスとして、各メモリ３１ａ〜３１ｄに対して書き込まれる。そして、例えば図８のＳＥＱ１１５において、２ページ目の全色の印刷画像データの転送が終了し、且つ次のページのデータ転送が要求されている場合、プリンタコントローラ１４は、入力ポインタをさらにアドレスＰ1から１ページ分移動させてアドレスＰ2として、入力ポインタの更新を行い、次の１ページ分の印刷画像データの転送先アドレスを指定する（図１４（ｂ）参照）。
【０１７１】
また、１ページ目の全色の印刷が終了すると、図１４（ｃ）に例示されるように、プリンタコントローラ１４は、出力ポインタの位置をアドレスＰ0から１ページ分移動させてアドレスＰ1として、出力ポインタの更新を行い、次の印刷開始位置を２ページ目の先頭に指定する。図８の例では、ＳＥＱ１２０ｄにおいて、１ページ目の色Ｋの印刷が終了すると、プリンタコントローラ１４は、当該１ページ目の全色の印刷が終了したと判定する。
【０１７２】
なお、ここでは、１ページ目の全色の印刷が終了した場合に、出力ポインタの更新を行うように説明したが、これはこの例に限定されない。例えば、１ページの各色の印刷画像ーによる印刷が終了する毎に、それぞれ出力ポインタの更新を行ってもよい。
【０１７３】
１ページ分の全色の印刷が終了すると、出力ポインタの移動と共に、プリンタコントローラ１４は、各データ転送制御部３０ａ〜３０ｄに対し、各メモリ３１ａ〜３１ｄの印刷が終了した印刷画像データが書き込まれている領域をゼロクリアするように指示を出す。この指示に従い、各データ転送制御部３０ａ〜３０ｄは、各メモリ３１ａ〜３１ｄの印刷が終了した領域（例えば１ページ目、仮想メモリ６０上でアドレスＰ0〜Ｐ1として指定される領域）を値「０」で埋め尽くし、当該領域のゼロクリアを実行する。このように、各メモリ３１ａ〜３１ｄにおける印刷が終了した領域をゼロクリアすることで、後続する印刷における誤印刷を防ぐことができる。
【０１７４】
上述では、各メモリ３１ａ〜３１ｄに対してゼロクリアする領域を、印刷が終了した印刷画像データが書き込まれた領域としているが、これはこの例に限定されない。例えば、各メモリ３１ａ〜３１ｄに対してゼロクリアする領域を、排紙が終了した印刷画像データが書き込まれた領域とすれば、各データ転送制御部３０ａ〜３０ｄのメモリ３１ａ〜３１ｄそれぞれには、排紙される前のデータが保存されることになる。したがって、例えば印刷用紙２０１のジャムなどの発生などによりページの再印刷が必要になっても、上位装置１０からの印刷画像データの再送信を不要とすることができる。
【０１７５】
また、上述では、各メモリ３１ａ〜３１ｄのゼロクリアを１ページ分の印刷が終了した時点としているが、これはこの例に限定されない。すなわち、各メモリ３１ａ〜３１ｄのゼロクリアは、これから印刷を行うページの印刷画像データが上位装置１０から転送され各メモリ３１ａ〜３１ｄに書き込まれるまでの間に実行されればよい。この場合、出力ポインタは、１ページ分の印刷が終了した時点で予め移動させておいてもよいし、ゼロクリアを行う時点で移動させてもよい。また、ゼロクリアは、各メモリ３１ａ〜３１ｄで略同時に行ってもよいし、メモリ３１ａ〜３１ｄのうち印刷画像データが転送されるメモリから順次行ってもよい。
【０１７６】
次に２ページ目のデータ転送が終了すると、プリンタコントローラ１４は、図１４（ｄ）に例示されるように、仮想メモリ６０上の入力ポインタの位置をアドレスＰ2から１ページ分移動させてアドレスＰ3として、入力ポインタの更新を行い、３ページ目のデータの転送先アドレスを指定する。
【０１７７】
このように、本第１の実施形態では、１ページ分のデータ転送の終了時に、仮想メモリ６０上で印刷画像データの転送先アドレスを示す入力ポインタを移動させ、各色の１ページ分の印刷の終了時に、仮想メモリ６０上で印刷画像データの読み出しの開始位置のアドレスを示す出力ポインタを移動させるようにしている。そして、メモリ３１ａ〜３１ｄに対する印刷画像データの書き込みおよび読み出しを、仮想メモリ６０上の入力ポインタおよび出力ポインタが示すアドレスに従い行っている。そのため、プリンタコントローラ１４は、各メモリ３１ａ〜３１ｄの状態を容易に把握することが可能となり、それに伴い、１ページの印刷において、全色の印刷が終了したか否かを容易に判定することができる。
【０１７８】
なお、１ページの画像データの書き込みおよび読み出しは、同じタイミング（速度）で発生するとは限らない。すなわち、高速で印刷を行おうとする場合、印刷画像データをバッファリングしておくことで連続印刷を保証しようとすることが多い。そのため、印刷画像データの各メモリ３０ａ〜３０ｄに対するアクセスは、読み出しの速度よりも書き込みの速度の方が速くできるように制御することが好ましい。この場合、各メモリ３０ａ〜３０ｄには、１ページ分以上の印刷画像データが格納されることになり、入力ポインタと出力ポインタとのアドレスの差分は、１ページ分以上のページサイズとなる。
【０１７９】
また、入力ポインタと出力ポインタとのアドレスの差分は、上位装置１０における印刷画像データの展開速度（ＲＩＰ処理の速度）に影響される。すなわち、印刷画像データの展開速度は、印刷画像データの内容に依存するので、入力ポインタの変化速度は、印刷画像データの内容に依存することになる。一方、出力ポインタの変化速度は、画像出力部５０における印刷速度（各ヘッド５６ａ〜５６ｄへのデータの出力速度）に依存し、一定となる。なお、各メモリ３０ａ〜３０ｄに対する印刷画像データの書き込み速度が画像出力部５０における印刷速度よりも遅い場合は、入力ポインタと出力ポインタとのアドレスの差分が０となる。
【０１８０】
（転送管理テーブル）
次に、本第１の実施形態による転送管理テーブルについて説明する。この転送管理テーブルは、データ転送制御部３０ａ〜３０ｄによるデータ転送処理や、画像出力部５０における印刷処理を管理するために用いられる。プリンタコントローラ１４において、制御部２３は、上位装置１０から送信された印刷ジョブ、用紙情報、ならびに、図７を用いて説明した（３）印刷条件を示す情報などに基づきこの転送管理テーブルを作成して保持する。具体的には、ＣＰＵ３２１が転送管理テーブルを作成して、ＲＡＭ３２３に記憶する。
【０１８１】
また、制御部２３は、各データ転送制御部３０ａ〜３０ｄに対してデータ転送の開始要求や印刷指示などを行う際に、転送管理テーブルの情報のうち必要な情報を、各データ転送制御部３０ａ〜３０ｄに保持させる。例えば、制御部２３は、当該情報を制御信号送受信部２１からエンジンＩ／Ｆ制御線４０ａ〜４０ｄを介して各データ転送制御部３０ａ〜３０ｄに対して送信し、これら各データ転送制御部３０ａ〜３０ｄが有するレジスタなどの記憶手段に書き込む。
【０１８２】
データ転送制御部３０ａを例にとって、より具体的な例を説明する。制御部２３は、転送管理テーブルの情報のうち必要な情報を、制御信号送受信部２１からエンジンＩ／Ｆ制御線４０ａを介してデータ転送制御部３０ａに送信し、データ転送制御部３０ａにおけるロジック回路３２ａ（データ転送制御部コントローラ１３５ａ）が有するレジスタに書き込む。
【０１８３】
各データ転送制御部３０ａ〜３０ｄは、このレジスタに書き込まれた転送管理テーブルの情報に従い、上位装置１０に対する印刷画像データの転送要求や、画像出力部５０に対する印刷指示を出す。なお、転送管理テーブルには、ページを識別するページ識別子が含まれ、各データ転送制御部３０ａ〜３０ｄは、このページ識別子に基づき転送管理テーブルの情報を選択し、データ転送および印刷処理を実行する。
【０１８４】
図１５は、本第１の実施形態に適用される転送管理テーブルの一例を示す。転送管理テーブルは、Ｃ、Ｍ、Ｙ、Ｋ各色に共通の情報と、各色毎の情報とを含む。また、各色共通の情報および各色毎の情報は、それぞれ、上位装置１０からの印刷画像データの転送のために用いるデータ転送用の情報と、画像出力部５０に対する印刷指示に関する情報である印刷用の情報とを含む。なお、転送管理テーブルに含まれる各情報は、テーブル形式で管理されるのに限られず、他のデータ管理形式で管理されるようにしてもよい。
【０１８５】
本第１の実施形態による各色共通の情報について説明する。各色共通の情報において、データ転送用および印刷用以外の情報として、ページ識別子ＰＢＩＤおよび１ページ当たりのデータ数が含まれる。ページ識別子ＰＢＩＤは、印刷ページを識別するためのページ識別子であり、当該転送管理テーブルは、このページ識別子ＰＢＩＤにより識別される。１ページ当たりのデータ数は、ページ識別子ＰＢＩＤで識別されるページに用いられる色数であり、例えばモノクロの場合は値が「１」、フルカラーの場合は値が「４」とされる。
【０１８６】
本第１の実施形態に適用される各色共通の情報におけるデータ転送用の情報は、データ転送元アドレス、データ格納先アドレスおよびデータ転送サイズを含む。データ転送元アドレスは、上位装置１０においてページ識別子ＰＢＩＤで示されるページの印刷画像データが格納されるアドレスを示す。データ転送元アドレスは、例えばラスタ（ライン）単位で印刷画像データを指定する。
【０１８７】
なお、本第１の実施形態の場合、各色の印刷画像データに対し、同一のアドレスが転送元アドレスとして用られることになる。一例として、上位装置１０において、図２−２に示される記憶部１２２に対して、各色の印刷画像データをそれぞれ格納する。より具体的には、例えば、図２−１に示されるＲＡＭ１０３に対し、各データ線１１ａ〜１１ｄまたは各色で識別されるアドレスに、各色の印刷画像データをそれぞれ格納する。
【０１８８】
データ格納先アドレスは、上述した入力ポインタが示すアドレスである。したがって、入力ポインタが更新される度に、データ格納先アドレスも更新される。データ転送サイズは、データ転送制御部３０ａ〜３０ｄの要求により転送される印刷画像データのデータサイズを示し、例えばページ識別子ＰＢＩＤで示されるページの印刷画像データのデータサイズである。
【０１８９】
データ転送サイズは、印刷画像データのサイズを所定単位（例えばバイト単位）で揃えるためのバウンダリ調整サイズを含む。１ページが印刷される際には、各メモリ３１ａ〜３１ｄに対して、このデータ転送サイズで示されるデータサイズの印刷画像データが格納されることになる。例えば、図７を用いて説明した、（３）印刷条件を示す情報中の「印刷データサイズ」にバウンダリ調整サイズを加えた値が、このデータ転送サイズになる。
【０１９０】
本第１の実施形態に適用される各色共通の情報における印刷用の情報について説明する。印刷用の情報は、印刷を行う印刷画像データの情報として解像度および階調を含み、印刷対象に関する情報として用紙送り長、用紙幅、印刷面（表／裏）、印刷不可領域（上／下／左／右）および画像情報を含む。画像情報は、ビットマップ印刷位置Ｘおよびビットマップ印刷位置Ｙ、ならびに、Ｘ方向有効サイズおよびＹ方向有効サイズを含む。
【０１９１】
印刷を行う印刷画像データの情報において、解像度は、主走査および副走査方向それぞれの印刷解像度を示す。また、階調は、１画素当たりのビット数を示す。
【０１９２】
印刷対象に関する情報について、図１６（ａ）および図１６（ｂ）を用いて説明する。図１６（ａ）は、印刷用紙２０１に対するページ領域２０２の一例を示す。図１６（ｂ）は、印刷画像データによる有効な印刷領域２０４の一例を示す。用紙送り長は、印刷用紙２０１の送り方向における１ページ分の長さをドット数で示し、用紙幅は、印刷用紙２０１の幅方向の長さをドット数で示す。印刷面は、当該ページが印刷用紙２０１の表面および裏面の何れに印刷されるかを示す。
【０１９３】
印刷不可領域上、下、左、右は、印刷を禁止する印刷不可領域２０３を、ページ領域２０２の上端（用紙送り方向の先頭）、下端（用紙送り方向の後端）、左端（用紙幅方向の用紙送り方向に向けて左端）、右端（用紙幅方向の用紙送り方向に向けて右端）それぞれからのドット数で示す。
【０１９４】
画像情報のうち、ビットマップ印刷位置ＸおよびＹは、ページ領域２０２の左上（用紙送り方向の先頭、且つ、用紙幅方向の左端）を原点とした場合の、印刷開始位置のアドレス（座標）をドット数で示す。また、画像情報のうち、Ｘ方向有効サイズは、Ｘ方向（用紙幅方向）のバウンダリ調整領域２０５を含まないサイズをドット数で示す。バウンダリ調整領域２０５は、１ラスタデータのデータサイズが所定単位（例えばバイト単位）以下の端数を含む場合に、データサイズを所定単位に揃えるために設けられる。また、Ｙ方向有効サイズがＹ方向（用紙送り方向）のサイズをドット数で示す。すなわち、Ｘ方向有効サイズは、１のラスタデータにより印刷される有効なサイズを示し、Ｙ方向有効サイズは、Ｘ方向有効サイズで印刷されるラスタ数（ライン数）を示す。
【０１９５】
すなわち、ビットマップ印刷位置ＸおよびＹを左上とし、Ｘ方向有効サイズおよびＹ方向有効サイズで示される領域が、印刷領域２０４となる。また、印刷領域２０４のうち、印刷不可領域２０３と重なる領域は、印刷されないことになる。
【０１９６】
本第１の実施形態による各色毎の情報について説明する。各色毎の情報において、データ転送用および印刷用以外の情報として、Ｃ、Ｍ、Ｙ、Ｋ各色のうち何れの印刷色に関する情報が記述されるかを示すＣｏｌｏｒ識別子が含まれる。各色毎の情報は、構成が共通するので、以下では、Ｃｏｌｏｒ識別子が「シアン」の情報について説明する。転送管理テーブルには、各色毎の情報がＣ、Ｍ、Ｙ、Ｋ各色についてそれぞれ含まれる。
【０１９７】
本第１の実施形態に適用される各色毎の情報におけるデータ転送用の情報は、データ転送要否を含む。データ転送要否は、当該印刷色の印刷画像データの転送の要否を示す。例えば、白紙すなわち印刷を行わない場合は、Ｃ、Ｍ、Ｙ、Ｋの全色について、データ転送要否を「否」とする。また、Ｃｏｌｏｒ（Ｃｙａｎ、Ｍａｇｅｎｔａ、Ｙｅｌｌｏｗ、Ｂｌａｃｋ）で指示される色以外は、データ転送要否を「否」に設定する。
【０１９８】
本第１の実施形態に適用される各色毎の情報における印刷用の情報は、印刷要否を含む。印刷要否は、当該印刷色の印刷画像データの印刷の要否を示す。例えば、白紙すなわち印刷を行わない場合は、Ｃ、Ｍ、Ｙ、Ｋの全色について、印刷要否を「否」とする。また、Ｃｏｌｏｒ識別子で指示される色以外は、印刷要否を「否」に設定する。
【０１９９】
（メモリ制御処理）
次に、本第１の実施形態によるメモリ３１ａ〜３１ｄの制御処理について、図１７〜図２１を用いて説明する。図１７は、プリンタコントローラ１４が上位装置１０からデータを受信した場合の一例の処理を示す。この図１７のフローチャートによる処理は、例えば、図８のＳＥＱ１０１やＳＥＱ１０２で、プリンタコントローラ１４において、制御部２３により、上位装置１０からのページの印刷ジョブの受信をきっかけに起動される。なお、図１７のフローチャートにおける各処理は、プリンタコントローラ１４内の制御部２３の制御により実行される。
【０２００】
プリンタコントローラ１４は、上位装置１０から印刷ジョブを受信した際に、受信した印刷ジョブおよび図８のＳＥＱ１００で上位装置１０から受信した用紙情報、ならびに、図７を用いて説明した（３）印刷条件を示す情報などに基づき、上述した転送管理テーブルを作成する（ステップＳ２００）。そして、図１７のステップＳ２０１で、プリンタコントローラ１４は、仮想メモリ６０をチェックして各メモリ３１ａ〜３１ｄの空き容量を取得する。
【０２０１】
図１８および図１９を用いて、仮想メモリ６０による各メモリ３１ａ〜３１ｄの空き容量のチェックについて説明する。なお、以下では、「仮想メモリ６０による各メモリ３１ａ〜３１ｄの空き容量」を、「仮想メモリ６０上での空き容量」、または、単に「空き容量」と記述する。上位装置１０から転送される、１ページ分の印刷画像データのデータサイズは、図１８に例示されるように、印刷領域２０４のデータサイズとバウンダリ調整領域２０５のデータサイズとを合計したものになる。
【０２０２】
一方、仮想メモリ６０上での空き容量は、入力ポインタの示すアドレスＰiと、出力ポインタの示すアドレスＰoとの差分に基づき計算することができる。図１９を用いて、仮想メモリ６０上での空き容量を計算する方法について、概略的に説明する。なお、図１９（ａ）〜図１９（ｄ）において、仮想メモリ６０のアドレスは図の上側から下側に向けて増加し、印刷画像データが書き込まれる領域は、斜線を付して示している。
【０２０３】
ここで、仮想メモリ６０上での入力ポインタと出力ポインタとの関係は、（Ａ）入力ポインタのアドレスＰiが出力ポインタのアドレスＰoより大きい場合（図１９（ａ））と、（Ｂ）出力ポインタのアドレスＰoが入力ポインタのアドレスＰiより大きい場合（図１９（ｂ））と、（Ｃ）入力ポインタのアドレスＰiと出力ポインタのアドレスＰoとが等しい場合（図１９（ｃ）および図１９（ｄ））との３通りがある。仮想メモリ６０での空き容量ＤEMPは、入力ポインタのアドレスＰiと出力ポインタのアドレスＰoとの差分に基づき求めることができる。
【０２０４】
（Ａ）の、入力ポインタのアドレスＰiが出力ポインタのアドレスＰoより大きい場合（Ｐi＞Ｐo）は、図１９（ａ）に例示されるように、出力ポインタのアドレスＰoから入力ポインタのアドレスＰiの間の領域に印刷画像データが格納されていることが示される。この場合、空き容量ＤEMPは、１アドレス当たりのデータサイズをＷ、仮想メモリ６０の容量をＤFULLとすると、下記の式（１）で求められる。
ＤEMP＝ＤFULL−（Ｐi−Ｐo）×Ｗ    …（１）
【０２０５】
（Ｂ）の、出力ポインタのアドレスＰoが入力ポインタのアドレスＰiより大きい場合（Ｐo＞Ｐi）は、図１９（ｂ）に例示されるように、出力ポインタのアドレスＰoから仮想メモリ６０のＢｏｔｔｏｍアドレスの間の領域と、仮想メモリ６０のＴｏｐアドレスから入力ポインタのアドレスＰiの間の領域とに印刷画像データが格納されることが示される。この場合、空き容量ＤEMPは、下記の式（２）で求められる。なお、（Ｂ）の場合には、ＴｏｐアドレスとＢｏｔｔｏｍアドレスとが接続され、リングバッファ的に読み出しが制御される。
ＤEMP＝（Ｐo−Ｐi）×Ｗ    …（２）
【０２０６】
（Ｃ）の、入力ポインタのアドレスＰiと出力ポインタのアドレスＰoとが等しい場合（Ｐi＝Ｐo）は、仮想メモリ６０が空を示している場合（図１９（ｃ））と、仮想メモリ６０にフルに印刷画像データが格納されていることを示している場合（図１９（ｄ））との２通りが考えられる。印刷が終了したか否か、ならびに、印刷が開始したか否かに基づき、仮想メモリ６０が空およびフルの何れの状態を示しているかを判定できる。これに限らず、プリンタコントローラ１４が仮想メモリ６０上の入力ポインタおよび出力ポインタの動きを監視し、フル状態になった場合にフラグをセットすることも考えられる。
【０２０７】
説明を図１７のフローチャートに戻し、ステップＳ２０１で仮想メモリ６０での空き容量が算出されたら、次のステップＳ２０２で、プリンタコントローラ１４は、転送管理テーブルのデータ転送サイズに基づき、算出された仮想メモリ６０での空き容量に対して１ページ分の印刷画像データ（この場合は１色分の印刷画像データ）を格納可能か否かを判定する。若し、格納可能ではないと判定されたら、この図１７のフローチャートの処理を抜ける。この場合、例えば、プリンタコントローラ１４は、印刷終了の判定がなされたら印刷画像データの転送を要求することが考えられる。
【０２０８】
一方、プリンタコントローラ１４は、ステップＳ２０２で１ページ分の印刷画像データが格納可能であると判定したら、処理をステップＳ２０３に移行させ、前ページの印刷画像データの転送が終了したか否かを判定する。若し、終了していないと判定されたら、この図１７のフローチャートの処理を抜ける。この場合、転送中の印刷画像データの転送が終了したら、次ページの印刷画像データの転送を要求することが考えられる。一方、終了していると判定したら、処理がステップＳ２０４に移行される。
【０２０９】
ステップＳ２０４で、プリンタコントローラ１４は、各データ転送制御部３０ａ〜３０ｄに対して、転送管理テーブルにおいてページ識別子ＰＢＩＤで示される、各色の印刷画像データの転送を開始するように要求する。これは、例えば、ページ識別子ＰＢＩＤが１ページ目を示していれば、図８のシーケンスにおけるＳＥＱ１１０ａ〜１１０ｄ、ならびに、図１０−１のシーケンスにおけるＳＥＱ２０８、ＳＥＱ２１２、ＳＥＱ２１６およびＳＥＱ２２０の処理に対応する。そして、処理がステップＳ２０５に移行され、プリンタコントローラ１４は、仮想メモリ６０上の入力ポインタの位置を１ページ分進めて、入力ポインタの更新を行う。入力ポインタが更新されると、処理は図１７のフローチャートを抜ける。
【０２１０】
なお、ステップＳ２０４で、プリンタコントローラ１４から各データ転送制御部３０ａ〜３０ｄに対して印刷画像データの転送開始が要求されると、各データ転送制御部３０ａ〜３０ｄから上位装置１０に対して、印刷画像データの転送が要求される。これは、例えば、ページ識別子ＰＢＩＤが１ページ目を示している場合、図１０−１のシーケンスにおいてＳＥＱ２０９Ａ、ＳＥＱ２１３Ａ、ＳＥＱ２１７ＡおよびＳＥＱ２２１Ａの処理に対応する。
【０２１１】
このとき、各データ転送制御部３０ａ〜３０ｄのそれぞれは、例えば、図１５の転送管理テーブルに示される、少なくともページ識別子ＰＢＩＤとデータ転送元アドレスとをデータ転送開始要求に付加して、上位装置１０に送信する。これらページ識別子ＰＢＩＤおよびデータ転送元アドレスは、上述したように、図９−２のステップＳ１２６で、プリンタコントローラ１４において転送管理テーブルから抽出され、各データ転送制御部３０ａ〜３０ｄに送信されたものである。
【０２１２】
上位装置１０は、各データ転送制御部３０ａ〜３０ｄから送信されたこれらページ識別子ＰＢＩＤとデータ転送元アドレスとに基づき、記憶部１２２から各色の印刷画像データを読み出して、データ線１１ａ〜１１ｄをそれぞれ介して、各データ転送制御部３０ａ〜３０ｄに転送する。ここで、ページ識別子ＰＢＩＤおよびデータ転送元アドレスは、プリンタコントローラ１４が印刷画像データの転送開始要求に対して付加して、各データ転送制御部３０ａ〜３０ｄに送信することが考えられる。
【０２１３】
図２０は、転送終了時の一例の処理を示すフローチャートである。この図２０のフローチャートによる処理は、例えば、図８のＳＥＱ１１１ａ〜１１１ｄで、プリンタコントローラ１４において、データ転送制御部３０ａ〜３０ｄからのデータ転送終了の通知の受信をきっかけに起動され、プリンタコントローラ１４により実行される。
【０２１４】
先ず、ステップＳ２１０で、上位装置１０からデータ転送制御部３０ａ〜３０ｄに対する、４色全て、すなわち、Ｃ、Ｍ、Ｙ、Ｋ各色の１ページ分の印刷画像データの転送が終了したか否かが判定される。例えば、プリンタコントローラ１４は、図８のＳＥＱ１１１ａ〜ＳＥＱ１１１ｄで各データ転送制御部３０ａ〜３０ｄから印刷画像データの転送終了通知を受信する毎にフラグをセットし、４色分のフラグがセットされたら、各色の１ページ分の印刷画像データの転送が終了したと判定する。若し、終了していないと判定されたら、処理はステップＳ２１３に移行される。
【０２１５】
一方、各色の１ページ分の印刷画像データの転送が終了したと判定したら、プリンタコントローラ１４は、処理をステップＳ２１１に移行させ、現在印刷中であるか否かを判定する。例えば、プリンタコントローラ１４は、図８のＳＥＱ１１４などで印刷指示を各データ転送制御部３０ａ〜３０ｄに対して出した後に、ＳＥＱ１２０ａ〜１２０ｄで対応する印刷終了通知を受信していなければ、印刷中であると判定する。若し、印刷中であると判定したら、処理はステップＳ２１３に移行される。一方、現在印刷中ではないと判定したら、プリンタコントローラ１４は、処理をステップＳ２１２に移行させ、各データ転送制御部３０ａ〜３０ｄに対してページ識別子ＰＢＩＤで示されるページの印刷指示を出す（例えば図８のＳＥＱ１１４）。
【０２１６】
次のステップＳ２１３で、プリンタコントローラ１４は、上位装置１０からデータ転送制御部３０ａ〜３０ｄに対して転送される次の印刷画像データが有るか否かが判定される。例えば、ステップＳ２１２で印刷指示が出された印刷画像データが１ページ目の印刷画像データであって、ステップＳ２１３に処理が移行した時点で、図８のＳＥＱ１０２により次の２ページ目の印刷ジョブが受信されていれば、次に転送される印刷画像データがあると判定される。
【０２１７】
若し、次に転送される印刷画像データが無いと判定されたら、この図２０のフローチャートによる処理を抜ける。一方、次に転送される印刷画像データがあると判定したら、プリンタコントローラ１４は、処理をステップＳ２１４に移行させる。ステップＳ２１４の処理は、図１７に示したフローチャートにおけるステップＳ２０１以降の処理と同様であり、メモリの空き状態を確認後、空きがあれば、各データ転送制御部３０ａ〜３０ｄに対して、次の印刷画像データの転送を開始するように要求し、図２０のフローチャートによる処理を抜ける。
【０２１８】
図２１は、印刷終了時の一例の処理を示すフローチャートである。この図２１のフローチャートによる処理は、例えば、図８のＳＥＱ１２０ａ〜１２０ｄやＳＥＱ１２２ａ〜１２２ｄで、プリンタコントローラ１４において、データ転送制御部３０ａ〜３０ｄからの印刷終了の通知の受信をきっかけに起動され、プリンタコントローラ１４により実行される。
【０２１９】
先ず、ステップＳ２２０で、１ページ分の印刷画像データについて、４色全ての印刷が終了したか否かが判定される。例えば、プリンタコントローラ１４は、図８のＳＥＱ１２０ａ〜１２０ｄで各データ転送制御部３０ａ〜３０ｄから印刷終了通知を受信する毎にフラグをセットし、４色分のフラグがセットされたら、各色の１ページ分の印刷画像データの印刷が終了したと判定する。これに限らず、例えば印刷が色Ｃ、色Ｍ、色Ｙ、色Ｋの順に行われる場合、最後の色Ｋの印刷終了通知を受信することで、印刷終了を判定してもよい。若し、４色全ての印刷が終了していないと判定されたら、処理はステップＳ２２２に移行される。
【０２２０】
一方、各色の１ページ分の印刷画像データの印刷が終了したと判定されたら、処理はステップＳ２２１に移行される。ステップＳ２２１で、プリンタコントローラ１４は、仮想メモリ６０上で出力ポインタの位置を１ページ分進めて、出力ポインタの更新を行う。出力ポインタが更新されると、処理がステップＳ２２２に移行される。
【０２２１】
ステップＳ２２２で、プリンタコントローラ１４は、次のページの印刷があるか否かを判定する。例えば、プリンタコントローラ１４は、データ転送制御部３０ａ〜３０ｄからのデータ転送終了通知を受信しているが、印刷終了通知を受信していないページがある場合に、次ページの印刷があると判定することができる。若し、次ページの印刷がないと判定したら、この図２１のフローチャートによる処理を抜ける。一方、次ページの印刷があると判定したら、プリンタコントローラ１４は、処理をステップＳ２２３に移行させ、各データ転送制御部３０ａ〜３０ｄに対して当該次ページを示すページ識別子ＰＢＩＤを指定して当該次ページの印刷を開始するように指示し、この図２１のフローチャートによる処理を抜ける。
【０２２２】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。本第２の実施形態は、各データ転送制御部３０ａ〜３０ｄがそれぞれ有するメモリ３１ａ〜３１ｄの管理を、プリンタコントローラ１４側で一元的に行う場合において、印刷画像データがＣ、Ｍ、Ｙ、Ｋ各色で異なるサイズのビットマップデータによって、上位装置１０からプリンタ装置１３に転送される場合の例である。なお、以下において、上述した第１の実施形態と異なる部分を中心に説明する。
【０２２３】
図２２を用いて、各色で異なるサイズのビットマップデータを転送する場合の例について説明する。例えば、図２２（ａ）に例示されるように、１ページの印刷領域７５内に色Ｃを用いて印刷される画像７０と、色Ｍを用いて印刷される画像７１と、色Ｙを用いて印刷される画像７２と、色Ｋを用いて印刷される画像７３とが配置されている場合について考える。なお、これら画像７０〜７３は、互いに大きさが異なるものとする。
【０２２４】
この場合、例えば色Ｃの印刷画像データとして、画像７０を含む最小限の矩形領域の印刷画像データを上位装置１０側で作成し、データ転送制御部３０ａに対して転送する。他の色Ｍ、Ｙ、Ｋについても同様に、それぞれ画像７１、７２および７３を含む最小限の矩形領域の印刷画像データを上位装置１０側で作成し、データ転送制御部３０ｂ、３０ｃおよび３０ｄにそれぞれ転送する。これにより、各色毎に１ページ全域分の印刷画像データを転送する場合に比べて、データ転送量を削減することができる。
【０２２５】
さらにこの場合において、各色の画像７０〜７３をそれぞれ含む最小限の矩形領域の各印刷画像データの所定位置への配置を、メモリ３１ａ〜３１ｄ上で行う第１の方法と、印刷の際に行う第２の方法とがある。なお、以下では、「各色の画像７０〜７３をそれぞれ含む最小限の矩形領域の各印刷画像データ」を、適宜、「各色の画像７０〜７３それぞれの印刷画像データ」などと記述する。
【０２２６】
第１の方法は、図２２（ｂ）に例示されるように、各画像７０〜７３それぞれの印刷画像データを、当該各画像７０〜７３の印刷位置に対応するメモリ３１ａ〜３１ｄのアドレスに書き込む。なお、図２２（ｂ）では、説明のため、メモリ３１ａ〜３１ｄにおける１ページ分の記憶領域のみを示している。この第１の方法によれば、メモリ３１ａ〜３１ｄは、１ページ分の領域が共通であるため、プリンタコントローラ１４側では、メモリ３１ａ〜３１ｄに共通の１の仮想メモリ６０を用意すればよい。
【０２２７】
この第１の方法において、転送管理テーブルに対して、各画像７０〜７３それぞれの印刷画像データをメモリ３１ａ〜３１ｄに対して書き込む際のアドレス情報を記述する。また、上述したように、メモリ３１ａ〜３１ｄは、各色の１ページ分の印刷が終了し出力ポインタが更新された後、印刷が終了した領域がゼロクリアされる。そのため、各データ転送制御部３０ａ〜３０ｄは、各画像７０〜７３それぞれの印刷画像データをメモリ３１ａ〜３１ｄの指定アドレスに対して上書きするだけでよい。
【０２２８】
第２の方法は、図２２（ｃ）に例示されるように、各画像７０〜７３それぞれの印刷画像データを、そのままメモリ３１ａ〜３１ｄにそれぞれ書き込む。そして、各メモリ３１ａ〜３１ｄから読み出された各画像７０〜７３それぞれの印刷画像データを、当該各画像７０〜７３それぞれの所定の配置位置に対して印刷する。この第２の方法によれば、メモリ３１ａ〜３１ｄのページ当たりの消費量を削減することができる。
【０２２９】
一方、この第２の方法によれば、各画像７０〜７３それぞれの印刷画像データのサイズが互いに異なる可能性があるので、プリンタコントローラ１４側において、メモリ３１ａ〜３１ｄそれぞれについて仮想メモリ６０を用意する必要がある。この場合、例えば、図１３（ｂ）に示されるアドレスマップ６０ａにおいて、入力ポインタ（ＩＮ）、出力ポインタ（ＯＵＴ）および書き込みアドレス（ｗｒｉｔｅ）の組を、（ＩＮa、ＯＵＴa、ｗｒｉｔｅa）、（ＩＮb、ＯＵＴb、ｗｒｉｔｅb）、…のように、メモリ３１ａ〜３１ｄそれぞれについて設けることが考えられる。それと共に、転送管理テーブルに対して各色の転送情報および印刷情報をそれぞれ記述する必要がある。
【０２３０】
図２２（ｃ）を用いて、第２の方法についてより具体的に説明する。例えば色Ｃの画像７０に関し、画像７０を含む最小限の矩形領域の印刷画像データ７０ａが、印刷領域７５の印刷アドレス７０ｂで示される位置に印刷される。同様に、色Ｍ、ＹおよびＫそれぞれの画像７１、７２および７３に関し、画像７１、７２および７３をそれぞれ含む最小限の矩形領域の印刷画像データ７１ａ、７２ａおよび７３ａが、印刷領域７５の印刷アドレス７１ｂ、７２ｂおよび７３ｂで示される位置に印刷される。したがって、転送管理テーブルの情報として、各印刷画像データ７０ａ〜７３ａについて、それぞれデータサイズと共に座標７０ｂ〜７３ｂを示す情報を保持している必要がある。
【０２３１】
図２３は、本第２の実施形態による転送管理テーブルの一例の構成を示す。なお、以下において、図１５を用いて説明した、第１の実施形態による転送管理テーブルと共通する項目については、詳細な説明を省略する。
【０２３２】
この第２の実施形態による転送管理テーブルについても、上述の第１の実施形態による転送管理テーブルと同様に、各色に共通の情報と、各色毎の情報とを含む。ここで、第１の実施形態による転送管理テーブルと、第２の実施形態による転送管理テーブルとでは、各色に共通の情報および各色毎の情報で含まれる情報が異なる。
【０２３３】
本第２の実施形態による各色共通の情報について説明する。図２３に例示されるように、第２の実施形態による転送管理テーブルでは、各色に共通の情報は、ページ識別子ＰＢＩＤおよび１ページ当たりのデータ数を含むと共に、印刷用の情報として、解像度、階調、用紙送り長、用紙幅および印刷面を含む。また、各色で転送される印刷画像データのサイズが異なるため、各色に共通の情報は、データ転送用の情報を含まない。
【０２３４】
本第２の実施形態による各色毎の情報について説明する。各色毎の情報において、Ｃｏｌｏｒ識別子が含まれると共に、データ転送用の情報と、印刷用の情報とが含まれる。本第２の実施形態に適用される各色毎の情報におけるデータ転送用の情報は、データ転送要否、転送済みフラグ、データ転送元アドレス、データ格納先アドレスおよびデータ転送サイズを含む。これらのうち、転送済みフラグは、プリンタコントローラ１４が当該色の印刷画像データの転送終了通知を受信した場合に、ＯＮとされる。プリンタコントローラ１４は、この転送済みフラグがＯＮとなった色について、対応する仮想メモリ６０の入力ポインタを更新することができる。
【０２３５】
本第２の実施形態に適用される各色毎の情報における印刷用の情報は、印刷要否、印刷不可領域上、下、左および右、ならびに、画像情報を含む。また、画像情報は、ビットマップ印刷位置ＸおよびＹ、ならびに、Ｙ方向有効サイズおよびＸ方向有効サイズを含む。
【０２３６】
本第２の実施形態において、上述した第１の方法による、各画像７０〜７３それぞれの印刷画像データのメモリ３１ａ〜３１ｄ上への配置を行うためのアドレス指定や、第２の方法による、各画像７０〜７３それぞれの印刷画像データの印刷アドレスの指定は、例えば、転送管理テーブルに各色毎の印刷用の情報として記述される、ビットマップ印刷位置ＸおよびＹにより行うことができる。
【０２３７】
第１の方法による各画像７０〜７３それぞれの印刷画像データのメモリ３１ａ〜３１ｄ上への一例の配置方法について、図２４を用いて説明する。ここでは、上述した図２２における画像７３を例にとって説明する。
【０２３８】
画像７３は、色Ｋの画像であって、画像７３を含む最小限の矩形領域の印刷画像データ７３ａは、データ転送制御部３０ｄ内のメモリ３１ｄに書き込まれる。プリンタコントローラ１４内の、各色共通の仮想メモリ６０に設定される出力ポインタが示すアドレスにより、メモリ３１ｄにおける１ページの領域の先頭が規定される。図２４に模式的に示されるように、この１ページの領域の先頭のアドレスに基づき、画像７３のビットマップ印刷位置ＸおよびＹで示される、印刷上のアドレス７３ｂに対応するメモリ３１ｄのアドレスを求める。そして、求められたこのアドレスを基点として、メモリ３１ｄに対して印刷画像データ７３ａを書き込む。
【０２３９】
第２の方法による各画像７０〜７３それぞれの印刷画像データのメモリ３１ａ〜３１ｄ上への一例の配置方法について、図２５を用いて説明する。ここでは、上述した図２２における画像７３を例にとって説明する。図２５（ａ）は、色Ｙ用の仮想メモリ６０の例を示し、図２５（ｂ）は、印刷用紙２０１における実際の印刷領域７５の例を示す。
【０２４０】
プリンタコントローラ１４において、色Ｙ用の仮想メモリ６０に対し、転送管理テーブルの、Ｘ方向有効サイズ（ｘ1とする）およびＹ方向有効サイズ（ｙ1とする）から求められるデータサイズｓｉｚｅ（＝ｘ1×ｙ1）を１ページのデータサイズと見做して、出力ポインタおよび入力ポインタの更新時のアドレス移動量が設定される。メモリ３１ｄにおいて、出力ポインタから、次に印刷を行う画像７３の印刷画像データ７３ａが書き込まれる（図２５（ｂ）参照）。
【０２４１】
なお、ここでは、説明のため、１ページ分の印刷画像データのみがメモリ３１ｄに書き込まれるものとする。また、図２５（ａ）では、出力ポインタのみを示し、入力ポインタを省略している。
【０２４２】
印刷時に、画像出力部５０は、メモリ３１ｄから、出力ポインタで示されるアドレスに基づき印刷画像データ７３ａを読み出して、画像７３のビットマップ印刷位置ＸおよびＹにより示される印刷アドレス７３ｂを基点として、印刷画像データ７３ａによる印刷を行う。データサイズｓｉｚｅ分の印刷画像データが読み出されると、出力ポインタがデータサイズｓｉｚｅ分移動され、出力ポインタが更新される。
【０２４３】
本第２の実施形態において、仮想メモリ６０における入力ポインタおよび出力ポインタの管理方法や、上位装置１０からのデータ受信時の処理、印刷画像データの転送終了時の処理、印刷終了時の処理などは、上述した第１の実施形態と共通であるので、ここでの説明を省略する。
【０２４４】
なお、上述の第１の実施形態および第２の実施形態では、印刷に用いる色が、色Ｃ、Ｍ、Ｙ、Ｋの所謂プロセスカラーであるとして説明したが、これはこの例に限定されない。例えば、Ｒ（赤色）、Ｇ（緑色）およびＢ（青色）や、金色、銀色、白色などの所謂特色を印刷に用いる場合でも、第１の実施形態および第２の実施形態をそのまま適用することができる。また、色数も４色に限らず、５色以上、または、３色以下を用いた印刷にも、第１の実施形態および第２の実施形態は、そのまま適用できる。
【符号の説明】
【０２４５】
１０  上位装置
１１，１１ａ，１１ｂ，１１ｃ，１１ｄ  データ線
１２  制御線
１３  プリンタ装置
１４  プリンタコントローラ
１５  プリンタエンジン
２０  制御情報送受信部
２１  制御信号送受信部
２２  用紙搬送制御部
３０ａ，３０ｂ，３０ｃ，３０ｄ  データ転送制御部
３１ａ，３１ｂ，３１ｃ，３１ｄ  メモリ
４０ａ，４０ｂ，４０ｃ，４０ｄ  エンジンＩ／Ｆ制御線
４１  搬送制御線
５０  画像出力部
５１  搬送制御部
５５  出力制御部
５６ａ，５６ｂ，５６ｃ，５６ｄ  ヘッド
【先行技術文献】
【特許文献】
【０２４６】
【特許文献１】特開２００４−２８７５１９号公報
【特許文献２】特開２００２−２５４７３６号公報
【図１】
0005895391.tif 000002
【図２−１】
0005895391.tif 000003
【図２−２】
0005895391.tif 000004
【図３−１】
0005895391.tif 000005
【図３−２】
0005895391.tif 000006
【図４−１】
0005895391.tif 000007
【図４−２】
0005895391.tif 000008
【図５】
0005895391.tif 000009
【図６】
0005895391.tif 000010
【図７】
0005895391.tif 000011
【図８】
0005895391.tif 000012
【図９−１】
0005895391.tif 000013
【図９−２】
0005895391.tif 000014
【図９−３】
0005895391.tif 000015
【図９−４】
0005895391.tif 000016
【図１０−１】
0005895391.tif 000017
【図１０−２】
0005895391.tif 000018
【図１０−３】
0005895391.tif 000019
【図１１−１】
0005895391.tif 000020
【図１１−２】
0005895391.tif 000021
【図１２】
0005895391.tif 000022
【図１３】
0005895391.tif 000023
【図１４】
0005895391.tif 000024
【図１５】
0005895391.tif 000025
【図１６】
0005895391.tif 000026
【図１７】
0005895391.tif 000027
【図１８】
0005895391.tif 000028
【図１９】
0005895391.tif 000029
【図２０】
0005895391.tif 000030
【図２１】
0005895391.tif 000031
【図２２】
0005895391.tif 000032
【図２３】
0005895391.tif 000033
【図２４】
0005895391.tif 000034
【図２５】
0005895391.tif 000035