次に本発明を実施するための最良の形態について図面を参照して説明する。
<システム構成の説明>
〔第1実施形態〕
図1は、本発明の実施形態を示すジョブ処理装置の一例であるMFPの構成を説明するブロック図である。本実施形態は、ジョブ処理装置の一例として、スキャナ機能と、プリンタ機能、ファクシミリ機能、データ通信機能を備えるMFPの例を示すが、いずれかの機能からなる装置であっても本発明を適用可能である。
図1において、MFP200は、CPU201、ROM202を備える。CPU201は、ROM202に格納されたプログラムを実行することによってMFP200を統括的に制御する。
ROM202は、不揮発性のメモリであり、MFP200を起動するためのブートプログラム111(図2に示す)を格納する。また、起動後、MFP200の制御を行うための制御プログラムなどの各種プログラムを格納する。それらは、CPU201によってRAM203に読み出されて実行される。
RAM203は、揮発性のメモリであり、CPU201のワークエリアとして機能する。
NIC204は、LAN214を介して外部の装置とデータを通信するための制御を行うインタフェースである。
PANELC(外部入力コントローラ)205は、MFP200に備えられた各種ハードボタンあるいはタッチパネルを備えるPANEL(操作パネル)206からの入力を制御する。
ディスプレイコントローラ(DOSPC)207は、例えば液晶ディスプレイあるいはプロジェクタなどによって構成される表示デバイス(DISPLAY)208への表示を制御する。
なお、PANEL206とDISPLAY208は一体型に構成されている。ユーザはDISPLAY208に表示された操作キーに該当するPANEL206上の位置を押すことによって、MFP200に対する操作指示を行う。CPU200は、PANEL206上のユーザによって押された位置を検出し、検出された位置に対応するコマンドを実行する。なお、本実施形態では、PANEL206及びDISPLAY208を合わせて、操作部と呼ぶ。すなわち、MFP200は、操作部を介してユーザからジョブの設定を受付可能であり、設定された内容を表示可能であるといえる。表示デバイス(DISPLAY)208を複数個保持していてもよい。
209はディスクコントローラ(DKC)で、HDD210(ストレージ装置)とのデータ入出力を制御する。210は大容量記憶装置として機能するHDDで、本実施形態における制御プログラム112(図2に示す)を格納する。HDD209は、MFP200の起動時にCPU201からのコマンドによってスピンアップを開始し、スピンアップが完了したら、その旨をCPU201に通知する。CPU201は、HDD209のスピンアップが完了した旨の通知を受けると、HDD209から制御プログラムを読み出して実行する。
なお、この制御プログラム112はその容量が大きいためある程度大規模なシステムになった場合、HDD210に記憶する場合が多い。また、ブートプログラム111は、HDD210が故障した場合に、新しいHDD(ストレージ装置)を装着してシステムを復旧させる必要があるため、故障しないシリコン系の不揮発性メモリデバイスであるブート用のROM202に記録してある場合が多い。
212はプリンタエンジン(PRINTER)であり、図示しないエンジン部材を備え、RAM203に展開されたイメージデータを印刷する。なお、プリンタエンジン212内に設けるエンジンコントローラが中間データ等を解析して、最終的なイメージデータに展開処理を行う場合もある。
213はスキャナエンジン(SCANNER)で、原稿台に載置された原稿を読み取る。なお、プリンタエンジン212やスキャナエンジン213などのエンジンは、シリアルなどでコントローラに接続され、通信を行っている。
211は不揮発性のメモリ(NVRAM)で、主に起動初期値やカウンタ値、MFP200の機器状態を示す管理情報を保存する管理情報保存機能を担っている。
図2は、本実施形態を示す画像処理装置の起動処理を示すタイミングチャートである。なお、T101、T104、T106はタイミングを示す。
図2において、電源が投入された(T101)後、不揮発性メモリ(例えば図1に示したROM202)に保存されたブートプログラム111がCPU201により実行され、MFP200を起動するための処理が行われる。また、CPU201はブートプログラム111を実行することによって、テキストベースの簡易的な操作画面(ジョブ設定画面)である第1の簡易操作画面121をPANEL206に表示させる。第1の簡易操作画面の表示例を図7に示す。この状態で、ユーザは、第1の簡易操作画面121やPANEL206上に設けられるボタン等を操作することで、MFP200に対する操作ができる。例えば、MFP200の起動完了後に自動的にCPU201によって実行される予約ジョブの設定をすることができる。
第1の簡易操作画面121を表示している間(タイミングT101〜タイミングT104の間)、CPU201は、ブートプログラム111の実行により、ストレージ準備を行う。例えば、CPU201は、制御プログラム112が格納されたHDD210のスピンアップ(S102)を行う。そして、HDD210のスピンアップが完了すると、CPU201は、制御プログラムをHDD210からRAM203にロード(S103)する。
そして、制御プログラム112をロードする処理がタイミングT104で終了すると、CPU201は、RAM203にロードされた制御プログラム112を実行する。CPU201は、制御プログラム112を実行することによって、MFP200がどのような構成を有するかを示す構成情報の取得や、MFP200を起動するための各モジュールの初期化(S105)などを行う。具体的に、CPU201は、バス215を介して自装置が備える構成を確認する。例えば、CPU201は、バス215を介してプリンタ212に信号を送信し、プリンタ212からの返信があった場合に、自装置がプリンタ212を備えていると判断し、その情報をHDD210に保存する。スキャナ213や、不図示のステイプラ、製本ユニットなどの後処理装置があるか否かも同様に確認する。
また、CPU201は制御プログラム112を実行することによって、第1の簡易操作画面121と同じテキストベースの第2の簡易操作画面122(ジョブ設定画面)を操作部に表示させる。第2の簡易操作画面122の表示例を図7に示す。なお、第1の簡易操作画面121と第2の簡易操作画面122は表示内容は同じであり、CPU201によってブートプログラム111の実行によって表示されるか、制御プログラム112の実行によって表示されるかが異なる。また、第1の簡易操作画面121で設定された内容は、第2の簡易操作画面122に引き継がれる。具体的に、CPU201は、第1の簡易操作画面121を介してユーザから受付けた設定をRAM203に保存し、T104のタイミングで、RAM203に保存された設定に基づいて第2の簡易操作画面122を表示する。
このように、第1の簡易操作画面121を介してなされた設定が引き継がれるため、ユーザは、第2の簡易操作画面122や操作部に設けられるボタン等を操作することで引き続き予約ジョブの設定をすることができる。CPU201は、第2の簡易操作画面122を介してユーザから受付けた設定もRAM203に保存する。
なお、第2の簡易操作画面122を表示している間に、CPU201は、制御プログラム112を実行することでMFP200本体を起動するための各モジュールの初期化(S105)などを行う。ここで、初期化される各モジュールには、MFP200が備えるPRINTER212、SCANNER213などが含まれる。CPU201は、MFP200の各モジュールの初期化がタイミングT106で終わると、操作部に通常の操作画面である通常操作画面123を表示する。なお、CPU201は、制御プログラム112を実行することによって、通常操作画面123を操作部に表示させる。なお、第2の簡易操作画面122と通常操作画面123は、表示内容が異なり、CPU201によってブートプログラムの実行によって表示されるか、制御プログラムの実行によって表示されるかが異なる。また、第2の簡易操作画面で設定された内容は、通常操作画面123に引き継がれる。具体的に、CPU201は、第2の簡易操作画面121を介してユーザから受付けた設定をRAM203に保存し、T106のタイミングで、RAM203に保存された設定に基づいて通常操作画面123を表示する。
このように、本実施形態では制御プログラム112を格納しているHDD210の初期化処理を実行する前に、CPU201は、第1の簡易操作画面121を操作部に表示させる。それによって、ユーザは、HDD210の初期化処理の完了を待たずとも、操作部を介してジョブの設定を行うことができる。また、CPU201は、第1の簡易操作画面121で受付けた設定を第2の簡易操作画面122に、第2の簡易操作画面122で受付けた設定を通常操作画面123に引き継ぐ。それによって、ユーザは、第1の簡易操作画面121や第2の簡易操作画面122で設定した内容を、通常操作画面123に反映させ、通常操作画面123を介してMFP200の操作をすることができる。また、CPU201は、第1の簡易操作画面121や第2の簡易操作画面122を介して受付けた設定が引き継がれた通常操作画面123を介して、ユーザから更なるジョブの設定を受付けることができる。それによって、ユーザは、第1、第2の簡易操作画面121で設定した内容に加えて、通常操作画面123を介して他の設定(追加の設定や、第1、第2の簡易操作画面121で行われた設定の解除など)を行うことができる。そして、CPU201は、第1の簡易操作画面121や第2の簡易操作画面122を介して受付けたジョブの設定、また通常操作画面123を介して受付けた更なるジョブの設定に基づいてジョブを処理可能である。
なお、第2の簡易操作画面122から通常操作画面123に画面を切替え可能になったタイミングで、CPU201は、通常操作画面123に画面を切替えるか否かを選択するための画面を表示するようにしてもよい。そして、CPU201は、ユーザによって通常操作画面123に画面を切替えるように指示された場合には、ジョブの設定を引き継いだ通常操作画面123を表示するよう制御する。一方、通常操作画面123に画面を切替えないように指示された場合には、第2の簡易操作画面122の表示を維持し、第2の簡易操作画面122の表示を介してユーザからの設定を受付ける。この場合、図7に示すジョブ予約ボタン691により、ジョブの実行指示をユーザから受付けた場合に、CPU201は第2の簡易操作画面122を介してユーザから受付けた設定に基づいてジョブを処理する。このような制御を行うことで、例えば、ジョブの設定が図7に示すような簡易操作画面だけで行える場合などに、ユーザは、通常操作画面123を表示できる場合でも簡易操作画面の表示を維持したまま、操作を続けることができる。ここでは、CPU201はジョブ予約ボタン691によってユーザからジョブの実行指示を受付ける場合について説明したが、PANEL206が有する不図示のスタートキーによってユーザから実行指示を受付けるようにしてもよい。
124は差分時間で、タイミングT101でMFP200の電源が投入された時からタイミングT106までに要する時間である。通常操作画面123を介して操作をする場合と比較して、第1の簡易操作画面121を介して操作をすることによって、ユーザは、MFP200を操作するまでに124に示される差分時間分、待つ時間が短くて済む。
なお、第1の簡易操作画面121は、例えばグラフィックスのような高度なユーザインターフェースに代えて、テキストベースで設定可能な項目が表示される。同様に、第2の簡易操作画面122も、例えばグラフィックスのような高度なユーザインターフェースに代えて、テキストベースで設定可能な項目が表示される。第1の簡易操作画面121をテキストベースで構成することによって、第1の簡易操作画面121を表示するためにかかる処理を減らすことができ、第1の簡易操作画面121が表示されるまでの時間をより短くできる。
図3は、図1に示したCPU201が管理するメモリマップを説明する為の模式図である。
なお、このメモリマップは、CPU201の設定により、またはハードウエアにより固定的に割り当てられるものである。
図3において、310はブートロムエリアで、ROM202内の領域を示す。この領域に記憶されたデータは、MFP200の電源が切られても記憶され続ける。320はNVRAMエリアで、NVRAM211内の領域を示す。
330はRAMエリアで、RAM203内の領域を示す。311はブートプログラムで、ブートロムエリア310に記録されている。なお、図3のブートプログラム311は、図2のブートプログラム111に対応する。
321はMFP200の構成情報や第1の簡易操作画面121に表示するジョブの設定の初期値で、NVRAMエリア320に格納されている。
331は制御プログラムで、RAMエリア330にロードされる。なお、図3の制御プログラム331は、図2の制御プログラム112に対応する。
332はワークエリアで、CPU201が制御プログラム331を実行することによって作業領域として使用するエリアである。また、ワークエリア332には、図7に示す第1の簡易操作画面121または第2の簡易操作画面122で設定される予約ジョブに関する設定値が記憶される。予約ジョブとは、ジョブの予約受付を行うジョブ予約ボタン691によって実行予約されたジョブのことである。333は、CPU201による画像処理のために割り当てた画像メモリエリアである。
本実施形態ではブート用のROMおよびNVRAMをアドレス上に直接マップして実行するが、ブート用のROMの内容を一旦RAMエリア330にコピーした後実行してもよい。この場合、処理は多少複雑になるが、ブートプログラムを高速なメモリであるRAM330から読み出して起動処理できるため速度向上が見込める。
次に、図4、図5を用いて、プログラムのブート処理手順について説明する。図4は、本実施形態のMFP200におけるプログラムのブート処理手順の一例を示す概念図である。図5は、本実施形態のMFP200におけるプログラムのブート処理手順の一例を示すフローチャートである。
図4において、400はCPU201がアクセス可能なメモリ空間である。410はブートプログラムで、図3に示したブートプログラム311に対応する。420は制御プログラムで、図3に示した制御プログラム331に対応する。
また、図5に示すS2101、S2102は各ステップを示し、各ステップは、CPU201がROM202、あるいはHDD210からプログラムをRAM203にロードして実行することで実現される。
まず、図5の処理は、ユーザがMFP200の本体に設けられる電源ボタンをONにすることで起動される。
まず、S2101において、CPU201は、ブートプログラム111を実行する。このタイミングは、図2に示したタイミングチャートのタイミングT101に対応し、このタイミングT101でMFP200に電源が入る。
このようにして電源が入ると、MFP200のボードにリセットシーケンスが発行される。MFP200のボードにリセットシーケンスが発行されると、CPU201は、図4に示すリセット例外処理401を発生させることで、ブートプログラム410を起動する。なお、ブートプログラム410を実行することによって行われる処理については後述する。
そして、CPU201は、ブートプログラムを実行することによって、HDD210に格納されている制御プログラム112をメモリ420にロードする。(経路402)
制御プログラム112がメモリ420にロードされると、S2102において、CPU201は、制御プログラム112の実行アドレスに処理を移して、制御プログラムを実行する。(経路421)
なお、このとき、RAM203は揮発性メモリであるためRAMエリア330は不定データで埋められている。したがって、CPU201は、制御プログラム112を、MFP200の起動の度にメモリに展開し直して実行する必要がある。制御プログラム112を実行することによって行われる処理については後述する。
以下、ブートプログラム410を実行することによって行われる、NVRAM211内のデータ、および第1の簡易操作画面121について説明する。
図6は、図1に示したNVRAM211内に格納されたMFP200の構成情報および設定の初期値を示す模式図である。ここで、構成情報とはMFP200の機器状態や各種構成、機能の有無を示す情報であり、初期値とは操作画面に表示するデフォルトの設定値である。
図6に示すように、MFP200の機器の状態や機能を示す情報には、一例として、コピーモード510、印刷パターン520、倍率530、用紙540、スキャン/プリントパターン550、部数560を示す情報がある。
コピーモード510とは、白黒コピーやカラーコピーなどのことである。印刷パターン520とは、文字モードや写真モードなどのことである。
さらに、倍率530とは、元データから出力データの大きさを変更するものである。用紙540とは、出力する用紙サイズのことである。さらに、スキャン/プリントパターン550とは、スキャンデータが片面/両面なのか、印刷データは片面/両面で出力するのかのことである。
また、部数560は、出力部数のことである。他にも、NVRAM211には、図示していないが、出力データをどのような順番で出力するかに関する情報や、ステープルで閉じるかなど、様々な機能を示す情報が保存されている。さらに、コピーモード510の初期値はコピーモード510のエリア511、構成情報(機能の有無に関する情報)はコピーモード510のエリア512に格納されている。
本実施形態では、コピーモード510の初期値として、エリア511が「0」なら白黒コピー、「1」ならカラーコピーを示す。各コピーモード機能の有無は、エリア512のビット値(フラグ)で表され、左から1番目のビットが白黒コピー機能の有無、左から2番目のビットがカラーコピー機能の有無を示す。
図6のエリア511、512に示される情報が記憶されている場合、コピーモード510については、初期値が白黒コピーであり、MFP200は、白黒コピー機能とカラーコピー機能を有していることを示す。仮に、MFP200が、白黒コピー機能は有するがカラーコピー機能は有さない場合は、エリア512の値が「10」となる。
同様に、印刷パターン520の初期値はエリア521の値で、「0」が文字(C)、「1」が写真、「2」が文字/写真を示す。また、機能の有無はエリア522の値で、左から1番目のビットが文字、2番目が写真、3番目が文字/写真を示す。
倍率530の初期値はエリア531で、「0」が自動、「1」が等倍、「0,1以外」が指定を示し、機能有無は532の値で、左から1番目のビットから3番目までを順に「自動」、「等倍」、「指定」を示すとする。
用紙540の初期値は、エリア541に設定される値で、「0」が自動、「0以外」が指定用紙サイズを示す。
また、カセット段(給紙部)の構成情報はエリア542〜544までの値で設定される。また、用紙サイズと値の対応は予め定められており、本実施形態では、A3は「1」、A4は「2」、レター「5」とする。例えば、エリア542に設定される値は1番目のカセット段の用紙サイズであり、A3が設定されている。エリア543に設定される値が2番目のカセット段の用紙サイズであり、A4が設定されている。エリア544に設定される値が3番目をカセット段の用紙サイズであり、A4が設定されている。
なお、今回は一例として3つのカセット段を持つMFP200を例にあげたが、カセット段が増えた場合でも、それに合わせてメモリの領域を増やすことにより、初期値と各カセット段にセットされている用紙サイズを設定できる。
スキャン/プリントパターン550の初期値はエリア551に格納される。ここで、エリア551に設定される値が、「0」の場合は、片面読取りをし、片面印刷を行う設定となる。
また、エリア551に設定される値が「1」の場合は、片面読取りをし、両面印刷を行う設定となる。
さらに、エリア551に設定される値が「2」の場合は、両面読取りをし、片面印刷を行う設定となる。また、エリア551に設定される値が「3」の場合は、両面読取りをし、両面印刷を行う設定となる。
また、機能の有無はエリア552に設定される値で、左から1番目から4番目までを順に「片面読取→片面印刷」、「片面読取→両面印刷」、「両面読取→片面印刷」、「両面読取→両面印刷」を示す。
部数の初期値は、部数560に設定される。
また、上記のエリア以外に、シャットダウン予約の有無を示すエリアとしてエリア570が設けられている。エリア570についての詳細は後述する。
図7は、図1に示したPANEL206に表示される第1および第2簡易操作画面の一例を示す図である。本例は、予約ジョブの設定をするための操作画面例であり、テキストベースで構成される。
図7において、601は現在設定されている機能(モード)が表示される箇所であり、602はユーザが選択可能なモードが表示される箇所である。図7に示す画面では、現在、白黒コピーキー612が設定されていることが601に表示されている。また、ユーザが選択可能なキーとして、白黒コピーキー613とカラーコピーキー611が602に表示されている。
濃度については、現在、濃度自動623が設定されていることが601に表示されている。また、ユーザが選択可能なキーとして濃度自動キー631、写真キー632、文字キー633が602に表示される。
倍率については、現在、等倍621が設定されていることが601に表示されている。また、ユーザが選択可能なキーとして倍率自動キー641、等倍キー642、指定キー643の中から、現在等倍キー621が設定されていることが602に表示されている。
用紙選択については、現在、用紙自動624が設定されていることが601に表示されている。また、ユーザが選択可能なキーとして用紙自動キー651、A4キー652、A3キー653が選択可能であることが表示されている。なお、用紙自動機能は、原稿サイズと同じサイズの用紙がある場合には、原稿サイズと同じサイズの用紙を選択する機能である。
片面/両面については、現在、「片面原稿を片面コピーするモード625」が設定されていることが601に表示されている。また、ユーザが選択可能なキーとして「片面原稿を片面コピーするモード661」、「片面原稿を両面コピーするモード662」、「両面原稿を片面コピーするモード663」、「両面原稿を両面コピーするモード664」を備える。
部数については、現在、1部コピーするように設定されていることが601に示されている。また、ユーザが選択可能なキーとして部数キー671が表示されている。CPU201は、部数キー671がユーザによって押されるたびに、622に示される部数の値が「1」ずつカウントアップする。なお、部数をカウントアップする部数キー671の他に、別の部数キーを設け、当該別の部数キーが押されるごとにカウントダウンするように構成してもよい。また、部数は、部数キー671から設定可能にするとともに、PANEL206が備えるテンキーから受付けた値を設定するようにしてもよい。
691はジョブ予約ボタンであり、ジョブ予約ボタン691が押されると、CPU201は、現在設定されている値(601に示される値)によって、ジョブの実行を予約する。CPU201は、図2に示すT106で、MFP200の各モジュールの初期化と、構成情報の取得が完了した段階で、予約されたジョブを601に示される設定に従って実行する。
692は自動シャットダウンボタン(シャットダウン受付ボタン)であり、ジョブ予約ボタン691がユーザの操作で選択されて、ジョブ予約が完了した後選択可能となる。当該自動シャットダウンボタン692がユーザにより押下されると、CPU201は、ジョブの実行後、MFP200の電源を落とす。これにより、ユーザは、MFP200を起動後、ジョブの設定及びジョブ予約を行った後、MFP200によるジョブの実行完了を待たずとも、簡易操作画面を介して自動的にMFP200の電源を落とすよう設定することができる。
なお、ここでは、自動シャットダウンボタン692は、ジョブ予約が完了した後、選択可能となる場合を説明した。しかし、これに限らず、ジョブ予約がされなくとも、自動シャットダウン692を選択可能にしてもよい。ジョブ予約がされていない状態で自動シャットダウンボタン692が押された場合には、通常操作画面123が表示可能になるタイミングで、CPU201は、MFP200の電源を自動的に落とすように制御する。
図8は、第1の簡易操作画面121および第2の簡易操作画面122を介して受付けたデータのRAM203のワークエリア332における保存例を示す図である。
図8において、701はモード選択情報で、コピーモード、印刷パターン、倍率、用紙710、スキャン/プリントパターン、部数711から構成される。これらは、図7の602に示す操作キーによって設定される情報である。CPU201はこれらの情報を、図7の操作画面の601に示す欄に表示する。
702は予約ジョブフラグで、初期値は「0」である。図7に示したジョブ予約ボタン691がユーザの操作に基づいて押下された場合に、CPU201によって「1」が設定される。また、再度、ユーザによってジョブ予約ボタン691が押された場合に、CPU201は、「1」に設定されていた予約ジョブフラグ702を「0」に設定する。
703はシャットダウンフラグで、初期値は「0」である。図6に示した自動シャットボタン692がユーザの操作に基づいて押下された場合にCPU201によって「1」が設定される。
CPU201は、MFP200の各モジュールの初期化と、構成情報の取得が完了した際に予約ジョブフラグ702が「1」に設定されている場合に、モード選択情報701に格納された設定に従って予約ジョブを自動的に実行する。一方、予約ジョブフラグ702が「0」の場合には、モード選択情報701を反映させた通常操作画面123を操作部に表示する。
また、CPU201は、予約ジョブの実行を完了した後に、シャットダウンフラグ703が「1」に設定されているか否か判定し、設定されている場合に、MFP200の電源を落とすように制御する。一方、設定されていない場合には、MFP200の電源を落とさず、通常操作画面123を介してユーザからの更なるジョブの設定やその他の操作を受付ける。
図9は、本実施形態を示すMFP200におけるデータ処理手順の一例を示すフローチャートである。なお、図9に示すS2201〜S2208は各ステップを示し、各ステップは、CPU201がROM202、またはHDD210からプログラムをRAM203にロードして実行することで実現される。
まず、CPU201によってブートプログラムがROM202から読み出されて実行されると、CPU201は、S2201に示される処理を行う。CPU201は、NVRAM211に記憶されるMFP200の構成情報500および初期値(図6参照)を取得する。なお、構成情報500および初期値は、MFP200が前回起動していた時にNVRAM211に記憶されているものである。
続くS2202において、CPU201は、S2201で取得した構成情報及び初期値を基に、操作部に図7に示すような第1の簡易操作画面121を表示させる。
なお、S2202では、CPU201は、第1の簡易操作画面121の上部601に、S2201で取得した各項目の初期値を表示させる。同様に、第1の簡易操作画面121の下部602には、CPU201がS2202で取得した各項目の選択可能なモードを設定するためのボタンを表示させる。
また、CPU201は、第1の簡易操作画面の右部603に、ジョブ予約をするためのジョブ予約ボタン691と、自動シャットダウン機能を使用するための自動シャットダウンボタン692を表示させる。なお、上述したように、自動シャットダウンボタン692は、ジョブ予約ボタン691が選択されるまで選択できないようにし、ジョブ予約ボタン691が選択され、ジョブの予約が完了した場合に選択可能に表示する。
続くS2203において、CPU201は、図2に示したHDD210(ストレージ装置)の準備が完了しているかどうかを判断する。
ここで、準備処理は、図5に示したS2102で、制御プログラム112をHDD210からロードするために行う、HDD210のスピンアップ等の処理である。
S2203で、CPU201がHDD210の準備が完了していないと判断した場合は、S2205において、CPU201は、PANELC205を介して、操作部に表示された第1の簡易操作画面121を更新して、S2203へ戻る。なお、S2205における第1の簡易操作画面の更新処理については後述する。
一方、S2203で、CPU201がHDD210の準備が完了していると判断した場合は、S2204へ進む。そして、S2204において、CPU201は、図4に示す経路402で制御プログラム112をRAM203へロードする処理を実行する(図2に示す処理S103に対応する)。
続く、S2206において、CPU201は、制御プログラム112のRAM203へのロードが完了したかどうかを判断する。ここで、制御プログラム112のロードが完了していないと判断した場合は、S2208において、CPU201は、第1の簡易操作画面121を更新して、S2206へ戻る。
一方、S2206で、CPU201が制御プログラム112のロードが完了していると判断した場合は、S2207へ進む。そして、S2207で、操作部に表示された第1の簡易操作画面121あるいは操作部のハードボタン(テンキーを含む)を介して入力されたデータをRAM203のワークエリア332に保存して、本処理を終了する。
例えば、簡易操作画面として操作部に表示される上部601に表示されている各項目に対応する操作モードのモード選択情報が、図8に示したデータ構造でRAM203のワークエリア332に保存される。また、第1の簡易操作画面121でジョブ予約および自動シャットダウンモードのON/OFFは、ONなら「1」、OFFなら「0」としてそれぞれフラグ702、703としてワークエリア302に保存される。
図10は、本実施形態を示すMFP200におけるデータ処理手順の一例を示すフローチャートである。図10に示すデータ処理手順は、図9に示したS2205およびS2208の簡易操作画面の更新処理を示す例である。なお、S2301、S2302は各ステップを示し、各ステップは、CPU201がROM202、またはHDD210からプログラムをRAM203にロードして実行することで実現される。
簡易画面更新処理では、まずS2301において、CPU201はユーザによって、操作部に表示されたキー(ソフトキー)あるいは操作部に設けられる操作ボタン(ハードキー)が押されたか否かを判断する。
ここで、入力データがないとCPU201が判断した場合には、本処理を終了する。
一方、S2301で、入力データがあるとCPU201が判断した場合は、どのキーまたはボタンが押されたかを調べ、押されたキーまたはボタンの入力情報を簡易画面(図7)に反映した表示を行い、本処理を終了する。
これにより、ユーザが操作部を操作して、図7に示す簡易操作画面の下部602に表示される項目のボタンが押された場合は、押されたキーに対応する設定が上部601の表示に反映される。
例えば、ユーザの操作によりカラーコピーキー611が押された場合、CPU201は、コピーモード612の表示状態を白黒コピーからカラーコピーの表示に更新する。
同様に、倍率や部数などの指定のため、MFP200の操作部に設けられるボタンが押された場合は、CPU201は、上部601に表示される各モードの選択値を押された値に変更して表示するように制御する。
さらに、予約ジョブボタン691や自動シャットダウンボタン692が押された場合は、CPU201は、各予約ジョブボタン691や自動シャットダウンボタン692の表示色を反転させる制御を行う。これにより、ユーザは、現在それぞれのモードが設定された状態にあるか否かを認識することができる。
図11は、本実施形態を示すMFP200におけるデータ処理手順の一例を示すフローチャートである。図11のフローチャートに示す処理は、図5に示したS2102において、CPU201によって実行される処理の例である。なお、S2401〜S2409は各ステップを示し、各ステップは、CPU201がROM202、またはHDD210からプログラムをRAM203にロードして実行することで実現される。
制御プログラム112では、まず、S2401において、CPU201は、NVRAM211からMFP200における構成情報500を取得する。
続く、S2402において、図9に示したS2207で保存した各項目のモード選択情報701とジョブ予約および自動シャットダウンモードの各フラグ702、703のON/OFFの情報を取得する。
続く、S2403において、S2401とS2402で取得した情報を基に、CPU201は、PANELC205を制御して、操作部に第2の簡易操作画面122(図7参照)を表示させる。
そして、S2401で取得した情報に基づいて、図9に示したS2202と同様に、CPU201は、簡易操作画面の下部602に選択可能な項目をテキストベースで表示する。次に、S2402で取得した情報に基づいて、CPU201は、PANEL206上に表示される第2の簡易操作画面122の上部601および右部603にジョブ予約あるいは自動シャットダウンの設定状態を表示する。すなわち、CPU201は、第1の簡易操作画面121でなされていた設定を第2の簡易操作画面122に引き継いで操作部に表示させる。
続く、S2404において、CPU201は、図12に一例を示す通常操作画面123を表示可能であるか判断する。図12は、操作部に表示される通常操作画面の一例を示す模式図である。図12に示す通常操作画面123は、図7に示した簡易操作画面の表示構成とは異なり、テキストベースのみで表示されるものではなく、グラフィックスによるアイコンや、タブシートといったより複雑なユーザインタフェースからなる。
なお、図12に示す通常操作画面123は、MFP200を動作させるための各モジュールの初期化や、MFP200の構成情報の取得が完了すると表示可能となる。
ここで、CPU201が通常操作画面123を表示可能であると判断した場合、S2405へ進む。そして、S2405で、CPU201は、第2の簡易操作画面122(図7)あるいは操作部に設けられる操作用のハードボタンを介してユーザから入力されたデータをRAM203のワークエリア332に上書き保存する。
続く、S2406において、CPU201は、ワークエリア332に保存されたジョブの設定を取得する。そして、S2407でCPU201は、ジョブを実行するようにジョブ予約ボタン691によって設定されている場合に、S2406で取得したジョブの設定に従って予約ジョブを実行する。そして、S2409で、CPU201は、RAM203のワークエリア332に格納された情報に基づいて、通常操作画面123を操作部に表示して、本処理を終了する。なお、S2407とS2409の処理は逆であってもよく、また、並行に処理してもよい。また、予約ジョブ実行の詳細処理については後述する。
一方、S2404で、CPU201が通常操作画面123を表示可能ではないと判断した場合は、S2408において、CPU201は、入力データを反映させるべく、第2の簡易操作画面の更新を行い、S2404へ戻る。なお、第2の簡易操作画面の更新処理については、図10を用いて前述した通りである。
図13は、本実施形態を示すMFP200における予約ジョブの実行処理の一例を示すフローチャートである。図13に示す処理は、図10に示したS2406の処理に対応する。なお、S2501〜S2512は各ステップを示し、各ステップは、CPU201がROM202、またはHDD210からプログラムをRAM203にロードして実行することで実現される。
まず、S2501において、第1の簡易操作画面121および第2の簡易操作画面122でジョブが予約されているかどうかをCPU201が判断する。これは、図11に示したS2405において保存されたワークエリア332の、予約ジョブのフラグ702を取得し、フラグ702の値が「1」であると判断した場合は、予約ジョブありと判断する。また、フラグ702が「0」であると判断した場合は、予約ジョブなし(No)と判断する。ここで、予約ジョブなし(No)とCPU201が判断した場合は、S2507へ進み、CPU201は、通常操作画面を操作部に表示して、本処理を終了する。
一方、S2501で、予約ジョブがあるとCPU201が判断した場合は、S2502に処理を進める。S2502で、CPU201は、その予約ジョブを実行することができるか否かを、CPU201がNVRAM211に記憶された機器の構成情報と、起動時に新しく取得される構成情報と比較して判別する。NVRAM211に記憶されている機器の構成情報は、MFP200の前回起動時(から電源がONの状態の時)のMFP200の構成情報である。また、起動時に新しく取得される構成情報は、今回の起動時のMFP200の構成情報である。
具体的には、図12に示した通常操作画面を表示するまでに、起動時の新しい構成情報を、MFP200が備える各モジュール(SCANNER213やPRINTER212、不図示のステイプラ等)から取得する(S105)。そこで、取得した構成情報が前回起動時(図5)から変更されていないかをCPU201が判定する。
ここで、CPU201が、MFP200の構成情報が変更されていると判断した場合、予約したジョブがMFP200の新しい構成で実行可能であるかどうか判定する。
また、例えば、図7に示す画面で、用紙キー710でA4の用紙にコピーするように指定されている場合を想定する。この場合、カセット段の上から1番目の用紙サイズが、前回起動時はA4(図5に示す用紙540参照)だったのに対し、新規起動時にレターサイズに変更されていたとする。そうすると、A4サイズの用紙がセットされたカセット段がないため、予約ジョブの実行が不可能と判断される。なお、CPU201は、SCANNER213やステイプラなどの有無が変更されている場合だけでなく、例えば用紙、トナー、ステープルの針などの消耗品などの情報も考慮してジョブの実行可否を判断する。具体的にCPU201は、消耗品の残量を、消耗品の残量検知センサからの情報やジョブの実行履歴情報から調べ、ジョブの実行に必要な消耗品の残量がないと判断した場合は、実行不可能と判断する。
一方、S2502で、予約ジョブが実行可能であるとCPU201が判断した場合は、S2503で、CPU201は予約ジョブを実行する。
具体的には、SCANNER213の初期化が終了しているとCPU201が判断した場合に、予約ジョブの原稿読取りを開始する。そして、PRINTER212の初期化が終了したと判断した場合に、CPU201は、RAM203のワークエリア332に格納されたジョブの設定に従って、SCANNER213が読取った予約ジョブのデータ印刷を開始する。
続く、S2504において、S2503で実行したジョブが正常終了したか否かをCPU201が判断する。ここで、例えば、用紙、トナー、ステープルの針などのジョブ実行に必要な消耗品の残量が実行途中でなくなってしまうと、実行完了できなかったとCPU201が判断する。
具体的には、例えば、予約ジョブの部数指定が100部(部数711)と指定されており、実行途中で用紙残量がゼロになってしまったとCPU201が判断した場合、ジョブ実行の継続ができなくなり、正常終了できない。その場合、CPU201は、ジョブの実行が完了しなかったと判定し、S2505に処理を進める。
ここで、予約ジョブが正常に完了したとCPU201が判断した場合には、S2505へ進む。そして、S2505で、第1の簡易操作画面121および第2の簡易操作画面122において、自動シャットダウンモードが設定されているかどうかをCPU201が判断する。これは、S2405において、RAM203に保存されたワークエリア332の、自動シャットダウンのフラグ703を取得し、「1」であれば自動シャットダウンモードが設定されているとCPU201が判断する。
そして、S2505で、自動シャットダウンモードが選択されているとCPU201が判断した場合には、S2506において、CPU201は、MFP200のシャットダウン処理を行い、本処理を終了する。
なお、シャットダウン処理の詳細については、後述する。
一方、S2505で、自動シャットダウンモードが選択されていないと判断した場合(S2505のN)には、S2507へ進む。そして、S2507で、新規起動時の構成情報を基に表示される通常操作画面(図9)をCPU201の制御で操作部に表示して、本処理を終了する。
一方、S2502で、予約ジョブが実行できないとCPU201が判断した場合および、S2504で予約ジョブが正常に完了できなかったとCPU201が判断した場合には、S2508へ進む。
そして、S2508で、第1の簡易操作画面121および第2の簡易操作画面122で自動シャットダウンモードが設定されているかをCPU201が判断する。これは、S2505と同様の処理に基づいて判断する。
そして、S2508で、自動シャットダウンモードが選択されているとCPU201が判断した場合には、S2509において、エラー内容を印刷可能であるかどうかをCPU201が判断する。例えば、CPU201は、用紙、トナーの残量を調べ、エラー内容の印刷可能かどうかをCPU201が判断する。
そして、S2509で、エラー内容を印刷可能であるとCPU201が判断した場合には、S2510において、CPU201は、PRINTER212を使用して、図14に示すようなエラー内容を印刷して、S2506へ戻る。図14は、図1に示したPRINTER212から出力される予約ジョブ実行時のエラー内容を印刷出力した一例を示す模式図である。
ここで、エラー内容には、図14に示すように、予約ジョブの実行結果901、予約ジョブの設定内容902、詳細なエラー内容903が印刷される。なお、上記エラー内容にジョブID等を合わせて印刷するようにしてもよい。また、これ以外の情報を付加して印刷したり、印刷した旨を登録されたユーザのメールアドレスに送信したりしてユーザに通知してもよい。
続く、S2506において、MFP200の電源をシャットダウンするシャットダウン処理を行い、本処理を終了する。シャットダウン処理については後述する。
一方、S2508で、自動シャットダウンモードが選択されていないとCPU201が判断した判断した場合、および、S2509で、エラー内容が印刷できないとCPU201が判断した場合は、S2511へ進む。それによって、エラーの内容をユーザに通知することができる。なお、S2509で、自動シャットダウンモードが選択されていないとCPU201が判断した判断した場合、および、S2509で、エラー内容が印刷できないとCPU201が判断した場合に、S2506に処理を進めてもよい。その場合、エラー内容の通知に優先してMFP200をシャットダウンすることができる。この方法でMFP200をシャットダウンする場合、CPU201は、エラー内容をHDD210に保存しておき、次回の電源起動時に、HDD210に保存されたエラー内容を操作部に表示するように制御するとよい。それによって、例えば、ユーザがMFP200にジョブの実行予約を行った後、MFP200の前を離れた場合でも、MFP200の電源を確実に落とすことができ、MFP200の前に戻ったときにエラー内容を知ることができる。
そして、S2511で、CPU201は、図15に示すように、エラー内容を操作部に表示させる。ここで、表示するエラー内容は、S2510で印刷する印刷データと同様で、エラー内容には、予約ジョブの実行結果1001、予約ジョブの設定内容1002、詳細なエラー内容1003を表示する。図15は、図1に示した操作部に表示される予約ジョブ実行時のエラー内容を操作部に表示した一例を示す模式図である。図15において、CPU201は、エラー内容として、予約ジョブの実行結果1001、予約ジョブの設定内容1002、詳細なエラー内容1003を表示させる。なお、上記エラー内容にジョブID等を合わせて表示するように構成してもよい。1004は復帰ボタンで、エラー表示画面から通常操作画面123へ復帰させるためのボタンであって、ユーザの操作により押下される。
また、ユーザが、エラー内容を確認後、操作画面へ戻るボタン1004をタッチすることで、次のS2512に進む。
続く、S2512において、新規起動時の構成情報を基に表示される通常操作画面(図12)をCPU201が操作部に表示して、本処理を終了する。
図16は、本実施形態を示すMFP200におけるシャットダウン処理の手順を示すフローチャートである。なお、S2601、S2602は各ステップを示し、各ステップは、CPU201がROM202、HDD210からプログラムをRAM203にロードして実行することで実現される。
シャットダウンの処理では、まず、S2601において、CPU201は、図11に示した通常画面を操作部に表示する(S2404のY)までに、以下の処理を行う。具体的には、MFP200の各ユニットから取得した起動時の新しい構成情報と、ユーザによって設定されている機能の初期値を、NVRAM211内(図5)に保存する処理を行う。
続いて、S2602において、CPU201は、MFP200の電源をOFF状態へ遷移させて、本処理を終了する。
以上説明したように、CPU201は、ROM202に記憶されたブートプログラム101を起動した段階で、テキストベースの簡単な第1の簡易操作画面121を操作部に表示する制御を行う。これにより、ユーザは、MFP200の電源投入後、短時間で予約ジョブの操作を行うことが可能な状態になる。
具体的には、電源投入時から操作部を使用して操作可能までの時間が、従来のパネル表示制御よりも、図2の124に示した差分時間分短縮される。
よって、ユーザは、本体の電源を投入することによりブートプログラムを起動した後、すぐにコピージョブを含むジョブの設定及び投入予約をすることができるようになる。このように、本実施形態によれば、MFP200が起動される場合に、極力ユーザを待たせることなく、ジョブ設定画面を介してジョブの設定を受付けることができる。
また、自動シャットダウンモードにより、ユーザがジョブを予約した後、ジョブの実行が完了するのを待たずとも、ジョブ処理後に自動でMFP200の電源をOFF状態に遷移させることができる。それによれば、例えば、ユーザは、ジョブをMFP200に投入した後、MFP200から離れる場合でも、自動的にシャットダウンすることができるので、利便性を向上させることができる。また、例えばSOHO(SmallOfficeHomeOffice)のような環境において、不使用時にMFP200の電源をOFF状態にする使い方をするユーザでも、待機することによるストレスを減らすことができる。MFP200に電源を投入して、ジョブの設定及び予約を行うことができるので、省電力効果を高めることができる。
よって、ユーザがMFPを離れ、いつ戻るか分からない場合でも、ジョブを実行している間のみ、MFP200の電源がONになり、消費電力の無駄がなくなる。
なお、本実施形態では、121を第1の簡易操作画面、122を第2の簡易操作画面、123を通常操作画面という名称を用いて説明したが、各名称はこれに限るものではない。例えば、第1の簡易操作画面121と、第2の簡易操作画面122はどちらも図7を示すような画面であり、第1のジョブ設定画面ということもできる。また、第1のジョブ設定画面に対して、通常操作画面123を第2のジョブ設定画面ということもできる。また、本実施形態では、MFP200を起動するためのプログラムをブートプログラム、ブートプログラムの起動後に起動されるプログラムを制御プログラムという名称を用いて説明したが、各名称はこれらに限られるものではない。例えば、ブートプログラム(例えば、第1のプログラム)は、MFP200を起動するために用いられるプログラムであれば、ブートプログラムという名称以外の名称を用いて呼ばれるものであってもよい。また、制御プログラム(例えば、第1のプログラムに対して第2のプログラム)も、制御プログラムという名称以外の名称を用いて呼ばれるものであってもよい。また、本実施形態では、MFP200を例にあげて説明したが、これに限らず、単一の機能からなるSFP(Single Function Printer)や、ジョブを処理するその他の装置にも適用できることはいうまでもない。
以下、図17に示すメモリマップを参照して本発明に係る画像処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
図17は、本発明に係るMFP200のコンピュータで読取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報、作成者等も記憶される。また、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態におけるフローチャートに示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)がコンピュータ読取可能な記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることもできる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。