画像形成装置、画像形成装置の制御方法及びプログラム
【課題】複数の制御装置を有する画像形成装置において、メモリバスまたはプロセッサ通信路における輻輳による高速化への制約や低コスト化への制約を軽減することができる画像形成装置を提供することを目的とする。
【解決手段】印刷ジョブデータを画像データに加工する第1の回路と、上記第1の回路が加工した画像データに基づいて画像形成する第2の回路と、上記第1の回路に格納されているデータを読み取り、また、上記第1の回路に書き込み可能であり、かつ上記第2の回路に格納されているデータを読み取り、また上記第2の回路に書き込み可能であるストレージと、上記第2の回路が格納している印刷ジョブデータを上記ストレージに送信し、上記ストレージに格納されている上記印刷ジョブデータを、上記第1の回路に送信する手段とを有する。
【解決手段】印刷ジョブデータを画像データに加工する第1の回路と、上記第1の回路が加工した画像データに基づいて画像形成する第2の回路と、上記第1の回路に格納されているデータを読み取り、また、上記第1の回路に書き込み可能であり、かつ上記第2の回路に格納されているデータを読み取り、また上記第2の回路に書き込み可能であるストレージと、上記第2の回路が格納している印刷ジョブデータを上記ストレージに送信し、上記ストレージに格納されている上記印刷ジョブデータを、上記第1の回路に送信する手段とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷ジョブデータを画像として印刷する画像形成装置に関する。
【背景技術】
【0002】
従来の画像形成装置では、画像形成装置本体の印字機能を制御する本体制御部とは別に、プリンタコントローラまたはPDLコントローラと呼ばれる印刷ジョブデータの処理用制御部を用いる場合がある。上記PDLコントローラは、ページ記述言語を処理する制御部である。
【0003】
印字機能の印字が滞りなく行われるように、本体制御部が、画像形成装置本体の各駆動系を制御する。この間に、並行して、印刷ジョブデータ処理用の制御部は、印刷ジョブデータを、ホストPCから受け取り、画像形成装置本体が、処理可能な画像データに変換する。この並列処理によって、画像データの作成と画像形成装置の印字動作とが最適かつ高速に実行される。
【0004】
この印刷ジョブデータ処理用の制御装置において、データを蓄積するために、ハードディスク等のストレージが接続されている。このストレージのデータは、本体制御装置と印刷ジョブデータ制御装置との双方が関係する。
【0005】
たとえば、印刷ジョブデータ制御装置は、ホストPCから受信した印刷ジョブをストレージに記憶する。ホストPCから受信した印刷ジョブデータをストレージに記憶する理由は、ユーザが、同じデータを必要部数分、印刷して再印刷する場合に、2度目のデータ転送を省くためである。また、たとえば、印刷ジョブデータ制御装置が作成した印刷用の画像データを、プリンタ本体で印刷するときに、本体制御装置がストレージにアクセスし、そのストレージのデータを読み出す。
【0006】
従来の画像形成装置において、PDLコントローラ側に、ストレージを有することが知られている(たとえば、特許文献1参照)。また、プリンタ本体の本体制御部側に、ストレージを有する場合もあるが、PDLコントローラ側、プリンタ本体の本体制御部側のどちらかにストレージが接続されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2005−104041号公報(図3)
【発明の概要】
【発明が解決しようとする課題】
【0008】
図16は、本体制御部2001にストレージ2012が接続されている従来の画像形成装置PF11を示す図である。外部I/F部2007は、本体制御部2001に接続されている。本体制御部2001が制御するプリンタに、ページ記述言語の処理を加速するプリンタコントローラ2013を追加できる場合、従来の画像形成装置PF11が採用される。
【0009】
外部I/F部2007から入力された印刷ジョブデータは、まず、本体制御部2001のRAM2004に記憶され(経路16001)、受信処理された後に、ストレージ2012に保存される(経路16002)。ストレージ2012に保存された印刷ジョブデータは、プリンタコントローラ2013でレンダリング処理するために、まず、ストレージ2012から読み出し、本体制御装置のRAM2004に書き込まれる(経路16003)。
【0010】
書き込まれた印刷ジョブデータは、プロセッサ間通信路2019を通って、プリンタコントローラ2013へ転送され、プリンタコントローラ2013のRAM2016に書き込まれる(経路16004)。プリンタコントローラ2013が、RAM2016の印刷ジョブデータを実行する。レンダリングされた画像データは、プロセッサ間通信路2019を通って、本体制御部2001のRAM2004に書き込まれ(経路16005)、本体制御部2001は、RAM2004の画像データを印刷制御部2010に印刷させる(経路16006)。
【0011】
このときに、本体制御部2001のデータフローを考える。経路16001、経路16003、経路16005のように、RAM2004への書き込みが3回実行され、また、経路16002、経路16004、経路16006のように、RAM2004からの読み出しが3回実行される。
【0012】
これらの経路のうちで、経路16003と経路16004とは、プリンタコントローラ2013が印刷ジョブデータを処理するに際して、データ転送する経由路として使用されているだけである。経路16003、16004をデータ転送するので、従来の画像形成装置PF11では、RAM2004へのアクセスに関して、メモリバスが輻輳し、高速化に限界があるという問題がある。
【0013】
また、プロセッサ間通信路2019では、経路16004、経路16005のように、データ転送が2回実行される。このうちで、経路16004は、プリンタコントローラ2013が印刷ジョブデータを処理するに際して、データ転送する経由路として使用されているだけである。この経路16004をデータ転送するので、従来の画像形成装置PF11では、プロセッサ間通信路2019で、通信路が輻輳し、高速化に限界があるという問題がある。
【0014】
図17は、プリンタコントローラ2013にストレージ2012が接続されている従来の画像形成装置PF12を示す図である。外部I/F部10001は、プリンタコントローラ2013に接続されている。本体制御部2001が制御するプリンタの印刷処理速度よりも、ページ記述言語を処理するプリンタコントローラ2013の処理速度が速い場合に、従来の画像形成装置PF12が採用される。すなわち、ストレージ2012に対し、印刷ジョブデータだけではなく、レンダリング済みの画像データを蓄積できる画像形成装置として、従来の画像形成装置PF12が採用される。
【0015】
外部I/F部10001から入力された印刷ジョブデータは、プリンタコントローラ2013のRAM2016に書き込まれる(経路17001)。この書き込まれた印刷ジョブデータは、その後に、ページ毎のファイルとして、ストレージ2012のファイルシステムに格納される(経路17002)。
【0016】
プリンタコントローラ2013は、ストレージ2012のファイルシステムに格納され、各ページに分かれている印刷ジョブデータを読み出し、プリンタコントローラ2013のRAM2016に書き込む(経路17003)。そして、プリンタコントローラ2013は、RAM2016の印刷ジョブデータを、画像データへレンダリングし、レンダリングされた画像データ(レンダリング済み画像データ)は、ストレージ2012に格納される(経路17004)。
【0017】
ストレージ2012に保存されているレンダリング済み画像データは、本体制御部2001で印刷処理するために、まず、ストレージ2012から読み出し、プリンタコントローラ2013のRAM2016に書き込まれる(経路17005)。RAM2016に書き込まれたレンダリング済み画像データは、プロセッサ間通信路2019を通って、本体制御部2001へ転送され、本体制御部2001のRAM2004に書き込まれる(経路17006)。
【0018】
本体制御部2001は、RAM2004に書き込まれた画像データを用いて、印刷制御部2010とメカ制御部2009とを駆動し、印刷する(経路17007)。
【0019】
このときに、プリンタコントローラ2013のデータフローを考える。経路17001、経路17003、経路17005のように、RAM2016への書き込みが3回実行され、また、経路17002、経路17004、経路17006のように、RAM2016からの読み出しが3回実行される。
【0020】
これらの経路のうちで、経路17005と経路17006とは、本体制御部2001が画像データを印刷するに際して、データ転送する経由路として使用されているだけである。これら経路17005、17006をデータ転送するので、従来の画像形成装置PF12では、RAM2016へのアクセスに関して、メモリバスが輻輳し、高速化に限界があるという問題がある。
【0021】
また、プロセッサ間通信路2019では、経路17006のデータ転送が行われる。経路17006は、本体制御部2001が画像データを印刷するに際して、データ転送する経由路として使用されているだけである。上記のように、従来の画像形成装置PF12では、プロセッサ間通信路2019で、プロセッサ間コマンドだけではなく、画像データも転送する必要があり、低コストな通信系を用いることができないという問題がある。
【0022】
本発明は、複数の制御装置を有する画像形成装置において、メモリバスまたはプロセッサ通信路における輻輳による高速化への制約や低コスト化への制約を軽減することができる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【0023】
本発明の画像形成装置は、印刷ジョブデータを画像データに加工する第1の回路と、上記第1の回路が加工した画像データに基づいて画像形成する第2の回路と、上記第1の回路に格納されているデータを読み取り、また、上記第1の回路に書き込み可能であり、かつ上記第2の回路に格納されているデータを読み取り、また上記第2の回路に書き込み可能であるストレージと、上記第2の回路が格納している印刷ジョブデータを上記ストレージに送信し、上記ストレージに格納されている上記印刷ジョブデータを、上記第1の回路に送信する手段とを有する。
【発明の効果】
【0024】
本発明によれば、ストレージから印刷ジョブデータを第1の回路に直接送信するので、メモリバス、プロセッサ通信路における輻輳による高速化への制約、低コスト化への制約が軽減されるという効果を奏する。
【0025】
また、本発明によれば、ストレージからレンダリング済み画像データを第2の回路に直接送信するので、メモリバスにおける輻輳による高速化への制約、低コスト化への制約が軽減されるという効果を奏する。
【図面の簡単な説明】
【0026】
【図1】実施例1である画像形成装置PF1を用いたシステムを示す図である。
【図2】本発明の画像形成装置PF1の構成を示すブロック図である。
【図3】画像形成装置PF1におけるデータフローの説明図である。
【図4】ストレージ2012におけるファイルシステムを示す図である。
【図5】ストレージ2012とマルチプレクサ2011とを示す図である。
【図6】画像形成装置PF1におけるRAM上のデータを示す図である。
【図7】画像形成装置PF1におけるプロセッサ間コマンドを示す図である。
【図8】プリンタコントローラ2013の動作を示すフローチャートである。
【図9】本体制御部2001で1頁分画像データを印刷するフローチャートである。
【図10】本発明の実施例2である画像形成装置PF2を示すブロック図である。
【図11】実施例2におけるデータフローの説明図である。
【図12】ストレージ2012のファイルシステムを示す図である。
【図13】実施例2におけるプロセッサ間コマンドを示す図である。
【図14】プリンタコントローラ2013の動作を示すフローチャートである。
【図15】実施例2における本体制御部2001の動作のフローチャートである。
【図16】従来の画像形成装置PF11を示す図である。
【図17】従来の画像形成装置PF12を示す図である。
【発明を実施するための形態】
【0027】
発明を実施するための形態は、次の実施例である。
【実施例1】
【0028】
図1は、本発明の実施例1である画像形成装置PF1を用いたシステムの構成を示す図である。画像形成装置PF1は、大判のインクジェットプリンタであり、本体制御部2001と、プリンタコントローラ2013と、印字手段であるインクヘッド1004と、給紙手段であるロール紙給紙ユニット1005とを有する。
【0029】
インクヘッド1004で印刷されたロール紙は、図示しないカッターによってカットされ、排紙部1006に排紙される。ユーザは、操作部1007を介して、画像形成装置PF1の各種操作を指示する。
【0030】
LANのネットワーク1008が、画像形成装置PF1に接続され、ホストPC1009は、LANのネットワーク1008に接続されている。実施例1では、ホストPC1009が、ラスタ表記のプリンタ言語のジョブデータを生成している。
【0031】
なお、画像形成装置PF1は、インクジェット方式の大判プリンタであるが、複数の制御部を有する画像形成装置であれば、電子写真方式でも、サーマルヘッド方式でも、昇華型でも、像形成方式に関わらずに、適用可能である。また、大判プリンタではなく、デスクトップ型のカセット給紙や手差し給紙のプリンタや、複数の給紙段を有するプリンタや、スキャナやFAXと組み合わされた多機能型の複合機にも、画像形成装置PF1を適用することができる。
【0032】
また、画像形成装置PF1は、外部I/F部2007としてネットワーク接続ユニットを有するが、外部I/F部2007として、USBやIEEE1394、eS−ATA等を有するようにしてもよい。
【0033】
図2は、画像形成装置PF1の構成を示すブロック図である。本体制御部2001は、画像形成装置PF1における印刷機能を制御する。CPU2002は、本体制御部2001の中央演算装置である。本体制御部2001は、ROM2003から読み出したプログラムを実行する。
【0034】
RAM2004は、外部から受信した印刷ジョブデータやプリンタコントローラから受信した画像データを格納するためのデータメモリ領域と、本体制御部2001がプログラムを実行するためのワークメモリ領域とを、それぞれ独立して確保している。不揮発性メモリ2005は、FlashROMやEEPROMで構成され、画像形成装置PF1に現在設定されている印刷媒体の種類のような設定値を、電力供給から独立して、不揮発に記憶する。本体制御部2001の画像処理回路2006は、プリンタコントローラ2013から受信した画像データの各画素データを処理し、インクヘッドに送るヘッドデータ信号を出力する。つまり、画像処理回路2006は、画像データに基づいて、画像形成する回路する。
【0035】
外部I/F部2007は、外部インタフェースであり、IPプロトコルのようなネットワーク接続プロトコルによる送受信が可能である。操作部2008は、CPU2002からのメッセージを、LCDやLEDによってユーザに表示し、キー入力装置によってユーザからの指示を画像形成装置PF1に入力する。メカ制御部2009は、図示しない給紙駆動部、カッター駆動部、排紙駆動部を制御し、用紙の搬送制御を行う。印刷制御部2010は、図示しないインク供給部、キャリッジ駆動部、ヘッド制御部を制御し、メカ制御部2009と同期して、用紙上に印刷する。
【0036】
マルチプレクサ2011は、本体制御部2001とプリンタコントローラ2013とをストレージ2012に接続する。ストレージ2012に論理的に配置されているファイルシステムによって、本体制御部2001とプリンタコントローラ2013とから、マルチプレクサ2011をアクセスすることができる。また、マルチプレクサ2011は、信号切り替え機能または信号選択機能を有し、それも、片方向だけではなく双方向で、信号切り替えまたは信号選択を実行する。
【0037】
すなわち、マルチプレクサ2011は、本体制御部2001が格納している印刷ジョブデータをストレージ2012に送信し、ストレージ2012に格納されている印刷ジョブデータを、プリンタコントローラ2013に送信する。
【0038】
ストレージ2012は、HDDで形成され、プリンタコントローラ2013のデータを読み取り、プリンタコントローラ2013に書き込み可能であり、また本体制御部2001のデータを読み取り、また本体制御部2001に書き込み可能である。
【0039】
プリンタコントローラ2013は、画像形成装置PF1における印刷ジョブデータのページ記述言語を画像データにレンダリングする機能を制御する。
【0040】
CPU2014は、プリンタコントローラ2013の中央演算装置であり、ROM2015から読み出したプログラムを実行することによって制御する。RAM2016は、ストレージ2012から受信した印刷ジョブデータや本体制御部2001へ送信する画像データを格納するデータメモリ領域を有する。また、RAM2016は、CPU2014がプログラムを実行し、レンダリングを実行するためのワークメモリ領域を有する。
【0041】
不揮発性メモリ2017は、FlashROMやEEPROMで構成され、プリンタコントローラ2013に現在設定されているフォントのような設定データが、電力供給から独立して、不揮発に記憶している。画像処理回路2018は、印刷ジョブデータを、画像データへレンダリングする。
【0042】
プロセッサ間通信路2019は、本体制御部2001とプリンタコントローラ2013との間の通信路であり、本体制御部2001とプリンタコントローラ2013との間の指示コマンドの経路である。また、プロセッサ間通信路2019は、プリンタコントローラ2013でレンダリングされた画像データを、本体制御部2001に転送する経路でもある。つまり、プロセッサ間通信路2019は、プリンタコントローラ2013が加工した画像データを、本体制御部2001に送る経路であり、プリンタコントローラ2013と本体制御部2001との間に、ストレージ2012を介した接続とは異なる通信路である。さらに、プロセッサ間通信路2019を介して、プリンタコントローラ2013と本体制御部2001との間でコマンドを通信する。
【0043】
次に画像形成装置PF1におけるデータフローについて説明する。
【0044】
図3は、画像形成装置PF1におけるデータフローの説明図である。外部I/F部2007から入力された印刷ジョブデータは、本体制御部2001のRAM2004に書き込まれる(経路3001)。この書き込まれた印刷ジョブデータは、その後に、ページ毎のファイルとして、マルチプレクサ2011を経由し、ストレージ2012のファイルシステムに格納される(経路3002)。
【0045】
プリンタコントローラ2013は、マルチプレクサ2011を経由し、ストレージ2012のファイルシステムに格納されている各ページに分かれている印刷ジョブデータを読み出す。そして、プリンタコントローラ2013のRAM2016に書き込む(経路3003)。RAM2016の印刷ジョブデータを、プリンタコントローラ2013が、画像データへレンダリングする。レンダリングされた画像データは、プロセッサ間通信路2019を経由し、本体制御部2001のRAM2004に転送される(経路3004)。本体制御部2001は、RAM2004に書き込まれている画像データを用い、印刷制御部2010とメカ制御部2009とを駆動し、印刷を実行する(経路3005)。
【0046】
本体制御部2001が、外部I/F部2007に接続され、画像形成装置PF1の外のホストPCから印刷ジョブデータを受信し、本体制御部2001が受信した印刷ジョブデータは、ストレージ2012に保存される。プリンタコントローラ2013は、ストレージ2012の印刷ジョブデータを、本体制御部2001が処理可能な画像データに加工し、本体制御部2001に上記画像データを転送する回路である。本体制御部2001は、受信した画像データを印刷させる回路である。
【0047】
次に、実施例1におけるストレージ2012のデータファイルについて説明する。
【0048】
図4は、画像形成装置PF1のストレージ2012におけるファイルシステムを示す図である。ストレージ2012は、1頁分書き込み済みの印刷ジョブデータファイル4001(1頁分)と、本体制御部2001から書き込み中の頁の印刷ジョブデータファイル4002(1頁分)とを有する。ストレージ2012上で1頁づつ管理することによって、レンダリング可能な頁のデータを切り分けている。なお、画像形成装置PF1では、1頁分ごとにファイルを切り分けるが、複数頁を1ファイルとし、ファイル内の頁の節目のアドレスによって管理するようにしてもよい。
【0049】
次に、画像形成装置PF1におけるマルチプレクサ2011について説明する。
【0050】
図5は、画像形成装置PF1におけるストレージ2012とマルチプレクサ2011とを示す図である。本体制御部2001とプリンタコントローラ2013とは、マルチプレクサ2011を介して、ストレージ2012のファイルに対するリードとライトとのアクセスが可能である。図5に示す例では、ファイル5001とファイル5002とは、それぞれ印刷ジョブデータの1頁分である。経路5003は、本体制御部2001からファイル5001への書き込み経路であり、経路5004は、ファイル5001から本体制御部2001への読み出し経路である。
【0051】
一方、経路5005は、プリンタコントローラ2013からファイル5002への書き込み経路であり、経路5006は、ファイル5002からプリンタコントローラ2013への読み出し経路である。図5に示すように、ストレージ接続用のマルチプレクサ2011を用いることによって、プリンタコントローラ2013と本体制御部2001との双方から、ストレージ2012のファイルにアクセスすることができる。
【0052】
次に、画像形成装置PF1において、プリンタコントローラ2013のRAM2016に展開する画像データバンドと、本体制御部2001のRAM2004に展開する印刷用画像データバンドとについて説明する。
【0053】
図6は、画像形成装置PF1におけるRAM上のデータを示す図である。図6には、プリンタコントローラ2013側のRAM2016と、本体制御部2001側のRAM2004とが図示されている。印刷ジョブデータの解析用ワークエリア6001は、ストレージ2012からマルチプレクサ2011を経由して獲得された印刷ジョブデータを、データ解析のために記憶する。ディスプレイリスト6002は、解析用ワークエリア6001に格納されている印刷ジョブデータを解析し、作成されたディスプレイリストである。
【0054】
画像データバンド6003、6004は、ディスプレイリスト6002に基づいてレンダリングした画像データが格納されている画像データバンドである。そして、プリンタコントローラ2013がストレージ2012に書き込んでいる上記画像データの特定のページ内のバンドと、本体制御部2001がストレージ2012から読み出している上記画像データの上記特定のページ内のバンドとが異なる。上記画像データバンドは、1頁のデータを横にスライスして分けたものであり、1頁分の画像データが大きいサイズであっても、メモリを節約して印字を実現する機構である。
【0055】
また、上記画像データバンドの代わりに、画像データのページを想定するようにしてもよい。この場合、プリンタコントローラ2013がストレージ2012に書き込んでいる上記画像データのページと、本体制御部2001がストレージ2012から読み出している上記画像データのページとが異なる。
【0056】
プリンタコントローラ2013が、外部インタフェースに接続され、画像形成装置PF1の外のホストPCから印刷ジョブデータを受信し、プリンタコントローラ2013が受信した印刷ジョブデータは、ストレージ2012に保存される。プリンタコントローラ2013は、ストレージ2012に保存されている印刷ジョブデータを、本体制御部2001が処理可能な画像データに加工し、ストレージ2012に上記画像データを書き込む回路である。本体制御部2001は、ストレージ2012から上記画像データを読み込み、読み込んだ上記画像データを印刷する回路である。
【0057】
画像形成装置PF1は、画像データバンド6003、6004の2バンド分によって、所謂ダブルバッファを構成するが、メモリが許されるならば、3バンド目、4バンド目、4バンド以降を格納する画像データバンドを設けるようにしてもよい。
【0058】
画像データバンド6005、6006は、本体制御部2001側のRAM2004に格納されている印刷用の画像データバンドである。本体制御部2001は、印刷用画像データバンド6005、6006の画像データを、印刷制御部2010に送ることによって、印刷を実行する。画像形成装置PF1では、印刷用画像データバンド6005、6006の2バンド分によって、所謂ダブルバッファを構成するが、メモリが許されるならば、3バンド目、4バンド目、4バンド以降を格納する画像データバンドを設けるようにしてもよい。
【0059】
画像形成装置PF1でバンドにダブルバッファを用いる理由は、1バンドを印字中に次のバンドを転送できないことによって、印刷待ちが発生することを防ぐためである。また、画像形成装置PF1において、レンダリング用画像データバンド6003、6004側と、印刷用画像データバンド6005、6006側とで、1バンドの大きさは、同じサイズであるが、互いに異なるサイズであってもよい。また、メモリが豊富であれば、1バンドを1頁と同じサイズにし、ページメモリを構成するようにしてもよい。
【0060】
次に、画像形成装置PF1におけるプロセッサ間のコマンド通信について説明する。
【0061】
図7は、画像形成装置PF1におけるプロセッサ間コマンドを示す図である。頁保存開始コマンド7001は、本体制御部2001からプリンタコントローラ2013に対して、当該頁の印刷ジョブデータのストレージ2012への保存を開始させる。頁保存開始コマンド兼頁終了コマンド7002は、次の頁の印刷ジョブデータのストレージ2012への保存を開始させる。頁保存開始コマンド兼頁終了コマンド7002は、次の頁が無ければ、頁終了をプリンタコントローラ2013に伝えるために用いられる。なお、頁保存開始コマンド兼頁終了コマンド7002は、図7では、バンド転送完了通知7007と頁終了要求コマンド7008との間に表示されているが、順序に依存関係はなく1頁分の印刷ジョブデータのストレージ2012への保存が完了したときに発行される。
【0062】
頁保存開始コマンド7001や頁保存開始コマンド兼頁終了コマンド7002には、頁を特定するページID(PID)が割り振られる。図7に示す例では、頁保存開始コマンド7001に、PIDとして1が割り当てられ、頁保存開始コマンド兼頁終了コマンド7002に、PIDとして2が割り当てられている。
【0063】
頁開始要求コマンド7003は、プリンタコントローラ2013から本体制御部2001へ送信され、本体制御部2001に印刷開始を通知する。バンド転送要求コマンド7004は、プリンタコントローラ2013から本体制御部2001へ送信され、1バンド分の画像データの転送が可能になったことを、本体制御部2001に通知する。バンド転送完了通知7005は、本体制御部2001からプリンタコントローラ2013に送信され、該当バンドの画像データを本体制御部2001側へ転送する処理が完了したことを、プリンタコントローラ2013に通知する。バンド転送要求コマンド7006は、次バンドのバンド転送要求であり、バンド転送完了通知7007は、次バンドのバンド転送完了通知である。
【0064】
図7では、バンド転送要求とバンド転送完了通知との組を2組のみ示してあるが、頁内の画像データが転送し終わるまで、図示しないが、バンド転送要求とバンド転送完了通知とが続く。
【0065】
バンド転送要求コマンド7004には、バンドを特定するバンドID(BID)が割り振られる。図7に示す例では、バンド転送要求コマンド7004、バンド転送完了通知7005のそれぞれのBIDとして、1が割り当てられている。バンド転送要求コマンド7006、バンド転送完了通知7007のそれぞれのBIDとして、2が割り当てられている。
【0066】
頁終了要求コマンド7008は、プリンタコントローラ2013から本体制御部2001へ送信され、該当頁の画像データ転送が完了したことを、本体制御部2001に通知する。頁開始要求コマンド7009は、次頁の頁開始要求である。
【0067】
頁開始要求コマンド7003には、PIDとして1が割り当てられている。頁開始要求コマンド7009のPIDとして、2が割り当てられている。頁終了要求コマンド7008のPIDとして、1が割り当てられている。
【0068】
ページID(PID)とバンドID(BID)とによって、プリンタコントローラ2013と本体制御部2001とは、図7に示す各コマンドと、印刷対象のページとを関連付けることができる。
【0069】
次に、プリンタコントローラ2013における1頁分の画像データのレンダリング制御動作について説明する。
【0070】
図8は、画像形成装置PF1におけるプリンタコントローラ2013の動作を示すフローチャートである。ステップS8010で、本体制御部2001から頁保存開始コマンド7001または7002を受信したかどうかを判断する。受信していたらステップS8020へ進み、受信していなければ受信するまで待つ。ステップS8020で、ディスプレイリスト6002の作成を実行する。ディスプレイリスト6002の1頁分の作成が完了すると、ステップS8030で、頁保存開始コマンド7001が本体制御部2001に送信される。
【0071】
ステップS8040で、最初の画像データバンドのレンダリング指示が、プリンタコントローラ2013自身に発行される。ステップS8050は、イベント分岐部であり、プリンタコントローラ2013内の各種イベントの発生を待ち、イベントが発生したら各種処理を実行する。イベントが複数発生すれば、発生順にキューイングすることが可能である。
【0072】
レンダリング指示のイベントが発生すると、ステップS8060へ進む。ステップS8060で、画像データバンド6003または6004の獲得をプリンタコントローラ2013自身に発行し、イベント分岐ステップS8050へ戻る。画像データバンドを獲得する場合、プリンタコントローラ2013のメモリを管理するオペレーティングシステムが実行する。画像データバンド6003、6004の両者が使用されていれば、どちらか一方が解放された後に、画像データバンドの獲得が実施され、獲得完了のイベントがプリンタコントローラ2013自身に発行される。
【0073】
ステップS8050で、画像データバンドの獲得イベントが発生すると、ステップS8070で、画像データバンドのメモリに対し、ディスプレイリスト6002に基づいてレンダリングが実行され、ステップS8080へ進む。ステップS8080で、画像データバンド転送要求が、プリンタコントローラ2013から、本体制御部2001へ発行される。ステップS8090で、次の画像データバンドに対するレンダリング指示がプリンタコントローラ2013自身に発行され、ステップS8050へ戻る。
【0074】
画像データバンド転送要求に対して、画像データバンド転送完了通知が、本体制御部2001からプリンタコントローラ2013に返信されると、ステップS8050で、画像データバンド転送完了通知受信イベントが発生し、ステップS8100へ進む。ステップS8100で、本体制御部2001に送信済みの画像データバンドが解放される。ステップS8110で、頁で最後のディスプレイリストがレンダリングされたか否かが判定され、頁で最後であれば、ステップS8120へ進み、頁で最後でなければ、ステップS8050へ戻る。ステップS8120で、本体制御部2001に頁終了要求を送信し、処理フローを抜ける。
【0075】
次に、本体制御部2001における1頁分の画像データの印刷制御について説明する。
【0076】
図9は、本体制御部2001における1頁分の画像データの印刷制御を示すフローチャートである。ステップS9010で、プリンタコントローラ2013からの頁開始要求が受信されているかどうかを判断し、受信していれば、ステップS9020へ進み、受信していなければ、受信するまで待つ。ステップS9020は、イベント分岐部であり、本体制御部2001内の各種イベントの発生を待ち、イベントが発生したら各種の処理を実行する。イベントが複数発生した場合、発生順にキューイングすることが可能である。
【0077】
プリンタコントローラ2013からバンド転送要求を受信すると、ステップS9030へ進む。ステップS9030で、印刷用画像データバンド6005、6006のいずれかを獲得したことを本体制御部2001自身に発行し、ステップS9020へ戻る。画像データバンドを獲得する場合、本体制御部2001のメモリを管理するオペレーティングシステムが実行する。印刷用画像データバンド6005、6006の両者が使用されていれば、どちらか一方が解放された後に、印刷用画像データバンドの獲得が実施され、印刷用画像データバンド獲得完了のイベントが本体制御部2001自身に発行される。
【0078】
印刷用画像データバンド獲得完了のイベントが発生すると、ステップS9040で、獲得された印刷用画像データバンドに、プリンタコントローラ2013から画像データの転送が開始され、ステップS9020に戻る。
【0079】
プリンタコントローラ2013から本体制御部2001への画像データの転送が1バンド分終了すると、本体制御部2001は、自身にバンドデータ転送完了イベントを発行し、バンドデータ転送完了イベントが発生すると、ステップS9050へ進む。ステップS9050で、バンド転送完了通知をプリンタコントローラ2013へ送信する。ステップS9060で、該当印刷用画像データバンドの画像データの印字制御を、印刷制御部2010に指示し、ステップS9020へ戻る。
【0080】
印刷制御部2010で、該当バンドの印字が完了すると、本体制御部2001は、バンド印刷完了イベントを自身に発行する。バンド印刷完了イベントが発生すると、ステップS9070へ進み、該当印刷用画像データバンドが解放される。ステップS9080で、頁終了要求をプリンタコントローラ2013から受信し、かつ全印刷用画像データバンドの印刷が完了したか否かが判定される。頁終了要求受信かつ全印刷用画像データバンド印刷完了であれば、処理フローを抜ける。そうでなければ、ステップS9020へ戻る。
【0081】
上記のように、画像形成装置PF1は、図3で説明したデータフローで、画像形成を実行することができる。ストレージ2012が本体制御部2001にのみ接続されている従来例(図16)と比較すると、画像形成装置PF1では、本体制御部2001によるRAM2004へのアクセス回数が、図16に示す経路16003と16004との分、減る。また、プロセッサ間通信路の経由数が、図16に示す経路16004の分、減る。
【0082】
上記のように、画像形成装置PF1は、マルチプレクサ2011を経由し、プリンタコントローラ2013と本体制御部2001との双方に、ストレージ2012を結合し、印刷する。つまり、プリンタコントローラ2013と本体制御部2001との双方に、ストレージ2012を結合し、ストレージ2012に格納されている印刷ジョブデータを直接RAM2016に送信する。このために、ストレージ2012に格納されている印刷ジョブデータをRAM2004に中継する必要がない。したがって、本体制御部2001のRAM2004のメモリバスの輻輳を抑制することができ、プロセッサ間通信路2019の輻輳を抑制することができる。
【実施例2】
【0083】
図10は、本発明の実施例2である画像形成装置PF2を示すブロック図である。画像形成装置PF2は、実施例1である画像形成装置PF1と基本的には同じであるが、画像形成装置PF1において、外部I/F部2007の代わりに、外部I/F部10001が設けられている。つまり、外部I/F部が、実施例1では、本体制御部2001に設けられているが、実施例2では、外部I/F部が、プリンタコントローラ2013に設けられている。
【0084】
なお、実施例2の説明において、実施例1と同じ構成については、同じ符号を付し、その詳細な説明を省略する。また、実施例2におけるシステムの構成において、図1に示す実施例1のシステム構成と同じシステム構成については、説明を省略する。
【0085】
外部I/F部10001は、実施例1における外部I/F部2007と同様の機能を有しているが、本体制御部2001側に接続されるのではなく、プリンタコントローラ2013側に接続されている。プロセッサ間通信路2019は、本体制御部2001とプリンタコントローラ2013との間に設けられているプロセッサ間通信路であり、両者間の指示コマンドの経路である。しかし、プリンタコントローラ2013でレンダリングされた画像データが、本体制御部2001に転送される経路は、後述するように、ストレージ2012経由である。
【0086】
次に、実施例2におけるデータフローについて説明する。
【0087】
図11は、実施例2におけるデータフローの説明図である。プリンタコントローラ2013に接続されている外部I/F部10001から入力された印刷ジョブデータは、プリンタコントローラ2013のRAM2016に書き込まれる(経路11001)。RAM2016に書き込まれた印刷ジョブデータは、ページ毎のファイルとして、マルチプレクサ2011を経由し、ストレージ2012のファイルシステムに格納される(経路11002)。
【0088】
プリンタコントローラ2013は、マルチプレクサ2011を経由し、ストレージ2012のファイルシステムに格納されている各ページに分かれた印刷ジョブデータを読み出し、プリンタコントローラ2013のRAM2016に書き込む(経路11003)。プリンタコントローラ2013は、RAM2016の印刷ジョブデータを、画像データへレンダリングする。レンダリングされた画像データ(レンダリング済み画像データ)は、マルチプレクサ2011を経由し、ストレージ2012に格納される(経路11004)。
【0089】
本体制御部2001は、ストレージ2012に格納されているレンダリング済み画像データを、マルチプレクサ2011経由で読み出し、RAM2004に書き込む(経路11005)。本体制御部2001は、RAM2004に書き込まれた画像データを用いて、印刷制御部2010とメカ制御部2009とを駆動し、印刷を実行する(経路11006)。
【0090】
ストレージ2012は、プリンタコントローラ2013のデータを読み取り、また、プリンタコントローラ2013に書き込み可能であり、かつ本体制御部2001のデータを読み取り、また本体制御部2001に書き込み可能である。
【0091】
マルチプレクサ2011は、プリンタコントローラ2013が格納している印刷ジョブデータをストレージ2012に送信し、ストレージ2012に格納されている印刷ジョブデータをプリンタコントローラ2013に送信する。また、マルチプレクサ2011は、プリンタコントローラ2013が加工した画像データをストレージ2012に送信し、ストレージ2012に格納されているプリンタコントローラ2013が加工した画像データを本体制御部2001に送信する。
【0092】
次に、実施例2におけるストレージ2012のデータファイルについて説明する。
【0093】
図12は、実施例2におけるストレージ2012のファイルシステムを示す図である。画像形成装置PF2のストレージ2012には、1頁分書き込み済みの印刷ジョブデータファイル(1頁分)12001と、プリンタコントローラ2013から受信した書き込み中の頁の印刷ジョブデータファイル(1頁分)12002とが格納されている。ストレージ2012上で1頁づつ管理することによって、レンダリング可能な頁のデータを切り分ける。
【0094】
なお、実施例2では、1頁分ごとにファイルを切り分けるが、複数頁を1ファイルとし、ファイル内の頁の節目のアドレスによって管理するようにしてもよい。
【0095】
画像形成装置PF2のストレージ2012には、書き込み済みの1頁分のレンダリング済み画像データファイル12003と、プリンタコントローラ2013から受信した書き込み中の1頁分のレンダリング済み画像データファイル12004とが格納されている。レンダリング済み画像データファイル12003には、プリンタコントローラ2013のRAM2016の画像データバンド6003または6004から、画像データバンドサイズの対象頁の画像データが、レンダリングされた順に、追記で書き込まれる。
【0096】
実施例2において、プリンタコントローラ2013のRAM2016に展開する画像データバンドと、本体制御部2001のRAM2004に展開する印刷用画像データバンドとは、実施例1における印刷用画像データバンドと同様である。したがって、その詳細な説明を省略する。
【0097】
次に、実施例2におけるプロセッサ間のコマンド通信について説明する。
【0098】
図13は、実施例2におけるプロセッサ間コマンドを示す図である。頁開始要求13001は、プリンタコントローラ2013から本体制御部2001へ送信され、本体制御部2001に印刷開始を通知する。バンド書き込み完了通知13002は、プリンタコントローラ2013から本体制御部2001へ送信され、1バンド分の画像データのストレージ2012からの読み出しが可能になったことを、本体制御部2001に通知する。バンド書き込み完了通知13003は、バンド書き込み完了通知13002のバンドの次のバンドに対するバンド書き込み完了通知である。
【0099】
図13には2つのバンド書き込み完了通知が示されているが、頁内の画像データのストレージ2012への書き込みが終わるまで、図示しないバンド書き込み完了通知が続く。
【0100】
バンド書き込み完了通知13002、13003には、それぞれバンドを特定するバンドID(BID)が割り振られている。図13に示す例では、バンド書き込み完了通知13002に、BIDとして1が割り当てられ、バンド書き込み完了通知13003に、BIDとして2が割り当てられている。
【0101】
頁終了要求13004は、プリンタコントローラ2013から本体制御部2001へ送信され、本体制御部2001に、頁内の画像データのストレージ2012への書き込みが完了したことを通知する。
【0102】
頁開始要求13001、13005や、頁終了要求13004には、頁を特定するページID(PID)が割り振られている。図13に示す例において、頁開始要求13001には、PIDとして、1が割り当てられている。頁開始要求13005には、PIDとして、2が割り当てられている。頁終了要求13004には、PIDとして、1が割り当てられている。
【0103】
ページID(PID)とバンドID(BID)とが、プリンタコントローラ2013と本体制御部2001とを、図13に示す各コマンドと、印刷対象のページまた対応するレンダリング済み画像データファイルとに関連付けることができる。
【0104】
次に、プリンタコントローラ2013における1頁分の画像データのレンダリング制御動作について説明する。
【0105】
図14は、実施例2におけるプリンタコントローラ2013の動作を示すフローチャートである。なお、外部I/F部10001からプリンタコントローラ2013が受信した印刷ジョブデータをストレージ2012へ書き込む動作は、印刷制御と非同期に実施可能であるので、図14のフローチャートには図示しない。
【0106】
ステップS14010で、プリンタコントローラ2013は、ストレージ2012に格納されている印刷ジョブデータファイルを、マルチプレクサ2011経由で読み出し、RAM2016に書き込み、解析し、ディスプレイリスト6002を作成する。ディスプレイリストの1頁分の作成が完了すると、ステップS14020で、頁開始要求が本体制御部2001に送信される。
【0107】
ステップS14030で、最初の画像データバンドのレンダリング指示が、プリンタコントローラ2013自身に発行される。ステップS14040は、イベント分岐部であり、プリンタコントローラ2013内の各種イベントの発生を待ち、イベントが発生すれば、各種の処理を実行する。イベントが複数発生すれば、発生順にキューイングすることができる。
【0108】
レンダリング指示のイベントが発生すると、ステップS14050で、画像データバンド6003または6004の獲得を、プリンタコントローラ2013自身に発行し、イベント分岐ステップS14040へ戻る。プリンタコントローラ2013のメモリを管理するオペレーティングシステムが、画像データバンドを獲得する動作を実行する。そして、画像データバンド6003、6004の両者が使用されていれば、どちらか一方が解放された後に、画像データバンドを獲得し、獲得完了のイベントがプリンタコントローラ2013自身に発行される。
【0109】
ステップS14040で、画像データバンドの獲得イベントが発生すると、ステップS14060へ進む。ステップS14060で、ディスプレイリスト6002に基づいて、画像データバンドのメモリに対してレンダリングが実行され、ステップS14070へ進む。ステップS14070で、画像データバンドのストレージ2012への書き出し要求が、プリンタコントローラ2013自身へ発行される。ステップS14080で、次の画像データバンドに対するレンダリング指示が、プリンタコントローラ2013自身に発行され、ステップS14040へ戻る。
【0110】
ステップS14040で、プリンタコントローラ2013のオペレーティングシステムが、画像データバンドの書き出し完了通知をストレージ2012に発生すると、ステップS14090へ進む。ステップS14090で、バンド書き込み完了通知が、本体制御部2001に発行される。ステップS14100で、ストレージ2012への書き込み済みの画像データバンドが解放される。ステップS14110で、頁の最後のディスプレイリストがレンダリングされたか否かを判定し、頁の最後であれば、ステップS14120へ進み、頁の最後でなければ、ステップS14040へ戻る。ステップS14120で、本体制御部2001に、頁終了要求を送信し、処理フローを抜ける。
【0111】
次に、実施例2の本体制御部2001における1頁分の画像データの印刷制御について説明する。
【0112】
図15は、実施例2における本体制御部2001の動作を示すフローチャートである。ステップS15010で、プリンタコントローラ2013からの頁開始要求を受信しているかどうかを判断し、受信していれば、ステップS15020へ進み、そうでなければ、受信するまで待つ。ステップS15020は、イベント分岐部であり、本体制御部2001内の各種イベントの発生を待ち、イベントが発生すれば、各種の処理を実行する。イベントが複数発生すれば、発生順にキューイングすることができる。
【0113】
プリンタコントローラ2013からのバンド書き出し完了通知を受信すると、ステップS15030へ進む。ステップS15030で、印刷用画像データバンド6005または6006の獲得を、本体制御部2001自身に発行し、ステップS15020へ戻る。画像データバンドを獲得する場合、本体制御部2001のメモリを管理するオペレーティングシステムが実行する。印刷用画像データバンド6005、6006の両者が使用されていれば、どちらか一方が解放された後に、印刷用画像データバンドの獲得が実施され、印刷用画像データバンド獲得完了のイベントが、本体制御部2001自身に発行される。
【0114】
印刷用画像データバンド獲得完了のイベントが発生すると、ステップS15040で、獲得された印刷用画像データバンドに、ストレージ2012から画像データの転送が開始され、ステップS15020に戻る。
【0115】
ストレージ2012から印刷用画像データバンドへ、1バンド分の画像データを転送すると、本体制御部2001は、自身にバンドデータ転送完了イベントを発行し、バンドデータ転送完了イベントが発生すると、ステップS15050へ進む。ステップS15050で、該当印刷用画像データバンドの画像データの印字制御を、印刷制御部2010に指示し、ステップS15020へ戻る。
【0116】
印刷制御部2010で、該当バンドの印字が完了すると、本体制御部2001はバンド印刷完了イベントを自身に発行する。バンド印刷完了イベントが発生すると、ステップS15060へ進み、該当印刷用画像データバンドが解放される。ステップS15070で、頁終了要求をプリンタコントローラ2013から受信し、かつ全印刷用画像データバンドの印刷が完了したか否かを判定する。頁終了要求受信かつ全印刷用画像データバンド印刷完了であれば、処理フローを抜ける。そうでなければ、ステップS15020へ戻る。
【0117】
実施例2は、図11で説明したデータフローで、画像形成を実行することができる。図17に示す従来例においてストレージ2012がプリンタコントローラ2013にのみ接続されている場合と比較すると、実施例2は、本体制御部2001によるRAM2004へのアクセス回数が、図17に示す経路17005と経路17006との分、減る。
【0118】
つまり、画像形成装置PF2によれば、マルチプレクサ2011を経由し、プリンタコントローラ2013と本体制御部2001との双方にストレージ2012を結合し、印刷する。そして、ストレージ2012に格納されているレンダリング済み画像データを直接RAM2016に送信する。このために、ストレージ2012に格納されているレンダリング済み画像データをRAM2016に中継する必要がない。したがって、本体制御部2001のRAM2016のメモリバスの輻輳を抑制することができる。
【0119】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上記実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、上記プログラムを、1つのコンピュータが実行してもよく、また、複数のコンピュータが連動して実行してもよい。さらに、上記処理の全てをソフトウェアで実現する必要はなく、一部または全部をハードウェアによって実現するようにしてもよい。
【符号の説明】
【0120】
PF1…画像形成装置、
2001…本体制御部、
2013…プリンタコントローラ、
2011…マルチプレクサ、
2012…ストレージ。
【技術分野】
【0001】
本発明は、印刷ジョブデータを画像として印刷する画像形成装置に関する。
【背景技術】
【0002】
従来の画像形成装置では、画像形成装置本体の印字機能を制御する本体制御部とは別に、プリンタコントローラまたはPDLコントローラと呼ばれる印刷ジョブデータの処理用制御部を用いる場合がある。上記PDLコントローラは、ページ記述言語を処理する制御部である。
【0003】
印字機能の印字が滞りなく行われるように、本体制御部が、画像形成装置本体の各駆動系を制御する。この間に、並行して、印刷ジョブデータ処理用の制御部は、印刷ジョブデータを、ホストPCから受け取り、画像形成装置本体が、処理可能な画像データに変換する。この並列処理によって、画像データの作成と画像形成装置の印字動作とが最適かつ高速に実行される。
【0004】
この印刷ジョブデータ処理用の制御装置において、データを蓄積するために、ハードディスク等のストレージが接続されている。このストレージのデータは、本体制御装置と印刷ジョブデータ制御装置との双方が関係する。
【0005】
たとえば、印刷ジョブデータ制御装置は、ホストPCから受信した印刷ジョブをストレージに記憶する。ホストPCから受信した印刷ジョブデータをストレージに記憶する理由は、ユーザが、同じデータを必要部数分、印刷して再印刷する場合に、2度目のデータ転送を省くためである。また、たとえば、印刷ジョブデータ制御装置が作成した印刷用の画像データを、プリンタ本体で印刷するときに、本体制御装置がストレージにアクセスし、そのストレージのデータを読み出す。
【0006】
従来の画像形成装置において、PDLコントローラ側に、ストレージを有することが知られている(たとえば、特許文献1参照)。また、プリンタ本体の本体制御部側に、ストレージを有する場合もあるが、PDLコントローラ側、プリンタ本体の本体制御部側のどちらかにストレージが接続されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2005−104041号公報(図3)
【発明の概要】
【発明が解決しようとする課題】
【0008】
図16は、本体制御部2001にストレージ2012が接続されている従来の画像形成装置PF11を示す図である。外部I/F部2007は、本体制御部2001に接続されている。本体制御部2001が制御するプリンタに、ページ記述言語の処理を加速するプリンタコントローラ2013を追加できる場合、従来の画像形成装置PF11が採用される。
【0009】
外部I/F部2007から入力された印刷ジョブデータは、まず、本体制御部2001のRAM2004に記憶され(経路16001)、受信処理された後に、ストレージ2012に保存される(経路16002)。ストレージ2012に保存された印刷ジョブデータは、プリンタコントローラ2013でレンダリング処理するために、まず、ストレージ2012から読み出し、本体制御装置のRAM2004に書き込まれる(経路16003)。
【0010】
書き込まれた印刷ジョブデータは、プロセッサ間通信路2019を通って、プリンタコントローラ2013へ転送され、プリンタコントローラ2013のRAM2016に書き込まれる(経路16004)。プリンタコントローラ2013が、RAM2016の印刷ジョブデータを実行する。レンダリングされた画像データは、プロセッサ間通信路2019を通って、本体制御部2001のRAM2004に書き込まれ(経路16005)、本体制御部2001は、RAM2004の画像データを印刷制御部2010に印刷させる(経路16006)。
【0011】
このときに、本体制御部2001のデータフローを考える。経路16001、経路16003、経路16005のように、RAM2004への書き込みが3回実行され、また、経路16002、経路16004、経路16006のように、RAM2004からの読み出しが3回実行される。
【0012】
これらの経路のうちで、経路16003と経路16004とは、プリンタコントローラ2013が印刷ジョブデータを処理するに際して、データ転送する経由路として使用されているだけである。経路16003、16004をデータ転送するので、従来の画像形成装置PF11では、RAM2004へのアクセスに関して、メモリバスが輻輳し、高速化に限界があるという問題がある。
【0013】
また、プロセッサ間通信路2019では、経路16004、経路16005のように、データ転送が2回実行される。このうちで、経路16004は、プリンタコントローラ2013が印刷ジョブデータを処理するに際して、データ転送する経由路として使用されているだけである。この経路16004をデータ転送するので、従来の画像形成装置PF11では、プロセッサ間通信路2019で、通信路が輻輳し、高速化に限界があるという問題がある。
【0014】
図17は、プリンタコントローラ2013にストレージ2012が接続されている従来の画像形成装置PF12を示す図である。外部I/F部10001は、プリンタコントローラ2013に接続されている。本体制御部2001が制御するプリンタの印刷処理速度よりも、ページ記述言語を処理するプリンタコントローラ2013の処理速度が速い場合に、従来の画像形成装置PF12が採用される。すなわち、ストレージ2012に対し、印刷ジョブデータだけではなく、レンダリング済みの画像データを蓄積できる画像形成装置として、従来の画像形成装置PF12が採用される。
【0015】
外部I/F部10001から入力された印刷ジョブデータは、プリンタコントローラ2013のRAM2016に書き込まれる(経路17001)。この書き込まれた印刷ジョブデータは、その後に、ページ毎のファイルとして、ストレージ2012のファイルシステムに格納される(経路17002)。
【0016】
プリンタコントローラ2013は、ストレージ2012のファイルシステムに格納され、各ページに分かれている印刷ジョブデータを読み出し、プリンタコントローラ2013のRAM2016に書き込む(経路17003)。そして、プリンタコントローラ2013は、RAM2016の印刷ジョブデータを、画像データへレンダリングし、レンダリングされた画像データ(レンダリング済み画像データ)は、ストレージ2012に格納される(経路17004)。
【0017】
ストレージ2012に保存されているレンダリング済み画像データは、本体制御部2001で印刷処理するために、まず、ストレージ2012から読み出し、プリンタコントローラ2013のRAM2016に書き込まれる(経路17005)。RAM2016に書き込まれたレンダリング済み画像データは、プロセッサ間通信路2019を通って、本体制御部2001へ転送され、本体制御部2001のRAM2004に書き込まれる(経路17006)。
【0018】
本体制御部2001は、RAM2004に書き込まれた画像データを用いて、印刷制御部2010とメカ制御部2009とを駆動し、印刷する(経路17007)。
【0019】
このときに、プリンタコントローラ2013のデータフローを考える。経路17001、経路17003、経路17005のように、RAM2016への書き込みが3回実行され、また、経路17002、経路17004、経路17006のように、RAM2016からの読み出しが3回実行される。
【0020】
これらの経路のうちで、経路17005と経路17006とは、本体制御部2001が画像データを印刷するに際して、データ転送する経由路として使用されているだけである。これら経路17005、17006をデータ転送するので、従来の画像形成装置PF12では、RAM2016へのアクセスに関して、メモリバスが輻輳し、高速化に限界があるという問題がある。
【0021】
また、プロセッサ間通信路2019では、経路17006のデータ転送が行われる。経路17006は、本体制御部2001が画像データを印刷するに際して、データ転送する経由路として使用されているだけである。上記のように、従来の画像形成装置PF12では、プロセッサ間通信路2019で、プロセッサ間コマンドだけではなく、画像データも転送する必要があり、低コストな通信系を用いることができないという問題がある。
【0022】
本発明は、複数の制御装置を有する画像形成装置において、メモリバスまたはプロセッサ通信路における輻輳による高速化への制約や低コスト化への制約を軽減することができる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【0023】
本発明の画像形成装置は、印刷ジョブデータを画像データに加工する第1の回路と、上記第1の回路が加工した画像データに基づいて画像形成する第2の回路と、上記第1の回路に格納されているデータを読み取り、また、上記第1の回路に書き込み可能であり、かつ上記第2の回路に格納されているデータを読み取り、また上記第2の回路に書き込み可能であるストレージと、上記第2の回路が格納している印刷ジョブデータを上記ストレージに送信し、上記ストレージに格納されている上記印刷ジョブデータを、上記第1の回路に送信する手段とを有する。
【発明の効果】
【0024】
本発明によれば、ストレージから印刷ジョブデータを第1の回路に直接送信するので、メモリバス、プロセッサ通信路における輻輳による高速化への制約、低コスト化への制約が軽減されるという効果を奏する。
【0025】
また、本発明によれば、ストレージからレンダリング済み画像データを第2の回路に直接送信するので、メモリバスにおける輻輳による高速化への制約、低コスト化への制約が軽減されるという効果を奏する。
【図面の簡単な説明】
【0026】
【図1】実施例1である画像形成装置PF1を用いたシステムを示す図である。
【図2】本発明の画像形成装置PF1の構成を示すブロック図である。
【図3】画像形成装置PF1におけるデータフローの説明図である。
【図4】ストレージ2012におけるファイルシステムを示す図である。
【図5】ストレージ2012とマルチプレクサ2011とを示す図である。
【図6】画像形成装置PF1におけるRAM上のデータを示す図である。
【図7】画像形成装置PF1におけるプロセッサ間コマンドを示す図である。
【図8】プリンタコントローラ2013の動作を示すフローチャートである。
【図9】本体制御部2001で1頁分画像データを印刷するフローチャートである。
【図10】本発明の実施例2である画像形成装置PF2を示すブロック図である。
【図11】実施例2におけるデータフローの説明図である。
【図12】ストレージ2012のファイルシステムを示す図である。
【図13】実施例2におけるプロセッサ間コマンドを示す図である。
【図14】プリンタコントローラ2013の動作を示すフローチャートである。
【図15】実施例2における本体制御部2001の動作のフローチャートである。
【図16】従来の画像形成装置PF11を示す図である。
【図17】従来の画像形成装置PF12を示す図である。
【発明を実施するための形態】
【0027】
発明を実施するための形態は、次の実施例である。
【実施例1】
【0028】
図1は、本発明の実施例1である画像形成装置PF1を用いたシステムの構成を示す図である。画像形成装置PF1は、大判のインクジェットプリンタであり、本体制御部2001と、プリンタコントローラ2013と、印字手段であるインクヘッド1004と、給紙手段であるロール紙給紙ユニット1005とを有する。
【0029】
インクヘッド1004で印刷されたロール紙は、図示しないカッターによってカットされ、排紙部1006に排紙される。ユーザは、操作部1007を介して、画像形成装置PF1の各種操作を指示する。
【0030】
LANのネットワーク1008が、画像形成装置PF1に接続され、ホストPC1009は、LANのネットワーク1008に接続されている。実施例1では、ホストPC1009が、ラスタ表記のプリンタ言語のジョブデータを生成している。
【0031】
なお、画像形成装置PF1は、インクジェット方式の大判プリンタであるが、複数の制御部を有する画像形成装置であれば、電子写真方式でも、サーマルヘッド方式でも、昇華型でも、像形成方式に関わらずに、適用可能である。また、大判プリンタではなく、デスクトップ型のカセット給紙や手差し給紙のプリンタや、複数の給紙段を有するプリンタや、スキャナやFAXと組み合わされた多機能型の複合機にも、画像形成装置PF1を適用することができる。
【0032】
また、画像形成装置PF1は、外部I/F部2007としてネットワーク接続ユニットを有するが、外部I/F部2007として、USBやIEEE1394、eS−ATA等を有するようにしてもよい。
【0033】
図2は、画像形成装置PF1の構成を示すブロック図である。本体制御部2001は、画像形成装置PF1における印刷機能を制御する。CPU2002は、本体制御部2001の中央演算装置である。本体制御部2001は、ROM2003から読み出したプログラムを実行する。
【0034】
RAM2004は、外部から受信した印刷ジョブデータやプリンタコントローラから受信した画像データを格納するためのデータメモリ領域と、本体制御部2001がプログラムを実行するためのワークメモリ領域とを、それぞれ独立して確保している。不揮発性メモリ2005は、FlashROMやEEPROMで構成され、画像形成装置PF1に現在設定されている印刷媒体の種類のような設定値を、電力供給から独立して、不揮発に記憶する。本体制御部2001の画像処理回路2006は、プリンタコントローラ2013から受信した画像データの各画素データを処理し、インクヘッドに送るヘッドデータ信号を出力する。つまり、画像処理回路2006は、画像データに基づいて、画像形成する回路する。
【0035】
外部I/F部2007は、外部インタフェースであり、IPプロトコルのようなネットワーク接続プロトコルによる送受信が可能である。操作部2008は、CPU2002からのメッセージを、LCDやLEDによってユーザに表示し、キー入力装置によってユーザからの指示を画像形成装置PF1に入力する。メカ制御部2009は、図示しない給紙駆動部、カッター駆動部、排紙駆動部を制御し、用紙の搬送制御を行う。印刷制御部2010は、図示しないインク供給部、キャリッジ駆動部、ヘッド制御部を制御し、メカ制御部2009と同期して、用紙上に印刷する。
【0036】
マルチプレクサ2011は、本体制御部2001とプリンタコントローラ2013とをストレージ2012に接続する。ストレージ2012に論理的に配置されているファイルシステムによって、本体制御部2001とプリンタコントローラ2013とから、マルチプレクサ2011をアクセスすることができる。また、マルチプレクサ2011は、信号切り替え機能または信号選択機能を有し、それも、片方向だけではなく双方向で、信号切り替えまたは信号選択を実行する。
【0037】
すなわち、マルチプレクサ2011は、本体制御部2001が格納している印刷ジョブデータをストレージ2012に送信し、ストレージ2012に格納されている印刷ジョブデータを、プリンタコントローラ2013に送信する。
【0038】
ストレージ2012は、HDDで形成され、プリンタコントローラ2013のデータを読み取り、プリンタコントローラ2013に書き込み可能であり、また本体制御部2001のデータを読み取り、また本体制御部2001に書き込み可能である。
【0039】
プリンタコントローラ2013は、画像形成装置PF1における印刷ジョブデータのページ記述言語を画像データにレンダリングする機能を制御する。
【0040】
CPU2014は、プリンタコントローラ2013の中央演算装置であり、ROM2015から読み出したプログラムを実行することによって制御する。RAM2016は、ストレージ2012から受信した印刷ジョブデータや本体制御部2001へ送信する画像データを格納するデータメモリ領域を有する。また、RAM2016は、CPU2014がプログラムを実行し、レンダリングを実行するためのワークメモリ領域を有する。
【0041】
不揮発性メモリ2017は、FlashROMやEEPROMで構成され、プリンタコントローラ2013に現在設定されているフォントのような設定データが、電力供給から独立して、不揮発に記憶している。画像処理回路2018は、印刷ジョブデータを、画像データへレンダリングする。
【0042】
プロセッサ間通信路2019は、本体制御部2001とプリンタコントローラ2013との間の通信路であり、本体制御部2001とプリンタコントローラ2013との間の指示コマンドの経路である。また、プロセッサ間通信路2019は、プリンタコントローラ2013でレンダリングされた画像データを、本体制御部2001に転送する経路でもある。つまり、プロセッサ間通信路2019は、プリンタコントローラ2013が加工した画像データを、本体制御部2001に送る経路であり、プリンタコントローラ2013と本体制御部2001との間に、ストレージ2012を介した接続とは異なる通信路である。さらに、プロセッサ間通信路2019を介して、プリンタコントローラ2013と本体制御部2001との間でコマンドを通信する。
【0043】
次に画像形成装置PF1におけるデータフローについて説明する。
【0044】
図3は、画像形成装置PF1におけるデータフローの説明図である。外部I/F部2007から入力された印刷ジョブデータは、本体制御部2001のRAM2004に書き込まれる(経路3001)。この書き込まれた印刷ジョブデータは、その後に、ページ毎のファイルとして、マルチプレクサ2011を経由し、ストレージ2012のファイルシステムに格納される(経路3002)。
【0045】
プリンタコントローラ2013は、マルチプレクサ2011を経由し、ストレージ2012のファイルシステムに格納されている各ページに分かれている印刷ジョブデータを読み出す。そして、プリンタコントローラ2013のRAM2016に書き込む(経路3003)。RAM2016の印刷ジョブデータを、プリンタコントローラ2013が、画像データへレンダリングする。レンダリングされた画像データは、プロセッサ間通信路2019を経由し、本体制御部2001のRAM2004に転送される(経路3004)。本体制御部2001は、RAM2004に書き込まれている画像データを用い、印刷制御部2010とメカ制御部2009とを駆動し、印刷を実行する(経路3005)。
【0046】
本体制御部2001が、外部I/F部2007に接続され、画像形成装置PF1の外のホストPCから印刷ジョブデータを受信し、本体制御部2001が受信した印刷ジョブデータは、ストレージ2012に保存される。プリンタコントローラ2013は、ストレージ2012の印刷ジョブデータを、本体制御部2001が処理可能な画像データに加工し、本体制御部2001に上記画像データを転送する回路である。本体制御部2001は、受信した画像データを印刷させる回路である。
【0047】
次に、実施例1におけるストレージ2012のデータファイルについて説明する。
【0048】
図4は、画像形成装置PF1のストレージ2012におけるファイルシステムを示す図である。ストレージ2012は、1頁分書き込み済みの印刷ジョブデータファイル4001(1頁分)と、本体制御部2001から書き込み中の頁の印刷ジョブデータファイル4002(1頁分)とを有する。ストレージ2012上で1頁づつ管理することによって、レンダリング可能な頁のデータを切り分けている。なお、画像形成装置PF1では、1頁分ごとにファイルを切り分けるが、複数頁を1ファイルとし、ファイル内の頁の節目のアドレスによって管理するようにしてもよい。
【0049】
次に、画像形成装置PF1におけるマルチプレクサ2011について説明する。
【0050】
図5は、画像形成装置PF1におけるストレージ2012とマルチプレクサ2011とを示す図である。本体制御部2001とプリンタコントローラ2013とは、マルチプレクサ2011を介して、ストレージ2012のファイルに対するリードとライトとのアクセスが可能である。図5に示す例では、ファイル5001とファイル5002とは、それぞれ印刷ジョブデータの1頁分である。経路5003は、本体制御部2001からファイル5001への書き込み経路であり、経路5004は、ファイル5001から本体制御部2001への読み出し経路である。
【0051】
一方、経路5005は、プリンタコントローラ2013からファイル5002への書き込み経路であり、経路5006は、ファイル5002からプリンタコントローラ2013への読み出し経路である。図5に示すように、ストレージ接続用のマルチプレクサ2011を用いることによって、プリンタコントローラ2013と本体制御部2001との双方から、ストレージ2012のファイルにアクセスすることができる。
【0052】
次に、画像形成装置PF1において、プリンタコントローラ2013のRAM2016に展開する画像データバンドと、本体制御部2001のRAM2004に展開する印刷用画像データバンドとについて説明する。
【0053】
図6は、画像形成装置PF1におけるRAM上のデータを示す図である。図6には、プリンタコントローラ2013側のRAM2016と、本体制御部2001側のRAM2004とが図示されている。印刷ジョブデータの解析用ワークエリア6001は、ストレージ2012からマルチプレクサ2011を経由して獲得された印刷ジョブデータを、データ解析のために記憶する。ディスプレイリスト6002は、解析用ワークエリア6001に格納されている印刷ジョブデータを解析し、作成されたディスプレイリストである。
【0054】
画像データバンド6003、6004は、ディスプレイリスト6002に基づいてレンダリングした画像データが格納されている画像データバンドである。そして、プリンタコントローラ2013がストレージ2012に書き込んでいる上記画像データの特定のページ内のバンドと、本体制御部2001がストレージ2012から読み出している上記画像データの上記特定のページ内のバンドとが異なる。上記画像データバンドは、1頁のデータを横にスライスして分けたものであり、1頁分の画像データが大きいサイズであっても、メモリを節約して印字を実現する機構である。
【0055】
また、上記画像データバンドの代わりに、画像データのページを想定するようにしてもよい。この場合、プリンタコントローラ2013がストレージ2012に書き込んでいる上記画像データのページと、本体制御部2001がストレージ2012から読み出している上記画像データのページとが異なる。
【0056】
プリンタコントローラ2013が、外部インタフェースに接続され、画像形成装置PF1の外のホストPCから印刷ジョブデータを受信し、プリンタコントローラ2013が受信した印刷ジョブデータは、ストレージ2012に保存される。プリンタコントローラ2013は、ストレージ2012に保存されている印刷ジョブデータを、本体制御部2001が処理可能な画像データに加工し、ストレージ2012に上記画像データを書き込む回路である。本体制御部2001は、ストレージ2012から上記画像データを読み込み、読み込んだ上記画像データを印刷する回路である。
【0057】
画像形成装置PF1は、画像データバンド6003、6004の2バンド分によって、所謂ダブルバッファを構成するが、メモリが許されるならば、3バンド目、4バンド目、4バンド以降を格納する画像データバンドを設けるようにしてもよい。
【0058】
画像データバンド6005、6006は、本体制御部2001側のRAM2004に格納されている印刷用の画像データバンドである。本体制御部2001は、印刷用画像データバンド6005、6006の画像データを、印刷制御部2010に送ることによって、印刷を実行する。画像形成装置PF1では、印刷用画像データバンド6005、6006の2バンド分によって、所謂ダブルバッファを構成するが、メモリが許されるならば、3バンド目、4バンド目、4バンド以降を格納する画像データバンドを設けるようにしてもよい。
【0059】
画像形成装置PF1でバンドにダブルバッファを用いる理由は、1バンドを印字中に次のバンドを転送できないことによって、印刷待ちが発生することを防ぐためである。また、画像形成装置PF1において、レンダリング用画像データバンド6003、6004側と、印刷用画像データバンド6005、6006側とで、1バンドの大きさは、同じサイズであるが、互いに異なるサイズであってもよい。また、メモリが豊富であれば、1バンドを1頁と同じサイズにし、ページメモリを構成するようにしてもよい。
【0060】
次に、画像形成装置PF1におけるプロセッサ間のコマンド通信について説明する。
【0061】
図7は、画像形成装置PF1におけるプロセッサ間コマンドを示す図である。頁保存開始コマンド7001は、本体制御部2001からプリンタコントローラ2013に対して、当該頁の印刷ジョブデータのストレージ2012への保存を開始させる。頁保存開始コマンド兼頁終了コマンド7002は、次の頁の印刷ジョブデータのストレージ2012への保存を開始させる。頁保存開始コマンド兼頁終了コマンド7002は、次の頁が無ければ、頁終了をプリンタコントローラ2013に伝えるために用いられる。なお、頁保存開始コマンド兼頁終了コマンド7002は、図7では、バンド転送完了通知7007と頁終了要求コマンド7008との間に表示されているが、順序に依存関係はなく1頁分の印刷ジョブデータのストレージ2012への保存が完了したときに発行される。
【0062】
頁保存開始コマンド7001や頁保存開始コマンド兼頁終了コマンド7002には、頁を特定するページID(PID)が割り振られる。図7に示す例では、頁保存開始コマンド7001に、PIDとして1が割り当てられ、頁保存開始コマンド兼頁終了コマンド7002に、PIDとして2が割り当てられている。
【0063】
頁開始要求コマンド7003は、プリンタコントローラ2013から本体制御部2001へ送信され、本体制御部2001に印刷開始を通知する。バンド転送要求コマンド7004は、プリンタコントローラ2013から本体制御部2001へ送信され、1バンド分の画像データの転送が可能になったことを、本体制御部2001に通知する。バンド転送完了通知7005は、本体制御部2001からプリンタコントローラ2013に送信され、該当バンドの画像データを本体制御部2001側へ転送する処理が完了したことを、プリンタコントローラ2013に通知する。バンド転送要求コマンド7006は、次バンドのバンド転送要求であり、バンド転送完了通知7007は、次バンドのバンド転送完了通知である。
【0064】
図7では、バンド転送要求とバンド転送完了通知との組を2組のみ示してあるが、頁内の画像データが転送し終わるまで、図示しないが、バンド転送要求とバンド転送完了通知とが続く。
【0065】
バンド転送要求コマンド7004には、バンドを特定するバンドID(BID)が割り振られる。図7に示す例では、バンド転送要求コマンド7004、バンド転送完了通知7005のそれぞれのBIDとして、1が割り当てられている。バンド転送要求コマンド7006、バンド転送完了通知7007のそれぞれのBIDとして、2が割り当てられている。
【0066】
頁終了要求コマンド7008は、プリンタコントローラ2013から本体制御部2001へ送信され、該当頁の画像データ転送が完了したことを、本体制御部2001に通知する。頁開始要求コマンド7009は、次頁の頁開始要求である。
【0067】
頁開始要求コマンド7003には、PIDとして1が割り当てられている。頁開始要求コマンド7009のPIDとして、2が割り当てられている。頁終了要求コマンド7008のPIDとして、1が割り当てられている。
【0068】
ページID(PID)とバンドID(BID)とによって、プリンタコントローラ2013と本体制御部2001とは、図7に示す各コマンドと、印刷対象のページとを関連付けることができる。
【0069】
次に、プリンタコントローラ2013における1頁分の画像データのレンダリング制御動作について説明する。
【0070】
図8は、画像形成装置PF1におけるプリンタコントローラ2013の動作を示すフローチャートである。ステップS8010で、本体制御部2001から頁保存開始コマンド7001または7002を受信したかどうかを判断する。受信していたらステップS8020へ進み、受信していなければ受信するまで待つ。ステップS8020で、ディスプレイリスト6002の作成を実行する。ディスプレイリスト6002の1頁分の作成が完了すると、ステップS8030で、頁保存開始コマンド7001が本体制御部2001に送信される。
【0071】
ステップS8040で、最初の画像データバンドのレンダリング指示が、プリンタコントローラ2013自身に発行される。ステップS8050は、イベント分岐部であり、プリンタコントローラ2013内の各種イベントの発生を待ち、イベントが発生したら各種処理を実行する。イベントが複数発生すれば、発生順にキューイングすることが可能である。
【0072】
レンダリング指示のイベントが発生すると、ステップS8060へ進む。ステップS8060で、画像データバンド6003または6004の獲得をプリンタコントローラ2013自身に発行し、イベント分岐ステップS8050へ戻る。画像データバンドを獲得する場合、プリンタコントローラ2013のメモリを管理するオペレーティングシステムが実行する。画像データバンド6003、6004の両者が使用されていれば、どちらか一方が解放された後に、画像データバンドの獲得が実施され、獲得完了のイベントがプリンタコントローラ2013自身に発行される。
【0073】
ステップS8050で、画像データバンドの獲得イベントが発生すると、ステップS8070で、画像データバンドのメモリに対し、ディスプレイリスト6002に基づいてレンダリングが実行され、ステップS8080へ進む。ステップS8080で、画像データバンド転送要求が、プリンタコントローラ2013から、本体制御部2001へ発行される。ステップS8090で、次の画像データバンドに対するレンダリング指示がプリンタコントローラ2013自身に発行され、ステップS8050へ戻る。
【0074】
画像データバンド転送要求に対して、画像データバンド転送完了通知が、本体制御部2001からプリンタコントローラ2013に返信されると、ステップS8050で、画像データバンド転送完了通知受信イベントが発生し、ステップS8100へ進む。ステップS8100で、本体制御部2001に送信済みの画像データバンドが解放される。ステップS8110で、頁で最後のディスプレイリストがレンダリングされたか否かが判定され、頁で最後であれば、ステップS8120へ進み、頁で最後でなければ、ステップS8050へ戻る。ステップS8120で、本体制御部2001に頁終了要求を送信し、処理フローを抜ける。
【0075】
次に、本体制御部2001における1頁分の画像データの印刷制御について説明する。
【0076】
図9は、本体制御部2001における1頁分の画像データの印刷制御を示すフローチャートである。ステップS9010で、プリンタコントローラ2013からの頁開始要求が受信されているかどうかを判断し、受信していれば、ステップS9020へ進み、受信していなければ、受信するまで待つ。ステップS9020は、イベント分岐部であり、本体制御部2001内の各種イベントの発生を待ち、イベントが発生したら各種の処理を実行する。イベントが複数発生した場合、発生順にキューイングすることが可能である。
【0077】
プリンタコントローラ2013からバンド転送要求を受信すると、ステップS9030へ進む。ステップS9030で、印刷用画像データバンド6005、6006のいずれかを獲得したことを本体制御部2001自身に発行し、ステップS9020へ戻る。画像データバンドを獲得する場合、本体制御部2001のメモリを管理するオペレーティングシステムが実行する。印刷用画像データバンド6005、6006の両者が使用されていれば、どちらか一方が解放された後に、印刷用画像データバンドの獲得が実施され、印刷用画像データバンド獲得完了のイベントが本体制御部2001自身に発行される。
【0078】
印刷用画像データバンド獲得完了のイベントが発生すると、ステップS9040で、獲得された印刷用画像データバンドに、プリンタコントローラ2013から画像データの転送が開始され、ステップS9020に戻る。
【0079】
プリンタコントローラ2013から本体制御部2001への画像データの転送が1バンド分終了すると、本体制御部2001は、自身にバンドデータ転送完了イベントを発行し、バンドデータ転送完了イベントが発生すると、ステップS9050へ進む。ステップS9050で、バンド転送完了通知をプリンタコントローラ2013へ送信する。ステップS9060で、該当印刷用画像データバンドの画像データの印字制御を、印刷制御部2010に指示し、ステップS9020へ戻る。
【0080】
印刷制御部2010で、該当バンドの印字が完了すると、本体制御部2001は、バンド印刷完了イベントを自身に発行する。バンド印刷完了イベントが発生すると、ステップS9070へ進み、該当印刷用画像データバンドが解放される。ステップS9080で、頁終了要求をプリンタコントローラ2013から受信し、かつ全印刷用画像データバンドの印刷が完了したか否かが判定される。頁終了要求受信かつ全印刷用画像データバンド印刷完了であれば、処理フローを抜ける。そうでなければ、ステップS9020へ戻る。
【0081】
上記のように、画像形成装置PF1は、図3で説明したデータフローで、画像形成を実行することができる。ストレージ2012が本体制御部2001にのみ接続されている従来例(図16)と比較すると、画像形成装置PF1では、本体制御部2001によるRAM2004へのアクセス回数が、図16に示す経路16003と16004との分、減る。また、プロセッサ間通信路の経由数が、図16に示す経路16004の分、減る。
【0082】
上記のように、画像形成装置PF1は、マルチプレクサ2011を経由し、プリンタコントローラ2013と本体制御部2001との双方に、ストレージ2012を結合し、印刷する。つまり、プリンタコントローラ2013と本体制御部2001との双方に、ストレージ2012を結合し、ストレージ2012に格納されている印刷ジョブデータを直接RAM2016に送信する。このために、ストレージ2012に格納されている印刷ジョブデータをRAM2004に中継する必要がない。したがって、本体制御部2001のRAM2004のメモリバスの輻輳を抑制することができ、プロセッサ間通信路2019の輻輳を抑制することができる。
【実施例2】
【0083】
図10は、本発明の実施例2である画像形成装置PF2を示すブロック図である。画像形成装置PF2は、実施例1である画像形成装置PF1と基本的には同じであるが、画像形成装置PF1において、外部I/F部2007の代わりに、外部I/F部10001が設けられている。つまり、外部I/F部が、実施例1では、本体制御部2001に設けられているが、実施例2では、外部I/F部が、プリンタコントローラ2013に設けられている。
【0084】
なお、実施例2の説明において、実施例1と同じ構成については、同じ符号を付し、その詳細な説明を省略する。また、実施例2におけるシステムの構成において、図1に示す実施例1のシステム構成と同じシステム構成については、説明を省略する。
【0085】
外部I/F部10001は、実施例1における外部I/F部2007と同様の機能を有しているが、本体制御部2001側に接続されるのではなく、プリンタコントローラ2013側に接続されている。プロセッサ間通信路2019は、本体制御部2001とプリンタコントローラ2013との間に設けられているプロセッサ間通信路であり、両者間の指示コマンドの経路である。しかし、プリンタコントローラ2013でレンダリングされた画像データが、本体制御部2001に転送される経路は、後述するように、ストレージ2012経由である。
【0086】
次に、実施例2におけるデータフローについて説明する。
【0087】
図11は、実施例2におけるデータフローの説明図である。プリンタコントローラ2013に接続されている外部I/F部10001から入力された印刷ジョブデータは、プリンタコントローラ2013のRAM2016に書き込まれる(経路11001)。RAM2016に書き込まれた印刷ジョブデータは、ページ毎のファイルとして、マルチプレクサ2011を経由し、ストレージ2012のファイルシステムに格納される(経路11002)。
【0088】
プリンタコントローラ2013は、マルチプレクサ2011を経由し、ストレージ2012のファイルシステムに格納されている各ページに分かれた印刷ジョブデータを読み出し、プリンタコントローラ2013のRAM2016に書き込む(経路11003)。プリンタコントローラ2013は、RAM2016の印刷ジョブデータを、画像データへレンダリングする。レンダリングされた画像データ(レンダリング済み画像データ)は、マルチプレクサ2011を経由し、ストレージ2012に格納される(経路11004)。
【0089】
本体制御部2001は、ストレージ2012に格納されているレンダリング済み画像データを、マルチプレクサ2011経由で読み出し、RAM2004に書き込む(経路11005)。本体制御部2001は、RAM2004に書き込まれた画像データを用いて、印刷制御部2010とメカ制御部2009とを駆動し、印刷を実行する(経路11006)。
【0090】
ストレージ2012は、プリンタコントローラ2013のデータを読み取り、また、プリンタコントローラ2013に書き込み可能であり、かつ本体制御部2001のデータを読み取り、また本体制御部2001に書き込み可能である。
【0091】
マルチプレクサ2011は、プリンタコントローラ2013が格納している印刷ジョブデータをストレージ2012に送信し、ストレージ2012に格納されている印刷ジョブデータをプリンタコントローラ2013に送信する。また、マルチプレクサ2011は、プリンタコントローラ2013が加工した画像データをストレージ2012に送信し、ストレージ2012に格納されているプリンタコントローラ2013が加工した画像データを本体制御部2001に送信する。
【0092】
次に、実施例2におけるストレージ2012のデータファイルについて説明する。
【0093】
図12は、実施例2におけるストレージ2012のファイルシステムを示す図である。画像形成装置PF2のストレージ2012には、1頁分書き込み済みの印刷ジョブデータファイル(1頁分)12001と、プリンタコントローラ2013から受信した書き込み中の頁の印刷ジョブデータファイル(1頁分)12002とが格納されている。ストレージ2012上で1頁づつ管理することによって、レンダリング可能な頁のデータを切り分ける。
【0094】
なお、実施例2では、1頁分ごとにファイルを切り分けるが、複数頁を1ファイルとし、ファイル内の頁の節目のアドレスによって管理するようにしてもよい。
【0095】
画像形成装置PF2のストレージ2012には、書き込み済みの1頁分のレンダリング済み画像データファイル12003と、プリンタコントローラ2013から受信した書き込み中の1頁分のレンダリング済み画像データファイル12004とが格納されている。レンダリング済み画像データファイル12003には、プリンタコントローラ2013のRAM2016の画像データバンド6003または6004から、画像データバンドサイズの対象頁の画像データが、レンダリングされた順に、追記で書き込まれる。
【0096】
実施例2において、プリンタコントローラ2013のRAM2016に展開する画像データバンドと、本体制御部2001のRAM2004に展開する印刷用画像データバンドとは、実施例1における印刷用画像データバンドと同様である。したがって、その詳細な説明を省略する。
【0097】
次に、実施例2におけるプロセッサ間のコマンド通信について説明する。
【0098】
図13は、実施例2におけるプロセッサ間コマンドを示す図である。頁開始要求13001は、プリンタコントローラ2013から本体制御部2001へ送信され、本体制御部2001に印刷開始を通知する。バンド書き込み完了通知13002は、プリンタコントローラ2013から本体制御部2001へ送信され、1バンド分の画像データのストレージ2012からの読み出しが可能になったことを、本体制御部2001に通知する。バンド書き込み完了通知13003は、バンド書き込み完了通知13002のバンドの次のバンドに対するバンド書き込み完了通知である。
【0099】
図13には2つのバンド書き込み完了通知が示されているが、頁内の画像データのストレージ2012への書き込みが終わるまで、図示しないバンド書き込み完了通知が続く。
【0100】
バンド書き込み完了通知13002、13003には、それぞれバンドを特定するバンドID(BID)が割り振られている。図13に示す例では、バンド書き込み完了通知13002に、BIDとして1が割り当てられ、バンド書き込み完了通知13003に、BIDとして2が割り当てられている。
【0101】
頁終了要求13004は、プリンタコントローラ2013から本体制御部2001へ送信され、本体制御部2001に、頁内の画像データのストレージ2012への書き込みが完了したことを通知する。
【0102】
頁開始要求13001、13005や、頁終了要求13004には、頁を特定するページID(PID)が割り振られている。図13に示す例において、頁開始要求13001には、PIDとして、1が割り当てられている。頁開始要求13005には、PIDとして、2が割り当てられている。頁終了要求13004には、PIDとして、1が割り当てられている。
【0103】
ページID(PID)とバンドID(BID)とが、プリンタコントローラ2013と本体制御部2001とを、図13に示す各コマンドと、印刷対象のページまた対応するレンダリング済み画像データファイルとに関連付けることができる。
【0104】
次に、プリンタコントローラ2013における1頁分の画像データのレンダリング制御動作について説明する。
【0105】
図14は、実施例2におけるプリンタコントローラ2013の動作を示すフローチャートである。なお、外部I/F部10001からプリンタコントローラ2013が受信した印刷ジョブデータをストレージ2012へ書き込む動作は、印刷制御と非同期に実施可能であるので、図14のフローチャートには図示しない。
【0106】
ステップS14010で、プリンタコントローラ2013は、ストレージ2012に格納されている印刷ジョブデータファイルを、マルチプレクサ2011経由で読み出し、RAM2016に書き込み、解析し、ディスプレイリスト6002を作成する。ディスプレイリストの1頁分の作成が完了すると、ステップS14020で、頁開始要求が本体制御部2001に送信される。
【0107】
ステップS14030で、最初の画像データバンドのレンダリング指示が、プリンタコントローラ2013自身に発行される。ステップS14040は、イベント分岐部であり、プリンタコントローラ2013内の各種イベントの発生を待ち、イベントが発生すれば、各種の処理を実行する。イベントが複数発生すれば、発生順にキューイングすることができる。
【0108】
レンダリング指示のイベントが発生すると、ステップS14050で、画像データバンド6003または6004の獲得を、プリンタコントローラ2013自身に発行し、イベント分岐ステップS14040へ戻る。プリンタコントローラ2013のメモリを管理するオペレーティングシステムが、画像データバンドを獲得する動作を実行する。そして、画像データバンド6003、6004の両者が使用されていれば、どちらか一方が解放された後に、画像データバンドを獲得し、獲得完了のイベントがプリンタコントローラ2013自身に発行される。
【0109】
ステップS14040で、画像データバンドの獲得イベントが発生すると、ステップS14060へ進む。ステップS14060で、ディスプレイリスト6002に基づいて、画像データバンドのメモリに対してレンダリングが実行され、ステップS14070へ進む。ステップS14070で、画像データバンドのストレージ2012への書き出し要求が、プリンタコントローラ2013自身へ発行される。ステップS14080で、次の画像データバンドに対するレンダリング指示が、プリンタコントローラ2013自身に発行され、ステップS14040へ戻る。
【0110】
ステップS14040で、プリンタコントローラ2013のオペレーティングシステムが、画像データバンドの書き出し完了通知をストレージ2012に発生すると、ステップS14090へ進む。ステップS14090で、バンド書き込み完了通知が、本体制御部2001に発行される。ステップS14100で、ストレージ2012への書き込み済みの画像データバンドが解放される。ステップS14110で、頁の最後のディスプレイリストがレンダリングされたか否かを判定し、頁の最後であれば、ステップS14120へ進み、頁の最後でなければ、ステップS14040へ戻る。ステップS14120で、本体制御部2001に、頁終了要求を送信し、処理フローを抜ける。
【0111】
次に、実施例2の本体制御部2001における1頁分の画像データの印刷制御について説明する。
【0112】
図15は、実施例2における本体制御部2001の動作を示すフローチャートである。ステップS15010で、プリンタコントローラ2013からの頁開始要求を受信しているかどうかを判断し、受信していれば、ステップS15020へ進み、そうでなければ、受信するまで待つ。ステップS15020は、イベント分岐部であり、本体制御部2001内の各種イベントの発生を待ち、イベントが発生すれば、各種の処理を実行する。イベントが複数発生すれば、発生順にキューイングすることができる。
【0113】
プリンタコントローラ2013からのバンド書き出し完了通知を受信すると、ステップS15030へ進む。ステップS15030で、印刷用画像データバンド6005または6006の獲得を、本体制御部2001自身に発行し、ステップS15020へ戻る。画像データバンドを獲得する場合、本体制御部2001のメモリを管理するオペレーティングシステムが実行する。印刷用画像データバンド6005、6006の両者が使用されていれば、どちらか一方が解放された後に、印刷用画像データバンドの獲得が実施され、印刷用画像データバンド獲得完了のイベントが、本体制御部2001自身に発行される。
【0114】
印刷用画像データバンド獲得完了のイベントが発生すると、ステップS15040で、獲得された印刷用画像データバンドに、ストレージ2012から画像データの転送が開始され、ステップS15020に戻る。
【0115】
ストレージ2012から印刷用画像データバンドへ、1バンド分の画像データを転送すると、本体制御部2001は、自身にバンドデータ転送完了イベントを発行し、バンドデータ転送完了イベントが発生すると、ステップS15050へ進む。ステップS15050で、該当印刷用画像データバンドの画像データの印字制御を、印刷制御部2010に指示し、ステップS15020へ戻る。
【0116】
印刷制御部2010で、該当バンドの印字が完了すると、本体制御部2001はバンド印刷完了イベントを自身に発行する。バンド印刷完了イベントが発生すると、ステップS15060へ進み、該当印刷用画像データバンドが解放される。ステップS15070で、頁終了要求をプリンタコントローラ2013から受信し、かつ全印刷用画像データバンドの印刷が完了したか否かを判定する。頁終了要求受信かつ全印刷用画像データバンド印刷完了であれば、処理フローを抜ける。そうでなければ、ステップS15020へ戻る。
【0117】
実施例2は、図11で説明したデータフローで、画像形成を実行することができる。図17に示す従来例においてストレージ2012がプリンタコントローラ2013にのみ接続されている場合と比較すると、実施例2は、本体制御部2001によるRAM2004へのアクセス回数が、図17に示す経路17005と経路17006との分、減る。
【0118】
つまり、画像形成装置PF2によれば、マルチプレクサ2011を経由し、プリンタコントローラ2013と本体制御部2001との双方にストレージ2012を結合し、印刷する。そして、ストレージ2012に格納されているレンダリング済み画像データを直接RAM2016に送信する。このために、ストレージ2012に格納されているレンダリング済み画像データをRAM2016に中継する必要がない。したがって、本体制御部2001のRAM2016のメモリバスの輻輳を抑制することができる。
【0119】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上記実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、上記プログラムを、1つのコンピュータが実行してもよく、また、複数のコンピュータが連動して実行してもよい。さらに、上記処理の全てをソフトウェアで実現する必要はなく、一部または全部をハードウェアによって実現するようにしてもよい。
【符号の説明】
【0120】
PF1…画像形成装置、
2001…本体制御部、
2013…プリンタコントローラ、
2011…マルチプレクサ、
2012…ストレージ。
【特許請求の範囲】
【請求項1】
印刷ジョブデータを画像データに加工する第1の回路と;
上記第1の回路が加工した画像データに基づいて画像形成する第2の回路と;
上記第1の回路に格納されているデータを読み取り、また、上記第1の回路に書き込み可能であり、かつ上記第2の回路に格納されているデータを読み取り、また上記第2の回路に書き込み可能であるストレージと;
上記第2の回路が格納している印刷ジョブデータを上記ストレージに送信し、上記ストレージに格納されている上記印刷ジョブデータを、上記第1の回路に送信する手段と;
を有することを特徴とする画像形成装置。
【請求項2】
請求項1に記載の画像形成装置であって、
上記第1の回路が上記ストレージに書き込んでいる上記画像データの特定のページ内のバンドと、上記第2の回路が上記ストレージから読み出している上記画像データの上記特定のページ内のバンドとが異なることを特徴とする画像形成装置。
【請求項3】
請求項1に記載の画像形成装置であって、
上記第1の回路が上記ストレージに書き込んでいる上記画像データのページと、上記第2の回路が上記ストレージから読み出している上記画像データのページとが異なることを特徴とする画像形成装置。
【請求項4】
請求項1に記載の画像形成装置であって、
上記第1の回路が加工した画像データを、上記第2の回路に送るプロセッサ間通信路を有することを特徴とする画像形成装置。
【請求項5】
請求項1に記載の画像形成装置であって、
上記第2の回路が、外部インタフェースに接続され、この外部インタフェースを介して上記画像形成装置の外のホストPCから印刷ジョブデータを受信することを特徴とする画像形成装置。
【請求項6】
請求項1に記載の画像形成装置であって、
上記第1の回路が、外部インタフェースに接続され、この外部インタフェースを介して上記画像形成装置の外のホストPCから印刷ジョブデータを受信することを特徴とする画像形成装置。
【請求項7】
請求項1から請求項6のいずれか1項に記載の画像形成装置であって、
上記第1の回路は、ページ記述言語をレンダリングする回路であることを特徴とする画像形成装置。
【請求項8】
請求項1から請求項7のいずれか1項に記載の画像形成装置であって、
上記ストレージがHDDで形成され、上記第1の回路または上記第2の回路と、上記送信する手段との間が、S−ATAで接続されていることを特徴とする画像形成装置。
【請求項9】
請求項1から請求項8のいずれか1項に記載の画像形成装置であって、
上記第1の回路と上記第2の回路との間に、上記ストレージを介した接続とは異なる通信路を有し、上記通信路を介して、上記第1の回路と上記第2の回路との間でコマンドを通信することを特徴とする画像形成装置。
【請求項10】
印刷ジョブデータを画像データに加工する第1の回路と;
上記第1の回路が加工した画像データに基づいて画像形成する第2の回路と;
上記第1の回路に格納されているデータを読み取り、また、上記第1の回路に書き込み可能であり、かつ上記第2の回路に格納されているデータを読み取り、また上記第2の回路に書き込み可能であるストレージと;
上記第1の回路が格納している印刷ジョブデータを上記ストレージに送信し、上記ストレージに格納されている印刷ジョブデータを上記第1の回路に送信し、上記第1の回路が加工した画像データを上記ストレージに送信し、上記ストレージに格納されている上記第1の回路が加工した画像データを上記第2の回路に送信する手段と;
を有することを特徴とする画像形成装置。
【請求項11】
印刷ジョブデータを第1の回路が画像データに加工する第1の工程と;
上記第1の回路が加工した画像データに基づいて、第2の回路が画像形成する第2の工程と;
上記第1の回路に格納されているデータを読み取り、また、上記第1の回路に書き込み可能であり、かつ上記第2の回路に格納されているデータを読み取り、また上記第2の回路に書き込み可能であるストレージに、上記第2の回路が格納している印刷ジョブデータを送信し、上記ストレージに格納されている印刷ジョブデータを上記第1の回路に送信する工程と;
を有することを特徴とする画像形成装置の制御方法。
【請求項12】
印刷ジョブデータを第1の回路が画像データに加工する第1の工程と;
上記第1の回路が加工した画像データに基づいて、第2の回路が画像形成する第2の工程と;
上記第1の回路に格納されているデータを読み取り、また、上記第1の回路に書き込み可能であり、かつ上記第2の回路に格納されているデータを読み取り、また上記第2の回路に書き込み可能であるストレージに、上記第1の回路が格納している印刷ジョブデータを送信し、上記ストレージに格納されている印刷ジョブデータを上記第1の回路に送信し、上記第1の回路が加工した画像データを上記ストレージに送信し、上記ストレージに格納されている上記第1の回路が加工した画像データを上記第2の回路に送信する工程と;
を有することを特徴とする画像形成装置の制御方法。
【請求項13】
請求項11または請求項12に記載の画像形成装置の制御方法を、コンピュータにより実行させることを特徴とするプログラム。
【請求項1】
印刷ジョブデータを画像データに加工する第1の回路と;
上記第1の回路が加工した画像データに基づいて画像形成する第2の回路と;
上記第1の回路に格納されているデータを読み取り、また、上記第1の回路に書き込み可能であり、かつ上記第2の回路に格納されているデータを読み取り、また上記第2の回路に書き込み可能であるストレージと;
上記第2の回路が格納している印刷ジョブデータを上記ストレージに送信し、上記ストレージに格納されている上記印刷ジョブデータを、上記第1の回路に送信する手段と;
を有することを特徴とする画像形成装置。
【請求項2】
請求項1に記載の画像形成装置であって、
上記第1の回路が上記ストレージに書き込んでいる上記画像データの特定のページ内のバンドと、上記第2の回路が上記ストレージから読み出している上記画像データの上記特定のページ内のバンドとが異なることを特徴とする画像形成装置。
【請求項3】
請求項1に記載の画像形成装置であって、
上記第1の回路が上記ストレージに書き込んでいる上記画像データのページと、上記第2の回路が上記ストレージから読み出している上記画像データのページとが異なることを特徴とする画像形成装置。
【請求項4】
請求項1に記載の画像形成装置であって、
上記第1の回路が加工した画像データを、上記第2の回路に送るプロセッサ間通信路を有することを特徴とする画像形成装置。
【請求項5】
請求項1に記載の画像形成装置であって、
上記第2の回路が、外部インタフェースに接続され、この外部インタフェースを介して上記画像形成装置の外のホストPCから印刷ジョブデータを受信することを特徴とする画像形成装置。
【請求項6】
請求項1に記載の画像形成装置であって、
上記第1の回路が、外部インタフェースに接続され、この外部インタフェースを介して上記画像形成装置の外のホストPCから印刷ジョブデータを受信することを特徴とする画像形成装置。
【請求項7】
請求項1から請求項6のいずれか1項に記載の画像形成装置であって、
上記第1の回路は、ページ記述言語をレンダリングする回路であることを特徴とする画像形成装置。
【請求項8】
請求項1から請求項7のいずれか1項に記載の画像形成装置であって、
上記ストレージがHDDで形成され、上記第1の回路または上記第2の回路と、上記送信する手段との間が、S−ATAで接続されていることを特徴とする画像形成装置。
【請求項9】
請求項1から請求項8のいずれか1項に記載の画像形成装置であって、
上記第1の回路と上記第2の回路との間に、上記ストレージを介した接続とは異なる通信路を有し、上記通信路を介して、上記第1の回路と上記第2の回路との間でコマンドを通信することを特徴とする画像形成装置。
【請求項10】
印刷ジョブデータを画像データに加工する第1の回路と;
上記第1の回路が加工した画像データに基づいて画像形成する第2の回路と;
上記第1の回路に格納されているデータを読み取り、また、上記第1の回路に書き込み可能であり、かつ上記第2の回路に格納されているデータを読み取り、また上記第2の回路に書き込み可能であるストレージと;
上記第1の回路が格納している印刷ジョブデータを上記ストレージに送信し、上記ストレージに格納されている印刷ジョブデータを上記第1の回路に送信し、上記第1の回路が加工した画像データを上記ストレージに送信し、上記ストレージに格納されている上記第1の回路が加工した画像データを上記第2の回路に送信する手段と;
を有することを特徴とする画像形成装置。
【請求項11】
印刷ジョブデータを第1の回路が画像データに加工する第1の工程と;
上記第1の回路が加工した画像データに基づいて、第2の回路が画像形成する第2の工程と;
上記第1の回路に格納されているデータを読み取り、また、上記第1の回路に書き込み可能であり、かつ上記第2の回路に格納されているデータを読み取り、また上記第2の回路に書き込み可能であるストレージに、上記第2の回路が格納している印刷ジョブデータを送信し、上記ストレージに格納されている印刷ジョブデータを上記第1の回路に送信する工程と;
を有することを特徴とする画像形成装置の制御方法。
【請求項12】
印刷ジョブデータを第1の回路が画像データに加工する第1の工程と;
上記第1の回路が加工した画像データに基づいて、第2の回路が画像形成する第2の工程と;
上記第1の回路に格納されているデータを読み取り、また、上記第1の回路に書き込み可能であり、かつ上記第2の回路に格納されているデータを読み取り、また上記第2の回路に書き込み可能であるストレージに、上記第1の回路が格納している印刷ジョブデータを送信し、上記ストレージに格納されている印刷ジョブデータを上記第1の回路に送信し、上記第1の回路が加工した画像データを上記ストレージに送信し、上記ストレージに格納されている上記第1の回路が加工した画像データを上記第2の回路に送信する工程と;
を有することを特徴とする画像形成装置の制御方法。
【請求項13】
請求項11または請求項12に記載の画像形成装置の制御方法を、コンピュータにより実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2011−131485(P2011−131485A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−292669(P2009−292669)
【出願日】平成21年12月24日(2009.12.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願日】平成21年12月24日(2009.12.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]