印刷装置および印刷装置の制御方法
【課題】印刷画像データを色毎に異なるデータ線を介して転送する場合において、単色印刷の印刷速度を向上させる。
【解決手段】プリンタ装置で単色画像データを印刷する際に、上位装置で生成される単色画像データを、プリンタ装置が有するデータ転送制御部の数に応じて分割する。このとき、単色画像データを、ラスタが連続するブロック単位で分割する。単色画像データが分割された各分割画像データは、上位装置から各データ線をそれぞれ介して各データ転送制御部に転送され、各メモリにそれぞれ格納される。各メモリに格納された各分割画像データは、それぞれ所定のタイミングで各出力線を介して画像出力部に供給され、分割画像データの、単色画像データ内における位置に応じた1ページ内の位置に印刷される。
【解決手段】プリンタ装置で単色画像データを印刷する際に、上位装置で生成される単色画像データを、プリンタ装置が有するデータ転送制御部の数に応じて分割する。このとき、単色画像データを、ラスタが連続するブロック単位で分割する。単色画像データが分割された各分割画像データは、上位装置から各データ線をそれぞれ介して各データ転送制御部に転送され、各メモリにそれぞれ格納される。各メモリに格納された各分割画像データは、それぞれ所定のタイミングで各出力線を介して画像出力部に供給され、分割画像データの、単色画像データ内における位置に応じた1ページ内の位置に印刷される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、上位装置から転送された印刷画像データに従い印刷を行う印刷装置および印刷装置の制御方法に関する。
【背景技術】
【0002】
従来から、印刷装置と、当該印刷装置に対して印刷データを渡すと共に印刷指示を行う上位装置とから構成される印刷システムが知られている。このような印刷システムでは、例えば、上位装置は、ホスト装置から送信された、ページ記述言語(PDL:Page Description Language)で記述された印刷データに従いRIP(Raster Image Process)によりラスタイメージによる印刷画像データを生成し、生成した印刷画像データを印刷装置の印刷制御部に転送する(特許文献1参照)。
【0003】
また、上述の印刷システムとは異なり、プリンタコントローラと、プリンタエンジンと、プリンタコントローラおよびプリンタエンジンを接続するデータ線とを備える印刷装置が既に知られている(特許文献2参照)。この特許文献2の印刷装置では、プリンタコントローラとプリンタエンジンとの間で各種制御情報の送受信を行う制御線と、印刷画像データの送受信を行うデータ線とを分離し、データ転送の高速化が図られている。また、この印刷システムにおいて、データ線を各色毎に設け、各色の印刷画像データを並列的に転送することで、カラー印刷におけるデータ転送の高速化が図られている。
【0004】
さらに、印刷画像データを生成する上位装置と、印刷画像データによる印刷を行う印刷装置とを接続する制御線とデータ線とを分離した印刷システムが提案されている。この印刷システムでは、データ処理専用コントローラに対する印刷画像データの転送タイミングの制御と、印刷対象の用紙を搬送する用紙搬送制御などの印刷制御を、印刷制御用コントローラで一括制御する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、印刷画像データを転送するデータ線をY(Yellow)、C(Cyan)、M(Magenta)およびK(Black)の各色毎に設けたシステムで単色(例えばK)の印刷画像データの印刷を行う場合について考える。従来のシステムでは、印刷画像データを各色毎にページ単位で管理していた。そのため、単色の印刷を行う場合であっても、各色に対応する複数のデータ処理専用コントローラのうち印刷対象の単色のデータ処理専用コントローラのみに対して1ページ分の単色の印刷画像データを転送して印刷を行なっていた。
【0006】
したがって、1のデータ処理専用コントローラに対する印刷画像データの転送量が各色の印刷画像データによる印刷を行う場合と変わらないため、複数の色による印刷を行う場合と比べてデータ転送速度が高速化されず、印刷速度の向上も困難であったという問題点があった。
【0007】
本発明は、上記に鑑みてなされたものであって、印刷画像データを色毎に異なるデータ線を介して転送する場合において、単色印刷の印刷速度を向上させることを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するために、本発明は、画像データを生成する上位装置に対して所定数の第1の転送路をそれぞれ介して接続される所定数の保持手段と、画像データを所定数のブロックに分割させ、画像データが分割された各分割画像データを、上位装置から所定数の第1の転送路を介して所定数の保持手段それぞれに転送させ保持させる制御手段と、所定数の保持手段それぞれから読み出した分割画像データを同一のページに印刷する印刷手段とを有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、印刷画像データを色毎に異なるデータ線を介して転送する場合において、単色印刷の印刷速度が向上されるという効果を奏する。
【図面の簡単な説明】
【0010】
【図1】図1は、各実施形態に適用可能な印刷システムの一例の構成を示すブロック図である。
【図2−1】図2−1は、各実施形態に適用可能な上位装置の一例の構成を示すブロック図である。
【図2−2】図2−2は、各実施形態に適用可能な上位装置の一例の機能を示す機能ブロック図である。
【図3−1】図3−1は、各実施形態に適用可能なプリンタ装置の一例の構成を示すブロック図である。
【図3−2】図3−2は、各実施形態に適用可能なプリンタコントローラの一例の構成を示すブロック図である。
【図4−1】図4−1は、各実施形態に適用可能なデータ転送制御部の一例の構成を概略的に示すブロック図である。
【図4−2】図4−2は、各実施形態に適用可能なデータ転送制御部の一例の構成をより詳細に示すブロック図である。
【図5】図5は、各実施形態に適用可能な画像出力部の一例の構成を示すブロック図である。
【図6】図6は、各実施形態に適用可能な用紙の搬送系を含めたプリンタ装置の一例の構造を概略的に示す図である。
【図7】図7は、各実施形態に適用可能な上位装置とプリンタ装置のプリンタコントローラとの間で送受信される制御情報の一例を示す図である。
【図8】図8は、各実施形態に適用可能な印刷処理を概念的に示す一例のシーケンス図である。
【図9−1】図9−1は、各実施形態に適用可能な上位装置の処理の例を示すフローチャートである。
【図9−2】図9−2は、各実施形態に適用可能なプリンタコントローラの処理の例を示すフローチャートである。
【図9−3】図9−3は、各実施形態に適用可能なプリンタコントローラの印刷指示の一例の処理を示すフローチャートである。
【図9−4】図9−4は、各実施形態に適用可能な各データ転送制御部の処理の例を示すフローチャートである。
【図10−1】図10−1は、各実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。
【図10−2】図10−2は、各実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。
【図10−3】図10−3は、各実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。
【図11−1】図11−1は、各実施形態に適用可能な上位装置の処理の別の例を示すフローチャートである。
【図11−2】図11−2は、各実施形態に適用可能なデータ転送制御部の処理の別の例を示すフローチャートである。
【図12】図12は、各実施形態に適用可能な仮想メモリについて説明するための図である。
【図13】図13は、各実施形態に適用可能な仮想メモリのより具体的な例を示す図である。
【図14】図14は、各実施形態に適用可能な仮想メモリ上での入力ポインタおよび出力ポインタの制御について説明するための図である。
【図15】図15は、各実施形態に適用可能な転送管理テーブルの一例を示す図である。
【図16】図16は、各実施形態に適用可能な印刷対象に関する情報について説明するための図である。
【図17】図17は、各実施形態に適用可能な、プリンタコントローラが上位装置からデータを受信した場合の一例の処理を示すフローチャートである。
【図18】図18は、各実施形態に適用可能な、仮想メモリによるメモリの空き容量のチェックについて説明するための図である。
【図19】図19は、各実施形態に適用可能な、仮想メモリによるメモリの空き容量のチェックについて説明するための図である。
【図20】図20は、各実施形態に適用可能な、転送終了時の一例の処理を示すフローチャートである。
【図21】図21は、各実施形態に適用可能な、印刷終了時の一例の処理を示すフローチャートである。
【図22】図22は、各実施形態に適用可能な、各色で異なるサイズのビットマップデータを転送する場合の例について説明するための図である。
【図23】図23は、各実施形態に適用可能な転送管理テーブルの一例の構成を示す図である。
【図24】図24は、各実施形態に適用可能な、印刷画像データのメモリ上への一例の配置方法について説明するための図である。
【図25】図25は、各実施形態に適用可能な、印刷画像データのメモリ上への一例の配置方法について説明するための図である。
【図26】図26は、第1の実施形態に係るデータ転送について、より具体的に説明するための図である。
【図27】図27は、第1の実施形態による転送管理テーブルの一例の構成を示す図である。
【図28】図28は、各メモリに対する分割画像データの書き込み方法の例について説明するための図である。
【図29】図29は、第1の実施形態に係るメモリのゼロクリアの方法について説明するための図である。
【図30】図30は、第1の実施形態に適用可能な印刷処理を概念的に示す一例のシーケンス図である。
【図31−1】図31−1は、第1の実施形態に適用可能な上位装置の処理の例を示すフローチャートである。
【図31−2】図31−2は、第1の実施形態に適用可能なプリンタコントローラの処理の例を示すフローチャートである。
【図32−1】図32−1は、第1の実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。
【図32−2】図32−2は、第1の実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。
【図32−3】図32−3は、第1の実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。
【図33】図33は、第2の実施形態に適用可能な転送管理テーブルの一例を示す図である。
【図34】図34は、第2の実施形態によるデータ転送方法について説明するための図である。
【図35】図35は、第2の実施形態に係るデータインクリメント数を計算する計算式を示す図である。
【発明を実施するための形態】
【0011】
以下に添付図面を参照して、本発明に係る印刷システムの実施形態を詳細に説明する。先ず、理解を容易とするために、各実施形態による印刷システムが適用されるプロダクションプリンティングについて、概略的に説明する。プロダクションプリンティングでは、短時間に大量の印刷を行うことを基本的な考え方としている。そのために、プロダクションプリンティングでは、印刷の高速化を図ると共に、ジョブ管理や印刷データの管理などを効率的に行うために、印刷データの作成から印刷物の分配までの管理を行うワークフローのシステムを構築する。
【0012】
各実施形態による印刷システムは、プロダクションプリンティングのワークフローにおける、印刷を実行する部分に関わるもので、RIP(Raster Image Process)処理と、RIP処理により得られたビットマップデータの印刷とを別の装置で行う。RIP処理は、印刷処理の中でも最も処理時間を要し、RIP処理を行う装置と、印刷処理を行う装置とを分離することで、印刷の高速化が可能となる。
【0013】
(各実施形態に適用可能な印刷システムの概要)
図1は、本発明の各実施形態に適用可能な印刷システムの一例の構成を示す。この印刷システムは、上位装置10と、画像形成装置としてのプリンタ装置13とが、複数のデータ線11と、制御線12とで接続されて構成される。ホスト装置5は、例えばコンピュータであって、印刷画像データと、印刷設定情報とを含む印刷ジョブデータを生成する。
【0014】
印刷ジョブデータは、例えばページ記述言語(PDL)によるデータ(以下、PDLデータと呼ぶ)を含む。このPDLデータを解釈することで、印刷を行うビットマップイメージからなる印刷画像データと、印刷の際のページ情報、レイアウト情報、印刷部数を示す情報など、印刷の設定に関わる印刷設定情報とが生成される。
【0015】
上位装置10は、ホスト装置5から供給される印刷ジョブデータに従ってRIP処理を行い、印刷画像データである各色毎のビットマップデータを作成する。それと共に、上位装置10は、当該印刷ジョブデータやホスト装置5からの情報などに基づき、印刷動作を制御するための制御情報を作成する。
【0016】
上位装置10で作成された各色毎の印刷画像データは、複数のデータ線11をそれぞれ介してプリンタ装置13の図示されないプリンタエンジン部に供給される。また、上位装置10とプリンタコントローラ14との間で、制御線12を介して、印刷を制御するための制御情報の送受信が行われる。プリンタコントローラ14は、この制御情報の送受信に基づきプリンタエンジン部を制御して印刷媒体に対する画像形成を行い、印刷ジョブに従った印刷を実行する。なお、この制御情報の具体的な例については、図10−1〜図10−3を用いて後述する。
【0017】
印刷方式は特に限定されないが、各実施形態では、印刷媒体として印刷用紙を用い、インクジェット方式により印刷用紙に対して印刷画像を形成する。これに限らず、各実施形態を、トナーを用いて印刷用紙に対して印刷画像を形成する印刷装置にも適用可能である。また、印刷用紙は、切断可能なミシン目が所定間隔で打たれた連続紙である連帳紙(連続帳票)を用いるものとする。プロダクションプリンティングでは、印刷用紙としてこの連帳紙を用いることが多い。勿論、これに限らず、A4サイズ、B4サイズなど、サイズが固定的とされたカット紙を印刷用紙として用いてもよい。なお、連帳紙において、ページは、例えば所定間隔で打たれたミシン目で挟まれる領域をいうものとする。
【0018】
なお、各実施形態による印刷システムが印刷対象とする印刷媒体は、紙の印刷用紙に限定されない。すなわち、各実施形態に適用される印刷方式により印刷が可能で、且つ、ロールとして提供可能な印刷媒体であれば、他の印刷媒体を用いてもよい。例えば、プラスチックフィルムや布などを印刷媒体として用いてもよい。
【0019】
(上位装置)
図2−1は、上位装置10の一例の構成を示す。バス100に対してCPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、ハードディスクドライブ(HDD)104が接続される。バス100に対して、さらに、外部I/F110、制御情報用I/F111および印刷画像データ用I/F112が接続される。バス100に接続されたこれら各部は、バス100を介して互いに通信可能とされている。
【0020】
ROM102およびHDD104は、CPU101が動作するためのプログラムが予め格納される。RAM103は、CPU101のワークメモリとして用いられる。すなわち、CPU101は、ROM102およびHDD104に格納されるプログラムに従い、RAM103をワークメモリとして用いて、この上位装置10の全体の動作を制御する。
【0021】
外部I/F110は、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)に対応し、ホスト装置5との通信を制御する。制御情報用I/F111は、制御情報の通信を制御する。また、印刷画像データ用I/F112は、印刷画像データの通信を制御するもので、複数のチャネルを有する。例えば、上位装置10において作成された、色Y(Yellow)、C(Cyan)、M(Magenta)およびK(Black)による各色の印刷画像データは、これら複数のチャネルからそれぞれ出力される。印刷画像データ用I/F112は、高速な転送速度が要求されるため、例えばPCI Express(Peripheral Component Interconnect Bus Express)が用いられる。制御情報用I/F111の方式は特に限定されないが、ここでは、印刷画像データ用I/F112と同様に、PCI Expressを用いるものとする。
【0022】
このような構成において、ホスト装置5から送信された印刷ジョブデータが、上位装置10の外部I/F110に受信され、CPU101を介してHDD104に格納される。CPU101は、HDD104から読み出した印刷ジョブデータに基づきRIP処理を行い、各色のビットマップデータを生成してRAM103にそれぞれ書き出す。例えば、CPU101は、RIP処理によりPDL(Page Description Language)データをレンダリングして各色のビットマップデータを生成してRAM103に書き出す。CPU101は、RAM103に書き出された各色のビットマップデータを圧縮符号化してHDD104に一旦格納する。
【0023】
CPU101は、例えばプリンタ装置13において印刷動作が開始される際に、HDD104から圧縮符号化された各色のビットマップデータを読み出して圧縮符号を復号し、伸張された各色のビットマップデータをRAM103にそれぞれ書き込む。そして、CPU101は、RAM103からこれら各色のビットマップデータを読み出して、各色の印刷画像データとして印刷画像データ用I/F112の各チャネルからそれぞれ出力させ、プリンタ装置13に対して供給する。また、CPU101は、印刷動作の進行などに応じて、印刷を制御するための制御情報の送受信を、プリンタ装置13との間で制御情報用I/F111を介して行う。
【0024】
図2−2は、上位装置10の機能を説明するための一例の機能ブロック図である。上位装置10は、インターフェイス(I/F)120、123および125、RIP部121、記憶部122、ならびに、制御部124を含む。インターフェイス120、123および125は、それぞれ図2−1における外部I/F110、印刷画像データ用I/F112および制御情報用I/F111に対応する。RIP部121および制御部124は、図2−1におけるCPU101上で動作するプログラムにより構成される。また、記憶部122は、図2−1におけるRAM103またはHDD104のうち少なくとも一方に対応する。
【0025】
ホスト装置5でPDLデータを含む印刷ジョブデータが作成され、上位装置10に対して送信される。この印刷ジョブデータは、インターフェイス120に受信されてRIP部121に供給される。RIP部121は、供給された印刷ジョブデータに含まれるPDLデータに基づきレンダリングを行い、Y、C、M、K各色のビットマップデータによる印刷画像データを生成する。RIP部121は、生成したY、C、M、K各色の印刷画像データを、記憶部122に順次格納する。
【0026】
制御部124は、インターフェイス125を介してプリンタ装置13のプリンタコントローラ14と通信を行う。例えば、制御部124は、ホスト装置5からインターフェイス120を介して供給された印刷ジョブデータに基づき、プリンタ装置13における印刷を制御するための制御情報を生成する。この制御情報は、制御部124からインターフェイス125を介してプリンタコントローラ14に送信される。
【0027】
インターフェイス123は、記憶部122に記憶されるY、C、M、K各色の印刷画像データにそれぞれ独立してアクセスできるようになっている。また、インターフェイス123は、Y、C、M、K各色に対応する複数のデータ線11を介してプリンタ装置13に接続され、この複数のデータ線11を介して、プリンタ装置13との間でY、C、M、K各色の印刷画像データ転送に関する制御情報のやりとりや、Y、C、M、K各色の印刷画像データの転送を行う。
【0028】
(プリンタ装置)
図3−1は、プリンタ装置13の一例の構成を示す。プリンタ装置13は、プリンタコントローラ14およびプリンタエンジン15を有する。プリンタコントローラ14は、制御線12が接続され、上位装置10との間で制御線12を介して制御情報の送受信を行って印刷動作の制御を行う。プリンタエンジン15は、複数のデータ線11a、11b、11cおよび11dがそれぞれ接続され、プリンタコントローラ14の制御に従い、これらデータ線11a、11b、11cおよび11dをそれぞれ介して上位装置10から転送された各色の印刷画像データによる印刷処理を行う。
【0029】
プリンタコントローラ14およびプリンタエンジン15について、より詳細に説明する。プリンタコントローラ14は、制御情報送受信部20、制御信号送受信部21、用紙搬送制御部22および制御部23を有する。
【0030】
制御情報送受信部20は、上位装置10との間で、印刷を制御するための制御情報の送受信を制御線12を介して行う。制御信号送受信部21は、後述するデータ転送制御部30a、30b、30cおよび30dのそれぞれと、エンジンI/F制御線40a、40b、40cおよび40dにより接続される。制御信号送受信部21は、各データ転送制御部30a、30b、30cおよび30dとの間で、それぞれ個別に制御信号の送受信を行う。用紙搬送制御部22は、後述する搬送制御部51と搬送制御線41により接続され、搬送制御部51との間で用紙搬送を制御するための制御信号の送受信を行う。
【0031】
制御部23は、例えばCPU、ROMおよびRAMを有し、ROMに予め記憶されるプログラムに従い、RAMをワークメモリとして用いてプリンタコントローラ14の各部の制御を行う。また、制御部23は、上位装置10から送信され制御情報送受信部20により受信された制御情報を解釈して、制御信号送受信部21や用紙搬送制御部22に渡す。
【0032】
なお、制御情報送受信部20、制御信号送受信部21および用紙搬送制御部22は、制御部23に制御されるハードウェアとして構成してもよいし、制御部23上で動作されるプログラムのモジュールとして構成してもよい。
【0033】
図3−2は、プリンタコントローラ14の一例のハードウェア構成を示す。プリンタコントローラ14は、CPU321、インターフェイス(I/F)322、RAM323およびROM324を有し、これらCPU321、インターフェイス322、RAM323およびROM324が互いに通信可能にバス320に接続される。バス320には、図示されない通信I/Fを介して制御線12も接続される。CPU321は、ROM324に格納されるプログラムに従いRAM323をワークメモリとして用いて動作し、プリンタ装置13の全体の動作を制御する。インターフェイス322には、ハードウェア的に構成されたロジック回路が含まれ、プリンタコントローラ14と、データ転送制御部30a、30b、30cおよび30d、ならびに、搬送制御部51との通信を制御する。
【0034】
このような構成において、例えば、図3−1における制御信号送受信部21および用紙搬送制御部22の機能は、I/F322により実現される。制御部23の機能は、CPU321上で動作するプログラムにより実現される。また、制御情報送受信部20の機能は、図示されない通信I/Fおよびバス320により実現される。
【0035】
図3−1の説明に戻り、プリンタエンジン15は、同一の構成による複数のデータ転送制御部30a、30b、30cおよび30dを有すると共に、印刷画像データに基づく画像を用紙に出力し画像形成を行う画像出力部50と、印刷用紙の搬送を制御する搬送制御部51とを有する。
【0036】
データ転送制御部30a、30b、30cおよび30dは、それぞれデータ線11a、11b、11cおよび11dが接続される。また、データ転送制御部30a、30b、30cおよび30dは、それぞれメモリ31a、31b、31cおよび31dを含み、上位装置10から、データ線11a、11b、11cおよび11dを介して転送された各色の印刷画像データを、それぞれメモリ31a、31b、31cおよび31dに格納する。
【0037】
これらメモリ31a、31b、31cおよび31dは、例えば同一のメモリ容量と、アドレス構成とを有する。また、メモリ31a、31b、31cおよび31dのそれぞれは、好ましくは少なくとも3ページ分の印刷画像データを格納可能な容量を有する。3ページ分の印刷画像データは、例えば、上位装置10から転送中のページの印刷画像データと、現在出力中のページの印刷画像データと、次のページの印刷画像データとに対応する。これに限らず、メモリ31a、31b、31cおよび31dのそれぞれは、2ページ分以下の印刷画像データを格納可能であってもよい。
【0038】
さらに、データ転送制御部30a、30b、30cおよび30dは、それぞれエンジンI/F制御線40a、40b、40cおよび40dにより制御信号送受信部21と接続される。制御信号送受信部21は、これらエンジンI/F制御線40a、40b、40cおよび40dを介して、各データ転送制御部30a、30b、30cおよび30dとの間でそれぞれ個別に制御信号の送受信を行うことができる。
【0039】
図4−1は、データ転送制御部30aの一例の構成を概略的に示す。なお、データ転送制御部30a、30b、30cおよび30dは、共通の構成が適用されるので、図4−1では、データ転送制御部30a、30b、30cおよび30dを代表してデータ転送制御部30aの構成を示す。
【0040】
データ転送制御部30aは、メモリ31aおよびロジック回路32aを含む。ロジック回路32aに対して、エンジンI/F制御線40aおよびデータ線11aが接続される。ロジック回路32aは、制御信号送受信部21からエンジンI/F制御線40aを介して受け取った制御信号に従い、上位装置10からデータ線11aを介して転送された印刷画像データをメモリ31aに対して格納する。同様に、ロジック回路32aは、制御信号送受信部21からエンジンI/F制御線40aを介して受け取った制御信号に従い、メモリ31aから印刷画像データを読み出して、出力線33aを介して後述する画像出力部50に供給する。
【0041】
なお、論理回路などの組み合わせによりハードウェア的に構成されたロジック回路32aによる制御は、プログラムに対する割り込みにより処理を分岐させる、CPUを用いた制御に対してより高速な処理が可能であるという利点がある。ロジック回路32aは、例えば、エンジンI/F制御線40aを介して受け取った、ビット列による制御信号に対して論理判定を行い、実行する処理を決定する。これに限らず、ロジック回路32aと同等の機能を、CPUを用いてソフトウェア的に実現してもよい。
【0042】
データ転送制御部30a、30b、30cおよび30dからそれぞれ出力された各色の印刷画像データは、画像出力部50に供給される。画像出力部50は、各色の印刷画像データによる印刷を実行する。なお、各実施形態では、印刷画像データによる印刷を、ヘッドに設けられたノズルからインクを射出して印刷を行う、インクジェット方式により行う。勿論、印刷方式はインクジェット方式に限られず、例えばレーザプリンタ方式などを用いてもよい。
【0043】
図4−2は、データ転送制御部30aの一例の構成をより詳細に示す。なお、図4−2において、上述した図4−1と共通する部分には同一の符号を付して、詳細な説明を省略する。データ転送制御部30aは、メモリ31a、メモリコントローラ132a、データ転送DMA(Direct Memory Access)133aおよび134a、ならびに、データ転送制御部コントローラ135aを有する。これらのうち、メモリコントローラ132a、データ転送DMA(Direct Memory Access)133aおよび134a、ならびに、データ転送制御部コントローラ135aが、図4−1におけるロジック回路32aに含まれる。
【0044】
メモリコントローラ132aは、メモリ31aに対するアクセスを制御する。データ転送DMA133aは、上位装置10から印刷画像データを受信し、メモリコントローラ132aを介してメモリ31aに書き込む。データ転送DMA134aは、メモリコントローラ132aを介してメモリ31aからデータを読み出し、出力線33aを介して画像出力部50に転送する。データ転送制御部コントローラ135aは、プリンタコントローラ14内の制御信号送受信部21からエンジンI/F制御線40aを介して送信される制御情報を受信し、受信した制御情報に従いデータ転送DMA133aおよび134aを制御する。
【0045】
例えば、制御信号送受信部21から送信されたデータ転送の開始要求が、エンジンI/F制御線40aを介してデータ転送制御部コントローラ135aに受信されると、データ転送制御部コントローラ135aは、この要求に従い、データ転送DMA133aに対してデータ転送の開始を指示する。データ転送DMA133aは、この指示に従い、データ転送要求をデータ線11aを介して上位装置10に送信する。この要求に従い上位装置10から送信されたデータは、例えばデータ転送DMA133aに受信され、メモリコントローラ132aを介して、メモリ31aの所定のアドレスに書き込まれる。
【0046】
また、制御信号送受信部21から送信された印刷指示が、エンジンI/F制御線40aを介してデータ転送制御部コントローラ135aに受信されると、データ転送制御部コントローラ135aは、データ転送DMA134aに対して、メモリ31aからのデータ読み出しを指示する。データ転送DMA134aは、この指示に応じて、メモリコントローラ132aを介してメモリ31aからデータを読み出す。そして、データ転送DMA134aは、読み出したデータを、出力線33aを介して画像出力部50に転送する。
【0047】
図5は、画像出力部50の一例の構成を示す。画像出力部50は、出力制御部55と、色Y、C、MおよびK各色のヘッド56a、56b、56cおよび56dとを含む。なお、各色とヘッド56a、56b、56cおよび56dとの関係は、この例に限られない。出力制御部55は、各データ転送制御部30a、30b、30cおよび30dそれぞれの印刷画像データが出力される各出力線33a、33b、33cおよび33dと、ヘッド56a、56b、56cおよび56dとの接続を制御する。すなわち、出力制御部55は、各ヘッド56a、56b、56cおよび56dに対して、それぞれ各出力線33a、33b、33cおよび33dから1を選択して接続するように経路を設定することができる。
【0048】
例えば、出力制御部55は、各出力線33a、33b、33cおよび33dと、各ヘッド56a、56b、56cおよび56dとを、1対1に接続するように設定できる。また例えば、出力線33aに対して、各ヘッド56a、56b、56cおよび56dを接続する、というように、出力線33a、33b、33cおよび33dと、ヘッド56a、56b、56cおよび56dとを、1対多に接続するように設定できる。
【0049】
各出力線33a、33b、33cおよび33dと各ヘッド56a、56b、56cおよび56dとを接続する経路は、例えばディップスイッチなどを用いてユーザ操作により設定することができる。これに限らず、当該経路を、制御信号送受信部21からの制御信号により設定してもよい。
【0050】
上述したように、各実施形態によるプリンタ装置13では、上位装置10からの印刷画像データの転送と、当該印刷画像データによる印刷を制御する制御信号の上位装置10とプリンタ装置13との間の送受信とが、異なる経路を介して行われる。また、上位装置10から、各色の印刷画像データがそれぞれ異なるデータ線11a、11b、11cおよび11dを介して転送されると共に、これらデータ線11a、11b、11cおよび11dを介して転送された各色の印刷画像データが、互いに独立して制御され、共通の構成を持つデータ転送制御部30a、30b、30cおよび30dにそれぞれ供給される。さらに、画像出力部50において、各データ転送制御部30a、30b、30cおよび30dの出力と各色のヘッド56a、56b、56cおよび56dとの接続経路をユーザ操作などにより設定可能とされている。
【0051】
したがって、各実施形態によるプリンタ装置13は、印刷画像データの色数(Y、C、MおよびKの4色、または、K色のみ、など)や、画像出力部50において用いるヘッド数に応じて、プリンタエンジン15の構成を容易に変更することが可能である。このとき、プリンタエンジン15に対して、各データ転送制御部30a、30b、30cおよび30dのうち、要求される構成に応じて必要とされるものだけを設けるようにできる。
【0052】
(印刷用紙の搬送系)
図3−1を参照し、搬送制御部51は、用紙搬送制御部22と搬送制御線41により接続され、画像出力部50により印刷画像データに基づく画像が形成される用紙の搬送を制御する。図6は、各実施形態に適用可能な、用紙の搬送系を含めたプリンタ装置200の一例の構造を概略的に示す。既に述べたように、各実施形態では、プリンタ装置200は、印刷用紙として連帳紙を用いる。
【0053】
印刷用紙201は、印刷用紙補給部210から電源操作ボックス220を介して第1搬送部230に供給される。印刷用紙201は、第1搬送部230において、搬送制御部51の搬送制御により複数のローラなどを介して搬送されて位置合わせなどがなされ、上述のプリンタエンジン15に対応するプリンタエンジン部240および250に供給される。
【0054】
プリンタエンジン部240および250は、上述の画像出力部50に対応する印刷部241において、第1搬送部230から供給された印刷用紙201に対して印刷画像データに従った印刷を行う。印刷が終了した印刷用紙201は、搬送制御部51の搬送制御によりプリンタエンジン部250から排出され、第2搬送部260に供給される。印刷後の印刷用紙201は、第2搬送部260の内部で所定に搬送されて排出され、裁断部270に供給される。印刷後の印刷用紙201は、裁断部270によりミシン目に従い裁断され各ページを分離される。
【0055】
ここで、プリンタ装置200は、ページが連続した連続紙である印刷用紙201に印刷を行うため、プリンタエンジン部240および250における印刷用紙201への印刷後、当該印刷用紙201が第2搬送部260から排出されるまでの経路にも、印刷用紙201が絶えず存在することになる。
【0056】
なお、第1搬送部230、プリンタエンジン部240および250、ならびに、第2搬送部260からなる構成をもう一組用意して、前側の第2搬送部260から排出された印刷後の印刷用紙201を表裏反転して後側の第1搬送部230に供給することで、印刷用紙201に対する両面印刷が可能となる。
【0057】
(各実施形態に適用可能な印刷処理の詳細)
次に、各実施形態に適用可能な印刷処理について、より詳細に説明する。図7は、上位装置10とプリンタ装置13のプリンタコントローラ14との間で、制御線12を介して送受信される制御情報の一例を示す。なお、図7において、上位装置10をDFE(Digital Front End Processor)、プリンタコントローラ14をPCTLとして示している。制御情報は、大まかには、(1)ジョブ(JOB)情報と、(2)プリンタ状態および印刷プロセスを示す情報と、(3)印刷条件を示す情報と、(4)接続を示す情報とが含まれる。
【0058】
(1)のジョブ情報は、ジョブ(JOB)開始とジョブ終了とを通知する。ジョブ開始は、上位装置10からプリンタコントローラ14に対するジョブ開始の通知と、当該通知に対するプリンタ装置13から上位装置10への応答が含まれる。ジョブ終了は、上位装置10からプリンタコントローラ14に対する、ジョブ開始により要求した全印刷プロセスの終了の通知と、当該通知に対するプリンタコントローラ14から上位装置10への応答が含まれる。これらジョブ開始およびジョブ終了における応答の際に、ジョブを識別するためのジョブ識別子(JOBID)がプリンタコントローラ14から上位装置10に対して送信される。
【0059】
(2)のプリンタ状態および印刷プロセスを示す情報には、印刷プロセス受け付け開始と、プリンタ情報の要求および通知と、印刷プロセス開始と、印刷プロセス要求と、データ転送完了と、データ受信完了と、印刷プロセス完了と、プロセス状態報告と、SC(Service Control)通知と、エラー発生および解除とを通知する。
【0060】
印刷プロセス受け付け開始は、プリンタコントローラ14が印刷プロセスの受け付けが可能となったことをプリンタ装置13から上位装置10に対して通知する。プリンタ情報の要求および通知は、上位装置10からプリンタコントローラ14に対する必要なプリンタ情報の要求と、当該要求に対するプリンタコントローラ14から上位装置10に対する応答とが含まれる。
【0061】
印刷プロセス開始は、印刷画像データの準備が完了した旨の上位装置10からプリンタコントローラ14に対する通知と、当該通知に対するプリンタ装置13から上位装置10に対する応答を含む。印刷画像データの準備完了通知は、印刷画像データの出力順およびページ(プロセス)単位に行われる。ページは、一連の印刷動作で印刷が行われる印刷単位であるといえる。
【0062】
印刷プロセス要求は、プリンタコントローラ14から上位装置10に対する印刷プロセスの通知と、当該通知に対する上位装置10からプリンタコントローラ14に対する応答とが含まれる。プリンタコントローラ14は、この印刷プロセス要求により、印刷を行う色Y、C、MおよびKをそれぞれ示す色情報(Yellow, Cyan, Magenta or Black)、プロセス識別番号processIDおよびプレーン識別番号を上位装置10に対して通知する。単色のみを用いて印刷を行う場合は、印刷対象の色を示す色情報が、プロセス識別番号processIDおよびプレーン識別番号と共に上位装置10に対して通知される。
【0063】
なお、プレーンは、1ページに印刷される各色の印刷画像データによる画像それぞれに対応するものとする。プリンタコントローラ14は、プレーン単位およびエンジンすなわちデータ転送制御部30a、30b、30cおよび30dの要求順に従い、これらの情報を通知する。すなわち、ビットマップデータからなる印刷画像データは、プリンタエンジン15側から上位装置10に取りに行くことになる。
【0064】
データ転送完了は、上位装置10からプリンタコントローラ14に対して要求されたプレーンの印刷画像データの転送完了が通知される。データ受信完了は、プリンタコントローラ14から上位装置10に対して、要求したプレーンの印刷画像データの受信完了が通知される。印刷プロセス完了は、上位装置10からプリンタコントローラ14に対して、全ページ(プロセス)の印刷要求の完了が通知される。プロセス状態報告は、プリンタコントローラ14から上位装置10に対して、ページ(プロセス)の印刷状態が通知される。このとき、プリンタコントローラ14は、プリンタエンジン15から給紙、排紙および印刷開始に関する情報を取得し、取得したこれらの情報を当該通知に付加して上位装置10に送信する。
【0065】
SC通知は、上位装置10からプリンタコントローラ14に対してプリンタ装置13の障害情報の取得が要求されると共に、当該要求に対して取得された障害情報がプリンタコントローラ14から上位装置10に対して通知される。エラー発生および解除は、上位装置10側でのエラー発生および当該エラーの解除が上位装置10からプリンタコントローラ14に対して通知される。
【0066】
(3)の印刷条件を示す情報は、印刷条件の設定、すなわち、上位装置10からプリンタコントローラ14に対する印刷条件の通知と、当該通知に対するプリンタコントローラ14の応答とを含む。印刷条件の例としては、印刷形態、印刷種別、給排紙情報、印刷面順、印刷用紙サイズ、印刷データサイズ、解像度および階調、ならびに、色情報などを含む。
【0067】
印刷形態は、例えば印刷用紙201に対して両面印刷および片面印刷のうち何れを行うかを示す。印刷種別は、印刷画像データが存在しておりそれを印刷するのか、印刷画像データが存在しておらず白紙ページとするのかを示す。給排紙情報は、印刷用紙201の給紙元および排紙先のスタッカなどの識別情報を示す。印刷面順は、印刷用紙201に対して表面から裏面へと印刷するのか、裏面から表面へと印刷するのかを示す。印刷用紙サイズは、例えば印刷用紙201として連帳紙を用いる場合、印刷を行うページの印刷用紙201の搬送方向の長さを示す。印刷データサイズは、印刷画像データのデータサイズを示す。すなわち、印刷データサイズは、1ページ分の印刷画像データのサイズを示す。解像度および階調は、印刷画像データを印刷用紙201に印刷する際の解像度および階調を示す。また、色情報は、例えば印刷を色Y、C、MおよびK各色を用いたフルカラーで行うのか、色Kのみを用いた単色で行うかを示す。
【0068】
(4)の接続を示す情報は、登録および解除を含み、上位装置10およびプリンタコントローラ14のそれぞれで、互いの情報の登録および登録された情報の解除を行う。
【0069】
(印刷シーケンス)
次に、各実施形態に適用可能な印刷処理について説明する。図8は、各実施形態に適用可能な印刷処理を概念的に示す一例のシーケンス図である。ここでは、色Y、C、MおよびKの各色を用いたフルカラー印刷を行うものとする。プリンタコントローラ14は、上位装置10から制御情報として印刷用紙201に関する情報を受信したら(SEQ100)、受信した情報に基づき搬送制御部51に対して用紙送り長を設定する(SEQ103)。用紙送り長は、例えば搬送方向における1ページのサイズである。
【0070】
プリンタコントローラ14は、上位装置10から1ページ目(ページ#1)のジョブ開始を示す制御情報を受信したら(SEQ101)、データ転送制御部30a、30b、30cおよび30dのそれぞれに対して、色Y、C、MおよびK各色について1ページ目のデータ転送を開始するように要求する(SEQ110a、110b、110cおよび110d)。データ転送制御部30aは、この要求に従い、データ線11aを介して上位装置10に対して色Yの1ページ目の印刷画像データを要求し、この要求に応じて上位装置10から転送された色Yの1ページ目の印刷画像データをメモリ31aに格納する。
【0071】
各データ転送制御部30b、30cおよび30dについても同様に、SEQ110b、110cおよび110dの要求に従い、データ線11b、11cおよび11dを介して上位装置10に対して各色C、MおよびKの1ページ目の印刷画像データをそれぞれ要求する。各データ転送制御部30b、30cおよび30dは、この要求に応じて上位装置10から転送された各色C、MおよびKの1ページ目の印刷画像データを、それぞれメモリ31b、31cおよび31dに格納する。
【0072】
一方、この図8の例では、プリンタコントローラ14から各データ転送制御部30a、30b、30cおよび30dに対して1ページ目のデータ転送が要求されている間に、プリンタコントローラ14は、上位装置10から送信された次の2ページ目のジョブ開始を示す制御情報を受信する(SEQ102)。受信された制御情報は、例えばRAM323に保持される。
【0073】
各データ転送制御部30a、30b、30cおよび30dは、上位装置10からの各色の1ページ目の印刷画像データの転送が終了したら、それぞれ、その旨をプリンタコントローラ14に通知する(SEQ111a、111b、111cおよび111d)。プリンタコントローラ14は、当該通知にそれぞれ応答して、データ転送制御部30a、30b、30cおよび30dに対してそれぞれ2ページ目(ページ#2)のデータ転送を開始するように要求する(SEQ112a、112b、112cおよび112d)。
【0074】
この要求に応じて、各データ転送制御部30a、30b、30cおよび30dは、上位装置10に対して各色の2ページ目の印刷画像データをそれぞれ要求し、この要求に応じて上位装置10から転送された各色の2ページ目の印刷画像データを、それぞれメモリ31a、31b、31cおよび31dに格納する。
【0075】
なお、各データ転送制御部30a、30b、30cおよび30dは、転送された印刷画像データのデータ量に基づきデータ転送の終了を知ることができる。1ページ分の印刷画像のデータ量を示す情報は、例えば各データ転送制御部30a、30b、30cおよび30dに対するデータ転送開始時に、上位装置10が印刷画像データの先頭などに付加して送信する。また、印刷画像データを所定単位毎に転送する場合に、上位装置10が、1ページの最後の印刷画像データの転送単位に対して1ページ分の転送終了を示す終了情報を付加するようにしてもよい。さらに、上位装置10が、1ページ分の印刷画像データの転送直後などに、1ページ分の印刷画像データの転送終了を示す情報を印刷画像データとは別途に、各データ転送制御部30a、30b、30cおよび30dに対して送信することもできる。
【0076】
一方、プリンタコントローラ14は、各データ転送制御部30a、30b、30cおよび30dの全てから1ページ目のデータ転送終了の通知を受信したら、搬送制御部51に対して用紙搬送開始を要求する(SEQ113)。搬送制御部51は、この要求に応じて印刷用紙201の所定速度での搬送を開始する。また、プリンタコントローラ14は、搬送制御部51に対して用紙搬送開始の要求を行うと共に、各データ転送制御部30a、30b、30cおよび30dに対して、1ページ目の印刷の開始を指示する(SEQ114)。
【0077】
搬送制御部51は、例えば印刷用紙201が所定位置に到達したら、印刷可能状態である旨をプリンタコントローラ14に対して通知する(SEQ117)。プリンタコントローラ14は、この搬送制御部51からの印刷可能状態報告に応じて、各データ転送制御部30a、30b、30cおよび30dに対して印刷の先頭位置を指示する(SEQ118)。
【0078】
各データ転送制御部30a、30b、30cおよび30dは、印刷先頭指示に応じて印刷を開始する。この例では、印刷用紙201の搬送方向に沿って各色Y、C、MおよびKのヘッドがヘッド56a、56b、56c、56dの順に並べられているものとする。この場合、印刷用紙201における1ページ目の印刷の先頭位置がヘッド56aによる印刷位置に達したら、先ずデータ転送制御部30aにおいて、メモリ31aからの1ページ目の印刷画像データの読み出しが開始される。メモリ31aから読み出された色Yの印刷画像データは、画像出力部50に転送される。そして、印刷画像データが出力制御部55を介してヘッド56aに供給され、印刷用紙201に対する印刷が行われる(SEQ119a)。色Yの1ページ目の印刷が終了すると、その旨がプリンタコントローラ14に対して通知される(SEQ120a)。
【0079】
続けて、印刷用紙201における1ページ目の印刷の先頭位置がヘッド56bによる印刷位置に達したら、データ転送制御部30bにおいて、メモリ31bからの1ページ目の印刷画像データの読み出しが開始される。メモリ31bから読み出された色Cの印刷画像データは、画像出力部50に転送される。そして、出力制御部55を介してヘッド56bに供給され、印刷用紙201に対する印刷が開始される(SEQ119b)。色Cの1ページ目の印刷が終了したら、その旨がプリンタコントローラ14に対して通知される(SEQ120b)。
【0080】
以下同様にして、色MおよびKの印刷が順次開始され(SEQ119c、119d)、印刷が終了したら、その旨がプリンタコントローラ14に対して通知される(SEQ120cおよび120d)。
【0081】
一方、上述のSEQ112a〜112dで開始された2ページ目の各色の印刷画像データの転送が終了すると、各データ転送制御部30a、30b、30cおよび30dは、その旨をプリンタコントローラ14に対して通知する(SEQ115)。プリンタコントローラ14は、このデータ転送完了の通知に応じて、各データ転送制御部30a、30b、30cおよび30dに対して、2ページ目の印刷の開始をそれぞれ指示する(SEQ116)。
【0082】
各データ転送制御部30a、30b、30cおよび30dは、1ページ目の印刷の終了後に、それぞれ2ページ目の印刷を開始する。例えば、データ転送制御部30aは、1ページ目の印刷が完了(SEQ120a)した後、印刷用紙201における2ページ目の印刷の先頭位置がヘッド56aによる印刷位置に達したら、メモリ31aから2ページ目の色Yの印刷画像データを読み出して画像出力部50に供給し、印刷用紙201に対する印刷を開始する(SEQ121a)。色Yの印刷が終了したら、その旨がプリンタコントローラ14に対して通知される(SEQ122a)。
【0083】
各データ転送制御部30b、30cおよび30dにおいても、同様にして、2ページ目の先頭位置がヘッド56b、56cおよび56dによる印刷位置に達したら、メモリ31b、31cおよび31dから各色の印刷画像データを読み出し、印刷用紙201に対する印刷を開始する(SEQ121b〜121d)。各色の印刷が終了したら、その旨がプリンタコントローラ14に対してそれぞれ通知される(SEQ122b〜122d)。
【0084】
プリンタコントローラ14は、2ページ目の色Kの印刷終了通知をデータ転送制御部30dから受け取ると、印刷ジョブによる最終ページの印刷が終了したとして、搬送制御部51に対して印刷用紙201の搬送の停止を要求する(SEQ123)。搬送制御部51は、この要求に応じて印刷用紙201の搬送を停止させ、その旨をプリンタコントローラ14に対して報告する(SEQ124)。これにより、一連の印刷処理が終了する。
【0085】
(印刷処理の詳細)
次に、各実施形態に適用可能な印刷処理について、より具体的に説明する。各実施形態では、各データ転送制御部30a〜30dは、プリンタコントローラ14の制御に従い、印刷を制御するための制御情報を上位装置10から取得する。また、各データ転送制御部30a〜30dは、プリンタコントローラ14の制御に従い、上位装置10から転送された各色の印刷画像データを、それぞれメモリ31a〜31dに格納する。
【0086】
各実施形態に適用可能な印刷画像データのデータ転送処理について、図9−1〜図9−4のフローチャートを用いて説明する。なお、以下において、データ線11a、11b、11cおよび11dは、それぞれ色Y、色C、色Mおよび色Kの印刷画像データが転送され、データ転送制御部30a、30b、30cおよび30dは、それぞれ色Y、色C、色Mおよび色Kの印刷画像データの転送を制御するものとする。
【0087】
図9−1は、データ転送に係る上位装置10における処理の例を示すフローチャートである。上位装置10は、ホスト装置5からのジョブデータを受信すると、ステップS100で、ジョブ開始を示す制御情報をプリンタコントローラ14に対して制御線12を介して送信する。そして、当該制御信号に応答してプリンタコントローラ14から送信される、印刷プロセス受け付けを示す制御信号を待機する(ステップS101)。
【0088】
上位装置10は、プリンタコントローラ14からの印刷プロセス受け付けを示す制御信号を受信すると、ステップS102で、ジョブデータに示される印刷条件を示す制御情報を、プリンタコントローラ14に対して制御線12を介して送信し、次のステップS103で、ページ番号をnとして、nページ目の印刷プロセス開始の制御信号をプリンタコントローラ14に対して制御線12を介して送信する。このステップS103からステップS112までの処理は、ページ単位の処理となる。
【0089】
ステップS104〜ステップS110の処理は、Y、C、M、K各色について実行される処理となる。以下、色Yに関する処理を中心に説明する。上位装置10は、ステップS104で、プリンタコントローラ14からの、例えば色Yの印刷画像データの要求を待機する。上位装置10は、プリンタコントローラ14から制御線12を介して送信されたデータ要求を受信すると、ステップS105で、受け取ったデータ要求に対する応答をプリンタコントローラ14に返す。そして、次のステップS106で、データ転送制御部30aからデータ線11aを介して送信されるデータ転送要求を待機する。
【0090】
上位装置10は、データ転送制御部30aからのデータ転送要求をデータ線11aを介して受信すると、ステップS107で、データ転送制御部30aに対する色Yの印刷画像データの転送を開始する。色Yの印刷画像データは、データ線11aを介してデータ転送制御部30aに転送される。このとき、上位装置10は、転送する色Yの印刷画像データに対して、当該印刷画像データのサイズを示す情報を付加する。
【0091】
上位装置10は、ステップS108で、色Yの1ページ分のデータ転送が終了するのを待機する。図2−2を参照し、上位装置10は、例えば、制御部124が記憶部122およびインターフェイス123を監視し、Y、C、M、K各色について、1ページ分のデータ量の転送が行われたか否かをそれぞれ判定する。色Yの1ページ分のデータ転送が終了したと判定された場合、処理はステップS109に移行され、1ページ分のデータ転送が終了したことを示すデータ転送終了通知が制御線12を介してプリンタコントローラ14に対して送信される。そして、上位装置10は、次のステップS110で、プリンタコントローラ14からの色Yについてのデータ受信完了通知を待機する。
【0092】
上位装置10は、ステップS111で、Y、C、M、Kの全色について、データ受信完了通知を受信したか否かを判定する。若し、受信していないと判定した場合、処理をステップS104に戻し、次の色について処理を実行する。
【0093】
なお、図9−1では、ステップS104〜ステップS110の処理がY、C、M、K各色について順次実行されるように説明したが、これはこの例に限定されない。例えば、ステップS104〜ステップS110の処理を、Y、C、M、K各色について並列的に実行することも可能である。この場合、ステップS111は、Y、C、M、K各色の処理におけるステップS110でのデータ受信完了通知を待機することになる。
【0094】
上位装置10は、ステップS111で、Y、C、M、Kの全色についてデータ受信完了通知を受信したと判定したら、処理をステップS112に移行させ、次のページの印刷処理を行うか否かを判定する。印刷を行うページ数は、ホスト装置5から受信した印刷ジョブデータから取得することができる。若し、次ページの印刷処理があると判定された場合、ページ番号n=n+1とされて処理がステップS103に戻される。
【0095】
一方、印刷ジョブデータに示される全ページ分のデータ転送が終了したと判定された場合、処理がステップS113に移行され、上位装置10は、プリンタコントローラ14からの全ページの排紙報告が待機される。上位装置10は、プリンタコントローラ14からの全ページの排紙報告を受信した場合、処理をステップS114に移行させ、プリンタコントローラ14に対して、制御線12を介して全ての印刷ジョブが終了した旨を示すジョブ終了通知を送信する。
【0096】
図9−2は、データ転送に係るプリンタコントローラ14における処理の例を示すフローチャートである。プリンタコントローラ14は、ステップS120で、制御線12を介して上位装置10から送信されるジョブ開始を示す制御情報を待機する。プリンタコントローラ14は、この制御情報を受信したら、次のステップS121で、上位装置10に対して、制御線12を介して応答を返す。さらに、プリンタコントローラ14は、このステップS121で、上位装置10に対して、制御線12を介して印刷プロセス受け付け開始を示す制御情報を送信する。そして、次のステップS122で、上位装置10から制御線12を介して送信された印刷条件を示す制御情報を受信する。
【0097】
次のステップS123で、プリンタコントローラ14は、上位装置10から制御線12を介して送信される、nページ目の印刷プロセス開始を示す制御信号を受信したか否かを判定する。若し、受信していないと判定されたら、処理をステップS130に移行させ、上位装置10から制御線12を介してジョブ終了通知を受信したか否かを判定する。若し、ジョブ終了通知を受信していないと判定したら、処理をステップS123に戻す。一方、ステップS130でジョブ終了通知を受信したと判定したら、一連の印刷処理が終了される。
【0098】
プリンタコントローラ14は、ステップS123で、上位装置10から制御線12を介して送信された印刷プロセス開始を示す制御信号を受信したと判定したら、処理をステップS124に移行させる。以下のステップS124〜ステップS128の処理は、Y、C、M、K各色の処理となる。ここでは、色Yの印刷画像データの転送処理について説明する。
【0099】
ステップS124で、プリンタコントローラ14は、上位装置10に対して、制御線12を介して印刷画像データを要求し、次のステップS125で、この要求に対する上位装置10からの応答を待機する。プリンタコントローラ14は、上位装置10からの応答を受信したら、次のステップS126で、データ転送制御部30aに対して、エンジンI/F制御線40aを介してデータ転送の開始を要求する。
【0100】
このとき、プリンタコントローラ14は、図15を用いて後述する転送管理テーブルから、少なくとも、印刷を行うページ(nページ目)を示すページ識別子PBIDと、印刷画像データの転送元のアドレスを示す転送元アドレスとを抽出する。そして、プリンタコントローラ14は、抽出されたこれらページ識別子PBIDと転送元アドレスとを、データ転送の開始を要求するデータ転送開始要求に付加して、例えばデータ転送制御部30aに送信する。
【0101】
次のステップS127で、プリンタコントローラ14は、上位装置10からのデータ転送終了通知と、データ転送制御部30aからのデータ転送終了通知とを待機する。プリンタコントローラ14は、これら上位装置10およびデータ転送制御部30aからそれぞれ制御線12およびエンジンI/F制御線40aを介してデータ転送終了通知を受信したら、処理をステップS128に移行させ、色Yについてのデータ受信完了通知を、上位装置10に対して制御線12を介して送信する。
【0102】
プリンタコントローラ14は、ステップS129で、Y、C、M、Kの全色のデータ転送が終了したか否かを判定する。若し、終了していないと判定した場合、処理をステップS124に戻し、次の色について処理を実行する。一方、プリンタコントローラ14は、ステップS129でY、C、M、Kの全色のデータ転送が終了したと判定した場合、ページ番号n=n+1として処理をステップS123に戻す。
【0103】
なお、図9−2では、ステップS124〜ステップS128の処理がY、C、M、K各色について順次実行されるように説明したが、これはこの例に限定されない。例えば、ステップS124〜ステップS128の処理を、Y、C、M、K各色について並列的に実行することも可能である。この場合、ステップS129は、Y、C、M、K各色の処理におけるステップS128でのデータ受信完了通知を待機することになる。
【0104】
なお、プリンタコントローラ14は、データ転送制御部30a〜30dに対して、各エンジンI/F制御線40a〜40dを介して印刷指示を送信する。この印刷指示により、各データ転送制御部30a〜30dにおいてメモリ31a〜31dから印刷画像データが読み出され、印刷用紙201に対する印刷画像データの印刷が実行される。
【0105】
なお、プリンタコントローラ14から各データ転送制御部30a〜30dに対して送信される印刷指示は、例えば図7を用いて説明した制御情報のうち、印刷条件の設定の情報といった、印刷を行うために必要な情報によるテーブルとして作成することができる。プリンタコントローラ14は、こうして作成したテーブルを、各データ転送制御部30a〜30dに対して送信する。
【0106】
図9−3は、このプリンタコントローラ14が印刷指示を行う際の一例の処理を示すフローチャートである。なお、このフローチャートの実行に先立って、プリンタコントローラ14が搬送制御部51に対して、既に印刷準備指示を送信しているものとする。
【0107】
プリンタコントローラ14は、ステップS140で、上位装置10からジョブ終了通知が送信されたか否かを判定する。若し、送信されたと判定したら、一連の処理を終了する。上位装置10からジョブ終了通知が送信されていないと判定した場合、処理をステップS141に移行させる。
【0108】
ステップS141では、プリンタコントローラ14は、Y、C、M、K各色について少なくとも1ページ分の印刷画像データの転送終了を待機する。プリンタコントローラ14は、1ページ分の印刷画像データの転送が終了したと判定したら、処理をステップS142に移行させ、搬送制御部51からの印刷準備完了を示す応答の受信が待機される。プリンタコントローラ14は、搬送制御部51から送信された印刷準備完了を示す応答を、搬送制御線41を介して受信すると、次にステップS143において、各データ転送制御部30a〜30dに対して、nページ目の印刷を指示する印刷指示を、エンジンI/F制御線40a〜40dを介して送信する。
【0109】
図9−4は、データ転送に係る各データ転送制御部30a〜30dにおける処理の例を示すフローチャートである。ここでは、説明のため、色Y、データ転送制御部30aでの処理について説明する。データ転送制御部30aは、ステップS150で、プリンタコントローラ14からエンジンI/F制御線40aを介して送信されるデータ転送開始要求を待機する。
【0110】
データ転送制御部30aは、データ転送開始要求を受信すると、次のステップS151で、上位装置10に対して、色Yの印刷画像データの転送を要求するデータ転送要求を、データ線11aを介して送信する。このデータ転送要求に応じて上位装置10からデータ線11aを介して転送される、色Yの印刷画像データを、データ転送制御部30aが受信する(ステップS152)。データ転送制御部30aは、データ転送DMA133aを制御して、受信した色Yの印刷画像データをメモリ31aの所定の領域に格納する(ステップS153)。
【0111】
データ転送制御部30aは、ステップS154で、上位装置10からの色Yの印刷画像データの転送が終了したか否かを判定する。データ転送制御部30aは、例えば、転送される印刷画像データに付加されるサイズ情報に基づき、印刷画像データの転送が終了したか否かを判定することができる。若し、印刷画像データの転送が終了していないと判定した場合は、処理をステップS152に戻し、データの受信およびメモリ31aへの格納を継続する。一方、印刷画像データの転送が終了したと判定したら、処理をステップS155に移行させ、プリンタコントローラ14に対して、エンジンI/F制御線40aを介してデータ転送終了通知を送信する。そして、処理がステップS150に戻される。
【0112】
図10−1〜図10−3は、上述した図9−1〜図9−4に示した各フローチャートに従って実行される、各実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。なお、図10−1〜図10−3において、符号A〜Fは、異なる図面間で対応する符号に処理が移行することを示す。また、以下では、印刷ジョブは、全2ページの印刷を行うものであるとする。
【0113】
図10−1を参照し、先ず、上位装置10からプリンタコントローラ14に対して制御線12を介してジョブ開始の制御情報が送信される(SEQ200)。プリンタコントローラ14は、この制御情報に対して、ジョブ識別子jobID=1を応答する制御情報を、制御線12を介して上位装置10に送信する(SEQ201)。それと共に、プリンタコントローラ14は、ジョブの開始に伴いジョブを実行するためのリソースを獲得する。そして、プリンタコントローラ14は、上位装置10に対して、印刷プロセス受け付け開始を示す制御情報を制御線12を介して送信する(SEQ202)。
【0114】
次に、上位装置10は、プリンタコントローラ14に対して、印刷条件を設定する制御情報を制御線12を介して送信する(SEQ203)。プリンタコントローラ14に対して設定される印刷条件は、図7を用いて説明したように、印刷形態、印刷種別、給排紙情報、印刷面順、印刷用紙サイズ、印刷画像データのデータサイズ、解像度および階調、ならびに、色情報が含まれる。また、印刷を行うページ数の情報も、印刷条件に含ませることができる。この制御情報がプリンタコントローラ14に受信されると、受信した制御情報に含まれる各種の印刷条件が、例えばプリンタコントローラ14のレジスタなどに書き込まれ、印刷条件が設定される。
【0115】
次に、上位装置10は、1ページ目の印刷プロセス開始の制御情報を、制御線12を介してプリンタコントローラ14に送信する(SEQ204)。この制御情報は、当該プロセスを識別するためのプロセス識別番号processID=1と、1ページ目を構成する画像を示す画像識別番号imageID=1とを含む。プリンタコントローラ14は、この印刷プロセス開始に対する応答である印刷プロセス開始の制御情報を上位装置10に返す(SEQ205)。
【0116】
次に、プリンタコントローラ14は、上位装置10に対して、印刷プロセス要求の制御情報を送信し、印刷画像データを要求する。この印刷プロセス要求は、色Y、C、MおよびKの各色について、プリンタエンジン15における色の並び順に従って、順次行われる。この例では、印刷用紙201の搬送方向に沿って各色Y、C、MおよびKのヘッドがヘッド56a、56b、56c、56dの順に並べられているものとする。
【0117】
先ず、プリンタコントローラ14は、色Yの印刷画像データを要求する印刷プロセス要求の制御情報を、上位装置10に対して制御線12を介して送信する(SEQ206)。この制御情報は、プロセスを指定するプロセス識別番号processID=1と、色Yを指定する色情報Yellowとが含まれる。上位装置10は、この制御情報に対する応答として、画像識別番号imageID=1を含む制御情報をプリンタコントローラ14に返す(SEQ207)。プリンタコントローラ14は、この制御情報を受信すると、色Yに対応するデータ転送制御部30aに対して印刷画像データの転送を開始するよう要求する(SEQ208)。このとき、プリンタコントローラ14は、例えば、転送の開始を要求する印刷画像データのデータサイズを、この要求と共にデータ転送制御部30aに送信する。
【0118】
データ転送制御部30aは、この要求を受けて、データ線11aを介して上位装置10に対して色Yのプレーンの印刷画像データを要求し(SEQ209A)、この要求に応じて、上位装置10からデータ転送制御部30aに対して、色Yの印刷画像データが転送される(SEQ209)。転送された印刷画像データは、データ転送制御部30aのメモリ31aにおける、1ページ目の印刷画像データのために割り当てられた領域に格納される。
【0119】
以下、他の各色C、MおよびKについても、上述のSEQ206、SEQ207、SEQ208、SEQ209AおよびSEQ209と同様の処理が繰り返され、各色の印刷画像データが上位装置10から各データ線11b、11cおよび11dを介してデータ転送制御部30b、30cおよび30dにそれぞれ転送され、メモリ31b、31cおよび31dそれぞれの、1ページ目の印刷画像データのために割り当てられた領域に格納される(SEQ210〜SEQ221)。
【0120】
また、上位装置10は、1のプレーンの印刷画像データの転送が終了すると、データ転送完了の制御情報をプリンタコントローラ14に対して送信する。プリンタコントローラ14は、この制御情報に応じて、印刷画像データの受信完了の制御情報を上位装置10に送信する。
【0121】
例えば、上位装置10は、色Yのプレーンの印刷画像データの転送が終了すると、画像識別番号imageID=1と色情報Yellowとを含むデータ転送完了の制御情報をプリンタコントローラ14に対して送信する(SEQ222)。一方、データ転送制御部30aは、上位装置10からデータ線11aを介しての印刷画像データの転送が終了すると、その旨示す通知をプリンタコントローラ14に対して送信する(SEQ223)。プリンタコントローラ14は、この通知に応じて、画像識別番号imageID=1と、色情報Yellowとを含むデータ受信完了の制御情報を上位装置10に対して送信する(SEQ224)。
【0122】
以下、他の各色C、MおよびKについても、各印刷画像データの転送終了に伴い上述のSEQ222〜SEQ224と同様の処理が繰り返され、上位装置10に対してデータ受信完了の制御情報が送信される(SEQ225〜SEQ233)。
【0123】
プリンタコントローラ14は、SEQ233で、1ページ目の最後の印刷画像データ(すなわち色Kの印刷画像データ)についてのデータ受信完了の制御情報を上位装置10に送信した後に、搬送制御部51に対して印刷の準備を指示する。搬送制御部51は、この指示に従い印刷用紙201の印刷位置への搬送を開始する。
【0124】
説明は図10−2に移り、1ページ目の各色の印刷画像データの転送が完了すると、上位装置10は、2ページ目の印刷プロセス開始の制御情報を、制御線12を介してプリンタコントローラ14に送信する(SEQ234)。この制御情報は、当該2ページ目のプロセスを識別するプロセス識別番号processID=2と、2ページ目を構成する画像を示す画像識別番号imageID=2とを含む。プリンタコントローラ14は、この印刷プロセス開始に対する応答である印刷プロセス開始の制御情報を上位装置10に返す(SEQ235)。
【0125】
例えば全2ページの印刷を行う場合には、このSEQ234およびSEQ235の処理で印刷プロセス開始要求が完了することになる。そのため、上位装置10は、SEQ235で2ページ目の印刷プロセス開始要求に対する応答を受け取ると、SEQ236で、ジョブ識別子jobID=1が指定されたプロセス開始要求完了の制御情報を、プリンタコントローラ14に対して送信する。
【0126】
次に、上述したSEQ206〜SEQ221と同様にして、プリンタコントローラ14は、上位装置10に対して印刷プロセス要求の制御情報を送信し、印刷画像データを要求する。この印刷プロセス要求は、色Y、C、MおよびKの各色について、プリンタエンジン15における色の並び順に従って、順次行われる。
【0127】
先ず、プリンタコントローラ14は、色Yの印刷画像データを要求する印刷プロセス要求の制御情報を、上位装置10に対して制御線12を介して送信する(SEQ237)。この制御情報は、プロセスを指定するプロセス識別番号processID=2と、色Yを指定する色情報Yellowとが含まれる。上位装置10は、この制御情報に対する応答として、画像識別番号imageID=2を含む制御情報をプリンタコントローラ14に返す(SEQ238)。プリンタコントローラ14は、この制御情報を受信すると、色Yに対応するデータ転送制御部30aに対して印刷画像データの転送を開始するよう要求する(SEQ239)。
【0128】
データ転送制御部30aは、この要求を受けて、データ線11aを介して上位装置10に対して色Yのプレーンの印刷画像データを要求し(SEQ240A)、この要求に応じて、上位装置10からデータ転送制御部30aに対して、色Yの印刷画像データが転送される(SEQ240)。転送された印刷画像データは、データ転送制御部30aのメモリ31aにおける2ページ目の印刷画像データのために割り当てられた領域に格納される。
【0129】
以下、他の各色C、MおよびKについても、上述のSEQ237、SEQ238、SEQ239、SEQ240AおよびSEQ240と同様の処理が繰り返され、各色の印刷画像データが上位装置10から各データ線11b、11cおよび11dを介してデータ転送制御部30b、30cおよび30dにそれぞれ転送され、メモリ31b、31cおよび31dそれぞれの2ページ目の印刷画像データのために割り当てられた領域に格納される(SEQ244〜SEQ251、SEQ255〜SEQ258)。
【0130】
また、上述と同様に、上位装置10は、1のプレーンの印刷画像データの転送終了毎に、データ転送完了の制御情報をプリンタコントローラ14に対して送信する。プリンタコントローラ14は、この制御情報に応答して、印刷画像データの受信完了の制御情報を上位装置10に送信する。
【0131】
図10−2の例では、上位装置10は、SEQ240で転送された色Yの印刷画像データの転送が終了されると、データ転送完了の制御情報をプリンタコントローラ14に対して送信する(SEQ252)。データ転送制御部30aは、上位装置10からデータ線11aを介しての印刷画像データの転送が終了すると、その旨示す通知をプリンタコントローラ14に対して送信する(SEQ253)。プリンタコントローラ14は、この通知に応答して、画像識別番号imageID=2と、色情報Yellowとを含むデータ受信完了の制御情報を上位装置10に対して送信する(SEQ254)。
【0132】
以下、他の各色C、MおよびKについても、各印刷画像データの転送終了に伴い上述のSEQ252〜SEQ254と同様の処理が行われ、上位装置10に対してデータ受信完了の制御情報が送信される(SEQ259〜SEQ267)。
【0133】
なお、図10−2の例では、上述したSEQ234の直前における搬送制御部51に対する印刷準備の指示に対する、搬送制御部51からの印刷準備が完了した旨の応答が、SEQ240の直後に、搬送制御部51からプリンタコントローラ14に対して通知されている。プリンタコントローラ14は、この通知を受信すると、それぞれプロセス識別番号processID=1およびプロセス識別番号processID=2とした、印刷プロセス開始の2の制御情報を、上位装置10に対して送信する(SEQ241、SEQ243)。これにより、上位装置10に対して、1ページ目および2ページ目の印刷が可能となった旨が通知される。
【0134】
また、SEQ241の時点で、1ページ目の各色の印刷画像データのデータ転送制御部30a、30b、30cおよび30dへの転送が完了している。そのため、プリンタコントローラ14は、各データ転送制御部30a、30b、30cおよび30dに対して、1ページ目の印刷を行う印刷指示をそれぞれ通知する(SEQ242)。この印刷指示は、例えば各データ転送制御部30a、30b,30cおよび30dにおいて、メモリ31a,31b,31cおよび31dにそれぞれ格納されるなどにより保持される。この印刷指示に従った実際の印刷動作は、後続するページの印刷動作などとタイミングを合わせて実行される。
【0135】
さらに、図10−2の例では、プリンタコントローラ14において、SEQ241およびSEQ243の印刷プロセス開始の制御情報の送信により、2番目に転送が開始される色Cのプレーンの印刷画像データの上位装置10に対する要求が遅延している(SEQ244参照)。そして、この遅延に伴い、最初に転送が開始された色Yのプレーンの印刷画像データの転送が、色Kのプレーンの印刷画像データの転送が開始される前に完了してしまっている(SEQ253参照)。さらにまた、色Yのプレーンの印刷画像データの転送完了の通知処理(SEQ253)の後に、色Kのプレーンの印刷画像データの転送が開始されている(SEQ257、SEQ258)。
【0136】
図10−1に示す1ページ目のデータ転送処理では、各色の印刷画像データの転送が各色の順序で行われ、印刷画像データの転送が終了した後に、データ転送の終了処理が各色の順序で行われている。これに対して、図10−2に示す2ページ目のデータ転送処理では、各色の印刷画像データの転送が終了しないうちに、データ転送の終了処理が開始してしまっている。
【0137】
上述のように、各色Y、C、MおよびKのデータ転送を制御するデータ転送制御部30a、30b、30cおよび30dがそれぞれ独立した構成とされ、プリンタコントローラ14は、各データ転送制御部30a、30b、30cおよび30dとそれぞれ独立して通信を行うことができ、また、各データ転送制御部30a、30b、30cおよび30dは、それぞれ独立して処理を実行する。そのため、このように、各データ転送制御部30a、30b、30cおよび30dによる一連の処理の途中に他の処理が割り込んできても、それぞれの処理を変更する必要が無い。
【0138】
SEQ267で、プリンタコントローラ14が上位装置10に対して色Kのプレーンの印刷画像データの転送が完了したことを通知すると、プリンタコントローラ14は、各データ転送制御部30a、30b、30cおよび30dに対して2ページ目の印刷を行う印刷指示をそれぞれ通知する(SEQ268)。
【0139】
説明は図10−3に移り、プリンタエンジン15においてSEQ242の印刷指示に従い1ページ目の印刷が実行され、印刷用紙201の給紙が開始される。プリンタエンジン15は、この1ページ目の給紙開始をプリンタコントローラ14に対して通知する(SEQ269)。プリンタコントローラ14は、この通知を受信すると、上位装置10に対して、プロセス識別番号processID=1として、1ページ目の給紙が開始されたことを示す制御情報を送信する(SEQ270)。それと共に、プリンタコントローラ14は、データ転送制御部30a、30b、30cおよび30dに対して、互いに同期して印刷を実行するよう、印刷指示を送信する。この印刷指示に従い、データ転送制御部30a、30b、30cおよび30dは、各メモリ31a、31b、31cおよび31dから各色Y、C、MおよびKの印刷画像データをそれぞれ読み出し、印刷用紙201に対する1ページ目の各プレーンの印刷を順次行う。
【0140】
同様に、プリンタエンジン15は、1ページ目の印刷が完了し、2ページ目の印刷に移行すると、2ページ目の給紙開始をプリンタコントローラ14に通知する(SEQ271)。プリンタコントローラ14は、この通知を受信すると、上位装置10に対して、プロセス識別番号processID=2として、2ページ目の給紙が開始されたことを示す制御情報を送信する(SEQ272)と共に、データ転送制御部30a、30b、30cおよび30dに対して、互いに同期して印刷を実行するよう、印刷指示を送信する。この印刷指示に従い、データ転送制御部30a、30b、30cおよび30dは、各メモリ31a、31b、31cおよび31dから各色Y、C、MおよびKの印刷画像データをそれぞれ読み出し、印刷用紙201に対する2ページ目の各プレーンの印刷を順次行う。
【0141】
また、プリンタエンジン15は、1ページ目の各色の印刷が終了し印刷用紙201の1ページ目が排紙されると、その旨をプリンタコントローラ14に通知する(SEQ273)。プリンタコントローラ14は、この通知を受信すると、上位装置10に対して、プロセス識別番号processID=1として、1ページ目の印刷用紙201が排紙されたことを示す制御情報を送信する(SEQ274)。同様に、プリンタエンジン15は、2ページ目の各色の印刷が終了し、印刷用紙201の2ページ目が排紙されると、その旨をプリンタコントローラ14に通知し(SEQ275)、プリンタコントローラ14は、この通知に応じてプロセス識別番号processID=2として2ページ目の印刷用紙201が排紙されたことを示す制御情報を上位装置10に対して送信する(SEQ276)。
【0142】
上位装置10は、プリンタコントローラ14から、例えばSEQ203で印刷条件の設定の制御情報に含まれる、印刷ページ数を示す情報に対応する排紙報告を受信したら、SEQ200で開始を通知したジョブによる印刷が終了したとして、ジョブ識別番号jobID=1としたジョブ終了の制御情報をプリンタコントローラ14に対して送信する(SEQ277)。プリンタコントローラ14は、この制御情報を受信すると、ジョブ識別番号jobID=1として、応答の制御情報を上位装置10に送信する(SEQ278)。これにより、一連の印刷処理が終了する。
【0143】
上述したように、印刷画像データの上位装置10からの転送タイミングの制御や、上位装置10との間の制御情報のやりとりなど、従来、各色のデータ転送制御部がそれぞれ行っていた機能を、プリンタコントローラ14が一括して行うようにしている。また、各色に対応するデータ転送制御部(データ転送制御部30a〜30d)は、印刷画像データを受信および読み出しのみを行うようにしている。そのため、印刷画像データの転送処理を高速化することができる。
【0144】
また、各色Y、C、MおよびKのデータ転送を制御するデータ転送制御部30a、30b、30cおよび30dがそれぞれ独立した構成とされている。それと共に、プリンタコントローラ14と各データ転送制御部30a、30b、30cおよび30dとがエンジンI/F制御線40a、40b、40cおよび40dでそれぞれ接続され、プリンタコントローラ14と各データ転送制御部30a、30b、30cおよび30dとの間の通信は、データ転送制御部30a、30b、30cおよび30dそれぞれで独立して行われる。また、各データ転送制御部30a、30b、30cおよび30dは、それぞれ独立して処理を実行する。
【0145】
そのため、上述の例えばSEQ237〜SEQ266のように、各データ転送制御部30a、30b、30cおよび30dによる一連の処理の途中に他の処理が割り込んできても、それぞれの処理を変更する必要が無い。また、各データ転送制御部30a、30b、30cおよび30dの処理が独立しているため、データ転送制御部30a、30b、30cおよび30dの追加や削除を容易に行うことができ、システム構成の様々なバリエーションを共通の構成で提供することができる。
【0146】
(データ転送処理の別の例)
次に、上述したデータ転送処理の別の例について説明する。上述では、各色の印刷画像データの転送処理に際して、上位装置10は、各色のデータ転送制御部30a〜30dから各データ線11a〜11dを介して送信されたデータ転送要求に応じて、各色の印刷画像データを転送していた。これに対して、本例では、データ転送制御部30a〜30dから上位装置10に対してデータ転送要求を送信しない。上位装置10は、プリンタコントローラ14からのデータ要求に応答した後、直接的に、データ転送制御部30a〜30dに対してデータ線11a〜11dを介して各色の印刷画像データを転送する。
【0147】
データ転送処理の別の例による印刷画像データのデータ転送処理について、図11−1および図11−2のフローチャートを用いて説明する。図11−1は、本例による、データ転送に係る上位装置10における処理の例を示すフローチャートである。なお、図11−1において、上述した図9−1と共通する処理には同一の符号を付し、詳細な説明を省略する。
【0148】
図11−1のフローチャートに示されるように、上位装置10の処理は、ステップS100のジョブ開始を示す制御情報の送信から、ステップS105の、プリンタコントローラ14からのデータ要求に対する応答をプリンタコントローラ14に返すまでの処理は、図9−1で説明した処理と同一であるので、ここでの説明を省略する。
【0149】
本例では、上位装置10は、ステップS105でプリンタコントローラ14からのデータ要求に対する応答をプリンタコントローラ14に制御線12を介して送信した後、処理をステップS160に移行させる。ステップS160で、上位装置10は、例えば色Yの印刷画像データを、データ線11aを介してデータ転送制御部30aに送信し、データ転送制御部30a内のメモリ31aに格納する。このとき、上位装置10は、例えば、送信する印刷画像データに対してメモリ31aのアドレス情報を付加してデータ転送制御部30aに送信する。データ転送制御部30aは、印刷画像データに付加されたアドレス情報に従い、当該印刷画像データをメモリ31aに格納する。
【0150】
上位装置10は、ステップS160による印刷画像データの転送処理を、所定量、例えば1ページ分の印刷画像データの転送が終了するまで行う。上位装置10は、ステップS108で、印刷画像データの転送が終了したと判定したら、ステップS109でデータ転送終了通知をプリンタコントローラ14に対して制御線12を介して送信し、ステップS110で、この通知に対するプリンタコントローラ14からの応答を待機する。以降は、上述した図9−1で説明した処理と同一であるので、ここでの説明を省略する。
【0151】
本例において、プリンタコントローラ14におけるデータ転送処理および印刷指示処理は、図9−2および図9−3を用いて説明した処理と何ら変わるところが無いので、ここでの説明は省略する。
【0152】
図11−2は、本例による、データ転送に係るデータ転送制御部30aにおける処理の別の例を示すフローチャートである。なお、図11−2において、上述した図9−4と共通する処理には同一の符号を付し、詳細な説明を省略する。
【0153】
ステップS150で、データ転送制御部30aは、プリンタコントローラ14からエンジンI/F制御線40aを介して送信されるデータ転送開始要求を待機する。データ転送制御部30aは、プリンタコントローラ14からのデータ転送開始要求を受信すると、処理をステップS161に移行させ、上位装置10からデータ線11aを介して転送される色Yの印刷画像データを受信する。そして、データ転送制御部30aは、当該印刷画像データに付加されるアドレス情報に従い、当該印刷画像データをメモリ31aに格納する。
【0154】
データ転送制御部30aは、ステップS154で、上位装置10からの色Yの印刷画像データの転送が終了したか否かを判定する。データ転送制御部30aは、例えば、上位装置10が転送する印刷画像データに付加したサイズ情報に基づき、印刷画像データの転送が終了したか否かを判定する。上位装置10が印刷画像データ転送の終了時に、その旨示す情報をデータ転送制御部30aに送信してもよい。若し、印刷画像データの転送が終了していないと判定した場合は、処理をステップS161に戻し、データの受信およびメモリ31aへの格納を継続する。
【0155】
一方、印刷画像データの転送が終了したと判定したら、処理をステップS155に移行させ、プリンタコントローラ14に対して、エンジンI/F制御線40aを介してデータ転送終了通知を送信する。そして、処理がステップS150に戻される。
【0156】
このように、データ転送制御部30a〜30dから上位装置10に対してデータ転送要求を送信せずに、上位装置10がプリンタコントローラ14からのデータ要求に応答した後、直接的に、データ転送制御部30a〜30dに対してデータ線11a〜11dを介して各色の印刷画像データを転送する方式を用いることも可能である。
【0157】
(第1のメモリ管理方法)
次に、各実施形態に適用可能な第1のメモリ管理方法について説明する。各実施形態では、各データ転送制御部30a〜30dがそれぞれ有するメモリ31a〜31dの管理を、プリンタコントローラ14側で一元的に行う。なお、以下では、印刷画像データがC、M、Y、K各色で同一サイズのビットマップデータによって、上位装置10からプリンタ装置13に供給されるものとして説明する。
【0158】
各実施形態では、図12に例示されるように、プリンタコントローラ14において、各メモリ31a〜31dそれぞれのメモリ空間と同一のメモリ空間を持つ仮想的なメモリ60(以下、仮想メモリ60と呼ぶ)を定義する。プリンタコントローラ14は、上位装置10から転送された印刷画像データを各メモリ31a〜31dに対して書き込む先頭位置(入力ポインタと呼ぶ)と、メモリ31a〜31dから印刷画像データを読み出す際の先頭位置(出力ポインタと呼ぶ)とを、それぞれ仮想メモリ60上で管理する。
【0159】
プリンタコントローラ14は、各メモリ31a〜31dに対して書き込みを行う際には、入力ポインタが示すアドレスを各データ転送制御部30a〜30dにそれぞれ渡す。各データ転送制御部30a〜30dは、プリンタコントローラ14から渡されたこの入力ポインタが示すアドレスを先頭アドレスとして、データの書き込みを開始する。同様に、プリンタコントローラ14は、各メモリ31a〜31dからデータの読み出しを行う際には、出力ポインタが示すアドレスを各データ転送制御部30a〜30dにそれぞれ渡す。各データ転送制御部30a〜30dは、プリンタコントローラ14から渡されたこの出力ポインタが示すアドレスを先頭アドレスとして、各メモリ31a〜31dからのデータの読み出しを開始する。
【0160】
プリンタコントローラ14は、入力ポインタを、1ページ分の書き込みが終了したら1ページ分アドレスを移動させて更新する。同様に、出力ポインタを、1ページ分の読み出しが終了したら1ページ分アドレスを移動させて更新する。各メモリ31a〜31dの書き込み開始位置および読み出し開始位置がプリンタコントローラ14側で一元的に管理されるため、ページ単位での各メモリ31a〜31dの記憶領域の確保および解放が容易となる。
【0161】
仮想メモリ60は、例えば、各メモリ31a〜31dのメモリ空間を示す情報であるアドレスマップとして構成される。図13は、仮想メモリ60のより具体的な例を示す。一例として、図13(a)に示されるように、実メモリである各メモリ31a〜31dは、それぞれ、利用可能な領域の先頭位置を示すTopアドレスが「0000h」、利用可能な領域の終端位置を示すBottomアドレスが「FFFFh」であるものとする。アドレスは、TopアドレスからBottomアドレスの方向に向けて、所定単位毎に増加される。なお、アドレス表記において「h」は、直前の文字列が16進表記の数値であることを示す。
【0162】
仮想メモリ60のTopアドレスおよびBottomアドレスは、それぞれ、各メモリ31a〜31dのTopアドレスおよびBottomアドレスと同一の、「0000h」および「FFFFh」に設定される。また、実メモリである各メモリ31a〜31dそれぞれの入力ポインタ(IN)および出力ポインタ(OUT)は、仮想メモリ60上の入力ポインタおよび出力ポインタと同じアドレスとして管理される。図13(a)の例では、出力ポインタがアドレス「3000h」、入力ポインタがアドレス「A000h」とされている。
【0163】
図13(b)は、仮想メモリ60の実体となるアドレスマップ60aの例を示す。アドレスマップ60aは、例えば、TopアドレスおよびBottomアドレスと、ある時点での出力ポインタおよび入力ポインタそれぞれのアドレスとによる、アドレスの集合体として構成される。また、図13(b)の例では、データを書き込む書き込みアドレス(write)が、アドレスマップ60aにさらに含められている。
【0164】
入力ポインタおよび出力ポインタのアドレスは、それぞれ、1ページ分の書き込みの終了時、ならびに、1ページ分の読み出しの終了時に、1ページ分のアドレスが増加されて更新される。また、書き込みアドレスは、各メモリ31a〜31dに対するデータの書き込み時に、データの書き込み単位毎に増加され、各メモリ31a〜31dに対するデータの書き込み位置が示される。これら入力ポインタ、出力ポインタおよび書き込みアドレスは、更新された結果、値がBottomアドレスを超える場合、Topアドレスから巡回的にアドレスが設定される。
【0165】
このアドレスマップ60aは、例えばプリンタコントローラ14内の制御部23において構築される。より具体的には、例えばCPU321によりRAM323上に各値を記憶させることで構築される。TopアドレスおよびBottomアドレスは、例えば予めROM324に記憶しておくことができる。また、プリンタ装置13の起動時の初期化処理時などに、制御部23が制御信号送受信部21を介して各データ転送制御部30a〜30dと通信を行い、各メモリ31a〜31dのTopアドレスおよびBottomアドレスを取得して、アドレスマップ60aを生成することもできる。これに限らず、プリンタコントローラ14が有するRAM323上に実際にメモリ空間を確保して、仮想メモリ60を構築してもよい。
【0166】
図14を用いて、仮想メモリ60上での入力ポインタおよび出力ポインタの制御について説明する。なお、図14では、図の上側から下側に向けてアドレスが増加するものとする。図14(a)に例示されるように、仮想メモリ60では、初期状態において、入力ポインタおよび出力ポインタが共にアドレスP0を示している。
【0167】
例えば図8のSEQ101において、上位装置10からプリンタコントローラ14に対して1ページ目のデータ転送が要求されると、各メモリ31a〜31dに対し、仮想メモリ60上の入力ポインタが示すアドレスP0から、当該1ページ目の印刷画像データが書き込まれる。1ページ目の全色の印刷画像データの転送が終了されたと判定されたら、プリンタコントローラ14は、仮想メモリ60の入力ポインタをアドレスP0から1ページ分移動させてアドレスP1として入力ポインタの更新を行い、次の1ページ分の印刷画像データを転送する転送先のアドレスを指定する。図8の例では、SEQ111dで1ページ目の色Kの印刷画像データの転送終了がプリンタコントローラ14に通知されると、プリンタコントローラ14は、1ページ目の全色の印刷画像データの転送が終了したと判定する。
【0168】
なお、ここでは、1ページ目の全色の印刷画像データの転送が終了した場合に、入力ポインタの更新を行うように説明したが、これはこの例に限定されない。例えば、1ページ目の各色の印刷画像データの転送終了毎に、それぞれ入力ポインタの更新を行ってもよい。
【0169】
2ページ目の印刷画像データは、仮想メモリ60上の入力ポインタが示すアドレスP1を転送先アドレスとして、各メモリ31a〜31dに対して書き込まれる。そして、例えば図8のSEQ115において、2ページ目の全色の印刷画像データの転送が終了し、且つ次のページのデータ転送が要求されている場合、プリンタコントローラ14は、入力ポインタをさらにアドレスP1から1ページ分移動させてアドレスP2として、入力ポインタの更新を行い、次の1ページ分の印刷画像データの転送先アドレスを指定する(図14(b)参照)。
【0170】
また、1ページ目の全色の印刷が終了すると、図14(c)に例示されるように、プリンタコントローラ14は、出力ポインタの位置をアドレスP0から1ページ分移動させてアドレスP1として、出力ポインタの更新を行い、次の印刷開始位置を2ページ目の先頭に指定する。図8の例では、SEQ120dにおいて、1ページ目の色Kの印刷が終了すると、プリンタコントローラ14は、当該1ページ目の全色の印刷が終了したと判定する。
【0171】
なお、ここでは、1ページ目の全色の印刷が終了した場合に、出力ポインタの更新を行うように説明したが、これはこの例に限定されない。例えば、1ページの各色の印刷画像データによる印刷が終了する毎に、それぞれ出力ポインタの更新を行ってもよい。
【0172】
1ページ分の全色の印刷が終了すると、出力ポインタの移動と共に、プリンタコントローラ14は、各データ転送制御部30a〜30dに対し、各メモリ31a〜31dの印刷が終了した印刷画像データが書き込まれている領域をゼロクリアするように指示を出す。この指示に従い、各データ転送制御部30a〜30dは、各メモリ31a〜31dの印刷が終了した領域(例えば1ページ目、仮想メモリ60上でアドレスP0〜P1として指定される領域)を値「0」で埋め尽くし、当該領域のゼロクリアを実行する。このように、各メモリ31a〜31dにおける印刷が終了した領域をゼロクリアすることで、後続する印刷における誤印刷を防ぐことができる。
【0173】
上述では、各メモリ31a〜31dに対してゼロクリアする領域を、印刷が終了した印刷画像データが書き込まれた領域としているが、これはこの例に限定されない。例えば、各メモリ31a〜31dに対してゼロクリアする領域を、排紙が終了した印刷画像データが書き込まれた領域とすれば、各データ転送制御部30a〜30dのメモリ31a〜31dそれぞれには、排紙される前のデータが保存されることになる。したがって、例えば印刷用紙201のジャムなどの発生などによりページの再印刷が必要になっても、上位装置10からの印刷画像データの再送信を不要とすることができる。
【0174】
また、上述では、各メモリ31a〜31dのゼロクリアを1ページ分の印刷が終了した時点としているが、これはこの例に限定されない。すなわち、各メモリ31a〜31dのゼロクリアは、これから印刷を行うページの印刷画像データが上位装置10から転送され各メモリ31a〜31dに書き込まれるまでの間に実行されればよい。この場合、出力ポインタは、1ページ分の印刷が終了した時点で予め移動させておいてもよいし、ゼロクリアを行う時点で移動させてもよい。また、ゼロクリアは、各メモリ31a〜31dで略同時に行ってもよいし、メモリ31a〜31dのうち印刷画像データが転送されるメモリから順次行ってもよい。
【0175】
次に2ページ目のデータ転送が終了すると、プリンタコントローラ14は、図14(d)に例示されるように、仮想メモリ60上の入力ポインタの位置をアドレスP2から1ページ分移動させてアドレスP3として、入力ポインタの更新を行い、3ページ目のデータの転送先アドレスを指定する。
【0176】
このように、各実施形態では、1ページ分のデータ転送の終了時に、仮想メモリ60上で印刷画像データの転送先アドレスを示す入力ポインタを移動させ、各色の1ページ分の印刷の終了時に、仮想メモリ60上で印刷画像データの読み出しの開始位置のアドレスを示す出力ポインタを移動させるようにしている。そして、メモリ31a〜31dに対する印刷画像データの書き込みおよび読み出しを、仮想メモリ60上の入力ポインタおよび出力ポインタが示すアドレスに従い行っている。そのため、プリンタコントローラ14は、各メモリ31a〜31dの状態を容易に把握することが可能となり、それに伴い、1ページの印刷において、全色の印刷が終了したか否かを容易に判定することができる。
【0177】
なお、1ページの画像データの書き込みおよび読み出しは、同じタイミング(速度)で発生するとは限らない。すなわち、高速で印刷を行おうとする場合、印刷画像データをバッファリングしておくことで連続印刷を保証しようとすることが多い。そのため、印刷画像データの各メモリ31a〜31dに対するアクセスは、読み出しの速度よりも書き込みの速度の方が速くできるように制御することが好ましい。この場合、各メモリ31a〜31dには、1ページ分以上の印刷画像データが格納されることになり、入力ポインタと出力ポインタとのアドレスの差分は、1ページ分以上のページサイズとなる。
【0178】
また、入力ポインタと出力ポインタとのアドレスの差分は、上位装置10における印刷画像データの展開速度(RIP処理の速度)に影響される。すなわち、印刷画像データの展開速度は、印刷画像データの内容に依存するので、入力ポインタの変化速度は、印刷画像データの内容に依存することになる。一方、出力ポインタの変化速度は、画像出力部50における印刷速度(各ヘッド56a〜56dへのデータの出力速度)に依存し、一定となる。なお、各メモリ31a〜31dに対する印刷画像データの書き込み速度が画像出力部50における印刷速度よりも遅い場合は、入力ポインタと出力ポインタとのアドレスの差分が0となる。
【0179】
(転送管理テーブル)
次に、各データ転送制御部30a〜30dにおいてページ単位でデータ処理を行う場合の転送管理テーブルについて説明する。この転送管理テーブルは、データ転送制御部30a〜30dによるデータ転送処理や、画像出力部50における印刷処理を管理するために用いられる。プリンタコントローラ14において、制御部23は、上位装置10から送信された印刷ジョブ、用紙情報、ならびに、図7を用いて説明した(3)印刷条件を示す情報などに基づきこの転送管理テーブルを作成して保持する。具体的には、CPU321が転送管理テーブルを作成して、RAM323に記憶する。
【0180】
また、制御部23は、各データ転送制御部30a〜30dに対してデータ転送の開始要求や印刷指示などを行う際に、転送管理テーブルの情報のうち必要な情報を、各データ転送制御部30a〜30dに保持させる。例えば、制御部23は、当該情報を制御信号送受信部21からエンジンI/F制御線40a〜40dを介して各データ転送制御部30a〜30dに対して送信し、これら各データ転送制御部30a〜30dが有するレジスタなどの記憶手段に書き込む。
【0181】
データ転送制御部30aを例にとって、より具体的な例を説明する。制御部23は、転送管理テーブルの情報のうち必要な情報を、制御信号送受信部21からエンジンI/F制御線40aを介してデータ転送制御部30aに送信し、データ転送制御部30aにおけるロジック回路32a(データ転送制御部コントローラ135a)が有するレジスタに書き込む。
【0182】
各データ転送制御部30a〜30dは、このレジスタに書き込まれた転送管理テーブルの情報に従い、上位装置10に対する印刷画像データの転送要求や、画像出力部50に対する印刷指示を出す。なお、転送管理テーブルには、ページを識別するページ識別子が含まれ、各データ転送制御部30a〜30dは、このページ識別子に基づき転送管理テーブルの情報を選択し、データ転送および印刷処理を実行する。
【0183】
図15は、各データ転送制御部30a〜30dにおいてページ単位でデータ処理を行う場合の転送管理テーブルの一例を示す。転送管理テーブルは、C、M、Y、K各色に共通の情報と、各色毎の情報とを含む。また、各色共通の情報および各色毎の情報は、それぞれ、上位装置10からの印刷画像データの転送のために用いるデータ転送用の情報と、画像出力部50に対する印刷指示に関する情報である印刷用の情報とを含む。なお、転送管理テーブルに含まれる各情報は、テーブル形式で管理されるのに限られず、他のデータ管理形式で管理されるようにしてもよい。
【0184】
先ず、各色共通の情報について説明する。各色共通の情報において、データ転送用および印刷用以外の情報として、ページ識別子PBIDおよび1ページ当たりのデータ数が含まれる。ページ識別子PBIDは、印刷ページを識別するためのページ識別子であり、当該転送管理テーブルは、このページ識別子PBIDにより識別される。1ページ当たりのデータ数は、ページ識別子PBIDで識別されるページに用いられる色数であり、例えばモノクロの場合は値が「1」、フルカラーの場合は値が「4」とされる。
【0185】
各色共通の情報におけるデータ転送用の情報は、データ転送元アドレス、データ格納先アドレスおよびデータ転送サイズを含む。データ転送元アドレスは、上位装置10においてページ識別子PBIDで示されるページの印刷画像データが格納されるアドレスを示す。データ転送元アドレスは、例えばラスタ(ライン)単位で印刷画像データを指定する。
【0186】
なお、各データ転送制御部30a〜30dにおいてページ単位でデータ処理を行う場合、各色の印刷画像データに対し、同一のアドレスが転送元アドレスとして用られることになる。一例として、上位装置10において、図2−2に示される記憶部122に対して、各色の印刷画像データをそれぞれ格納する。より具体的には、例えば、図2−1に示されるRAM103に対し、各データ線11a〜11dまたは各色で識別されるアドレスに、各色の印刷画像データをそれぞれ格納する。
【0187】
データ格納先アドレスは、上述した入力ポインタが示すアドレスである。したがって、入力ポインタが更新される度に、データ格納先アドレスも更新される。データ転送サイズは、データ転送制御部30a〜30dの要求により転送される印刷画像データのデータサイズを示し、例えばページ識別子PBIDで示されるページの印刷画像データのデータサイズである。
【0188】
データ転送サイズは、印刷画像データのサイズを所定単位(例えばバイト単位)で揃えるためのバウンダリ調整サイズを含む。1ページが印刷される際には、各メモリ31a〜31dに対して、このデータ転送サイズで示されるデータサイズの印刷画像データが格納されることになる。例えば、図7を用いて説明した、(3)印刷条件を示す情報中の「印刷データサイズ」にバウンダリ調整サイズを加えた値が、このデータ転送サイズになる。
【0189】
次に、各色共通の情報における印刷用の情報について説明する。印刷用の情報は、印刷を行う印刷画像データの情報として解像度および階調を含み、印刷対象に関する情報として用紙送り長、用紙幅、印刷面(表/裏)、印刷不可領域(上/下/左/右)および画像情報を含む。画像情報は、ビットマップ印刷位置Xおよびビットマップ印刷位置Y、ならびに、X方向有効サイズおよびY方向有効サイズを含む。
【0190】
印刷を行う印刷画像データの情報において、解像度は、主走査および副走査方向それぞれの印刷解像度を示す。また、階調は、1画素当たりのビット数を示す。
【0191】
印刷対象に関する情報について、図16(a)および図16(b)を用いて説明する。図16(a)は、印刷用紙201に対するページ領域202の一例を示す。図16(b)は、印刷画像データによる有効な印刷領域204の一例を示す。用紙送り長は、印刷用紙201の送り方向における1ページ分の長さをドット数で示し、用紙幅は、印刷用紙201の幅方向の長さをドット数で示す。印刷面は、当該ページが印刷用紙201の表面および裏面の何れに印刷されるかを示す。
【0192】
印刷不可領域上、下、左、右は、印刷を禁止する印刷不可領域203を、ページ領域202の上端(用紙送り方向の先頭)、下端(用紙送り方向の後端)、左端(用紙幅方向の用紙送り方向に向けて左端)、右端(用紙幅方向の用紙送り方向に向けて右端)それぞれからのドット数で示す。
【0193】
画像情報のうち、ビットマップ印刷位置XおよびYは、ページ領域202の左上(用紙送り方向の先頭、且つ、用紙幅方向の左端)を原点とした場合の、印刷開始位置のアドレス(座標)をドット数で示す。また、画像情報のうち、X方向有効サイズは、X方向(用紙幅方向)のバウンダリ調整領域205を含まないサイズをドット数で示す。バウンダリ調整領域205は、1ラスタデータのデータサイズが所定単位(例えばバイト単位)以下の端数を含む場合に、データサイズを所定単位に揃えるために設けられる。また、Y方向有効サイズがY方向(用紙送り方向)のサイズをドット数で示す。すなわち、X方向有効サイズは、1のラスタデータにより印刷される有効なサイズを示し、Y方向有効サイズは、X方向有効サイズで印刷されるラスタ数(ライン数)を示す。
【0194】
すなわち、ビットマップ印刷位置XおよびYを左上とし、X方向有効サイズおよびY方向有効サイズで示される領域が、印刷領域204となる。また、印刷領域204のうち、印刷不可領域203と重なる領域は、印刷されないことになる。
【0195】
次に、各色毎の情報について説明する。各色毎の情報において、データ転送用および印刷用以外の情報として、C、M、Y、K各色のうち何れの印刷色に関する情報が記述されるかを示すColor識別子が含まれる。各色毎の情報は、構成が共通するので、以下では、Color識別子が「シアン」の情報について説明する。転送管理テーブルには、各色毎の情報がC、M、Y、K各色についてそれぞれ含まれる。
【0196】
各色毎の情報におけるデータ転送用の情報は、データ転送要否を含む。データ転送要否は、当該印刷色の印刷画像データの転送の要否を示す。例えば、白紙すなわち印刷を行わない場合は、C、M、Y、Kの全色について、データ転送要否を「否」とする。また、Color(Cyan、Magenta、Yellow、Black)で指示される色以外は、データ転送要否を「否」に設定する。
【0197】
各色毎の情報における印刷用の情報は、印刷要否を含む。印刷要否は、当該印刷色の印刷画像データの印刷の要否を示す。例えば、白紙すなわち印刷を行わない場合は、C、M、Y、Kの全色について、印刷要否を「否」とする。また、Color識別子で指示される色以外は、印刷要否を「否」に設定する。
【0198】
(メモリ制御処理)
次に、各実施形態に適用可能なメモリ31a〜31dの制御処理について、図17〜図21を用いて説明する。図17は、プリンタコントローラ14が上位装置10からデータを受信した場合の一例の処理を示す。この図17のフローチャートによる処理は、例えば、図8のSEQ101やSEQ102で、プリンタコントローラ14において、制御部23により、上位装置10からのページの印刷ジョブの受信をきっかけに起動される。なお、図17のフローチャートにおける各処理は、プリンタコントローラ14内の制御部23の制御により実行される。
【0199】
プリンタコントローラ14は、上位装置10から印刷ジョブを受信した際に、受信した印刷ジョブおよび図8のSEQ100で上位装置10から受信した用紙情報、ならびに、図7を用いて説明した(3)印刷条件を示す情報などに基づき、上述した転送管理テーブルを作成する(ステップS200)。そして、図17のステップS201で、プリンタコントローラ14は、仮想メモリ60をチェックして各メモリ31a〜31dの空き容量を取得する。
【0200】
図18および図19を用いて、仮想メモリ60による各メモリ31a〜31dの空き容量のチェックについて説明する。なお、以下では、「仮想メモリ60による各メモリ31a〜31dの空き容量」を、「仮想メモリ60上での空き容量」、または、単に「空き容量」と記述する。上位装置10から転送される、1ページ分の印刷画像データのデータサイズは、図18に例示されるように、印刷領域204のデータサイズとバウンダリ調整領域205のデータサイズとを合計したものになる。
【0201】
一方、仮想メモリ60上での空き容量は、入力ポインタの示すアドレスPiと、出力ポインタの示すアドレスPoとの差分に基づき計算することができる。図19を用いて、仮想メモリ60上での空き容量を計算する方法について、概略的に説明する。なお、図19(a)〜図19(d)において、仮想メモリ60のアドレスは図の上側から下側に向けて増加し、印刷画像データが書き込まれる領域は、斜線を付して示している。
【0202】
ここで、仮想メモリ60上での入力ポインタと出力ポインタとの関係は、(A)入力ポインタのアドレスPiが出力ポインタのアドレスPoより大きい場合(図19(a))と、(B)出力ポインタのアドレスPoが入力ポインタのアドレスPiより大きい場合(図19(b))と、(C)入力ポインタのアドレスPiと出力ポインタのアドレスPoとが等しい場合(図19(c)および図19(d))との3通りがある。仮想メモリ60での空き容量DEMPは、入力ポインタのアドレスPiと出力ポインタのアドレスPoとの差分に基づき求めることができる。
【0203】
(A)の、入力ポインタのアドレスPiが出力ポインタのアドレスPoより大きい場合(Pi>Po)は、図19(a)に例示されるように、出力ポインタのアドレスPoから入力ポインタのアドレスPiの間の領域に印刷画像データが格納されていることが示される。この場合、空き容量DEMPは、1アドレス当たりのデータサイズをW、仮想メモリ60の容量をDFULLとすると、下記の式(1)で求められる。
DEMP=DFULL−(Pi−Po)×W …(1)
【0204】
(B)の、出力ポインタのアドレスPoが入力ポインタのアドレスPiより大きい場合(Po>Pi)は、図19(b)に例示されるように、出力ポインタのアドレスPoから仮想メモリ60のBottomアドレスの間の領域と、仮想メモリ60のTopアドレスから入力ポインタのアドレスPiの間の領域とに印刷画像データが格納されることが示される。この場合、空き容量DEMPは、下記の式(2)で求められる。なお、(B)の場合には、TopアドレスとBottomアドレスとが接続され、リングバッファ的に読み出しが制御される。
DEMP=(Po−Pi)×W …(2)
【0205】
(C)の、入力ポインタのアドレスPiと出力ポインタのアドレスPoとが等しい場合(Pi=Po)は、仮想メモリ60が空を示している場合(図19(c))と、仮想メモリ60にフルに印刷画像データが格納されていることを示している場合(図19(d))との2通りが考えられる。印刷が終了したか否か、ならびに、印刷が開始したか否かに基づき、仮想メモリ60が空およびフルの何れの状態を示しているかを判定できる。これに限らず、プリンタコントローラ14が仮想メモリ60上の入力ポインタおよび出力ポインタの動きを監視し、フル状態になった場合にフラグをセットすることも考えられる。
【0206】
説明を図17のフローチャートに戻し、ステップS201で仮想メモリ60での空き容量が算出されたら、次のステップS202で、プリンタコントローラ14は、転送管理テーブルのデータ転送サイズに基づき、算出された仮想メモリ60での空き容量に対して1ページ分の印刷画像データ(この場合は1色分の印刷画像データ)を格納可能か否かを判定する。若し、格納可能ではないと判定されたら、この図17のフローチャートの処理を抜ける。この場合、例えば、プリンタコントローラ14は、印刷終了の判定がなされたら印刷画像データの転送を要求することが考えられる。
【0207】
一方、プリンタコントローラ14は、ステップS202で1ページ分の印刷画像データが格納可能であると判定したら、処理をステップS203に移行させ、前ページの印刷画像データの転送が終了したか否かを判定する。若し、終了していないと判定されたら、この図17のフローチャートの処理を抜ける。この場合、転送中の印刷画像データの転送が終了したら、次ページの印刷画像データの転送を要求することが考えられる。一方、終了していると判定したら、処理がステップS204に移行される。
【0208】
ステップS204で、プリンタコントローラ14は、各データ転送制御部30a〜30dに対して、転送管理テーブルにおいてページ識別子PBIDで示される、各色の印刷画像データの転送を開始するように要求する。これは、例えば、ページ識別子PBIDが1ページ目を示していれば、図8のシーケンスにおけるSEQ110a〜110d、ならびに、図10−1のシーケンスにおけるSEQ208、SEQ212、SEQ216およびSEQ220の処理に対応する。そして、処理がステップS205に移行され、プリンタコントローラ14は、仮想メモリ60上の入力ポインタの位置を1ページ分進めて、入力ポインタの更新を行う。入力ポインタが更新されると、処理は図17のフローチャートを抜ける。
【0209】
なお、ステップS204で、プリンタコントローラ14から各データ転送制御部30a〜30dに対して印刷画像データの転送開始が要求されると、各データ転送制御部30a〜30dから上位装置10に対して、印刷画像データの転送が要求される。これは、例えば、ページ識別子PBIDが1ページ目を示している場合、図10−1のシーケンスにおいてSEQ209A、SEQ213A、SEQ217AおよびSEQ221Aの処理に対応する。
【0210】
このとき、各データ転送制御部30a〜30dのそれぞれは、例えば、図15の転送管理テーブルに示される、少なくともページ識別子PBIDとデータ転送元アドレスとをデータ転送開始要求に付加して、上位装置10に送信する。これらページ識別子PBIDおよびデータ転送元アドレスは、上述したように、図9−2のステップS126で、プリンタコントローラ14において転送管理テーブルから抽出され、各データ転送制御部30a〜30dに送信されたものである。
【0211】
上位装置10は、各データ転送制御部30a〜30dから送信されたこれらページ識別子PBIDとデータ転送元アドレスとに基づき、記憶部122から各色の印刷画像データを読み出して、データ線11a〜11dをそれぞれ介して、各データ転送制御部30a〜30dに転送する。ここで、ページ識別子PBIDおよびデータ転送元アドレスは、プリンタコントローラ14が印刷画像データの転送開始要求に対して付加して、各データ転送制御部30a〜30dに送信することが考えられる。
【0212】
図20は、転送終了時の一例の処理を示すフローチャートである。この図20のフローチャートによる処理は、例えば、図8のSEQ111a〜111dで、プリンタコントローラ14において、データ転送制御部30a〜30dからのデータ転送終了の通知の受信をきっかけに起動され、プリンタコントローラ14により実行される。
【0213】
先ず、ステップS210で、上位装置10からデータ転送制御部30a〜30dに対する、4色全て、すなわち、C、M、Y、K各色の1ページ分の印刷画像データの転送が終了したか否かが判定される。例えば、プリンタコントローラ14は、図8のSEQ111a〜SEQ111dで各データ転送制御部30a〜30dから印刷画像データの転送終了通知を受信する毎にフラグをセットし、4色分のフラグがセットされたら、各色の1ページ分の印刷画像データの転送が終了したと判定する。若し、終了していないと判定されたら、処理はステップS213に移行される。
【0214】
一方、各色の1ページ分の印刷画像データの転送が終了したと判定したら、プリンタコントローラ14は、処理をステップS211に移行させ、現在印刷中であるか否かを判定する。例えば、プリンタコントローラ14は、図8のSEQ114などで印刷指示を各データ転送制御部30a〜30dに対して出した後に、SEQ120a〜120dで対応する印刷終了通知を受信していなければ、印刷中であると判定する。若し、印刷中であると判定したら、処理はステップS213に移行される。一方、現在印刷中ではないと判定したら、プリンタコントローラ14は、処理をステップS212に移行させ、各データ転送制御部30a〜30dに対してページ識別子PBIDで示されるページの印刷指示を出す(例えば図8のSEQ114)。
【0215】
次のステップS213で、プリンタコントローラ14は、上位装置10からデータ転送制御部30a〜30dに対して転送される次の印刷画像データが有るか否かが判定される。例えば、ステップS212で印刷指示が出された印刷画像データが1ページ目の印刷画像データであって、ステップS213に処理が移行した時点で、図8のSEQ102により次の2ページ目の印刷ジョブが受信されていれば、次に転送される印刷画像データがあると判定される。
【0216】
若し、次に転送される印刷画像データが無いと判定されたら、この図20のフローチャートによる処理を抜ける。一方、次に転送される印刷画像データがあると判定したら、プリンタコントローラ14は、処理をステップS214に移行させる。ステップS214の処理は、図17に示したフローチャートにおけるステップS201以降の処理と同様であり、メモリの空き状態を確認後、空きがあれば、各データ転送制御部30a〜30dに対して、次の印刷画像データの転送を開始するように要求し、図20のフローチャートによる処理を抜ける。
【0217】
図21は、印刷終了時の一例の処理を示すフローチャートである。この図21のフローチャートによる処理は、例えば、図8のSEQ120a〜120dやSEQ122a〜122dで、プリンタコントローラ14において、データ転送制御部30a〜30dからの印刷終了の通知の受信をきっかけに起動され、プリンタコントローラ14により実行される。
【0218】
先ず、ステップS220で、1ページ分の印刷画像データについて、4色全ての印刷が終了したか否かが判定される。例えば、プリンタコントローラ14は、図8のSEQ120a〜120dで各データ転送制御部30a〜30dから印刷終了通知を受信する毎にフラグをセットし、4色分のフラグがセットされたら、各色の1ページ分の印刷画像データの印刷が終了したと判定する。これに限らず、例えば印刷が色C、色M、色Y、色Kの順に行われる場合、最後の色Kの印刷終了通知を受信することで、印刷終了を判定してもよい。若し、4色全ての印刷が終了していないと判定されたら、処理はステップS222に移行される。
【0219】
一方、各色の1ページ分の印刷画像データの印刷が終了したと判定されたら、処理はステップS221に移行される。ステップS221で、プリンタコントローラ14は、仮想メモリ60上で出力ポインタの位置を1ページ分進めて、出力ポインタの更新を行う。出力ポインタが更新されると、処理がステップS222に移行される。
【0220】
ステップS222で、プリンタコントローラ14は、次のページの印刷があるか否かを判定する。例えば、プリンタコントローラ14は、データ転送制御部30a〜30dからのデータ転送終了通知を受信しているが、印刷終了通知を受信していないページがある場合に、次ページの印刷があると判定することができる。若し、次ページの印刷がないと判定したら、この図21のフローチャートによる処理を抜ける。一方、次ページの印刷があると判定したら、プリンタコントローラ14は、処理をステップS223に移行させ、各データ転送制御部30a〜30dに対して当該次ページを示すページ識別子PBIDを指定して当該次ページの印刷を開始するように指示し、この図21のフローチャートによる処理を抜ける。
【0221】
(第2のメモリ管理方法)
次に、各データ転送制御部30a〜30dにおいてページ単位でデータ処理を行う場合の第2のメモリ管理方法の例について説明する。この別の例は、各データ転送制御部30a〜30dがそれぞれ有するメモリ31a〜31dの管理を、プリンタコントローラ14側で一元的に行う場合において、印刷画像データがC、M、Y、K各色で異なるサイズのビットマップデータによって、上位装置10からプリンタ装置13に転送される場合の例である。なお、以下において、上述した第1のメモリ管理方法の例と異なる部分を中心に説明する。
【0222】
図22を用いて、各色で異なるサイズのビットマップデータを転送する場合の例について説明する。例えば、図22(a)に例示されるように、1ページの印刷領域75内に色Cを用いて印刷される画像70と、色Mを用いて印刷される画像71と、色Yを用いて印刷される画像72と、色Kを用いて印刷される画像73とが配置されている場合について考える。なお、これら画像70〜73は、互いに大きさが異なるものとする。
【0223】
この場合、例えば色Cの印刷画像データとして、画像70を含む最小限の矩形領域の印刷画像データを上位装置10側で作成し、データ転送制御部30aに対して転送する。他の色M、Y、Kについても同様に、それぞれ画像71、72および73を含む最小限の矩形領域の印刷画像データを上位装置10側で作成し、データ転送制御部30b、30cおよび30dにそれぞれ転送する。これにより、各色毎に1ページ全域分の印刷画像データを転送する場合に比べて、データ転送量を削減することができる。
【0224】
さらにこの場合において、各色の画像70〜73をそれぞれ含む最小限の矩形領域の各印刷画像データの所定位置への配置を、メモリ31a〜31d上で行う第1の方法と、印刷の際に行う第2の方法とがある。なお、以下では、「各色の画像70〜73をそれぞれ含む最小限の矩形領域の各印刷画像データ」を、適宜、「各色の画像70〜73それぞれの印刷画像データ」などと記述する。
【0225】
第1の方法は、図22(b)に例示されるように、各画像70〜73それぞれの印刷画像データを、当該各画像70〜73の印刷位置に対応するメモリ31a〜31dのアドレスに書き込む。なお、図22(b)では、説明のため、メモリ31a〜31dにおける1ページ分の記憶領域のみを示している。この第1の方法によれば、メモリ31a〜31dは、1ページ分の領域が共通であるため、プリンタコントローラ14側では、メモリ31a〜31dに共通の1の仮想メモリ60を用意すればよい。
【0226】
この第1の方法において、転送管理テーブルに対して、各画像70〜73それぞれの印刷画像データをメモリ31a〜31dに対して書き込む際のアドレス情報を記述する。また、上述したように、メモリ31a〜31dは、各色の1ページ分の印刷が終了し出力ポインタが更新された後、印刷が終了した領域がゼロクリアされる。そのため、各データ転送制御部30a〜30dは、各画像70〜73それぞれの印刷画像データをメモリ31a〜31dの指定アドレスに対して上書きするだけでよい。
【0227】
第2の方法は、図22(c)に例示されるように、各画像70〜73それぞれの印刷画像データを、そのままメモリ31a〜31dにそれぞれ書き込む。そして、各メモリ31a〜31dから読み出された各画像70〜73それぞれの印刷画像データを、当該各画像70〜73それぞれの所定の配置位置に対して印刷する。この第2の方法によれば、メモリ31a〜31dのページ当たりの消費量を削減することができる。
【0228】
一方、この第2の方法によれば、各画像70〜73それぞれの印刷画像データのサイズが互いに異なる可能性があるので、プリンタコントローラ14側において、メモリ31a〜31dそれぞれについて仮想メモリ60を用意する必要がある。この場合、例えば、図13(b)に示されるアドレスマップ60aにおいて、入力ポインタ(IN)、出力ポインタ(OUT)および書き込みアドレス(write)の組を、(INa、OUTa、writea)、(INb、OUTb、writeb)、…のように、メモリ31a〜31dそれぞれについて設けることが考えられる。それと共に、転送管理テーブルに対して各色の転送情報および印刷情報をそれぞれ記述する必要がある。
【0229】
図22(c)を用いて、第2の方法についてより具体的に説明する。例えば色Cの画像70に関し、画像70を含む最小限の矩形領域の印刷画像データ70aが、印刷領域75の印刷アドレス70bで示される位置に印刷される。同様に、色M、YおよびKそれぞれの画像71、72および73に関し、画像71、72および73をそれぞれ含む最小限の矩形領域の印刷画像データ71a、72aおよび73aが、印刷領域75の印刷アドレス71b、72bおよび73bで示される位置に印刷される。したがって、転送管理テーブルの情報として、各印刷画像データ70a〜73aについて、それぞれデータサイズと共に座標70b〜73bを示す情報を保持している必要がある。
【0230】
図23は、第2のメモリ管理方法の例による転送管理テーブルの一例の構成を示す。なお、以下において、図15を用いて説明した、第1のメモリ管理方法による転送管理テーブルと共通する項目については、詳細な説明を省略する。
【0231】
この第2のメモリ管理方法の例による転送管理テーブルについても、上述の第1のメモリ管理方法による転送管理テーブルと同様に、各色に共通の情報と、各色毎の情報とを含む。ここで、上述した第1のメモリ管理方法の例における転送管理テーブルと、この第2のメモリ管理方法の例による転送管理テーブルとでは、各色に共通の情報および各色毎の情報で含まれる情報が異なる。
【0232】
この第2のメモリ管理方法の例による各色共通の情報について説明する。図23に例示されるように、第2のメモリ管理方法の例による転送管理テーブルでは、各色に共通の情報は、ページ識別子PBIDおよび1ページ当たりのデータ数を含むと共に、印刷用の情報として、解像度、階調、用紙送り長、用紙幅および印刷面を含む。また、各色で転送される印刷画像データのサイズが異なるため、各色に共通の情報は、データ転送用の情報を含まない。
【0233】
この第2のメモリ管理方法の例による各色毎の情報について説明する。各色毎の情報において、Color識別子が含まれると共に、データ転送用の情報と、印刷用の情報とが含まれる。この第2のメモリ管理方法の例に適用される各色毎の情報におけるデータ転送用の情報は、データ転送要否、転送済みフラグ、データ転送元アドレス、データ格納先アドレスおよびデータ転送サイズを含む。これらのうち、転送済みフラグは、プリンタコントローラ14が当該色の印刷画像データの転送終了通知を受信した場合に、ONとされる。プリンタコントローラ14は、この転送済みフラグがONとなった色について、対応する仮想メモリ60の入力ポインタを更新することができる。
【0234】
この第2のメモリ管理方法の例に適用される各色毎の情報における印刷用の情報は、印刷要否、印刷不可領域上、下、左および右、ならびに、画像情報を含む。また、画像情報は、ビットマップ印刷位置XおよびY、ならびに、Y方向有効サイズおよびX方向有効サイズを含む。
【0235】
この第2のメモリ管理方法の例において、上述した第1の方法による、各画像70〜73それぞれの印刷画像データのメモリ31a〜31d上への配置を行うためのアドレス指定や、第2の方法による、各画像70〜73それぞれの印刷画像データの印刷アドレスの指定は、例えば、転送管理テーブルに各色毎の印刷用の情報として記述される、ビットマップ印刷位置XおよびYにより行うことができる。
【0236】
第1の方法による各画像70〜73それぞれの印刷画像データのメモリ31a〜31d上への一例の配置方法について、図24を用いて説明する。ここでは、上述した図22における画像73を例にとって説明する。
【0237】
画像73は、色Kの画像であって、画像73を含む最小限の矩形領域の印刷画像データ73aは、データ転送制御部30d内のメモリ31dに書き込まれる。プリンタコントローラ14内の、各色共通の仮想メモリ60に設定される出力ポインタが示すアドレスにより、メモリ31dにおける1ページの領域の先頭が規定される。図24に模式的に示されるように、この1ページの領域の先頭のアドレスに基づき、画像73のビットマップ印刷位置XおよびYで示される、印刷上のアドレス73bに対応するメモリ31dのアドレス
を求める。そして、求められたこのアドレスを基点として、メモリ31dに対して印刷画像データ73aを書き込む。
【0238】
第2の方法による各画像70〜73それぞれの印刷画像データのメモリ31a〜31d上への一例の配置方法について、図25を用いて説明する。ここでは、上述した図22における画像73を例にとって説明する。図25(a)は、色Y用の仮想メモリ60の例を示し、図25(b)は、印刷用紙201における実際の印刷領域75の例を示す。
【0239】
プリンタコントローラ14において、色Y用の仮想メモリ60に対し、転送管理テーブルの、X方向有効サイズ(x1とする)およびY方向有効サイズ(y1とする)から求められるデータサイズsize(=x1×y1)を1ページのデータサイズと見做して、出力ポインタおよび入力ポインタの更新時のアドレス移動量が設定される。メモリ31dにおいて、出力ポインタから、次に印刷を行う画像73の印刷画像データ73aが書き込まれる(図25(b)参照)。
【0240】
なお、ここでは、説明のため、1ページ分の印刷画像データのみがメモリ31dに書き込まれるものとする。また、図25(a)では、出力ポインタのみを示し、入力ポインタを省略している。
【0241】
印刷時に、画像出力部50は、メモリ31dから、出力ポインタで示されるアドレスに基づき印刷画像データ73aを読み出して、画像73のビットマップ印刷位置XおよびYにより示される印刷アドレス73bを基点として、印刷画像データ73aによる印刷を行う。データサイズsize分の印刷画像データが読み出されると、出力ポインタがデータサイズsize分移動され、出力ポインタが更新される。
【0242】
この第2のメモリ管理方法の例において、仮想メモリ60における入力ポインタおよび出力ポインタの管理方法や、上位装置10からのデータ受信時の処理、印刷画像データの転送終了時の処理、印刷終了時の処理などは、上述した第1のメモリ管理方法の例と共通であるので、ここでの説明を省略する。
【0243】
なお、上述の第1のメモリ管理方法およびこの第2のメモリ管理方法では、印刷に用いる色が、色C、M、Y、Kの所謂プロセスカラーであるとして説明したが、これはこの例に限定されない。例えば、R(赤色)、G(緑色)およびB(青色)や、金色、銀色、白色などの所謂特色を印刷に用いる場合でも、第1のメモリ管理方法および第2のメモリ管理方法をそのまま適用することができる。また、色数も4色に限らず、5色以上、または、3色以下を用いた印刷にも、第1のメモリ管理方法および第2のメモリ管理方法は、そのまま適用できる。
【0244】
(第1の実施形態)
次に、第1の実施形態について説明する。第1の実施形態では、プリンタ装置13で単一色の画像データ(単色画像データと呼ぶ)を印刷する際に、上位装置10で生成される単色画像データを、プリンタ装置13が有するデータ転送制御部30a〜30dの数に応じて分割する。このとき、第1の実施形態では、単色画像データを、ラスタ(ライン)単位で、ラスタが連続するブロック単位で分割する。単色画像データが分割された各分割画像データは、上位装置10からデータ線11a〜11dをそれぞれ介して各データ転送制御部30a〜30dに転送され、各メモリ31a〜31dにそれぞれ格納される。
【0245】
各メモリ31a〜31dに格納された各分割画像データは、それぞれ所定のタイミングで各出力線33a〜33dを介して画像出力部50に供給され、分割画像データの、単色画像データ内における位置に応じた1ページ内の位置に印刷される。
【0246】
図26を用いて、第1の実施形態に係るデータ転送について、より具体的に説明する。図26(a)は、単色画像データ400の印刷イメージの例を示す。この単色画像データ400は、例えば上位装置10において、ホスト装置5から送信された印刷ジョブデータに基づくRIP処理により生成され、RAM103に書き出される。図26(a)に例示されるように、用紙が図の右側から左側に送られるものとする場合、単色画像データ400の図中の左下隅が座標の原点とされ、Y方向の座標が左側から右側に向けて増加し、X方向の座標が下側から上側に向けて増加する。X方向に沿った1ラインがラスタであり、印刷はこのラスタ単位で、Y座標を順次増加させて行われる。
【0247】
図26(a)の例では、単色画像データ400は、X方向有効サイズSZ−X#2およびY方向有効サイズSZ−Yの範囲が印刷領域とされる。図26(a)の例では、単色画像データ400は、バウンダリ調整領域401を含み、転送されるX方向のデータ転送サイズSZ−X#1に対して、上位装置10がRIP処理により生成した画像のX方向有効サイズSZ−X#2が小さい。
【0248】
第1の実施形態では、この単色画像データ400が、ラスタ単位で、プリンタ装置13が持つデータ転送制御部30a〜30dの数の4のブロックに分割され、ブロック毎の分割画像データ410a、410b、410cおよび410dとして各データ転送制御部30a〜30dに転送される。分割の際の各分割画像データ410a、410b、410cおよび410dのY方向の先頭アドレスを、それぞれアドレスas#1、as#2、as#3およびas#4とする。このアドレスas#1、as#2、as#3およびas#4が、各データ転送制御部30a、30b、30cおよび30dにおける単色画像データ400の転送元アドレスとなる。
【0249】
図26(b)〜図26(e)は、それぞれ、各データ転送制御部30a、30b、30cおよび30dに転送され各メモリ31a、31b、31cおよび31dに対して、各分割画像データ410a、410b、410cおよび410dが書き込まれた場合の、一例の様子を示す。例えば、プリンタ装置13において印刷方向に対して先頭に設けられるデータ転送制御部30aのメモリ31aに対して、図26(b)に例示されるように、アドレスad#1を書き込みの先頭アドレスとして分割画像データ410aが書き込まれる。
【0250】
同様に、図26(c)〜図26(e)に例示されるように、分割画像データ410b、410cおよび410dは、各メモリ31b、31cおよび31dに対して、それぞれアドレスad#2、ad#3およびad#4を書き込みの先頭アドレスとして書き込まれる。これらアドレスad#1、ad#2、ad#3およびad#4が、各データ転送制御部30a、30b、30cおよび30dにおける単色画像データ400の格納先アドレスとなる。
【0251】
ここで、単色画像データ400を、ラスタ単位でデータ転送制御部30a〜30dの数に対応するn個のブロックに分割する際に、単色画像データ400のラスタ数(Y方向有効サイズSZ−Y)が値nの整数倍にない場合、単色画像データ400において端数のラスタが生じることになる。例えば、Y方向有効サイズSZ−Yが243ラスタである場合、243÷4=60余り3となる。この3ラスタ分の剰余は、各分割画像データ410b、410cおよび410dに対して、1ラスタずつ順に割り当てる。
【0252】
一例として、Y方向有効サイズSZ−YをYラスタ、データ転送制御部30a〜30dの数を4とするとき、剰余の各値における各分割画像データ410a〜310dに対するラスタの割り当ては、下記のようになる。なお、「÷」は、除算の商、「%」は剰余を求める演算をそれぞれ表すものとする。
【0253】
(ア)Y%4=0の場合
各分割画像データ410a〜410dそれぞれは、(Y÷4)ラスタが割り当てられる。
【0254】
(イ)Y%4=3の場合
剰余の3ラスタが例えば分割画像データ410a〜410cにそれぞれ割り当てられる。すなわち、分割画像データ410a、410bおよび410cそれぞれは、{(Y÷4)+1}ラスタが割り当てられ、分割画像データ410dには(Y÷4)ラスタが割り当てられる。
【0255】
(ウ)Y%4=2の場合
剰余の2ラスタが例えば分割画像データ410aおよび410bにそれぞれ割り当てられる。すなわち、分割画像データ410aおよび410bそれぞれは、{(Y÷4)+1}ラスタが割り当てられ、分割画像データ410cおよび410dにはそれぞれ(Y÷4)ラスタが割り当てられる。
【0256】
(エ)Y%4=1の場合
剰余の1ラスタが例えば分割画像データ410aに割り当てられる。すなわち、分割画像データ410aは、{(Y÷4)+1}ラスタが割り当てられ、分割画像データ410b、410cおよび410dにはそれぞれ(Y÷4)ラスタが割り当てられる。
【0257】
(転送管理テーブル)
次に、第1の実施形態による転送管理テーブルについて説明する。図27は、第1の実施形態による転送管理テーブルの一例の構成を示す。なお、以下において、図15および図23を用いて説明した、第1のメモリ管理方法および第2のメモリ管理方法による転送管理テーブルと共通する項目については、詳細な説明を省略する。また、以下では、単色画像データが黒色(K)の画像データであって、データ転送制御部30a、30b、30cおよび30dで扱う各分割画像データ410a、410b、410cおよび410dの色を、それぞれ色K−1、色K−2、色K−3および色K−4として示す。
【0258】
図27に示される転送管理テーブルにおいて、各色に共通の情報は、図23を用いて説明した、第2のメモリ管理方法による転送管理テーブルと略共通である。図27の例において、第1の実施形態による方法を利用して2色(例えば黒色および赤色)の印刷に対応可能であるため、1ページ当たりのデータ数に関して、2色の場合のデータ数「2」が追加されている。
【0259】
第1の実施形態による各色毎の情報について説明する。各色毎の情報において、色K−1、色K−2、色K−3および色K−4のそれぞれについて、Color識別子の値がそれぞれ色K−1、色K−2、色K−3および色K−4を示す値とされる。以下では、Color識別子が「色K−1」の場合の各情報について説明する。
【0260】
各色毎の情報におけるデータ転送用の情報のうち、データ転送元アドレスは、例えば図26(a)を用いて説明したアドレスas#1が記述される。一方、データ格納先アドレスとしては、各メモリ31a〜31dに対する分割画像データ410a〜410dの書き込み方法に応じた情報が記述される。
【0261】
図28を用いて、各メモリ31a〜31dに対する分割画像データ410a〜410dの書き込み方法の例について説明する。図28(a)に示される単色画像データ400を分割した分割画像データ410a〜410dを各メモリ31a〜31dに書き込む場合、次の2通りの方法が考えられる。
【0262】
第1の書き込み方法は、各メモリ31a〜31dにおいて1ページ分の領域をそれぞれ確保し、各メモリ31a〜31dの当該領域に対して、印刷イメージに応じて各分割画像データ410a〜410dをそれぞれ書き込む方法である。この場合、図26(b)〜図26(e)を用いて説明した、メモリ31a〜31dにおける各アドレスad#1〜ad#4がそれぞれデータ格納先アドレスとなる。
【0263】
すなわち、図28(b)に例示されるように、例えばColor識別子「K−1」で示される分割画像データ410aは、メモリ31aのアドレスad#1から、次の分割画像データ410bの先頭の書き込み位置に対応するアドレスad#2の直前まで書き込まれる。すなわち、データ格納先アドレスには、アドレスad#1が記述される。
【0264】
また例えば、Color識別子「K−2」で示される分割画像データ410bは、メモリ31bのアドレスad#2から、次の分割画像データ410cの先頭の書き込み位置に対応するアドレスad#3の直前まで書き込まれる。すなわち、データ格納先アドレスには、アドレスad#2が書き込まれる。Color識別子「K−3」および「K−4」でそれぞれ示される分割画像データ410cおよび410dについても、同様である。
【0265】
第2の書き込み方法は、各メモリ31a〜31dにおいて、各分割画像データ410a〜31dのデータ転送サイズに対応するサイズの領域のみをそれぞれ確保して、当該各分割画像データ410a〜410dを書き込む方法である。この場合、印刷時のオフセットが、データ格納先アドレスと共に指定される。
【0266】
第2の書き込み方法について、図28(c)を用いて説明する。図28(c)において、領域420は、単色画像データ400の全体に対応する1ページの印刷領域を示す。一方、各分割画像データ410a〜410dは、各メモリ31a〜31dにおいて、例えば先頭のアドレスad#1からそれぞれ書き込まれる。そして、印刷時に、各メモリ31a〜31dに格納される各分割画像データ410a〜410dに対して、Y方向の原点に対する印刷位置のオフセットが、例えば値「0」、値「y#1」、値「y#2」および値「y#3」のように設定される。この各分割画像データ410a〜410dに対する印刷時のオフセット値を、データ格納先アドレスと共に記述することが考えられる。
【0267】
データ転送サイズは、上述の(ア)〜(エ)にてそれぞれ説明した、Y方向の有効サイズSZ−Yをデータ転送制御部30a〜30dの数で除した場合の商と、端数すなわち剰余分をラスタ毎にデータ転送制御部30a〜30dに所定に振り分けた値とを合計したサイズが記述される。
【0268】
各色毎の情報におけるデータ転送用の情報の、データ転送元アドレス、データ格納先アドレスおよびデータ転送サイズ以外の各情報は、上述した図23の転送管理テーブルの各情報と共通である。
【0269】
また、各色毎の情報における印刷用の情報のうち、ビットマップ印刷位置Xは、用紙左端の位置を示す値「0」が記述される。印刷用の情報のビットマップ印刷位置X以外の情報は、上述した図23の転送管理テーブルの各情報と共通である。
【0270】
上述した第1の書き込み方法と第2の書き込み方法とでは、メモリ31a〜31dに対するゼロクリアの方法が異なる。図29を用いて、第1の実施形態に係るメモリ31a〜31dのゼロクリアの方法について説明する。なお、図29(a)および図29(b)において、各メモリ31a〜31dを、メモリ31aで代表させて示している。また、サイズYは、Y方向における1ページ分のサイズを示す。
【0271】
図29(a)は、第1の書き込み方法に対応するゼロクリアの方法の例を示す。第1の書き込み方法では、例えばメモリ31aおいて1ページ分の領域を確保し、確保した領域に対して印刷イメージに応じた位置に、印刷画像データ410aを書き込むようにしている。そのため、図29(a)において斜線を付して示されるように、メモリ31aの1ページ分の領域の全域をクリア領域として、ゼロクリアを行う。
【0272】
図29(b)は、第2の書き込み方法に対応するゼロクリアの方法の例を示す。第2の書き込み方法では、例えばメモリ31aにおいて分割画像データ410aのデータ転送サイズに対応するサイズの領域が確保される。そのため、分割画像データ410aが書き込まれた領域のみをクリア領域としてゼロクリアを行う。4のデータ転送制御部30a〜30dを有するこの例では、分割画像データ410aのデータ転送サイズは、サイズY×1/4に端数を加えたものとなる。そのため、図29(b)において斜線を付して示されるように、メモリ31aの、分割画像データ410aが書き込まれた先頭アドレスから、サイズY×1/4に端数を加えたアドレスまでの領域が、クリア領域とされる。
【0273】
(第1の実施形態による印刷シーケンス)
次に、第1の実施形態による印刷処理について説明する。図30は、第1の実施形態に適用可能な印刷処理を概念的に示す一例のシーケンス図である。なお、図30において、上述した図8と共通する部分について同一の符号を付して、詳細な説明を省略する。また、以下において、上述した図8のシーケンスと異なる部分を中心として、説明を行う。
【0274】
図30に示す第1の実施形態における印刷処理のシーケンスは、基本的には、図8を用いて説明したシーケンスと同様である。図30に示すシーケンスは、図8のシーケンスに対して、SEQ110a〜110d以降におけるデータの指定が異なる。すなわち、図30では、図8における色Y、C、MおよびK各色についての指定が、単色画像データを分割した各分割画像データ(色K−1、色K−2、色K−3および色K−4)の指定となる。
【0275】
より具体的には、SEQ110a〜110dにおいて、プリンタコントローラ14は、データ転送制御部30a、30b、30cおよび30dのそれぞれに対して、色K−1、K−2、K−3およびK−4各色について1ページ目のデータ転送を開始するように要求する。データ転送制御部30aは、この要求に従い、データ線11aを介して上位装置10に対して、単色画像データ400における色K−1に対応する分割画像データ410aを要求し、この要求に応じて上位装置10から転送された印刷画像データである色K−1の1ページ目の分割画像データ410aを、メモリ31aに格納する。SEQ110b〜110dの色K−2〜色K−4の処理も、このSEQ110aの色K−1の処理と同様なので、説明を省略する。
【0276】
各データ転送制御部30a、30b、30cおよび30dは、上位装置10からの各色の1ページ目の印刷画像データの転送が終了したら、それぞれ、その旨をプリンタコントローラ14に通知する(SEQ111a、111b、111cおよび111d)。このとき、第1の実施形態では、各データ転送制御部30a、30b、30cおよび30dに対して1ページの1/4のサイズの画像データが転送される。そのため、例えば各データ転送制御部30a、30b、30cおよび30dのうち少なくとも1に、1ページ分の画像データが転送される場合に比べて、データの転送処理をより高速に行うことができる。
【0277】
プリンタコントローラ14は、当該通知にそれぞれ応答して、データ転送制御部30a、30b、30cおよび30dに対してそれぞれ2ページ目(ページ#2)のデータ転送を開始するように要求する(SEQ112a、112b、112cおよび112d)。この要求に応じて、各データ転送制御部30a、30b、30cおよび30dは、上位装置10に対して各色の2ページ目の印刷画像データをそれぞれ要求し、この要求に応じて上位装置10から転送された印刷画像データである、2ページ目の各分割画像データ410a〜410dを、それぞれメモリ31a、31b、31cおよび31dに格納する。
【0278】
SEQ113〜SEQ117の処理は、図8を用いて説明した処理と同様なので、説明を省略する。
【0279】
プリンタコントローラ14は、SEQ117での搬送制御部51からの印刷可能状態報告に応じて、各データ転送制御部30a、30b、30cおよび30dに対して印刷の先頭位置を指示する(SEQ118)。
【0280】
各データ転送制御部30a、30b、30cおよび30dは、印刷先頭指示に応じて印刷を開始する。この例では、印刷用紙201の搬送方向に沿って4のヘッドがヘッド56a、56b、56c、56dの順に並べられているものとする。
【0281】
各メモリ31a〜31dに対する分割画像データ410a〜410dの書き込み方法が、図28(b)を用いて説明した第1の書き込み方法の場合、印刷用紙201における1ページ目の印刷の先頭位置がヘッド56aによる印刷位置に達したら、先ずデータ転送制御部30aにおいて、メモリ31aからの1ページ目の印刷画像データの読み出しが開始される。データ転送制御部30aは、メモリ31a上に確保される1ページの領域の先頭(アドレスad#1)から、色K−1の分割画像データ410aによる印刷画像データを読み出す。読み出された印刷画像データは、画像出力部50に転送され、出力制御部55を介してヘッド56aに供給され、印刷用紙201に対する印刷が行われる(SEQ119a)。色K−1の1ページ目の印刷が終了すると、その旨がプリンタコントローラ14に対して通知される(SEQ120a)。
【0282】
以下同様にして、データ転送制御部30b〜30dによる分割画像データ410b〜310dの読み出しおよび印刷が順次行われる。
【0283】
一方、各メモリ31a〜31dに対する分割画像データ410a〜410dの書き込み方法が、図28(c)を用いて説明した第2の書き込み方法の場合、印刷用紙201における1ページ目の印刷の先頭位置がヘッド56aによる印刷位置に達したら、先ずデータ転送制御部30aにおいて、メモリ31aからの1ページ目の印刷画像データの読み出しが開始される。データ転送制御部30aは、メモリ31aのアドレスad#1から、色K−1の分割画像データ410aによる印刷画像データを読み出す。読み出された印刷画像データは、画像出力部50に転送され、出力制御部55を介してヘッド56aに供給され、印刷用紙201に対する印刷が行われる(SEQ119a)。色K−1の1ページ目の印刷が終了すると、その旨がプリンタコントローラ14に対して通知される(SEQ120a)。
【0284】
続けて、印刷用紙201における1ページ目の印刷の先頭位置がヘッド56bによる印刷位置に達した場合、そのタイミングから、データ転送制御部30bは、メモリ31bに格納される分割画像データ410bに対して設定されたオフセット「y#1」に対応する距離だけ、当該1ページ目の印刷の先頭位置が進んだタイミングで、メモリ31bからの1ページ目の印刷画像データである分割画像データ410bの読み出しを開始する。メモリ31bから読み出された分割画像データ410bは、画像出力部50に転送され、出力制御部55を介してヘッド56bに供給され、印刷用紙201に対する印刷が開始される(SEQ119b)。分割画像データ410bの印刷が終了したら、その旨がプリンタコントローラ14に対して通知される(SEQ120b)。
【0285】
データ転送制御部30cは、分割画像データ410cについても同様に、印刷用紙201における1ページ目の印刷の先頭位置がヘッド56cによる印刷位置に達したタイミングから、分割画像データ410cに対して設定されたオフセット「y#2」に対応する距離だけ、当該1ページ目の印刷の先頭位置が進んだタイミングで、メモリ31cからの1ページ目の印刷画像データである分割画像データ410cの読み出しを開始する。データ転送制御部30dについても、同様に、分割画像データ410dに対して設定されたオフセット「y#3」を考慮したタイミングでメモリ31dからの分割画像データ410dの読み出しを行う。
【0286】
(印刷処理の詳細)
次に、第1の実施形態に適用可能な印刷処理について、より具体的に説明する。図31−1は、データ転送に係る上位装置10における処理の例を示すフローチャートである。なお、図31−1の各処理において、上述した図9−1の各処理と共通する部分には同一の符号を付して、詳細な説明を省略する。ステップS100のジョブ開始送信処理から、ステップS103のnページ目の印刷プロセスの開始処理までは、図9−1と同一の処理となるので、説明を省略する。このステップS103から、ステップS304〜ステップS311を含むステップS112までの処理は、ページ単位の処理となる。
【0287】
ステップS103でnページ目の印刷プロセスの開始処理が行われると、処理はステップS304に移行される。以降、ステップS304〜ステップS310の処理は、各データ転送制御部30a〜30d毎の処理となる。以下、データ転送制御部30aに関する処理を中心に説明する。
【0288】
上位装置10は、ステップS304で、プリンタコントローラ14からの色K−1の印刷画像である分割画像データ410aの要求を待機する。上位装置10は、プリンタコントローラ14から制御線12を介して送信されたデータ要求を受信すると、ステップS305で、受け取ったデータ要求に対する応答をプリンタコントローラ14に返す。そして、次のステップS306で、データ転送制御部30aからデータ線11aを介して送信されるデータ転送要求を待機する。
【0289】
上位装置10は、データ転送制御部30aからのデータ転送要求をデータ線11aを介して受信すると、ステップS307で、データ転送制御部30aに対する色K−1の印刷画像データである分割画像データ410aの転送を開始する。分割画像データ410aは、データ線11aを介してデータ転送制御部30aに転送される。このとき、上位装置10は、転送する分割画像データ410aに対して、当該分割画像データ410aのサイズを示す情報を付加する。
【0290】
上位装置10は、ステップS308で、1ページ分の分割画像データ410aのデータ転送が終了するのを待機する。図2−2を参照し、上位装置10は、例えば、制御部124が記憶部122およびインターフェイス123を監視し、各分割画像データ410a〜410dの1ページ分の転送が行われたか否かをそれぞれ判定する。1ページ分の分割画像データ410aのデータ転送が終了したと判定された場合、処理はステップS309に移行され、1ページ分のデータ転送が終了したことを示すデータ転送終了通知が制御線12を介してプリンタコントローラ14に対して送信される。そして、上位装置10は、次のステップS310で、プリンタコントローラ14からの分割画像データ410aについてのデータ受信完了通知を待機する。
【0291】
上位装置10は、ステップS311で、分割画像データ410a〜410dの全てについて、データ受信完了通知を受信したか否かを判定する。若し、受信していないと判定した場合、処理をステップS304に戻し、次の色について処理を実行する。
【0292】
なお、図31−1では、ステップS304〜ステップS310の処理が分割画像データ410a〜410dについて順次実行されるように説明したが、これはこの例に限定されない。例えば、ステップS304〜ステップS310の処理を、分割画像データ410a〜410dについて並列的に実行することも可能である。この場合、ステップS311は、分割画像データ410a〜410dそれぞれの処理におけるステップS310でのデータ受信完了通知を待機することになる。
【0293】
上位装置10は、ステップS311で、分割画像データ410a〜410dについてデータ受信完了通知を受信したと判定したら、処理をステップS112に移行させ、次のページの印刷処理を行うか否かを判定する。印刷を行うページ数は、ホスト装置5から受信した印刷ジョブデータから取得することができる。若し、次ページの印刷処理があると判定された場合、ページ番号n=n+1とされて処理がステップS103に戻される。
【0294】
一方、印刷ジョブデータに示される全ページ分のデータ転送が終了したと判定された場合、処理がステップS113に移行され、上位装置10は、プリンタコントローラ14からの全ページの排紙報告が待機される。上位装置10は、プリンタコントローラ14からの全ページの排紙報告を受信した場合、処理をステップS114に移行させ、プリンタコントローラ14に対して、制御線12を介して全ての印刷ジョブが終了した旨を示すジョブ終了通知を送信する。
【0295】
図31−2は、データ転送に係るプリンタコントローラ14における処理の例を示すフローチャートである。なお、図31−2の各処理において、上述した図9−2の各処理と共通する部分には同一の符号を付して、詳細な説明を省略する。ステップS120のジョブ開始の待機から、ステップS123のnページ目の印刷プロセスの開始処理までは、図9−2と同一の処理となるので、説明を省略する。このステップS123からステップS329までの処理は、ページ単位の処理となる。
【0296】
ステップS123でnページ目の印刷プロセスの開始処理が行われると、処理はステップS324に移行される。以降、ステップS324〜ステップS328の処理は、各データ転送制御部30a〜30d毎の処理となる。以下、データ転送制御部30aに関する処理を中心に説明する。
【0297】
ステップS324で、プリンタコントローラ14は、上位装置10に対して、制御線12を介して印刷画像データを要求し、次のステップS325で、この要求に対する上位装置10からの応答を待機する。プリンタコントローラ14は、上位装置10からの応答を受信したら、次のステップS326で、データ転送制御部30aに対して、エンジンI/F制御線40aを介してデータ転送の開始を要求する。
【0298】
このとき、プリンタコントローラ14は、図27を用いて説明した転送管理テーブルの色K−1の情報から、少なくとも、印刷を行うページ(nページ目)を示すページ識別子PBIDと、印刷画像データである分割画像データ410aの転送元のアドレスを示す転送元アドレスと、分割画像データ410aの格納先のアドレスを示す格納先アドレスと、データ転送サイズとを抽出する。そして、プリンタコントローラ14は、抽出されたこれらの情報を、データ転送の開始を要求するデータ転送開始要求に付加して、例えばデータ転送制御部30aに送信する。
【0299】
次のステップS327で、プリンタコントローラ14は、上位装置10からのデータ転送終了通知と、データ転送制御部30aからのデータ転送終了通知とを待機する。プリンタコントローラ14は、これら上位装置10およびデータ転送制御部30aからそれぞれ制御線12およびエンジンI/F制御線40aを介してデータ転送終了通知を受信したら、処理をステップS328に移行させ、分割画像データ410aについてのデータ受信完了通知を、上位装置10に対して制御線12を介して送信する。
【0300】
プリンタコントローラ14は、ステップS329で、分割画像データ410a、410b、410cおよび410dのデータ転送が終了したか否かを判定する。若し、終了していないと判定した場合、処理をステップS324に戻し、次の分割画像データについて処理を実行する。一方、プリンタコントローラ14は、ステップS329で1ページ分のデータ転送が終了したと判定した場合、ページ番号n=n+1として処理をステップS123に戻す。
【0301】
なお、図31−2では、ステップS324〜ステップS328の処理が各分割画像データ410a〜410dについて順次実行されるように説明したが、これはこの例に限定されない。例えば、ステップS324〜ステップS328の処理を、各分割画像データ410a〜310dについて並列的に実行することも可能である。この場合、ステップS329は、各分割画像データ410a〜310dの処理におけるステップS328でのデータ受信完了通知を待機することになる。
【0302】
なお、プリンタコントローラ14は、データ転送制御部30a〜30dに対して、各エンジンI/F制御線40a〜40dを介して印刷指示を送信する。この印刷指示により、各データ転送制御部30a〜30dにおいてメモリ31a〜31dから印刷画像データである各分割画像データ410a〜410dが読み出され、印刷用紙201に対する印刷画像データの印刷が実行される。
【0303】
上述した図9−3のフローチャートを参照して、第1の実施形態に係る、プリンタコントローラ14が印刷指示を行う際の一例の処理について説明する。プリンタコントローラ14は、図9−3のフローチャートの実行に先立って、搬送制御部51に対して印刷準備指示を送信する。
【0304】
プリンタコントローラ14は、ステップS140で、上位装置10からジョブ終了通知が送信されていないと判定した場合、処理をステップS141に移行させ、各分割画像データ410a〜410dについて少なくとも1ページ分の印刷画像データの転送終了を待機する。プリンタコントローラ14は、1ページ分の印刷画像データの転送が終了したと判定したら、処理をステップS142に移行させ、搬送制御部51からの印刷準備完了を示す応答の受信を待機し、当該応答を受信すると、各データ転送制御部30a〜30dに対して、nページ目の印刷を指示する印刷指示を送信する(ステップS143)。
【0305】
上述した図9−4のフローチャートを参照して、第1の実施形態に係る、データ転送の際のデータ転送処理部30a〜30dにおける処理について説明する。ここでは、説明のため、転送を行うデータを分割画像データ410aとし、データ転送制御部30aでの処理について説明する。
【0306】
データ転送制御部30aは、ステップS150で、プリンタコントローラ14からデータ転送開始要求を受信すると、次のステップS151で、上位装置10に対して、分割画像データ410aの転送を要求するデータ転送要求をデータ線11aを介して送信する。このデータ転送要求に応じて上位装置10からデータ線11aを介して転送される、分割画像データ410aを、データ転送制御部30aが受信する(ステップS152)。データ転送制御部30aは、受信した分割画像データ410aをメモリ31aの所定の領域に格納する(ステップS153)。
【0307】
データ転送制御部30aは、ステップS154で、上位装置10からの分割画像データ410aの転送が終了したか否かを判定する。データ転送制御部30aは、例えば、転送される分割画像データ410aに付加されるサイズ情報に基づき、印刷画像データの転送が終了したか否かを判定することができる。若し、分割画像データ410aの転送が終了していないと判定した場合は、処理をステップS152に戻し、データの受信およびメモリ31aへの格納を継続する。一方、印刷画像データの転送が終了したと判定した場合は、処理をステップS155に移行させ、プリンタコントローラ14に対してデータ転送終了通知を送信する。そして、処理がステップS150に戻される。
【0308】
上述では、各分割画像データ410a〜410dの転送処理に際して、上位装置10は、各分割画像データ410a〜410dのデータ転送制御部30a〜30dから各データ線11a〜11dを介して送信されたデータ転送要求に応じて、各分割画像データ410a〜410dを転送していた。これはこの例に限定されず、この第1の実施形態においても、上述のデータ転送処理の別の例で説明したように、データ転送制御部30a〜30dから上位装置10に対してデータ転送要求を送信せず、上位装置10は、プリンタコントローラ14からのデータ要求に応答した後、直接的に、データ転送制御部30a〜30dに対してデータ線11a〜11dを介して各分割画像データ410a〜410dを転送するようにできる。
【0309】
この場合の処理は、上述した図11−1および図11−2を用いて説明した処理に対して、各色の印刷画像データに関する記述を各分割画像データに関する記述に置き換えたものと略同様となるため、ここでの説明を省略する。
【0310】
図32−1〜図32−3は、上述した図31−1および図31−2に示した各フローチャートと、図9−3および図9−4を参照して説明した処理に従って実行される、第1の実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。なお、図32−1〜図32−3において、上述した図10−1〜図10−3と共通する部分には同一の符号を付して、詳細な説明を省略する。
【0311】
図32−1〜図32−3のシーケンス図における各処理は、概ね、図10−1〜図10−3の各処理における色Y、M、C、K各色に関する処理を、各分割画像データ410a〜410dに関する処理に置き換えたものとなっている。SEQ300〜SEQ305の処理は、図10−1のSEQ200〜SEQ205の処理と同一であるため、ここでの説明を省略する。
【0312】
プリンタコントローラ14は、印刷画像データである分割画像データ410aを要求する印刷プロセス要求の制御情報を、上位装置10に対して制御線12を介して送信する(SEQ306)。この制御情報は、プロセスを指定するプロセス識別番号processID=1と、色K−1を指定する色情報K−1とが含まれる。色情報K−1の代わりに、分割画像データ410aの読み出しに必要な情報、例えば転送元アドレスを上位装置10に対して送信してもよい。
【0313】
上位装置10は、この制御情報に対する応答として、画像識別番号imageID=1を含む制御情報をプリンタコントローラ14に返す(SEQ307)。プリンタコントローラ14は、この制御情報を受信すると、色K−1に対応するデータ転送制御部30aに対して分割画像データ410aの転送を開始するよう要求する(SEQ308)。このとき、プリンタコントローラ14は、例えば、転送の開始を要求する分割画像データ410aのデータサイズを、この要求と共にデータ転送制御部30aに送信する。
【0314】
データ転送制御部30aは、この要求を受けて、データ線11aを介して上位装置10に対して色K−1に対応する分割画像データ410aを要求する(SEQ309A)。なお、第1の実施形態においては、単色画像データ400の印刷を行うため、単一のプレーンのみが存在するので、特にプレーンの指定を行わない。勿論、例えばプレーン#1などとしてプレーンの指定を行なってもよい。SEQ309Aの要求に応じて、上位装置10からデータ転送制御部30aに対して、分割画像データ410aが転送される(SEQ309)。転送された分割画像データ410aは、データ転送制御部30aのメモリ31aにおける、1ページ目の印刷画像データのために割り当てられた領域に格納される。
【0315】
以下、他の分割画像データ410b、410cおよび410dについても、上述のSEQ306、SEQ307、SEQ308、SEQ309AおよびSEQ309と同様の処理が繰り返され、各分割画像データ410b、410cおよび410dが上位装置10から各データ線11b、11cおよび11dを介してデータ転送制御部30b、30cおよび30dにそれぞれ転送され、メモリ31b、31cおよび31dそれぞれの、1ページ目の印刷画像データのために割り当てられた領域に格納される(SEQ310〜SEQ321)。
【0316】
また、上位装置10は、各分割画像データ410a〜410dの印刷画像データの転送が終了する毎に、データ転送完了の制御情報をプリンタコントローラ14に対して送信する。プリンタコントローラ14は、この制御情報に応じて、各分割画像データ410a〜410dの受信完了の制御情報を上位装置10に送信する。
【0317】
例えば、上位装置10は、分割画像データ410aの転送が終了すると、画像識別番号imageID=1と色情報K−1とを含むデータ転送完了の制御情報をプリンタコントローラ14に対して送信する(SEQ322)。一方、データ転送制御部30aは、上位装置10からの分割画像データ410aの転送が終了すると、その旨示す通知をプリンタコントローラ14に対して送信する(SEQ323)。プリンタコントローラ14は、この通知に応じて、画像識別番号imageID=1と、色情報K−1とを含むデータ受信完了の制御情報を上位装置10に対して送信する(SEQ324)。
【0318】
以下、他の各分割画像データ410b、410cおよび410dについても、各分割画像データ410b、410cおよび410dの転送終了に伴い上述のSEQ322〜SEQ324と同様の処理が繰り返され、上位装置10に対してデータ受信完了の制御情報が送信される(SEQ325〜SEQ333)。
【0319】
第1の実施形態によれば、上位装置10から各データ転送制御部30a〜30dに転送される印刷画像データが、1ページ分の単色画像データ400をデータ転送制御部30a〜30dの数のブロックに分割した分割画像データ410a〜410dとされている。そのため、上位装置10から各データ転送制御部30a〜30dに対してそれぞれ1ページ分の画像データを転送する場合に比べて、SEQ306〜SEQ333までの処理を高速に実行することができる。
【0320】
プリンタコントローラ14は、SEQ333で、1ページ目の最後の印刷画像データ(例えば分割画像データ410d)についてのデータ受信完了の制御情報を上位装置10に送信した後に、搬送制御部51に対して印刷の準備を指示する。搬送制御部51は、この指示に従い印刷用紙201の印刷位置への搬送を開始する。
【0321】
説明は図32−2に移り、1ページ目の各分割画像データ410a〜410dの転送が完了すると、上位装置10は、2ページ目の印刷プロセス開始の制御情報をプリンタコン
トローラ14に送信する(SEQ334)。この制御情報は、当該2ページ目のプロセスを識別するプロセス識別番号processID=2と、2ページ目を構成する画像を示す画像識別番号imageID=2とを含む。プリンタコントローラ14は、この印刷プロセス開始に対する応答である印刷プロセス開始の制御情報を上位装置10に返す(SEQ335)。上位装置10は、この応答を受け取ると、SEQ336で、ジョブ識別子jobID=1が指定されたプロセス開始要求完了の制御情報を、プリンタコントローラ14に対して送信する。
【0322】
次に、上述したSEQ306〜SEQ321と同様にして、プリンタコントローラ14は、上位装置10に対して印刷プロセス要求の制御情報を送信し、印刷画像データを要求する。この印刷プロセス要求は、各分割画像データ410a〜410dについて、それぞれが格納されるデータ転送制御部30a〜30dに対応するヘッド56a〜56dの並び順に従って、順次行われる。
【0323】
例えば、プリンタコントローラ14は、分割画像データ410aを要求する印刷プロセス要求の制御情報を、上位装置10に対して送信する(SEQ337)。この制御情報は、プロセスを指定するプロセス識別番号processID=2と、色K−1を指定する色情報K−1とが含まれる。上位装置10は、この制御情報に対する応答として、画像識別番号imageID=2を含む制御情報をプリンタコントローラ14に返す(SEQ338)。プリンタコントローラ14は、この制御情報を受信すると、色K−1に対応するデータ転送制御部30aに対して分割画像データ410aの転送を開始するよう要求する(SEQ339)。
【0324】
データ転送制御部30aは、この要求を受けて、データ線11aを介して上位装置10に対して分割画像データ410aを要求し(SEQ340A)、この要求に応じて、上位装置10からデータ転送制御部30aに対して、分割画像データ410aが転送される(SEQ340)。転送された分割画像データ410aは、データ転送制御部30aのメモリ31aにおける2ページ目の印刷画像データのために割り当てられた領域に格納される。
【0325】
以下、他の各分割画像データ410b〜410dについても、上述のSEQ337、SEQ338、SEQ339、SEQ340AおよびSEQ340と同様の処理が繰り返され、各分割画像データ410b〜410dが上位装置10から各データ線11b、11cおよび11dを介してデータ転送制御部30b、30cおよび30dにそれぞれ転送され、メモリ31b、31cおよび31dそれぞれの2ページ目の印刷画像データのために割り当てられた領域に格納される(SEQ344〜SEQ351、SEQ355〜SEQ358)。
【0326】
また、上述と同様に、上位装置10は、各分割画像データ410a〜410dの転送終了毎に、データ転送完了の制御情報をプリンタコントローラ14に対して送信する。プリンタコントローラ14は、この制御情報に応答して、印刷画像データの受信完了の制御情報を上位装置10に送信する。
【0327】
図32−2の例では、上位装置10は、SEQ340で転送された分割画像データ410aの転送が終了されると、データ転送完了の制御情報をプリンタコントローラ14に対して送信する(SEQ352)。データ転送制御部30aは、上位装置10からデータ線11aを介しての分割画像データ410aの転送が終了すると、その旨示す通知をプリンタコントローラ14に対して送信する(SEQ353)。プリンタコントローラ14は、この通知に応答して、画像識別番号imageID=2と、色情報K−1とを含むデータ受信完了の制御情報を上位装置10に対して送信する(SEQ354)。
【0328】
以下、他の各分割画像データ410b〜410dについても、各分割画像データ410b〜310dの転送終了に伴い上述のSEQ352〜SEQ354と同様の処理が行われ、上位装置10に対してデータ受信完了の制御情報が送信される(SEQ359〜SEQ367)。
【0329】
なお、図32−2の例では、図10−2の場合と同様に、上述したSEQ334の直前における搬送制御部51に対する印刷準備の指示に対する、搬送制御部51からの印刷準備が完了した旨の応答が、SEQ340の直後に、搬送制御部51からプリンタコントローラ14に対して通知されている。プリンタコントローラ14は、この通知を受信すると、それぞれプロセス識別番号processID=1およびプロセス識別番号processID=2とした、印刷プロセス開始の2の制御情報を、上位装置10に対して送信する(SEQ341、SEQ343)。これにより、上位装置10に対して、1ページ目および2ページ目の印刷が可能となった旨が通知される。
【0330】
また、SEQ341の時点で、1ページ目の各分割画像データ410a〜410dのデータ転送制御部30a、30b、30cおよび30dへの転送が完了している。そのため、プリンタコントローラ14は、各データ転送制御部30a、30b、30cおよび30dに対して、1ページ目の印刷を行う印刷指示をそれぞれ通知する(SEQ342)。この印刷指示は、例えば各データ転送制御部30a、30b、30cおよび30dにおいて、例えばメモリ31a、31b、31cおよび31dを用いてそれぞれ保持される。この印刷指示に従った実際の印刷動作は、後続するページの印刷動作などとタイミングを合わせて実行される。
【0331】
さらに、図32−2の例では、プリンタコントローラ14において、SEQ341およびSEQ343の印刷プロセス開始の制御情報の送信により、2番目に転送が開始される分割画像データ410bの上位装置10に対する要求が遅延している(SEQ344参照)。そして、この遅延に伴い、最初に転送が開始された分割画像データ410aの転送が、分割画像データ410dの転送が開始される前に完了してしまっている(SEQ353参照)。さらにまた、分割画像データ410aの転送完了の通知処理(SEQ353)の後に、分割画像データ410dの転送が開始されている(SEQ357、SEQ358)。
【0332】
SEQ367で、プリンタコントローラ14が上位装置10に対して分割画像データ410dの転送が完了したことを通知すると、プリンタコントローラ14は、各データ転送制御部30a、30b、30cおよび30dに対して2ページ目の印刷を行う印刷指示をそれぞれ通知する(SEQ368)。
【0333】
説明は図32−3に移り、プリンタエンジン15においてSEQ342の印刷指示に従い1ページ目の印刷が実行され、印刷用紙201の給紙が開始される。プリンタエンジン15は、この1ページ目の給紙開始をプリンタコントローラ14に対して通知する(SEQ369)。プリンタコントローラ14は、この通知を受信すると、上位装置10に対して、プロセス識別番号processID=1として、1ページ目の給紙が開始されたことを示す制御情報を送信する(SEQ370)。それと共に、プリンタコントローラ14は、データ転送制御部30a、30b、30cおよび30dに対して、互いに同期して印刷を実行するよう、印刷指示を送信する。この印刷指示に従い、データ転送制御部30a、30b、30cおよび30dは、各メモリ31a、31b、31cおよび31dから各分割画像データ410a〜410dをそれぞれ読み出し、印刷用紙201に対する1ページ目の、各分割画像データ410a〜410dに対応する所定位置への印刷を順次行う。
【0334】
同様に、プリンタエンジン15は、1ページ目の印刷が完了し、2ページ目の印刷に移行すると、2ページ目の給紙開始をプリンタコントローラ14に通知する(SEQ371)。プリンタコントローラ14は、この通知を受信すると、上位装置10に対して、プロセス識別番号processID=2として、2ページ目の給紙が開始されたことを示す制御情報を送信する(SEQ372)と共に、データ転送制御部30a、30b、30cおよび30dに対して、互いに同期して印刷を実行するよう、印刷指示を送信する。この印刷指示に従い、データ転送制御部30a、30b、30cおよび30dは、各メモリ31a、31b、31cおよび31dから各分割画像データ410a〜410dをそれぞれ読み出し、印刷用紙201に対する2ページ目の印刷を順次行う。
【0335】
以降、SEQ373〜SEQ378の処理は、図10−3のSEQ273〜SEQ278の処理と同一であるため、ここでの説明を省略する。
【0336】
(第2の実施形態)
次に、第2の実施形態について説明する。上述の第1の実施形態では、1ページ分の単色画像データをデータ転送制御部30a〜30dに応じた数のブロックに分割して、各データ転送制御部30a〜30dに転送した。これに対して、第2の実施形態では、1ページ分の単色画像データをラスタ単位で順次、各データ転送制御部30a〜30dに転送する。
【0337】
第2の実施形態について、図33〜図35を用いて説明する。図33は、第2の実施形態に適用可能な転送管理テーブルの一例を示す。なお、以下において、上述の図23を用いて説明した転送管理テーブルと共通する部分については、詳細な説明を省略し、図23と異なる部分を中心に説明する。また、以下の例では、プリンタ装置13が4のデータ転送制御部30a〜30dを有するものとし、それぞれ黒色(K)の画像データである色K−1、色K−2、色K−3および色K−4を扱うものとする。
【0338】
図33に例示されるように、第2の実施形態による転送管理テーブルでは、各色に共通の情報は、ページ識別子PBIDおよび1ページ当たりのデータ数を含むと共に、印刷用の情報として、印刷開始アドレス、解像度、階調、用紙送り長、用紙幅および印刷面を含む。また、第2の実施形態では、各色に共通の情報としてデータ転送用の情報として、領域クリアアドレス510を含む。また、印刷用の情報における印刷開始アドレスは、領域クリアアドレス510と同一の値が用いられる。
【0339】
第2の実施形態による転送管理テーブルにおける各色毎の情報について説明する。各色毎の情報において、Color識別子が含まれると共に、データ転送用の情報と、印刷用の情報とが含まれる。Color識別子は、例えば色K−1、色K−2、色K−3および色K−4を示す値であって、以下では、Color識別子が「色K−1」の場合の各情報について説明する。
【0340】
この第2の実施形態の例に適用される各色毎の情報におけるデータ転送用の情報は、データ転送要否、データ転送元アドレス501、データ格納先アドレス502、領域クリアサイズ520、データ転送サイズ503、データインクリメントサイズ508およびデータインクリメント数509を含む。
【0341】
このデータ転送用の情報のうち、データ転送元アドレス501は、1ページの先頭ラスタを示す情報が格納され、データ格納先アドレス502は、ページの先頭を示す情報が格納される。領域クリアサイズ520は、バウンダリ調整サイズを含むバイトサイズであって、X方向のサイズ(画素数)と、Y方向のサイズ(ラスタ数)とを乗じた値である。データ転送サイズ503は、バウンダリ調整サイズを含むバイトサイズであって、X方向のサイズである。
【0342】
データインクリメントサイズ508は、上述のデータ転送サイズ503に、プリンタ装置13に搭載されるデータ転送制御部30a〜30dの台数を乗じた値とされる。また、データインクリメント数509は、単色画像データ531のY方向のサイズをデータ転送制御部30a〜30dの台数で除した商である。端数が存在する場合は、各データ転送制御部30a〜30dに対して順次、ラスタ単位で振り分ける。
【0343】
この第2の実施形態に適用される各色毎の情報における印刷用の情報は、印刷要否、印刷不可領域上、下、左および右、ならびに、画像情報を含む。また、画像情報は、X方向有効サイズ504およびY方向有効サイズを含む。また、この印刷用の情報は、図23の例と異なり、ビットマップ印刷位置XおよびYを含まない。
【0344】
図34を用いて、第2の実施形態によるデータ転送方法について説明する。図34(a)は、上位装置10からプリンタ装置13に転送される単色画像データ351の例を示す。なお、図34(a)において、用紙が図の右側から左側に送られるものとし、単色画像データ531の左下隅が座標の原点とされ、Y方向の座標が左側から右側に向けて増加し、X方向の座標が下側から上側に向けて増加する。X方向に沿った1ラインがラスタであり、印刷はこのラスタ単位で、Y座標を順次増加させて行われる。また、単色画像データ531内の縦の点線は、各ラスタの境界を示す。
【0345】
図34(a)の例では、プリンタ装置13に転送する単色画像データ531は、X方向のデータ転送サイズ503が、上位装置10が生成する画像データ530におけるX方向の有効サイズ504に対して、X方向のバウンダリ調整サイズを含むサイズとなっている。また、単色画像データ531は、説明のため、6ラスタで1ページ分を構成するものとする。
【0346】
単色画像データ531は、ラスタ単位で順次各データ転送制御部30a〜30dに転送されるため、例えばColor識別子K−1に対応するデータ転送元アドレス501は、第1ラスタ目を示し、次のColor識別子K−2に対応するデータ転送元アドレスは、第2ラスタ目を示す。
【0347】
一方、単色画像データ531の第1ラスタ目のデータは、図34(b)に例示されるように、例えばメモリ31aにおいては、先頭のアドレスがデータ格納先アドレス502として指定される。また、メモリ31bにおいては、2ラスタ目の位置のアドレスがデータ格納先アドレス502として指定される。このように、各メモリ31a〜31dに対して順次1ラスタずつずらしてデータ格納先アドレス502が指定される。
【0348】
また、各メモリ31a〜31dにおいては、指定されたデータ格納先アドレス502に対して、データインクリメントサイズ508で示され値を加算したアドレスを、次のデータ格納アドレス502先とする。データインクリメントサイズ508は、データ転送サイズ503にデータ転送制御部30a〜30dの台数を乗じた値である。したがって、例えばメモリ31aには、メモリ31aが含まれるデータ転送制御部30aの他のデータ転送制御部30b〜30dの分だけラスタを空けて(すなわち4ラスタ毎に)、ラスタ単位で単色画像データ531が格納されることになる。
【0349】
より具体的には、例えばメモリ31aにおいて、単色画像データ531の1ラスタ目のデータが書き込まれたアドレスに対して4ラスタ分のアドレスを加えたアドレスに、単色画像データ531の4ラスタ目のデータが書き込まれる。メモリ31aの2ラスタ目〜4ラスタ目のアドレスには、画像データは書き込まれない。これは、他のメモリ31b〜31dについても、各メモリ31b〜31dに対する最初のラスタデータの書き込みアドレスが1ラスタずつずれることを除き、同様にして書き込みアドレスが指定される。
【0350】
すなわち、各メモリ31a〜31dには、それぞれ他のメモリにラスタデータが書き込まれる位置を空けて、ラスタデータが書き込まれることになる。
【0351】
また、各メモリ31a〜31dにおいて、各色に共通の情報の領域クリアアドレス510に示されるアドレスから、各色毎の情報の領域クリアサイズ520で示される領域がゼロクリアされる。領域クリアサイズ520は、X方向のデータ転送サイズ503とY方向有効サイズ505とを乗じた値であって、バウンダリ調整サイズを含む単色画像データ531の全体のサイズと一致する。各メモリ31a〜31dは、データ読み出し完了直後から、次のデータ書き込み直前の間に、データ転送制御部30a〜30dによって、この領域がゼロクリアされる。
【0352】
上述のデータインクリメント数509について説明する。データインクリメント数509は、図35に示す計算式を用いて算出することができる。すなわち、下記の式(3)に示すように、
データインクリメント数=Y方向有効サイズ÷データ転送制御部の数 …(3)
とし、商および剰余を算出する。このとき、端数(剰余)が発生した場合、データ転送制御部30a〜30dのうち端数の数に対応する各データ転送制御部のデータインクリメント数509に対して、端数を1ずつ振り分けて加算する。
【0353】
より具体的には、端数が1の場合、データ転送制御部30aに対応するインクリメント数509にさらに1を加算する。端数が2の場合、データ転送制御部30aおよび30bに対応する各インクリメント数509に対して、それぞれ1を加算する。さらに、端数が3の場合、データ転送制御部30a、30bおよび30cに対応する各インクリメント数509に対して、それぞれ1を加算する。
【0354】
プリンタコントローラ14は、各データ転送制御部30a〜30dに対する1ページ分のデータ転送が完了すると、印刷開始アドレスから印刷する。各データ転送制御部30a〜30dにおいて、各メモリ31a〜31dは、印刷開始アドレスと同一アドレスとして指定される領域クリアアドレス510から、各領域クリアサイズ520で指定される領域をゼロクリアされてから、ラスタ単位の画像データが転送されている。そのため、プリンタコントローラ14は、印刷時には、1ページのビットマップ全体で印刷を実行する。各データ転送制御部30a〜30dが出力した印刷画像データは、印刷用紙201上でマージされ、1ページ分の出力結果が得られる。
【0355】
なお、第2の実施形態による印刷処理のシーケンスは、上述の第1の実施形態で説明したシーケンスと略同様なので、ここでの説明を省略する。
【0356】
このように、第2の実施形態によれば、上位装置10で生成された印刷画像データが、ラスタ毎に各データ転送制御部30a〜30dに対して順次転送される。そのため、各データ転送制御部30a〜30dに対して、1ページ分の画像データをデータ転送制御部30a〜30dの台数で除したデータ量がそれぞれ転送されることになる。したがって、上位装置10から各データ転送制御部30a〜30dに対してそれぞれ1ページ分の画像データを転送する場合に比べて、データ転送を高速に実行することができる。
【0357】
また、第2の実施形態の印刷装置(プリンタ装置13)は、画像データが書き込まれる複数の記憶手段と、複数の記憶手段それぞれの記憶空間と同一の記憶空間を示す記憶空間情報を持ち、記憶空間情報により複数の記憶手段に対する画像データの書き込みおよび読み出しを行うためのアドレス情報を管理する制御手段と、複数の記憶手段それぞれに対応して設けられ、複数の記憶手段に対する画像データの書き込みおよび読み出しをアドレス情報に従い行う複数のデータ管理手段と、複数の記憶手段それぞれから読み出した画像データを同一のページに印刷する印刷手段とを有する。
【0358】
また、第2の実施形態の印刷装置は、記憶空間情報を複数の記憶手段に共通で持つようにしている。
【0359】
また、第2の実施形態の印刷装置は、記憶空間情報を複数の記憶手段毎に持つようにしている。
【0360】
また、第2の実施形態の印刷装置は、制御手段は、読み出しの先頭アドレスを示す第1のアドレス情報と、書き込みの先頭アドレスを示す第2のアドレス情報とを管理するようにしている。
【0361】
また、第2の実施形態の印刷装置は、制御手段は、第1のアドレス情報が示すアドレスと第2のアドレス情報が示すアドレスとの差分に基づき、複数の記憶手段の空き領域を管理するようにしている。
【0362】
また、第2の実施形態の印刷装置は、制御手段は、複数の記憶手段の全てに対する所定単位の画像データの書き込みの終了に応じて、書き込みの先頭アドレスを所定単位分移動させて第2のアドレス情報を更新するようにしている。
【0363】
また、第2の実施形態の印刷装置は、制御手段は、複数の記憶手段の全てからの、所定単位の画像データの読み出しの終了に応じて、読み出しの先頭アドレスを所定単位分移動させて第1のアドレス情報を更新するようにしている。
【0364】
また、第2の実施形態の印刷装置は、制御手段は、複数の記憶手段の全てから所定単位の画像データの読み出しが終了してから、複数の記憶手段に画像データが書き込まれるまでの間の何れかの時点で、更新直前の第1のアドレス情報で示されるアドレスから所定単位分の領域をゼロクリアするようにしている。
【0365】
また、第2の実施形態の印刷装置は、制御手段は、第2のアドレス情報の更新の際に、更新直前の第1のアドレス情報で示されるアドレスから所定単位分の領域をゼロクリアするようにしている。
【符号の説明】
【0366】
10 上位装置
11,11a,11b,11c,11d データ線
12 制御線
13 プリンタ装置
14 プリンタコントローラ
15 プリンタエンジン
20 制御情報送受信部
21 制御信号送受信部
22 用紙搬送制御部
30a,30b,30c,30d データ転送制御部
31a,31b,31c,31d メモリ
40a,40b,40c,40d エンジンI/F制御線
41 搬送制御線
50 画像出力部
51 搬送制御部
55 出力制御部
56a,56b,56c,56d ヘッド
400 単色画像データ
410a,410b,410c,410d 分割画像データ
【先行技術文献】
【特許文献】
【0367】
【特許文献1】特開2004−287519号公報
【特許文献2】特開2002−254763号公報
【技術分野】
【0001】
本発明は、上位装置から転送された印刷画像データに従い印刷を行う印刷装置および印刷装置の制御方法に関する。
【背景技術】
【0002】
従来から、印刷装置と、当該印刷装置に対して印刷データを渡すと共に印刷指示を行う上位装置とから構成される印刷システムが知られている。このような印刷システムでは、例えば、上位装置は、ホスト装置から送信された、ページ記述言語(PDL:Page Description Language)で記述された印刷データに従いRIP(Raster Image Process)によりラスタイメージによる印刷画像データを生成し、生成した印刷画像データを印刷装置の印刷制御部に転送する(特許文献1参照)。
【0003】
また、上述の印刷システムとは異なり、プリンタコントローラと、プリンタエンジンと、プリンタコントローラおよびプリンタエンジンを接続するデータ線とを備える印刷装置が既に知られている(特許文献2参照)。この特許文献2の印刷装置では、プリンタコントローラとプリンタエンジンとの間で各種制御情報の送受信を行う制御線と、印刷画像データの送受信を行うデータ線とを分離し、データ転送の高速化が図られている。また、この印刷システムにおいて、データ線を各色毎に設け、各色の印刷画像データを並列的に転送することで、カラー印刷におけるデータ転送の高速化が図られている。
【0004】
さらに、印刷画像データを生成する上位装置と、印刷画像データによる印刷を行う印刷装置とを接続する制御線とデータ線とを分離した印刷システムが提案されている。この印刷システムでは、データ処理専用コントローラに対する印刷画像データの転送タイミングの制御と、印刷対象の用紙を搬送する用紙搬送制御などの印刷制御を、印刷制御用コントローラで一括制御する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、印刷画像データを転送するデータ線をY(Yellow)、C(Cyan)、M(Magenta)およびK(Black)の各色毎に設けたシステムで単色(例えばK)の印刷画像データの印刷を行う場合について考える。従来のシステムでは、印刷画像データを各色毎にページ単位で管理していた。そのため、単色の印刷を行う場合であっても、各色に対応する複数のデータ処理専用コントローラのうち印刷対象の単色のデータ処理専用コントローラのみに対して1ページ分の単色の印刷画像データを転送して印刷を行なっていた。
【0006】
したがって、1のデータ処理専用コントローラに対する印刷画像データの転送量が各色の印刷画像データによる印刷を行う場合と変わらないため、複数の色による印刷を行う場合と比べてデータ転送速度が高速化されず、印刷速度の向上も困難であったという問題点があった。
【0007】
本発明は、上記に鑑みてなされたものであって、印刷画像データを色毎に異なるデータ線を介して転送する場合において、単色印刷の印刷速度を向上させることを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するために、本発明は、画像データを生成する上位装置に対して所定数の第1の転送路をそれぞれ介して接続される所定数の保持手段と、画像データを所定数のブロックに分割させ、画像データが分割された各分割画像データを、上位装置から所定数の第1の転送路を介して所定数の保持手段それぞれに転送させ保持させる制御手段と、所定数の保持手段それぞれから読み出した分割画像データを同一のページに印刷する印刷手段とを有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、印刷画像データを色毎に異なるデータ線を介して転送する場合において、単色印刷の印刷速度が向上されるという効果を奏する。
【図面の簡単な説明】
【0010】
【図1】図1は、各実施形態に適用可能な印刷システムの一例の構成を示すブロック図である。
【図2−1】図2−1は、各実施形態に適用可能な上位装置の一例の構成を示すブロック図である。
【図2−2】図2−2は、各実施形態に適用可能な上位装置の一例の機能を示す機能ブロック図である。
【図3−1】図3−1は、各実施形態に適用可能なプリンタ装置の一例の構成を示すブロック図である。
【図3−2】図3−2は、各実施形態に適用可能なプリンタコントローラの一例の構成を示すブロック図である。
【図4−1】図4−1は、各実施形態に適用可能なデータ転送制御部の一例の構成を概略的に示すブロック図である。
【図4−2】図4−2は、各実施形態に適用可能なデータ転送制御部の一例の構成をより詳細に示すブロック図である。
【図5】図5は、各実施形態に適用可能な画像出力部の一例の構成を示すブロック図である。
【図6】図6は、各実施形態に適用可能な用紙の搬送系を含めたプリンタ装置の一例の構造を概略的に示す図である。
【図7】図7は、各実施形態に適用可能な上位装置とプリンタ装置のプリンタコントローラとの間で送受信される制御情報の一例を示す図である。
【図8】図8は、各実施形態に適用可能な印刷処理を概念的に示す一例のシーケンス図である。
【図9−1】図9−1は、各実施形態に適用可能な上位装置の処理の例を示すフローチャートである。
【図9−2】図9−2は、各実施形態に適用可能なプリンタコントローラの処理の例を示すフローチャートである。
【図9−3】図9−3は、各実施形態に適用可能なプリンタコントローラの印刷指示の一例の処理を示すフローチャートである。
【図9−4】図9−4は、各実施形態に適用可能な各データ転送制御部の処理の例を示すフローチャートである。
【図10−1】図10−1は、各実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。
【図10−2】図10−2は、各実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。
【図10−3】図10−3は、各実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。
【図11−1】図11−1は、各実施形態に適用可能な上位装置の処理の別の例を示すフローチャートである。
【図11−2】図11−2は、各実施形態に適用可能なデータ転送制御部の処理の別の例を示すフローチャートである。
【図12】図12は、各実施形態に適用可能な仮想メモリについて説明するための図である。
【図13】図13は、各実施形態に適用可能な仮想メモリのより具体的な例を示す図である。
【図14】図14は、各実施形態に適用可能な仮想メモリ上での入力ポインタおよび出力ポインタの制御について説明するための図である。
【図15】図15は、各実施形態に適用可能な転送管理テーブルの一例を示す図である。
【図16】図16は、各実施形態に適用可能な印刷対象に関する情報について説明するための図である。
【図17】図17は、各実施形態に適用可能な、プリンタコントローラが上位装置からデータを受信した場合の一例の処理を示すフローチャートである。
【図18】図18は、各実施形態に適用可能な、仮想メモリによるメモリの空き容量のチェックについて説明するための図である。
【図19】図19は、各実施形態に適用可能な、仮想メモリによるメモリの空き容量のチェックについて説明するための図である。
【図20】図20は、各実施形態に適用可能な、転送終了時の一例の処理を示すフローチャートである。
【図21】図21は、各実施形態に適用可能な、印刷終了時の一例の処理を示すフローチャートである。
【図22】図22は、各実施形態に適用可能な、各色で異なるサイズのビットマップデータを転送する場合の例について説明するための図である。
【図23】図23は、各実施形態に適用可能な転送管理テーブルの一例の構成を示す図である。
【図24】図24は、各実施形態に適用可能な、印刷画像データのメモリ上への一例の配置方法について説明するための図である。
【図25】図25は、各実施形態に適用可能な、印刷画像データのメモリ上への一例の配置方法について説明するための図である。
【図26】図26は、第1の実施形態に係るデータ転送について、より具体的に説明するための図である。
【図27】図27は、第1の実施形態による転送管理テーブルの一例の構成を示す図である。
【図28】図28は、各メモリに対する分割画像データの書き込み方法の例について説明するための図である。
【図29】図29は、第1の実施形態に係るメモリのゼロクリアの方法について説明するための図である。
【図30】図30は、第1の実施形態に適用可能な印刷処理を概念的に示す一例のシーケンス図である。
【図31−1】図31−1は、第1の実施形態に適用可能な上位装置の処理の例を示すフローチャートである。
【図31−2】図31−2は、第1の実施形態に適用可能なプリンタコントローラの処理の例を示すフローチャートである。
【図32−1】図32−1は、第1の実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。
【図32−2】図32−2は、第1の実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。
【図32−3】図32−3は、第1の実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。
【図33】図33は、第2の実施形態に適用可能な転送管理テーブルの一例を示す図である。
【図34】図34は、第2の実施形態によるデータ転送方法について説明するための図である。
【図35】図35は、第2の実施形態に係るデータインクリメント数を計算する計算式を示す図である。
【発明を実施するための形態】
【0011】
以下に添付図面を参照して、本発明に係る印刷システムの実施形態を詳細に説明する。先ず、理解を容易とするために、各実施形態による印刷システムが適用されるプロダクションプリンティングについて、概略的に説明する。プロダクションプリンティングでは、短時間に大量の印刷を行うことを基本的な考え方としている。そのために、プロダクションプリンティングでは、印刷の高速化を図ると共に、ジョブ管理や印刷データの管理などを効率的に行うために、印刷データの作成から印刷物の分配までの管理を行うワークフローのシステムを構築する。
【0012】
各実施形態による印刷システムは、プロダクションプリンティングのワークフローにおける、印刷を実行する部分に関わるもので、RIP(Raster Image Process)処理と、RIP処理により得られたビットマップデータの印刷とを別の装置で行う。RIP処理は、印刷処理の中でも最も処理時間を要し、RIP処理を行う装置と、印刷処理を行う装置とを分離することで、印刷の高速化が可能となる。
【0013】
(各実施形態に適用可能な印刷システムの概要)
図1は、本発明の各実施形態に適用可能な印刷システムの一例の構成を示す。この印刷システムは、上位装置10と、画像形成装置としてのプリンタ装置13とが、複数のデータ線11と、制御線12とで接続されて構成される。ホスト装置5は、例えばコンピュータであって、印刷画像データと、印刷設定情報とを含む印刷ジョブデータを生成する。
【0014】
印刷ジョブデータは、例えばページ記述言語(PDL)によるデータ(以下、PDLデータと呼ぶ)を含む。このPDLデータを解釈することで、印刷を行うビットマップイメージからなる印刷画像データと、印刷の際のページ情報、レイアウト情報、印刷部数を示す情報など、印刷の設定に関わる印刷設定情報とが生成される。
【0015】
上位装置10は、ホスト装置5から供給される印刷ジョブデータに従ってRIP処理を行い、印刷画像データである各色毎のビットマップデータを作成する。それと共に、上位装置10は、当該印刷ジョブデータやホスト装置5からの情報などに基づき、印刷動作を制御するための制御情報を作成する。
【0016】
上位装置10で作成された各色毎の印刷画像データは、複数のデータ線11をそれぞれ介してプリンタ装置13の図示されないプリンタエンジン部に供給される。また、上位装置10とプリンタコントローラ14との間で、制御線12を介して、印刷を制御するための制御情報の送受信が行われる。プリンタコントローラ14は、この制御情報の送受信に基づきプリンタエンジン部を制御して印刷媒体に対する画像形成を行い、印刷ジョブに従った印刷を実行する。なお、この制御情報の具体的な例については、図10−1〜図10−3を用いて後述する。
【0017】
印刷方式は特に限定されないが、各実施形態では、印刷媒体として印刷用紙を用い、インクジェット方式により印刷用紙に対して印刷画像を形成する。これに限らず、各実施形態を、トナーを用いて印刷用紙に対して印刷画像を形成する印刷装置にも適用可能である。また、印刷用紙は、切断可能なミシン目が所定間隔で打たれた連続紙である連帳紙(連続帳票)を用いるものとする。プロダクションプリンティングでは、印刷用紙としてこの連帳紙を用いることが多い。勿論、これに限らず、A4サイズ、B4サイズなど、サイズが固定的とされたカット紙を印刷用紙として用いてもよい。なお、連帳紙において、ページは、例えば所定間隔で打たれたミシン目で挟まれる領域をいうものとする。
【0018】
なお、各実施形態による印刷システムが印刷対象とする印刷媒体は、紙の印刷用紙に限定されない。すなわち、各実施形態に適用される印刷方式により印刷が可能で、且つ、ロールとして提供可能な印刷媒体であれば、他の印刷媒体を用いてもよい。例えば、プラスチックフィルムや布などを印刷媒体として用いてもよい。
【0019】
(上位装置)
図2−1は、上位装置10の一例の構成を示す。バス100に対してCPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、ハードディスクドライブ(HDD)104が接続される。バス100に対して、さらに、外部I/F110、制御情報用I/F111および印刷画像データ用I/F112が接続される。バス100に接続されたこれら各部は、バス100を介して互いに通信可能とされている。
【0020】
ROM102およびHDD104は、CPU101が動作するためのプログラムが予め格納される。RAM103は、CPU101のワークメモリとして用いられる。すなわち、CPU101は、ROM102およびHDD104に格納されるプログラムに従い、RAM103をワークメモリとして用いて、この上位装置10の全体の動作を制御する。
【0021】
外部I/F110は、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)に対応し、ホスト装置5との通信を制御する。制御情報用I/F111は、制御情報の通信を制御する。また、印刷画像データ用I/F112は、印刷画像データの通信を制御するもので、複数のチャネルを有する。例えば、上位装置10において作成された、色Y(Yellow)、C(Cyan)、M(Magenta)およびK(Black)による各色の印刷画像データは、これら複数のチャネルからそれぞれ出力される。印刷画像データ用I/F112は、高速な転送速度が要求されるため、例えばPCI Express(Peripheral Component Interconnect Bus Express)が用いられる。制御情報用I/F111の方式は特に限定されないが、ここでは、印刷画像データ用I/F112と同様に、PCI Expressを用いるものとする。
【0022】
このような構成において、ホスト装置5から送信された印刷ジョブデータが、上位装置10の外部I/F110に受信され、CPU101を介してHDD104に格納される。CPU101は、HDD104から読み出した印刷ジョブデータに基づきRIP処理を行い、各色のビットマップデータを生成してRAM103にそれぞれ書き出す。例えば、CPU101は、RIP処理によりPDL(Page Description Language)データをレンダリングして各色のビットマップデータを生成してRAM103に書き出す。CPU101は、RAM103に書き出された各色のビットマップデータを圧縮符号化してHDD104に一旦格納する。
【0023】
CPU101は、例えばプリンタ装置13において印刷動作が開始される際に、HDD104から圧縮符号化された各色のビットマップデータを読み出して圧縮符号を復号し、伸張された各色のビットマップデータをRAM103にそれぞれ書き込む。そして、CPU101は、RAM103からこれら各色のビットマップデータを読み出して、各色の印刷画像データとして印刷画像データ用I/F112の各チャネルからそれぞれ出力させ、プリンタ装置13に対して供給する。また、CPU101は、印刷動作の進行などに応じて、印刷を制御するための制御情報の送受信を、プリンタ装置13との間で制御情報用I/F111を介して行う。
【0024】
図2−2は、上位装置10の機能を説明するための一例の機能ブロック図である。上位装置10は、インターフェイス(I/F)120、123および125、RIP部121、記憶部122、ならびに、制御部124を含む。インターフェイス120、123および125は、それぞれ図2−1における外部I/F110、印刷画像データ用I/F112および制御情報用I/F111に対応する。RIP部121および制御部124は、図2−1におけるCPU101上で動作するプログラムにより構成される。また、記憶部122は、図2−1におけるRAM103またはHDD104のうち少なくとも一方に対応する。
【0025】
ホスト装置5でPDLデータを含む印刷ジョブデータが作成され、上位装置10に対して送信される。この印刷ジョブデータは、インターフェイス120に受信されてRIP部121に供給される。RIP部121は、供給された印刷ジョブデータに含まれるPDLデータに基づきレンダリングを行い、Y、C、M、K各色のビットマップデータによる印刷画像データを生成する。RIP部121は、生成したY、C、M、K各色の印刷画像データを、記憶部122に順次格納する。
【0026】
制御部124は、インターフェイス125を介してプリンタ装置13のプリンタコントローラ14と通信を行う。例えば、制御部124は、ホスト装置5からインターフェイス120を介して供給された印刷ジョブデータに基づき、プリンタ装置13における印刷を制御するための制御情報を生成する。この制御情報は、制御部124からインターフェイス125を介してプリンタコントローラ14に送信される。
【0027】
インターフェイス123は、記憶部122に記憶されるY、C、M、K各色の印刷画像データにそれぞれ独立してアクセスできるようになっている。また、インターフェイス123は、Y、C、M、K各色に対応する複数のデータ線11を介してプリンタ装置13に接続され、この複数のデータ線11を介して、プリンタ装置13との間でY、C、M、K各色の印刷画像データ転送に関する制御情報のやりとりや、Y、C、M、K各色の印刷画像データの転送を行う。
【0028】
(プリンタ装置)
図3−1は、プリンタ装置13の一例の構成を示す。プリンタ装置13は、プリンタコントローラ14およびプリンタエンジン15を有する。プリンタコントローラ14は、制御線12が接続され、上位装置10との間で制御線12を介して制御情報の送受信を行って印刷動作の制御を行う。プリンタエンジン15は、複数のデータ線11a、11b、11cおよび11dがそれぞれ接続され、プリンタコントローラ14の制御に従い、これらデータ線11a、11b、11cおよび11dをそれぞれ介して上位装置10から転送された各色の印刷画像データによる印刷処理を行う。
【0029】
プリンタコントローラ14およびプリンタエンジン15について、より詳細に説明する。プリンタコントローラ14は、制御情報送受信部20、制御信号送受信部21、用紙搬送制御部22および制御部23を有する。
【0030】
制御情報送受信部20は、上位装置10との間で、印刷を制御するための制御情報の送受信を制御線12を介して行う。制御信号送受信部21は、後述するデータ転送制御部30a、30b、30cおよび30dのそれぞれと、エンジンI/F制御線40a、40b、40cおよび40dにより接続される。制御信号送受信部21は、各データ転送制御部30a、30b、30cおよび30dとの間で、それぞれ個別に制御信号の送受信を行う。用紙搬送制御部22は、後述する搬送制御部51と搬送制御線41により接続され、搬送制御部51との間で用紙搬送を制御するための制御信号の送受信を行う。
【0031】
制御部23は、例えばCPU、ROMおよびRAMを有し、ROMに予め記憶されるプログラムに従い、RAMをワークメモリとして用いてプリンタコントローラ14の各部の制御を行う。また、制御部23は、上位装置10から送信され制御情報送受信部20により受信された制御情報を解釈して、制御信号送受信部21や用紙搬送制御部22に渡す。
【0032】
なお、制御情報送受信部20、制御信号送受信部21および用紙搬送制御部22は、制御部23に制御されるハードウェアとして構成してもよいし、制御部23上で動作されるプログラムのモジュールとして構成してもよい。
【0033】
図3−2は、プリンタコントローラ14の一例のハードウェア構成を示す。プリンタコントローラ14は、CPU321、インターフェイス(I/F)322、RAM323およびROM324を有し、これらCPU321、インターフェイス322、RAM323およびROM324が互いに通信可能にバス320に接続される。バス320には、図示されない通信I/Fを介して制御線12も接続される。CPU321は、ROM324に格納されるプログラムに従いRAM323をワークメモリとして用いて動作し、プリンタ装置13の全体の動作を制御する。インターフェイス322には、ハードウェア的に構成されたロジック回路が含まれ、プリンタコントローラ14と、データ転送制御部30a、30b、30cおよび30d、ならびに、搬送制御部51との通信を制御する。
【0034】
このような構成において、例えば、図3−1における制御信号送受信部21および用紙搬送制御部22の機能は、I/F322により実現される。制御部23の機能は、CPU321上で動作するプログラムにより実現される。また、制御情報送受信部20の機能は、図示されない通信I/Fおよびバス320により実現される。
【0035】
図3−1の説明に戻り、プリンタエンジン15は、同一の構成による複数のデータ転送制御部30a、30b、30cおよび30dを有すると共に、印刷画像データに基づく画像を用紙に出力し画像形成を行う画像出力部50と、印刷用紙の搬送を制御する搬送制御部51とを有する。
【0036】
データ転送制御部30a、30b、30cおよび30dは、それぞれデータ線11a、11b、11cおよび11dが接続される。また、データ転送制御部30a、30b、30cおよび30dは、それぞれメモリ31a、31b、31cおよび31dを含み、上位装置10から、データ線11a、11b、11cおよび11dを介して転送された各色の印刷画像データを、それぞれメモリ31a、31b、31cおよび31dに格納する。
【0037】
これらメモリ31a、31b、31cおよび31dは、例えば同一のメモリ容量と、アドレス構成とを有する。また、メモリ31a、31b、31cおよび31dのそれぞれは、好ましくは少なくとも3ページ分の印刷画像データを格納可能な容量を有する。3ページ分の印刷画像データは、例えば、上位装置10から転送中のページの印刷画像データと、現在出力中のページの印刷画像データと、次のページの印刷画像データとに対応する。これに限らず、メモリ31a、31b、31cおよび31dのそれぞれは、2ページ分以下の印刷画像データを格納可能であってもよい。
【0038】
さらに、データ転送制御部30a、30b、30cおよび30dは、それぞれエンジンI/F制御線40a、40b、40cおよび40dにより制御信号送受信部21と接続される。制御信号送受信部21は、これらエンジンI/F制御線40a、40b、40cおよび40dを介して、各データ転送制御部30a、30b、30cおよび30dとの間でそれぞれ個別に制御信号の送受信を行うことができる。
【0039】
図4−1は、データ転送制御部30aの一例の構成を概略的に示す。なお、データ転送制御部30a、30b、30cおよび30dは、共通の構成が適用されるので、図4−1では、データ転送制御部30a、30b、30cおよび30dを代表してデータ転送制御部30aの構成を示す。
【0040】
データ転送制御部30aは、メモリ31aおよびロジック回路32aを含む。ロジック回路32aに対して、エンジンI/F制御線40aおよびデータ線11aが接続される。ロジック回路32aは、制御信号送受信部21からエンジンI/F制御線40aを介して受け取った制御信号に従い、上位装置10からデータ線11aを介して転送された印刷画像データをメモリ31aに対して格納する。同様に、ロジック回路32aは、制御信号送受信部21からエンジンI/F制御線40aを介して受け取った制御信号に従い、メモリ31aから印刷画像データを読み出して、出力線33aを介して後述する画像出力部50に供給する。
【0041】
なお、論理回路などの組み合わせによりハードウェア的に構成されたロジック回路32aによる制御は、プログラムに対する割り込みにより処理を分岐させる、CPUを用いた制御に対してより高速な処理が可能であるという利点がある。ロジック回路32aは、例えば、エンジンI/F制御線40aを介して受け取った、ビット列による制御信号に対して論理判定を行い、実行する処理を決定する。これに限らず、ロジック回路32aと同等の機能を、CPUを用いてソフトウェア的に実現してもよい。
【0042】
データ転送制御部30a、30b、30cおよび30dからそれぞれ出力された各色の印刷画像データは、画像出力部50に供給される。画像出力部50は、各色の印刷画像データによる印刷を実行する。なお、各実施形態では、印刷画像データによる印刷を、ヘッドに設けられたノズルからインクを射出して印刷を行う、インクジェット方式により行う。勿論、印刷方式はインクジェット方式に限られず、例えばレーザプリンタ方式などを用いてもよい。
【0043】
図4−2は、データ転送制御部30aの一例の構成をより詳細に示す。なお、図4−2において、上述した図4−1と共通する部分には同一の符号を付して、詳細な説明を省略する。データ転送制御部30aは、メモリ31a、メモリコントローラ132a、データ転送DMA(Direct Memory Access)133aおよび134a、ならびに、データ転送制御部コントローラ135aを有する。これらのうち、メモリコントローラ132a、データ転送DMA(Direct Memory Access)133aおよび134a、ならびに、データ転送制御部コントローラ135aが、図4−1におけるロジック回路32aに含まれる。
【0044】
メモリコントローラ132aは、メモリ31aに対するアクセスを制御する。データ転送DMA133aは、上位装置10から印刷画像データを受信し、メモリコントローラ132aを介してメモリ31aに書き込む。データ転送DMA134aは、メモリコントローラ132aを介してメモリ31aからデータを読み出し、出力線33aを介して画像出力部50に転送する。データ転送制御部コントローラ135aは、プリンタコントローラ14内の制御信号送受信部21からエンジンI/F制御線40aを介して送信される制御情報を受信し、受信した制御情報に従いデータ転送DMA133aおよび134aを制御する。
【0045】
例えば、制御信号送受信部21から送信されたデータ転送の開始要求が、エンジンI/F制御線40aを介してデータ転送制御部コントローラ135aに受信されると、データ転送制御部コントローラ135aは、この要求に従い、データ転送DMA133aに対してデータ転送の開始を指示する。データ転送DMA133aは、この指示に従い、データ転送要求をデータ線11aを介して上位装置10に送信する。この要求に従い上位装置10から送信されたデータは、例えばデータ転送DMA133aに受信され、メモリコントローラ132aを介して、メモリ31aの所定のアドレスに書き込まれる。
【0046】
また、制御信号送受信部21から送信された印刷指示が、エンジンI/F制御線40aを介してデータ転送制御部コントローラ135aに受信されると、データ転送制御部コントローラ135aは、データ転送DMA134aに対して、メモリ31aからのデータ読み出しを指示する。データ転送DMA134aは、この指示に応じて、メモリコントローラ132aを介してメモリ31aからデータを読み出す。そして、データ転送DMA134aは、読み出したデータを、出力線33aを介して画像出力部50に転送する。
【0047】
図5は、画像出力部50の一例の構成を示す。画像出力部50は、出力制御部55と、色Y、C、MおよびK各色のヘッド56a、56b、56cおよび56dとを含む。なお、各色とヘッド56a、56b、56cおよび56dとの関係は、この例に限られない。出力制御部55は、各データ転送制御部30a、30b、30cおよび30dそれぞれの印刷画像データが出力される各出力線33a、33b、33cおよび33dと、ヘッド56a、56b、56cおよび56dとの接続を制御する。すなわち、出力制御部55は、各ヘッド56a、56b、56cおよび56dに対して、それぞれ各出力線33a、33b、33cおよび33dから1を選択して接続するように経路を設定することができる。
【0048】
例えば、出力制御部55は、各出力線33a、33b、33cおよび33dと、各ヘッド56a、56b、56cおよび56dとを、1対1に接続するように設定できる。また例えば、出力線33aに対して、各ヘッド56a、56b、56cおよび56dを接続する、というように、出力線33a、33b、33cおよび33dと、ヘッド56a、56b、56cおよび56dとを、1対多に接続するように設定できる。
【0049】
各出力線33a、33b、33cおよび33dと各ヘッド56a、56b、56cおよび56dとを接続する経路は、例えばディップスイッチなどを用いてユーザ操作により設定することができる。これに限らず、当該経路を、制御信号送受信部21からの制御信号により設定してもよい。
【0050】
上述したように、各実施形態によるプリンタ装置13では、上位装置10からの印刷画像データの転送と、当該印刷画像データによる印刷を制御する制御信号の上位装置10とプリンタ装置13との間の送受信とが、異なる経路を介して行われる。また、上位装置10から、各色の印刷画像データがそれぞれ異なるデータ線11a、11b、11cおよび11dを介して転送されると共に、これらデータ線11a、11b、11cおよび11dを介して転送された各色の印刷画像データが、互いに独立して制御され、共通の構成を持つデータ転送制御部30a、30b、30cおよび30dにそれぞれ供給される。さらに、画像出力部50において、各データ転送制御部30a、30b、30cおよび30dの出力と各色のヘッド56a、56b、56cおよび56dとの接続経路をユーザ操作などにより設定可能とされている。
【0051】
したがって、各実施形態によるプリンタ装置13は、印刷画像データの色数(Y、C、MおよびKの4色、または、K色のみ、など)や、画像出力部50において用いるヘッド数に応じて、プリンタエンジン15の構成を容易に変更することが可能である。このとき、プリンタエンジン15に対して、各データ転送制御部30a、30b、30cおよび30dのうち、要求される構成に応じて必要とされるものだけを設けるようにできる。
【0052】
(印刷用紙の搬送系)
図3−1を参照し、搬送制御部51は、用紙搬送制御部22と搬送制御線41により接続され、画像出力部50により印刷画像データに基づく画像が形成される用紙の搬送を制御する。図6は、各実施形態に適用可能な、用紙の搬送系を含めたプリンタ装置200の一例の構造を概略的に示す。既に述べたように、各実施形態では、プリンタ装置200は、印刷用紙として連帳紙を用いる。
【0053】
印刷用紙201は、印刷用紙補給部210から電源操作ボックス220を介して第1搬送部230に供給される。印刷用紙201は、第1搬送部230において、搬送制御部51の搬送制御により複数のローラなどを介して搬送されて位置合わせなどがなされ、上述のプリンタエンジン15に対応するプリンタエンジン部240および250に供給される。
【0054】
プリンタエンジン部240および250は、上述の画像出力部50に対応する印刷部241において、第1搬送部230から供給された印刷用紙201に対して印刷画像データに従った印刷を行う。印刷が終了した印刷用紙201は、搬送制御部51の搬送制御によりプリンタエンジン部250から排出され、第2搬送部260に供給される。印刷後の印刷用紙201は、第2搬送部260の内部で所定に搬送されて排出され、裁断部270に供給される。印刷後の印刷用紙201は、裁断部270によりミシン目に従い裁断され各ページを分離される。
【0055】
ここで、プリンタ装置200は、ページが連続した連続紙である印刷用紙201に印刷を行うため、プリンタエンジン部240および250における印刷用紙201への印刷後、当該印刷用紙201が第2搬送部260から排出されるまでの経路にも、印刷用紙201が絶えず存在することになる。
【0056】
なお、第1搬送部230、プリンタエンジン部240および250、ならびに、第2搬送部260からなる構成をもう一組用意して、前側の第2搬送部260から排出された印刷後の印刷用紙201を表裏反転して後側の第1搬送部230に供給することで、印刷用紙201に対する両面印刷が可能となる。
【0057】
(各実施形態に適用可能な印刷処理の詳細)
次に、各実施形態に適用可能な印刷処理について、より詳細に説明する。図7は、上位装置10とプリンタ装置13のプリンタコントローラ14との間で、制御線12を介して送受信される制御情報の一例を示す。なお、図7において、上位装置10をDFE(Digital Front End Processor)、プリンタコントローラ14をPCTLとして示している。制御情報は、大まかには、(1)ジョブ(JOB)情報と、(2)プリンタ状態および印刷プロセスを示す情報と、(3)印刷条件を示す情報と、(4)接続を示す情報とが含まれる。
【0058】
(1)のジョブ情報は、ジョブ(JOB)開始とジョブ終了とを通知する。ジョブ開始は、上位装置10からプリンタコントローラ14に対するジョブ開始の通知と、当該通知に対するプリンタ装置13から上位装置10への応答が含まれる。ジョブ終了は、上位装置10からプリンタコントローラ14に対する、ジョブ開始により要求した全印刷プロセスの終了の通知と、当該通知に対するプリンタコントローラ14から上位装置10への応答が含まれる。これらジョブ開始およびジョブ終了における応答の際に、ジョブを識別するためのジョブ識別子(JOBID)がプリンタコントローラ14から上位装置10に対して送信される。
【0059】
(2)のプリンタ状態および印刷プロセスを示す情報には、印刷プロセス受け付け開始と、プリンタ情報の要求および通知と、印刷プロセス開始と、印刷プロセス要求と、データ転送完了と、データ受信完了と、印刷プロセス完了と、プロセス状態報告と、SC(Service Control)通知と、エラー発生および解除とを通知する。
【0060】
印刷プロセス受け付け開始は、プリンタコントローラ14が印刷プロセスの受け付けが可能となったことをプリンタ装置13から上位装置10に対して通知する。プリンタ情報の要求および通知は、上位装置10からプリンタコントローラ14に対する必要なプリンタ情報の要求と、当該要求に対するプリンタコントローラ14から上位装置10に対する応答とが含まれる。
【0061】
印刷プロセス開始は、印刷画像データの準備が完了した旨の上位装置10からプリンタコントローラ14に対する通知と、当該通知に対するプリンタ装置13から上位装置10に対する応答を含む。印刷画像データの準備完了通知は、印刷画像データの出力順およびページ(プロセス)単位に行われる。ページは、一連の印刷動作で印刷が行われる印刷単位であるといえる。
【0062】
印刷プロセス要求は、プリンタコントローラ14から上位装置10に対する印刷プロセスの通知と、当該通知に対する上位装置10からプリンタコントローラ14に対する応答とが含まれる。プリンタコントローラ14は、この印刷プロセス要求により、印刷を行う色Y、C、MおよびKをそれぞれ示す色情報(Yellow, Cyan, Magenta or Black)、プロセス識別番号processIDおよびプレーン識別番号を上位装置10に対して通知する。単色のみを用いて印刷を行う場合は、印刷対象の色を示す色情報が、プロセス識別番号processIDおよびプレーン識別番号と共に上位装置10に対して通知される。
【0063】
なお、プレーンは、1ページに印刷される各色の印刷画像データによる画像それぞれに対応するものとする。プリンタコントローラ14は、プレーン単位およびエンジンすなわちデータ転送制御部30a、30b、30cおよび30dの要求順に従い、これらの情報を通知する。すなわち、ビットマップデータからなる印刷画像データは、プリンタエンジン15側から上位装置10に取りに行くことになる。
【0064】
データ転送完了は、上位装置10からプリンタコントローラ14に対して要求されたプレーンの印刷画像データの転送完了が通知される。データ受信完了は、プリンタコントローラ14から上位装置10に対して、要求したプレーンの印刷画像データの受信完了が通知される。印刷プロセス完了は、上位装置10からプリンタコントローラ14に対して、全ページ(プロセス)の印刷要求の完了が通知される。プロセス状態報告は、プリンタコントローラ14から上位装置10に対して、ページ(プロセス)の印刷状態が通知される。このとき、プリンタコントローラ14は、プリンタエンジン15から給紙、排紙および印刷開始に関する情報を取得し、取得したこれらの情報を当該通知に付加して上位装置10に送信する。
【0065】
SC通知は、上位装置10からプリンタコントローラ14に対してプリンタ装置13の障害情報の取得が要求されると共に、当該要求に対して取得された障害情報がプリンタコントローラ14から上位装置10に対して通知される。エラー発生および解除は、上位装置10側でのエラー発生および当該エラーの解除が上位装置10からプリンタコントローラ14に対して通知される。
【0066】
(3)の印刷条件を示す情報は、印刷条件の設定、すなわち、上位装置10からプリンタコントローラ14に対する印刷条件の通知と、当該通知に対するプリンタコントローラ14の応答とを含む。印刷条件の例としては、印刷形態、印刷種別、給排紙情報、印刷面順、印刷用紙サイズ、印刷データサイズ、解像度および階調、ならびに、色情報などを含む。
【0067】
印刷形態は、例えば印刷用紙201に対して両面印刷および片面印刷のうち何れを行うかを示す。印刷種別は、印刷画像データが存在しておりそれを印刷するのか、印刷画像データが存在しておらず白紙ページとするのかを示す。給排紙情報は、印刷用紙201の給紙元および排紙先のスタッカなどの識別情報を示す。印刷面順は、印刷用紙201に対して表面から裏面へと印刷するのか、裏面から表面へと印刷するのかを示す。印刷用紙サイズは、例えば印刷用紙201として連帳紙を用いる場合、印刷を行うページの印刷用紙201の搬送方向の長さを示す。印刷データサイズは、印刷画像データのデータサイズを示す。すなわち、印刷データサイズは、1ページ分の印刷画像データのサイズを示す。解像度および階調は、印刷画像データを印刷用紙201に印刷する際の解像度および階調を示す。また、色情報は、例えば印刷を色Y、C、MおよびK各色を用いたフルカラーで行うのか、色Kのみを用いた単色で行うかを示す。
【0068】
(4)の接続を示す情報は、登録および解除を含み、上位装置10およびプリンタコントローラ14のそれぞれで、互いの情報の登録および登録された情報の解除を行う。
【0069】
(印刷シーケンス)
次に、各実施形態に適用可能な印刷処理について説明する。図8は、各実施形態に適用可能な印刷処理を概念的に示す一例のシーケンス図である。ここでは、色Y、C、MおよびKの各色を用いたフルカラー印刷を行うものとする。プリンタコントローラ14は、上位装置10から制御情報として印刷用紙201に関する情報を受信したら(SEQ100)、受信した情報に基づき搬送制御部51に対して用紙送り長を設定する(SEQ103)。用紙送り長は、例えば搬送方向における1ページのサイズである。
【0070】
プリンタコントローラ14は、上位装置10から1ページ目(ページ#1)のジョブ開始を示す制御情報を受信したら(SEQ101)、データ転送制御部30a、30b、30cおよび30dのそれぞれに対して、色Y、C、MおよびK各色について1ページ目のデータ転送を開始するように要求する(SEQ110a、110b、110cおよび110d)。データ転送制御部30aは、この要求に従い、データ線11aを介して上位装置10に対して色Yの1ページ目の印刷画像データを要求し、この要求に応じて上位装置10から転送された色Yの1ページ目の印刷画像データをメモリ31aに格納する。
【0071】
各データ転送制御部30b、30cおよび30dについても同様に、SEQ110b、110cおよび110dの要求に従い、データ線11b、11cおよび11dを介して上位装置10に対して各色C、MおよびKの1ページ目の印刷画像データをそれぞれ要求する。各データ転送制御部30b、30cおよび30dは、この要求に応じて上位装置10から転送された各色C、MおよびKの1ページ目の印刷画像データを、それぞれメモリ31b、31cおよび31dに格納する。
【0072】
一方、この図8の例では、プリンタコントローラ14から各データ転送制御部30a、30b、30cおよび30dに対して1ページ目のデータ転送が要求されている間に、プリンタコントローラ14は、上位装置10から送信された次の2ページ目のジョブ開始を示す制御情報を受信する(SEQ102)。受信された制御情報は、例えばRAM323に保持される。
【0073】
各データ転送制御部30a、30b、30cおよび30dは、上位装置10からの各色の1ページ目の印刷画像データの転送が終了したら、それぞれ、その旨をプリンタコントローラ14に通知する(SEQ111a、111b、111cおよび111d)。プリンタコントローラ14は、当該通知にそれぞれ応答して、データ転送制御部30a、30b、30cおよび30dに対してそれぞれ2ページ目(ページ#2)のデータ転送を開始するように要求する(SEQ112a、112b、112cおよび112d)。
【0074】
この要求に応じて、各データ転送制御部30a、30b、30cおよび30dは、上位装置10に対して各色の2ページ目の印刷画像データをそれぞれ要求し、この要求に応じて上位装置10から転送された各色の2ページ目の印刷画像データを、それぞれメモリ31a、31b、31cおよび31dに格納する。
【0075】
なお、各データ転送制御部30a、30b、30cおよび30dは、転送された印刷画像データのデータ量に基づきデータ転送の終了を知ることができる。1ページ分の印刷画像のデータ量を示す情報は、例えば各データ転送制御部30a、30b、30cおよび30dに対するデータ転送開始時に、上位装置10が印刷画像データの先頭などに付加して送信する。また、印刷画像データを所定単位毎に転送する場合に、上位装置10が、1ページの最後の印刷画像データの転送単位に対して1ページ分の転送終了を示す終了情報を付加するようにしてもよい。さらに、上位装置10が、1ページ分の印刷画像データの転送直後などに、1ページ分の印刷画像データの転送終了を示す情報を印刷画像データとは別途に、各データ転送制御部30a、30b、30cおよび30dに対して送信することもできる。
【0076】
一方、プリンタコントローラ14は、各データ転送制御部30a、30b、30cおよび30dの全てから1ページ目のデータ転送終了の通知を受信したら、搬送制御部51に対して用紙搬送開始を要求する(SEQ113)。搬送制御部51は、この要求に応じて印刷用紙201の所定速度での搬送を開始する。また、プリンタコントローラ14は、搬送制御部51に対して用紙搬送開始の要求を行うと共に、各データ転送制御部30a、30b、30cおよび30dに対して、1ページ目の印刷の開始を指示する(SEQ114)。
【0077】
搬送制御部51は、例えば印刷用紙201が所定位置に到達したら、印刷可能状態である旨をプリンタコントローラ14に対して通知する(SEQ117)。プリンタコントローラ14は、この搬送制御部51からの印刷可能状態報告に応じて、各データ転送制御部30a、30b、30cおよび30dに対して印刷の先頭位置を指示する(SEQ118)。
【0078】
各データ転送制御部30a、30b、30cおよび30dは、印刷先頭指示に応じて印刷を開始する。この例では、印刷用紙201の搬送方向に沿って各色Y、C、MおよびKのヘッドがヘッド56a、56b、56c、56dの順に並べられているものとする。この場合、印刷用紙201における1ページ目の印刷の先頭位置がヘッド56aによる印刷位置に達したら、先ずデータ転送制御部30aにおいて、メモリ31aからの1ページ目の印刷画像データの読み出しが開始される。メモリ31aから読み出された色Yの印刷画像データは、画像出力部50に転送される。そして、印刷画像データが出力制御部55を介してヘッド56aに供給され、印刷用紙201に対する印刷が行われる(SEQ119a)。色Yの1ページ目の印刷が終了すると、その旨がプリンタコントローラ14に対して通知される(SEQ120a)。
【0079】
続けて、印刷用紙201における1ページ目の印刷の先頭位置がヘッド56bによる印刷位置に達したら、データ転送制御部30bにおいて、メモリ31bからの1ページ目の印刷画像データの読み出しが開始される。メモリ31bから読み出された色Cの印刷画像データは、画像出力部50に転送される。そして、出力制御部55を介してヘッド56bに供給され、印刷用紙201に対する印刷が開始される(SEQ119b)。色Cの1ページ目の印刷が終了したら、その旨がプリンタコントローラ14に対して通知される(SEQ120b)。
【0080】
以下同様にして、色MおよびKの印刷が順次開始され(SEQ119c、119d)、印刷が終了したら、その旨がプリンタコントローラ14に対して通知される(SEQ120cおよび120d)。
【0081】
一方、上述のSEQ112a〜112dで開始された2ページ目の各色の印刷画像データの転送が終了すると、各データ転送制御部30a、30b、30cおよび30dは、その旨をプリンタコントローラ14に対して通知する(SEQ115)。プリンタコントローラ14は、このデータ転送完了の通知に応じて、各データ転送制御部30a、30b、30cおよび30dに対して、2ページ目の印刷の開始をそれぞれ指示する(SEQ116)。
【0082】
各データ転送制御部30a、30b、30cおよび30dは、1ページ目の印刷の終了後に、それぞれ2ページ目の印刷を開始する。例えば、データ転送制御部30aは、1ページ目の印刷が完了(SEQ120a)した後、印刷用紙201における2ページ目の印刷の先頭位置がヘッド56aによる印刷位置に達したら、メモリ31aから2ページ目の色Yの印刷画像データを読み出して画像出力部50に供給し、印刷用紙201に対する印刷を開始する(SEQ121a)。色Yの印刷が終了したら、その旨がプリンタコントローラ14に対して通知される(SEQ122a)。
【0083】
各データ転送制御部30b、30cおよび30dにおいても、同様にして、2ページ目の先頭位置がヘッド56b、56cおよび56dによる印刷位置に達したら、メモリ31b、31cおよび31dから各色の印刷画像データを読み出し、印刷用紙201に対する印刷を開始する(SEQ121b〜121d)。各色の印刷が終了したら、その旨がプリンタコントローラ14に対してそれぞれ通知される(SEQ122b〜122d)。
【0084】
プリンタコントローラ14は、2ページ目の色Kの印刷終了通知をデータ転送制御部30dから受け取ると、印刷ジョブによる最終ページの印刷が終了したとして、搬送制御部51に対して印刷用紙201の搬送の停止を要求する(SEQ123)。搬送制御部51は、この要求に応じて印刷用紙201の搬送を停止させ、その旨をプリンタコントローラ14に対して報告する(SEQ124)。これにより、一連の印刷処理が終了する。
【0085】
(印刷処理の詳細)
次に、各実施形態に適用可能な印刷処理について、より具体的に説明する。各実施形態では、各データ転送制御部30a〜30dは、プリンタコントローラ14の制御に従い、印刷を制御するための制御情報を上位装置10から取得する。また、各データ転送制御部30a〜30dは、プリンタコントローラ14の制御に従い、上位装置10から転送された各色の印刷画像データを、それぞれメモリ31a〜31dに格納する。
【0086】
各実施形態に適用可能な印刷画像データのデータ転送処理について、図9−1〜図9−4のフローチャートを用いて説明する。なお、以下において、データ線11a、11b、11cおよび11dは、それぞれ色Y、色C、色Mおよび色Kの印刷画像データが転送され、データ転送制御部30a、30b、30cおよび30dは、それぞれ色Y、色C、色Mおよび色Kの印刷画像データの転送を制御するものとする。
【0087】
図9−1は、データ転送に係る上位装置10における処理の例を示すフローチャートである。上位装置10は、ホスト装置5からのジョブデータを受信すると、ステップS100で、ジョブ開始を示す制御情報をプリンタコントローラ14に対して制御線12を介して送信する。そして、当該制御信号に応答してプリンタコントローラ14から送信される、印刷プロセス受け付けを示す制御信号を待機する(ステップS101)。
【0088】
上位装置10は、プリンタコントローラ14からの印刷プロセス受け付けを示す制御信号を受信すると、ステップS102で、ジョブデータに示される印刷条件を示す制御情報を、プリンタコントローラ14に対して制御線12を介して送信し、次のステップS103で、ページ番号をnとして、nページ目の印刷プロセス開始の制御信号をプリンタコントローラ14に対して制御線12を介して送信する。このステップS103からステップS112までの処理は、ページ単位の処理となる。
【0089】
ステップS104〜ステップS110の処理は、Y、C、M、K各色について実行される処理となる。以下、色Yに関する処理を中心に説明する。上位装置10は、ステップS104で、プリンタコントローラ14からの、例えば色Yの印刷画像データの要求を待機する。上位装置10は、プリンタコントローラ14から制御線12を介して送信されたデータ要求を受信すると、ステップS105で、受け取ったデータ要求に対する応答をプリンタコントローラ14に返す。そして、次のステップS106で、データ転送制御部30aからデータ線11aを介して送信されるデータ転送要求を待機する。
【0090】
上位装置10は、データ転送制御部30aからのデータ転送要求をデータ線11aを介して受信すると、ステップS107で、データ転送制御部30aに対する色Yの印刷画像データの転送を開始する。色Yの印刷画像データは、データ線11aを介してデータ転送制御部30aに転送される。このとき、上位装置10は、転送する色Yの印刷画像データに対して、当該印刷画像データのサイズを示す情報を付加する。
【0091】
上位装置10は、ステップS108で、色Yの1ページ分のデータ転送が終了するのを待機する。図2−2を参照し、上位装置10は、例えば、制御部124が記憶部122およびインターフェイス123を監視し、Y、C、M、K各色について、1ページ分のデータ量の転送が行われたか否かをそれぞれ判定する。色Yの1ページ分のデータ転送が終了したと判定された場合、処理はステップS109に移行され、1ページ分のデータ転送が終了したことを示すデータ転送終了通知が制御線12を介してプリンタコントローラ14に対して送信される。そして、上位装置10は、次のステップS110で、プリンタコントローラ14からの色Yについてのデータ受信完了通知を待機する。
【0092】
上位装置10は、ステップS111で、Y、C、M、Kの全色について、データ受信完了通知を受信したか否かを判定する。若し、受信していないと判定した場合、処理をステップS104に戻し、次の色について処理を実行する。
【0093】
なお、図9−1では、ステップS104〜ステップS110の処理がY、C、M、K各色について順次実行されるように説明したが、これはこの例に限定されない。例えば、ステップS104〜ステップS110の処理を、Y、C、M、K各色について並列的に実行することも可能である。この場合、ステップS111は、Y、C、M、K各色の処理におけるステップS110でのデータ受信完了通知を待機することになる。
【0094】
上位装置10は、ステップS111で、Y、C、M、Kの全色についてデータ受信完了通知を受信したと判定したら、処理をステップS112に移行させ、次のページの印刷処理を行うか否かを判定する。印刷を行うページ数は、ホスト装置5から受信した印刷ジョブデータから取得することができる。若し、次ページの印刷処理があると判定された場合、ページ番号n=n+1とされて処理がステップS103に戻される。
【0095】
一方、印刷ジョブデータに示される全ページ分のデータ転送が終了したと判定された場合、処理がステップS113に移行され、上位装置10は、プリンタコントローラ14からの全ページの排紙報告が待機される。上位装置10は、プリンタコントローラ14からの全ページの排紙報告を受信した場合、処理をステップS114に移行させ、プリンタコントローラ14に対して、制御線12を介して全ての印刷ジョブが終了した旨を示すジョブ終了通知を送信する。
【0096】
図9−2は、データ転送に係るプリンタコントローラ14における処理の例を示すフローチャートである。プリンタコントローラ14は、ステップS120で、制御線12を介して上位装置10から送信されるジョブ開始を示す制御情報を待機する。プリンタコントローラ14は、この制御情報を受信したら、次のステップS121で、上位装置10に対して、制御線12を介して応答を返す。さらに、プリンタコントローラ14は、このステップS121で、上位装置10に対して、制御線12を介して印刷プロセス受け付け開始を示す制御情報を送信する。そして、次のステップS122で、上位装置10から制御線12を介して送信された印刷条件を示す制御情報を受信する。
【0097】
次のステップS123で、プリンタコントローラ14は、上位装置10から制御線12を介して送信される、nページ目の印刷プロセス開始を示す制御信号を受信したか否かを判定する。若し、受信していないと判定されたら、処理をステップS130に移行させ、上位装置10から制御線12を介してジョブ終了通知を受信したか否かを判定する。若し、ジョブ終了通知を受信していないと判定したら、処理をステップS123に戻す。一方、ステップS130でジョブ終了通知を受信したと判定したら、一連の印刷処理が終了される。
【0098】
プリンタコントローラ14は、ステップS123で、上位装置10から制御線12を介して送信された印刷プロセス開始を示す制御信号を受信したと判定したら、処理をステップS124に移行させる。以下のステップS124〜ステップS128の処理は、Y、C、M、K各色の処理となる。ここでは、色Yの印刷画像データの転送処理について説明する。
【0099】
ステップS124で、プリンタコントローラ14は、上位装置10に対して、制御線12を介して印刷画像データを要求し、次のステップS125で、この要求に対する上位装置10からの応答を待機する。プリンタコントローラ14は、上位装置10からの応答を受信したら、次のステップS126で、データ転送制御部30aに対して、エンジンI/F制御線40aを介してデータ転送の開始を要求する。
【0100】
このとき、プリンタコントローラ14は、図15を用いて後述する転送管理テーブルから、少なくとも、印刷を行うページ(nページ目)を示すページ識別子PBIDと、印刷画像データの転送元のアドレスを示す転送元アドレスとを抽出する。そして、プリンタコントローラ14は、抽出されたこれらページ識別子PBIDと転送元アドレスとを、データ転送の開始を要求するデータ転送開始要求に付加して、例えばデータ転送制御部30aに送信する。
【0101】
次のステップS127で、プリンタコントローラ14は、上位装置10からのデータ転送終了通知と、データ転送制御部30aからのデータ転送終了通知とを待機する。プリンタコントローラ14は、これら上位装置10およびデータ転送制御部30aからそれぞれ制御線12およびエンジンI/F制御線40aを介してデータ転送終了通知を受信したら、処理をステップS128に移行させ、色Yについてのデータ受信完了通知を、上位装置10に対して制御線12を介して送信する。
【0102】
プリンタコントローラ14は、ステップS129で、Y、C、M、Kの全色のデータ転送が終了したか否かを判定する。若し、終了していないと判定した場合、処理をステップS124に戻し、次の色について処理を実行する。一方、プリンタコントローラ14は、ステップS129でY、C、M、Kの全色のデータ転送が終了したと判定した場合、ページ番号n=n+1として処理をステップS123に戻す。
【0103】
なお、図9−2では、ステップS124〜ステップS128の処理がY、C、M、K各色について順次実行されるように説明したが、これはこの例に限定されない。例えば、ステップS124〜ステップS128の処理を、Y、C、M、K各色について並列的に実行することも可能である。この場合、ステップS129は、Y、C、M、K各色の処理におけるステップS128でのデータ受信完了通知を待機することになる。
【0104】
なお、プリンタコントローラ14は、データ転送制御部30a〜30dに対して、各エンジンI/F制御線40a〜40dを介して印刷指示を送信する。この印刷指示により、各データ転送制御部30a〜30dにおいてメモリ31a〜31dから印刷画像データが読み出され、印刷用紙201に対する印刷画像データの印刷が実行される。
【0105】
なお、プリンタコントローラ14から各データ転送制御部30a〜30dに対して送信される印刷指示は、例えば図7を用いて説明した制御情報のうち、印刷条件の設定の情報といった、印刷を行うために必要な情報によるテーブルとして作成することができる。プリンタコントローラ14は、こうして作成したテーブルを、各データ転送制御部30a〜30dに対して送信する。
【0106】
図9−3は、このプリンタコントローラ14が印刷指示を行う際の一例の処理を示すフローチャートである。なお、このフローチャートの実行に先立って、プリンタコントローラ14が搬送制御部51に対して、既に印刷準備指示を送信しているものとする。
【0107】
プリンタコントローラ14は、ステップS140で、上位装置10からジョブ終了通知が送信されたか否かを判定する。若し、送信されたと判定したら、一連の処理を終了する。上位装置10からジョブ終了通知が送信されていないと判定した場合、処理をステップS141に移行させる。
【0108】
ステップS141では、プリンタコントローラ14は、Y、C、M、K各色について少なくとも1ページ分の印刷画像データの転送終了を待機する。プリンタコントローラ14は、1ページ分の印刷画像データの転送が終了したと判定したら、処理をステップS142に移行させ、搬送制御部51からの印刷準備完了を示す応答の受信が待機される。プリンタコントローラ14は、搬送制御部51から送信された印刷準備完了を示す応答を、搬送制御線41を介して受信すると、次にステップS143において、各データ転送制御部30a〜30dに対して、nページ目の印刷を指示する印刷指示を、エンジンI/F制御線40a〜40dを介して送信する。
【0109】
図9−4は、データ転送に係る各データ転送制御部30a〜30dにおける処理の例を示すフローチャートである。ここでは、説明のため、色Y、データ転送制御部30aでの処理について説明する。データ転送制御部30aは、ステップS150で、プリンタコントローラ14からエンジンI/F制御線40aを介して送信されるデータ転送開始要求を待機する。
【0110】
データ転送制御部30aは、データ転送開始要求を受信すると、次のステップS151で、上位装置10に対して、色Yの印刷画像データの転送を要求するデータ転送要求を、データ線11aを介して送信する。このデータ転送要求に応じて上位装置10からデータ線11aを介して転送される、色Yの印刷画像データを、データ転送制御部30aが受信する(ステップS152)。データ転送制御部30aは、データ転送DMA133aを制御して、受信した色Yの印刷画像データをメモリ31aの所定の領域に格納する(ステップS153)。
【0111】
データ転送制御部30aは、ステップS154で、上位装置10からの色Yの印刷画像データの転送が終了したか否かを判定する。データ転送制御部30aは、例えば、転送される印刷画像データに付加されるサイズ情報に基づき、印刷画像データの転送が終了したか否かを判定することができる。若し、印刷画像データの転送が終了していないと判定した場合は、処理をステップS152に戻し、データの受信およびメモリ31aへの格納を継続する。一方、印刷画像データの転送が終了したと判定したら、処理をステップS155に移行させ、プリンタコントローラ14に対して、エンジンI/F制御線40aを介してデータ転送終了通知を送信する。そして、処理がステップS150に戻される。
【0112】
図10−1〜図10−3は、上述した図9−1〜図9−4に示した各フローチャートに従って実行される、各実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。なお、図10−1〜図10−3において、符号A〜Fは、異なる図面間で対応する符号に処理が移行することを示す。また、以下では、印刷ジョブは、全2ページの印刷を行うものであるとする。
【0113】
図10−1を参照し、先ず、上位装置10からプリンタコントローラ14に対して制御線12を介してジョブ開始の制御情報が送信される(SEQ200)。プリンタコントローラ14は、この制御情報に対して、ジョブ識別子jobID=1を応答する制御情報を、制御線12を介して上位装置10に送信する(SEQ201)。それと共に、プリンタコントローラ14は、ジョブの開始に伴いジョブを実行するためのリソースを獲得する。そして、プリンタコントローラ14は、上位装置10に対して、印刷プロセス受け付け開始を示す制御情報を制御線12を介して送信する(SEQ202)。
【0114】
次に、上位装置10は、プリンタコントローラ14に対して、印刷条件を設定する制御情報を制御線12を介して送信する(SEQ203)。プリンタコントローラ14に対して設定される印刷条件は、図7を用いて説明したように、印刷形態、印刷種別、給排紙情報、印刷面順、印刷用紙サイズ、印刷画像データのデータサイズ、解像度および階調、ならびに、色情報が含まれる。また、印刷を行うページ数の情報も、印刷条件に含ませることができる。この制御情報がプリンタコントローラ14に受信されると、受信した制御情報に含まれる各種の印刷条件が、例えばプリンタコントローラ14のレジスタなどに書き込まれ、印刷条件が設定される。
【0115】
次に、上位装置10は、1ページ目の印刷プロセス開始の制御情報を、制御線12を介してプリンタコントローラ14に送信する(SEQ204)。この制御情報は、当該プロセスを識別するためのプロセス識別番号processID=1と、1ページ目を構成する画像を示す画像識別番号imageID=1とを含む。プリンタコントローラ14は、この印刷プロセス開始に対する応答である印刷プロセス開始の制御情報を上位装置10に返す(SEQ205)。
【0116】
次に、プリンタコントローラ14は、上位装置10に対して、印刷プロセス要求の制御情報を送信し、印刷画像データを要求する。この印刷プロセス要求は、色Y、C、MおよびKの各色について、プリンタエンジン15における色の並び順に従って、順次行われる。この例では、印刷用紙201の搬送方向に沿って各色Y、C、MおよびKのヘッドがヘッド56a、56b、56c、56dの順に並べられているものとする。
【0117】
先ず、プリンタコントローラ14は、色Yの印刷画像データを要求する印刷プロセス要求の制御情報を、上位装置10に対して制御線12を介して送信する(SEQ206)。この制御情報は、プロセスを指定するプロセス識別番号processID=1と、色Yを指定する色情報Yellowとが含まれる。上位装置10は、この制御情報に対する応答として、画像識別番号imageID=1を含む制御情報をプリンタコントローラ14に返す(SEQ207)。プリンタコントローラ14は、この制御情報を受信すると、色Yに対応するデータ転送制御部30aに対して印刷画像データの転送を開始するよう要求する(SEQ208)。このとき、プリンタコントローラ14は、例えば、転送の開始を要求する印刷画像データのデータサイズを、この要求と共にデータ転送制御部30aに送信する。
【0118】
データ転送制御部30aは、この要求を受けて、データ線11aを介して上位装置10に対して色Yのプレーンの印刷画像データを要求し(SEQ209A)、この要求に応じて、上位装置10からデータ転送制御部30aに対して、色Yの印刷画像データが転送される(SEQ209)。転送された印刷画像データは、データ転送制御部30aのメモリ31aにおける、1ページ目の印刷画像データのために割り当てられた領域に格納される。
【0119】
以下、他の各色C、MおよびKについても、上述のSEQ206、SEQ207、SEQ208、SEQ209AおよびSEQ209と同様の処理が繰り返され、各色の印刷画像データが上位装置10から各データ線11b、11cおよび11dを介してデータ転送制御部30b、30cおよび30dにそれぞれ転送され、メモリ31b、31cおよび31dそれぞれの、1ページ目の印刷画像データのために割り当てられた領域に格納される(SEQ210〜SEQ221)。
【0120】
また、上位装置10は、1のプレーンの印刷画像データの転送が終了すると、データ転送完了の制御情報をプリンタコントローラ14に対して送信する。プリンタコントローラ14は、この制御情報に応じて、印刷画像データの受信完了の制御情報を上位装置10に送信する。
【0121】
例えば、上位装置10は、色Yのプレーンの印刷画像データの転送が終了すると、画像識別番号imageID=1と色情報Yellowとを含むデータ転送完了の制御情報をプリンタコントローラ14に対して送信する(SEQ222)。一方、データ転送制御部30aは、上位装置10からデータ線11aを介しての印刷画像データの転送が終了すると、その旨示す通知をプリンタコントローラ14に対して送信する(SEQ223)。プリンタコントローラ14は、この通知に応じて、画像識別番号imageID=1と、色情報Yellowとを含むデータ受信完了の制御情報を上位装置10に対して送信する(SEQ224)。
【0122】
以下、他の各色C、MおよびKについても、各印刷画像データの転送終了に伴い上述のSEQ222〜SEQ224と同様の処理が繰り返され、上位装置10に対してデータ受信完了の制御情報が送信される(SEQ225〜SEQ233)。
【0123】
プリンタコントローラ14は、SEQ233で、1ページ目の最後の印刷画像データ(すなわち色Kの印刷画像データ)についてのデータ受信完了の制御情報を上位装置10に送信した後に、搬送制御部51に対して印刷の準備を指示する。搬送制御部51は、この指示に従い印刷用紙201の印刷位置への搬送を開始する。
【0124】
説明は図10−2に移り、1ページ目の各色の印刷画像データの転送が完了すると、上位装置10は、2ページ目の印刷プロセス開始の制御情報を、制御線12を介してプリンタコントローラ14に送信する(SEQ234)。この制御情報は、当該2ページ目のプロセスを識別するプロセス識別番号processID=2と、2ページ目を構成する画像を示す画像識別番号imageID=2とを含む。プリンタコントローラ14は、この印刷プロセス開始に対する応答である印刷プロセス開始の制御情報を上位装置10に返す(SEQ235)。
【0125】
例えば全2ページの印刷を行う場合には、このSEQ234およびSEQ235の処理で印刷プロセス開始要求が完了することになる。そのため、上位装置10は、SEQ235で2ページ目の印刷プロセス開始要求に対する応答を受け取ると、SEQ236で、ジョブ識別子jobID=1が指定されたプロセス開始要求完了の制御情報を、プリンタコントローラ14に対して送信する。
【0126】
次に、上述したSEQ206〜SEQ221と同様にして、プリンタコントローラ14は、上位装置10に対して印刷プロセス要求の制御情報を送信し、印刷画像データを要求する。この印刷プロセス要求は、色Y、C、MおよびKの各色について、プリンタエンジン15における色の並び順に従って、順次行われる。
【0127】
先ず、プリンタコントローラ14は、色Yの印刷画像データを要求する印刷プロセス要求の制御情報を、上位装置10に対して制御線12を介して送信する(SEQ237)。この制御情報は、プロセスを指定するプロセス識別番号processID=2と、色Yを指定する色情報Yellowとが含まれる。上位装置10は、この制御情報に対する応答として、画像識別番号imageID=2を含む制御情報をプリンタコントローラ14に返す(SEQ238)。プリンタコントローラ14は、この制御情報を受信すると、色Yに対応するデータ転送制御部30aに対して印刷画像データの転送を開始するよう要求する(SEQ239)。
【0128】
データ転送制御部30aは、この要求を受けて、データ線11aを介して上位装置10に対して色Yのプレーンの印刷画像データを要求し(SEQ240A)、この要求に応じて、上位装置10からデータ転送制御部30aに対して、色Yの印刷画像データが転送される(SEQ240)。転送された印刷画像データは、データ転送制御部30aのメモリ31aにおける2ページ目の印刷画像データのために割り当てられた領域に格納される。
【0129】
以下、他の各色C、MおよびKについても、上述のSEQ237、SEQ238、SEQ239、SEQ240AおよびSEQ240と同様の処理が繰り返され、各色の印刷画像データが上位装置10から各データ線11b、11cおよび11dを介してデータ転送制御部30b、30cおよび30dにそれぞれ転送され、メモリ31b、31cおよび31dそれぞれの2ページ目の印刷画像データのために割り当てられた領域に格納される(SEQ244〜SEQ251、SEQ255〜SEQ258)。
【0130】
また、上述と同様に、上位装置10は、1のプレーンの印刷画像データの転送終了毎に、データ転送完了の制御情報をプリンタコントローラ14に対して送信する。プリンタコントローラ14は、この制御情報に応答して、印刷画像データの受信完了の制御情報を上位装置10に送信する。
【0131】
図10−2の例では、上位装置10は、SEQ240で転送された色Yの印刷画像データの転送が終了されると、データ転送完了の制御情報をプリンタコントローラ14に対して送信する(SEQ252)。データ転送制御部30aは、上位装置10からデータ線11aを介しての印刷画像データの転送が終了すると、その旨示す通知をプリンタコントローラ14に対して送信する(SEQ253)。プリンタコントローラ14は、この通知に応答して、画像識別番号imageID=2と、色情報Yellowとを含むデータ受信完了の制御情報を上位装置10に対して送信する(SEQ254)。
【0132】
以下、他の各色C、MおよびKについても、各印刷画像データの転送終了に伴い上述のSEQ252〜SEQ254と同様の処理が行われ、上位装置10に対してデータ受信完了の制御情報が送信される(SEQ259〜SEQ267)。
【0133】
なお、図10−2の例では、上述したSEQ234の直前における搬送制御部51に対する印刷準備の指示に対する、搬送制御部51からの印刷準備が完了した旨の応答が、SEQ240の直後に、搬送制御部51からプリンタコントローラ14に対して通知されている。プリンタコントローラ14は、この通知を受信すると、それぞれプロセス識別番号processID=1およびプロセス識別番号processID=2とした、印刷プロセス開始の2の制御情報を、上位装置10に対して送信する(SEQ241、SEQ243)。これにより、上位装置10に対して、1ページ目および2ページ目の印刷が可能となった旨が通知される。
【0134】
また、SEQ241の時点で、1ページ目の各色の印刷画像データのデータ転送制御部30a、30b、30cおよび30dへの転送が完了している。そのため、プリンタコントローラ14は、各データ転送制御部30a、30b、30cおよび30dに対して、1ページ目の印刷を行う印刷指示をそれぞれ通知する(SEQ242)。この印刷指示は、例えば各データ転送制御部30a、30b,30cおよび30dにおいて、メモリ31a,31b,31cおよび31dにそれぞれ格納されるなどにより保持される。この印刷指示に従った実際の印刷動作は、後続するページの印刷動作などとタイミングを合わせて実行される。
【0135】
さらに、図10−2の例では、プリンタコントローラ14において、SEQ241およびSEQ243の印刷プロセス開始の制御情報の送信により、2番目に転送が開始される色Cのプレーンの印刷画像データの上位装置10に対する要求が遅延している(SEQ244参照)。そして、この遅延に伴い、最初に転送が開始された色Yのプレーンの印刷画像データの転送が、色Kのプレーンの印刷画像データの転送が開始される前に完了してしまっている(SEQ253参照)。さらにまた、色Yのプレーンの印刷画像データの転送完了の通知処理(SEQ253)の後に、色Kのプレーンの印刷画像データの転送が開始されている(SEQ257、SEQ258)。
【0136】
図10−1に示す1ページ目のデータ転送処理では、各色の印刷画像データの転送が各色の順序で行われ、印刷画像データの転送が終了した後に、データ転送の終了処理が各色の順序で行われている。これに対して、図10−2に示す2ページ目のデータ転送処理では、各色の印刷画像データの転送が終了しないうちに、データ転送の終了処理が開始してしまっている。
【0137】
上述のように、各色Y、C、MおよびKのデータ転送を制御するデータ転送制御部30a、30b、30cおよび30dがそれぞれ独立した構成とされ、プリンタコントローラ14は、各データ転送制御部30a、30b、30cおよび30dとそれぞれ独立して通信を行うことができ、また、各データ転送制御部30a、30b、30cおよび30dは、それぞれ独立して処理を実行する。そのため、このように、各データ転送制御部30a、30b、30cおよび30dによる一連の処理の途中に他の処理が割り込んできても、それぞれの処理を変更する必要が無い。
【0138】
SEQ267で、プリンタコントローラ14が上位装置10に対して色Kのプレーンの印刷画像データの転送が完了したことを通知すると、プリンタコントローラ14は、各データ転送制御部30a、30b、30cおよび30dに対して2ページ目の印刷を行う印刷指示をそれぞれ通知する(SEQ268)。
【0139】
説明は図10−3に移り、プリンタエンジン15においてSEQ242の印刷指示に従い1ページ目の印刷が実行され、印刷用紙201の給紙が開始される。プリンタエンジン15は、この1ページ目の給紙開始をプリンタコントローラ14に対して通知する(SEQ269)。プリンタコントローラ14は、この通知を受信すると、上位装置10に対して、プロセス識別番号processID=1として、1ページ目の給紙が開始されたことを示す制御情報を送信する(SEQ270)。それと共に、プリンタコントローラ14は、データ転送制御部30a、30b、30cおよび30dに対して、互いに同期して印刷を実行するよう、印刷指示を送信する。この印刷指示に従い、データ転送制御部30a、30b、30cおよび30dは、各メモリ31a、31b、31cおよび31dから各色Y、C、MおよびKの印刷画像データをそれぞれ読み出し、印刷用紙201に対する1ページ目の各プレーンの印刷を順次行う。
【0140】
同様に、プリンタエンジン15は、1ページ目の印刷が完了し、2ページ目の印刷に移行すると、2ページ目の給紙開始をプリンタコントローラ14に通知する(SEQ271)。プリンタコントローラ14は、この通知を受信すると、上位装置10に対して、プロセス識別番号processID=2として、2ページ目の給紙が開始されたことを示す制御情報を送信する(SEQ272)と共に、データ転送制御部30a、30b、30cおよび30dに対して、互いに同期して印刷を実行するよう、印刷指示を送信する。この印刷指示に従い、データ転送制御部30a、30b、30cおよび30dは、各メモリ31a、31b、31cおよび31dから各色Y、C、MおよびKの印刷画像データをそれぞれ読み出し、印刷用紙201に対する2ページ目の各プレーンの印刷を順次行う。
【0141】
また、プリンタエンジン15は、1ページ目の各色の印刷が終了し印刷用紙201の1ページ目が排紙されると、その旨をプリンタコントローラ14に通知する(SEQ273)。プリンタコントローラ14は、この通知を受信すると、上位装置10に対して、プロセス識別番号processID=1として、1ページ目の印刷用紙201が排紙されたことを示す制御情報を送信する(SEQ274)。同様に、プリンタエンジン15は、2ページ目の各色の印刷が終了し、印刷用紙201の2ページ目が排紙されると、その旨をプリンタコントローラ14に通知し(SEQ275)、プリンタコントローラ14は、この通知に応じてプロセス識別番号processID=2として2ページ目の印刷用紙201が排紙されたことを示す制御情報を上位装置10に対して送信する(SEQ276)。
【0142】
上位装置10は、プリンタコントローラ14から、例えばSEQ203で印刷条件の設定の制御情報に含まれる、印刷ページ数を示す情報に対応する排紙報告を受信したら、SEQ200で開始を通知したジョブによる印刷が終了したとして、ジョブ識別番号jobID=1としたジョブ終了の制御情報をプリンタコントローラ14に対して送信する(SEQ277)。プリンタコントローラ14は、この制御情報を受信すると、ジョブ識別番号jobID=1として、応答の制御情報を上位装置10に送信する(SEQ278)。これにより、一連の印刷処理が終了する。
【0143】
上述したように、印刷画像データの上位装置10からの転送タイミングの制御や、上位装置10との間の制御情報のやりとりなど、従来、各色のデータ転送制御部がそれぞれ行っていた機能を、プリンタコントローラ14が一括して行うようにしている。また、各色に対応するデータ転送制御部(データ転送制御部30a〜30d)は、印刷画像データを受信および読み出しのみを行うようにしている。そのため、印刷画像データの転送処理を高速化することができる。
【0144】
また、各色Y、C、MおよびKのデータ転送を制御するデータ転送制御部30a、30b、30cおよび30dがそれぞれ独立した構成とされている。それと共に、プリンタコントローラ14と各データ転送制御部30a、30b、30cおよび30dとがエンジンI/F制御線40a、40b、40cおよび40dでそれぞれ接続され、プリンタコントローラ14と各データ転送制御部30a、30b、30cおよび30dとの間の通信は、データ転送制御部30a、30b、30cおよび30dそれぞれで独立して行われる。また、各データ転送制御部30a、30b、30cおよび30dは、それぞれ独立して処理を実行する。
【0145】
そのため、上述の例えばSEQ237〜SEQ266のように、各データ転送制御部30a、30b、30cおよび30dによる一連の処理の途中に他の処理が割り込んできても、それぞれの処理を変更する必要が無い。また、各データ転送制御部30a、30b、30cおよび30dの処理が独立しているため、データ転送制御部30a、30b、30cおよび30dの追加や削除を容易に行うことができ、システム構成の様々なバリエーションを共通の構成で提供することができる。
【0146】
(データ転送処理の別の例)
次に、上述したデータ転送処理の別の例について説明する。上述では、各色の印刷画像データの転送処理に際して、上位装置10は、各色のデータ転送制御部30a〜30dから各データ線11a〜11dを介して送信されたデータ転送要求に応じて、各色の印刷画像データを転送していた。これに対して、本例では、データ転送制御部30a〜30dから上位装置10に対してデータ転送要求を送信しない。上位装置10は、プリンタコントローラ14からのデータ要求に応答した後、直接的に、データ転送制御部30a〜30dに対してデータ線11a〜11dを介して各色の印刷画像データを転送する。
【0147】
データ転送処理の別の例による印刷画像データのデータ転送処理について、図11−1および図11−2のフローチャートを用いて説明する。図11−1は、本例による、データ転送に係る上位装置10における処理の例を示すフローチャートである。なお、図11−1において、上述した図9−1と共通する処理には同一の符号を付し、詳細な説明を省略する。
【0148】
図11−1のフローチャートに示されるように、上位装置10の処理は、ステップS100のジョブ開始を示す制御情報の送信から、ステップS105の、プリンタコントローラ14からのデータ要求に対する応答をプリンタコントローラ14に返すまでの処理は、図9−1で説明した処理と同一であるので、ここでの説明を省略する。
【0149】
本例では、上位装置10は、ステップS105でプリンタコントローラ14からのデータ要求に対する応答をプリンタコントローラ14に制御線12を介して送信した後、処理をステップS160に移行させる。ステップS160で、上位装置10は、例えば色Yの印刷画像データを、データ線11aを介してデータ転送制御部30aに送信し、データ転送制御部30a内のメモリ31aに格納する。このとき、上位装置10は、例えば、送信する印刷画像データに対してメモリ31aのアドレス情報を付加してデータ転送制御部30aに送信する。データ転送制御部30aは、印刷画像データに付加されたアドレス情報に従い、当該印刷画像データをメモリ31aに格納する。
【0150】
上位装置10は、ステップS160による印刷画像データの転送処理を、所定量、例えば1ページ分の印刷画像データの転送が終了するまで行う。上位装置10は、ステップS108で、印刷画像データの転送が終了したと判定したら、ステップS109でデータ転送終了通知をプリンタコントローラ14に対して制御線12を介して送信し、ステップS110で、この通知に対するプリンタコントローラ14からの応答を待機する。以降は、上述した図9−1で説明した処理と同一であるので、ここでの説明を省略する。
【0151】
本例において、プリンタコントローラ14におけるデータ転送処理および印刷指示処理は、図9−2および図9−3を用いて説明した処理と何ら変わるところが無いので、ここでの説明は省略する。
【0152】
図11−2は、本例による、データ転送に係るデータ転送制御部30aにおける処理の別の例を示すフローチャートである。なお、図11−2において、上述した図9−4と共通する処理には同一の符号を付し、詳細な説明を省略する。
【0153】
ステップS150で、データ転送制御部30aは、プリンタコントローラ14からエンジンI/F制御線40aを介して送信されるデータ転送開始要求を待機する。データ転送制御部30aは、プリンタコントローラ14からのデータ転送開始要求を受信すると、処理をステップS161に移行させ、上位装置10からデータ線11aを介して転送される色Yの印刷画像データを受信する。そして、データ転送制御部30aは、当該印刷画像データに付加されるアドレス情報に従い、当該印刷画像データをメモリ31aに格納する。
【0154】
データ転送制御部30aは、ステップS154で、上位装置10からの色Yの印刷画像データの転送が終了したか否かを判定する。データ転送制御部30aは、例えば、上位装置10が転送する印刷画像データに付加したサイズ情報に基づき、印刷画像データの転送が終了したか否かを判定する。上位装置10が印刷画像データ転送の終了時に、その旨示す情報をデータ転送制御部30aに送信してもよい。若し、印刷画像データの転送が終了していないと判定した場合は、処理をステップS161に戻し、データの受信およびメモリ31aへの格納を継続する。
【0155】
一方、印刷画像データの転送が終了したと判定したら、処理をステップS155に移行させ、プリンタコントローラ14に対して、エンジンI/F制御線40aを介してデータ転送終了通知を送信する。そして、処理がステップS150に戻される。
【0156】
このように、データ転送制御部30a〜30dから上位装置10に対してデータ転送要求を送信せずに、上位装置10がプリンタコントローラ14からのデータ要求に応答した後、直接的に、データ転送制御部30a〜30dに対してデータ線11a〜11dを介して各色の印刷画像データを転送する方式を用いることも可能である。
【0157】
(第1のメモリ管理方法)
次に、各実施形態に適用可能な第1のメモリ管理方法について説明する。各実施形態では、各データ転送制御部30a〜30dがそれぞれ有するメモリ31a〜31dの管理を、プリンタコントローラ14側で一元的に行う。なお、以下では、印刷画像データがC、M、Y、K各色で同一サイズのビットマップデータによって、上位装置10からプリンタ装置13に供給されるものとして説明する。
【0158】
各実施形態では、図12に例示されるように、プリンタコントローラ14において、各メモリ31a〜31dそれぞれのメモリ空間と同一のメモリ空間を持つ仮想的なメモリ60(以下、仮想メモリ60と呼ぶ)を定義する。プリンタコントローラ14は、上位装置10から転送された印刷画像データを各メモリ31a〜31dに対して書き込む先頭位置(入力ポインタと呼ぶ)と、メモリ31a〜31dから印刷画像データを読み出す際の先頭位置(出力ポインタと呼ぶ)とを、それぞれ仮想メモリ60上で管理する。
【0159】
プリンタコントローラ14は、各メモリ31a〜31dに対して書き込みを行う際には、入力ポインタが示すアドレスを各データ転送制御部30a〜30dにそれぞれ渡す。各データ転送制御部30a〜30dは、プリンタコントローラ14から渡されたこの入力ポインタが示すアドレスを先頭アドレスとして、データの書き込みを開始する。同様に、プリンタコントローラ14は、各メモリ31a〜31dからデータの読み出しを行う際には、出力ポインタが示すアドレスを各データ転送制御部30a〜30dにそれぞれ渡す。各データ転送制御部30a〜30dは、プリンタコントローラ14から渡されたこの出力ポインタが示すアドレスを先頭アドレスとして、各メモリ31a〜31dからのデータの読み出しを開始する。
【0160】
プリンタコントローラ14は、入力ポインタを、1ページ分の書き込みが終了したら1ページ分アドレスを移動させて更新する。同様に、出力ポインタを、1ページ分の読み出しが終了したら1ページ分アドレスを移動させて更新する。各メモリ31a〜31dの書き込み開始位置および読み出し開始位置がプリンタコントローラ14側で一元的に管理されるため、ページ単位での各メモリ31a〜31dの記憶領域の確保および解放が容易となる。
【0161】
仮想メモリ60は、例えば、各メモリ31a〜31dのメモリ空間を示す情報であるアドレスマップとして構成される。図13は、仮想メモリ60のより具体的な例を示す。一例として、図13(a)に示されるように、実メモリである各メモリ31a〜31dは、それぞれ、利用可能な領域の先頭位置を示すTopアドレスが「0000h」、利用可能な領域の終端位置を示すBottomアドレスが「FFFFh」であるものとする。アドレスは、TopアドレスからBottomアドレスの方向に向けて、所定単位毎に増加される。なお、アドレス表記において「h」は、直前の文字列が16進表記の数値であることを示す。
【0162】
仮想メモリ60のTopアドレスおよびBottomアドレスは、それぞれ、各メモリ31a〜31dのTopアドレスおよびBottomアドレスと同一の、「0000h」および「FFFFh」に設定される。また、実メモリである各メモリ31a〜31dそれぞれの入力ポインタ(IN)および出力ポインタ(OUT)は、仮想メモリ60上の入力ポインタおよび出力ポインタと同じアドレスとして管理される。図13(a)の例では、出力ポインタがアドレス「3000h」、入力ポインタがアドレス「A000h」とされている。
【0163】
図13(b)は、仮想メモリ60の実体となるアドレスマップ60aの例を示す。アドレスマップ60aは、例えば、TopアドレスおよびBottomアドレスと、ある時点での出力ポインタおよび入力ポインタそれぞれのアドレスとによる、アドレスの集合体として構成される。また、図13(b)の例では、データを書き込む書き込みアドレス(write)が、アドレスマップ60aにさらに含められている。
【0164】
入力ポインタおよび出力ポインタのアドレスは、それぞれ、1ページ分の書き込みの終了時、ならびに、1ページ分の読み出しの終了時に、1ページ分のアドレスが増加されて更新される。また、書き込みアドレスは、各メモリ31a〜31dに対するデータの書き込み時に、データの書き込み単位毎に増加され、各メモリ31a〜31dに対するデータの書き込み位置が示される。これら入力ポインタ、出力ポインタおよび書き込みアドレスは、更新された結果、値がBottomアドレスを超える場合、Topアドレスから巡回的にアドレスが設定される。
【0165】
このアドレスマップ60aは、例えばプリンタコントローラ14内の制御部23において構築される。より具体的には、例えばCPU321によりRAM323上に各値を記憶させることで構築される。TopアドレスおよびBottomアドレスは、例えば予めROM324に記憶しておくことができる。また、プリンタ装置13の起動時の初期化処理時などに、制御部23が制御信号送受信部21を介して各データ転送制御部30a〜30dと通信を行い、各メモリ31a〜31dのTopアドレスおよびBottomアドレスを取得して、アドレスマップ60aを生成することもできる。これに限らず、プリンタコントローラ14が有するRAM323上に実際にメモリ空間を確保して、仮想メモリ60を構築してもよい。
【0166】
図14を用いて、仮想メモリ60上での入力ポインタおよび出力ポインタの制御について説明する。なお、図14では、図の上側から下側に向けてアドレスが増加するものとする。図14(a)に例示されるように、仮想メモリ60では、初期状態において、入力ポインタおよび出力ポインタが共にアドレスP0を示している。
【0167】
例えば図8のSEQ101において、上位装置10からプリンタコントローラ14に対して1ページ目のデータ転送が要求されると、各メモリ31a〜31dに対し、仮想メモリ60上の入力ポインタが示すアドレスP0から、当該1ページ目の印刷画像データが書き込まれる。1ページ目の全色の印刷画像データの転送が終了されたと判定されたら、プリンタコントローラ14は、仮想メモリ60の入力ポインタをアドレスP0から1ページ分移動させてアドレスP1として入力ポインタの更新を行い、次の1ページ分の印刷画像データを転送する転送先のアドレスを指定する。図8の例では、SEQ111dで1ページ目の色Kの印刷画像データの転送終了がプリンタコントローラ14に通知されると、プリンタコントローラ14は、1ページ目の全色の印刷画像データの転送が終了したと判定する。
【0168】
なお、ここでは、1ページ目の全色の印刷画像データの転送が終了した場合に、入力ポインタの更新を行うように説明したが、これはこの例に限定されない。例えば、1ページ目の各色の印刷画像データの転送終了毎に、それぞれ入力ポインタの更新を行ってもよい。
【0169】
2ページ目の印刷画像データは、仮想メモリ60上の入力ポインタが示すアドレスP1を転送先アドレスとして、各メモリ31a〜31dに対して書き込まれる。そして、例えば図8のSEQ115において、2ページ目の全色の印刷画像データの転送が終了し、且つ次のページのデータ転送が要求されている場合、プリンタコントローラ14は、入力ポインタをさらにアドレスP1から1ページ分移動させてアドレスP2として、入力ポインタの更新を行い、次の1ページ分の印刷画像データの転送先アドレスを指定する(図14(b)参照)。
【0170】
また、1ページ目の全色の印刷が終了すると、図14(c)に例示されるように、プリンタコントローラ14は、出力ポインタの位置をアドレスP0から1ページ分移動させてアドレスP1として、出力ポインタの更新を行い、次の印刷開始位置を2ページ目の先頭に指定する。図8の例では、SEQ120dにおいて、1ページ目の色Kの印刷が終了すると、プリンタコントローラ14は、当該1ページ目の全色の印刷が終了したと判定する。
【0171】
なお、ここでは、1ページ目の全色の印刷が終了した場合に、出力ポインタの更新を行うように説明したが、これはこの例に限定されない。例えば、1ページの各色の印刷画像データによる印刷が終了する毎に、それぞれ出力ポインタの更新を行ってもよい。
【0172】
1ページ分の全色の印刷が終了すると、出力ポインタの移動と共に、プリンタコントローラ14は、各データ転送制御部30a〜30dに対し、各メモリ31a〜31dの印刷が終了した印刷画像データが書き込まれている領域をゼロクリアするように指示を出す。この指示に従い、各データ転送制御部30a〜30dは、各メモリ31a〜31dの印刷が終了した領域(例えば1ページ目、仮想メモリ60上でアドレスP0〜P1として指定される領域)を値「0」で埋め尽くし、当該領域のゼロクリアを実行する。このように、各メモリ31a〜31dにおける印刷が終了した領域をゼロクリアすることで、後続する印刷における誤印刷を防ぐことができる。
【0173】
上述では、各メモリ31a〜31dに対してゼロクリアする領域を、印刷が終了した印刷画像データが書き込まれた領域としているが、これはこの例に限定されない。例えば、各メモリ31a〜31dに対してゼロクリアする領域を、排紙が終了した印刷画像データが書き込まれた領域とすれば、各データ転送制御部30a〜30dのメモリ31a〜31dそれぞれには、排紙される前のデータが保存されることになる。したがって、例えば印刷用紙201のジャムなどの発生などによりページの再印刷が必要になっても、上位装置10からの印刷画像データの再送信を不要とすることができる。
【0174】
また、上述では、各メモリ31a〜31dのゼロクリアを1ページ分の印刷が終了した時点としているが、これはこの例に限定されない。すなわち、各メモリ31a〜31dのゼロクリアは、これから印刷を行うページの印刷画像データが上位装置10から転送され各メモリ31a〜31dに書き込まれるまでの間に実行されればよい。この場合、出力ポインタは、1ページ分の印刷が終了した時点で予め移動させておいてもよいし、ゼロクリアを行う時点で移動させてもよい。また、ゼロクリアは、各メモリ31a〜31dで略同時に行ってもよいし、メモリ31a〜31dのうち印刷画像データが転送されるメモリから順次行ってもよい。
【0175】
次に2ページ目のデータ転送が終了すると、プリンタコントローラ14は、図14(d)に例示されるように、仮想メモリ60上の入力ポインタの位置をアドレスP2から1ページ分移動させてアドレスP3として、入力ポインタの更新を行い、3ページ目のデータの転送先アドレスを指定する。
【0176】
このように、各実施形態では、1ページ分のデータ転送の終了時に、仮想メモリ60上で印刷画像データの転送先アドレスを示す入力ポインタを移動させ、各色の1ページ分の印刷の終了時に、仮想メモリ60上で印刷画像データの読み出しの開始位置のアドレスを示す出力ポインタを移動させるようにしている。そして、メモリ31a〜31dに対する印刷画像データの書き込みおよび読み出しを、仮想メモリ60上の入力ポインタおよび出力ポインタが示すアドレスに従い行っている。そのため、プリンタコントローラ14は、各メモリ31a〜31dの状態を容易に把握することが可能となり、それに伴い、1ページの印刷において、全色の印刷が終了したか否かを容易に判定することができる。
【0177】
なお、1ページの画像データの書き込みおよび読み出しは、同じタイミング(速度)で発生するとは限らない。すなわち、高速で印刷を行おうとする場合、印刷画像データをバッファリングしておくことで連続印刷を保証しようとすることが多い。そのため、印刷画像データの各メモリ31a〜31dに対するアクセスは、読み出しの速度よりも書き込みの速度の方が速くできるように制御することが好ましい。この場合、各メモリ31a〜31dには、1ページ分以上の印刷画像データが格納されることになり、入力ポインタと出力ポインタとのアドレスの差分は、1ページ分以上のページサイズとなる。
【0178】
また、入力ポインタと出力ポインタとのアドレスの差分は、上位装置10における印刷画像データの展開速度(RIP処理の速度)に影響される。すなわち、印刷画像データの展開速度は、印刷画像データの内容に依存するので、入力ポインタの変化速度は、印刷画像データの内容に依存することになる。一方、出力ポインタの変化速度は、画像出力部50における印刷速度(各ヘッド56a〜56dへのデータの出力速度)に依存し、一定となる。なお、各メモリ31a〜31dに対する印刷画像データの書き込み速度が画像出力部50における印刷速度よりも遅い場合は、入力ポインタと出力ポインタとのアドレスの差分が0となる。
【0179】
(転送管理テーブル)
次に、各データ転送制御部30a〜30dにおいてページ単位でデータ処理を行う場合の転送管理テーブルについて説明する。この転送管理テーブルは、データ転送制御部30a〜30dによるデータ転送処理や、画像出力部50における印刷処理を管理するために用いられる。プリンタコントローラ14において、制御部23は、上位装置10から送信された印刷ジョブ、用紙情報、ならびに、図7を用いて説明した(3)印刷条件を示す情報などに基づきこの転送管理テーブルを作成して保持する。具体的には、CPU321が転送管理テーブルを作成して、RAM323に記憶する。
【0180】
また、制御部23は、各データ転送制御部30a〜30dに対してデータ転送の開始要求や印刷指示などを行う際に、転送管理テーブルの情報のうち必要な情報を、各データ転送制御部30a〜30dに保持させる。例えば、制御部23は、当該情報を制御信号送受信部21からエンジンI/F制御線40a〜40dを介して各データ転送制御部30a〜30dに対して送信し、これら各データ転送制御部30a〜30dが有するレジスタなどの記憶手段に書き込む。
【0181】
データ転送制御部30aを例にとって、より具体的な例を説明する。制御部23は、転送管理テーブルの情報のうち必要な情報を、制御信号送受信部21からエンジンI/F制御線40aを介してデータ転送制御部30aに送信し、データ転送制御部30aにおけるロジック回路32a(データ転送制御部コントローラ135a)が有するレジスタに書き込む。
【0182】
各データ転送制御部30a〜30dは、このレジスタに書き込まれた転送管理テーブルの情報に従い、上位装置10に対する印刷画像データの転送要求や、画像出力部50に対する印刷指示を出す。なお、転送管理テーブルには、ページを識別するページ識別子が含まれ、各データ転送制御部30a〜30dは、このページ識別子に基づき転送管理テーブルの情報を選択し、データ転送および印刷処理を実行する。
【0183】
図15は、各データ転送制御部30a〜30dにおいてページ単位でデータ処理を行う場合の転送管理テーブルの一例を示す。転送管理テーブルは、C、M、Y、K各色に共通の情報と、各色毎の情報とを含む。また、各色共通の情報および各色毎の情報は、それぞれ、上位装置10からの印刷画像データの転送のために用いるデータ転送用の情報と、画像出力部50に対する印刷指示に関する情報である印刷用の情報とを含む。なお、転送管理テーブルに含まれる各情報は、テーブル形式で管理されるのに限られず、他のデータ管理形式で管理されるようにしてもよい。
【0184】
先ず、各色共通の情報について説明する。各色共通の情報において、データ転送用および印刷用以外の情報として、ページ識別子PBIDおよび1ページ当たりのデータ数が含まれる。ページ識別子PBIDは、印刷ページを識別するためのページ識別子であり、当該転送管理テーブルは、このページ識別子PBIDにより識別される。1ページ当たりのデータ数は、ページ識別子PBIDで識別されるページに用いられる色数であり、例えばモノクロの場合は値が「1」、フルカラーの場合は値が「4」とされる。
【0185】
各色共通の情報におけるデータ転送用の情報は、データ転送元アドレス、データ格納先アドレスおよびデータ転送サイズを含む。データ転送元アドレスは、上位装置10においてページ識別子PBIDで示されるページの印刷画像データが格納されるアドレスを示す。データ転送元アドレスは、例えばラスタ(ライン)単位で印刷画像データを指定する。
【0186】
なお、各データ転送制御部30a〜30dにおいてページ単位でデータ処理を行う場合、各色の印刷画像データに対し、同一のアドレスが転送元アドレスとして用られることになる。一例として、上位装置10において、図2−2に示される記憶部122に対して、各色の印刷画像データをそれぞれ格納する。より具体的には、例えば、図2−1に示されるRAM103に対し、各データ線11a〜11dまたは各色で識別されるアドレスに、各色の印刷画像データをそれぞれ格納する。
【0187】
データ格納先アドレスは、上述した入力ポインタが示すアドレスである。したがって、入力ポインタが更新される度に、データ格納先アドレスも更新される。データ転送サイズは、データ転送制御部30a〜30dの要求により転送される印刷画像データのデータサイズを示し、例えばページ識別子PBIDで示されるページの印刷画像データのデータサイズである。
【0188】
データ転送サイズは、印刷画像データのサイズを所定単位(例えばバイト単位)で揃えるためのバウンダリ調整サイズを含む。1ページが印刷される際には、各メモリ31a〜31dに対して、このデータ転送サイズで示されるデータサイズの印刷画像データが格納されることになる。例えば、図7を用いて説明した、(3)印刷条件を示す情報中の「印刷データサイズ」にバウンダリ調整サイズを加えた値が、このデータ転送サイズになる。
【0189】
次に、各色共通の情報における印刷用の情報について説明する。印刷用の情報は、印刷を行う印刷画像データの情報として解像度および階調を含み、印刷対象に関する情報として用紙送り長、用紙幅、印刷面(表/裏)、印刷不可領域(上/下/左/右)および画像情報を含む。画像情報は、ビットマップ印刷位置Xおよびビットマップ印刷位置Y、ならびに、X方向有効サイズおよびY方向有効サイズを含む。
【0190】
印刷を行う印刷画像データの情報において、解像度は、主走査および副走査方向それぞれの印刷解像度を示す。また、階調は、1画素当たりのビット数を示す。
【0191】
印刷対象に関する情報について、図16(a)および図16(b)を用いて説明する。図16(a)は、印刷用紙201に対するページ領域202の一例を示す。図16(b)は、印刷画像データによる有効な印刷領域204の一例を示す。用紙送り長は、印刷用紙201の送り方向における1ページ分の長さをドット数で示し、用紙幅は、印刷用紙201の幅方向の長さをドット数で示す。印刷面は、当該ページが印刷用紙201の表面および裏面の何れに印刷されるかを示す。
【0192】
印刷不可領域上、下、左、右は、印刷を禁止する印刷不可領域203を、ページ領域202の上端(用紙送り方向の先頭)、下端(用紙送り方向の後端)、左端(用紙幅方向の用紙送り方向に向けて左端)、右端(用紙幅方向の用紙送り方向に向けて右端)それぞれからのドット数で示す。
【0193】
画像情報のうち、ビットマップ印刷位置XおよびYは、ページ領域202の左上(用紙送り方向の先頭、且つ、用紙幅方向の左端)を原点とした場合の、印刷開始位置のアドレス(座標)をドット数で示す。また、画像情報のうち、X方向有効サイズは、X方向(用紙幅方向)のバウンダリ調整領域205を含まないサイズをドット数で示す。バウンダリ調整領域205は、1ラスタデータのデータサイズが所定単位(例えばバイト単位)以下の端数を含む場合に、データサイズを所定単位に揃えるために設けられる。また、Y方向有効サイズがY方向(用紙送り方向)のサイズをドット数で示す。すなわち、X方向有効サイズは、1のラスタデータにより印刷される有効なサイズを示し、Y方向有効サイズは、X方向有効サイズで印刷されるラスタ数(ライン数)を示す。
【0194】
すなわち、ビットマップ印刷位置XおよびYを左上とし、X方向有効サイズおよびY方向有効サイズで示される領域が、印刷領域204となる。また、印刷領域204のうち、印刷不可領域203と重なる領域は、印刷されないことになる。
【0195】
次に、各色毎の情報について説明する。各色毎の情報において、データ転送用および印刷用以外の情報として、C、M、Y、K各色のうち何れの印刷色に関する情報が記述されるかを示すColor識別子が含まれる。各色毎の情報は、構成が共通するので、以下では、Color識別子が「シアン」の情報について説明する。転送管理テーブルには、各色毎の情報がC、M、Y、K各色についてそれぞれ含まれる。
【0196】
各色毎の情報におけるデータ転送用の情報は、データ転送要否を含む。データ転送要否は、当該印刷色の印刷画像データの転送の要否を示す。例えば、白紙すなわち印刷を行わない場合は、C、M、Y、Kの全色について、データ転送要否を「否」とする。また、Color(Cyan、Magenta、Yellow、Black)で指示される色以外は、データ転送要否を「否」に設定する。
【0197】
各色毎の情報における印刷用の情報は、印刷要否を含む。印刷要否は、当該印刷色の印刷画像データの印刷の要否を示す。例えば、白紙すなわち印刷を行わない場合は、C、M、Y、Kの全色について、印刷要否を「否」とする。また、Color識別子で指示される色以外は、印刷要否を「否」に設定する。
【0198】
(メモリ制御処理)
次に、各実施形態に適用可能なメモリ31a〜31dの制御処理について、図17〜図21を用いて説明する。図17は、プリンタコントローラ14が上位装置10からデータを受信した場合の一例の処理を示す。この図17のフローチャートによる処理は、例えば、図8のSEQ101やSEQ102で、プリンタコントローラ14において、制御部23により、上位装置10からのページの印刷ジョブの受信をきっかけに起動される。なお、図17のフローチャートにおける各処理は、プリンタコントローラ14内の制御部23の制御により実行される。
【0199】
プリンタコントローラ14は、上位装置10から印刷ジョブを受信した際に、受信した印刷ジョブおよび図8のSEQ100で上位装置10から受信した用紙情報、ならびに、図7を用いて説明した(3)印刷条件を示す情報などに基づき、上述した転送管理テーブルを作成する(ステップS200)。そして、図17のステップS201で、プリンタコントローラ14は、仮想メモリ60をチェックして各メモリ31a〜31dの空き容量を取得する。
【0200】
図18および図19を用いて、仮想メモリ60による各メモリ31a〜31dの空き容量のチェックについて説明する。なお、以下では、「仮想メモリ60による各メモリ31a〜31dの空き容量」を、「仮想メモリ60上での空き容量」、または、単に「空き容量」と記述する。上位装置10から転送される、1ページ分の印刷画像データのデータサイズは、図18に例示されるように、印刷領域204のデータサイズとバウンダリ調整領域205のデータサイズとを合計したものになる。
【0201】
一方、仮想メモリ60上での空き容量は、入力ポインタの示すアドレスPiと、出力ポインタの示すアドレスPoとの差分に基づき計算することができる。図19を用いて、仮想メモリ60上での空き容量を計算する方法について、概略的に説明する。なお、図19(a)〜図19(d)において、仮想メモリ60のアドレスは図の上側から下側に向けて増加し、印刷画像データが書き込まれる領域は、斜線を付して示している。
【0202】
ここで、仮想メモリ60上での入力ポインタと出力ポインタとの関係は、(A)入力ポインタのアドレスPiが出力ポインタのアドレスPoより大きい場合(図19(a))と、(B)出力ポインタのアドレスPoが入力ポインタのアドレスPiより大きい場合(図19(b))と、(C)入力ポインタのアドレスPiと出力ポインタのアドレスPoとが等しい場合(図19(c)および図19(d))との3通りがある。仮想メモリ60での空き容量DEMPは、入力ポインタのアドレスPiと出力ポインタのアドレスPoとの差分に基づき求めることができる。
【0203】
(A)の、入力ポインタのアドレスPiが出力ポインタのアドレスPoより大きい場合(Pi>Po)は、図19(a)に例示されるように、出力ポインタのアドレスPoから入力ポインタのアドレスPiの間の領域に印刷画像データが格納されていることが示される。この場合、空き容量DEMPは、1アドレス当たりのデータサイズをW、仮想メモリ60の容量をDFULLとすると、下記の式(1)で求められる。
DEMP=DFULL−(Pi−Po)×W …(1)
【0204】
(B)の、出力ポインタのアドレスPoが入力ポインタのアドレスPiより大きい場合(Po>Pi)は、図19(b)に例示されるように、出力ポインタのアドレスPoから仮想メモリ60のBottomアドレスの間の領域と、仮想メモリ60のTopアドレスから入力ポインタのアドレスPiの間の領域とに印刷画像データが格納されることが示される。この場合、空き容量DEMPは、下記の式(2)で求められる。なお、(B)の場合には、TopアドレスとBottomアドレスとが接続され、リングバッファ的に読み出しが制御される。
DEMP=(Po−Pi)×W …(2)
【0205】
(C)の、入力ポインタのアドレスPiと出力ポインタのアドレスPoとが等しい場合(Pi=Po)は、仮想メモリ60が空を示している場合(図19(c))と、仮想メモリ60にフルに印刷画像データが格納されていることを示している場合(図19(d))との2通りが考えられる。印刷が終了したか否か、ならびに、印刷が開始したか否かに基づき、仮想メモリ60が空およびフルの何れの状態を示しているかを判定できる。これに限らず、プリンタコントローラ14が仮想メモリ60上の入力ポインタおよび出力ポインタの動きを監視し、フル状態になった場合にフラグをセットすることも考えられる。
【0206】
説明を図17のフローチャートに戻し、ステップS201で仮想メモリ60での空き容量が算出されたら、次のステップS202で、プリンタコントローラ14は、転送管理テーブルのデータ転送サイズに基づき、算出された仮想メモリ60での空き容量に対して1ページ分の印刷画像データ(この場合は1色分の印刷画像データ)を格納可能か否かを判定する。若し、格納可能ではないと判定されたら、この図17のフローチャートの処理を抜ける。この場合、例えば、プリンタコントローラ14は、印刷終了の判定がなされたら印刷画像データの転送を要求することが考えられる。
【0207】
一方、プリンタコントローラ14は、ステップS202で1ページ分の印刷画像データが格納可能であると判定したら、処理をステップS203に移行させ、前ページの印刷画像データの転送が終了したか否かを判定する。若し、終了していないと判定されたら、この図17のフローチャートの処理を抜ける。この場合、転送中の印刷画像データの転送が終了したら、次ページの印刷画像データの転送を要求することが考えられる。一方、終了していると判定したら、処理がステップS204に移行される。
【0208】
ステップS204で、プリンタコントローラ14は、各データ転送制御部30a〜30dに対して、転送管理テーブルにおいてページ識別子PBIDで示される、各色の印刷画像データの転送を開始するように要求する。これは、例えば、ページ識別子PBIDが1ページ目を示していれば、図8のシーケンスにおけるSEQ110a〜110d、ならびに、図10−1のシーケンスにおけるSEQ208、SEQ212、SEQ216およびSEQ220の処理に対応する。そして、処理がステップS205に移行され、プリンタコントローラ14は、仮想メモリ60上の入力ポインタの位置を1ページ分進めて、入力ポインタの更新を行う。入力ポインタが更新されると、処理は図17のフローチャートを抜ける。
【0209】
なお、ステップS204で、プリンタコントローラ14から各データ転送制御部30a〜30dに対して印刷画像データの転送開始が要求されると、各データ転送制御部30a〜30dから上位装置10に対して、印刷画像データの転送が要求される。これは、例えば、ページ識別子PBIDが1ページ目を示している場合、図10−1のシーケンスにおいてSEQ209A、SEQ213A、SEQ217AおよびSEQ221Aの処理に対応する。
【0210】
このとき、各データ転送制御部30a〜30dのそれぞれは、例えば、図15の転送管理テーブルに示される、少なくともページ識別子PBIDとデータ転送元アドレスとをデータ転送開始要求に付加して、上位装置10に送信する。これらページ識別子PBIDおよびデータ転送元アドレスは、上述したように、図9−2のステップS126で、プリンタコントローラ14において転送管理テーブルから抽出され、各データ転送制御部30a〜30dに送信されたものである。
【0211】
上位装置10は、各データ転送制御部30a〜30dから送信されたこれらページ識別子PBIDとデータ転送元アドレスとに基づき、記憶部122から各色の印刷画像データを読み出して、データ線11a〜11dをそれぞれ介して、各データ転送制御部30a〜30dに転送する。ここで、ページ識別子PBIDおよびデータ転送元アドレスは、プリンタコントローラ14が印刷画像データの転送開始要求に対して付加して、各データ転送制御部30a〜30dに送信することが考えられる。
【0212】
図20は、転送終了時の一例の処理を示すフローチャートである。この図20のフローチャートによる処理は、例えば、図8のSEQ111a〜111dで、プリンタコントローラ14において、データ転送制御部30a〜30dからのデータ転送終了の通知の受信をきっかけに起動され、プリンタコントローラ14により実行される。
【0213】
先ず、ステップS210で、上位装置10からデータ転送制御部30a〜30dに対する、4色全て、すなわち、C、M、Y、K各色の1ページ分の印刷画像データの転送が終了したか否かが判定される。例えば、プリンタコントローラ14は、図8のSEQ111a〜SEQ111dで各データ転送制御部30a〜30dから印刷画像データの転送終了通知を受信する毎にフラグをセットし、4色分のフラグがセットされたら、各色の1ページ分の印刷画像データの転送が終了したと判定する。若し、終了していないと判定されたら、処理はステップS213に移行される。
【0214】
一方、各色の1ページ分の印刷画像データの転送が終了したと判定したら、プリンタコントローラ14は、処理をステップS211に移行させ、現在印刷中であるか否かを判定する。例えば、プリンタコントローラ14は、図8のSEQ114などで印刷指示を各データ転送制御部30a〜30dに対して出した後に、SEQ120a〜120dで対応する印刷終了通知を受信していなければ、印刷中であると判定する。若し、印刷中であると判定したら、処理はステップS213に移行される。一方、現在印刷中ではないと判定したら、プリンタコントローラ14は、処理をステップS212に移行させ、各データ転送制御部30a〜30dに対してページ識別子PBIDで示されるページの印刷指示を出す(例えば図8のSEQ114)。
【0215】
次のステップS213で、プリンタコントローラ14は、上位装置10からデータ転送制御部30a〜30dに対して転送される次の印刷画像データが有るか否かが判定される。例えば、ステップS212で印刷指示が出された印刷画像データが1ページ目の印刷画像データであって、ステップS213に処理が移行した時点で、図8のSEQ102により次の2ページ目の印刷ジョブが受信されていれば、次に転送される印刷画像データがあると判定される。
【0216】
若し、次に転送される印刷画像データが無いと判定されたら、この図20のフローチャートによる処理を抜ける。一方、次に転送される印刷画像データがあると判定したら、プリンタコントローラ14は、処理をステップS214に移行させる。ステップS214の処理は、図17に示したフローチャートにおけるステップS201以降の処理と同様であり、メモリの空き状態を確認後、空きがあれば、各データ転送制御部30a〜30dに対して、次の印刷画像データの転送を開始するように要求し、図20のフローチャートによる処理を抜ける。
【0217】
図21は、印刷終了時の一例の処理を示すフローチャートである。この図21のフローチャートによる処理は、例えば、図8のSEQ120a〜120dやSEQ122a〜122dで、プリンタコントローラ14において、データ転送制御部30a〜30dからの印刷終了の通知の受信をきっかけに起動され、プリンタコントローラ14により実行される。
【0218】
先ず、ステップS220で、1ページ分の印刷画像データについて、4色全ての印刷が終了したか否かが判定される。例えば、プリンタコントローラ14は、図8のSEQ120a〜120dで各データ転送制御部30a〜30dから印刷終了通知を受信する毎にフラグをセットし、4色分のフラグがセットされたら、各色の1ページ分の印刷画像データの印刷が終了したと判定する。これに限らず、例えば印刷が色C、色M、色Y、色Kの順に行われる場合、最後の色Kの印刷終了通知を受信することで、印刷終了を判定してもよい。若し、4色全ての印刷が終了していないと判定されたら、処理はステップS222に移行される。
【0219】
一方、各色の1ページ分の印刷画像データの印刷が終了したと判定されたら、処理はステップS221に移行される。ステップS221で、プリンタコントローラ14は、仮想メモリ60上で出力ポインタの位置を1ページ分進めて、出力ポインタの更新を行う。出力ポインタが更新されると、処理がステップS222に移行される。
【0220】
ステップS222で、プリンタコントローラ14は、次のページの印刷があるか否かを判定する。例えば、プリンタコントローラ14は、データ転送制御部30a〜30dからのデータ転送終了通知を受信しているが、印刷終了通知を受信していないページがある場合に、次ページの印刷があると判定することができる。若し、次ページの印刷がないと判定したら、この図21のフローチャートによる処理を抜ける。一方、次ページの印刷があると判定したら、プリンタコントローラ14は、処理をステップS223に移行させ、各データ転送制御部30a〜30dに対して当該次ページを示すページ識別子PBIDを指定して当該次ページの印刷を開始するように指示し、この図21のフローチャートによる処理を抜ける。
【0221】
(第2のメモリ管理方法)
次に、各データ転送制御部30a〜30dにおいてページ単位でデータ処理を行う場合の第2のメモリ管理方法の例について説明する。この別の例は、各データ転送制御部30a〜30dがそれぞれ有するメモリ31a〜31dの管理を、プリンタコントローラ14側で一元的に行う場合において、印刷画像データがC、M、Y、K各色で異なるサイズのビットマップデータによって、上位装置10からプリンタ装置13に転送される場合の例である。なお、以下において、上述した第1のメモリ管理方法の例と異なる部分を中心に説明する。
【0222】
図22を用いて、各色で異なるサイズのビットマップデータを転送する場合の例について説明する。例えば、図22(a)に例示されるように、1ページの印刷領域75内に色Cを用いて印刷される画像70と、色Mを用いて印刷される画像71と、色Yを用いて印刷される画像72と、色Kを用いて印刷される画像73とが配置されている場合について考える。なお、これら画像70〜73は、互いに大きさが異なるものとする。
【0223】
この場合、例えば色Cの印刷画像データとして、画像70を含む最小限の矩形領域の印刷画像データを上位装置10側で作成し、データ転送制御部30aに対して転送する。他の色M、Y、Kについても同様に、それぞれ画像71、72および73を含む最小限の矩形領域の印刷画像データを上位装置10側で作成し、データ転送制御部30b、30cおよび30dにそれぞれ転送する。これにより、各色毎に1ページ全域分の印刷画像データを転送する場合に比べて、データ転送量を削減することができる。
【0224】
さらにこの場合において、各色の画像70〜73をそれぞれ含む最小限の矩形領域の各印刷画像データの所定位置への配置を、メモリ31a〜31d上で行う第1の方法と、印刷の際に行う第2の方法とがある。なお、以下では、「各色の画像70〜73をそれぞれ含む最小限の矩形領域の各印刷画像データ」を、適宜、「各色の画像70〜73それぞれの印刷画像データ」などと記述する。
【0225】
第1の方法は、図22(b)に例示されるように、各画像70〜73それぞれの印刷画像データを、当該各画像70〜73の印刷位置に対応するメモリ31a〜31dのアドレスに書き込む。なお、図22(b)では、説明のため、メモリ31a〜31dにおける1ページ分の記憶領域のみを示している。この第1の方法によれば、メモリ31a〜31dは、1ページ分の領域が共通であるため、プリンタコントローラ14側では、メモリ31a〜31dに共通の1の仮想メモリ60を用意すればよい。
【0226】
この第1の方法において、転送管理テーブルに対して、各画像70〜73それぞれの印刷画像データをメモリ31a〜31dに対して書き込む際のアドレス情報を記述する。また、上述したように、メモリ31a〜31dは、各色の1ページ分の印刷が終了し出力ポインタが更新された後、印刷が終了した領域がゼロクリアされる。そのため、各データ転送制御部30a〜30dは、各画像70〜73それぞれの印刷画像データをメモリ31a〜31dの指定アドレスに対して上書きするだけでよい。
【0227】
第2の方法は、図22(c)に例示されるように、各画像70〜73それぞれの印刷画像データを、そのままメモリ31a〜31dにそれぞれ書き込む。そして、各メモリ31a〜31dから読み出された各画像70〜73それぞれの印刷画像データを、当該各画像70〜73それぞれの所定の配置位置に対して印刷する。この第2の方法によれば、メモリ31a〜31dのページ当たりの消費量を削減することができる。
【0228】
一方、この第2の方法によれば、各画像70〜73それぞれの印刷画像データのサイズが互いに異なる可能性があるので、プリンタコントローラ14側において、メモリ31a〜31dそれぞれについて仮想メモリ60を用意する必要がある。この場合、例えば、図13(b)に示されるアドレスマップ60aにおいて、入力ポインタ(IN)、出力ポインタ(OUT)および書き込みアドレス(write)の組を、(INa、OUTa、writea)、(INb、OUTb、writeb)、…のように、メモリ31a〜31dそれぞれについて設けることが考えられる。それと共に、転送管理テーブルに対して各色の転送情報および印刷情報をそれぞれ記述する必要がある。
【0229】
図22(c)を用いて、第2の方法についてより具体的に説明する。例えば色Cの画像70に関し、画像70を含む最小限の矩形領域の印刷画像データ70aが、印刷領域75の印刷アドレス70bで示される位置に印刷される。同様に、色M、YおよびKそれぞれの画像71、72および73に関し、画像71、72および73をそれぞれ含む最小限の矩形領域の印刷画像データ71a、72aおよび73aが、印刷領域75の印刷アドレス71b、72bおよび73bで示される位置に印刷される。したがって、転送管理テーブルの情報として、各印刷画像データ70a〜73aについて、それぞれデータサイズと共に座標70b〜73bを示す情報を保持している必要がある。
【0230】
図23は、第2のメモリ管理方法の例による転送管理テーブルの一例の構成を示す。なお、以下において、図15を用いて説明した、第1のメモリ管理方法による転送管理テーブルと共通する項目については、詳細な説明を省略する。
【0231】
この第2のメモリ管理方法の例による転送管理テーブルについても、上述の第1のメモリ管理方法による転送管理テーブルと同様に、各色に共通の情報と、各色毎の情報とを含む。ここで、上述した第1のメモリ管理方法の例における転送管理テーブルと、この第2のメモリ管理方法の例による転送管理テーブルとでは、各色に共通の情報および各色毎の情報で含まれる情報が異なる。
【0232】
この第2のメモリ管理方法の例による各色共通の情報について説明する。図23に例示されるように、第2のメモリ管理方法の例による転送管理テーブルでは、各色に共通の情報は、ページ識別子PBIDおよび1ページ当たりのデータ数を含むと共に、印刷用の情報として、解像度、階調、用紙送り長、用紙幅および印刷面を含む。また、各色で転送される印刷画像データのサイズが異なるため、各色に共通の情報は、データ転送用の情報を含まない。
【0233】
この第2のメモリ管理方法の例による各色毎の情報について説明する。各色毎の情報において、Color識別子が含まれると共に、データ転送用の情報と、印刷用の情報とが含まれる。この第2のメモリ管理方法の例に適用される各色毎の情報におけるデータ転送用の情報は、データ転送要否、転送済みフラグ、データ転送元アドレス、データ格納先アドレスおよびデータ転送サイズを含む。これらのうち、転送済みフラグは、プリンタコントローラ14が当該色の印刷画像データの転送終了通知を受信した場合に、ONとされる。プリンタコントローラ14は、この転送済みフラグがONとなった色について、対応する仮想メモリ60の入力ポインタを更新することができる。
【0234】
この第2のメモリ管理方法の例に適用される各色毎の情報における印刷用の情報は、印刷要否、印刷不可領域上、下、左および右、ならびに、画像情報を含む。また、画像情報は、ビットマップ印刷位置XおよびY、ならびに、Y方向有効サイズおよびX方向有効サイズを含む。
【0235】
この第2のメモリ管理方法の例において、上述した第1の方法による、各画像70〜73それぞれの印刷画像データのメモリ31a〜31d上への配置を行うためのアドレス指定や、第2の方法による、各画像70〜73それぞれの印刷画像データの印刷アドレスの指定は、例えば、転送管理テーブルに各色毎の印刷用の情報として記述される、ビットマップ印刷位置XおよびYにより行うことができる。
【0236】
第1の方法による各画像70〜73それぞれの印刷画像データのメモリ31a〜31d上への一例の配置方法について、図24を用いて説明する。ここでは、上述した図22における画像73を例にとって説明する。
【0237】
画像73は、色Kの画像であって、画像73を含む最小限の矩形領域の印刷画像データ73aは、データ転送制御部30d内のメモリ31dに書き込まれる。プリンタコントローラ14内の、各色共通の仮想メモリ60に設定される出力ポインタが示すアドレスにより、メモリ31dにおける1ページの領域の先頭が規定される。図24に模式的に示されるように、この1ページの領域の先頭のアドレスに基づき、画像73のビットマップ印刷位置XおよびYで示される、印刷上のアドレス73bに対応するメモリ31dのアドレス
を求める。そして、求められたこのアドレスを基点として、メモリ31dに対して印刷画像データ73aを書き込む。
【0238】
第2の方法による各画像70〜73それぞれの印刷画像データのメモリ31a〜31d上への一例の配置方法について、図25を用いて説明する。ここでは、上述した図22における画像73を例にとって説明する。図25(a)は、色Y用の仮想メモリ60の例を示し、図25(b)は、印刷用紙201における実際の印刷領域75の例を示す。
【0239】
プリンタコントローラ14において、色Y用の仮想メモリ60に対し、転送管理テーブルの、X方向有効サイズ(x1とする)およびY方向有効サイズ(y1とする)から求められるデータサイズsize(=x1×y1)を1ページのデータサイズと見做して、出力ポインタおよび入力ポインタの更新時のアドレス移動量が設定される。メモリ31dにおいて、出力ポインタから、次に印刷を行う画像73の印刷画像データ73aが書き込まれる(図25(b)参照)。
【0240】
なお、ここでは、説明のため、1ページ分の印刷画像データのみがメモリ31dに書き込まれるものとする。また、図25(a)では、出力ポインタのみを示し、入力ポインタを省略している。
【0241】
印刷時に、画像出力部50は、メモリ31dから、出力ポインタで示されるアドレスに基づき印刷画像データ73aを読み出して、画像73のビットマップ印刷位置XおよびYにより示される印刷アドレス73bを基点として、印刷画像データ73aによる印刷を行う。データサイズsize分の印刷画像データが読み出されると、出力ポインタがデータサイズsize分移動され、出力ポインタが更新される。
【0242】
この第2のメモリ管理方法の例において、仮想メモリ60における入力ポインタおよび出力ポインタの管理方法や、上位装置10からのデータ受信時の処理、印刷画像データの転送終了時の処理、印刷終了時の処理などは、上述した第1のメモリ管理方法の例と共通であるので、ここでの説明を省略する。
【0243】
なお、上述の第1のメモリ管理方法およびこの第2のメモリ管理方法では、印刷に用いる色が、色C、M、Y、Kの所謂プロセスカラーであるとして説明したが、これはこの例に限定されない。例えば、R(赤色)、G(緑色)およびB(青色)や、金色、銀色、白色などの所謂特色を印刷に用いる場合でも、第1のメモリ管理方法および第2のメモリ管理方法をそのまま適用することができる。また、色数も4色に限らず、5色以上、または、3色以下を用いた印刷にも、第1のメモリ管理方法および第2のメモリ管理方法は、そのまま適用できる。
【0244】
(第1の実施形態)
次に、第1の実施形態について説明する。第1の実施形態では、プリンタ装置13で単一色の画像データ(単色画像データと呼ぶ)を印刷する際に、上位装置10で生成される単色画像データを、プリンタ装置13が有するデータ転送制御部30a〜30dの数に応じて分割する。このとき、第1の実施形態では、単色画像データを、ラスタ(ライン)単位で、ラスタが連続するブロック単位で分割する。単色画像データが分割された各分割画像データは、上位装置10からデータ線11a〜11dをそれぞれ介して各データ転送制御部30a〜30dに転送され、各メモリ31a〜31dにそれぞれ格納される。
【0245】
各メモリ31a〜31dに格納された各分割画像データは、それぞれ所定のタイミングで各出力線33a〜33dを介して画像出力部50に供給され、分割画像データの、単色画像データ内における位置に応じた1ページ内の位置に印刷される。
【0246】
図26を用いて、第1の実施形態に係るデータ転送について、より具体的に説明する。図26(a)は、単色画像データ400の印刷イメージの例を示す。この単色画像データ400は、例えば上位装置10において、ホスト装置5から送信された印刷ジョブデータに基づくRIP処理により生成され、RAM103に書き出される。図26(a)に例示されるように、用紙が図の右側から左側に送られるものとする場合、単色画像データ400の図中の左下隅が座標の原点とされ、Y方向の座標が左側から右側に向けて増加し、X方向の座標が下側から上側に向けて増加する。X方向に沿った1ラインがラスタであり、印刷はこのラスタ単位で、Y座標を順次増加させて行われる。
【0247】
図26(a)の例では、単色画像データ400は、X方向有効サイズSZ−X#2およびY方向有効サイズSZ−Yの範囲が印刷領域とされる。図26(a)の例では、単色画像データ400は、バウンダリ調整領域401を含み、転送されるX方向のデータ転送サイズSZ−X#1に対して、上位装置10がRIP処理により生成した画像のX方向有効サイズSZ−X#2が小さい。
【0248】
第1の実施形態では、この単色画像データ400が、ラスタ単位で、プリンタ装置13が持つデータ転送制御部30a〜30dの数の4のブロックに分割され、ブロック毎の分割画像データ410a、410b、410cおよび410dとして各データ転送制御部30a〜30dに転送される。分割の際の各分割画像データ410a、410b、410cおよび410dのY方向の先頭アドレスを、それぞれアドレスas#1、as#2、as#3およびas#4とする。このアドレスas#1、as#2、as#3およびas#4が、各データ転送制御部30a、30b、30cおよび30dにおける単色画像データ400の転送元アドレスとなる。
【0249】
図26(b)〜図26(e)は、それぞれ、各データ転送制御部30a、30b、30cおよび30dに転送され各メモリ31a、31b、31cおよび31dに対して、各分割画像データ410a、410b、410cおよび410dが書き込まれた場合の、一例の様子を示す。例えば、プリンタ装置13において印刷方向に対して先頭に設けられるデータ転送制御部30aのメモリ31aに対して、図26(b)に例示されるように、アドレスad#1を書き込みの先頭アドレスとして分割画像データ410aが書き込まれる。
【0250】
同様に、図26(c)〜図26(e)に例示されるように、分割画像データ410b、410cおよび410dは、各メモリ31b、31cおよび31dに対して、それぞれアドレスad#2、ad#3およびad#4を書き込みの先頭アドレスとして書き込まれる。これらアドレスad#1、ad#2、ad#3およびad#4が、各データ転送制御部30a、30b、30cおよび30dにおける単色画像データ400の格納先アドレスとなる。
【0251】
ここで、単色画像データ400を、ラスタ単位でデータ転送制御部30a〜30dの数に対応するn個のブロックに分割する際に、単色画像データ400のラスタ数(Y方向有効サイズSZ−Y)が値nの整数倍にない場合、単色画像データ400において端数のラスタが生じることになる。例えば、Y方向有効サイズSZ−Yが243ラスタである場合、243÷4=60余り3となる。この3ラスタ分の剰余は、各分割画像データ410b、410cおよび410dに対して、1ラスタずつ順に割り当てる。
【0252】
一例として、Y方向有効サイズSZ−YをYラスタ、データ転送制御部30a〜30dの数を4とするとき、剰余の各値における各分割画像データ410a〜310dに対するラスタの割り当ては、下記のようになる。なお、「÷」は、除算の商、「%」は剰余を求める演算をそれぞれ表すものとする。
【0253】
(ア)Y%4=0の場合
各分割画像データ410a〜410dそれぞれは、(Y÷4)ラスタが割り当てられる。
【0254】
(イ)Y%4=3の場合
剰余の3ラスタが例えば分割画像データ410a〜410cにそれぞれ割り当てられる。すなわち、分割画像データ410a、410bおよび410cそれぞれは、{(Y÷4)+1}ラスタが割り当てられ、分割画像データ410dには(Y÷4)ラスタが割り当てられる。
【0255】
(ウ)Y%4=2の場合
剰余の2ラスタが例えば分割画像データ410aおよび410bにそれぞれ割り当てられる。すなわち、分割画像データ410aおよび410bそれぞれは、{(Y÷4)+1}ラスタが割り当てられ、分割画像データ410cおよび410dにはそれぞれ(Y÷4)ラスタが割り当てられる。
【0256】
(エ)Y%4=1の場合
剰余の1ラスタが例えば分割画像データ410aに割り当てられる。すなわち、分割画像データ410aは、{(Y÷4)+1}ラスタが割り当てられ、分割画像データ410b、410cおよび410dにはそれぞれ(Y÷4)ラスタが割り当てられる。
【0257】
(転送管理テーブル)
次に、第1の実施形態による転送管理テーブルについて説明する。図27は、第1の実施形態による転送管理テーブルの一例の構成を示す。なお、以下において、図15および図23を用いて説明した、第1のメモリ管理方法および第2のメモリ管理方法による転送管理テーブルと共通する項目については、詳細な説明を省略する。また、以下では、単色画像データが黒色(K)の画像データであって、データ転送制御部30a、30b、30cおよび30dで扱う各分割画像データ410a、410b、410cおよび410dの色を、それぞれ色K−1、色K−2、色K−3および色K−4として示す。
【0258】
図27に示される転送管理テーブルにおいて、各色に共通の情報は、図23を用いて説明した、第2のメモリ管理方法による転送管理テーブルと略共通である。図27の例において、第1の実施形態による方法を利用して2色(例えば黒色および赤色)の印刷に対応可能であるため、1ページ当たりのデータ数に関して、2色の場合のデータ数「2」が追加されている。
【0259】
第1の実施形態による各色毎の情報について説明する。各色毎の情報において、色K−1、色K−2、色K−3および色K−4のそれぞれについて、Color識別子の値がそれぞれ色K−1、色K−2、色K−3および色K−4を示す値とされる。以下では、Color識別子が「色K−1」の場合の各情報について説明する。
【0260】
各色毎の情報におけるデータ転送用の情報のうち、データ転送元アドレスは、例えば図26(a)を用いて説明したアドレスas#1が記述される。一方、データ格納先アドレスとしては、各メモリ31a〜31dに対する分割画像データ410a〜410dの書き込み方法に応じた情報が記述される。
【0261】
図28を用いて、各メモリ31a〜31dに対する分割画像データ410a〜410dの書き込み方法の例について説明する。図28(a)に示される単色画像データ400を分割した分割画像データ410a〜410dを各メモリ31a〜31dに書き込む場合、次の2通りの方法が考えられる。
【0262】
第1の書き込み方法は、各メモリ31a〜31dにおいて1ページ分の領域をそれぞれ確保し、各メモリ31a〜31dの当該領域に対して、印刷イメージに応じて各分割画像データ410a〜410dをそれぞれ書き込む方法である。この場合、図26(b)〜図26(e)を用いて説明した、メモリ31a〜31dにおける各アドレスad#1〜ad#4がそれぞれデータ格納先アドレスとなる。
【0263】
すなわち、図28(b)に例示されるように、例えばColor識別子「K−1」で示される分割画像データ410aは、メモリ31aのアドレスad#1から、次の分割画像データ410bの先頭の書き込み位置に対応するアドレスad#2の直前まで書き込まれる。すなわち、データ格納先アドレスには、アドレスad#1が記述される。
【0264】
また例えば、Color識別子「K−2」で示される分割画像データ410bは、メモリ31bのアドレスad#2から、次の分割画像データ410cの先頭の書き込み位置に対応するアドレスad#3の直前まで書き込まれる。すなわち、データ格納先アドレスには、アドレスad#2が書き込まれる。Color識別子「K−3」および「K−4」でそれぞれ示される分割画像データ410cおよび410dについても、同様である。
【0265】
第2の書き込み方法は、各メモリ31a〜31dにおいて、各分割画像データ410a〜31dのデータ転送サイズに対応するサイズの領域のみをそれぞれ確保して、当該各分割画像データ410a〜410dを書き込む方法である。この場合、印刷時のオフセットが、データ格納先アドレスと共に指定される。
【0266】
第2の書き込み方法について、図28(c)を用いて説明する。図28(c)において、領域420は、単色画像データ400の全体に対応する1ページの印刷領域を示す。一方、各分割画像データ410a〜410dは、各メモリ31a〜31dにおいて、例えば先頭のアドレスad#1からそれぞれ書き込まれる。そして、印刷時に、各メモリ31a〜31dに格納される各分割画像データ410a〜410dに対して、Y方向の原点に対する印刷位置のオフセットが、例えば値「0」、値「y#1」、値「y#2」および値「y#3」のように設定される。この各分割画像データ410a〜410dに対する印刷時のオフセット値を、データ格納先アドレスと共に記述することが考えられる。
【0267】
データ転送サイズは、上述の(ア)〜(エ)にてそれぞれ説明した、Y方向の有効サイズSZ−Yをデータ転送制御部30a〜30dの数で除した場合の商と、端数すなわち剰余分をラスタ毎にデータ転送制御部30a〜30dに所定に振り分けた値とを合計したサイズが記述される。
【0268】
各色毎の情報におけるデータ転送用の情報の、データ転送元アドレス、データ格納先アドレスおよびデータ転送サイズ以外の各情報は、上述した図23の転送管理テーブルの各情報と共通である。
【0269】
また、各色毎の情報における印刷用の情報のうち、ビットマップ印刷位置Xは、用紙左端の位置を示す値「0」が記述される。印刷用の情報のビットマップ印刷位置X以外の情報は、上述した図23の転送管理テーブルの各情報と共通である。
【0270】
上述した第1の書き込み方法と第2の書き込み方法とでは、メモリ31a〜31dに対するゼロクリアの方法が異なる。図29を用いて、第1の実施形態に係るメモリ31a〜31dのゼロクリアの方法について説明する。なお、図29(a)および図29(b)において、各メモリ31a〜31dを、メモリ31aで代表させて示している。また、サイズYは、Y方向における1ページ分のサイズを示す。
【0271】
図29(a)は、第1の書き込み方法に対応するゼロクリアの方法の例を示す。第1の書き込み方法では、例えばメモリ31aおいて1ページ分の領域を確保し、確保した領域に対して印刷イメージに応じた位置に、印刷画像データ410aを書き込むようにしている。そのため、図29(a)において斜線を付して示されるように、メモリ31aの1ページ分の領域の全域をクリア領域として、ゼロクリアを行う。
【0272】
図29(b)は、第2の書き込み方法に対応するゼロクリアの方法の例を示す。第2の書き込み方法では、例えばメモリ31aにおいて分割画像データ410aのデータ転送サイズに対応するサイズの領域が確保される。そのため、分割画像データ410aが書き込まれた領域のみをクリア領域としてゼロクリアを行う。4のデータ転送制御部30a〜30dを有するこの例では、分割画像データ410aのデータ転送サイズは、サイズY×1/4に端数を加えたものとなる。そのため、図29(b)において斜線を付して示されるように、メモリ31aの、分割画像データ410aが書き込まれた先頭アドレスから、サイズY×1/4に端数を加えたアドレスまでの領域が、クリア領域とされる。
【0273】
(第1の実施形態による印刷シーケンス)
次に、第1の実施形態による印刷処理について説明する。図30は、第1の実施形態に適用可能な印刷処理を概念的に示す一例のシーケンス図である。なお、図30において、上述した図8と共通する部分について同一の符号を付して、詳細な説明を省略する。また、以下において、上述した図8のシーケンスと異なる部分を中心として、説明を行う。
【0274】
図30に示す第1の実施形態における印刷処理のシーケンスは、基本的には、図8を用いて説明したシーケンスと同様である。図30に示すシーケンスは、図8のシーケンスに対して、SEQ110a〜110d以降におけるデータの指定が異なる。すなわち、図30では、図8における色Y、C、MおよびK各色についての指定が、単色画像データを分割した各分割画像データ(色K−1、色K−2、色K−3および色K−4)の指定となる。
【0275】
より具体的には、SEQ110a〜110dにおいて、プリンタコントローラ14は、データ転送制御部30a、30b、30cおよび30dのそれぞれに対して、色K−1、K−2、K−3およびK−4各色について1ページ目のデータ転送を開始するように要求する。データ転送制御部30aは、この要求に従い、データ線11aを介して上位装置10に対して、単色画像データ400における色K−1に対応する分割画像データ410aを要求し、この要求に応じて上位装置10から転送された印刷画像データである色K−1の1ページ目の分割画像データ410aを、メモリ31aに格納する。SEQ110b〜110dの色K−2〜色K−4の処理も、このSEQ110aの色K−1の処理と同様なので、説明を省略する。
【0276】
各データ転送制御部30a、30b、30cおよび30dは、上位装置10からの各色の1ページ目の印刷画像データの転送が終了したら、それぞれ、その旨をプリンタコントローラ14に通知する(SEQ111a、111b、111cおよび111d)。このとき、第1の実施形態では、各データ転送制御部30a、30b、30cおよび30dに対して1ページの1/4のサイズの画像データが転送される。そのため、例えば各データ転送制御部30a、30b、30cおよび30dのうち少なくとも1に、1ページ分の画像データが転送される場合に比べて、データの転送処理をより高速に行うことができる。
【0277】
プリンタコントローラ14は、当該通知にそれぞれ応答して、データ転送制御部30a、30b、30cおよび30dに対してそれぞれ2ページ目(ページ#2)のデータ転送を開始するように要求する(SEQ112a、112b、112cおよび112d)。この要求に応じて、各データ転送制御部30a、30b、30cおよび30dは、上位装置10に対して各色の2ページ目の印刷画像データをそれぞれ要求し、この要求に応じて上位装置10から転送された印刷画像データである、2ページ目の各分割画像データ410a〜410dを、それぞれメモリ31a、31b、31cおよび31dに格納する。
【0278】
SEQ113〜SEQ117の処理は、図8を用いて説明した処理と同様なので、説明を省略する。
【0279】
プリンタコントローラ14は、SEQ117での搬送制御部51からの印刷可能状態報告に応じて、各データ転送制御部30a、30b、30cおよび30dに対して印刷の先頭位置を指示する(SEQ118)。
【0280】
各データ転送制御部30a、30b、30cおよび30dは、印刷先頭指示に応じて印刷を開始する。この例では、印刷用紙201の搬送方向に沿って4のヘッドがヘッド56a、56b、56c、56dの順に並べられているものとする。
【0281】
各メモリ31a〜31dに対する分割画像データ410a〜410dの書き込み方法が、図28(b)を用いて説明した第1の書き込み方法の場合、印刷用紙201における1ページ目の印刷の先頭位置がヘッド56aによる印刷位置に達したら、先ずデータ転送制御部30aにおいて、メモリ31aからの1ページ目の印刷画像データの読み出しが開始される。データ転送制御部30aは、メモリ31a上に確保される1ページの領域の先頭(アドレスad#1)から、色K−1の分割画像データ410aによる印刷画像データを読み出す。読み出された印刷画像データは、画像出力部50に転送され、出力制御部55を介してヘッド56aに供給され、印刷用紙201に対する印刷が行われる(SEQ119a)。色K−1の1ページ目の印刷が終了すると、その旨がプリンタコントローラ14に対して通知される(SEQ120a)。
【0282】
以下同様にして、データ転送制御部30b〜30dによる分割画像データ410b〜310dの読み出しおよび印刷が順次行われる。
【0283】
一方、各メモリ31a〜31dに対する分割画像データ410a〜410dの書き込み方法が、図28(c)を用いて説明した第2の書き込み方法の場合、印刷用紙201における1ページ目の印刷の先頭位置がヘッド56aによる印刷位置に達したら、先ずデータ転送制御部30aにおいて、メモリ31aからの1ページ目の印刷画像データの読み出しが開始される。データ転送制御部30aは、メモリ31aのアドレスad#1から、色K−1の分割画像データ410aによる印刷画像データを読み出す。読み出された印刷画像データは、画像出力部50に転送され、出力制御部55を介してヘッド56aに供給され、印刷用紙201に対する印刷が行われる(SEQ119a)。色K−1の1ページ目の印刷が終了すると、その旨がプリンタコントローラ14に対して通知される(SEQ120a)。
【0284】
続けて、印刷用紙201における1ページ目の印刷の先頭位置がヘッド56bによる印刷位置に達した場合、そのタイミングから、データ転送制御部30bは、メモリ31bに格納される分割画像データ410bに対して設定されたオフセット「y#1」に対応する距離だけ、当該1ページ目の印刷の先頭位置が進んだタイミングで、メモリ31bからの1ページ目の印刷画像データである分割画像データ410bの読み出しを開始する。メモリ31bから読み出された分割画像データ410bは、画像出力部50に転送され、出力制御部55を介してヘッド56bに供給され、印刷用紙201に対する印刷が開始される(SEQ119b)。分割画像データ410bの印刷が終了したら、その旨がプリンタコントローラ14に対して通知される(SEQ120b)。
【0285】
データ転送制御部30cは、分割画像データ410cについても同様に、印刷用紙201における1ページ目の印刷の先頭位置がヘッド56cによる印刷位置に達したタイミングから、分割画像データ410cに対して設定されたオフセット「y#2」に対応する距離だけ、当該1ページ目の印刷の先頭位置が進んだタイミングで、メモリ31cからの1ページ目の印刷画像データである分割画像データ410cの読み出しを開始する。データ転送制御部30dについても、同様に、分割画像データ410dに対して設定されたオフセット「y#3」を考慮したタイミングでメモリ31dからの分割画像データ410dの読み出しを行う。
【0286】
(印刷処理の詳細)
次に、第1の実施形態に適用可能な印刷処理について、より具体的に説明する。図31−1は、データ転送に係る上位装置10における処理の例を示すフローチャートである。なお、図31−1の各処理において、上述した図9−1の各処理と共通する部分には同一の符号を付して、詳細な説明を省略する。ステップS100のジョブ開始送信処理から、ステップS103のnページ目の印刷プロセスの開始処理までは、図9−1と同一の処理となるので、説明を省略する。このステップS103から、ステップS304〜ステップS311を含むステップS112までの処理は、ページ単位の処理となる。
【0287】
ステップS103でnページ目の印刷プロセスの開始処理が行われると、処理はステップS304に移行される。以降、ステップS304〜ステップS310の処理は、各データ転送制御部30a〜30d毎の処理となる。以下、データ転送制御部30aに関する処理を中心に説明する。
【0288】
上位装置10は、ステップS304で、プリンタコントローラ14からの色K−1の印刷画像である分割画像データ410aの要求を待機する。上位装置10は、プリンタコントローラ14から制御線12を介して送信されたデータ要求を受信すると、ステップS305で、受け取ったデータ要求に対する応答をプリンタコントローラ14に返す。そして、次のステップS306で、データ転送制御部30aからデータ線11aを介して送信されるデータ転送要求を待機する。
【0289】
上位装置10は、データ転送制御部30aからのデータ転送要求をデータ線11aを介して受信すると、ステップS307で、データ転送制御部30aに対する色K−1の印刷画像データである分割画像データ410aの転送を開始する。分割画像データ410aは、データ線11aを介してデータ転送制御部30aに転送される。このとき、上位装置10は、転送する分割画像データ410aに対して、当該分割画像データ410aのサイズを示す情報を付加する。
【0290】
上位装置10は、ステップS308で、1ページ分の分割画像データ410aのデータ転送が終了するのを待機する。図2−2を参照し、上位装置10は、例えば、制御部124が記憶部122およびインターフェイス123を監視し、各分割画像データ410a〜410dの1ページ分の転送が行われたか否かをそれぞれ判定する。1ページ分の分割画像データ410aのデータ転送が終了したと判定された場合、処理はステップS309に移行され、1ページ分のデータ転送が終了したことを示すデータ転送終了通知が制御線12を介してプリンタコントローラ14に対して送信される。そして、上位装置10は、次のステップS310で、プリンタコントローラ14からの分割画像データ410aについてのデータ受信完了通知を待機する。
【0291】
上位装置10は、ステップS311で、分割画像データ410a〜410dの全てについて、データ受信完了通知を受信したか否かを判定する。若し、受信していないと判定した場合、処理をステップS304に戻し、次の色について処理を実行する。
【0292】
なお、図31−1では、ステップS304〜ステップS310の処理が分割画像データ410a〜410dについて順次実行されるように説明したが、これはこの例に限定されない。例えば、ステップS304〜ステップS310の処理を、分割画像データ410a〜410dについて並列的に実行することも可能である。この場合、ステップS311は、分割画像データ410a〜410dそれぞれの処理におけるステップS310でのデータ受信完了通知を待機することになる。
【0293】
上位装置10は、ステップS311で、分割画像データ410a〜410dについてデータ受信完了通知を受信したと判定したら、処理をステップS112に移行させ、次のページの印刷処理を行うか否かを判定する。印刷を行うページ数は、ホスト装置5から受信した印刷ジョブデータから取得することができる。若し、次ページの印刷処理があると判定された場合、ページ番号n=n+1とされて処理がステップS103に戻される。
【0294】
一方、印刷ジョブデータに示される全ページ分のデータ転送が終了したと判定された場合、処理がステップS113に移行され、上位装置10は、プリンタコントローラ14からの全ページの排紙報告が待機される。上位装置10は、プリンタコントローラ14からの全ページの排紙報告を受信した場合、処理をステップS114に移行させ、プリンタコントローラ14に対して、制御線12を介して全ての印刷ジョブが終了した旨を示すジョブ終了通知を送信する。
【0295】
図31−2は、データ転送に係るプリンタコントローラ14における処理の例を示すフローチャートである。なお、図31−2の各処理において、上述した図9−2の各処理と共通する部分には同一の符号を付して、詳細な説明を省略する。ステップS120のジョブ開始の待機から、ステップS123のnページ目の印刷プロセスの開始処理までは、図9−2と同一の処理となるので、説明を省略する。このステップS123からステップS329までの処理は、ページ単位の処理となる。
【0296】
ステップS123でnページ目の印刷プロセスの開始処理が行われると、処理はステップS324に移行される。以降、ステップS324〜ステップS328の処理は、各データ転送制御部30a〜30d毎の処理となる。以下、データ転送制御部30aに関する処理を中心に説明する。
【0297】
ステップS324で、プリンタコントローラ14は、上位装置10に対して、制御線12を介して印刷画像データを要求し、次のステップS325で、この要求に対する上位装置10からの応答を待機する。プリンタコントローラ14は、上位装置10からの応答を受信したら、次のステップS326で、データ転送制御部30aに対して、エンジンI/F制御線40aを介してデータ転送の開始を要求する。
【0298】
このとき、プリンタコントローラ14は、図27を用いて説明した転送管理テーブルの色K−1の情報から、少なくとも、印刷を行うページ(nページ目)を示すページ識別子PBIDと、印刷画像データである分割画像データ410aの転送元のアドレスを示す転送元アドレスと、分割画像データ410aの格納先のアドレスを示す格納先アドレスと、データ転送サイズとを抽出する。そして、プリンタコントローラ14は、抽出されたこれらの情報を、データ転送の開始を要求するデータ転送開始要求に付加して、例えばデータ転送制御部30aに送信する。
【0299】
次のステップS327で、プリンタコントローラ14は、上位装置10からのデータ転送終了通知と、データ転送制御部30aからのデータ転送終了通知とを待機する。プリンタコントローラ14は、これら上位装置10およびデータ転送制御部30aからそれぞれ制御線12およびエンジンI/F制御線40aを介してデータ転送終了通知を受信したら、処理をステップS328に移行させ、分割画像データ410aについてのデータ受信完了通知を、上位装置10に対して制御線12を介して送信する。
【0300】
プリンタコントローラ14は、ステップS329で、分割画像データ410a、410b、410cおよび410dのデータ転送が終了したか否かを判定する。若し、終了していないと判定した場合、処理をステップS324に戻し、次の分割画像データについて処理を実行する。一方、プリンタコントローラ14は、ステップS329で1ページ分のデータ転送が終了したと判定した場合、ページ番号n=n+1として処理をステップS123に戻す。
【0301】
なお、図31−2では、ステップS324〜ステップS328の処理が各分割画像データ410a〜410dについて順次実行されるように説明したが、これはこの例に限定されない。例えば、ステップS324〜ステップS328の処理を、各分割画像データ410a〜310dについて並列的に実行することも可能である。この場合、ステップS329は、各分割画像データ410a〜310dの処理におけるステップS328でのデータ受信完了通知を待機することになる。
【0302】
なお、プリンタコントローラ14は、データ転送制御部30a〜30dに対して、各エンジンI/F制御線40a〜40dを介して印刷指示を送信する。この印刷指示により、各データ転送制御部30a〜30dにおいてメモリ31a〜31dから印刷画像データである各分割画像データ410a〜410dが読み出され、印刷用紙201に対する印刷画像データの印刷が実行される。
【0303】
上述した図9−3のフローチャートを参照して、第1の実施形態に係る、プリンタコントローラ14が印刷指示を行う際の一例の処理について説明する。プリンタコントローラ14は、図9−3のフローチャートの実行に先立って、搬送制御部51に対して印刷準備指示を送信する。
【0304】
プリンタコントローラ14は、ステップS140で、上位装置10からジョブ終了通知が送信されていないと判定した場合、処理をステップS141に移行させ、各分割画像データ410a〜410dについて少なくとも1ページ分の印刷画像データの転送終了を待機する。プリンタコントローラ14は、1ページ分の印刷画像データの転送が終了したと判定したら、処理をステップS142に移行させ、搬送制御部51からの印刷準備完了を示す応答の受信を待機し、当該応答を受信すると、各データ転送制御部30a〜30dに対して、nページ目の印刷を指示する印刷指示を送信する(ステップS143)。
【0305】
上述した図9−4のフローチャートを参照して、第1の実施形態に係る、データ転送の際のデータ転送処理部30a〜30dにおける処理について説明する。ここでは、説明のため、転送を行うデータを分割画像データ410aとし、データ転送制御部30aでの処理について説明する。
【0306】
データ転送制御部30aは、ステップS150で、プリンタコントローラ14からデータ転送開始要求を受信すると、次のステップS151で、上位装置10に対して、分割画像データ410aの転送を要求するデータ転送要求をデータ線11aを介して送信する。このデータ転送要求に応じて上位装置10からデータ線11aを介して転送される、分割画像データ410aを、データ転送制御部30aが受信する(ステップS152)。データ転送制御部30aは、受信した分割画像データ410aをメモリ31aの所定の領域に格納する(ステップS153)。
【0307】
データ転送制御部30aは、ステップS154で、上位装置10からの分割画像データ410aの転送が終了したか否かを判定する。データ転送制御部30aは、例えば、転送される分割画像データ410aに付加されるサイズ情報に基づき、印刷画像データの転送が終了したか否かを判定することができる。若し、分割画像データ410aの転送が終了していないと判定した場合は、処理をステップS152に戻し、データの受信およびメモリ31aへの格納を継続する。一方、印刷画像データの転送が終了したと判定した場合は、処理をステップS155に移行させ、プリンタコントローラ14に対してデータ転送終了通知を送信する。そして、処理がステップS150に戻される。
【0308】
上述では、各分割画像データ410a〜410dの転送処理に際して、上位装置10は、各分割画像データ410a〜410dのデータ転送制御部30a〜30dから各データ線11a〜11dを介して送信されたデータ転送要求に応じて、各分割画像データ410a〜410dを転送していた。これはこの例に限定されず、この第1の実施形態においても、上述のデータ転送処理の別の例で説明したように、データ転送制御部30a〜30dから上位装置10に対してデータ転送要求を送信せず、上位装置10は、プリンタコントローラ14からのデータ要求に応答した後、直接的に、データ転送制御部30a〜30dに対してデータ線11a〜11dを介して各分割画像データ410a〜410dを転送するようにできる。
【0309】
この場合の処理は、上述した図11−1および図11−2を用いて説明した処理に対して、各色の印刷画像データに関する記述を各分割画像データに関する記述に置き換えたものと略同様となるため、ここでの説明を省略する。
【0310】
図32−1〜図32−3は、上述した図31−1および図31−2に示した各フローチャートと、図9−3および図9−4を参照して説明した処理に従って実行される、第1の実施形態に適用可能な印刷処理をより具体的に示す一例のシーケンス図である。なお、図32−1〜図32−3において、上述した図10−1〜図10−3と共通する部分には同一の符号を付して、詳細な説明を省略する。
【0311】
図32−1〜図32−3のシーケンス図における各処理は、概ね、図10−1〜図10−3の各処理における色Y、M、C、K各色に関する処理を、各分割画像データ410a〜410dに関する処理に置き換えたものとなっている。SEQ300〜SEQ305の処理は、図10−1のSEQ200〜SEQ205の処理と同一であるため、ここでの説明を省略する。
【0312】
プリンタコントローラ14は、印刷画像データである分割画像データ410aを要求する印刷プロセス要求の制御情報を、上位装置10に対して制御線12を介して送信する(SEQ306)。この制御情報は、プロセスを指定するプロセス識別番号processID=1と、色K−1を指定する色情報K−1とが含まれる。色情報K−1の代わりに、分割画像データ410aの読み出しに必要な情報、例えば転送元アドレスを上位装置10に対して送信してもよい。
【0313】
上位装置10は、この制御情報に対する応答として、画像識別番号imageID=1を含む制御情報をプリンタコントローラ14に返す(SEQ307)。プリンタコントローラ14は、この制御情報を受信すると、色K−1に対応するデータ転送制御部30aに対して分割画像データ410aの転送を開始するよう要求する(SEQ308)。このとき、プリンタコントローラ14は、例えば、転送の開始を要求する分割画像データ410aのデータサイズを、この要求と共にデータ転送制御部30aに送信する。
【0314】
データ転送制御部30aは、この要求を受けて、データ線11aを介して上位装置10に対して色K−1に対応する分割画像データ410aを要求する(SEQ309A)。なお、第1の実施形態においては、単色画像データ400の印刷を行うため、単一のプレーンのみが存在するので、特にプレーンの指定を行わない。勿論、例えばプレーン#1などとしてプレーンの指定を行なってもよい。SEQ309Aの要求に応じて、上位装置10からデータ転送制御部30aに対して、分割画像データ410aが転送される(SEQ309)。転送された分割画像データ410aは、データ転送制御部30aのメモリ31aにおける、1ページ目の印刷画像データのために割り当てられた領域に格納される。
【0315】
以下、他の分割画像データ410b、410cおよび410dについても、上述のSEQ306、SEQ307、SEQ308、SEQ309AおよびSEQ309と同様の処理が繰り返され、各分割画像データ410b、410cおよび410dが上位装置10から各データ線11b、11cおよび11dを介してデータ転送制御部30b、30cおよび30dにそれぞれ転送され、メモリ31b、31cおよび31dそれぞれの、1ページ目の印刷画像データのために割り当てられた領域に格納される(SEQ310〜SEQ321)。
【0316】
また、上位装置10は、各分割画像データ410a〜410dの印刷画像データの転送が終了する毎に、データ転送完了の制御情報をプリンタコントローラ14に対して送信する。プリンタコントローラ14は、この制御情報に応じて、各分割画像データ410a〜410dの受信完了の制御情報を上位装置10に送信する。
【0317】
例えば、上位装置10は、分割画像データ410aの転送が終了すると、画像識別番号imageID=1と色情報K−1とを含むデータ転送完了の制御情報をプリンタコントローラ14に対して送信する(SEQ322)。一方、データ転送制御部30aは、上位装置10からの分割画像データ410aの転送が終了すると、その旨示す通知をプリンタコントローラ14に対して送信する(SEQ323)。プリンタコントローラ14は、この通知に応じて、画像識別番号imageID=1と、色情報K−1とを含むデータ受信完了の制御情報を上位装置10に対して送信する(SEQ324)。
【0318】
以下、他の各分割画像データ410b、410cおよび410dについても、各分割画像データ410b、410cおよび410dの転送終了に伴い上述のSEQ322〜SEQ324と同様の処理が繰り返され、上位装置10に対してデータ受信完了の制御情報が送信される(SEQ325〜SEQ333)。
【0319】
第1の実施形態によれば、上位装置10から各データ転送制御部30a〜30dに転送される印刷画像データが、1ページ分の単色画像データ400をデータ転送制御部30a〜30dの数のブロックに分割した分割画像データ410a〜410dとされている。そのため、上位装置10から各データ転送制御部30a〜30dに対してそれぞれ1ページ分の画像データを転送する場合に比べて、SEQ306〜SEQ333までの処理を高速に実行することができる。
【0320】
プリンタコントローラ14は、SEQ333で、1ページ目の最後の印刷画像データ(例えば分割画像データ410d)についてのデータ受信完了の制御情報を上位装置10に送信した後に、搬送制御部51に対して印刷の準備を指示する。搬送制御部51は、この指示に従い印刷用紙201の印刷位置への搬送を開始する。
【0321】
説明は図32−2に移り、1ページ目の各分割画像データ410a〜410dの転送が完了すると、上位装置10は、2ページ目の印刷プロセス開始の制御情報をプリンタコン
トローラ14に送信する(SEQ334)。この制御情報は、当該2ページ目のプロセスを識別するプロセス識別番号processID=2と、2ページ目を構成する画像を示す画像識別番号imageID=2とを含む。プリンタコントローラ14は、この印刷プロセス開始に対する応答である印刷プロセス開始の制御情報を上位装置10に返す(SEQ335)。上位装置10は、この応答を受け取ると、SEQ336で、ジョブ識別子jobID=1が指定されたプロセス開始要求完了の制御情報を、プリンタコントローラ14に対して送信する。
【0322】
次に、上述したSEQ306〜SEQ321と同様にして、プリンタコントローラ14は、上位装置10に対して印刷プロセス要求の制御情報を送信し、印刷画像データを要求する。この印刷プロセス要求は、各分割画像データ410a〜410dについて、それぞれが格納されるデータ転送制御部30a〜30dに対応するヘッド56a〜56dの並び順に従って、順次行われる。
【0323】
例えば、プリンタコントローラ14は、分割画像データ410aを要求する印刷プロセス要求の制御情報を、上位装置10に対して送信する(SEQ337)。この制御情報は、プロセスを指定するプロセス識別番号processID=2と、色K−1を指定する色情報K−1とが含まれる。上位装置10は、この制御情報に対する応答として、画像識別番号imageID=2を含む制御情報をプリンタコントローラ14に返す(SEQ338)。プリンタコントローラ14は、この制御情報を受信すると、色K−1に対応するデータ転送制御部30aに対して分割画像データ410aの転送を開始するよう要求する(SEQ339)。
【0324】
データ転送制御部30aは、この要求を受けて、データ線11aを介して上位装置10に対して分割画像データ410aを要求し(SEQ340A)、この要求に応じて、上位装置10からデータ転送制御部30aに対して、分割画像データ410aが転送される(SEQ340)。転送された分割画像データ410aは、データ転送制御部30aのメモリ31aにおける2ページ目の印刷画像データのために割り当てられた領域に格納される。
【0325】
以下、他の各分割画像データ410b〜410dについても、上述のSEQ337、SEQ338、SEQ339、SEQ340AおよびSEQ340と同様の処理が繰り返され、各分割画像データ410b〜410dが上位装置10から各データ線11b、11cおよび11dを介してデータ転送制御部30b、30cおよび30dにそれぞれ転送され、メモリ31b、31cおよび31dそれぞれの2ページ目の印刷画像データのために割り当てられた領域に格納される(SEQ344〜SEQ351、SEQ355〜SEQ358)。
【0326】
また、上述と同様に、上位装置10は、各分割画像データ410a〜410dの転送終了毎に、データ転送完了の制御情報をプリンタコントローラ14に対して送信する。プリンタコントローラ14は、この制御情報に応答して、印刷画像データの受信完了の制御情報を上位装置10に送信する。
【0327】
図32−2の例では、上位装置10は、SEQ340で転送された分割画像データ410aの転送が終了されると、データ転送完了の制御情報をプリンタコントローラ14に対して送信する(SEQ352)。データ転送制御部30aは、上位装置10からデータ線11aを介しての分割画像データ410aの転送が終了すると、その旨示す通知をプリンタコントローラ14に対して送信する(SEQ353)。プリンタコントローラ14は、この通知に応答して、画像識別番号imageID=2と、色情報K−1とを含むデータ受信完了の制御情報を上位装置10に対して送信する(SEQ354)。
【0328】
以下、他の各分割画像データ410b〜410dについても、各分割画像データ410b〜310dの転送終了に伴い上述のSEQ352〜SEQ354と同様の処理が行われ、上位装置10に対してデータ受信完了の制御情報が送信される(SEQ359〜SEQ367)。
【0329】
なお、図32−2の例では、図10−2の場合と同様に、上述したSEQ334の直前における搬送制御部51に対する印刷準備の指示に対する、搬送制御部51からの印刷準備が完了した旨の応答が、SEQ340の直後に、搬送制御部51からプリンタコントローラ14に対して通知されている。プリンタコントローラ14は、この通知を受信すると、それぞれプロセス識別番号processID=1およびプロセス識別番号processID=2とした、印刷プロセス開始の2の制御情報を、上位装置10に対して送信する(SEQ341、SEQ343)。これにより、上位装置10に対して、1ページ目および2ページ目の印刷が可能となった旨が通知される。
【0330】
また、SEQ341の時点で、1ページ目の各分割画像データ410a〜410dのデータ転送制御部30a、30b、30cおよび30dへの転送が完了している。そのため、プリンタコントローラ14は、各データ転送制御部30a、30b、30cおよび30dに対して、1ページ目の印刷を行う印刷指示をそれぞれ通知する(SEQ342)。この印刷指示は、例えば各データ転送制御部30a、30b、30cおよび30dにおいて、例えばメモリ31a、31b、31cおよび31dを用いてそれぞれ保持される。この印刷指示に従った実際の印刷動作は、後続するページの印刷動作などとタイミングを合わせて実行される。
【0331】
さらに、図32−2の例では、プリンタコントローラ14において、SEQ341およびSEQ343の印刷プロセス開始の制御情報の送信により、2番目に転送が開始される分割画像データ410bの上位装置10に対する要求が遅延している(SEQ344参照)。そして、この遅延に伴い、最初に転送が開始された分割画像データ410aの転送が、分割画像データ410dの転送が開始される前に完了してしまっている(SEQ353参照)。さらにまた、分割画像データ410aの転送完了の通知処理(SEQ353)の後に、分割画像データ410dの転送が開始されている(SEQ357、SEQ358)。
【0332】
SEQ367で、プリンタコントローラ14が上位装置10に対して分割画像データ410dの転送が完了したことを通知すると、プリンタコントローラ14は、各データ転送制御部30a、30b、30cおよび30dに対して2ページ目の印刷を行う印刷指示をそれぞれ通知する(SEQ368)。
【0333】
説明は図32−3に移り、プリンタエンジン15においてSEQ342の印刷指示に従い1ページ目の印刷が実行され、印刷用紙201の給紙が開始される。プリンタエンジン15は、この1ページ目の給紙開始をプリンタコントローラ14に対して通知する(SEQ369)。プリンタコントローラ14は、この通知を受信すると、上位装置10に対して、プロセス識別番号processID=1として、1ページ目の給紙が開始されたことを示す制御情報を送信する(SEQ370)。それと共に、プリンタコントローラ14は、データ転送制御部30a、30b、30cおよび30dに対して、互いに同期して印刷を実行するよう、印刷指示を送信する。この印刷指示に従い、データ転送制御部30a、30b、30cおよび30dは、各メモリ31a、31b、31cおよび31dから各分割画像データ410a〜410dをそれぞれ読み出し、印刷用紙201に対する1ページ目の、各分割画像データ410a〜410dに対応する所定位置への印刷を順次行う。
【0334】
同様に、プリンタエンジン15は、1ページ目の印刷が完了し、2ページ目の印刷に移行すると、2ページ目の給紙開始をプリンタコントローラ14に通知する(SEQ371)。プリンタコントローラ14は、この通知を受信すると、上位装置10に対して、プロセス識別番号processID=2として、2ページ目の給紙が開始されたことを示す制御情報を送信する(SEQ372)と共に、データ転送制御部30a、30b、30cおよび30dに対して、互いに同期して印刷を実行するよう、印刷指示を送信する。この印刷指示に従い、データ転送制御部30a、30b、30cおよび30dは、各メモリ31a、31b、31cおよび31dから各分割画像データ410a〜410dをそれぞれ読み出し、印刷用紙201に対する2ページ目の印刷を順次行う。
【0335】
以降、SEQ373〜SEQ378の処理は、図10−3のSEQ273〜SEQ278の処理と同一であるため、ここでの説明を省略する。
【0336】
(第2の実施形態)
次に、第2の実施形態について説明する。上述の第1の実施形態では、1ページ分の単色画像データをデータ転送制御部30a〜30dに応じた数のブロックに分割して、各データ転送制御部30a〜30dに転送した。これに対して、第2の実施形態では、1ページ分の単色画像データをラスタ単位で順次、各データ転送制御部30a〜30dに転送する。
【0337】
第2の実施形態について、図33〜図35を用いて説明する。図33は、第2の実施形態に適用可能な転送管理テーブルの一例を示す。なお、以下において、上述の図23を用いて説明した転送管理テーブルと共通する部分については、詳細な説明を省略し、図23と異なる部分を中心に説明する。また、以下の例では、プリンタ装置13が4のデータ転送制御部30a〜30dを有するものとし、それぞれ黒色(K)の画像データである色K−1、色K−2、色K−3および色K−4を扱うものとする。
【0338】
図33に例示されるように、第2の実施形態による転送管理テーブルでは、各色に共通の情報は、ページ識別子PBIDおよび1ページ当たりのデータ数を含むと共に、印刷用の情報として、印刷開始アドレス、解像度、階調、用紙送り長、用紙幅および印刷面を含む。また、第2の実施形態では、各色に共通の情報としてデータ転送用の情報として、領域クリアアドレス510を含む。また、印刷用の情報における印刷開始アドレスは、領域クリアアドレス510と同一の値が用いられる。
【0339】
第2の実施形態による転送管理テーブルにおける各色毎の情報について説明する。各色毎の情報において、Color識別子が含まれると共に、データ転送用の情報と、印刷用の情報とが含まれる。Color識別子は、例えば色K−1、色K−2、色K−3および色K−4を示す値であって、以下では、Color識別子が「色K−1」の場合の各情報について説明する。
【0340】
この第2の実施形態の例に適用される各色毎の情報におけるデータ転送用の情報は、データ転送要否、データ転送元アドレス501、データ格納先アドレス502、領域クリアサイズ520、データ転送サイズ503、データインクリメントサイズ508およびデータインクリメント数509を含む。
【0341】
このデータ転送用の情報のうち、データ転送元アドレス501は、1ページの先頭ラスタを示す情報が格納され、データ格納先アドレス502は、ページの先頭を示す情報が格納される。領域クリアサイズ520は、バウンダリ調整サイズを含むバイトサイズであって、X方向のサイズ(画素数)と、Y方向のサイズ(ラスタ数)とを乗じた値である。データ転送サイズ503は、バウンダリ調整サイズを含むバイトサイズであって、X方向のサイズである。
【0342】
データインクリメントサイズ508は、上述のデータ転送サイズ503に、プリンタ装置13に搭載されるデータ転送制御部30a〜30dの台数を乗じた値とされる。また、データインクリメント数509は、単色画像データ531のY方向のサイズをデータ転送制御部30a〜30dの台数で除した商である。端数が存在する場合は、各データ転送制御部30a〜30dに対して順次、ラスタ単位で振り分ける。
【0343】
この第2の実施形態に適用される各色毎の情報における印刷用の情報は、印刷要否、印刷不可領域上、下、左および右、ならびに、画像情報を含む。また、画像情報は、X方向有効サイズ504およびY方向有効サイズを含む。また、この印刷用の情報は、図23の例と異なり、ビットマップ印刷位置XおよびYを含まない。
【0344】
図34を用いて、第2の実施形態によるデータ転送方法について説明する。図34(a)は、上位装置10からプリンタ装置13に転送される単色画像データ351の例を示す。なお、図34(a)において、用紙が図の右側から左側に送られるものとし、単色画像データ531の左下隅が座標の原点とされ、Y方向の座標が左側から右側に向けて増加し、X方向の座標が下側から上側に向けて増加する。X方向に沿った1ラインがラスタであり、印刷はこのラスタ単位で、Y座標を順次増加させて行われる。また、単色画像データ531内の縦の点線は、各ラスタの境界を示す。
【0345】
図34(a)の例では、プリンタ装置13に転送する単色画像データ531は、X方向のデータ転送サイズ503が、上位装置10が生成する画像データ530におけるX方向の有効サイズ504に対して、X方向のバウンダリ調整サイズを含むサイズとなっている。また、単色画像データ531は、説明のため、6ラスタで1ページ分を構成するものとする。
【0346】
単色画像データ531は、ラスタ単位で順次各データ転送制御部30a〜30dに転送されるため、例えばColor識別子K−1に対応するデータ転送元アドレス501は、第1ラスタ目を示し、次のColor識別子K−2に対応するデータ転送元アドレスは、第2ラスタ目を示す。
【0347】
一方、単色画像データ531の第1ラスタ目のデータは、図34(b)に例示されるように、例えばメモリ31aにおいては、先頭のアドレスがデータ格納先アドレス502として指定される。また、メモリ31bにおいては、2ラスタ目の位置のアドレスがデータ格納先アドレス502として指定される。このように、各メモリ31a〜31dに対して順次1ラスタずつずらしてデータ格納先アドレス502が指定される。
【0348】
また、各メモリ31a〜31dにおいては、指定されたデータ格納先アドレス502に対して、データインクリメントサイズ508で示され値を加算したアドレスを、次のデータ格納アドレス502先とする。データインクリメントサイズ508は、データ転送サイズ503にデータ転送制御部30a〜30dの台数を乗じた値である。したがって、例えばメモリ31aには、メモリ31aが含まれるデータ転送制御部30aの他のデータ転送制御部30b〜30dの分だけラスタを空けて(すなわち4ラスタ毎に)、ラスタ単位で単色画像データ531が格納されることになる。
【0349】
より具体的には、例えばメモリ31aにおいて、単色画像データ531の1ラスタ目のデータが書き込まれたアドレスに対して4ラスタ分のアドレスを加えたアドレスに、単色画像データ531の4ラスタ目のデータが書き込まれる。メモリ31aの2ラスタ目〜4ラスタ目のアドレスには、画像データは書き込まれない。これは、他のメモリ31b〜31dについても、各メモリ31b〜31dに対する最初のラスタデータの書き込みアドレスが1ラスタずつずれることを除き、同様にして書き込みアドレスが指定される。
【0350】
すなわち、各メモリ31a〜31dには、それぞれ他のメモリにラスタデータが書き込まれる位置を空けて、ラスタデータが書き込まれることになる。
【0351】
また、各メモリ31a〜31dにおいて、各色に共通の情報の領域クリアアドレス510に示されるアドレスから、各色毎の情報の領域クリアサイズ520で示される領域がゼロクリアされる。領域クリアサイズ520は、X方向のデータ転送サイズ503とY方向有効サイズ505とを乗じた値であって、バウンダリ調整サイズを含む単色画像データ531の全体のサイズと一致する。各メモリ31a〜31dは、データ読み出し完了直後から、次のデータ書き込み直前の間に、データ転送制御部30a〜30dによって、この領域がゼロクリアされる。
【0352】
上述のデータインクリメント数509について説明する。データインクリメント数509は、図35に示す計算式を用いて算出することができる。すなわち、下記の式(3)に示すように、
データインクリメント数=Y方向有効サイズ÷データ転送制御部の数 …(3)
とし、商および剰余を算出する。このとき、端数(剰余)が発生した場合、データ転送制御部30a〜30dのうち端数の数に対応する各データ転送制御部のデータインクリメント数509に対して、端数を1ずつ振り分けて加算する。
【0353】
より具体的には、端数が1の場合、データ転送制御部30aに対応するインクリメント数509にさらに1を加算する。端数が2の場合、データ転送制御部30aおよび30bに対応する各インクリメント数509に対して、それぞれ1を加算する。さらに、端数が3の場合、データ転送制御部30a、30bおよび30cに対応する各インクリメント数509に対して、それぞれ1を加算する。
【0354】
プリンタコントローラ14は、各データ転送制御部30a〜30dに対する1ページ分のデータ転送が完了すると、印刷開始アドレスから印刷する。各データ転送制御部30a〜30dにおいて、各メモリ31a〜31dは、印刷開始アドレスと同一アドレスとして指定される領域クリアアドレス510から、各領域クリアサイズ520で指定される領域をゼロクリアされてから、ラスタ単位の画像データが転送されている。そのため、プリンタコントローラ14は、印刷時には、1ページのビットマップ全体で印刷を実行する。各データ転送制御部30a〜30dが出力した印刷画像データは、印刷用紙201上でマージされ、1ページ分の出力結果が得られる。
【0355】
なお、第2の実施形態による印刷処理のシーケンスは、上述の第1の実施形態で説明したシーケンスと略同様なので、ここでの説明を省略する。
【0356】
このように、第2の実施形態によれば、上位装置10で生成された印刷画像データが、ラスタ毎に各データ転送制御部30a〜30dに対して順次転送される。そのため、各データ転送制御部30a〜30dに対して、1ページ分の画像データをデータ転送制御部30a〜30dの台数で除したデータ量がそれぞれ転送されることになる。したがって、上位装置10から各データ転送制御部30a〜30dに対してそれぞれ1ページ分の画像データを転送する場合に比べて、データ転送を高速に実行することができる。
【0357】
また、第2の実施形態の印刷装置(プリンタ装置13)は、画像データが書き込まれる複数の記憶手段と、複数の記憶手段それぞれの記憶空間と同一の記憶空間を示す記憶空間情報を持ち、記憶空間情報により複数の記憶手段に対する画像データの書き込みおよび読み出しを行うためのアドレス情報を管理する制御手段と、複数の記憶手段それぞれに対応して設けられ、複数の記憶手段に対する画像データの書き込みおよび読み出しをアドレス情報に従い行う複数のデータ管理手段と、複数の記憶手段それぞれから読み出した画像データを同一のページに印刷する印刷手段とを有する。
【0358】
また、第2の実施形態の印刷装置は、記憶空間情報を複数の記憶手段に共通で持つようにしている。
【0359】
また、第2の実施形態の印刷装置は、記憶空間情報を複数の記憶手段毎に持つようにしている。
【0360】
また、第2の実施形態の印刷装置は、制御手段は、読み出しの先頭アドレスを示す第1のアドレス情報と、書き込みの先頭アドレスを示す第2のアドレス情報とを管理するようにしている。
【0361】
また、第2の実施形態の印刷装置は、制御手段は、第1のアドレス情報が示すアドレスと第2のアドレス情報が示すアドレスとの差分に基づき、複数の記憶手段の空き領域を管理するようにしている。
【0362】
また、第2の実施形態の印刷装置は、制御手段は、複数の記憶手段の全てに対する所定単位の画像データの書き込みの終了に応じて、書き込みの先頭アドレスを所定単位分移動させて第2のアドレス情報を更新するようにしている。
【0363】
また、第2の実施形態の印刷装置は、制御手段は、複数の記憶手段の全てからの、所定単位の画像データの読み出しの終了に応じて、読み出しの先頭アドレスを所定単位分移動させて第1のアドレス情報を更新するようにしている。
【0364】
また、第2の実施形態の印刷装置は、制御手段は、複数の記憶手段の全てから所定単位の画像データの読み出しが終了してから、複数の記憶手段に画像データが書き込まれるまでの間の何れかの時点で、更新直前の第1のアドレス情報で示されるアドレスから所定単位分の領域をゼロクリアするようにしている。
【0365】
また、第2の実施形態の印刷装置は、制御手段は、第2のアドレス情報の更新の際に、更新直前の第1のアドレス情報で示されるアドレスから所定単位分の領域をゼロクリアするようにしている。
【符号の説明】
【0366】
10 上位装置
11,11a,11b,11c,11d データ線
12 制御線
13 プリンタ装置
14 プリンタコントローラ
15 プリンタエンジン
20 制御情報送受信部
21 制御信号送受信部
22 用紙搬送制御部
30a,30b,30c,30d データ転送制御部
31a,31b,31c,31d メモリ
40a,40b,40c,40d エンジンI/F制御線
41 搬送制御線
50 画像出力部
51 搬送制御部
55 出力制御部
56a,56b,56c,56d ヘッド
400 単色画像データ
410a,410b,410c,410d 分割画像データ
【先行技術文献】
【特許文献】
【0367】
【特許文献1】特開2004−287519号公報
【特許文献2】特開2002−254763号公報
【特許請求の範囲】
【請求項1】
画像データを生成する上位装置に対して所定数の第1の転送路をそれぞれ介して接続される前記所定数の保持手段と、
前記画像データを前記所定数のブロックに分割させ、該画像データが分割された各分割画像データを、前記上位装置から前記所定数の前記第1の転送路を介して前記所定数の前記保持手段それぞれに転送させ保持させる制御手段と、
前記所定数の前記保持手段それぞれから読み出した前記分割画像データを同一のページに印刷する印刷手段と
を有する
ことを特徴とする印刷装置。
【請求項2】
前記画像データは、単一色の画像データである
ことを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記制御手段は、
前記画像データをラスタ単位で前記所定数のブロックに分割し、剰余分をラスタ毎に順次前記所定数のブロックに割り当てる
ことを特徴とする請求項1または請求項2に記載の印刷装置。
【請求項4】
前記保持手段は、
前記制御手段の制御に従い、前記上位装置に対して前記第1の転送路を介して前記分割画像データを要求し、要求に応じて該上位装置から該第1の転送路を介して転送された該分割画像データを保持する
ことを特徴とする請求項1乃至請求項3の何れか1項に記載の印刷装置。
【請求項5】
前記制御手段は、
前記上位装置に対して第2の転送路を介して前記分割画像データの前記所定数の前記保持手段への転送を要求し、
前記保持手段は、
前記要求に応じて前記第1の転送路を介して前記上位装置から転送された前記分割画像データを受け取って保持する
ことを特徴とする請求項1乃至請求項3の何れか1項に記載の印刷装置。
【請求項6】
前記制御手段は、
前記印刷手段に対して前記ページ内での印刷位置を指定して前記保持手段から前記分割画像データを読み出し、
該保持手段からの該分割画像データの読み出しが終了してから該保持手段に次の前記分割画像データが書き込まれるまでの間の何れかの時点で、該保持手段から印刷のために読み出された該分割画像データが書き込まれていた該保持手段の領域をゼロクリアする
ことを特徴とする請求項1乃至請求項5の何れか1項に記載の印刷装置。
【請求項7】
前記制御手段は、
前記保持手段に対して1ページ分の前記画像データを書き込む領域を確保して前記分割画像データを該領域における印刷位置に対応する位置に書き込み、
該保持手段からの該分割画像データの読み出しが終了してから該保持手段に次の前記分割画像データが書き込まれるまでの間の何れかの時点で、該保持手段の該領域をゼロクリアする
ことを特徴とする請求項1乃至請求項5の何れか1項に記載の印刷装置。
【請求項8】
画像データを生成する上位装置に対して所定数の第1の転送路をそれぞれ介して接続される前記所定数の保持手段にデータを保持する保持ステップと、
前記画像データを前記所定数のブロックに分割させ、該画像データが分割された各分割画像データを、前記上位装置から前記所定数の前記第1の転送路を介して前記所定数の前記保持手段それぞれに転送させ保持させる制御ステップと、
前記所定数の前記保持手段それぞれから読み出した前記分割画像データを同一のページに印刷する印刷ステップと
を有する
ことを特徴とする印刷装置の制御方法。
【請求項1】
画像データを生成する上位装置に対して所定数の第1の転送路をそれぞれ介して接続される前記所定数の保持手段と、
前記画像データを前記所定数のブロックに分割させ、該画像データが分割された各分割画像データを、前記上位装置から前記所定数の前記第1の転送路を介して前記所定数の前記保持手段それぞれに転送させ保持させる制御手段と、
前記所定数の前記保持手段それぞれから読み出した前記分割画像データを同一のページに印刷する印刷手段と
を有する
ことを特徴とする印刷装置。
【請求項2】
前記画像データは、単一色の画像データである
ことを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記制御手段は、
前記画像データをラスタ単位で前記所定数のブロックに分割し、剰余分をラスタ毎に順次前記所定数のブロックに割り当てる
ことを特徴とする請求項1または請求項2に記載の印刷装置。
【請求項4】
前記保持手段は、
前記制御手段の制御に従い、前記上位装置に対して前記第1の転送路を介して前記分割画像データを要求し、要求に応じて該上位装置から該第1の転送路を介して転送された該分割画像データを保持する
ことを特徴とする請求項1乃至請求項3の何れか1項に記載の印刷装置。
【請求項5】
前記制御手段は、
前記上位装置に対して第2の転送路を介して前記分割画像データの前記所定数の前記保持手段への転送を要求し、
前記保持手段は、
前記要求に応じて前記第1の転送路を介して前記上位装置から転送された前記分割画像データを受け取って保持する
ことを特徴とする請求項1乃至請求項3の何れか1項に記載の印刷装置。
【請求項6】
前記制御手段は、
前記印刷手段に対して前記ページ内での印刷位置を指定して前記保持手段から前記分割画像データを読み出し、
該保持手段からの該分割画像データの読み出しが終了してから該保持手段に次の前記分割画像データが書き込まれるまでの間の何れかの時点で、該保持手段から印刷のために読み出された該分割画像データが書き込まれていた該保持手段の領域をゼロクリアする
ことを特徴とする請求項1乃至請求項5の何れか1項に記載の印刷装置。
【請求項7】
前記制御手段は、
前記保持手段に対して1ページ分の前記画像データを書き込む領域を確保して前記分割画像データを該領域における印刷位置に対応する位置に書き込み、
該保持手段からの該分割画像データの読み出しが終了してから該保持手段に次の前記分割画像データが書き込まれるまでの間の何れかの時点で、該保持手段の該領域をゼロクリアする
ことを特徴とする請求項1乃至請求項5の何れか1項に記載の印刷装置。
【請求項8】
画像データを生成する上位装置に対して所定数の第1の転送路をそれぞれ介して接続される前記所定数の保持手段にデータを保持する保持ステップと、
前記画像データを前記所定数のブロックに分割させ、該画像データが分割された各分割画像データを、前記上位装置から前記所定数の前記第1の転送路を介して前記所定数の前記保持手段それぞれに転送させ保持させる制御ステップと、
前記所定数の前記保持手段それぞれから読み出した前記分割画像データを同一のページに印刷する印刷ステップと
を有する
ことを特徴とする印刷装置の制御方法。
【図1】
【図2−1】
【図2−2】
【図3−1】
【図3−2】
【図4−1】
【図4−2】
【図5】
【図6】
【図7】
【図8】
【図9−1】
【図9−2】
【図9−3】
【図9−4】
【図10−1】
【図10−2】
【図10−3】
【図11−1】
【図11−2】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31−1】
【図31−2】
【図32−1】
【図32−2】
【図32−3】
【図33】
【図34】
【図35】
【図2−1】
【図2−2】
【図3−1】
【図3−2】
【図4−1】
【図4−2】
【図5】
【図6】
【図7】
【図8】
【図9−1】
【図9−2】
【図9−3】
【図9−4】
【図10−1】
【図10−2】
【図10−3】
【図11−1】
【図11−2】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31−1】
【図31−2】
【図32−1】
【図32−2】
【図32−3】
【図33】
【図34】
【図35】
【公開番号】特開2013−77294(P2013−77294A)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2012−185884(P2012−185884)
【出願日】平成24年8月24日(2012.8.24)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願日】平成24年8月24日(2012.8.24)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]