(57)【要約】【課題】画像処理装置において、リアルタイム性を要する装置制御と高い処理能力を要する画像処理とを実行しながら、消費電力を低減させる。【解決手段】状態情報取得部２０ａは、装置制御を行うためのリアルタイムＯＳであるＯＳ１による制御動作の状態を示す状態情報を取得し、この状態情報に基づいて得られるＯＳ１による制御を実行するために必要な必要クロック数を取得する。受け付け部２０ｂは、ＯＳ１上で動作し画像処理を行うためのＯＳ２によるＣＰＵの動作周波数の変更要求を受け付け、この変更要求に基づいて得られるＯＳ２により要求される要求クロック数を取得する。設定部２０ｄは、要求クロック数が必要クロック数よりも低い場合に、必要クロック数に基づいてＣＰＵの動作周波数を設定し、その他の場合に、要求クロック数に基づいてＣＰＵの動作周波数を設定する。【選択図】図４
2011013815.tif 000002
【特許請求の範囲】
【請求項１】
装置制御を行うためのオペレーティング・システムである第１ＯＳによる制御動作の状態を示す状態情報を取得する状態情報取得部と、
前記第１ＯＳ上で動作し画像処理を行うためのオペレーティング・システムである第２ＯＳによるＣＰＵの動作周波数の変更要求を受け付ける受け付け部と、
前記受け付け部により受け付けられた前記変更要求に基づいて得られる前記第２ＯＳにより要求される要求クロック数が、前記状態情報取得部により取得された前記状態情報に基づいて得られる前記第１ＯＳによる制御を実行するために必要な必要クロック数よりも低い場合に、当該必要クロック数に基づいてＣＰＵの動作周波数を設定し、当該要求クロック数が当該必要クロック数よりも低い場合を除く場合に当該要求クロック数に基づいてＣＰＵの動作周波数を設定する設定部と、
を備えることを特徴とする、画像処理装置。
【請求項２】
前記状態情報取得部は、前記第１ＯＳによる制御動作の状態が変化した場合に前記状態情報を取得し、
前記設定部は、少なくとも、前記状態情報取得部が前記状態情報を取得したか、または前記受け付け部が前記変更要求を受け付けた場合に、当該状態情報または当該変更要求に基づいて、ＣＰＵの動作周波数を設定することを特徴とする、請求項１に記載の画像処理装置。
【請求項３】
前記状態情報取得部は、少なくとも、処理タスクの数または割り込み処理の数が変化した場合に、当該変化を示す前記状態情報を取得することを特徴とする、請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記第１ＯＳによる制御動作の状態と当該第１ＯＳが当該状態での制御を行うために必要な必要クロック数とを対応付けた対応表を格納したデータベースをさらに備え、
前記設定部は、前記状態情報取得部により取得された前記状態情報に基づき前記データベースに格納された前記対応表を参照して得られる前記必要クロック数に基づいてＣＰＵの動作周波数を設定することを特徴とする、請求項１乃至請求項３のいずれかに記載の画像処理装置。
【請求項５】
装置制御を行うためのオペレーティング・システムである第１ＯＳによる制御動作の状態を示す状態情報を取得し、当該状態情報に基づいて当該第１ＯＳによる制御を実行するために必要な必要クロック数を取得する必要クロック数取得手段と、
前記第１ＯＳ上で動作し画像処理を行うためのオペレーティング・システムである第２ＯＳによるＣＰＵの動作周波数の変更要求を受け付け、当該変更要求に基づいて当該第２ＯＳにより要求される要求クロック数を取得する要求クロック数取得手段と、
前記必要クロック数取得手段により取得された前記必要クロック数と、前記要求クロック数取得手段により取得された前記要求クロック数とを比較し、高い方のクロック数に基づいてＣＰＵの動作周波数を設定する設定手段と、
を備えることを特徴とする、画像処理装置。
【請求項６】
前記必要クロック数取得手段は、前記第１ＯＳによる制御動作の状態が変化した場合に前記状態情報を取得し、当該状態情報に基づいて前記必要クロック数を取得することを特徴とする、請求項５に記載の画像処理装置。
【請求項７】
前記必要クロック数取得手段は、少なくとも、処理タスクの数または割り込み処理の数が変化した場合に、当該変化を示す前記状態情報を取得することを特徴とする、請求項５または請求項６に記載の画像処理装置。
【請求項８】
前記第１ＯＳによる制御動作の状態と当該第１ＯＳが当該状態での制御を行うために必要な必要クロック数とを対応付けた対応表を格納したデータベースをさらに備え、
前記必要クロック数取得手段は、取得した前記状態情報に基づき前記データベースに格納された前記対応表を参照し、当該状態情報により特定される状態に対応する前記必要クロック数を取得することを特徴とする、請求項５乃至請求項７のいずれかに記載の画像処理装置。
【請求項９】
画像処理装置の動作制御を行い、かつ画像処理を行うコンピュータを、
装置制御を行うためのオペレーティング・システムである第１ＯＳによる制御動作の状態を示す状態情報を取得する状態情報取得手段と、
前記第１ＯＳ上で動作し画像処理を行うためのオペレーティング・システムである第２ＯＳによるＣＰＵの動作周波数の変更要求を受け付ける受け付け手段と、
前記受け付け手段により受け付けられた前記変更要求に基づいて得られる前記第２ＯＳにより要求される要求クロック数が、前記状態情報取得手段により取得された前記状態情報に基づいて得られる前記第１ＯＳによる制御を実行するために必要な必要クロック数よりも低い場合に、当該必要クロック数に基づいてＣＰＵの動作周波数を設定し、当該要求クロック数が当該必要クロック数よりも低い場合を除く場合に当該要求クロック数に基づいてＣＰＵの動作周波数を設定する設定手段として、
機能させることを特徴とする、プログラム。
【請求項１０】
画像処理装置の動作制御を行い、かつ画像処理を行うコンピュータを、
装置制御を行うためのオペレーティング・システムである第１ＯＳによる制御動作の状態を示す状態情報を取得し、当該状態情報に基づいて当該第１ＯＳによる制御を実行するために必要な必要クロック数を取得する必要クロック数取得手段と、
前記第１ＯＳ上で動作し画像処理を行うためのオペレーティング・システムである第２ＯＳによるＣＰＵの動作周波数の変更要求を受け付け、当該変更要求に基づいて当該第２ＯＳにより要求される要求クロック数を取得する要求クロック数取得手段と、
前記必要クロック数取得手段により取得された前記必要クロック数と、前記要求クロック数取得手段により取得された前記要求クロック数とを比較し、高い方のクロック数に基づいてＣＰＵの動作周波数を設定する設定手段として、
機能させることを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置およびプログラムに関する。
【背景技術】
【０００２】
半導体の処理能力の向上に伴い、単一のプロセッサで様々な制御や処理を並列に実行することが可能となっている。特許文献１に記載された技術は、第一のＯＳ（Operating System）と他のＯＳが管理するハードウェア資源を分割する手順と、他のＯＳを起動する手順と、実行ＯＳを切替える手順と、割り込み要因により割り込み処理するＯＳを決定し、適切な割り込みハンドラを起動する手順により、複数のＯＳの同時実行を実現する。
【０００３】
また近年、プロセッサの使用において消費電力を低減することが要請される。特許文献２に記載された技術は、マイクロプロセッサにおけるパワー・スロットリングのための技術である。同文献によれば、この従来技術は、電圧ソースがマイクロプロセッサに電圧を供給し、クロック・ソースがマイクロプロセッサを所望の周波数において動作させる。マイクロプロセッサの短期間消費電力を電力モニタが、あるいはそれに代えてその温度を温度センサが測定するように構成される。電圧ソースおよびクロック・ソースには、制御ロジックが結合される。この制御ロジックは、適宜消費電力または温度の表示を受け取り、あらかじめ決定済みの閾値と比較する。制御ロジックは、この比較に応じて供給電圧ならびに周波数を変化させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１４９３８５号公報
【特許文献２】特表２００２−５２９８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
装置制御においては、決まった処理を決まった時間内に実行するリアルタイム性が要求される場合がある。一方で、画像処理等では、高度な処理能力が要求されるが、リアルタイム性は要求されない。画像処理装置では、リアルタイム性が要求される装置制御と高度な処理能力が要求される画像処理の両方が行われる。
【０００６】
本発明は、画像処理装置において、リアルタイム性を要する装置制御と高い処理能力を要する画像処理とを実行しながら、消費電力を低減させることを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、装置制御を行うためのオペレーティング・システムである第１ＯＳによる制御動作の状態を示す状態情報を取得する状態情報取得部と、前記第１ＯＳ上で動作し画像処理を行うためのオペレーティング・システムである第２ＯＳによるＣＰＵの動作周波数の変更要求を受け付ける受け付け部と、前記受け付け部により受け付けられた前記変更要求に基づいて得られる前記第２ＯＳにより要求される要求クロック数が、前記状態情報取得部により取得された前記状態情報に基づいて得られる前記第１ＯＳによる制御を実行するために必要な必要クロック数よりも低い場合に、当該必要クロック数に基づいてＣＰＵの動作周波数を設定し、当該要求クロック数が当該必要クロック数よりも低い場合を除く場合に当該要求クロック数に基づいてＣＰＵの動作周波数を設定する設定部と、を備えることを特徴とする、画像処理装置である。
請求項２に記載の発明は、前記状態情報取得部は、前記第１ＯＳによる制御動作の状態が変化した場合に前記状態情報を取得し、前記設定部は、少なくとも、前記状態情報取得部が前記状態情報を取得したか、または前記受け付け部が前記変更要求を受け付けた場合に、当該状態情報または当該変更要求に基づいて、ＣＰＵの動作周波数を設定することを特徴とする、請求項１に記載の画像処理装置である。
請求項３に記載の発明は、前記状態情報取得部は、少なくとも、処理タスクの数または割り込み処理の数が変化した場合に、当該変化を示す前記状態情報を取得することを特徴とする、請求項１または請求項２に記載の画像処理装置である。
請求項４に記載の発明は、前記第１ＯＳによる制御動作の状態と当該第１ＯＳが当該状態での制御を行うために必要な必要クロック数とを対応付けた対応表を格納したデータベースをさらに備え、前記設定部は、前記状態情報取得部により取得された前記状態情報に基づき前記データベースに格納された前記対応表を参照して得られる前記必要クロック数に基づいてＣＰＵの動作周波数を設定することを特徴とする、請求項１乃至請求項３のいずれかに記載の画像処理装置である。
請求項５に記載の発明は、装置制御を行うためのオペレーティング・システムである第１ＯＳによる制御動作の状態を示す状態情報を取得し、当該状態情報に基づいて当該第１ＯＳによる制御を実行するために必要な必要クロック数を取得する必要クロック数取得手段と、前記第１ＯＳ上で動作し画像処理を行うためのオペレーティング・システムである第２ＯＳによるＣＰＵの動作周波数の変更要求を受け付け、当該変更要求に基づいて当該第２ＯＳにより要求される要求クロック数を取得する要求クロック数取得手段と、前記必要クロック数取得手段により取得された前記必要クロック数と、前記要求クロック数取得手段により取得された前記要求クロック数とを比較し、高い方のクロック数に基づいてＣＰＵの動作周波数を設定する設定手段と、を備えることを特徴とする、画像処理装置である。
請求項６に記載の発明は、前記必要クロック数取得手段は、前記第１ＯＳによる制御動作の状態が変化した場合に前記状態情報を取得し、当該状態情報に基づいて前記必要クロック数を取得することを特徴とする、請求項５に記載の画像処理装置である。
請求項７に記載の発明は、前記必要クロック数取得手段は、少なくとも、処理タスクの数または割り込み処理の数が変化した場合に、当該変化を示す前記状態情報を取得することを特徴とする、請求項５または請求項６に記載の画像処理装置である。
請求項８に記載の発明は、前記第１ＯＳによる制御動作の状態と当該第１ＯＳが当該状態での制御を行うために必要な必要クロック数とを対応付けた対応表を格納したデータベースをさらに備え、前記必要クロック数取得手段は、取得した前記状態情報に基づき前記データベースに格納された前記対応表を参照し、当該状態情報により特定される状態に対応する前記必要クロック数を取得することを特徴とする、請求項５乃至請求項７のいずれかに記載の画像処理装置である。
請求項９に記載の発明は、画像処理装置の動作制御を行い、かつ画像処理を行うコンピュータを、装置制御を行うためのオペレーティング・システムである第１ＯＳによる制御動作の状態を示す状態情報を取得する状態情報取得手段と、前記第１ＯＳ上で動作し画像処理を行うためのオペレーティング・システムである第２ＯＳによるＣＰＵの動作周波数の変更要求を受け付ける受け付け手段と、前記受け付け手段により受け付けられた前記変更要求に基づいて得られる前記第２ＯＳにより要求される要求クロック数が、前記状態情報取得手段により取得された前記状態情報に基づいて得られる前記第１ＯＳによる制御を実行するために必要な必要クロック数よりも低い場合に、当該必要クロック数に基づいてＣＰＵの動作周波数を設定し、当該要求クロック数が当該必要クロック数よりも低い場合を除く場合に当該要求クロック数に基づいてＣＰＵの動作周波数を設定する設定手段として、機能させることを特徴とする、プログラムである。
請求項１０に記載の発明は、画像処理装置の動作制御を行い、かつ画像処理を行うコンピュータを、装置制御を行うためのオペレーティング・システムである第１ＯＳによる制御動作の状態を示す状態情報を取得し、当該状態情報に基づいて当該第１ＯＳによる制御を実行するために必要な必要クロック数を取得する必要クロック数取得手段と、前記第１ＯＳ上で動作し画像処理を行うためのオペレーティング・システムである第２ＯＳによるＣＰＵの動作周波数の変更要求を受け付け、当該変更要求に基づいて当該第２ＯＳにより要求される要求クロック数を取得する要求クロック数取得手段と、前記必要クロック数取得手段により取得された前記必要クロック数と、前記要求クロック数取得手段により取得された前記要求クロック数とを比較し、高い方のクロック数に基づいてＣＰＵの動作周波数を設定する設定手段として、機能させることを特徴とする、プログラムである。
【発明の効果】
【０００８】
請求項１の発明によれば、リアルタイム性を要する装置制御を行うための必要を満たす範囲で、画像処理における要求に応じてＣＰＵの動作周波数を設定し、消費電力を低減させることができる。
請求項２の発明によれば、装置の動作状態の変化または画像処理における要求に応じて、動的にＣＰＵの動作周波数を設定することができる。
請求項３の発明によれば、処理タスクまたは割り込み処理の数の変化に応じて、動的にＣＰＵの動作周波数を設定することができる。
請求項４の発明によれば、対応表を参照して必要クロック数を取得することにより、対応表を用いない場合と比べて、動作周波数の変更に要する時間を短縮することができる。
請求項５の発明によれば、リアルタイム性を要する装置制御を行うために要する必要クロック数を下回ることなく、ＣＰＵの動作周波数を設定し、消費電力を低減させることができる。
請求項６の発明によれば、装置の動作状態の変化または画像処理における要求に応じて必要クロック数を取得し、動的にＣＰＵの動作周波数を設定することができる。
請求項７の発明によれば、処理タスクまたは割り込み処理の数の変化に応じて必要クロック数を取得し、動的にＣＰＵの動作周波数を設定することができる。
請求項８の発明によれば、対応表を参照して必要クロック数を取得することにより、対応表を用いない場合と比べて、動作周波数の変更に要する時間を短縮することができる。
請求項９の発明によれば、画像処理装置を制御するコンピュータにおいて、リアルタイム性を要する装置制御を行うための必要を満たす範囲で、画像処理における要求に応じてＣＰＵの動作周波数を設定し、消費電力を低減させることができる。
請求項１０の発明によれば、画像処理装置を制御するコンピュータにおいて、リアルタイム性を要する装置制御を行うために要する必要クロック数を下回ることなく、ＣＰＵの動作周波数を設定し、消費電力を低減させることができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の画像処理装置の構成を示す図である。
【図２】本実施形態の制御部の構成例を示す図である。
【図３】本実施形態を実現するソフトウェアの構成例を示す図である。
【図４】本実施形態における制御部の機能構成例を示す図である。
【図５】本実施形態のデータベースに格納されている対応表の例を示す図であり、動作モード対応表の例を示す図である。
【図６】本実施形態のデータベースに格納されている対応表の例を示す図であり、割り込み待機数対応表の例を示す図である。
【図７】本実施形態のデータベースに格納されている対応表の例を示す図であり、処理タスク数対応表の例を示す図である。
【図８】本実施形態のデータベースに格納されている対応表の例を示す図であり、動作周波数−動作電圧対応表の例を示す図である。
【図９】本実施形態における推定部および設定部の動作を示すフローチャートである。
【図１０】本実施形態における推定部および設定部の動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
＜システム構成＞
図１は、本実施形態の画像処理装置の構成を示す図である。
本実施形態では、画像処理装置が、画像データに基づき画像形成材を用いて用紙等の媒体上に画像を形成すると共に、複写機能やスキャナ機能、ファクシミリ機能等を備えた複合機としての画像形成装置である場合を例として説明する。図１に示す画像形成装置１００は、各色の画像データに対応して画像形成を行う画像形成部１０と、画像形成装置１００全体の動作を制御する制御部２０とを備える。制御部２０は、ホスト・コンピュータ２００に接続されており、ホスト・コンピュータ２００から入力される印刷ジョブを受け付け、文書画像の作成、その他の処理を行って、画像形成部１０に送る。
【００１１】
画像形成部１０は、イエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）の各色に対応させて、４つの画像形成ユニット１１（各色別に１１Ｙ、１１Ｍ、１１Ｃ、１１Ｋ）を備える画像形成手段である。また、画像形成部１０は、各画像形成ユニット１１の各感光体ドラム１２にて画像形成された各色のトナー像を多重転写させる対象である用紙（印刷媒体）を搬送する搬送ベルト１６、搬送ベルト１６を駆動する駆動ロール１７、感光体ドラム１２のトナー像を用紙に転写させるための転写ロール１８、転写後の用紙上の未定着トナー像を加熱・加圧して定着する定着器１９を備える。なお、本実施形態では、印刷方式については限定しない。すなわち、図１に示す電子写真方式の他、インクジェット方式、サーマル方式等、種々の方式の印刷手段により本実施形態の画像形成部１０を構成し得る。
【００１２】
図２は、制御部２０の構成例を示す図である。
図２に示すように、制御部２０は、ＣＰＵ（Central Processing Unit）２１、ＣＰＵ２１が実行するプログラムを格納したＲＯＭ（Read Only Memory）２２、作業用メモリであるＲＡＭ（Random Access Memory）２３を備える。また、ＣＰＵ２１の動作クロックを生成するクロック生成部２４、ＣＰＵ２１に加える電圧を生成する電圧生成部２５を備える。ＣＰＵ２１は、電圧生成部２５により生成された電圧で電力を供給され、クロック生成部２４により生成されたクロックにしたがって動作する。さらに、制御部２０は、各種センサから情報を取得したりモータを制御したりするための内部バスへのインターフェイス（Ｉ／Ｏ）２６、ホスト・コンピュータ２００とデータ交換を行うためのインターフェイス（Ｉ／Ｏ）２７を備える。
【００１３】
図３は、本実施形態を実現するソフトウェアの構成例を示す図である。
ＣＰＵ２１は、ＲＯＭ２２に格納されたプログラムを読み込んで実行する。ＣＰＵ２１により実行されるプログラムは、図３に示すように、ＯＳ１、ＯＳ１上で動作するアプリケーション・プログラムＡＳ１、同じくＯＳ１上で動作するＯＳ２、ＯＳ２上で動作するアプリケーション・プログラムＡＳ２を含む。なお、アプリケーション・プログラムＡＳ１、ＡＳ２は、単一のプログラムとは限らず、各々ＯＳ１、ＯＳ２上で動作するアプリケーション・プログラムの総称である。
【００１４】
図３に示すソフトウェア構成において、ＯＳ１は、リアルタイム性が要求される装置制御（リアルタイム制御）を担うＯＳ（リアルタイムＯＳ）である。また、ＯＳ２は、アプリケーション・プログラムＡＳ２による画像処理の動作を制御するＯＳである。ＯＳ１およびＯＳ２は、それぞれ、画像形成装置１００の動作設定や処理の内容に応じて、必要なＣＰＵ２１の処理能力を得るために、ＣＰＵ２１の動作周波数および動作電圧を指定する機能を持つ。
【００１５】
本実施形態において、ＯＳ２は、アプリケーション・プログラムＡＳ２による処理において必要とされない限り、動作周波数を低下させ、消費電力を減少させるように設定されている。一方、ＯＳ１は、リアルタイム制御を担うため、取り得る動作周波数には下限がある。したがって、ＯＳ２により要求される動作周波数および動作電圧よりもＯＳ１により要求される動作周波数および動作電圧の方が大きい場合には、ＯＳ１により要求される動作周波数および動作電圧が優先される。
【００１６】
＜制御部２０の機能構成＞
図４は、本実施形態における制御部２０の機能構成例を示す図である。
図４に示すように、本実施形態の制御部２０は、画像形成装置１００の動作状態に関する情報（状態情報）を取得する状態情報取得部２０ａと、ＯＳ２からのＣＰＵ２１の動作周波数および動作電圧の変更要求を受け付ける受け付け部２０ｂとを備える。また、制御部２０は、状態情報取得部２０ａおよび受け付け部２０ｂの処理に用いられる各種の対応表を格納したデータベース２０ｃを備える。さらに、制御部２０は、状態情報取得部２０ａにより取得された状態情報および受け付け部２０ｂにより受け付けられた変更要求に基づいて、実際にＣＰＵ２１の動作周波数および動作電圧の設定を行う設定部２０ｄを備える。状態情報取得部２０ａ、受け付け部２０ｂおよび設定部２０ｄの機能は、ＯＳ１により提供されるＣＰＵ２１の機能として実現される。また、データベース２０ｃは、ＲＯＭ２２、ＲＡＭ２３等の記憶手段により実現される。なお、図４には、本実施形態を実現するために必要な機能ブロックのみが記載されている。実際には、図示の各機能の他に、ＯＳ１、ＯＳ２、ＡＳ１、ＡＳ２により、装置制御および画像処理のための種々の機能が実現される。以下、これらのソフトウェアにより実現される機能についても同じ符号を用いて記載する。
【００１７】
状態情報取得部２０ａは、ＣＰＵ２１がＯＳ１のリアルタイム制御を行うために必要な動作周波数を推定するために用いられる、状態情報を取得する。本実施形態では、状態情報の例として、現在の画像形成装置１００の動作モードを示す情報、割り込み処理の待機数（割り込み待機数）、処理タスクの数（処理タスク数）を取得するものとする。これらの状態情報は、例えば、ＯＳ１およびアプリケーション・プログラムＡＳ１によって行われる装置制御の処理において得られる。そして、状態情報取得部２０ａは、取得した状態情報に基づいてデータベース２０ｃに格納されている対応表を参照し、状態変化に応じて必要となる動作周波数（以下、必要クロック数）を取得する。すなわち、状態情報取得部２０ａは、状態情報に基づいて、必要クロック数を取得する必要クロック数取得手段である。
【００１８】
受け付け部２０ｂは、ＯＳ２から出力される動作周波数および動作電圧の変更要求を受け付ける。ＯＳ２は、高い処理能力が要求される画像処理を担う一方で、処理を実行するために必要とされない限り動作周波数を低下させて消費電力を減少させるように設定されている。したがって、ＯＳ２は、アプリケーション・プログラムＡＳ２による処理の実行状況に応じて、動作周波数および動作電圧の変更要求を出力し、この変更要求を受け付け部２０ｂが受け付ける。変更要求の受け付け方法は、制御部２０の仕様に基づき定めて良い。例えば、ＯＳ２からＯＳ１に対して変更要求が出力され、ＯＳ１の受け付け部２０ｂが受け付けるようにしても良いし、ＯＳ２からＣＰＵ２１に対して出力された変更要求をＯＳ１の受け付け部２０ｂがトラップするようにしても良い。また、受け付け部２０ｂは、この変更要求と共に、変更後の動作周波数（以下、要求クロック数）および動作電圧の値も取得する。すなわち、受け付け部２０ｂは、変更要求と共に要求クロック数を取得する要求クロック数取得手段である。
【００１９】
設定部２０ｄは、ＯＳ１およびＯＳ２によりそれぞれ要求される動作周波数に基づき、クロック生成部２４および電圧生成部２５の設定を行う。具体的には、設定部２０ｄは、まず、状態情報取得部２０ａにより取得された各状態情報に基づく必要クロック数を加算して、ＯＳ１によるリアルタイム制御を行うために必要と推定される動作周波数（以下、推定クロック数）を計算する。次に、設定部２０ｄは、得られた推定クロック数と受け付け部２０ｂにより受け付けられたＯＳ２からの変更要求にかかる動作周波数（要求クロック数）とを比較する。そして、設定部２０ｄは、比較結果に基づいて、実際に設定されるべきＣＰＵ２１の動作周波数および動作電圧を決定し、クロック生成部２４および電圧生成部２５を設定する。
【００２０】
上述したように、ＯＳ１はリアルタイム制御を担うため、設定される動作周波数および動作電圧は、ＯＳ１によって要求される値を下回ってはならない。一方、ＯＳ２は、アプリケーション・プログラムＡＳ２により必要とされない限り動作周波数および動作電圧を低下させようとする。そこで、設定部２０ｄは、原則的にはＯＳ２が要求する動作周波数および動作電圧で設定を行うが、その値がＯＳ１によって要求される値を下回る場合は、後者の値によって、クロック生成部２４および電圧生成部２５を設定する。言い換えれば、設定部２０ｄは、ＯＳ１により要求される動作周波数（推定クロック数）とＯＳ２により要求される動作周波数（要求クロック数）のうち、値の大きい方（動作の速いほう）を選択する。そして、選択した動作周波数およびこれに対応する動作電圧に、クロック生成部２４および電圧生成部２５を設定する。
【００２１】
図５〜図８は、データベース２０ｃに格納されている対応表の例を示す図である。
図５〜図７に示す対応表は、状態情報取得部２０ａが、各状態情報に示される動作状態で画像形成装置１００を動作させるために必要なＣＰＵ２１の動作周波数（必要クロック数）を得るのに用いられる。また、図８に示す対応表は、設定部２０ｄが、推定クロック数に対応する動作電圧を得るために用いられる。
【００２２】
図５に示す動作モード対応表は、画像形成装置１００の動作モードと、各動作モードで動作する場合に必要となる必要クロック数との対応関係を示す。図５に示す例では、画像形成装置１００の動作モードとして、「コピー」、「プリント」、「スキャン」、「ＦＡＸ」の４種類が登録され、各動作モードに対応する必要クロック数が登録されている。なお、図５に示した動作モードは例示であり、同対応表には、図示の動作モードの他、画像形成装置１００に設けられる種々の動作モードおよびその必要クロック数を登録して良い。
【００２３】
図６に示す割り込み待機数対応表は、画像形成装置１００の動作制御において発生する割り込み処理の待機数（割り込み待機数）と、その割り込み処理を実行するために必要となる必要クロック数との対応関係を示す。図６に示す例では、割り込み待機数４個までに関して、必要クロック数が登録されている。なお、図６に示した割り込み待機数は例示であり、同対応表には、さらに多くの割り込み待機数に関して必要クロック数を登録しても良い。
【００２４】
図７に示す処理タスク対応表は、画像形成装置１００の動作制御における処理タスクの数（処理タスク数）と、その処理タスクを実行するために必要となる必要クロック数との対応関係を示す。図７に示す例では、処理タスク数４個までに関して、必要クロック数が登録されている。なお、図７に示した処理タスク数は例示であり、同対応表には、さらに多くの処理タスク数に関して必要クロック数を登録しても良い。
【００２５】
図８に示す動作周波数−動作電圧対応表には、ＣＰＵ２１の動作周波数と、その動作周波数でＣＰＵ２１が動作するための動作電圧との対応関係を示す。図８に示す例では、０ＭＨｚから６００ＭＨｚまでの動作周波数が１００ＭＨｚまたは２００ＭＨｚの幅の適当な範囲に区切られて登録され、その範囲（４００ＭＨｚ〜６００ＭＨｚ、３００ＭＨｚ〜４００ＭＨｚ、等）ごとに、対応する動作電圧が登録されている。なお、図８に示した動作周波数および動作電圧は例示であり、実際には、画像形成装置１００や制御部２０を構成するＣＰＵ２１の仕様に応じて、適切な値が登録される。
【００２６】
＜制御部の動作例＞
図９および図１０は、本実施形態における状態情報取得部２０ａ、受け付け部２０ｂおよび設定部２０ｄの動作を示すフローチャートである。
図９に示すように、状態情報取得部２０ａは、ＯＳ１による装置制御において動作状態を監視する（ステップ９０１）。本動作例では、状態変化を示す要素として、上記の状態情報に対応して、動作モード、割り込み待機数、処理タスク数を監視する。これにより、これらの要素に変化があったか場合は、状態情報取得部２０ａがこれを認識する。
【００２７】
動作モードが変化した場合、状態情報取得部２０ａは、図５に示した動作モード対応表を参照し、変化後の動作モードに対応する必要クロック数（Ｃｍｏｄｅ）を読み出す（ステップ９０２、９０３）。例えば、動作モードが「コピー」となった場合、Ｃｍｏｄｅ＝１８０ＭＨｚが得られる。
【００２８】
割り込み待機数が変化した場合、状態情報取得部２０ａは、図６に示した割り込み待機数対応表を参照し、変化後の割り込み待機数に対応する必要クロック数（Ｃｉｎｔ）を読み出す（ステップ９０４、９０５）。例えば、割り込み待機数が２となった場合、Ｃｉｎｔ＝１０ＭＨｚが得られる。
【００２９】
処理タスク数が変化した場合、状態情報取得部２０ａは、図７に示した処理タスク数対応表を参照し、変化後の処理タスク数に対応する必要クロック数（Ｃｔａｓｋ）を読み出す（ステップ９０６、９０７）。例えば、処理タスク数が３となった場合、Ｃｉｎｔ＝２５ＭＨｚが得られる。
【００３０】
また、図１０に示すように、ＯＳ２によりＣＰＵ２１の動作周波数および動作電圧の変更要求がなされると、受け付け部２０ｂが、この変更要求を受け付け、変更要求にかかる要求クロック数（Ｃｏｓ２）および要求電圧（Ｖｏｓ２）を取得する（ステップ９０８、９０９）。
【００３１】
なお、図９および図１０において、状態情報取得部２０ａによるステップ９０２、９０４、９０６の判断および受け付け部２０ｂによるステップ９０８の判断は、各々独立して行われる。したがって、図示の手順は例示に過ぎず、各判断がこの手順で行われる必要はない。
【００３２】
次に、設定部２０ｄにより、動作周波数および動作電圧の設定が行われる。
設定部２０ｄは、まず、ステップ９０２、９０４、９０６に示した判断において、少なくともいずれか１つで状態変化が生じた場合、生じた状態変化に対応する推定クロック数（Ｃｏｓ１）を計算する（ステップ９１０）。この推定クロック数は、各状態に対する必要クロック数（Ｃｍｏｄｅ、Ｃｉｎｔ、Ｃｔａｓｋ）の総和を求めることで得られる。また、状態が変化していないものについては、ステップ９０３、９０５、９０７で新たな必要クロック数を取得していないので、それまでの動作状態における必要クロック数を用いて計算される。
【００３３】
例えば、動作モードおよび処理タスク数は変化せず、割り込み処理が発生したことによって割り込み待機数のみが変化した場合、ステップ９０４でＹｅｓとなり、ステップ９０５で新しい必要クロック数Ｃｉｎｔが取得される。このとき、動作モードに対応する必要クロック数Ｃｍｏｄｅおよび処理タスク数に対応する必要クロック数Ｃｔａｓｋは更新されないので、直前の推定クロック数Ｃｏｓ１の計算で用いられた値を用いて新たな推定クロック数Ｃｏｓ１が計算される。なお、画像形成装置１００の起動時等の初期動作では、予め設定された初期値を用いれば良い。
【００３４】
次に、設定部２０ｄは、ステップ９１０で計算された推定クロック数Ｃｏｓ１と、ＯＳ２により要求された要求クロック数Ｃｏｓ２とを比較する（ステップ９１１）。ここで、ＯＳ２から動作周波数および動作電圧の変更要求があった場合は（ステップ９０８でＹｅｓ）、ステップ９０９で取得した要求クロック数Ｃｏｓ２が比較される。一方、ＯＳ２から動作周波数および動作電圧の変更要求がない場合は（ステップ９０８でＮｏ）、新たな要求クロック数を取得していないので、直前の設定の際に用いられた要求クロック数Ｃｏｓ２が比較される。
【００３５】
Ｃｏｓ１がＣｏｓ２以下であった場合（ステップ９１１でＮｏ）、ＯＳ２により要求された要求クロック数Ｃｏｓ２でＣＰＵ２１が動作しても、推定クロック数Ｃｏｓ１で動作するより遅くはならないため、ＯＳ１によるリアルタイム制御に支障は生じない。したがって、設定部２０ｄは、要求クロック数Ｃｏｓ２を動作周波数Ｃに、要求電圧Ｖｏｓ２を動作電圧Ｖに決定し（ステップ９１２）、クロック生成部２４および電圧生成部２５の設定を行う（ステップ９１５）。
【００３６】
一方、Ｃｏｓ１がＣｏｓ２よりも大きい場合（ステップ９１１でＹｅｓ）、ＯＳ２により要求された要求クロック数Ｃｏｓ２でＣＰＵ２１が動作すると、推定クロック数Ｃｏｓ１で動作するより遅くなるため、ＯＳ１によるリアルタイム制御に支障をきたす可能性がある。したがって、設定部２０ｄは、図８に示した対応表を参照して推定クロック数Ｃｏｓ１に対応する動作電圧Ｖｏｓ１を取得し（ステップ９１３）、必要クロック数Ｃｏｓ１を動作周波数Ｃに、動作電圧Ｖｏｓ１を動作電圧Ｖに決定し（ステップ９１４）、クロック生成部２４および電圧生成部２５の設定を行う（ステップ９１５）。
【００３７】
これ以降、状態情報取得部２０ａによる画像形成装置１００の動作状態の監視が継続され、ステップ９０２、９０４、９０６に示した状態変化が検出された場合、または、受け付け部２０ｂがＯＳ２からステップ９０９に示した要求を受け付けた場合に、以上の動作が繰り返される。
【００３８】
なお、本実施形態では、コピー・モード、スキャン・モード等を備えた複合機としての画像形成装置を例として説明したが、単機能のコピー機やファクシミリ、さらにその他の画像処理機能を備えた種々の画像処理装置に対して適用して良い。
【符号の説明】
【００３９】
１００…画像形成装置、２０…制御部、２０ａ…状態情報取得部、２０ｂ…受け付け部、２０ｃ…データベース、２０ｄ…設定部、２１…ＣＰＵ、２２…ＲＯＭ、２３…ＲＡＭ、２４…クロック生成部、２５…電圧生成部
【図１】
2011013815.tif 000003
【図２】
2011013815.tif 000004
【図３】
2011013815.tif 000005
【図４】
2011013815.tif 000006
【図５】
2011013815.tif 000007
【図６】
2011013815.tif 000008
【図７】
2011013815.tif 000009
【図８】
2011013815.tif 000010
【図９】
2011013815.tif 000011
【図１０】
2011013815.tif 000012