説明

画像形成装置、画像形成装置の制御方法、及び、プログラム

【課題】内蔵RAMの容量不足時に印刷エラーを回避し、且つ、印刷速度が低下して印刷時間が長くなってしまうことを防止すること。
【解決手段】CPU1110は、入力される印刷ジョブの画像処理に必要なワークデータを外部メモリ1600に記憶し、前記画像処理後のデータを内蔵RAM1200に記憶する第1のモード(MODE−A)で印刷ジョブの処理を行う場合の第1の処理時間と、前記画像処理に必要なワークデータを内蔵RAM1200に記憶し、前記画像処理後のデータを外部メモリ1600に記憶する第2のモード(MODE−B)で印刷ジョブの処理を行う場合の第2の処理時間をそれぞれ予測し、前記第1の処理時間と前記第2の処理時間とを比較し、処理時間の短いモードを選択して前記印刷ジョブの処理を行うように制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリンタ等の画像形成装置、画像形成装置の制御方法、及び、プログラムに関する。
【背景技術】
【0002】
プリンタ等の画像形成装置は、パーソナルコンピュータ(以下、PC)から受信した印刷情報(以下、印刷ジョブと呼ぶ)に基づいて、画像処理を施し、用紙等の記録媒体に画像を印刷する。この際、画像形成装置は、内蔵するRAMを使用して、画像処理および印刷処理を行う。
【0003】
しかし、PCから容量の大きい印刷ジョブが送られてくると、画像形成装置の内蔵RAMの空き容量が不足し、印刷できない(印刷エラー)場合がある。
このような画像形成装置における内蔵RAMの容量不足による印刷エラーを回避するため、印刷解像度を下げることでRAMの使用量を減らす提案もされているが、この場合、高品質な印刷出力が得られない。
【0004】
また、外部メモリを接続し、外部メモリの領域を印刷ジョブ処理に使用可能な領域に設定することで、上記印刷エラーを回避する技術が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−296796号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上記従来の技術では、接続した外部メモリを出力データ用の領域として使用するため、プリンタエンジンへのデータ転送は、内蔵RAM経由のデータ転送を必要とする。
【0007】
したがって、プリンタエンジンの印刷可能速度を保証できないため、印刷速度が低下し、印刷時間が長くなるという課題があった。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、内蔵RAMの容量不足時に印刷エラーを回避し、且つ、印刷速度が低下して印刷時間が長くなってしまうことを防止する仕組みを提供することである。
【課題を解決するための手段】
【0008】
本発明は、第1の記憶手段と、前記第1の記憶手段よりデータ転送速度の遅い第2の記憶手段と、入力される印刷ジョブに従う画像処理を行う画像処理手段と、前記画像処理手段により画像処理されたデータの印刷処理を行う印刷手段と、前記画像処理に必要なワークデータを前記第2の記憶手段に記憶し、前記画像処理後のデータを前記第1の記憶手段に記憶する第1のモードで前記印刷ジョブの処理を行う場合の第1の処理時間と、前記画像処理に必要なワークデータを前記第1の記憶手段に記憶し、前記画像処理後のデータを前記第2の記憶手段に記憶する第2のモードで前記印刷ジョブの処理を行う場合の第2の処理時間をそれぞれ予測する予測手段と、前記予測手段が予測した前記第1の処理時間と前記第2の処理時間とを比較し、処理時間の短いモードを選択して前記印刷ジョブの処理を行うように制御する制御手段とを有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、内蔵RAMの容量不足時に印刷エラーを回避し、且つ、印刷速度が低下して印刷時間が長くなってしまうことを防止することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の実施例1における画像形成装置の構成を示す図である。
【図2】実施例1における画像形成装置100の動作を示すフローチャートである。
【図3】図2のS312に示したMODE−Aでの印刷動作を示すフローチャートである。
【図4】図2のS315に示したMODE−Bでの印刷動作を示すフローチャートである。
【図5】図2のS308に示した印刷ジョブ処理時間予測動作を示すフローチャートである。
【図6】本発明の実施例1における印刷ジョブ処理時間の算出値の一例を示す図である。
【図7】本発明の実施例1における印刷ジョブ処理時間の算出値の一例を示す図である。
【図8】本発明の実施例2における画像形成装置100の構成を示す図である。
【図9】実施例2における画像形成装置100の動作を示すフローチャートである。
【図10】図9のS1206に示した印刷ジョブ処理時間予測動作を示すフローチャートである。
【図11】本発明の実施例2における印刷ジョブ処理時間の算出値の一例を示す図である。
【図12】本発明の実施例2における印刷ジョブ処理時間の算出値の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例1】
【0012】
図1は、本発明の実施例1における画像形成装置の構成を示す図である。
図1において、100は、画像形成装置である。200は、ネットワークを介して画像形成装置100と接続されるパーソナルコンピュータ(PC)である。1000は、画像形成装置全体を制御するコントローラである。1100は、コントローラ1000の制御部であるASIC(Application Specific Integrated Circuit)である。
【0013】
ASIC1100において、1110は、コントローラ1000各部の制御を行うCPUである。1120は、USBメモリやSDカードなどの外部メモリを接続するための外部メモリI/Fである。1130は、PCからの印刷ジョブを受信するネットワークI/Fである。1140は、RAMとのデータ通信を行うRAM I/Fである。
【0014】
1150は、PCから印刷ジョブに画像処理を施す画像処理部である。1160は、ユーザインターフェース(以下、UI)であるパネルとの通信を行パネルI/Fである。1170は、プリンタエンジンとのデータ転送および制御通信を行うプリンタI/Fである。1180は、ROMとのデータ通信を行うROM I/Fである。
【0015】
1200は第1の記憶部としてのRAMで、制御プログラムの実行領域や画像処理用のワークデータ用領域、および出力データ格納用領域として利用される。1300は、制御プログラムが格納されるROMである。1400は、UIであるパネルである。パネル1400は、各種メッセージやソフトキーを表示するタッチパネル付きの表示部や、ハードキーを有する。1500は、印刷を行うプリンタエンジンである。1600は第2の記憶部としての外部メモリで、USBメモリやSDカードなどのメモリデバイスである。外部メモリ1600は、画像形成装置100に着脱可能に外部接続される。
【0016】
<全体動作>
次に、図2を用いて、画像形成装置100の動作を説明する。
図2は、実施例1における画像形成装置100の動作を示すフローチャートである。なお、このフローチャートで示す動作手順は、コントローラ1000のROM1300に格納もしくはRAM1200に展開されたプログラムに沿ってCPU1110が実行する。
【0017】
画像形成装置100のCPU1110は、PC200から印刷ジョブを受信すると(S301)、印刷ジョブの内容から必要なRAM容量を検知する(S302)。必要なRAM容量の検知は、印刷ジョブが、図形や写真などのイメージデータがあるか、何ページであるか、両面印刷であるか、2in1印刷であるか、複数部印刷であるか、などの情報を元に行う。
【0018】
そして、CPU1110は、必要RAM容量に対して内蔵RAM容量(RAM1200の空き容量)が不足しているか否かを判断する(S303)。
上記S303において、必要RAM容量に対して内蔵RAM容量が不足していると判定した場合(S303でYes)、CPU1110は、ステップS304に処理を進める。
ステップS304では、CPU1110は、必要RAM容量に対して内蔵RAM容量が不足している旨を通知するメッセージと、外部メモリの有無のUI入力と外部メモリの接続(装着)を促す画面をパネル1400に表示する。
【0019】
次に、CPU1110は、ユーザからのUI入力によって外部メモリの有無を判断する(S305)。
そして、上記S305において、ユーザが接続可能な外部メモリを持っていると判断した場合、CPU1110は、外部メモリ1600の接続(装着)を確認する(S306)。
【0020】
そして、上記S306において、外部メモリ1600が接続されたと判断した場合(S306でYes)、CPU1110は、接続された外部メモリ1600の使用可能容量を検知する(S307)。
【0021】
次に、CPU1110は、内蔵RAM1200の空き容量と上記S307で検知した接続された外部メモリ1600の使用可能容量から、印刷ジョブ処理時間予測を行う(S308)。なお、印刷ジョブ処理時間予測処理の詳細は図5を用いて後述する。
【0022】
ここで、画像形成装置100は、印刷モードとして、MODE−A(第1のモード)とMODE−B(第2のモード)で、印刷ジョブの処理が可能である。上記S308の印刷ジョブ処理時間予測では、CPU1110は、MODE−Aでの印刷ジョブの処理時間(第1の処理時間)とMODE−Bでの印刷ジョブの処理時間(第2の処理時間)をそれぞれ予測する。
【0023】
MODE−Aとは、以下の(1)、(2)のようにデータ領域を使用する印刷モードである。
(1)内蔵RAM1200を出力データ(画像処理後のデータ)格納用に使用する。
(2)外部メモリ1600を画像処理に必要なデータ(以下ワークデータ)用に使用する。
一方、MODE−Bとは、以下の(3)、(4)のようにデータ領域を使用する印刷モードである。
(3)内蔵RAM1200をワークデータ用に使用する。
(4)外部メモリ1600を出力データ用に使用する。
【0024】
次に、CPU1110は、上記S308の印刷ジョブ処理時間予測の結果から、MODE−Aの処理時間とMODE−Bの処理時間とを比較し、いずれの処理時間が短いか判断する(S309)。
そして、上記S309において、MODE−Aの処理時間のほうが短と判断した場合、CPU1110は、MODE−Aを選択し、内蔵RAM1200から外部メモリ1600にワークデータを転送する(移動させる)(S310)。
【0025】
次に、CPU1110は、外部メモリ1600をワークデータ用、内蔵RAM1200を出力データ格納用として使用するように設定し(S311)、MODE−Aで印刷処理を行う(S312)。そして、ステップS316に処理を進める。なお、MODE−Aでの印刷処理の詳細は図3を用いて後述する。
【0026】
一方、上記S309において、MODE−Bの処理時間のほうが短と判断した場合、CPU1110は、MODE−Bを選択し、ワークデータの転送を行わず、内蔵RAM1200に出力データ転送用のバッファ領域を確保する。(S313)。
【0027】
次に、CPU1110は、外部メモリ1600を出力データ格納用、内蔵RAM1200をワークデータ用として使用するように設定し(S314)、MODE−Bで印刷処理を行う(S315)。そして、ステップS316に処理を進める。なお、MODE−Bでの印刷処理の詳細は図4を用いて後述する。
【0028】
ステップS316では、CPU1110は、印刷を行った印刷モードがMODE−Aか否かを判定する(S316)。
そして、印刷モードがMODE−Aと判断した場合(S316でYes)、CPU1110は、ワークデータを外部メモリ1600から内蔵RAM1200へ移動する(S317)。
【0029】
次に、CPU1110は、接続された外部メモリ1600が取り外し可能である旨をパネル1400に表示し(S318)、本フローチャートの処理を終了する。
一方、印刷モードがMODE−Aでない判断した場合(S316でNo)、CPU1110は、そのまま本フローチャートの処理を終了する。
また、上記S305において、ユーザが接続可能な外部メモリを持っていないと判断した場合(S305でNo)、CPU1110は、印刷エラーである旨をパネル1400に表示し(S316)、本フローチャートの処理を終了する。
【0030】
また、上記S303において、必要RAM容量に対して内蔵RAM容量が不足していないと判定した場合(S303でNo)、CPU1110は、ステップS315に処理を進め、MODE−Bで印刷処理を行う。以下、同様なので説明は割愛する。
【0031】
<MODE−A印刷動作>
ここで、MODE−Aでの印刷処理について、図3を用いて詳細に説明する。
図3は、図2のS312に示したMODE−Aでの印刷動作を示すフローチャートである。なお、このフローチャートで示す動作手順は、コントローラ1000のROM1300に格納もしくはRAM1200に展開されたプログラムに沿ってCPU1110が実行する。
【0032】
まず、CPU1110は、ワークデータを外部メモリ1600から画像処理部1150に転送する(S401)。
次に、CPU1110は、画像処理部1150に画像処理を実行させる(S402)。
次に、CPU1110は、上記S402で画像処理を施されたデータが出力データであるか否か判断する(S403)。
そして、上記S403において、画像処理を施されたデータが出力データでないと判断した場合(S403でNo)、すなわち、まだ印刷前の画像処理が必要なデータである場合、CPU1110は、ステップS404に処理を進める。
【0033】
ステップS404では、CPU1110は、ワークデータを画像処理部1150から外部メモリ1600に転送し、ステップS401に処理を戻す。
一方、上記S403において、画像処理を施されたデータが出力データであると判断した場合(S403でYes)、CPU1110は、出力データを内蔵RAM1200に格納する(S405)。
【0034】
次に、CPU1110は、プリンタI/F1170を介して、出力データを内蔵RAM1200からプリンタエンジン1500に出力して印刷させる(S406)。
次に、CPU1110は、出力データが最終データであるか判断し(S407)、最終データでないと判断した場合(S407でNo)、すなわち、まだ出力データがある場合、S406へ処理を戻す。そして、出力データの内蔵RAM1200からプリンタエンジン1500への出力を繰り返す(S406)。
【0035】
一方、上記S407において、出力データが最終データであると判断した場合(S407でYes)、本フローチャートの処理を終了し、図2のフローチャートへ処理を戻す。
なお、MODE−Aの場合、内蔵RAM1200には、制御プログラム用領域と出力データ格納用領域がマッピングされる。また、外部メモリ1600には、ワークデータ用領域がマッピングされる。
【0036】
<MODE−B印刷動作>
次に、MODE−Bでの印刷処理について、図4を用いて詳細に説明する。
図4は、図2のS315に示したMODE−Bでの印刷動作を示すフローチャートである。なお、このフローチャートで示す動作手順は、コントローラ1000のROM1300に格納もしくはRAM1200に展開されたプログラムに沿ってCPU1110が実行する。
【0037】
まず、CPU1110は、画像処理部1150に、内蔵RAM1200に格納されるワークデータの画像処理を実行させる(S601)。
次に、CPU1110は、上記S601で画像処理を施されたデータが出力データであるか否か判断する(S602)。
そして、上記S602において、画像処理を施されたデータが出力データでないと判断した場合(S602でNo)、CPU1110は、ステップS601に処理を戻し、再度、画像処理を実行させる。
【0038】
一方、上記S602において、画像処理を施されたデータが出力データであると判断した場合(S602でYes)、CPU1110は、出力データを外部メモリ1600に格納する(S603)。
【0039】
次に、CPU1110は、外部メモリ1600から内蔵RAM1200のバッファ領域に出力データを転送する(S604)。
次に、CPU1110は、プリンタI/F1170を介して、出力データを内蔵RAM1200のバッファ領域からプリンタエンジン1500に出力して印刷させる(S605)。
【0040】
次に、CPU1110は、出力データが最終データであるか判断し(S606)、最終データでないと判断した場合、すなわち、まだ出力データがある場合(S606でNo)、S604に処理を戻す。そして、出力データの外部メモリ1600から内蔵RAM1200のバッファ領域への転送およびプリンタエンジン1500への出力を繰り返す(S604,S605)。
【0041】
一方、上記S606において、出力データが最終データであると判断した場合(S606でYes)、本フローチャートの処理を終了し、図2のフローチャートへ処理を戻す。
なお、MODE−Bの場合、内蔵RAM1200には、制御プログラム用領域とワークデータ用領域及び出力データ用バッファ領域がマッピングされる。また、外部メモリ1600には、出力データ格納用領域がマッピングされる。
【0042】
<印刷ジョブ処理時間予測>
ここで、印刷ジョブ処理時間予測処理について、図5、図6、及び図7を用いて詳細に説明する。
【0043】
図5は、図2のS308に示した印刷ジョブ処理時間予測動作を示すフローチャートである。なお、このフローチャートで示す動作手順は、コントローラ1000のROM1300に格納もしくはRAM1200に展開されたプログラムに沿ってCPU1110が実行する。
【0044】
まず、CPU1110は、図2のS301でPC200から受信した印刷ジョブを解析する(S801)。すなわち、CPU1110は、印刷ジョブが、図形や写真などのイメージデータがあるか、何ページであるか、両面印刷であるか、2in1印刷であるか、複数部印刷であるか、などの情報を得る。
【0045】
次に、CPU1110は、S802〜S804において、上記S801での印刷ジョブ解析結果からMODE−Aでの各処理時間を算出する。
まず、CPU1110は、上記S801での印刷ジョブ解析結果から、MODE−Aでの外部メモリ1600へのワークデータ転送時間(TA1)を算出する(S802)。TA1は、印刷ジョブの解析結果から得られる、ワークデータ量と内蔵RAM1200から外部メモリ1600へのデータ転送速度から算出される。
【0046】
次に、CPU1110は、上記S801での印刷ジョブ解析結果から、MODE−Aでの画像処理時間(TA2)を算出する(S803)。TA2は、印刷ジョブの解析結果から得られる、拡大縮小や回転などの画像処理に必要なデータ量と外部メモリ1600と画像処理部1150間のデータ転送速度から算出される。
【0047】
次に、CPU1110は、上記S801での印刷ジョブ解析結果から、MODE−Aでの出力データ転送時間:TA3を算出する(S804)。TA3は、印刷ジョブの解析結果から得られる、出力データ量と内蔵RAM1200からプリンタエンジン1500へのデータ転送速度から算出される。
【0048】
続いて、CPU1110は、S805〜S806において、上記S801での印刷ジョブ解析結果から、MODE−Bでの各処理時間を算出する。なお、MODE−Bの場合、外部メモリ1600へのワークデータ転送時間:TB1=0である。すなわち、MODE−Bでは、ワークデータを外部メモリ1600に転送しない。
【0049】
まず、CPU1110は、MODE−Aの場合と同様に、上記S801での印刷ジョブ解析結果から、MODE−Bでの画像処理時間(TB2)を算出する(S805)。
次に、CPU1110は、MODE−Aの場合と同様に、上記S801での印刷ジョブ解析結果から、MODE−Bでの出力データ転送時間(TB3)を算出する(S806)。
【0050】
最後に、CPU1110は、上記S802〜S804で算出したMODE−Aでの処理時間の合計、すなわちTA1+TA2+TA3と、上記S805〜S806で算出したMODE−Bでの処理時間の合計、すなわちTB2+TB3を算出する(S807)。そして、図2のフローチャートへ処理を戻す。
【0051】
図6、図7は、本発明の実施例1における印刷ジョブ処理時間の算出値の一例を示す図である。
図6は、片面大量ページの印刷ジョブの例であり、MODE−Aの処理時間合計がMODE−Bの処理時間合計より短くなる場合に対応する。
内蔵RAM1200から外部メモリ1600にワークデータを転送する時間は、MODE−A(TA1)のみであり、MODE−Bにおいては、TB1=0である。
画像処理時間(TA2及びTB2)は、MODE−Aの処理時間がMODE−Bの処理時間よりも長く予測される。MODE−Aの場合は、内蔵RAM1200を介して、画像処理部1150と外部メモリ1600との間でデータ転送が行われる。これに対して、MODE−Bの場合は、画像処理部1150と内蔵RAM1200の間でデータ転送が行われる。したがって、MODE−Aの処理時間がMODE−Bの処理時間より長く予測される。
【0052】
出力データ転送時間(TA3及びTB3)は、MODE−Aの処理時間がMODE−Bの処理時間よりも短く予測される。MODE―Aの場合は、内蔵RAM1200からプリンタI/F1170へ出力データ転送が行われる。これに対して、MODE−Bの場合は、内蔵RAM1200を介して、外部メモリ1600からプリンタI/F1170へ出力データ転送が行われる。したがって、MODE−Aの処理時間がMODE−Aの処理時間より短く予測される。
【0053】
図7は、両面少量ページの印刷ジョブの例であり、MODE−Bの処理時間合計がMODE−Aの処理時間合計より短くなる場合に対応する。
図6の場合と同様に、内蔵RAM1200から外部メモリ1600にワークデータを転送する時間は、MODE−A(TA1)のみであり、MODE−Bにおいては、TB1=0である。
【0054】
画像処理時間(TA2及びTB2)は、図6と同様に、MODE−Aの処理時間がMODE−Bの処理時間よりも長く予測される。ただし、少量ページの処理であるため、MODE−A、MODE−Bともに、図6の場合よりも処理時間自体は短くなる。
【0055】
出力データ転送時間(TA3及びTB3)は、MODE−Aの処理時間がMODE−Bの処理時間よりも短く予測される。MODE―Aの場合は、内蔵RAM1200からプリンタI/F1170へ出力データ転送が行われる。これに対して、MODE−Bの場合は、内蔵RAM1200を介して、外部メモリ1600からプリンタI/F1170へ出力データ転送が行われる。したがって、MODE−Aの処理時間がMODE−Bの処理時間より短く予測される。
【0056】
ただし、少量ページの処理であるため、MODE−A、MODE−Bともに、図6の場合よりも処理時間自体は短くなる。
以上、本実施例の画像形成装置は、内蔵RAMの容量不足時に、外部メモリを使用し、印刷ジョブに応じてメモリマッピングを変更する構成を有する。この構成により、印刷エラーを回避し、かつ印刷時間を短縮する(印刷速度が低下して印刷時間が長くなってしまうことを防止する)ことが可能になる。
【実施例2】
【0057】
実施例2は、外部メモリI/Fに着脱可能に接続される外部メモリ1600が、内蔵されるハードディスクドライブ(HDD)となっている点で、実施例1と異なる。
また、実施例2は、印刷ジョブ処理時間処理時間予測に印刷ジョブの履歴を加味する点でも、実施例1と異なる。
以下、本実施例について説明する。
【0058】
図8は、本発明の実施例2における画像形成装置100の構成を示す図である。図1と同一のものには同一の符号を付してあり、説明は割愛する。
図8において、1190は、ハードディスクドライブ(HDD)とのデータ通信を行うHDD I/Fである。1700は、実施例2における第2の記憶部としてのHDDで、画像形成装置100に内蔵される。
図8において、図1と異なる点は、図1における外部メモリI/F1120がHDD I/F1190に替わっており、その先に接続される外部メモリ1600がHDD1700に替わっている点である。
【0059】
<全体動作>
次に、図9を用いて、本発明の実施例2における動作を説明する。
図9は、実施例2における画像形成装置100の動作を示すフローチャートである。なお、このフローチャートで示す動作手順は、コントローラ1000のROM1300に格納もしくはRAM1200に展開されたプログラムに沿ってCPU1110が実行する。
【0060】
画像形成装置100のCPU1110は、PC200から印刷ジョブを受信すると(S1201)、印刷ジョブの内容から必要なRAM容量を検知する(S1202)。必要なRAM容量の検知は、印刷ジョブが、図形や写真などのイメージデータがあるか、何ページであるか、両面印刷であるか、2in1印刷であるか、複数部印刷であるか、などの情報を元に行う。
【0061】
そして、CPU1110は、必要RAM容量に対して内蔵RAM容量(RAM1200の空き容量)が不足しているか否かを判断する(S1203)。
上記S1203において、必要RAM容量に対して内蔵RAM容量が不足していると判定した場合(S1203でYes)、CPU1110は、ステップS1204に処理を進める。
【0062】
ステップS1204では、HDD1700の使用可能容量を検知する。
次に、CPU1110は、上記S1201で受信した印刷ジョブに対して、前記内蔵RAM容量とHDD1700の使用可能容量の合計が十分であるか否かを判断する(S1205)。そして、上記S1205において、印刷ジョブに対して容量の合計が十分であると判断した場合(S1205でYes)、CPU1110は、印刷ジョブ処理時間予測を行う(S1206)。なお、印刷モードとしてのMODE−A及びMODE−Bについては、実施例1と同様であるので説明は割愛する。また、印刷ジョブ処理時間予測の詳細は図10を用いて後述する。
【0063】
次に、CPU1110は、上記S1206の印刷ジョブ処理時間予測の結果から、MODE−Aの処理時間予測とMODE−Bの処理時間予測のいずれが短いか判断する(S1207)。
【0064】
そして、上記S1207において、MODE−Aの処理時間予測のほうが短と判断した場合、CPU1110は、内蔵RAM1200からHDD1700にワークデータを転送する(移動させる)(S1208)。
【0065】
次に、CPU1110は、HDD1700をワークデータ用、内蔵RAM1200を出力データ格納用として使用するように設定し(S1209)、MODE−Aで印刷処理を行う(S1210)。そして、ステップS1214に処理を進める。なお、上記S1210のMODE−Aでの印刷処理では、図3に示した実施例1のMODE−Aでの印刷処理における「外部メモリ1600」を「HDD1700」に置き換えたものであるので説明は割愛する。
【0066】
一方、上記S1207において、MODE−Bの処理時間予測のほうが短と判断した場合、CPU1110は、ワークデータの転送を行わず、内蔵RAM1200に出力データ転送用のバッファ領域を確保する。(S1211)。
【0067】
次に、CPU1110は、HDD1700を出力データ格納用、内蔵RAM1200をワークデータ用として使用するように設定し(S1212)、MODE−Bで印刷処理を行う(S1213)。そして、ステップS1214に処理を進める。なお、上記S1213のMODE−Bでの印刷処理では、図4に示した実施例1のMODE−Bでの印刷処理における「外部メモリ1600」を「HDD1700」に置き換えたものであるので説明は割愛する。
【0068】
ステップS1214では、CPU1110は、印刷した印刷モードを履歴としてHDD1700に記憶し(S1214)、本フローチャートの処理を終了する。
また、上記S1201で受信した印刷ジョブに対して、前記内蔵RAM容量とHDD1700の使用可能容量の合計が十分でないと判断した場合(S1205でNo)、CPU1110は、ステップS1215に処理を進める。
【0069】
ステップS1215では、CPU1110は、印刷エラーである旨をパネル1400に表示し、本フローチャートの処理を終了する。
<印刷ジョブ処理時間予測>
ここで、印刷ジョブ処理時間予測について、図10、図11、及び図12を用いて詳細に説明する。
【0070】
図10は、図9のS1206に示した印刷ジョブ処理時間予測動作を示すフローチャートである。なお、このフローチャートで示す動作手順は、コントローラ1000のROM1300に格納もしくはRAM1200に展開されたプログラムに沿ってCPU1110が実行する。
【0071】
まず、CPU1110は、図9のS1201でPC200から受信した印刷ジョブを解析する(S1301)。すなわち、CPU1110は、印刷ジョブが、図形や写真などのイメージデータがあるか、何ページであるか、両面印刷であるか、2in1印刷であるか、複数部印刷であるか、などの情報を得る。
【0072】
次に、CPU1110は、上記印刷ジョブの前に処理された印刷ジョブにおける印刷モード(MODE−AおよびMODE−B)の履歴を検知する(S1302)。
次に、CPU1110は、上記S1302で検知し前印刷ジョブの印刷モードがMODE−Aであるか否かを判定する(S1303)。
そして、上記S1302で検知し前印刷ジョブの印刷モードがMODE−Aであると判断した場合(S1303でYes)、CPU1110は、ステップS1304に処理を進める。
【0073】
ステップS1304では、CPU1110は、MODE−AからMODE−BへのMODE変更時間(TBM)を算出する。なお、TBMは、印刷ジョブの解析結果から得られる、ワークデータ量とHDD1700から内蔵RAM1200へのデータ転送速度から算出される。また、MODE−AへのMODE変更時間(TAM)=0である。
【0074】
一方、上記S1302で検知し前印刷ジョブの印刷モードがMODE−Aでないと判断した場合(S1303でNo)、CPU1110は、ステップS1305に処理を進める。
【0075】
ステップS1305では、CPU1110は、MODE−BからMODE−AへのMODE変更時間(TAM)を算出する(S1305)。なお、TAMは、印刷ジョブの解析結果から得られる、ワークデータ量と内蔵RAM1200からHDD1700へのデータ転送速度から算出される。また、MODE−BへのMODE変更時間(TBM)=0である。
【0076】
次に、画像形成装置100は、S1306〜S1307において、上記S1301での印刷ジョブ解析結果からMODE−Aでの各処理時間を算出する。
まず、CPU1110は、実施例1と同様に、上記S1301での印刷ジョブ解析結果から、MODE−Aでの画像処理時間(TA2)を算出する(S1306)。
次に、CPU1110は、実施例1と同様に、上記S1301での印刷ジョブ解析結果から、出力データ転送時間(TA3)を算出する(S1307)。
続いて、CPU1110は、実施例1と同様に、S1308〜S1309において、上記S1301での印刷ジョブ解析結果から、MODE−Bでの各処理時間を算出する。
まず、CPU1110は、実施例1と同様に、上記S1301での印刷ジョブ解析結果から、画像処理時間(TB2)を算出する(S1308)。
また、CPU1110は、実施例1と同様に、上記S1301での印刷ジョブ解析結果から、出力データ転送時間(TB3)を算出する(S1309)。
最後に、CPU1110は、MODE−Aでの処理時間の合計、すなわちTAM+TA2+TA3と、MODE−Bでの処理時間の合計、すなわちTBM+TB2+TB3を算出する(S1310)。そして、本フローチャートの処理を終了して、図9のフローチャートに処理を戻す。
【0077】
図11、図12は、本発明の実施例2における印刷ジョブ処理時間の算出値の一例を示す図である。
図11は、現在の印刷モード(前印刷ジョブの印刷モード)がMODE−Aの場合に対応する。この場合、MODE変更時間は、MODE−Bに変更する場合のTBMのみとなる。すなわち、現在のモードがMODE−Aの場合は、MODE−AへのMODE変更時間(TAM)=0である。
【0078】
図12は、現在のモード(前印刷ジョブの印刷モード)がMODE−Bの場合に対応する。この場合、MODE変更時間は、MODE−Aに変更する場合のTAMのみとなる。すなわち、現在のモードがMODE−Bの場合は、MODE−BへのMODE変更時間(TBM)=0である。
【0079】
ここで、図11と図12の差は、MODE変更時間(TAM又はTBM)だけである。
すなわち、現在の印刷ジョブ処理モードによって、次に受信した印刷ジョブの処理時間予測が異なることを示している。
また、図11及び図12においては、MODE変更時間(TAM又はTBM)を加味したモードでは、印刷ジョブ処理時間が長くなっている。しかし、印刷ジョブによっては、MODE変更時間(TAM又はTBM)を加味したモードのほうが、印刷ジョブの処理時間予測が短くなる場合もある。
【0080】
以上示したように、本実施例の画像形成装置は、内蔵RAMの容量不足時に、HDDを使用し、さらに印刷ジョブの履歴からメモリマッピング変更時間を加味する構成を有する。この構成により、連続印刷ジョブでの印刷エラーを回避し、かつ印刷時間を短縮する(印刷速度が低下して印刷時間が長くなってしまうことを防止する)ことが可能になる。
【0081】
なお、画像形成装置100に内蔵されるHDD1700を、実施例1に示した外部メモリ1600のように、画像形成装置100に着脱可能に外部接続される構成にしてもよい。
【0082】
また、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0083】
以下、本発明に係る情報処理装置で読み取り可能な(コンピュータ読取り可能な)各種データ処理プログラムを格納する記憶媒体(記録媒体)について説明する。
本発明の各工程(上述した各機能)は、ネットワーク又は各種記憶媒体を介して取得したソフトウェア(プログラム)をパーソナルコンピュータ等の処理装置(CPU,プロセッサ)にて実行することでも実現できる。
【0084】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システム或いは装置に読み出すことによって、そのシステム或いは装置が、本発明の効果を享受することが可能となる。
【0085】
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
【0086】
本発明の様々な例と実施例を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
なお、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
本発明によれば、内蔵RAMの容量不足時に印刷エラーを回避し、且つ、印刷時間を短縮することができる。
【符号の説明】
【0087】
100 画像形成装置
200 パーソナルコンピュータ(PC)
1000 コントローラ
1100 ASIC
1110 CPU
1120 外部メモリI/F
1140 RAM I/F
1150 画像処理部
1200 RAM
1500 プリンタエンジン
1600 外部メモリ

【特許請求の範囲】
【請求項1】
第1の記憶手段と、
前記第1の記憶手段よりデータ転送速度の遅い第2の記憶手段と、
入力される印刷ジョブに従う画像処理を行う画像処理手段と、
前記画像処理手段により画像処理されたデータの印刷処理を行う印刷手段と、
前記画像処理に必要なワークデータを前記第2の記憶手段に記憶し、前記画像処理後のデータを前記第1の記憶手段に記憶する第1のモードで前記印刷ジョブの処理を行う場合の第1の処理時間と、前記画像処理に必要なワークデータを前記第1の記憶手段に記憶し、前記画像処理後のデータを前記第2の記憶手段に記憶する第2のモードで前記印刷ジョブの処理を行う場合の第2の処理時間をそれぞれ予測する予測手段と、
前記予測手段が予測した前記第1の処理時間と前記第2の処理時間とを比較し、処理時間の短いモードを選択して前記印刷ジョブの処理を行うように制御する制御手段と、
を有することを特徴とする画像形成装置。
【請求項2】
前記印刷ジョブを処理する際に、前記第1の記憶手段の容量が不足するか否かを判断する判断手段と、
前記判断手段により不足すると判断された場合に、前記予測手段が前記予測を行い、前記制御手段が上記制御を行うことを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記第2の記憶手段は、当該画像形成装置に着脱可能なものであり、
前記制御手段は、前記第2の記憶手段が当該画像形成装置に装着されている場合に、前記予測手段が前記予測を行い、前記制御手段が上記制御を行うことを特徴とする請求項1又は2に記載の画像形成装置。
【請求項4】
前記第1の処理時間は、前記画像処理に必要なワークデータを前記第1の記憶手段から前記第2の記憶手段に転送する時間、前記画像処理を行う時間、及び、前記第1の記憶手段から前記印刷手段へ前記画像処理後のデータを転送する時間を含み、
前記第2の処理時間は、前記画像処理を行う時間、及び、前記第2の記憶手段から前記印刷手段へ前記画像処理後のデータを転送する時間を含むことを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。
【請求項5】
前記第1の処理時間は、前記第2のモードから前記第1のモードへ変更する時間、前記画像処理を行う時間、及び、前記第1の記憶手段から前記印刷手段へ前記画像処理後のデータを転送する時間を含み、
前記第2の処理時間は、前記第1のモードから前記第2のモードへ変更する時間、前記画像処理を行う時間、及び、前記第2の記憶手段から前記印刷手段へ前記画像処理後のデータを転送する時間を含むことを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。
【請求項6】
前記第1の記憶手段は、当該画像形成装置に内蔵されるRAMであり、
前記第2の記憶手段は、当該画像形成装置に外部接続されるメモリデバイスであることを特徴とする請求項1乃至5のいずれか1項に記載の画像形成装置。
【請求項7】
前記第1の記憶手段は、当該画像形成装置に内蔵されるメモリであり、
前記第2の記憶手段は、当該画像形成装置に内蔵もしくは外部接続されるハードディスクドライブであることを特徴とする請求項1乃至5のいずれか1項に記載の画像形成装置。
【請求項8】
第1の記憶手段と、前記第1の記憶手段よりデータ転送速度の遅い第2の記憶手段と、入力される印刷ジョブに従う画像処理を行う画像処理手段と、前記画像処理手段により画像処理されたデータの印刷処理を行う印刷手段とを有する画像形成装置の制御方法であって、
予測手段が、前記画像処理に必要なワークデータを前記第2の記憶手段に記憶し、前記画像処理後のデータを前記第1の記憶手段に記憶する第1のモードで前記印刷ジョブの処理を行う場合の第1の処理時間と、前記画像処理に必要なワークデータを前記第1の記憶手段に記憶し、前記画像処理後のデータを前記第2の記憶手段に記憶する第2のモードで前記印刷ジョブの処理を行う場合の第2の処理時間をそれぞれ予測する予測ステップと、
制御手段が、前記予測ステップで予測した前記第1の処理時間と前記第2の処理時間とを比較し、処理時間の短いモードを選択して前記印刷ジョブの処理を行うように制御する制御ステップと、
を有することを特徴とする画像形成装置の制御方法。
【請求項9】
第1の記憶手段と、前記第1の記憶手段よりデータ転送速度の遅い第2の記憶手段と、入力される印刷ジョブに従う画像処理を行う画像処理手段と、前記画像処理手段により画像処理されたデータの印刷処理を行う印刷手段とを有する画像形成装置を、
前記画像処理に必要なワークデータを前記第2の記憶手段に記憶し、前記画像処理後のデータを前記第1の記憶手段に記憶する第1のモードで前記印刷ジョブの処理を行う場合の第1の処理時間と、前記画像処理に必要なワークデータを前記第1の記憶手段に記憶し、前記画像処理後のデータを前記第2の記憶手段に記憶する第2のモードで前記印刷ジョブの処理を行う場合の第2の処理時間をそれぞれ予測する予測手段、
前記予測手段が予測した前記第1の処理時間と前記第2の処理時間とを比較し、処理時間の短いモードを選択して前記印刷ジョブの処理を行うように制御する制御手段として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2011−73164(P2011−73164A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−224278(P2009−224278)
【出願日】平成21年9月29日(2009.9.29)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】