(57)【要約】【課題】内蔵ＲＡＭの容量不足時に印刷エラーを回避し、且つ、印刷速度が低下して印刷時間が長くなってしまうことを防止すること。【解決手段】ＣＰＵ１１１０は、入力される印刷ジョブの画像処理に必要なワークデータを外部メモリ１６００に記憶し、前記画像処理後のデータを内蔵ＲＡＭ１２００に記憶する第１のモード（ＭＯＤＥ−Ａ）で印刷ジョブの処理を行う場合の第１の処理時間と、前記画像処理に必要なワークデータを内蔵ＲＡＭ１２００に記憶し、前記画像処理後のデータを外部メモリ１６００に記憶する第２のモード（ＭＯＤＥ−Ｂ）で印刷ジョブの処理を行う場合の第２の処理時間をそれぞれ予測し、前記第１の処理時間と前記第２の処理時間とを比較し、処理時間の短いモードを選択して前記印刷ジョブの処理を行うように制御する。【選択図】図１
2011073164.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶手段と、
前記第１の記憶手段よりデータ転送速度の遅い第２の記憶手段と、
入力される印刷ジョブに従う画像処理を行う画像処理手段と、
前記画像処理手段により画像処理されたデータの印刷処理を行う印刷手段と、
前記画像処理に必要なワークデータを前記第２の記憶手段に記憶し、前記画像処理後のデータを前記第１の記憶手段に記憶する第１のモードで前記印刷ジョブの処理を行う場合の第１の処理時間と、前記画像処理に必要なワークデータを前記第１の記憶手段に記憶し、前記画像処理後のデータを前記第２の記憶手段に記憶する第２のモードで前記印刷ジョブの処理を行う場合の第２の処理時間をそれぞれ予測する予測手段と、
前記予測手段が予測した前記第１の処理時間と前記第２の処理時間とを比較し、処理時間の短いモードを選択して前記印刷ジョブの処理を行うように制御する制御手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記印刷ジョブを処理する際に、前記第１の記憶手段の容量が不足するか否かを判断する判断手段と、
前記判断手段により不足すると判断された場合に、前記予測手段が前記予測を行い、前記制御手段が上記制御を行うことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記第２の記憶手段は、当該画像形成装置に着脱可能なものであり、
前記制御手段は、前記第２の記憶手段が当該画像形成装置に装着されている場合に、前記予測手段が前記予測を行い、前記制御手段が上記制御を行うことを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記第１の処理時間は、前記画像処理に必要なワークデータを前記第１の記憶手段から前記第２の記憶手段に転送する時間、前記画像処理を行う時間、及び、前記第１の記憶手段から前記印刷手段へ前記画像処理後のデータを転送する時間を含み、
前記第２の処理時間は、前記画像処理を行う時間、及び、前記第２の記憶手段から前記印刷手段へ前記画像処理後のデータを転送する時間を含むことを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記第１の処理時間は、前記第２のモードから前記第１のモードへ変更する時間、前記画像処理を行う時間、及び、前記第１の記憶手段から前記印刷手段へ前記画像処理後のデータを転送する時間を含み、
前記第２の処理時間は、前記第１のモードから前記第２のモードへ変更する時間、前記画像処理を行う時間、及び、前記第２の記憶手段から前記印刷手段へ前記画像処理後のデータを転送する時間を含むことを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項６】
前記第１の記憶手段は、当該画像形成装置に内蔵されるＲＡＭであり、
前記第２の記憶手段は、当該画像形成装置に外部接続されるメモリデバイスであることを特徴とする請求項１乃至５のいずれか１項に記載の画像形成装置。
【請求項７】
前記第１の記憶手段は、当該画像形成装置に内蔵されるメモリであり、
前記第２の記憶手段は、当該画像形成装置に内蔵もしくは外部接続されるハードディスクドライブであることを特徴とする請求項１乃至５のいずれか１項に記載の画像形成装置。
【請求項８】
第１の記憶手段と、前記第１の記憶手段よりデータ転送速度の遅い第２の記憶手段と、入力される印刷ジョブに従う画像処理を行う画像処理手段と、前記画像処理手段により画像処理されたデータの印刷処理を行う印刷手段とを有する画像形成装置の制御方法であって、
予測手段が、前記画像処理に必要なワークデータを前記第２の記憶手段に記憶し、前記画像処理後のデータを前記第１の記憶手段に記憶する第１のモードで前記印刷ジョブの処理を行う場合の第１の処理時間と、前記画像処理に必要なワークデータを前記第１の記憶手段に記憶し、前記画像処理後のデータを前記第２の記憶手段に記憶する第２のモードで前記印刷ジョブの処理を行う場合の第２の処理時間をそれぞれ予測する予測ステップと、
制御手段が、前記予測ステップで予測した前記第１の処理時間と前記第２の処理時間とを比較し、処理時間の短いモードを選択して前記印刷ジョブの処理を行うように制御する制御ステップと、
を有することを特徴とする画像形成装置の制御方法。
【請求項９】
第１の記憶手段と、前記第１の記憶手段よりデータ転送速度の遅い第２の記憶手段と、入力される印刷ジョブに従う画像処理を行う画像処理手段と、前記画像処理手段により画像処理されたデータの印刷処理を行う印刷手段とを有する画像形成装置を、
前記画像処理に必要なワークデータを前記第２の記憶手段に記憶し、前記画像処理後のデータを前記第１の記憶手段に記憶する第１のモードで前記印刷ジョブの処理を行う場合の第１の処理時間と、前記画像処理に必要なワークデータを前記第１の記憶手段に記憶し、前記画像処理後のデータを前記第２の記憶手段に記憶する第２のモードで前記印刷ジョブの処理を行う場合の第２の処理時間をそれぞれ予測する予測手段、
前記予測手段が予測した前記第１の処理時間と前記第２の処理時間とを比較し、処理時間の短いモードを選択して前記印刷ジョブの処理を行うように制御する制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ等の画像形成装置、画像形成装置の制御方法、及び、プログラムに関する。
【背景技術】
【０００２】
プリンタ等の画像形成装置は、パーソナルコンピュータ（以下、ＰＣ）から受信した印刷情報（以下、印刷ジョブと呼ぶ）に基づいて、画像処理を施し、用紙等の記録媒体に画像を印刷する。この際、画像形成装置は、内蔵するＲＡＭを使用して、画像処理および印刷処理を行う。
【０００３】
しかし、ＰＣから容量の大きい印刷ジョブが送られてくると、画像形成装置の内蔵ＲＡＭの空き容量が不足し、印刷できない（印刷エラー）場合がある。
このような画像形成装置における内蔵ＲＡＭの容量不足による印刷エラーを回避するため、印刷解像度を下げることでＲＡＭの使用量を減らす提案もされているが、この場合、高品質な印刷出力が得られない。
【０００４】
また、外部メモリを接続し、外部メモリの領域を印刷ジョブ処理に使用可能な領域に設定することで、上記印刷エラーを回避する技術が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２９６７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記従来の技術では、接続した外部メモリを出力データ用の領域として使用するため、プリンタエンジンへのデータ転送は、内蔵ＲＡＭ経由のデータ転送を必要とする。
【０００７】
したがって、プリンタエンジンの印刷可能速度を保証できないため、印刷速度が低下し、印刷時間が長くなるという課題があった。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、内蔵ＲＡＭの容量不足時に印刷エラーを回避し、且つ、印刷速度が低下して印刷時間が長くなってしまうことを防止する仕組みを提供することである。
【課題を解決するための手段】
【０００８】
本発明は、第１の記憶手段と、前記第１の記憶手段よりデータ転送速度の遅い第２の記憶手段と、入力される印刷ジョブに従う画像処理を行う画像処理手段と、前記画像処理手段により画像処理されたデータの印刷処理を行う印刷手段と、前記画像処理に必要なワークデータを前記第２の記憶手段に記憶し、前記画像処理後のデータを前記第１の記憶手段に記憶する第１のモードで前記印刷ジョブの処理を行う場合の第１の処理時間と、前記画像処理に必要なワークデータを前記第１の記憶手段に記憶し、前記画像処理後のデータを前記第２の記憶手段に記憶する第２のモードで前記印刷ジョブの処理を行う場合の第２の処理時間をそれぞれ予測する予測手段と、前記予測手段が予測した前記第１の処理時間と前記第２の処理時間とを比較し、処理時間の短いモードを選択して前記印刷ジョブの処理を行うように制御する制御手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、内蔵ＲＡＭの容量不足時に印刷エラーを回避し、且つ、印刷速度が低下して印刷時間が長くなってしまうことを防止することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例１における画像形成装置の構成を示す図である。
【図２】実施例１における画像形成装置１００の動作を示すフローチャートである。
【図３】図２のＳ３１２に示したＭＯＤＥ−Ａでの印刷動作を示すフローチャートである。
【図４】図２のＳ３１５に示したＭＯＤＥ−Ｂでの印刷動作を示すフローチャートである。
【図５】図２のＳ３０８に示した印刷ジョブ処理時間予測動作を示すフローチャートである。
【図６】本発明の実施例１における印刷ジョブ処理時間の算出値の一例を示す図である。
【図７】本発明の実施例１における印刷ジョブ処理時間の算出値の一例を示す図である。
【図８】本発明の実施例２における画像形成装置１００の構成を示す図である。
【図９】実施例２における画像形成装置１００の動作を示すフローチャートである。
【図１０】図９のＳ１２０６に示した印刷ジョブ処理時間予測動作を示すフローチャートである。
【図１１】本発明の実施例２における印刷ジョブ処理時間の算出値の一例を示す図である。
【図１２】本発明の実施例２における印刷ジョブ処理時間の算出値の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１２】
図１は、本発明の実施例１における画像形成装置の構成を示す図である。
図１において、１００は、画像形成装置である。２００は、ネットワークを介して画像形成装置１００と接続されるパーソナルコンピュータ（ＰＣ）である。１０００は、画像形成装置全体を制御するコントローラである。１１００は、コントローラ１０００の制御部であるＡＳＩＣ(Application Specific Integrated Circuit)である。
【００１３】
ＡＳＩＣ１１００において、１１１０は、コントローラ１０００各部の制御を行うＣＰＵである。１１２０は、ＵＳＢメモリやＳＤカードなどの外部メモリを接続するための外部メモリＩ／Ｆである。１１３０は、ＰＣからの印刷ジョブを受信するネットワークＩ／Ｆである。１１４０は、ＲＡＭとのデータ通信を行うＲＡＭ Ｉ／Ｆである。
【００１４】
１１５０は、ＰＣから印刷ジョブに画像処理を施す画像処理部である。１１６０は、ユーザインターフェース（以下、ＵＩ）であるパネルとの通信を行パネルＩ／Ｆである。１１７０は、プリンタエンジンとのデータ転送および制御通信を行うプリンタＩ／Ｆである。１１８０は、ＲＯＭとのデータ通信を行うＲＯＭ Ｉ／Ｆである。
【００１５】
１２００は第１の記憶部としてのＲＡＭで、制御プログラムの実行領域や画像処理用のワークデータ用領域、および出力データ格納用領域として利用される。１３００は、制御プログラムが格納されるＲＯＭである。１４００は、ＵＩであるパネルである。パネル１４００は、各種メッセージやソフトキーを表示するタッチパネル付きの表示部や、ハードキーを有する。１５００は、印刷を行うプリンタエンジンである。１６００は第２の記憶部としての外部メモリで、ＵＳＢメモリやＳＤカードなどのメモリデバイスである。外部メモリ１６００は、画像形成装置１００に着脱可能に外部接続される。
【００１６】
＜全体動作＞
次に、図２を用いて、画像形成装置１００の動作を説明する。
図２は、実施例１における画像形成装置１００の動作を示すフローチャートである。なお、このフローチャートで示す動作手順は、コントローラ１０００のＲＯＭ１３００に格納もしくはＲＡＭ１２００に展開されたプログラムに沿ってＣＰＵ１１１０が実行する。
【００１７】
画像形成装置１００のＣＰＵ１１１０は、ＰＣ２００から印刷ジョブを受信すると（Ｓ３０１）、印刷ジョブの内容から必要なＲＡＭ容量を検知する（Ｓ３０２）。必要なＲＡＭ容量の検知は、印刷ジョブが、図形や写真などのイメージデータがあるか、何ページであるか、両面印刷であるか、２ｉｎ１印刷であるか、複数部印刷であるか、などの情報を元に行う。
【００１８】
そして、ＣＰＵ１１１０は、必要ＲＡＭ容量に対して内蔵ＲＡＭ容量（ＲＡＭ１２００の空き容量）が不足しているか否かを判断する（Ｓ３０３）。
上記Ｓ３０３において、必要ＲＡＭ容量に対して内蔵ＲＡＭ容量が不足していると判定した場合（Ｓ３０３でＹｅｓ）、ＣＰＵ１１１０は、ステップＳ３０４に処理を進める。
ステップＳ３０４では、ＣＰＵ１１１０は、必要ＲＡＭ容量に対して内蔵ＲＡＭ容量が不足している旨を通知するメッセージと、外部メモリの有無のＵＩ入力と外部メモリの接続（装着）を促す画面をパネル１４００に表示する。
【００１９】
次に、ＣＰＵ１１１０は、ユーザからのＵＩ入力によって外部メモリの有無を判断する（Ｓ３０５）。
そして、上記Ｓ３０５において、ユーザが接続可能な外部メモリを持っていると判断した場合、ＣＰＵ１１１０は、外部メモリ１６００の接続（装着）を確認する（Ｓ３０６）。
【００２０】
そして、上記Ｓ３０６において、外部メモリ１６００が接続されたと判断した場合（Ｓ３０６でＹｅｓ）、ＣＰＵ１１１０は、接続された外部メモリ１６００の使用可能容量を検知する（Ｓ３０７）。
【００２１】
次に、ＣＰＵ１１１０は、内蔵ＲＡＭ１２００の空き容量と上記Ｓ３０７で検知した接続された外部メモリ１６００の使用可能容量から、印刷ジョブ処理時間予測を行う（Ｓ３０８）。なお、印刷ジョブ処理時間予測処理の詳細は図５を用いて後述する。
【００２２】
ここで、画像形成装置１００は、印刷モードとして、ＭＯＤＥ−Ａ（第１のモード）とＭＯＤＥ−Ｂ（第２のモード）で、印刷ジョブの処理が可能である。上記Ｓ３０８の印刷ジョブ処理時間予測では、ＣＰＵ１１１０は、ＭＯＤＥ−Ａでの印刷ジョブの処理時間（第１の処理時間）とＭＯＤＥ−Ｂでの印刷ジョブの処理時間（第２の処理時間）をそれぞれ予測する。
【００２３】
ＭＯＤＥ−Ａとは、以下の（１）、（２）のようにデータ領域を使用する印刷モードである。
（１）内蔵ＲＡＭ１２００を出力データ（画像処理後のデータ）格納用に使用する。
（２）外部メモリ１６００を画像処理に必要なデータ（以下ワークデータ）用に使用する。
一方、ＭＯＤＥ−Ｂとは、以下の（３）、（４）のようにデータ領域を使用する印刷モードである。
（３）内蔵ＲＡＭ１２００をワークデータ用に使用する。
（４）外部メモリ１６００を出力データ用に使用する。
【００２４】
次に、ＣＰＵ１１１０は、上記Ｓ３０８の印刷ジョブ処理時間予測の結果から、ＭＯＤＥ−Ａの処理時間とＭＯＤＥ−Ｂの処理時間とを比較し、いずれの処理時間が短いか判断する（Ｓ３０９）。
そして、上記Ｓ３０９において、ＭＯＤＥ−Ａの処理時間のほうが短と判断した場合、ＣＰＵ１１１０は、ＭＯＤＥ−Ａを選択し、内蔵ＲＡＭ１２００から外部メモリ１６００にワークデータを転送する（移動させる）（Ｓ３１０）。
【００２５】
次に、ＣＰＵ１１１０は、外部メモリ１６００をワークデータ用、内蔵ＲＡＭ１２００を出力データ格納用として使用するように設定し（Ｓ３１１）、ＭＯＤＥ−Ａで印刷処理を行う（Ｓ３１２）。そして、ステップＳ３１６に処理を進める。なお、ＭＯＤＥ−Ａでの印刷処理の詳細は図３を用いて後述する。
【００２６】
一方、上記Ｓ３０９において、ＭＯＤＥ−Ｂの処理時間のほうが短と判断した場合、ＣＰＵ１１１０は、ＭＯＤＥ−Ｂを選択し、ワークデータの転送を行わず、内蔵ＲＡＭ１２００に出力データ転送用のバッファ領域を確保する。（Ｓ３１３）。
【００２７】
次に、ＣＰＵ１１１０は、外部メモリ１６００を出力データ格納用、内蔵ＲＡＭ１２００をワークデータ用として使用するように設定し（Ｓ３１４）、ＭＯＤＥ−Ｂで印刷処理を行う（Ｓ３１５）。そして、ステップＳ３１６に処理を進める。なお、ＭＯＤＥ−Ｂでの印刷処理の詳細は図４を用いて後述する。
【００２８】
ステップＳ３１６では、ＣＰＵ１１１０は、印刷を行った印刷モードがＭＯＤＥ−Ａか否かを判定する（Ｓ３１６）。
そして、印刷モードがＭＯＤＥ−Ａと判断した場合（Ｓ３１６でＹｅｓ）、ＣＰＵ１１１０は、ワークデータを外部メモリ１６００から内蔵ＲＡＭ１２００へ移動する（Ｓ３１７）。
【００２９】
次に、ＣＰＵ１１１０は、接続された外部メモリ１６００が取り外し可能である旨をパネル１４００に表示し（Ｓ３１８）、本フローチャートの処理を終了する。
一方、印刷モードがＭＯＤＥ−Ａでない判断した場合（Ｓ３１６でＮｏ）、ＣＰＵ１１１０は、そのまま本フローチャートの処理を終了する。
また、上記Ｓ３０５において、ユーザが接続可能な外部メモリを持っていないと判断した場合（Ｓ３０５でＮｏ）、ＣＰＵ１１１０は、印刷エラーである旨をパネル１４００に表示し（Ｓ３１６）、本フローチャートの処理を終了する。
【００３０】
また、上記Ｓ３０３において、必要ＲＡＭ容量に対して内蔵ＲＡＭ容量が不足していないと判定した場合（Ｓ３０３でＮｏ）、ＣＰＵ１１１０は、ステップＳ３１５に処理を進め、ＭＯＤＥ−Ｂで印刷処理を行う。以下、同様なので説明は割愛する。
【００３１】
＜ＭＯＤＥ−Ａ印刷動作＞
ここで、ＭＯＤＥ−Ａでの印刷処理について、図３を用いて詳細に説明する。
図３は、図２のＳ３１２に示したＭＯＤＥ−Ａでの印刷動作を示すフローチャートである。なお、このフローチャートで示す動作手順は、コントローラ１０００のＲＯＭ１３００に格納もしくはＲＡＭ１２００に展開されたプログラムに沿ってＣＰＵ１１１０が実行する。
【００３２】
まず、ＣＰＵ１１１０は、ワークデータを外部メモリ１６００から画像処理部１１５０に転送する（Ｓ４０１）。
次に、ＣＰＵ１１１０は、画像処理部１１５０に画像処理を実行させる（Ｓ４０２）。
次に、ＣＰＵ１１１０は、上記Ｓ４０２で画像処理を施されたデータが出力データであるか否か判断する（Ｓ４０３）。
そして、上記Ｓ４０３において、画像処理を施されたデータが出力データでないと判断した場合（Ｓ４０３でＮｏ）、すなわち、まだ印刷前の画像処理が必要なデータである場合、ＣＰＵ１１１０は、ステップＳ４０４に処理を進める。
【００３３】
ステップＳ４０４では、ＣＰＵ１１１０は、ワークデータを画像処理部１１５０から外部メモリ１６００に転送し、ステップＳ４０１に処理を戻す。
一方、上記Ｓ４０３において、画像処理を施されたデータが出力データであると判断した場合（Ｓ４０３でＹｅｓ）、ＣＰＵ１１１０は、出力データを内蔵ＲＡＭ１２００に格納する（Ｓ４０５）。
【００３４】
次に、ＣＰＵ１１１０は、プリンタＩ／Ｆ１１７０を介して、出力データを内蔵ＲＡＭ１２００からプリンタエンジン１５００に出力して印刷させる（Ｓ４０６）。
次に、ＣＰＵ１１１０は、出力データが最終データであるか判断し（Ｓ４０７）、最終データでないと判断した場合（Ｓ４０７でＮｏ）、すなわち、まだ出力データがある場合、Ｓ４０６へ処理を戻す。そして、出力データの内蔵ＲＡＭ１２００からプリンタエンジン１５００への出力を繰り返す（Ｓ４０６）。
【００３５】
一方、上記Ｓ４０７において、出力データが最終データであると判断した場合（Ｓ４０７でＹｅｓ）、本フローチャートの処理を終了し、図２のフローチャートへ処理を戻す。
なお、ＭＯＤＥ−Ａの場合、内蔵ＲＡＭ１２００には、制御プログラム用領域と出力データ格納用領域がマッピングされる。また、外部メモリ１６００には、ワークデータ用領域がマッピングされる。
【００３６】
＜ＭＯＤＥ−Ｂ印刷動作＞
次に、ＭＯＤＥ−Ｂでの印刷処理について、図４を用いて詳細に説明する。
図４は、図２のＳ３１５に示したＭＯＤＥ−Ｂでの印刷動作を示すフローチャートである。なお、このフローチャートで示す動作手順は、コントローラ１０００のＲＯＭ１３００に格納もしくはＲＡＭ１２００に展開されたプログラムに沿ってＣＰＵ１１１０が実行する。
【００３７】
まず、ＣＰＵ１１１０は、画像処理部１１５０に、内蔵ＲＡＭ１２００に格納されるワークデータの画像処理を実行させる（Ｓ６０１）。
次に、ＣＰＵ１１１０は、上記Ｓ６０１で画像処理を施されたデータが出力データであるか否か判断する（Ｓ６０２）。
そして、上記Ｓ６０２において、画像処理を施されたデータが出力データでないと判断した場合（Ｓ６０２でＮｏ）、ＣＰＵ１１１０は、ステップＳ６０１に処理を戻し、再度、画像処理を実行させる。
【００３８】
一方、上記Ｓ６０２において、画像処理を施されたデータが出力データであると判断した場合（Ｓ６０２でＹｅｓ）、ＣＰＵ１１１０は、出力データを外部メモリ１６００に格納する（Ｓ６０３）。
【００３９】
次に、ＣＰＵ１１１０は、外部メモリ１６００から内蔵ＲＡＭ１２００のバッファ領域に出力データを転送する（Ｓ６０４）。
次に、ＣＰＵ１１１０は、プリンタＩ／Ｆ１１７０を介して、出力データを内蔵ＲＡＭ１２００のバッファ領域からプリンタエンジン１５００に出力して印刷させる（Ｓ６０５）。
【００４０】
次に、ＣＰＵ１１１０は、出力データが最終データであるか判断し（Ｓ６０６）、最終データでないと判断した場合、すなわち、まだ出力データがある場合（Ｓ６０６でＮｏ）、Ｓ６０４に処理を戻す。そして、出力データの外部メモリ１６００から内蔵ＲＡＭ１２００のバッファ領域への転送およびプリンタエンジン１５００への出力を繰り返す（Ｓ６０４，Ｓ６０５）。
【００４１】
一方、上記Ｓ６０６において、出力データが最終データであると判断した場合（Ｓ６０６でＹｅｓ）、本フローチャートの処理を終了し、図２のフローチャートへ処理を戻す。
なお、ＭＯＤＥ−Ｂの場合、内蔵ＲＡＭ１２００には、制御プログラム用領域とワークデータ用領域及び出力データ用バッファ領域がマッピングされる。また、外部メモリ１６００には、出力データ格納用領域がマッピングされる。
【００４２】
＜印刷ジョブ処理時間予測＞
ここで、印刷ジョブ処理時間予測処理について、図５、図６、及び図７を用いて詳細に説明する。
【００４３】
図５は、図２のＳ３０８に示した印刷ジョブ処理時間予測動作を示すフローチャートである。なお、このフローチャートで示す動作手順は、コントローラ１０００のＲＯＭ１３００に格納もしくはＲＡＭ１２００に展開されたプログラムに沿ってＣＰＵ１１１０が実行する。
【００４４】
まず、ＣＰＵ１１１０は、図２のＳ３０１でＰＣ２００から受信した印刷ジョブを解析する（Ｓ８０１）。すなわち、ＣＰＵ１１１０は、印刷ジョブが、図形や写真などのイメージデータがあるか、何ページであるか、両面印刷であるか、２ｉｎ１印刷であるか、複数部印刷であるか、などの情報を得る。
【００４５】
次に、ＣＰＵ１１１０は、Ｓ８０２〜Ｓ８０４において、上記Ｓ８０１での印刷ジョブ解析結果からＭＯＤＥ−Ａでの各処理時間を算出する。
まず、ＣＰＵ１１１０は、上記Ｓ８０１での印刷ジョブ解析結果から、ＭＯＤＥ−Ａでの外部メモリ１６００へのワークデータ転送時間（ＴＡ１）を算出する（Ｓ８０２）。ＴＡ１は、印刷ジョブの解析結果から得られる、ワークデータ量と内蔵ＲＡＭ１２００から外部メモリ１６００へのデータ転送速度から算出される。
【００４６】
次に、ＣＰＵ１１１０は、上記Ｓ８０１での印刷ジョブ解析結果から、ＭＯＤＥ−Ａでの画像処理時間（ＴＡ２）を算出する（Ｓ８０３）。ＴＡ２は、印刷ジョブの解析結果から得られる、拡大縮小や回転などの画像処理に必要なデータ量と外部メモリ１６００と画像処理部１１５０間のデータ転送速度から算出される。
【００４７】
次に、ＣＰＵ１１１０は、上記Ｓ８０１での印刷ジョブ解析結果から、ＭＯＤＥ−Ａでの出力データ転送時間：ＴＡ３を算出する（Ｓ８０４）。ＴＡ３は、印刷ジョブの解析結果から得られる、出力データ量と内蔵ＲＡＭ１２００からプリンタエンジン１５００へのデータ転送速度から算出される。
【００４８】
続いて、ＣＰＵ１１１０は、Ｓ８０５〜Ｓ８０６において、上記Ｓ８０１での印刷ジョブ解析結果から、ＭＯＤＥ−Ｂでの各処理時間を算出する。なお、ＭＯＤＥ−Ｂの場合、外部メモリ１６００へのワークデータ転送時間：ＴＢ１＝０である。すなわち、ＭＯＤＥ−Ｂでは、ワークデータを外部メモリ１６００に転送しない。
【００４９】
まず、ＣＰＵ１１１０は、ＭＯＤＥ−Ａの場合と同様に、上記Ｓ８０１での印刷ジョブ解析結果から、ＭＯＤＥ−Ｂでの画像処理時間（ＴＢ２）を算出する（Ｓ８０５）。
次に、ＣＰＵ１１１０は、ＭＯＤＥ−Ａの場合と同様に、上記Ｓ８０１での印刷ジョブ解析結果から、ＭＯＤＥ−Ｂでの出力データ転送時間（ＴＢ３）を算出する（Ｓ８０６）。
【００５０】
最後に、ＣＰＵ１１１０は、上記Ｓ８０２〜Ｓ８０４で算出したＭＯＤＥ−Ａでの処理時間の合計、すなわちＴＡ１＋ＴＡ２＋ＴＡ３と、上記Ｓ８０５〜Ｓ８０６で算出したＭＯＤＥ−Ｂでの処理時間の合計、すなわちＴＢ２＋ＴＢ３を算出する（Ｓ８０７）。そして、図２のフローチャートへ処理を戻す。
【００５１】
図６、図７は、本発明の実施例１における印刷ジョブ処理時間の算出値の一例を示す図である。
図６は、片面大量ページの印刷ジョブの例であり、ＭＯＤＥ−Ａの処理時間合計がＭＯＤＥ−Ｂの処理時間合計より短くなる場合に対応する。
内蔵ＲＡＭ１２００から外部メモリ１６００にワークデータを転送する時間は、ＭＯＤＥ−Ａ（ＴＡ１）のみであり、ＭＯＤＥ−Ｂにおいては、ＴＢ１＝０である。
画像処理時間（ＴＡ２及びＴＢ２）は、ＭＯＤＥ−Ａの処理時間がＭＯＤＥ−Ｂの処理時間よりも長く予測される。ＭＯＤＥ−Ａの場合は、内蔵ＲＡＭ１２００を介して、画像処理部１１５０と外部メモリ１６００との間でデータ転送が行われる。これに対して、ＭＯＤＥ−Ｂの場合は、画像処理部１１５０と内蔵ＲＡＭ１２００の間でデータ転送が行われる。したがって、ＭＯＤＥ−Ａの処理時間がＭＯＤＥ−Ｂの処理時間より長く予測される。
【００５２】
出力データ転送時間（ＴＡ３及びＴＢ３）は、ＭＯＤＥ−Ａの処理時間がＭＯＤＥ−Ｂの処理時間よりも短く予測される。ＭＯＤＥ―Ａの場合は、内蔵ＲＡＭ１２００からプリンタＩ／Ｆ１１７０へ出力データ転送が行われる。これに対して、ＭＯＤＥ−Ｂの場合は、内蔵ＲＡＭ１２００を介して、外部メモリ１６００からプリンタＩ／Ｆ１１７０へ出力データ転送が行われる。したがって、ＭＯＤＥ−Ａの処理時間がＭＯＤＥ−Ａの処理時間より短く予測される。
【００５３】
図７は、両面少量ページの印刷ジョブの例であり、ＭＯＤＥ−Ｂの処理時間合計がＭＯＤＥ−Ａの処理時間合計より短くなる場合に対応する。
図６の場合と同様に、内蔵ＲＡＭ１２００から外部メモリ１６００にワークデータを転送する時間は、ＭＯＤＥ−Ａ（ＴＡ１）のみであり、ＭＯＤＥ−Ｂにおいては、ＴＢ１＝０である。
【００５４】
画像処理時間（ＴＡ２及びＴＢ２）は、図６と同様に、ＭＯＤＥ−Ａの処理時間がＭＯＤＥ−Ｂの処理時間よりも長く予測される。ただし、少量ページの処理であるため、ＭＯＤＥ−Ａ、ＭＯＤＥ−Ｂともに、図６の場合よりも処理時間自体は短くなる。
【００５５】
出力データ転送時間（ＴＡ３及びＴＢ３）は、ＭＯＤＥ−Ａの処理時間がＭＯＤＥ−Ｂの処理時間よりも短く予測される。ＭＯＤＥ―Ａの場合は、内蔵ＲＡＭ１２００からプリンタＩ／Ｆ１１７０へ出力データ転送が行われる。これに対して、ＭＯＤＥ−Ｂの場合は、内蔵ＲＡＭ１２００を介して、外部メモリ１６００からプリンタＩ／Ｆ１１７０へ出力データ転送が行われる。したがって、ＭＯＤＥ−Ａの処理時間がＭＯＤＥ−Ｂの処理時間より短く予測される。
【００５６】
ただし、少量ページの処理であるため、ＭＯＤＥ−Ａ、ＭＯＤＥ−Ｂともに、図６の場合よりも処理時間自体は短くなる。
以上、本実施例の画像形成装置は、内蔵ＲＡＭの容量不足時に、外部メモリを使用し、印刷ジョブに応じてメモリマッピングを変更する構成を有する。この構成により、印刷エラーを回避し、かつ印刷時間を短縮する（印刷速度が低下して印刷時間が長くなってしまうことを防止する）ことが可能になる。
【実施例２】
【００５７】
実施例２は、外部メモリＩ／Ｆに着脱可能に接続される外部メモリ１６００が、内蔵されるハードディスクドライブ(ＨＤＤ)となっている点で、実施例１と異なる。
また、実施例２は、印刷ジョブ処理時間処理時間予測に印刷ジョブの履歴を加味する点でも、実施例１と異なる。
以下、本実施例について説明する。
【００５８】
図８は、本発明の実施例２における画像形成装置１００の構成を示す図である。図１と同一のものには同一の符号を付してあり、説明は割愛する。
図８において、１１９０は、ハードディスクドライブ（ＨＤＤ）とのデータ通信を行うＨＤＤ Ｉ／Ｆである。１７００は、実施例２における第２の記憶部としてのＨＤＤで、画像形成装置１００に内蔵される。
図８において、図１と異なる点は、図１における外部メモリＩ／Ｆ１１２０がＨＤＤ Ｉ／Ｆ１１９０に替わっており、その先に接続される外部メモリ１６００がＨＤＤ１７００に替わっている点である。
【００５９】
＜全体動作＞
次に、図９を用いて、本発明の実施例２における動作を説明する。
図９は、実施例２における画像形成装置１００の動作を示すフローチャートである。なお、このフローチャートで示す動作手順は、コントローラ１０００のＲＯＭ１３００に格納もしくはＲＡＭ１２００に展開されたプログラムに沿ってＣＰＵ１１１０が実行する。
【００６０】
画像形成装置１００のＣＰＵ１１１０は、ＰＣ２００から印刷ジョブを受信すると（Ｓ１２０１）、印刷ジョブの内容から必要なＲＡＭ容量を検知する（Ｓ１２０２）。必要なＲＡＭ容量の検知は、印刷ジョブが、図形や写真などのイメージデータがあるか、何ページであるか、両面印刷であるか、２ｉｎ１印刷であるか、複数部印刷であるか、などの情報を元に行う。
【００６１】
そして、ＣＰＵ１１１０は、必要ＲＡＭ容量に対して内蔵ＲＡＭ容量（ＲＡＭ１２００の空き容量）が不足しているか否かを判断する（Ｓ１２０３）。
上記Ｓ１２０３において、必要ＲＡＭ容量に対して内蔵ＲＡＭ容量が不足していると判定した場合（Ｓ１２０３でＹｅｓ）、ＣＰＵ１１１０は、ステップＳ１２０４に処理を進める。
【００６２】
ステップＳ１２０４では、ＨＤＤ１７００の使用可能容量を検知する。
次に、ＣＰＵ１１１０は、上記Ｓ１２０１で受信した印刷ジョブに対して、前記内蔵ＲＡＭ容量とＨＤＤ１７００の使用可能容量の合計が十分であるか否かを判断する（Ｓ１２０５）。そして、上記Ｓ１２０５において、印刷ジョブに対して容量の合計が十分であると判断した場合（Ｓ１２０５でＹｅｓ）、ＣＰＵ１１１０は、印刷ジョブ処理時間予測を行う（Ｓ１２０６）。なお、印刷モードとしてのＭＯＤＥ−Ａ及びＭＯＤＥ−Ｂについては、実施例１と同様であるので説明は割愛する。また、印刷ジョブ処理時間予測の詳細は図１０を用いて後述する。
【００６３】
次に、ＣＰＵ１１１０は、上記Ｓ１２０６の印刷ジョブ処理時間予測の結果から、ＭＯＤＥ−Ａの処理時間予測とＭＯＤＥ−Ｂの処理時間予測のいずれが短いか判断する（Ｓ１２０７）。
【００６４】
そして、上記Ｓ１２０７において、ＭＯＤＥ−Ａの処理時間予測のほうが短と判断した場合、ＣＰＵ１１１０は、内蔵ＲＡＭ１２００からＨＤＤ１７００にワークデータを転送する（移動させる）（Ｓ１２０８）。
【００６５】
次に、ＣＰＵ１１１０は、ＨＤＤ１７００をワークデータ用、内蔵ＲＡＭ１２００を出力データ格納用として使用するように設定し（Ｓ１２０９）、ＭＯＤＥ−Ａで印刷処理を行う（Ｓ１２１０）。そして、ステップＳ１２１４に処理を進める。なお、上記Ｓ１２１０のＭＯＤＥ−Ａでの印刷処理では、図３に示した実施例１のＭＯＤＥ−Ａでの印刷処理における「外部メモリ１６００」を「ＨＤＤ１７００」に置き換えたものであるので説明は割愛する。
【００６６】
一方、上記Ｓ１２０７において、ＭＯＤＥ−Ｂの処理時間予測のほうが短と判断した場合、ＣＰＵ１１１０は、ワークデータの転送を行わず、内蔵ＲＡＭ１２００に出力データ転送用のバッファ領域を確保する。（Ｓ１２１１）。
【００６７】
次に、ＣＰＵ１１１０は、ＨＤＤ１７００を出力データ格納用、内蔵ＲＡＭ１２００をワークデータ用として使用するように設定し（Ｓ１２１２）、ＭＯＤＥ−Ｂで印刷処理を行う（Ｓ１２１３）。そして、ステップＳ１２１４に処理を進める。なお、上記Ｓ１２１３のＭＯＤＥ−Ｂでの印刷処理では、図４に示した実施例１のＭＯＤＥ−Ｂでの印刷処理における「外部メモリ１６００」を「ＨＤＤ１７００」に置き換えたものであるので説明は割愛する。
【００６８】
ステップＳ１２１４では、ＣＰＵ１１１０は、印刷した印刷モードを履歴としてＨＤＤ１７００に記憶し（Ｓ１２１４）、本フローチャートの処理を終了する。
また、上記Ｓ１２０１で受信した印刷ジョブに対して、前記内蔵ＲＡＭ容量とＨＤＤ１７００の使用可能容量の合計が十分でないと判断した場合（Ｓ１２０５でＮｏ）、ＣＰＵ１１１０は、ステップＳ１２１５に処理を進める。
【００６９】
ステップＳ１２１５では、ＣＰＵ１１１０は、印刷エラーである旨をパネル１４００に表示し、本フローチャートの処理を終了する。
＜印刷ジョブ処理時間予測＞
ここで、印刷ジョブ処理時間予測について、図１０、図１１、及び図１２を用いて詳細に説明する。
【００７０】
図１０は、図９のＳ１２０６に示した印刷ジョブ処理時間予測動作を示すフローチャートである。なお、このフローチャートで示す動作手順は、コントローラ１０００のＲＯＭ１３００に格納もしくはＲＡＭ１２００に展開されたプログラムに沿ってＣＰＵ１１１０が実行する。
【００７１】
まず、ＣＰＵ１１１０は、図９のＳ１２０１でＰＣ２００から受信した印刷ジョブを解析する（Ｓ１３０１）。すなわち、ＣＰＵ１１１０は、印刷ジョブが、図形や写真などのイメージデータがあるか、何ページであるか、両面印刷であるか、２ｉｎ１印刷であるか、複数部印刷であるか、などの情報を得る。
【００７２】
次に、ＣＰＵ１１１０は、上記印刷ジョブの前に処理された印刷ジョブにおける印刷モード（ＭＯＤＥ−ＡおよびＭＯＤＥ−Ｂ）の履歴を検知する（Ｓ１３０２）。
次に、ＣＰＵ１１１０は、上記Ｓ１３０２で検知し前印刷ジョブの印刷モードがＭＯＤＥ−Ａであるか否かを判定する（Ｓ１３０３）。
そして、上記Ｓ１３０２で検知し前印刷ジョブの印刷モードがＭＯＤＥ−Ａであると判断した場合（Ｓ１３０３でＹｅｓ）、ＣＰＵ１１１０は、ステップＳ１３０４に処理を進める。
【００７３】
ステップＳ１３０４では、ＣＰＵ１１１０は、ＭＯＤＥ−ＡからＭＯＤＥ−ＢへのＭＯＤＥ変更時間（ＴＢＭ）を算出する。なお、ＴＢＭは、印刷ジョブの解析結果から得られる、ワークデータ量とＨＤＤ１７００から内蔵ＲＡＭ１２００へのデータ転送速度から算出される。また、ＭＯＤＥ−ＡへのＭＯＤＥ変更時間（ＴＡＭ）＝０である。
【００７４】
一方、上記Ｓ１３０２で検知し前印刷ジョブの印刷モードがＭＯＤＥ−Ａでないと判断した場合（Ｓ１３０３でＮｏ）、ＣＰＵ１１１０は、ステップＳ１３０５に処理を進める。
【００７５】
ステップＳ１３０５では、ＣＰＵ１１１０は、ＭＯＤＥ−ＢからＭＯＤＥ−ＡへのＭＯＤＥ変更時間（ＴＡＭ）を算出する（Ｓ１３０５）。なお、ＴＡＭは、印刷ジョブの解析結果から得られる、ワークデータ量と内蔵ＲＡＭ１２００からＨＤＤ１７００へのデータ転送速度から算出される。また、ＭＯＤＥ−ＢへのＭＯＤＥ変更時間（ＴＢＭ）＝０である。
【００７６】
次に、画像形成装置１００は、Ｓ１３０６〜Ｓ１３０７において、上記Ｓ１３０１での印刷ジョブ解析結果からＭＯＤＥ−Ａでの各処理時間を算出する。
まず、ＣＰＵ１１１０は、実施例１と同様に、上記Ｓ１３０１での印刷ジョブ解析結果から、ＭＯＤＥ−Ａでの画像処理時間（ＴＡ２）を算出する（Ｓ１３０６）。
次に、ＣＰＵ１１１０は、実施例１と同様に、上記Ｓ１３０１での印刷ジョブ解析結果から、出力データ転送時間（ＴＡ３）を算出する（Ｓ１３０７）。
続いて、ＣＰＵ１１１０は、実施例１と同様に、Ｓ１３０８〜Ｓ１３０９において、上記Ｓ１３０１での印刷ジョブ解析結果から、ＭＯＤＥ−Ｂでの各処理時間を算出する。
まず、ＣＰＵ１１１０は、実施例１と同様に、上記Ｓ１３０１での印刷ジョブ解析結果から、画像処理時間（ＴＢ２）を算出する（Ｓ１３０８）。
また、ＣＰＵ１１１０は、実施例１と同様に、上記Ｓ１３０１での印刷ジョブ解析結果から、出力データ転送時間（ＴＢ３）を算出する（Ｓ１３０９）。
最後に、ＣＰＵ１１１０は、ＭＯＤＥ−Ａでの処理時間の合計、すなわちＴＡＭ＋ＴＡ２＋ＴＡ３と、ＭＯＤＥ−Ｂでの処理時間の合計、すなわちＴＢＭ＋ＴＢ２＋ＴＢ３を算出する（Ｓ１３１０）。そして、本フローチャートの処理を終了して、図９のフローチャートに処理を戻す。
【００７７】
図１１、図１２は、本発明の実施例２における印刷ジョブ処理時間の算出値の一例を示す図である。
図１１は、現在の印刷モード（前印刷ジョブの印刷モード）がＭＯＤＥ−Ａの場合に対応する。この場合、ＭＯＤＥ変更時間は、ＭＯＤＥ−Ｂに変更する場合のＴＢＭのみとなる。すなわち、現在のモードがＭＯＤＥ−Ａの場合は、ＭＯＤＥ−ＡへのＭＯＤＥ変更時間（ＴＡＭ）＝０である。
【００７８】
図１２は、現在のモード（前印刷ジョブの印刷モード）がＭＯＤＥ−Ｂの場合に対応する。この場合、ＭＯＤＥ変更時間は、ＭＯＤＥ−Ａに変更する場合のＴＡＭのみとなる。すなわち、現在のモードがＭＯＤＥ−Ｂの場合は、ＭＯＤＥ−ＢへのＭＯＤＥ変更時間（ＴＢＭ）＝０である。
【００７９】
ここで、図１１と図１２の差は、ＭＯＤＥ変更時間（ＴＡＭ又はＴＢＭ）だけである。
すなわち、現在の印刷ジョブ処理モードによって、次に受信した印刷ジョブの処理時間予測が異なることを示している。
また、図１１及び図１２においては、ＭＯＤＥ変更時間（ＴＡＭ又はＴＢＭ）を加味したモードでは、印刷ジョブ処理時間が長くなっている。しかし、印刷ジョブによっては、ＭＯＤＥ変更時間（ＴＡＭ又はＴＢＭ）を加味したモードのほうが、印刷ジョブの処理時間予測が短くなる場合もある。
【００８０】
以上示したように、本実施例の画像形成装置は、内蔵ＲＡＭの容量不足時に、ＨＤＤを使用し、さらに印刷ジョブの履歴からメモリマッピング変更時間を加味する構成を有する。この構成により、連続印刷ジョブでの印刷エラーを回避し、かつ印刷時間を短縮する（印刷速度が低下して印刷時間が長くなってしまうことを防止する）ことが可能になる。
【００８１】
なお、画像形成装置１００に内蔵されるＨＤＤ１７００を、実施例１に示した外部メモリ１６００のように、画像形成装置１００に着脱可能に外部接続される構成にしてもよい。
【００８２】
また、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００８３】
以下、本発明に係る情報処理装置で読み取り可能な（コンピュータ読取り可能な）各種データ処理プログラムを格納する記憶媒体（記録媒体）について説明する。
本発明の各工程（上述した各機能）は、ネットワーク又は各種記憶媒体を介して取得したソフトウェア（プログラム）をパーソナルコンピュータ等の処理装置（ＣＰＵ，プロセッサ）にて実行することでも実現できる。
【００８４】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システム或いは装置に読み出すことによって、そのシステム或いは装置が、本発明の効果を享受することが可能となる。
【００８５】
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【００８６】
本発明の様々な例と実施例を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
なお、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
本発明によれば、内蔵ＲＡＭの容量不足時に印刷エラーを回避し、且つ、印刷時間を短縮することができる。
【符号の説明】
【００８７】
１００    画像形成装置
２００    パーソナルコンピュータ（ＰＣ）
１０００    コントローラ
１１００    ＡＳＩＣ
１１１０    ＣＰＵ
１１２０    外部メモリＩ／Ｆ
１１４０    ＲＡＭ Ｉ／Ｆ
１１５０    画像処理部
１２００    ＲＡＭ
１５００    プリンタエンジン
１６００    外部メモリ
【図１】
2011073164.tif 000003
【図２】
2011073164.tif 000004
【図３】
2011073164.tif 000005
【図４】
2011073164.tif 000006
【図５】
2011073164.tif 000007
【図６】
2011073164.tif 000008
【図７】
2011073164.tif 000009
【図８】
2011073164.tif 000010
【図９】
2011073164.tif 000011
【図１０】
2011073164.tif 000012
【図１１】
2011073164.tif 000013
【図１２】
2011073164.tif 000014