(57)【要約】【課題】電力の供給の停止を要求するユーザの操作に応じて、不揮発性の記憶手段への書き込みに対する異常の発生を抑制しつつ、短時間で電力の供給を停止可能な電源制御技術を提供する。【解決手段】ＣＰＵ６１により実行される省電力制御プログラムは、主電源スイッチ８０がオフに切り替えられた場合、当該プログラムを除いてＣＰＵ６１が実行している全てのアプリケーションに対して中断要求通知を送り、当該通知を送ってから第１所定時間が経過した後、ＰＳＵ９０からコントローラ６０及びエンジン部７０への電力の供給を停止させるための電源停止信号を出力する。各アプリケーションは、中断要求通知を受け取ると、復帰可能に処理を中断する。【選択図】図１
2011254332.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性の記憶手段への書き込みを行なうアプリケーション及び画像処理を行うアプリケーションを少なくとも含む複数のアプリケーションを実行可能な画像処理装置であって、
電源からの電力の供給及び供給の停止を切り替えるために、ユーザの操作に応じて、オン又はオフに切り替えられる主電源切替手段と、
前記主電源切替手段がオフに切り替えられた場合、実行されている前記アプリケーションの全部又は一部に対して復帰可能に処理を中断することを要求する中断要求通知を送る第１通知手段と、
前記通知手段が前記中断要求通知を送ってから少なくとも第１所定時間が経過した後に、電源からの電力の供給を停止させる電源制御手段とを備える
ことを特徴とする画像処理装置。
【請求項２】
前記通知手段は、電力が供給されて起動した前記画像処理装置に実行されてから前記記憶手段への書き込みを１度以上行なったアプリケーションに対して前記中断要求通知を送る
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
オペレーションシステムを実行し、複数の前記アプリケーションのうち全部又は一部のアプリケーションを実行する実行手段を更に備え、
前記通知手段は、前記実行手段が実行する第１のアプリケーションにより実現され、
前記実行手段が実行する前記オペレーションシステムのカーネルにより、前記主電源切替手段がオフに切り替えられた場合、電源のオフを通知する電源オフ通知を前記第１通知手段に対して送る第２通知手段と、前記電源制御手段とが実現され、
前記電源制御手段は、前記第２通知手段が前記電源オフ通知を送ってから第２所定時間が経過した場合又は電源からの電力の供給の停止を要求する電源オフ要求通知を前記第１通知手段から前記第２所定時間が経過する前に受け取った場合、電源からの電力の供給を停止させ、
前記第１通知手段は、前記電源オフ通知を受け取った場合、前記第１のアプリケーションを除く複数の前記アプリケーションの全部又は一部に対して前部中断要求通知を送り、前記中断要求通知を送ってから前記第１所定時間が経過した後に、前記電源オフ要求通知を前記カーネルに対して送る
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記電源制御手段によってオン又はオフに切り替えられる切替手段と、
一定時間毎にリフレッシュを行う前記カーネルから一定時間以上リフレッシュが行われない場合、その旨を示す信号を出力するウォッチドッグタイマと、
前記主電源切替手段がオフに切り替えられた場合且つ前記切替手段がオフに切り替えられた場合又は前記ウォッチドッグタイマから前記信号が出力された場合、電源からの電力の供給を停止させる電源制御回路とを更に備え、
前記電源制御手段は、前記第２通知手段が前記電源オフ通知を送ってから第２所定時間が経過した場合又は電力の供給の停止を要求する電源オフ要求通知を前記第１通知手段から前記第２所定時間が経過する前に受け取った場合、前記切替手段をオフに切り替える
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
所定の電位の電力が供給される第１動作モードと、所定の電位より小さい電位の電力が供給される第２動作モードとのいずれかが設定され、
前記画像処理装置が前記第２動作モードに設定された場合、前記ウォッチドッグタイマの機能を停止させ、前記切替手段をオフに切り替える電源停止制御手段とを備える
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記電源停止制御手段は、前記画像処理装置が前記第２動作モードから前記第１動作モードに復帰する場合、前記ウォッチドッグタイマを起動させ、前記切替手段をオンに切り替える
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記カーネルにより、前記画像処理装置の異常を検出した場合、前記ウォッチドッグタイマの機能を停止させ、前記切替手段をオフに切り替える切替制御手段が実現される
ことを特徴とする請求項４乃至６のいずれか一項に記載の画像処理装置。
【請求項８】
前記切替制御手段は、前記画像処理装置の異常が修復された場合、前記ウォッチドッグタイマを起動させ、前記切替手段をオンに切り替える
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記主電源切替手段がオフに切り替えられたときの信号を検出する検出手段を更に備え、
前記通知手段は、前記検出手段が前記信号を検出した場合、実行されている前記アプリケーションの全部又は一部に対して前記中断要求通知を送る
ことを特徴とする請求項１に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関する。
【背景技術】
【０００２】
従来より、情報処理装置への電力の供給を停止する方法には、大別して２つの方法がある（例えば特許文献１〜８参照）。１つは、情報処理装置への電力の供給及びその供給の停止を切り替えるハードウェアスイッチである主電源ボタンをオフに切り替える方法である。この方法では、情報処理装置への電力の供給を即座に停止することはできる。また１つは、サブ電源キーなどの操作ボタンの押下を契機として、情報処理装置への電力の供給の停止をソフトウェアにより制御する方法である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、前者の方法では、以下の３つの問題が発生する可能性がある。１つは、(a)情報処理装置の備えるハードディスクへの書き込み中に電力の供給が停止される場合、不良セクタが発生する可能性である。また１つは、(b)ハードディスクのファイルシステムの管理情報の書込みが完了しないうちに電力の供給が停止される場合、ファイルシステムが破損してしまう可能性である。更に１つは、(c)情報処理装置で実行されているアプリケーションから見たデータセットのハードディスクへの書込みが完了する前に電力の供給が停止される場合、データの不整合が発生する可能性である。
【０００４】
これらの問題を防止するために、ジャーナリングファイルシステムをハードディスクに構築する技術も存在するが、(c)については防止することは困難であった。また、画像処理装置などの情報処理装置では、パフォーマンスの観点から、ファイルシステムでデータを管理するのではなくデータをハードディスクに直接保管している。このような情報処理装置では、(a),(b),(c)のいずれの問題も防止することは困難であった。
【０００５】
また、後者の方法では、サブ電源キーの押下を契機として、情報処理装置で実行している各アプリケーションに対して電力の供給を停止する旨の通知がなされ、各アプリケーションは、電力の供給が停止されても異常が生じないよう終了処理を行うことが一般的である。このようなアプリケーションの中には、終了処理が正常に終わらなかったり終了処理を行うことができなかったりする等の事態により、電力の供給の停止を拒否することがある。この場合、アプリケーションが拒否している間中、情報処理装置において電力の供給を停止することができない恐れがあった。この場合、ユーザが主電源スイッチをオフにして、電力の供給を強制的に停止させることがあり、前者の方法と同様に、(a),(b),(c)の問題を防止することは困難であった。
【０００６】
本発明は、上記に鑑みてなされたものであって、電力の供給の停止を要求するユーザの操作に応じて、不揮発性の記憶手段への書き込みに対する異常の発生を抑制しつつ、短時間で電力の供給を停止可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、不揮発性の記憶手段への書き込みを行なうアプリケーション及び画像処理を行うアプリケーションを少なくとも含む複数のアプリケーションを実行可能な画像処理装置であって、電源からの電力の供給及び供給の停止を切り替えるために、ユーザの操作に応じて、オン又はオフに切り替えられる主電源切替手段と、前記主電源切替手段がオフに切り替えられた場合、実行されている前記アプリケーションの全部又は一部に対して復帰可能に処理を中断することを要求する中断要求通知を送る第１通知手段と、前記通知手段が前記中断要求通知を送ってから少なくとも第１所定時間が経過した後に、電源からの電力の供給を停止させる電源制御手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、電力の供給の停止を要求するユーザの操作に応じて、不揮発性の記憶手段への書き込みに対する異常の発生を抑制しつつ、短時間で電力の供給を停止可能になる。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施の形態にかかる画像処理装置のハードウェア構成の概要を例示する図である。
【図２】図２は、コントローラ６０の構成の概要を例示する図である。
【図３】図３は、画像処理装置５０の行う電源オフ制御処理の手順を示すフローチャートである。
【図４】図４は、第３の実施の形態にかかる画像処理装置５０の行う電源オフ制御処理の手順を示すフローチャートである。
【図５】図５は、第４の実施の形態に係るコントローラ６０の構成の概要を例示する図である。
【図６】図６は、画像処理装置５０が起動したときの処理の手順を示すフローチャートである。
【図７】図７は、通常動作モードにおける電源オフ制御処理の手順を示すフローチャートである。
【図８】図８は、ＷＤＴ及びＧＩＯ＿Ｂのオン又はオフを制御する処理の手順を示すフローチャートである。
【図９】図９は、一変形例にかかる処理の手順を示すフローチャートである。
【図１０】図１０は、一変形例にかかる各アプリケーションに付与される直列的な序列を模式的に例示する図である。
【図１１】図１１は、一変形例にかかるアプリケーションのグループ間に付与される序列を模式的に例示する図である。
【図１２】図１２は、一変形例にかかるアプリケーションにツリー状に付与される序列を模式的に例示する図である。
【図１３】図１３は、一変形例にかかるアプリケーションにネット状に付与される序列を模式的に例示する図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、この発明にかかる画像処理装置の一実施の形態を詳細に説明する。
【００１１】
[第１の実施の形態]
まず、本実施の形態にかかる画像処理装置のハードウェア構成の概要について図１を用いて説明する。本実施の形態にかかる画像処理装置５０は、コントローラ６０と、エンジン部７０と、主電源スイッチ８０と、ＰＳＵ(Power Supply Unit)９０とを備える。コントローラ６０は、画像処理装置５０全体の制御と描画や、通信や、図示しない操作部からの入力や、表示部への情報の表示を制御するコントローラである。エンジン部７０は、ＰＣＩバスに接続可能なプリンタエンジン等であり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニット等である。なお、このエンジン部７０には、プロッタ等のいわゆるエンジン部分に加えて、誤差拡散やガンマ変換等の画像処理部分が含まれる。ＰＳＵ９０は、ＡＣ（Alternating Current）電源から供給される交流電圧を直流電圧（電力という）に変換し、この電力をコントローラ６０に供給し、コントローラ６０の制御の下、電力をエンジン部７０に供給する。主電源スイッチ８０は、電力の供給及びその供給の停止を切り替えるために、ユーザの操作に応じて、オン又はオフに切り替えられるスイッチであり、オン又はオフの切り替えに応じた信号を出力するスイッチである。
【００１２】
次に、コントローラ６０の構成の概要について図２を用いて説明する。コントローラ６０は、ＣＰＵ（Central Processing Unit）６１と、ＡＳＩＣ（Application Specific Integrated Circuit）６２と、チップセット６３と、ＲＯＭ（Read Only Memory）６４と、ＲＡＭ（Random Access Memory）６５と、ＨＤＤ（Hard Disk Drive）６６とを備える。ＲＯＭ６４は、ＯＳ（Operating System）や各種アプリケーションなどの各種プログラムや各種データを記憶する。アプリケーションとしては、後述するように、電力の供給の停止を制御する省電力制御プログラムや、処理として、例えば、エンジン部７０に対する処理である印刷処理を行うプログラムや、ネットワークＮＴを介した通信処理を行うプログラムなどがある。ＲＡＭ６５は、各種プログラムや各種プログラムの実行に用いる各種データを記憶する。ＨＤＤ６６は、画像処理の対象となる画像データなどの各種データや各種プログラムを記憶する。ＣＰＵ６１は、ＲＯＭ６４やＨＤＤ６６に記憶された各種プログラムを実行することにより、画像処理装置５０全体を制御する。また、ＣＰＵ６１は、ネットワークを介して外部装置との通信を制御する。ＡＳＩＣ６２は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated Circuit）であり、ＣＰＵ６１の制御の下、画像データに対して各種画像処理を行う。チップセット６３は、ＣＰＵ６１に対してソフトウェアからマスク不可能な割り込みを要求する割り込み要求端子であるＣＰＵ  ＮＭＩ(Non-Maskable Interrupt, NMI)を有する。ＣＰＵ  ＮＭＩは、主電源スイッチ８０がオフに切り替えられたときに出力された信号をＣＰＵ６１に対して出力する。
【００１３】
次に、このようなハードウェア構成において、画像処理装置５０の有するＣＰＵ６１がＲＯＭやＨＤＤに記憶された各種プログラムを実行することにより実現される各種機能について説明する。ここでは、ＣＰＵ６１によって実行される各種プログラムを主体として各機能を説明する。各種プログラムのうち、ＯＳのKernelにより割り込み検出スレッドが生成される。割り込み検出スレッドは、ユーザの操作により主電源スイッチ８０がオフに切り替えられたときに出力された信号がＣＰＵ  ＮＭＩから出力されると、この信号を検出して、ＰＳＵ９０からの電力の供給の供給を停止するための信号を割り込み信号として省電力制御プログラムに出力する。省電力制御プログラムは、割り込み信号が入力されると、省電力制御プログラムを除いてＣＰＵ６１が実行している全てのアプリケーションに対して復帰可能に処理を中断することを要求する中断要求通知を送り、当該通知を送ってから第１所定時間が経過した後、ＰＳＵ９０からコントローラ６０及びエンジン部７０への電力の供給を停止させるための電源停止信号を出力する。尚、第１所定時間としては、各アプリケーションが復帰可能に処理を中断するのに必要な時間を見積もって予め設定しておく。各アプリケーションは、中断要求通知を受け取ると、拒否することはできず、当該通知に応じて、復帰可能に処理を中断する。具体的には例えば以下の通りである。アプリケーションが、ＨＤＤ６６にデータを書き込む処理を行っている場合、アプリケーションがＨＤＤ６６に対して書き込む単位であるデータセットを完全に書き終えるようにしたり、ＨＤＤ６６におけるファイルシステムの管理情報を書き終えるようにしたりして、画像処理装置５０において電力の供給が停止された後に電力が再度供給されて再起動した場合に整合性を有するようにデータの書き込みを終了する。また、アプリケーションが、ネットワークＮＴを介した通信を行う処理を行っている場合、当該通信を中断する。このとき行っていた通信は、画像処理装置５０の再起動後に、復帰するわけではないが、当該通信が復帰可能に中断されたことで、当該アプリケーションは、新たに通信を行うことが可能になる。また、アプリケーションが、エンジン部７０に対して行う画像処理を行っている場合、当該画像処理を中断する。このとき行っていた画像処理は、画像処理装置５０の再起動後に、復帰するわけではないが、当該画像処理が復帰可能に中断されたことで、当該アプリケーションは、新たに画像処理を行うことが可能になる。
【００１４】
以上のように、本実施の形態においては、ハードウェアである主電源スイッチ８０がオフに切り替えられたときに、電力の供給を即座に停止させるのではなく、主電源スイッチ８０のオフへの切り替えの操作を契機として、ＣＰＵ６１により実行される各種プログラムにより電力の供給の停止を制御する。即ち、本実施の形態に係る画像処理装置５０は、ハードウェアへの操作を契機として、ソフトウェアにより電力の供給を停止させる。
【００１５】
次に、本実施の形態にかかる画像処理装置５０の行う電源オフ制御処理の手順について図３を用いて説明する。ユーザの操作により主電源スイッチ８０がオフに切り替えられたときに出力された信号がＣＰＵ  ＮＭＩから出力されると、ＣＰＵ６１により実行されるkernelで動作する割り込み検出スレッドはこの信号を検出して（ステップＳ１）、ＰＳＵ９０からの電力の供給の供給を停止するための信号を割り込み信号として省電力制御プログラムに出力する（ステップＳ２）。省電力制御プログラムは、当該割り込み信号が入力されると、省電力制御プログラムを除いてＣＰＵ６１が実行している全てのアプリケーションに対して復帰可能に処理を中断することを要求する中断要求通知を送る（ステップＳ３）。その後、省電力制御プログラムは、第１所定時間のカウントを開始する（ステップＳ４）。一方、各アプリケーションは、中断要求通知を受け取ると、当該通知に応じて、復帰可能に処理を中断する（ステップＳ５）。省電力制御プログラムは、第１所定時間のカウントが終了すると、電源停止信号を出力する(ステップＳ６)。この電源停止信号がＰＳＵ９０に入力されて、ＰＳＵ９０からコントローラ６０及びエンジン部７０への電力の供給が停止して、画像処理装置５０の電源がオフになる。
【００１６】
以上のように、ハードウェアである主電源スイッチ８０がオフに切り替えられた操作を契機として、画像処理装置５０へのＡＣ電源からの電力の供給の停止の制御をソフトウェアによって行なうことで、ハードウェア単体による当該制御を不能にする。このような構成により、(a)ＨＤＤ６６への書き込み中に電力の供給が即時に停止されるために不良セクタが発生する可能性を低減することができる。また、(b)ＨＤＤ６６におけるファイルシステムの管理情報を完全に書きおわらない内に電力の供給が即時に停止されるためにファイルシステムが破損してしまう可能性を低減することができる。さらに(c)アプリケーションがＨＤＤ６６に書き込む単位であるデータセットを完全に書き終わる前に電力の供給が停止されるためにデータの不整合が発生する可能性を低減することができる。
【００１７】
例えば、従来技術のように、サブ電源キーにより電源をオフする場合には、電源のオフをアプリケーションが拒否する場合があり、アプリケーションが拒否している間中、電力の供給を停止させることができない場合がある。電源のオフを拒否するアプリケーションとは、例えば、処理として画像処理を行っているアプリケーションや、処理としてネットワークＮＴを介した通信処理を行っているアプリケーションなどがある。しかし、ユーザの意図を鑑みると、一刻も早く電力の供給を停止させることが望ましい。また、アプリケーションが電源のオフを拒否している間に、ハードウェアである主電源ボタンによって電源がオフされて、電力の供給が強制的に停止されてしまっては、上述の(a),(b),(c)のいずれかの問題が発生する可能性があった。
【００１８】
このため、本実施の形態においては、アプリケーションの都合とユーザの意図とを鑑みて、主電源スイッチ８０がオフに切り替えられた操作を契機として、アプリケーションに対して復帰可能に処理を中断させつつ、当該処理が復帰可能に中断されたと見積もられる第１所定時間後に自動的に電力の供給を停止させることで、画像処理装置５０において、不揮発性の記憶手段への書き込みに対する異常の発生を抑制しつつ、短時間で電力の供給を停止させることが可能になる。
【００１９】
また、ＣＰＵ  ＮＭＩが、主電源スイッチ８０がオフに切り替えられたときの信号に応じてＣＰＵ６１に割り込み信号を出力することにより、ＣＰＵ６１に対してハードウェア割り込みを行うことで、ＣＰＵ６１に対するソフトウェア割り込みに異常があった場合でも、その異常の影響を受けることなく、画像処理装置５０において、安全に且つ短時間で電力の供給を停止させることが可能になる。
【００２０】
[第２の実施の形態]
次に、画像処理装置の第２の実施の形態について説明する。なお、上述の第１の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００２１】
上述した実施の形態においては、ＣＰＵ６１に実行される省電力制御プログラムは、中断要求通知を、省電力制御プログラムを除いてＣＰＵ６１が実行している全てのアプリケーションに対して送った。本実施の形態においては、省電力制御プログラムは、ＣＰＵ６１が実行しているアプリケーションのうち、特定のアプリケーションのみに中断要求通知を送る。特定のアプリケーションとは、例えば、ＨＤＤ６６への書き込みを行なうアプリケーションである。この場合、ＲＯＭ６４に記憶されてＣＰＵ６１に実行されるkernelが、アプリケーションからＨＤＤ６６への書き込みを検出し、電力が供給されて起動した画像処理装置５０に実行されてからＨＤＤ６６へ一度以上書き込みを行なったアプリケーションを特定するアプリケーション特定情報を省電力制御プログラムに対して送る。アプリケーション特定情報としては、例えば、アプリケーションに予め付与されたアプリケーション番号やアプリケーション名を用いれば良い。省電力制御プログラムは、アプリケーション特定情報を受け取ると、これを通知先アプリケーションリストに記憶する。通知先アプリケーションリストは例えばＲＡＭ６５に記憶される。そして、省電力制御プログラムは、割り込み信号が入力されると、ＣＰＵ６１が実行しているアプリケーションのうち、通知先アプリケーションリストに記憶されたアプリケーション特定情報によって特定されるアプリケーションに対して中断要求通知を送る。
【００２２】
次に、本実施の形態にかかる画像処理装置５０の行う電源オフ制御処理の手順について説明する。本実施の形態にかかる電源オフ制御処理の手順自体は、図３と略同様である。尚、ステップＳ１以前の段階で省電力制御プログラムは、上述したようにアプリケーション特定情報をkernelから受け取って通知先アプリケーションリストを記憶しているものとする。そして、ステップＳ１〜Ｓ２の後、ステップＳ３では、省電力制御プログラムは、割り込み信号が入力されると、ＣＰＵ６１が実行しているアプリケーションのうち、通知先アプリケーションリストに記憶されたアプリケーション特定情報によって特定されるアプリケーションに対して中断要求通知を送る。ステップＳ５では、中断要求通知を受け取ったアプリケーションが復帰可能に処理を中断する。中断要求通知を受け取っていないアプリケーションは、ＨＤＤ６６への書き込みを行なっていないため、処理中に電力の供給が停止しても問題が発生する可能性は低く、中断要求通知によって処理を敢えて中断させなくても良い。従って、電力の供給の停止に際して処理を中断する必要があるアプリケーションに対してのみ中断要求通知を送ることで、電源オフ制御処理をより効率的に行うことができる。また、アプリケーションにおいて発生する不具合の影響を低減することができる。
【００２３】
また、本実施の形態においては、特定のアプリケーションのみが復帰可能に処理を中断すれば良いため、処理の中断にかかる時間が全体的に短くすることが可能になる。このため、本実施の形態においては、省電力制御プログラムが、中断要求通知を送ってからカウントする第１所定時間を、第１の実施の形態に比べて短く設定しても良い。
【００２４】
[第３の実施の形態]
次に、画像処理装置の第３の実施の形態について説明する。なお、上述の第１の実施の形態又は第２の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００２５】
上述した第１の実施の形態及び第２の実施の形態においては、省電力制御プログラムが電源オフ制御処理を行った。しかし、省電力制御プログラム自体に不具合が発生した場合には、電力の供給を停止させることができなくなってしまう恐れがある。このため、本実施の形態においては、ＯＳの最下層であるkernelが、電源オフ制御処理を制御する。具体的には、ユーザの操作により主電源スイッチ８０がオフに切り替えられたときに出力された信号がＣＰＵ  ＮＭＩから出力されると、kernelで動作する割り込み検出スレッドがこの信号を検出し、kernelは、電源をオフする旨を示す電源オフ通知を省電力制御プログラムに対して送る。そして、kernelは、電源オフ通知を送ってから第２所定時間が経過した後又は第２所定時間が経過する前に、ＰＳＵ９０からコントローラ６０及びエンジン部７０への電力の供給の停止を要求する電源オフ要求通知を省電力制御プログラムから受け取った場合、ＰＳＵ９０からコントローラ６０及びエンジン部７０への電力の供給を停止させるための電源停止信号を出力する。尚、第２所定時間は、第１所定時間と同じであっても良いし、第１所定時間より長くても良い。一方、省電力制御プログラムは、電源オフ通知を受け取ると、省電力制御プログラムを除いてＣＰＵ６１が実行している全てのアプリケーションに対して中断要求通知を送り、当該通知を送ってから第１所定時間が経過した後、電源オフ要求通知をkernelに対して送る。各アプリケーションは、中断要求通知を受け取ると、上述の第１の実施の形態と同様にして、当該中断要求通知に応じて、復帰可能に処理を中断する。
【００２６】
次に、本実施の形態にかかる画像処理装置５０の行う電源オフ制御処理の手順について図４を用いて説明する。ステップＳ１〜Ｓ２は第１の実施の形態と同様である。ステップＳ１０では、ＣＰＵ６１により実行されるkernelにＣＰＵ  ＮＭＩからの割り込み信号が入力されると、kernelは、省電力制御プログラムに対して電源オフ通知を送る。その後、ステップＳ１１では、kernelは、第２所定時間のカウントを開始する。ステップＳ１２では、省電力制御プログラムは、電源オフ通知を受け取ると、省電力制御プログラムを除いてＣＰＵ６１が実行している全てのアプリケーションに対して中断要求通知を送る。ステップＳ４〜Ｓ５は第１の実施の形態と同様である。ステップＳ１２では、省電力制御プログラムは、第１所定時間のカウントが終了すると、kernelに対して電源オフ要求通知を送る。一方、ステップＳ６では、kernelが、第２所定時間のカウントが終了した場合又は第２所定時間のカウントが終了する前に省電力制御プログラムから電源オフ要求通知を受け取ると、電源停止信号を出力する。この電源停止信号がＰＳＵ９０に入力されて、ＰＳＵ９０からコントローラ６０及びエンジン部７０への電力の供給が停止される。
【００２７】
以上のような構成によれば、kernelが、省電力制御プログラムから電源オフ要求通知を受け取ることができなかった場合でも、第２所定時間のカウントが終了すると、ＰＳＵ９０からコントローラ６０及びエンジン部７０への電力の供給を停止させるため、省電力制御プログラムやその他のアプリケーションになんらかの不具合が発生していても、上述の(a),(b)の問題が発生する可能性を低減することができる。このため、画像処理装置５０において、アプリケーションに発生した不具合によって電力の供給を停止させることができない事態を回避することができる。
【００２８】
[第４の実施の形態]
次に、画像処理装置の第４の実施の形態について説明する。なお、上述の第１の実施の形態乃至第３の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００２９】
上述した第３の実施の形態においては、kernelが電源オフ制御処理を制御するようにしたが、kernel自体に発生する不具合によって電力の供給を停止させることができない事態が発生する可能性がある。また、kernel自体に不具合が発生していなくても、ＣＰＵ６１に対するハードウェア割り込みが行われ続ける等の不具合が発生した場合にも、電力の供給を停止させることができない事態が発生する可能性がある。このため、本実施の形態においては、画像処理装置５０において、ソフトウェアのみならずハードウェアによっても、電力の供給の停止を制御する。
【００３０】
図５は、本実施の形態に係るコントローラ６０の構成の概要を例示する図である。コントローラ６０は、ＣＰＵ６１、ＡＳＩＣ６２、チップセット６３、ＲＯＭ６４、ＲＡＭ６５及びＨＤＤ６６に加え、ＯＲ回路６７及びＡＮＤ回路６８を備える。また、ＡＳＩＣ６２は、ＧＩＯ−Ａ，ＧＩＯ＿Ｂと、ＷＤＴ(Watch Dog Timer)と、サブチップとを有する。
【００３１】
ここで、本実施の形態における画像処理装置５０に設定される動作モードについて説明する。動作モードには、通常動作モードと、省電力モードとがある。通常動作モードとは、ＰＳＵ９０からコントローラ６０、ＨＤＤ６６及びエンジン部７０に対して所定の電位の電力が供給されるモードである。省電力モードとは、コントローラ６０の全部又は一部、エンジン部７０及びＨＤＤ６６に対する電力の供給が停止されるモードであり、所定の電位より小さい電位の電力が供給されるモードである。画像処理装置５０は、起動後に通常動作モードに設定されるが、移行条件の成立した場合に、省電力モードへ移行する。移行条件とは、例えば、操作部からの入力が一定時間以上ないこと等である。また、省電力モードに設定された画像処理装置５０において、復帰条件が成立した場合には、画像処理装置５０は、通常動作モードへ復帰する。復帰条件とは、例えば、操作入力部からの入力があった場合等である。通常動作モードから省電力モードへの移行は、ＣＰＵ６１が省電力制御プログラムにより行い、省電力モードから通常動作モードへの復帰は、ＣＰＵ６１がシャットダウン制御スレッドにより行う。
【００３２】
このような動作モードに応じて、電源制御オフ処理を制御するのは、ＣＰＵ６１により実行されるＯＳのKernelが生成するシャットダウン制御スレッドである。このシャットダウン制御スレッドは、割り込み検出スレッドとは独立して動作する。シャットダウン制御スレッドは、起動後に画像処理装置５０を通常動作モードに設定する前に、Kernelで動作するＷＤＴドライバを介してＷＤＴを起動させ、一定時間毎にＷＤＴ内の書き込み可能領域にデータを書き込むことで、ＷＤＴに対してリフレッシュを行う。尚、リフレッシュが行われず一定時間以上経った場合、ＣＰＵ６１自体やＣＰＵ６１が実行しているＯＳのKernelに異常が発生している可能性がある。また、シャットダウン制御スレッドは、移行条件が成立して省電力制御プログラムにより画像処理装置５０を省電力モードに移行させる際、その前に、ＷＤＴドライバを介してＷＤＴの機能を停止させて、後述のＧＩＯ＿Ｂをオフにする。また、シャットダウン制御スレッドは、復帰条件が成立して画像処理装置５０を通常動作モードに復帰させる際、その前に、ＷＤＴドライバを介してＷＤＴを起動させて、ＧＩＯ＿Ｂをオンにする。そして、第３の実施の形態と同様に、ユーザの操作により主電源スイッチ８０がオフに切り替えられたときに出力された信号がＣＰＵ  ＮＭＩから出力されて、kernelで動作する割り込み検出スレッドがこの信号を検出すると、同じくkernelで動作する通知ドライバに対して電源をオフする旨を示す電源オフ通知を送り、同じくkernelで動作するシャットダウン制御スレッドが第２所定時間のカウントを開始する。そして、シャットダウン制御スレッドは、第２所定時間が経過した後又は第２所定時間が経過する前に、電源オフ要求通知を省電力制御プログラムから受け取った場合、ＨＤＤドライバに対してＨＤＤ６６への電力の供給を停止させて、ＧＩＯ＿Ｂをオフにする。通知ドライバは、電源をオフする旨を示す電源オフ通知を省電力制御プログラムに対して送る。省電力制御プログラムが行う動作の内容及び中断要求通知を受け取ったアプリケーションの動作の内容は上述の第３の実施の形態と同様である。
【００３３】
図５の説明に戻る。サブチップは、画像処理装置５０が省電力モードに移行した場合に、ＣＰＵ６１に代わって、ネットワークＮＴを介した通信処理を行う。ＷＤＴは、Kernelによるリフレッシュが行われず一定時間以上経った場合、その旨を示す信号(ＷＤＴ信号という)をＯＲ回路６７に出力する。ＧＩＯ−Ａは、ＣＰＵ６１に実行されるKernelによって制御されるスイッチ回路であり、主電源スイッチ８０のオフへの切り替えが検出されると、オフに切り替えられる。ＧＩＯ＿Ｂは、スイッチ回路であり、シャットダウン制御スレッドの制御の下、オン又はオフが切り替えられる。尚、画像処理装置５０の起動直後には、ＧＩＯ＿Ｂはオフの状態であり、このときに、主電源スイッチ８０がオフに切り替えられると、後述のＯＲ回路６７及びＡＮＤ回路６８を介して画像処理装置５０の電源がオフになるが、シャットダウン制御スレッドによりＧＩＯ＿Ｂはオンにされると、主電源スイッチ８０がオフに切り替えられただけでは、ＯＲ回路６７及びＡＮＤ回路６８により、画像処理装置５０の電源はオフにはならない。
【００３４】
ＯＲ回路６７は、ＷＤＴからＷＤＴ信号が出力された場合又はＧＩＯ＿Ｂがオフである場合、電源停止信号をＡＮＤ回路６８に出力する。ＡＮＤ回路６８は、主電源スイッチ８０から電源をオフに切り替えるための信号が出力された場合且つＯＲ回路６７から電源停止信号が出力された場合、電源停止信号を出力する。この電源停止信号がＰＳＵ９０に入力されて、ＰＳＵ９０からコントローラ６０及びエンジン部７０への電力の供給が停止して、画像処理装置５０の電源がオフになる。
【００３５】
次に、本実施の形態にかかる画像処理装置５０の行う処理の手順について説明する。まず、画像処理装置５０の主電源スイッチ８０がオンにされてＰＳＵ９０からコントローラ６０及びエンジン部７０に対して電力が供給されて画像処理装置５０が起動したときの処理の手順について図６を用いて説明する。このとき、コントローラ６０のＣＰＵ６１に電力が供給されると(ステップＳ２０)、ＣＰＵ６１がkernelを実行して、kernelにより、シャットダウン制御スレッドを生成して実行を開始させる（ステップＳ２１）。シャットダウン制御スレッドは、Kernelで動作するＷＤＴドライバを介してＷＤＴを起動させ（ステップＳ２２）、その後、ＧＩＯ＿Ｂをオンにし（ステップＳ２３）、一定時間毎にＷＤＴドライバを介してＷＤＴに対してリフレッシュを行う。そして、移行条件が成立しない間は画像処理装置５０は通常動作モードで動作する。
【００３６】
次に、通常動作モードにおける電源オフ制御処理の手順について図７を用いて説明する。ステップＳ１〜Ｓ２は第１の実施の形態と同様である。ステップＳ３０では、kernelで動作する通知ドライバにＣＰＵ  ＮＭＩからの割り込み信号が入力されると、ステップＳ３１では、通知ドライバは、省電力制御プログラムに対して電源オフ通知を送る。その後、ステップＳ３２では、シャットダウン制御スレッドが、第２所定時間のカウントを開始する。ステップＳ３〜Ｓ６は第１の実施の形態と同様である。ステップＳ３３では、シャットダウン制御スレッドが、第２所定時間のカウントが終了した場合又は第２所定時間のカウントが終了する前に省電力制御プログラムから電源オフ要求通知を受け取ると、ＨＤＤドライバに対してＨＤＤ６６への電力の供給を停止させ、ステップＳ３４では、ＧＩＯ＿Ｂをオフにする。このとき、ＯＲ回路６７から電源停止信号がＡＮＤ回路６８に出力される。ＡＮＤ回路６８では、主電源スイッチ８０がオフに切り替えられたときの信号が出力されており且つＯＲ回路６７から電源停止信号が出力されているから、電源停止信号が出力される。この電源停止信号がＰＳＵ９０に入力されて、ＰＳＵ９０からコントローラ６０及びエンジン部７０への電力の供給が停止して、画像処理装置５０の電源がオフになる。
【００３７】
尚、シャットダウン制御スレッドがＷＤＴドライバを介してＷＤＴに対して行っているリフレッシュが一定時間以上行われない場合には、ＷＤＴからＷＤＴ信号が出力されてＯＲ回路６７に入力され、ＯＲ回路６７から電源停止信号がＡＮＤ回路６８に出力される。この結果、電源停止信号がＰＳＵ９０に入力されて、ＰＳＵ９０からコントローラ６０及びエンジン部７０への電力の供給が停止して、画像処理装置５０の電源がオフになる。
【００３８】
次に、移行条件が成立して省電力モードに移行する場合や復帰条件が成立して通常動作モードに復帰する場合にＷＤＴ及びＧＩＯ＿Ｂのオン又はオフを制御する処理の手順について図８を用いて説明する。省電力制御プログラムは、移行条件の成立を検出すると（ステップＳ４０）、省電力制御プログラムを除いてＣＰＵ６１が実行している各アプリケーションに対して省電力モードへの移行の可否を問い合わせる省電力問い合わせを送る（ステップＳ４１）。省電力モードへの移行を受諾する応答を全てのアプリケーションから受け取った場合、省電力制御プログラムは、省電力モードへの移行を、kernelが生成したシャットダウン制御スレッドに要求する（ステップＳ４２）。シャットダウン制御スレッドは、ＰＳＵ９０からコントローラ６０の全部又は一部、エンジン部７０及びＨＤＤ６６に対する電力の供給を停止させて、その後、ＧＩＯ＿Ｂをオフにして（ステップＳ４３）、ＷＤＴの機能を停止させる（ステップＳ４４）。この状態で、主電源スイッチ８０がオフに切り替えられた場合には、ＯＲ回路６７及びＡＮＤ回路６８を介して画像処理装置５０の電源がオフになる。一方、主電源スイッチ８０がオフに切り替えられなかった場合、シャットダウン制御スレッドは、復帰条件の成立を検出すると、kernelを通常動作モードに復帰させ、ＷＤＴドライバを介してＷＤＴを起動して、ＷＤＴに対する一定時間毎のリフレッシュを開始する（ステップＳ４５）。その後、シャットダウン制御スレッドは、ＧＩＯ＿Ｂをオンにする（ステップＳ４６）。この状態で、主電源スイッチ８０がオフに切り替えられただけでは、ＯＲ回路６７及びＡＮＤ回路６８により、画像処理装置５０の電源はオフにならない。そして、シャットダウン制御スレッドは、省電力制御プログラムを通常動作モードに復帰させ、ＰＳＵ９０からコントローラ６０、エンジン部７０及びＨＤＤ６６に対して電力を供給させる（ステップＳ４７）。
【００３９】
以上のように、電源をオフするための制御にソフトウェアのみならずハードウェアであるＷＤＴ、ＯＲ回路６７及びＡＮＤ回路６８を用いることで、kernelや省電力制御プログラムなどのソフトウェアによる不具合が発生したとしても、画像処理装置５０において、電力の供給を停止させることができない事態を回避することができる。
【００４０】
また、画像処理装置５０が省電力モードに移行する場合には、ＷＤＴの機能を停止させて、ＧＩＯ＿Ｂをオフにして、ソフトウェアによる電源をオフするための制御を無効にすることで、主電源スイッチ８０がオフへ切り替えられたときに、ソフトウェアによる制御を介在させずに画像処理装置５０の電源をオフすることができる。このため、省電力モードが設定された画像処理装置５０において、電力の供給を停止させることができない事態を回避することができる。
【００４１】
また、画像処理装置５０が通常動作モードに復帰する場合には、ＷＤＴを起動させて、ＧＩＯ＿Ｂをオンにして、ソフトウェアによる電源をオフするための制御を有効にすることで、通常動作モードが設定された画像処理装置５０において、主電源スイッチ８０がオフに切り替えられた操作を契機として、不揮発性の記憶手段への書き込みに対する異常の発生を抑制しつつ、短時間で電力の供給を停止させることができる。
【００４２】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【００４３】
上述した各実施の形態において、画像処理装置５０で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供するように構成しても良い。
【００４４】
上述の各実施の形態において、画像処理装置５０は、ＡＳＩＣ６２が画像処理を行った画像を紙などの印刷媒体に形成する画像形成部を備えるようにしても良い。例えば、画像処理装置５０は、プリンタ機能を実現するための例えば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタなどのプリンタエンジンや、コピー機能やスキャナ機能を実現させるためのスキャナエンジンや、ＦＡＸ通信機能を実現させるためのファックスユニット等を備えるようにしても良い。
【００４５】
上述した第１の実施の形態又は第２の実施の形態においては、各アプリケーションは、中断要求通知に応じて処理を行った後、処理が完了した旨を示す応答通知を省電力制御プログラムに対して送るようにしても良い。省電力制御プログラムは、中断要求通知を送った全てのアプリケーションから当該応答通知を受け取ると、第１所定時間が経過していない場合であっても、電源停止信号を出力するようにしても良い。
【００４６】
上述した第２の実施の形態においては、通知先アプリリストを省電力制御プログラムが記憶するようにしたが、これをkernelが記憶するようにしても良い。この場合例えば、省電力制御プログラムは、割り込み信号が入力されると、通知先アプリケーションリストに記憶されたアプリケーション特定情報をkernelに要求して、当該アプリケーション特定情報をkernelから取得すると、当該アプリケーション特定情報によって特定されるアプリケーションに対して中断要求通知を送るようにすれば良い。
【００４７】
上述した各実施の形態においては、ＣＰＵ  ＮＭＩが、主電源スイッチ８０がオフに切り替えられたときの信号を出力することにより、ＣＰＵ６１に対するハードウェア割り込みを行うようにしたが、これに限らず、主電源スイッチ８０がオフに切り替えられたときの信号に応じてＣＰＵ６１に対するソフトウェア割り込みを行うようにしても良い。この場合、チップセット６３は、ＣＰＵ  ＮＭＩを有さなくても良い。このような構成によれば、ＣＰＵ  ＮＭＩから出力された信号による割り込みに応じて処理を行った後通常状態に復帰することが困難であるアーキテクチャー（例えばmipsなど）が採用されているＣＰＵ６１であっても、より早く且つ安全に電力の供給を停止させることが可能になる。
【００４８】
上述した第４の実施の形態においては、画像処理装置５０内で発生した異常の検出に応じてＷＤＴ及びＧＩＯ＿Ｂのオン又はオフを制御するようにしても良い。図９は、本変形例にかかる処理の手順を示すフローチャートである。ＣＰＵ６１に実行されるkernelが、画像処理装置５０で発生した異常を検出すると（ステップＳ５０）、ＷＤＴドライバを介してＷＤＴの機能を停止させて（ステップＳ５１）、ＧＩＯ＿Ｂをオフにする（ステップＳ５２）。ここでシャットダウン制御スレッドではなくkernel自身がＷＤＴ及びＧＩＯ＿Ｂのオン又はオフを制御するのは、異常を検出した場合には割り込み禁止状態で動作しなければならないため、シャットダウン制御スレッドのスケジューリングができない可能性があるからである。異常の発生を検出した後kernelはその旨をユーザに報知する。kernelは例えば異常が発生した旨を表示部に表示させる。開発者によってはこの状態でkernel内デバッガ(割り込み禁止状態で動く)で修復を行ない、画像処理装置５０を通常動作モードに復帰させることもありうる。この場合、例えば、操作部を介して通常動作モードに復帰する旨の入力を行い、kernelは、当該入力を受け付けると、通常動作モードに復帰する前にＧＩＯ＿Ｂをオンにし（ステップＳ５３）、ＷＤＴドライバを介してＷＤＴを起動させる（ステップＳ５４）。
【００４９】
以上のような構成によれば、画像処理装置５０に異常が発生した場合には、ＷＤＴの機能を停止させて、ＧＩＯ＿Ｂをオフにして、ソフトウェアによる電源をオフするための制御を無効にすることで、kernelデバッガに落ちている場合であっても、主電源スイッチ８０がオフに切り替えられたときに、ソフトウェアによる制御を介在させずに画像処理装置５０の電源をオフすることができる。このため、異常の発生した画像処理装置５０において、電力の供給を停止させることができない事態を回避することができる。
【００５０】
また、画像処理装置５０が修復されて、通常動作モードに復帰した場合には、ＷＤＴを起動させて、ＧＩＯ＿Ｂをオンにして、ソフトウェアによる電源をオフするための制御を有効にすることで、通常動作モードが設定された画像処理装置５０において、より早く且つ安全に電力の供給を停止させることが可能になる。
【００５１】
上述した各実施の形態においては、中断要求通知が送られる各アプリケーションに対して、序列が付与されており、その序列に応じて、中断要求通知が送られて、各アプリケーションで各々復帰可能に処理が中断されるようにしても良い。
【００５２】
序列としては、例えば、１つのアプリケーション毎に順に付与される直列的なものであっても良い。図１０は、各アプリケーションに付与される直列的な序列を模式的に例示する図である。同図のＡＰ１〜ＡＰ１３は、各アプリケーションを示しており、各アプリケーションからの矢印が順序を示している。このような序列が付与されている場合には、中断要求通知がＡＰ１からＡＰ１３の順に送られるようにすれば良い。
【００５３】
また、序列として、図１１に例示されるように、アプリケーションを複数のグループに分けて、グループ間に付与されるものでも良い。グループとしては、互いに機能依存の存在しないアプリケーションで構成されるようにし、電力の供給が同時に停止されても問題のないように構成する。このような序列が付与されている場合には、中断要求通知がＡＰ１からＡＰ４のグループ、ＡＰ５〜ＡＰ８のグループ、ＡＰ９〜ＡＰ１０のグループ、ＡＰ１１及びＡＰ１２〜ＡＰ１３のグループの順に送られるようにすれば良い。このような構成によれば、アプリケーションにおいて並列して処理の中断をさせることができるため、画像処理装置５０において、安全に且つ効率的に電力の供給を停止させることができる。
【００５４】
また、序列として、図１２に例示されるように、ツリー状のものであっても良い。更に、図１３に例示されるように、ネット状のものであっても良い。このような序列が用いられるのは、複数のリブートシーケンスが定義される場合である。このような序列が付与されている場合には、中断要求通知がＡＰ４,ＡＰ８,ＡＰ１０,ＡＰ９，ＡＰ１１の順で送られ、ＡＰ１,ＡＰ５，ＡＰ１１の順で送られ、ＡＰ２，ＡＰ３のグループ，ＡＰ６，ＡＰ７のグループ，ＡＰ１１の順で送られ且つＡＰ１１の後ＡＰ１２，ＡＰ１３の順で送られるようにすれば良い。このような構成によれば、安全なリブートシーケンスを複数構成することができ、部分的なリブートを高速に行うことが可能になる。
【符号の説明】
【００５５】
５０  画像処理装置
６０  コントローラ
６１  ＣＰＵ
６２  ＡＳＩＣ
６３  チップセット
６４  ＲＯＭ
６５  ＲＡＭ
６６  ＨＤＤ
６７  ＯＲ回路
６８  ＡＮＤ回路
７０  エンジン部
８０  主電源スイッチ
９０  ＰＳＵ
ＮＴ  ネットワーク
【先行技術文献】
【特許文献】
【００５６】
【特許文献１】特開２００６−１１４１４５号公報
【特許文献２】特開平１０−３０２３７６号公報
【特許文献３】特開２００７−２０８８６４号公報
【特許文献４】特開２０００−１１３５６３号公報
【特許文献５】特開２００６−１１４１４５号公報
【特許文献６】特開平０７−３１２０４８号公報
【特許文献７】特開２００６−０１１７５１号公報
【特許文献８】特開平０３−１３７８６４号公報
【図１】
2011254332.tif 000003
【図２】
2011254332.tif 000004
【図３】
2011254332.tif 000005
【図４】
2011254332.tif 000006
【図５】
2011254332.tif 000007
【図６】
2011254332.tif 000008
【図７】
2011254332.tif 000009
【図８】
2011254332.tif 000010
【図９】
2011254332.tif 000011
【図１０】
2011254332.tif 000012
【図１１】
2011254332.tif 000013
【図１２】
2011254332.tif 000014
【図１３】
2011254332.tif 000015