(57)【要約】【課題】通常電力状態から低電力状態へ移行した際に、ＯＳタイマ割り込みの間隔を広げたとしても、通常電力状態のＯＳ時間を維持する。【解決手段】画像処理装置１では、節電制御タスク１１が、非印刷状態が予め定められた時間以上継続した場合に、自装置の電力状態を通常電力状態から低電力状態へ移行し、ＯＳタイマ部５２の基準計数値及びＯＳタイマ割り込み制御部３２のカウントアップ値をＮ倍し、ＯＳタイマ部５２が、クロック発生部５１が発生したクロックの数が、Ｎ倍された基準計数値に達したと判定すると、割り込み発生部５３が、ＯＳタイマ割り込みを発生させ、ＯＳタイマ割り込み制御部３２が、Ｎ倍されたカウントアップ値を、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間に加算する（Ｎ＞１）。【選択図】図２
2015035112.tif 000002
【特許請求の範囲】
【請求項１】
自装置の電力状態を通常電力状態から当該通常電力状態よりも消費電力が低い低電力状態へ移行する移行手段と、
自装置の電力状態が前記通常電力状態から前記低電力状態へ移行される際に、オペレーティングシステムの周期的な割り込みの間隔がＮ倍になるような設定を行う設定手段と、
前記周期的な割り込みの間隔がＮ倍になるような設定が行われた場合に、当該設定が行われた後の当該周期的な割り込みの時点で前記オペレーティングシステムにおける時間に加算される第１の時間が、当該設定が行われる前の当該周期的な割り込みの時点で前記オペレーティングシステムにおける時間に加算されていた第２の時間のＮ倍になるように制御する制御手段と
を備えたことを特徴とする省電力制御装置（Ｎ＞１）。
【請求項２】
前記制御手段は、前記周期的な割り込みの間隔がＮ倍になるような設定が行われた場合に、当該周期的な割り込み以外の他の割り込みの時点で、直近の当該周期的な割り込みの時点から当該他の割り込みの時点までの経過時間に基づく第３の時間が、前記オペレーティングシステムにおける時間に加算されるように制御することを特徴とする請求項１に記載の省電力制御装置。
【請求項３】
前記制御手段は、前記周期的な割り込みの間隔がＮ倍になるような設定が行われた場合に、前記他の割り込みの時点で、前記第２の時間の整数倍の時間のうち前記経過時間を超えない最大の時間である前記第３の時間が、前記オペレーティングシステムにおける時間に加算されるように制御することを特徴とする請求項２に記載の省電力制御装置。
【請求項４】
クロックの数が基準個数に達すると前記周期的な割り込みを行う割り込み手段と、
前記周期的な割り込みの時点で当該周期的な割り込みの間隔に相当する時間を前記オペレーティングシステムにおける時間に加算する加算手段と
を更に備え、
前記設定手段は、前記割り込み手段が用いる前記基準個数をＮ倍にすることにより、前記周期的な割り込みの間隔がＮ倍になるような設定を行い、
前記制御手段は、前記加算手段が加算する前記周期的な割り込みの間隔に相当する時間をＮ倍にすることにより、前記第１の時間が前記第２の時間のＮ倍になるように制御することを特徴とする請求項１乃至請求項３の何れかに記載の省電力制御装置。
【請求項５】
基準周波数でクロックを発生する発生手段と、
前記クロックの数が基準個数に達すると前記周期的な割り込みを行う割り込み手段と
を更に備え、
前記設定手段は、前記発生手段が用いる前記基準周波数を（１／Ｎ）にすることにより、前記周期的な割り込みの間隔がＮ倍になるような設定を行い、
前記制御手段は、前記割り込み手段が用いる前記基準個数を（１／Ｎ）にすることにより、前記第１の時間が前記第２の時間のＮ倍になるように制御することを特徴とする請求項１乃至請求項３の何れかに記載の省電力制御装置。
【請求項６】
前記設定手段は、前記発生手段が用いる前記基準周波数が（１／Ｎ）になっている場合に、前記周期的な割り込み以外の他の割り込みの時点で、前記発生手段が用いる前記基準周波数をＮ倍にし、
前記制御手段は、前記発生手段が用いる前記基準周波数が（１／Ｎ）になっている場合に、前記割り込み手段が用いる前記基準個数のうち、直近の前記周期的な割り込みの時点から前記他の割り込みの時点までの経過時間に相当する部分を除いた残りの部分のＮ倍を新たな基準個数とした状態で前記割り込み手段の動作を再開することを特徴とする請求項５に記載の省電力制御装置。
【請求項７】
印刷に関する処理を行っていない状態が予め定められた時間以上継続した場合に、自装置の電力状態を通常電力状態から当該通常電力状態よりも消費電力が低い低電力状態へ移行する移行手段と、
自装置の電力状態が前記通常電力状態から前記低電力状態へ移行される際に、印刷に関する処理を行う時間と基準時間とを比較することにより当該処理を行うかどうかを判定するためのオペレーティングシステムの周期的な割り込みの間隔がＮ倍になるような設定を行う設定手段と、
前記周期的な割り込みの間隔がＮ倍になるような設定が行われた場合に、当該設定が行われた後の当該周期的な割り込みの時点で前記基準時間に加算される第１の時間が、当該設定が行われる前の当該周期的な割り込みの時点で前記基準時間に加算されていた第２の時間のＮ倍になるように制御する制御手段と
を備えたことを特徴とする印刷装置（Ｎ＞１）。
【請求項８】
コンピュータに、
自装置の電力状態を通常電力状態から当該通常電力状態よりも消費電力が低い低電力状態へ移行する機能と、
自装置の電力状態が前記通常電力状態から前記低電力状態へ移行される際に、オペレーティングシステムの周期的な割り込みの間隔がＮ倍になるような設定を行う機能と、
前記周期的な割り込みの間隔がＮ倍になるような設定が行われた場合に、当該設定が行われた後の当該周期的な割り込みの時点で前記オペレーティングシステムにおける時間に加算される第１の時間が、当該設定が行われる前の当該周期的な割り込みの時点で前記オペレーティングシステムにおける時間に加算されていた第２の時間のＮ倍になるように制御する機能と
を実現させるためのプログラム（Ｎ＞１）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、省電力制御装置、印刷装置、プログラムに関する。
【背景技術】
【０００２】
通常の電力で動作する通常電力状態よりも低い電力で動作する低電力状態においては、オペレーティングシステムの最小時間単位（ティック）は、通常電力状態に対応する最小時間単位（ティック）よりも長い時間とする省電力制御方法は知られている（例えば、特許文献１参照）。
【０００３】
省電力制御部が、通常状態から省電力状態への遷移時に、動作状態管理部によって管理されている情報処理装置の動作状態を取得し、取得した動作状態に応じてタイムアウト時刻を遅らせるための遅延時間を調節し、タイマ制御部が、省電力制御部によって調節された遅延時間に応じてタイムアウト時刻を遅らせ、省電力状態から通常状態への復帰時に、遅らせたタイムアウト時刻を既に経過しているタイマ割り込みのタイムアウト処理を一括して行う情報処理装置も知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−４６８１１号公報
【特許文献２】特開２０１２−３６９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、通常電力状態から低電力状態へ移行した際に、オペレーティングシステムの周期的な割り込みの間隔を広げたとしても、通常電力状態のオペレーティングシステムにおける時間を維持することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、自装置の電力状態を通常電力状態から当該通常電力状態よりも消費電力が低い低電力状態へ移行する移行手段と、自装置の電力状態が前記通常電力状態から前記低電力状態へ移行される際に、オペレーティングシステムの周期的な割り込みの間隔がＮ倍になるような設定を行う設定手段と、前記周期的な割り込みの間隔がＮ倍になるような設定が行われた場合に、当該設定が行われた後の当該周期的な割り込みの時点で前記オペレーティングシステムにおける時間に加算される第１の時間が、当該設定が行われる前の当該周期的な割り込みの時点で前記オペレーティングシステムにおける時間に加算されていた第２の時間のＮ倍になるように制御する制御手段とを備えたことを特徴とする省電力制御装置（Ｎ＞１）である。
請求項２に記載の発明は、前記制御手段は、前記周期的な割り込みの間隔がＮ倍になるような設定が行われた場合に、当該周期的な割り込み以外の他の割り込みの時点で、直近の当該周期的な割り込みの時点から当該他の割り込みの時点までの経過時間に基づく第３の時間が、前記オペレーティングシステムにおける時間に加算されるように制御することを特徴とする請求項１に記載の省電力制御装置である。
請求項３に記載の発明は、前記制御手段は、前記周期的な割り込みの間隔がＮ倍になるような設定が行われた場合に、前記他の割り込みの時点で、前記第２の時間の整数倍の時間のうち前記経過時間を超えない最大の時間である前記第３の時間が、前記オペレーティングシステムにおける時間に加算されるように制御することを特徴とする請求項２に記載の省電力制御装置である。
請求項４に記載の発明は、クロックの数が基準個数に達すると前記周期的な割り込みを行う割り込み手段と、前記周期的な割り込みの時点で当該周期的な割り込みの間隔に相当する時間を前記オペレーティングシステムにおける時間に加算する加算手段とを更に備え、前記設定手段は、前記割り込み手段が用いる前記基準個数をＮ倍にすることにより、前記周期的な割り込みの間隔がＮ倍になるような設定を行い、前記制御手段は、前記加算手段が加算する前記周期的な割り込みの間隔に相当する時間をＮ倍にすることにより、前記第１の時間が前記第２の時間のＮ倍になるように制御することを特徴とする請求項１乃至請求項３の何れかに記載の省電力制御装置である。
請求項５に記載の発明は、基準周波数でクロックを発生する発生手段と、前記クロックの数が基準個数に達すると前記周期的な割り込みを行う割り込み手段とを更に備え、前記設定手段は、前記発生手段が用いる前記基準周波数を（１／Ｎ）にすることにより、前記周期的な割り込みの間隔がＮ倍になるような設定を行い、前記制御手段は、前記割り込み手段が用いる前記基準個数を（１／Ｎ）にすることにより、前記第１の時間が前記第２の時間のＮ倍になるように制御することを特徴とする請求項１乃至請求項３の何れかに記載の省電力制御装置である。
請求項６に記載の発明は、前記設定手段は、前記発生手段が用いる前記基準周波数が（１／Ｎ）になっている場合に、前記周期的な割り込み以外の他の割り込みの時点で、前記発生手段が用いる前記基準周波数をＮ倍にし、前記制御手段は、前記発生手段が用いる前記基準周波数が（１／Ｎ）になっている場合に、前記割り込み手段が用いる前記基準個数のうち、直近の前記周期的な割り込みの時点から前記他の割り込みの時点までの経過時間に相当する部分を除いた残りの部分のＮ倍を新たな基準個数とした状態で前記割り込み手段の動作を再開することを特徴とする請求項５に記載の省電力制御装置である。
請求項７に記載の発明は、印刷に関する処理を行っていない状態が予め定められた時間以上継続した場合に、自装置の電力状態を通常電力状態から当該通常電力状態よりも消費電力が低い低電力状態へ移行する移行手段と、自装置の電力状態が前記通常電力状態から前記低電力状態へ移行される際に、印刷に関する処理を行う時間と基準時間とを比較することにより当該処理を行うかどうかを判定するためのオペレーティングシステムの周期的な割り込みの間隔がＮ倍になるような設定を行う設定手段と、前記周期的な割り込みの間隔がＮ倍になるような設定が行われた場合に、当該設定が行われた後の当該周期的な割り込みの時点で前記基準時間に加算される第１の時間が、当該設定が行われる前の当該周期的な割り込みの時点で前記基準時間に加算されていた第２の時間のＮ倍になるように制御する制御手段とを備えたことを特徴とする印刷装置（Ｎ＞１）である。
請求項８に記載の発明は、コンピュータに、自装置の電力状態を通常電力状態から当該通常電力状態よりも消費電力が低い低電力状態へ移行する機能と、自装置の電力状態が前記通常電力状態から前記低電力状態へ移行される際に、オペレーティングシステムの周期的な割り込みの間隔がＮ倍になるような設定を行う機能と、前記周期的な割り込みの間隔がＮ倍になるような設定が行われた場合に、当該設定が行われた後の当該周期的な割り込みの時点で前記オペレーティングシステムにおける時間に加算される第１の時間が、当該設定が行われる前の当該周期的な割り込みの時点で前記オペレーティングシステムにおける時間に加算されていた第２の時間のＮ倍になるように制御する機能とを実現させるためのプログラム（Ｎ＞１）である。
【発明の効果】
【０００７】
請求項１の発明によれば、通常電力状態から低電力状態へ移行した際に、オペレーティングシステムの周期的な割り込みの間隔を広げたとしても、通常電力状態のオペレーティングシステムにおける時間を維持することができる。
請求項２の発明によれば、本構成を有していない場合に比較して、オペレーティングシステムの周期的な割り込みの間隔を広げた際に、その周期的な割り込み以外の割り込みが行われたとしても、通常電力状態のオペレーティングシステムにおける時間を維持できる可能性が高まる。
請求項３の発明によれば、本構成を有していない場合に比較して、オペレーティングシステムの周期的な割り込みの間隔を広げた際に、その周期的な割り込み以外の割り込みが通常電力状態においてオペレーティングシステムの周期的な割り込みが行われていた時点以外の時点で行われたとしても、通常電力状態のオペレーティングシステムにおける時間を維持できる可能性が高まる。
請求項４の発明によれば、通常電力状態から低電力状態へ移行した際に、クロックの数と比較する基準個数を大きくすることでオペレーティングシステムの周期的な割り込みの間隔が広げたとしても、通常電力状態のオペレーティングシステムにおける時間を維持することができる。
請求項５の発明によれば、通常電力状態から低電力状態へ移行した際に、クロックの基準周波数を低くすることでオペレーティングシステムの周期的な割り込みの間隔を広げたとしても、通常電力状態のオペレーティングシステムにおける時間を維持することができる。
請求項６の発明によれば、本構成を有していない場合に比較して、クロックの基準周波数を低くすることでオペレーティングシステムの周期的な割り込みの間隔を広げた際に、その周期的な割り込み以外の割り込みが通常電力状態においてオペレーティングシステムの周期的な割り込みが行われていた時点以外の時点で行われたとしても、広げられた周期的な割り込みの間隔を維持できる可能性が高まる。
請求項７の発明によれば、通常電力状態から低電力状態へ移行した際に、印刷に関する処理を行うかどうかを基準時間によって判定するためのオペレーティングシステムの周期的な割り込みの間隔を広げたとしても、通常電力状態の基準時間を維持することができる。
請求項８の発明によれば、低電力状態でオペレーティングシステムの周期的な割り込みの間隔を広げたとしても、その周期的な割り込みの時点において、通常電力状態のオペレーティングシステムにおける時間を維持することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態が適用される画像処理装置の構成例を示した図である。
【図２】第１の実施の形態における画像処理装置の機能構成例を示したブロック図である。
【図３】第１の実施の形態における節電制御タスクについて説明するための図である。
【図４】第１の実施の形態における画像処理装置の動作例を示したフローチャートである。
【図５】第１の実施の形態における低電力状態でのタスク切り替えのシーケンスを示した図である。
【図６】第２の実施の形態における画像処理装置の機能構成例を示したブロック図である。
【図７】第２の実施の形態における節電制御タスクについて説明するための図である。
【図８】第２の実施の形態における画像処理装置の動作例を示したフローチャートである。
【図９】第２の実施の形態における低電力状態でのタスク切り替えのシーケンスを示した図である。
【図１０】第３の実施の形態における画像処理装置の機能構成例を示したブロック図である。
【図１１】第３の実施の形態における節電制御タスクについて説明するための図である。
【図１２】第３の実施の形態における画像処理装置の動作例を示したフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
【００１０】
［画像処理装置のハードウェア構成］
図１は、本実施の形態が適用される画像処理装置１のハードウェア構成例を示した図である。図示するように、画像処理装置１は、ＣＰＵ（Central Processing Unit）１ａと、ＲＡＭ（Random Access Memory）１ｂと、ＲＯＭ（Read Only Memory）１ｃと、ＨＤＤ（Hard Disk Drive）１ｄと、操作パネル１ｅと、画像読取部１ｆと、画像形成部１ｇと、通信インターフェース（以下、「通信Ｉ／Ｆ」と表記する）１ｈとを備える。
【００１１】
ＣＰＵ１ａは、ＲＯＭ１ｃ等に記憶された各種プログラムをＲＡＭ１ｂにロードして実行することにより、後述する各機能を実現する。
【００１２】
ＲＡＭ１ｂは、ＣＰＵ１ａの作業用メモリ等として用いられるメモリである。
【００１３】
ＲＯＭ１ｃは、ＣＰＵ１ａが実行する各種プログラム等を記憶するメモリである。
【００１４】
ＨＤＤ１ｄは、画像読取部１ｆが読み取った画像データや画像形成部１ｇにおける画像形成にて用いる画像データ等を記憶する例えば磁気ディスク装置である。
【００１５】
操作パネル１ｅは、各種情報の表示やユーザからの操作入力の受付を行う例えばタッチパネルである。
【００１６】
画像読取部１ｆは、紙等の記録媒体に記録された画像を読み取る。ここで、画像読取部１ｆは、例えばスキャナであり、光源から原稿に照射した光に対する反射光をレンズで縮小してＣＣＤ（Charge Coupled Devices）で受光するＣＣＤ方式や、ＬＥＤ光源から原稿に順に照射した光に対する反射光をＣＩＳ（Contact Image Sensor）で受光するＣＩＳ方式のものを用いるとよい。
【００１７】
画像形成部１ｇは、記録媒体に画像を形成する。ここで、画像形成部１ｇは、例えばプリンタであり、感光体に付着させたトナーを記録媒体に転写して像を形成する電子写真方式や、インクを記録媒体上に吐出して像を形成するインクジェット方式のものを用いるとよい。
【００１８】
通信Ｉ／Ｆ１ｈは、ネットワークを介して他の装置との間で各種情報の送受信を行う。
【００１９】
［第１の実施の形態］
このような画像処理装置１において、通常、ＯＳ（Operating System）は、１周期（以下、「ＯＳ周期」という）毎に、タスクのスケジューリングのリストを評価し、タスクを遷移させるタスク遷移処理を行う。その際、実行すべきタスクがなければ、管理上設けられた形だけのタスクであるアイドルタスクに遷移し、ＣＰＵ１ａ及びＲＡＭ１ｂを節電状態とする考え方がある。このような考え方に基づき、ＯＳ周期毎にＣＰＵ１ａ及びＲＡＭ１ｂを節電状態とすることは、ファームウェア動作との親和性の点では非常に有用であるが、通常１０ミリ秒程度の短い間隔でＣＰＵ１ａ及びＲＡＭ１ｂの停止及び再開を繰り返すことになるため、非効率的である。こうしたことから、節電状態ではＯＳ周期の間隔を長くすることによって消費電力効果を高めることも考えられる。
【００２０】
しかしながら、その場合は、単にＯＳ周期を広げているだけなので、実時間が進んでも、ＯＳにおける時間、つまり、ＯＳがタスク切り替えを行うかどうかを判断するためにタスクの実行時間と比較される時間（以下、「ＯＳ時間」という）は進まず、ＯＳ時間と実時間とが同期しないことになる。例えば、ＯＳ周期毎にＯＳ時間が１進むとすると、ＯＳ周期が１０ミリ秒の場合、ＯＳ時間は１０ミリ秒で１進むが、ＯＳ周期を１秒に広げた場合、ＯＳ時間は１秒で１進むことになる。従って、タスクのスケジューリング上の実行タイミングと実時間における実行タイミングとに不一致が生じてしまう。即ち、ＯＳ時間に基づいて周期的に動作するようにスケジューリングされたタスクによる処理（以下、「周期処理」という）については、開始するまでの時間が長くなり、応答性が改善されない。例えば、ＯＳ時間が１進むと起動されるタスクは、ＯＳ周期が１０ミリ秒の場合、１０ミリ秒後に起動されるが、ＯＳ周期を１秒に広げた場合は、１秒後に起動されることになる。
【００２１】
そこで、第１の実施の形態では、ＯＳ周期毎の割り込みのタイミングでＯＳ時間を実時間に合わせて補正することによって、タスクのスケジューリング上の実行タイミングを実時間における実行タイミングに合わせる。具体的には、ＯＳ周期毎に、本来１カウントアップしていたＯＳ時間を、ＯＳ周期を広げた比率に応じた数だけカウントアップする。例えば、非節電状態でのＯＳ周期が１０ミリ秒で、このときＯＳ時間をＯＳ周期毎に１カウントアップしていたとすると、節電状態でＯＳ周期を１秒に広げたならば、ＯＳ時間をＯＳ周期毎に１００（＝１秒／１０ミリ秒）カウントアップする。
【００２２】
尚、この場合、タスク実行の粒度は通常１０ミリ秒ではなくなるので、１０ミリ秒の粒度を必要とするタスクは実行できない、という制限がある。しかし、殆どの場合、１０ミリ秒のような粒度を必要とするタスクの遷移は印刷処理や受信処理等の特定の処理を行っている場合に生じ、それとは異なるアイドル状態では分単位や時間単位でのスケジューリングが行えれば装置としてのスケジューリングに破綻は生じないので、第１の実施の形態では、この制限を問題としていない。
【００２３】
図２は、第１の実施の形態における画像処理装置１について示した図である。図示するように、画像処理装置１は、タスク格納部１０、タスク制御部２０、割り込み制御部３０、受信制御部４０、ＯＳタイマ制御部５０、電力消費資源６０を備えている。
【００２４】
タスク格納部１０は、電力消費資源６０の節電制御に関する処理を行う節電制御タスク１１、外部からのデータ（印刷データ）の受信に関する処理を行う受信タスク１２等、複数のタスクを格納している。これら各タスクは、後述するタスク制御部２０のタスク実行制御部２３によって、タスク格納部１０から読み出され実行される。尚、節電制御タスク１１の詳細については後述する。
【００２５】
タスク制御部２０は、タスク管理テーブル２１と、ＯＳ時間情報記憶部２２と、タスク実行制御部２３とを有しており、ＯＳの主要処理部として機能する。
【００２６】
タスク管理テーブル２１には、複数のタスクに関するプライオリティを示す情報、タスク毎にタスクの状態を示す情報、タスク毎の起動すべきタイミング等のタスク動作の条件を示す情報等のタスクに関する情報が登録されている。
【００２７】
ＯＳ時間情報記憶部２２は、後述するＯＳタイマ割り込み制御部３２によってカウントアップされるＯＳ時間に関する情報（ＯＳ時間情報）を記憶する。ＯＳ時間は、例えば、通常電力状態においてはＯＳ周期毎に１カウントアップされ、低電力状態になってＯＳ周期がＮ倍になるとＯＳ周期毎にＮカウントアップされるようになっている。尚、本明細書において、Ｎは１より大きい数を表す記号として用いる。
【００２８】
タスク実行制御部２３は、タスク管理テーブル２１及びＯＳ時間情報記憶部２２を参照して、指定された時間を経過する等の条件（タスク動作の条件）が成立するかどうかを判断し、タスク格納部１０に格納されている複数のタスクの中から、タスク動作の条件が成立したタスクを読み出して実行する。
【００２９】
割り込み制御部３０は、割り込み共通処理部３１と、ＯＳタイマ割り込み制御部３２と、受信割り込み制御部３３とを有している。
【００３０】
割り込み共通処理部３１は、各種割り込みに共通の処理を行う。特に、受け付けた割り込みの種類を判定し、ＯＳタイマ割り込みの場合には、ＯＳタイマ割り込み制御部３２を動作させ、一方、ＯＳタイマ割り込み以外の割り込み例えば受信割り込みの場合は、受信割り込み制御部３３を実行させる。尚、割り込み共通処理部３１は、図示しないが、ＯＳタイマ割り込み以外の割り込みが受信割り込み以外である場合は、その割り込みに対応して設けられる割り込み制御部を実行させる。
【００３１】
ＯＳタイマ割り込み制御部３２は、割り込み共通処理部３１の制御に従って、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間をカウントアップする。例えば、通常電力状態においてはＯＳ周期毎に１カウントアップし、低電力状態になってＯＳ周期がＮ倍になるとＯＳ周期毎にＮカウントアップする。本実施の形態では、周期的な割り込みの間隔に相当する時間をオペレーティングシステムにおける時間に加算する加算手段の一例として、ＯＳタイマ割り込み制御部３２を設けている。
【００３２】
受信割り込み制御部３３は、割り込み共通処理部３１の制御に従って、受信タスク１２を起動させる。
【００３３】
受信制御部４０は、受信Ｉ／Ｆ部４１と、割り込み発生部４２とを有している。
【００３４】
受信Ｉ／Ｆ部４１は、ホストコンピュータ（以下、「ホストＰＣ」という）７０からデータを受信した場合に、割り込み発生部４２に対し受信割り込み要求を通知する。尚、受信Ｉ／Ｆ部４１とホストＰＣ７０とは、有線回線で接続するようにしてもよいし、無線回線で接続するようにしてもよい。
【００３５】
割り込み発生部４２は、受信Ｉ／Ｆ部４１からの受信割り込み要求に基づき、受信割り込みを示す信号を、割り込み制御部３０の割り込み共通処理部３１へ出力する。この場合の割り込み発生条件は、受信Ｉ／Ｆ部４１がホストＰＣ７０からデータを受信したことである。
【００３６】
ＯＳタイマ制御部５０は、クロック発生部５１と、ＯＳタイマ部５２と、割り込み発生部５３とを有している。
【００３７】
クロック発生部５１は、クロック（システムクロック）を生成し、これをＯＳタイマ部５２に出力する。
【００３８】
ＯＳタイマ部５２は、クロック発生部５１によって生成されたクロックをカウントし、クロックの数がＯＳ周期に対応する基準計数値に達する毎に、割り込み発生部５３に対しＯＳタイマ割り込み要求を通知する。本実施の形態では、基準個数の一例として、基準計数値を用いており、クロックの数が基準個数に達すると周期的な割り込みを行う割り込み手段の一例として、ＯＳタイマ部５２を設けている。
【００３９】
割り込み発生部５３は、ＯＳタイマ部５２からのＯＳタイマ割り込み要求に基づき、ＯＳタイマ割り込みを示す信号を、割り込み制御部３０の割り込み共通処理部３１へ出力する。この場合の割り込み発生条件は、クロックの数が基準計数値に達したとＯＳタイマ部５２が判定したことである。
【００４０】
電力消費資源６０は、画像処理装置１が有する電力を消費する資源であるが、その詳細については後述する。
【００４１】
尚、本実施の形態では、図示しないが、ＯＳタイマ割り込みを要求するＯＳタイマ制御部５０と、ＯＳタイマ割り込み以外の割り込みを要求する、受信制御部４０を含む複数の制御部とを有している。従って、割り込み制御部３０において、割り込み共通処理部３１は、ＯＳタイマ制御部５０、ＯＳタイマ制御部５０以外の受信制御部４０を含む複数の制御部のうち、割り込みを要求した制御部からの割り込みの種類を判定し、この判定結果に基づいて、対応する割り込み制御部を起動させる。
【００４２】
次に、節電制御タスク１１について、詳細に説明する。図３は、節電制御タスク１１について説明するための図である。図示するように、節電制御タスク１１は、節電制御部１１０として機能するようになっており、画像処理装置１詳しくは電力消費資源６０の消費電力を低減させる制御を行う。
【００４３】
電力消費資源６０は、ヒータ６１、バックライト６２、パネル電源６３、及び外部クロック６４を含んでいる。ここで、本実施の形態において、通常電力状態（非節電状態）とは、全ての電力消費資源６０、即ち、ヒータ６１、バックライト６２、パネル電源６３、外部クロック６４等が定格電力（通常の電力）で動作する状態のことである。これに対し、低電力状態とは、全ての電力消費資源６０が定格電力よりも低い電力（通常の電力よりも低い電力）で動作する状態のことである。
【００４４】
節電制御部１１０は、節電条件判定部１１１と、節電実行制御部１１２と、ＯＳタイマ設定部１１３とを有している。
【００４５】
節電条件判定部１１１は、通常電力状態において節電移行条件が成立するかどうかの判定処理（以下、「節電移行判定処理」という）を実行すると共に、低電力状態において節電復帰条件が成立するかどうかの判定処理（以下、「節電復帰判定処理」という）を実行し、これらの判定処理の結果を節電実行制御部１１２へ出力する。ここで、節電移行条件は通常電力状態から低電力状態へ移行するための移行条件であり、この節電移行条件が成立する場合とは、例えば非印刷状態（印刷に関する処理を行っていない状態を含む。以下同じ。）が予め定められた時間継続したとき等である。一方、節電復帰条件は低電力状態から通常電力状態へ復帰するための復帰条件であり、この節電復帰条件が成立する場合とは、例えば印刷データを受信したとき等である。
【００４６】
節電実行制御部１１２は、節電条件判定部１１１の節電移行判定処理の結果又は節電復帰判定処理の結果に基づいて、電力消費資源６０を低電力状態又は通常電力状態に制御すると共に、ＯＳタイマの基準計数値及びＯＳ時間のカウントアップ値を低電力状態又は通常電力状態に対応するものにすべき旨をＯＳタイマ設定部１１３へ通知する。具体的には、画像処理装置１（の電力消費資源６０）が通常電力状態であったときに、節電移行判定処理の結果が節電移行条件が成立する旨の場合には、電力消費資源６０を低電力状態つまり節電状態に制御すると共に、ＯＳタイマ設定部１１３には低電力状態に対応する基準計数値及びカウントアップ値にすべき旨を通知する。これに対し、画像処理装置１（の電力消費資源６０）が低電力状態であったときに、節電復帰判定処理の結果が節電復帰条件が成立する旨の場合は、電力消費資源６０を通常電力状態つまり非節電状態に制御すると共に、ＯＳタイマ設定部１１３には通常電力状態に対応する基準計数値及びカウントアップ値にすべき旨を通知する。本実施の形態では、自装置の電力状態を通常電力状態から低電力状態へ移行する移行手段との一例として、節電実行制御部１１２を設けている。
【００４７】
ＯＳタイマ設定部１１３は、節電実行制御部１１２からの通知内容に応じて、ＯＳタイマ部５２の基準計数値及びＯＳタイマ割り込み制御部３２のカウントアップ値を変更する。具体的には、通常電力状態に対応する基準計数値及びカウントアップ値にすべき旨が通知された場合には、ＯＳタイマ部５２の基準計数値及びＯＳタイマ割り込み制御部３２のカウントアップ値を通常電力状態に対応する基準計数値及びカウントアップ値に設定する。これに対し、低電力状態に対応する基準計数値及びカウントアップ値にすべき旨が通知された場合には、ＯＳタイマ部５２の基準計数値及びＯＳタイマ割り込み制御部３２のカウントアップ値をそれぞれ通常電力状態に対応する基準計数値及びカウントアップ値のＮ倍の値に設定する。ここで、ＯＳタイマ部５２において設定される基準計数値は、通常電力状態のときには例えば１０ミリ秒に対応する値に、低電力状態のときには例えば１秒に対応する値にそれぞれ設定し、ＯＳタイマ割り込み制御部３２のカウントアップ値は、通常電力状態のときには例えば１に、低電力状態のときには例えば１００にそれぞれ設定するとよい。本実施の形態では、オペレーティングシステムの周期的な割り込みの間隔がＮ倍になるような設定を行う設定手段、設定が行われた後の周期的な割り込みの時点でオペレーティングシステムにおける時間に加算される第１の時間が、設定が行われる前の周期的な割り込みの時点でオペレーティングシステムにおける時間に加算されていた第２の時間のＮ倍になるように制御する制御手段の一例として、ＯＳタイマ設定部１１３を設けている。
【００４８】
尚、本実施の形態においては、タスク制御部２０、割り込み制御部３０、受信制御部４０、クロック発生部５１を除くＯＳタイマ制御部５０のそれぞれの機能を実現するためのソフトウェア（プログラム）がＲＯＭ１ｃ又はＨＤＤ１ｄに格納されている。またタスク格納部１０は、ＲＯＭ１ｃ又はＨＤＤ１ｄで実現される。ＣＰＵ１ａが、ＲＯＭ１ｃ又はＨＤＤ１ｄからＲＡＭ１ｂへ、これらのソフトウェアを読み出して実行することにより、各構成要素の機能を実現するようになっている。
【００４９】
次に、画像処理装置１の省電力制御処理について、詳細に説明する。図４は、その省電力制御処理の処理手順を示すフローチャートである。
【００５０】
画像処理装置１の電源が投入（オン）された場合は、最初に、タスク制御部２０（のタスク実行制御部２３）が、タスク格納部１０から節電制御タスク１１を読み出して実行するようになっている。尚、電源投入時は、ＯＳタイマ割り込みが発生しなくとも、タスク実行制御部２３が、タスク格納部１０から節電制御タスク１１を読み出して実行するようになっている。これ以降においては、タスク実行制御部２３は、タスク管理テーブル２１及びＯＳ時間情報記憶部２２を参照して決定されたタスクをタスク格納部１０から読み出して実行することになる。
【００５１】
さて、タスク実行制御部２３によって実行される節電制御タスク１１、即ち節電制御部１１０では、節電条件判定部１１１が、初期状態つまり通常電力状態とすべき旨を節電実行制御部１１２に出力する。
【００５２】
節電実行制御部１１２は、電力消費資源６０としてのヒータ６１、バックライト６２、パネル電源６３、外部クロック６４等を通常電力状態にすると共に、ＯＳタイマ設定部１１３に対して通常電力状態に対応する基準計数値及びカウントアップ値にすべき旨を通知する。すると、ＯＳタイマ設定部１１３は、節電実行制御部１１２からの通知内容に基づき、ＯＳタイマ部５２の基準計数値を通常電力状態に対応する基準計数値に設定し、ＯＳタイマ割り込み制御部３２のカウントアップ値を通常電力状態に対応するカウントアップ値（例えば１）に設定する（ステップ１２１）。
【００５３】
ステップ１２１が終了した後に、電力消費資源６０が通常電力状態となっている画像処理装置１が、アイドル状態（通常アイドル状態）になったとする（ステップ１２２）。
【００５４】
ところで、ＯＳタイマ部５２は、クロック発生部５１によって発生されるクロックの数が基準計数値に達する毎にＯＳタイマ割り込み要求を割り込み発生部５３に送出する。そのＯＳタイマ割り込み要求を受け取った割り込み発生部５３が、ＯＳタイマ割り込みを示す信号を割り込み共通処理部３１へ出力すると、割り込み共通処理部３１は、ＯＳタイマ割り込みを示す信号に基づきＯＳタイマ割り込みであると判定して、ＯＳタイマ割り込み制御部３２を動作させる。
【００５５】
次に、ＯＳタイマ割り込み制御部３２が、通常電力状態に対応するカウントアップ値だけ、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間をカウントアップし、タスク実行制御部２３は、タスク管理テーブル２１を参照することにより得られるタスク動作の条件と、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間とに基づき、タスク格納部１０から節電制御タスク１１を読み出して実行する。このようにしてタスク実行制御部２３によって実行される節電制御タスク１１つまり節電制御部１１０では、節電条件判定部１１１が、節電移行判定処理、即ち通常電力状態において節電移行条件が成立するかどうかを判定する処理を行う（ステップ１２３）。
【００５６】
ステップ１２３において、節電移行条件が成立しないと判定された場合は、ステップ１２２に戻る。
【００５７】
一方、節電条件判定部１１１は、ステップ１２３において、節電移行条件が成立したと判定した場合は、その旨を節電実行制御部１１２へ通知する。節電移行条件が成立した旨を受け取った節電実行制御部１１２は、電力消費資源６０としてのヒータ６１、バックライト６２、パネル電源６３、外部クロック６４等を低電力状態にすると共に、ＯＳタイマ設定部１１３に対して通常電力状態に対応する基準計数値及びカウントアップ値のＮ倍の基準計数値及びカウントアップ値にすべき旨を通知する。すると、ＯＳタイマ設定部１１３は、節電実行制御部１１２からの通知内容に基づき、ＯＳタイマ部５２の基準計数値を通常電力状態に対応する基準計数値のＮ倍に変更し、ＯＳタイマ割り込み制御部３２のカウントアップ値を通常電力状態に対応するカウントアップ値のＮ倍（例えばＮ）に変更する（ステップ１２４）。
【００５８】
ステップ１２４が終了した後に、電力消費資源６０が低電力状態となっている画像処理装置１がアイドル状態（節電アイドル状態）になったとする（ステップ１２５）。
【００５９】
ところで、ＯＳタイマ部５２は、クロック発生部５１によって発生されるクロックの数が基準計数値に達する毎にＯＳタイマ割り込み要求を割り込み発生部５３に送出する。上述したように割り込み発生部５３によって割り込みが発生されると、割り込み共通処理部３１を介して、ＯＳタイマ割り込み制御部３２、タスク実行制御部２３が順次実行される。
【００６０】
タスク実行制御部２３は、タスク管理テーブル２１を参照することにより得られるタスク動作の条件と、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間とに基づき、タスク格納部１０から節電制御タスク１１を読み出して実行する。このようにしてタスク実行制御部２３によって実行される節電制御タスク１１つまり節電制御部１１０では、節電条件判定部１１１が、節電復帰判定処理、即ち低電力状態において節電復帰条件が成立するかどうかを判定する処理を行う（ステップ１２６）。
【００６１】
節電条件判定部１１１は、ステップ１２６において、予め定められた時間内に印刷データが受信されない（非印刷状態が予め定められた時間継続した）等の要件が満たされて、節電復帰条件が成立しない場合（低電力状態を維持する場合）は、その旨を割り込み制御部３０へ通知する。これは、節電復帰条件が成立しない旨が、節電制御タスク１１を実行しているタスク実行制御部２３つまりタスク制御部２０から割り込み制御部３０に通知されることを意味する。
【００６２】
一方、ステップ１２６において、予め定められた時間内に印刷データが受信される等の要件が満たされて、節電復帰条件が成立した場合は、ステップ１２１に戻る。
【００６３】
さて、節電復帰条件が成立しない旨（低電力状態を維持する旨）の通知を受け取った割り込み制御部３０では、割り込み共通処理部３１が、割り込みが発生したかどうかを判断する（ステップ１２７）。そして、この判断の結果、割り込みを示す信号を受信して割り込みが発生した場合は、その割り込みの種類を判定する。即ち、その割り込みがＯＳタイマ割り込みであるかどうかを判定する（ステップ１２８）。
【００６４】
ステップ１２８において、割り込みがＯＳタイマ割り込みであると判定された場合、割り込み共通処理部３１は、ＯＳタイマ割り込みに対応する割り込み制御部、即ちＯＳタイマ割り込み制御部３２を動作させる。すると、ＯＳタイマ割り込み制御部３２は、ＯＳタイマ割り込み処理を実行する。具体的には、ステップ１２４で設定された通常電力状態のカウントアップ値のＮ倍のカウントアップ値（例えばＮ）だけ、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間をカウントアップし、ＯＳタイマ部５２を再スタートさせる（ステップ１２９）。
【００６５】
尚、上述したステップ１２４では、タスク制御部２０において、タスク実行制御部２３の動作間隔つまりＯＳ周期が通常電力状態に対応するＯＳ周期のＮ倍となり、タスク実行制御部２３がタスク管理テーブル２１及びＯＳ時間情報記憶部２２を参照してタスク切り替えを実施する間隔もＮ倍となった。しかし、このステップ１２９において、ＯＳ時間情報記憶部２２内のＯＳ時間には通常電力状態におけるカウントアップ値のＮ倍のカウントアップ値が加算されるので、ＯＳ時間と実時間とは同期することになる。
【００６６】
一方、ステップ１２８において、割り込みがＯＳタイマ割り込み以外の割り込みであると判定された場合、割り込み共通処理部３１は、その割り込みに対応する割り込み制御部を動作させる。すると、割り込み制御部は、その割り込みを実行する（ステップ１３０）。
【００６７】
そして、ステップ１２９又はステップ１３０が終了した後に、タスク実行制御部２３は、タスク管理テーブル２１及びＯＳ時間情報記憶部２２を参照して、タスク切り替えを実施する（ステップ１３１）。
【００６８】
尚、ステップ１２７において割り込み共通処理部３１によって割り込みが発生したと判断されるのは、ホストＰＣ７０が印刷処理を実行して（ステップ１３２）、画像処理装置１に向けて印刷データを送信し（ステップ１３３）、受信制御部４０の受信Ｉ／Ｆ部４１がホストＰＣ７０との通信を開始したことに起因して割り込み発生部４２が受信割り込みを発生させた場合、ＯＳタイマ制御部５０の割り込み発生部５３がＯＳ周期毎にＯＳタイマ割り込みを発生させた場合等である。
【００６９】
図５は、第１の実施の形態における低電力状態でのタスク切り替えのシーケンスを示した図である。図示するように、低電力状態では、ＯＳタイマ割り込み５０１，５０２，５０３が発生する間隔であるＯＳ周期は１秒に広がっている。しかしながら、ＯＳ時間は、１秒毎に１ずつカウントアップするのではなく、図の右側に示すように、１秒毎に１００ずつカウントアップするようになっている。
【００７０】
［第２の実施の形態］
第１の実施の形態では、ＯＳ時間を実時間と同期させるようにしたことで、節電状態においても、周期処理の応答性を維持することを可能としている。しかしながら、第１の実施の形態では、割り込みがＯＳタイマ割り込みだけであれば殆ど問題は生じないものの、割り込みがＯＳタイマ割り込み以外の割り込みであれば問題が生じる。それは、ＯＳタイマ割り込み以外の割り込みはその発生時点で実行されたとしても、ＯＳ時間がＯＳタイマ割り込みの発生時点でしかカウントアップされないので、ＯＳタイマ割り込み以外の割り込みが周期処理と連動しているような場合、その周期処理はその割り込みの発生時点で開始されず、この時点での応答性が改善しない、といった問題である。
【００７１】
そこで、第２の実施の形態では、ＯＳタイマ割り込み以外の割り込みが発生した場合に、その時点での経過時間に相当するカウントアップ値をＯＳ時間に加算してタスクの実行を制御する。
【００７２】
図６は、第２の実施の形態における画像処理装置１について示した図である。図６では、図２に示した構成要素に相当する構成要素には同じ符号を付しており、図示するように、画像処理装置１は、タスク格納部１０、タスク制御部２０、割り込み制御部３０、受信制御部４０、ＯＳタイマ制御部５０、電力消費資源６０を備えている。
【００７３】
タスク格納部１０は、節電制御タスク１１、受信タスク１２等、複数のタスクを格納している。これら複数のタスクは、節電制御タスク１１を除き、第１の実施の形態と同じであるので、詳細な説明を省略する。尚、節電制御タスク１１の詳細については後述する。
【００７４】
タスク制御部２０は、タスク管理テーブル２１と、ＯＳ時間情報記憶部２２と、タスク実行制御部２３とを有している。これらの構成要素は、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間のカウントアップを除き、第１の実施の形態と同じであるので、詳細な説明を省略する。第２の実施の形態において、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間は、ＯＳタイマ割り込み制御部３２によって通常電力状態においても低電力状態においてもＯＳ周期毎に１カウントアップされ、後述するＯＳタイマ監視処理部３４によって何らかの割り込みが発生した時点でのカウントアップ値だけカウントアップされる。
【００７５】
割り込み制御部３０は、割り込み共通処理部３１と、ＯＳタイマ割り込み制御部３２と、受信割り込み制御部３３とを有している。
【００７６】
割り込み共通処理部３１は、ＯＳタイマ監視処理部３４を有する点以外は、第１の実施の形態と同じである。ＯＳタイマ監視処理部３４は、ＯＳタイマ部５２でクロックの数が基準計数値に達する毎にカウントアップされるカウント値を監視し、何らかの割り込みが発生した場合に、その時点でのカウント値だけ、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間をカウントアップする。但し、ＯＳタイマ割り込みが発生した場合は、その時点でのカウント値から１減じた値だけ、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間をカウントアップする。ＯＳタイマ割り込みが発生した場合は、ＯＳタイマ割り込み制御部３２がＯＳ時間を１カウントアップするからである。本実施の形態では、設定が行われた後の周期的な割り込みの時点でオペレーティングシステムにおける時間に加算される第１の時間が、設定が行われる前の周期的な割り込みの時点でオペレーティングシステムにおける時間に加算されていた第２の時間のＮ倍になるように制御する制御手段の一例として、ＯＳタイマ監視処理部３４及び次のＯＳタイマ割り込み制御部３２を設けている。
【００７７】
ＯＳタイマ割り込み制御部３２は、割り込み共通処理部３１の制御に従って、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間をカウントアップする。第２の実施の形態では、通常電力状態においても低電力状態においてもＯＳ周期毎に１カウントアップする。本実施の形態では、周期的な割り込みの間隔に相当する時間をオペレーティングシステムにおける時間に加算する加算手段の一例として、ＯＳタイマ割り込み制御部３２を設けている。
【００７８】
受信割り込み制御部３３は、第１の実施の形態と同じである。
【００７９】
受信制御部４０は、受信Ｉ／Ｆ部４１と、割り込み発生部４２とを有している。これらの構成要素は、第１の実施の形態と同じであるので、詳細な説明を省略する。
【００８０】
ＯＳタイマ制御部５０は、クロック発生部５１と、ＯＳタイマ部５２と、割り込み発生部５３とを有している。これらの構成要素は、第１の実施の形態と同じであるので、詳細な説明を省略する。本実施の形態では、クロックの数が基準個数に達すると周期的な割り込みを行う割り込み手段の一例として、ＯＳタイマ部５２を設けている。
【００８１】
電力消費資源６０は、画像処理装置１が有する電力を消費する資源である。
【００８２】
尚、本実施の形態では、図示しないが、ＯＳタイマ割り込みを要求するＯＳタイマ制御部５０と、ＯＳタイマ割り込み以外の割り込みを要求する、受信制御部４０を含む複数の制御部とを有している。従って、割り込み制御部３０において、割り込み共通処理部３１は、ＯＳタイマ制御部５０、ＯＳタイマ制御部５０以外の受信制御部４０を含む複数の制御部のうち、割り込みを要求した制御部からの割り込みの種類を判定し、この判定結果に基づいて、対応する割り込み制御部を起動させる。
【００８３】
次に、節電制御タスク１１について、詳細に説明する。図７は、節電制御タスク１１について説明するための図である。図示するように、節電制御タスク１１は、節電制御部１１０として機能するようになっており、画像処理装置１詳しくは電力消費資源６０の消費電力を低減させる制御を行う。
【００８４】
電力消費資源６０は、第１の実施の形態と同じであるので、詳細な説明は省略する。
【００８５】
節電制御部１１０は、節電条件判定部１１１と、節電実行制御部１１２と、ＯＳタイマ設定部１１３とを有している。
【００８６】
節電条件判定部１１１は、第１の実施の形態と同じであるので、詳細な説明は省略する。
【００８７】
節電実行制御部１１２は、節電条件判定部１１１の節電移行判定処理の結果又は節電復帰判定処理の結果に基づいて、電力消費資源６０を低電力状態又は通常電力状態に制御すると共に、ＯＳタイマの基準計数値を低電力状態又は通常電力状態に対応するものにすべき旨をＯＳタイマ設定部１１３へ通知する。具体的には、画像処理装置１（の電力消費資源６０）が通常電力状態であったときに、節電移行判定処理の結果が節電移行条件が成立する旨の場合には、電力消費資源６０を低電力状態つまり節電状態に制御すると共に、ＯＳタイマ設定部１１３には低電力状態に対応する基準計数値にすべき旨を通知する。これに対し、画像処理装置１（の電力消費資源６０）が低電力状態であったときに、節電復帰判定処理の結果が節電復帰条件が成立する旨の場合は、電力消費資源６０を通常電力状態つまり非節電状態に制御すると共に、ＯＳタイマ設定部１１３には通常電力状態に対応する基準計数値にすべき旨を通知する。本実施の形態では、自装置の電力状態を通常電力状態から低電力状態へ移行する移行手段との一例として、節電実行制御部１１２を設けている。
【００８８】
ＯＳタイマ設定部１１３は、節電実行制御部１１２からの通知内容に応じて、ＯＳタイマ部５２の基準計数値を変更する。具体的には、通常電力状態に対応する基準計数値にすべき旨が通知された場合には、ＯＳタイマ部５２の基準計数値を通常電力状態に対応する基準計数値に設定する。これに対し、低電力状態に対応する基準計数値にすべき旨が通知された場合には、ＯＳタイマ部５２の基準計数値を通常電力状態に対応する基準計数値のＮ倍の値に設定する。ここで、ＯＳタイマ部５２において設定される基準計数値は、通常電力状態のときには例えば１０ミリ秒に対応する値に、低電力状態のときには例えば１秒に対応する値にそれぞれ設定するとよい。本実施の形態では、オペレーティングシステムの周期的な割り込みの間隔がＮ倍になるような設定を行う設定手段の一例として、ＯＳタイマ設定部１１３を設けている。
【００８９】
尚、本実施の形態においては、タスク制御部２０、割り込み制御部３０、受信制御部４０、クロック発生部５１を除くＯＳタイマ制御部５０のそれぞれの機能を実現するためのソフトウェア（プログラム）がＲＯＭ１ｃ又はＨＤＤ１ｄに格納されている。またタスク格納部１０は、ＲＯＭ１ｃ又はＨＤＤ１ｄで実現される。ＣＰＵ１ａが、ＲＯＭ１ｃ又はＨＤＤ１ｄからＲＡＭ１ｂへ、これらのソフトウェアを読み出して実行することにより、各構成要素の機能を実現するようになっている。
【００９０】
次に、画像処理装置１の省電力制御処理について、詳細に説明する。図８は、その省電力制御処理の処理手順を示すフローチャートである。
【００９１】
画像処理装置１の電源が投入（オン）されると、ステップ１４１〜１４３が実行されるが、これらのステップは図４のステップ１２１〜１２３と同じであるので、詳細な説明は省略する。
【００９２】
ステップ１４３において、節電移行条件が成立したと判定した場合、節電条件判定部１１１は、その旨を節電実行制御部１１２へ通知する。節電移行条件が成立した旨を受け取った節電実行制御部１１２は、電力消費資源６０としてのヒータ６１、バックライト６２、パネル電源６３、外部クロック６４等を低電力状態にすると共に、ＯＳタイマ設定部１１３に対して通常電力状態に対応する基準計数値のＮ倍の基準計数値にすべき旨を通知する。すると、ＯＳタイマ設定部１１３は、節電実行制御部１１２からの通知内容に基づき、ＯＳタイマ部５２の基準計数値を通常電力状態に対応する基準計数値のＮ倍に変更する（ステップ１４４）。
【００９３】
ステップ１４４が終了した後にステップ１４５及び１４６が実行されるが、これらのステップは図４のステップ１２５及び１２６と同じであるので、詳細な説明は省略する。
【００９４】
ステップ１４６において、予め定められた時間内に印刷データが受信されない（非印刷状態が予め定められた時間継続した）等の要件が満たされて、節電復帰条件が成立しない場合（低電力状態を維持する場合）、割り込み制御部３０では、割り込み共通処理部３１が、割り込みが発生したかどうかを判断する（ステップ１４７）。
【００９５】
この判断の結果、割り込みを示す信号を受信して割り込みが発生した場合は、ＯＳタイマ監視処理部３４が、ＯＳタイマ部５２の基準計数値がＮ倍になっているかどうかを判定する（ステップ１４８）。そして、Ｎ倍になっていなければ、何もしないが、Ｎ倍になっていれば、その時点での経過時間を取得し、経過時間に基づく値を、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間に加算する（ステップ１４９）。ここで、経過時間に基づく値とは、ＯＳタイマ部５２でクロックの数が基準計数値に達する毎にカウントアップされるカウント値を意味する。つまり、ＯＳ周期の整数倍の時間が、経過時間を超えない最大の時間である場合のその整数の値である。例えばＯＳ周期が１０ミリ秒で経過時間が３３ミリ秒であるとすると、経過時間に基づく値は３となる。尚、割り込みがＯＳタイマ割り込みである場合は、後述するステップ１５１でＯＳ時間に１が加算されるので、経過時間に基づく値は（Ｎ−１）とする。従って、経過時間に基づく値は０から（Ｎ−１）までの何れかの値をとる。
【００９６】
その後、割り込み共通処理部３１は、ステップ１４７で発生したと判断された割り込みの種類を判定する。即ち、その割り込みがＯＳタイマ割り込みであるかどうかを判定する（ステップ１５０）。
【００９７】
ステップ１５０において、割り込みがＯＳタイマ割り込みであると判定された場合、割り込み共通処理部３１は、ＯＳタイマ割り込みに対応する割り込み制御部、即ちＯＳタイマ割り込み制御部３２を動作させる。すると、ＯＳタイマ割り込み制御部３２は、ＯＳタイマ割り込み処理を実行する。具体的には、通常電力状態のカウントアップ値（例えば１）だけ、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間をカウントアップし、ＯＳタイマ部５２を再スタートさせる（ステップ１５１）。
【００９８】
一方、ステップ１５０において、割り込みがＯＳタイマ割り込み以外の割り込みであると判定された場合、割り込み共通処理部３１は、その割り込みに対応する割り込み制御部を動作させる。すると、割り込み制御部は、その割り込みを実行する（ステップ１５２）。
【００９９】
そして、ステップ１５１又はステップ１５２が終了した後に、タスク実行制御部２３は、タスク管理テーブル２１及びＯＳ時間情報記憶部２２を参照して、タスク切り替えを実施する（ステップ１５３）。
【０１００】
尚、ステップ１５４及び１５５は、図４のステップ１３２及び１３３と同じであるので、詳細な説明は省略する。
【０１０１】
図９は、第２の実施の形態における低電力状態でのタスク切り替えのシーケンスを示した図である。図示するように、低電力状態では、ＯＳタイマ割り込み５０１，５０２，５０３が発生する間隔であるＯＳ周期は１秒に広がっている。しかしながら、ＯＳ時間は、１秒毎に１ずつカウントアップするのではなく、図の右側に示すように、１秒毎に１００ずつカウントアップするようになっている。また、第２の実施の形態では、１つ目のＯＳ周期の７００ミリ秒目で割り込み３０１が発生した場合に、その時点でのＯＳタイマ部５２のカウント値である７０をＯＳ時間に加算している。
【０１０２】
［第３の実施の形態］
第１及び第２の実施の形態ではクロックダウン処理について考慮しなかったが、実際はクロックダウン処理を行っている。即ち、通常時は同じクロックで動作するが、実行すべきタスクがない状態（アイドル状態）になると、低クロックで動作するようになっている。そこで、第３の実施の形態では、このクロックダウン処理に対処する。
【０１０３】
具体的には、まず、クロックダウン処理中はＯＳタイマの基準計数値を低倍する処理を行う。例えば、アイドル状態においてクロックの周波数が（１／Ｎ）になると、ＯＳタイマの基準計数値を（１／Ｎ）とし、クロックの数がこの基準計数値に達する毎にＯＳ周期が経過したものとしてＯＳタイマ割り込みを行う。
【０１０４】
また、ＯＳタイマ割り込み以外の割り込みが発生した際に、ＯＳタイマのカウント値を保持しつつクロックアップ又はクロックダウンを行って、ＯＳ周期を維持することも行う。なぜなら、第１及び第２の実施の形態では、本来１０ミリ秒のＯＳ周期を１０ミリ秒以上としたが、クロックダウンが発生する状況では、ＯＳ周期が１０ミリ秒のままだとしてもＯＳタイマを分割する問題が発生するからである。例えば、７ミリ秒のタイミングでＯＳタイマ割り込み以外の割り込みが発生した場合に、ＯＳタイマを再セットして残り３ミリ秒を計測しなければ、１０ミリ秒という本来のＯＳ周期を達成できないからである。
【０１０５】
図１０は、第３の実施の形態における画像処理装置１について示した図である。図６では、図２に示した構成要素に相当する構成要素には同じ符号を付しており、図示するように、画像処理装置１は、タスク格納部１０、タスク制御部２０、割り込み制御部３０、受信制御部４０、ＯＳタイマ制御部５０、電力消費資源６０を備えている。
【０１０６】
タスク格納部１０は、節電制御タスク１１、受信タスク１２等、複数のタスクを格納している。これら複数のタスクは、節電制御タスク１１を除き、第１の実施の形態と同じであるので、詳細な説明を省略する。尚、節電制御タスク１１の詳細については後述する。また、第１の実施の形態では、アイドルタスクが特別な動作を行うことはなかったので、図示を省略し、説明も行わなかったが、第３の実施の形態において、アイドルタスク１３は、次のような動作を行う。即ち、予め定められた時間内に印刷データが受信されない等の条件が満たされた場合に、クロック発生部５１で発生されるクロックの周波数を（１／Ｎ）に変更し、ＯＳタイマ部５２を残りのカウント値の（１／Ｎ）を基準計数値に設定して再スタートする。本実施の形態では、オペレーティングシステムの周期的な割り込みの間隔がＮ倍になるような設定を行う設定手段の一例として、アイドルタスク１３を設けている。また、本実施の形態では、ＯＳタイマ割り込み毎にＯＳ時間を１カウントアップする構成は変更しないので、設定が行われた後の周期的な割り込みの時点でオペレーティングシステムにおける時間に加算される第１の時間が、設定が行われる前の周期的な割り込みの時点でオペレーティングシステムにおける時間に加算されていた第２の時間のＮ倍になるように制御する制御手段の一例として、アイドルタスク１３を設けていると言える。
【０１０７】
タスク制御部２０は、タスク管理テーブル２１と、ＯＳ時間情報記憶部２２と、タスク実行制御部２３とを有している。これらの構成要素は、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間のカウントアップを除き、第１の実施の形態と同じであるので、詳細な説明を省略する。ＯＳ時間情報記憶部２２に記憶されたＯＳ時間は、第３の実施の形態では、ＯＳタイマ割り込み制御部３２によって通常電力状態においても低電力状態においてもＯＳ周期毎に１カウントアップされる。
【０１０８】
割り込み制御部３０は、割り込み共通処理部３１と、ＯＳタイマ割り込み制御部３２と、受信割り込み制御部３３とを有している。
【０１０９】
割り込み共通処理部３１は、ＯＳタイマ復帰部３５及びクロック復帰部３６を有する点以外は、第１の実施の形態と同じである。ＯＳタイマ復帰部３５は、ＯＳタイマ部５２のタイマ値が（１／Ｎ）になっている状態で何らかの割り込みが発生した場合に、ＯＳタイマ部５２を残りのカウント値のＮ倍を基準計数値に設定して再スタートする。クロック復帰部３６は、クロック発生部５１で発生されるクロックの周波数が（１／Ｎ）になっている状態で何らかの割り込みが発生した場合に、クロック発生部５１で発生されるクロックの周波数をＮ倍に戻す。本実施の形態では、オペレーティングシステムの周期的な割り込みの間隔がＮ倍になるような設定を行う設定手段の一例として、クロック復帰部３６も設けている。また、本実施の形態では、ＯＳタイマ割り込み毎にＯＳ時間を１カウントアップする構成は変更しないので、設定が行われた後の周期的な割り込みの時点でオペレーティングシステムにおける時間に加算される第１の時間が、設定が行われる前の周期的な割り込みの時点でオペレーティングシステムにおける時間に加算されていた第２の時間のＮ倍になるように制御する制御手段の一例として、ＯＳタイマ復帰部３５も設けていると言える。
【０１１０】
ＯＳタイマ割り込み制御部３２は、割り込み共通処理部３１の制御に従って、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間をカウントアップする。第３の実施の形態では、通常電力状態においても低電力状態においてもＯＳ周期毎に１カウントアップする。
【０１１１】
受信割り込み制御部３３は、第１の実施の形態と同じである。
【０１１２】
受信制御部４０は、受信Ｉ／Ｆ部４１と、割り込み発生部４２とを有している。これらの構成要素は、第１の実施の形態と同じであるので、詳細な説明を省略する。
【０１１３】
ＯＳタイマ制御部５０は、クロック発生部５１と、ＯＳタイマ部５２と、割り込み発生部５３とを有している。
【０１１４】
クロック発生部５１は、クロック（システムクロック）を生成し、これをＯＳタイマ部５２に出力する。第３の実施の形態では、アイドルタスク１３から指示された場合に、クロックの周波数を（１／Ｎ）に変更し、クロック復帰部３６から指示された場合に、クロックの周波数をＮ倍に変更する。本実施の形態では、基準周波数でクロックを発生する発生手段の一例として、クロック発生部５１を設けている。
【０１１５】
ＯＳタイマ部５２は、クロック発生部５１によって生成されたクロックをカウントし、クロックの数がＯＳ周期に対応する基準計数値に達する毎に、割り込み発生部５３に対しＯＳタイマ割り込み要求を通知する。第３の実施の形態では、アイドルタスク１３から指示された場合に、残りのカウント値の（１／Ｎ）を基準計数値に設定し、ＯＳタイマ復帰部３５から指示された場合に、残りのカウント値のＮ倍を基準計数値に設定する。本実施の形態では、基準個数の一例として、基準計数値を用いており、クロックの数が基準個数に達すると周期的な割り込みを行う割り込み手段の一例として、ＯＳタイマ部５２を設けている。
【０１１６】
割り込み発生部５３は、第１の実施の形態と同じである。
【０１１７】
電力消費資源６０は、画像処理装置１が有する電力を消費する資源である。
【０１１８】
尚、本実施の形態では、図示しないが、ＯＳタイマ割り込みを要求するＯＳタイマ制御部５０と、ＯＳタイマ割り込み以外の割り込みを要求する、受信制御部４０を含む複数の制御部とを有している。従って、割り込み制御部３０において、割り込み共通処理部３１は、ＯＳタイマ制御部５０、ＯＳタイマ制御部５０以外の受信制御部４０を含む複数の制御部のうち、割り込みを要求した制御部からの割り込みの種類を判定し、この判定結果に基づいて、対応する割り込み制御部を起動させる。
【０１１９】
次に、節電制御タスク１１について、詳細に説明する。図１１は、節電制御タスク１１について説明するための図である。図示するように、節電制御タスク１１は、節電制御部１１０として機能するようになっており、画像処理装置１詳しくは電力消費資源６０の消費電力を低減させる制御を行う。
【０１２０】
電力消費資源６０は、第１の実施の形態と同じであるので、詳細な説明は省略する。
【０１２１】
節電制御部１１０は、第１の実施の形態の節電制御部１１０からＯＳタイマ設定部１１３を取り除いたものであり、節電条件判定部１１１と、節電実行制御部１１２とを有している。節電条件判定部１１１及び節電実行制御部１１２は、第１の実施の形態と同じであるので、詳細な説明は省略する。本実施の形態では、自装置の電力状態を通常電力状態から低電力状態へ移行する移行手段との一例として、節電実行制御部１１２を設けている。
【０１２２】
尚、本実施の形態においては、タスク制御部２０、割り込み制御部３０、受信制御部４０、クロック発生部５１を除くＯＳタイマ制御部５０のそれぞれの機能を実現するためのソフトウェア（プログラム）がＲＯＭ１ｃ又はＨＤＤ１ｄに格納されている。またタスク格納部１０は、ＲＯＭ１ｃ又はＨＤＤ１ｄで実現される。ＣＰＵ１ａが、ＲＯＭ１ｃ又はＨＤＤ１ｄからＲＡＭ１ｂへ、これらのソフトウェアを読み出して実行することにより、各構成要素の機能を実現するようになっている。
【０１２３】
次に、画像処理装置１の省電力制御処理について、詳細に説明する。図１２は、その省電力制御処理の処理手順を示すフローチャートである。
【０１２４】
画像処理装置１の電源が投入（オン）されると、ステップ１６１〜１６３が実行されるが、これらのステップは図４のステップ１２１〜１２３と同じであるので、詳細な説明は省略する。
【０１２５】
ステップ１６３において、節電移行条件が成立したと判定した場合、節電条件判定部１１１は、その旨を節電実行制御部１１２へ通知する。節電移行条件が成立した旨を受け取った節電実行制御部１１２は、電力消費資源６０としてのヒータ６１、バックライト６２、パネル電源６３、外部クロック６４等を低電力状態にする（ステップ１６４）。
【０１２６】
ステップ１６４が終了した後にステップ１６５及び１６６が実行されるが、これらのステップは図４のステップ１２５及び１２６と同じであるので、詳細な説明は省略する。
【０１２７】
ステップ１６６において、予め定められた時間内に印刷データが受信されない（非印刷状態が予め定められた時間継続した）等の要件が満たされて、節電復帰条件が成立しない場合（低電力状態を維持する場合）、アイドルタスク１３は、クロック発生部５１で発生されるクロックの周波数を（１／Ｎ）に変更すると共に、実際の経過時間を計測し、ＯＳタイマ部５２を残りのカウント値の（１／Ｎ）を基準計数値に設定して再スタートする（ステップ１６７）。そして、割り込み制御部３０では、割り込み共通処理部３１が、割り込みが発生したかどうかを判断する（ステップ１６８）。
【０１２８】
この判断の結果、割り込みを示す信号を受信して割り込みが発生した場合は、割り込み共通処理部３１がクロックの周波数が（１／Ｎ）になっているかどうかを判定する（ステップ１６９）。そして、（１／Ｎ）になっていなければ、ＯＳタイマ復帰部３５及びクロック復帰部３６は何もしないが、（１／Ｎ）になっていれば、ＯＳタイマ復帰部３５は、実際の経過時間を計測して、ＯＳタイマ部５２を残りのカウント値のＮ倍を基準計数値に設定して再スタートし、クロック復帰部３６は、クロック発生部５１で発生されるクロックの周波数をＮ倍することで元に戻す（ステップ１７０）。例えば、クロックが１／１００になっており、ＯＳ周期が１０ミリ秒である場合に、７ミリ秒の時点で割り込みが発生したとすると、クロック復帰部３６はクロックを１００倍して元に戻し、ＯＳタイマ復帰部３５は残り時間を３ミリ秒（＝１０ミリ秒−７ミリ秒）としてＯＳタイマ部５２を再スタートする。
【０１２９】
その後、割り込み共通処理部３１は、ステップ１６８で発生したと判断された割り込みの種類を判定する。即ち、その割り込みがＯＳタイマ割り込みであるかどうかを判定する（ステップ１７１）。
【０１３０】
ステップ１７１において、割り込みがＯＳタイマ割り込みであると判定された場合、割り込み共通処理部３１は、ＯＳタイマ割り込みに対応する割り込み制御部、即ちＯＳタイマ割り込み制御部３２を動作させる。すると、ＯＳタイマ割り込み制御部３２は、ＯＳタイマ割り込み処理を実行する。具体的には、通常電力状態のカウントアップ値（例えば１）だけ、ＯＳ時間情報記憶部２２に記憶されたＯＳ時間をカウントアップし、ＯＳタイマ部５２を再スタートさせる（ステップ１７２）。
【０１３１】
一方、ステップ１７１において、割り込みがＯＳタイマ割り込み以外の割り込みであると判定された場合、割り込み共通処理部３１は、その割り込みに対応する割り込み制御部を動作させる。すると、割り込み制御部は、その割り込みを実行する（ステップ１７３）。
【０１３２】
そして、ステップ１７２又はステップ１７３が終了した後に、タスク実行制御部２３は、タスク管理テーブル２１及びＯＳ時間情報記憶部２２を参照して、タスク切り替えを実施する（ステップ１７４）。
【０１３３】
尚、ステップ１７５及び１７６は、図４のステップ１３２及び１３３と同じであるので、詳細な説明は省略する。
【０１３４】
また、本実施の形態では、通常電力状態においても低電力状態においてもＯＳ周期を同じ（例えば１０ミリ秒）としたが、これには限らない。第１及び第２の実施の形態で述べたように、低電力状態においては、ＯＳ周期を１００倍、１０００倍等の間隔に広げるようにしてもよい。
【０１３５】
ところで、ＯＳタイマ割り込みの間隔がＮ倍になるような設定を、第１の実施の形態では、基準計数値をＮ倍にすることにより実現したのに対し、第３の実施の形態では、クロックの周波数を（１／Ｎ）にすることにより実現した。また、その設定が行われた後のＯＳタイマ割り込みの時点でＯＳ時間に加算される時間が、その設定が行われる前のＯＳタイマ割り込みの時点でＯＳ時間に加算されていた時間のＮ倍になるような制御を、第１の実施の形態では、ＯＳ時間に加算するＯＳタイマ割り込みの間隔に相当する時間をＮ倍にすることにより実現したのに対し、第３の実施の形態では、基準計数値を（１／Ｎ）にすることにより実現した。この意味で、第１の実施の形態と、第３の実施の形態とは、同じことを異なる手段で実現しようとするものだと言える。従って、第２の実施の形態における処理は、第１の実施の形態だけでなく、第３の実施の形態においても実施してよい。
【０１３６】
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することも可能である。
【符号の説明】
【０１３７】
１…画像処理装置、１０…タスク格納部、１１…節電制御タスク、１２…受信タスク、１３…アイドルタスク、２０…タスク制御部、２１…タスク管理テーブル、２２…ＯＳ時間情報記憶部、２３…タスク実行制御部、３０…割り込み制御部、３１…割り込み共通処理部、３２…ＯＳタイマ割り込み制御部、３３…受信割り込み制御部、４０…受信制御部、４１…受信Ｉ／Ｆ部、４２，５３…割り込み発生部、５０…ＯＳタイマ制御部、５１…クロック発生部、５２…ＯＳタイマ部、６０…電力消費資源
【図１】
2015035112.tif 000003
【図２】
2015035112.tif 000004
【図３】
2015035112.tif 000005
【図４】
2015035112.tif 000006
【図５】
2015035112.tif 000007
【図６】
2015035112.tif 000008
【図７】
2015035112.tif 000009
【図８】
2015035112.tif 000010
【図９】
2015035112.tif 000011
【図１０】
2015035112.tif 000012
【図１１】
2015035112.tif 000013
【図１２】
2015035112.tif 000014