(57)【要約】【課題】  アニメーション描画機能を実現しつつ、他の処理の処理能力の低下を抑制できる装置、方法およびプログラムを提供する。【解決手段】  この装置は、複数の処理を並行して実行可能な処理手段を含む情報処理装置であって、処理手段が並行して実行不可の処理の情報を排他処理情報として管理する管理手段と、管理手段が管理する排他処理情報に基づき、実行を要求された複数の処理のうち処理手段が並行して実行可能な処理を決定する決定手段と、決定された処理を実行するために必要とされる処理手段の使用率を計算する計算手段と、画面を切り替える要求を受け付ける入力手段と、受け付けた要求に従って処理手段が画面を切り替える処理を実行する際、計算手段により計算された使用率に応じて、画面を切り替える間に表示手段に表示させるために使用する、切り替え前後の画面により構成される中間画面の数を制御する制御手段とを含む。【選択図】  図３
2017224083.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理を並行して実行可能な処理手段を含む情報処理装置であって、
前記処理手段が並行して実行不可の処理の情報を排他処理情報として管理する管理手段と、
前記管理手段が管理する前記排他処理情報に基づき、実行を要求された複数の処理のうち、前記処理手段が並行して実行可能な処理を決定する決定手段と、
前記決定手段により決定された処理を実行するために必要とされる前記処理手段の使用率を計算する計算手段と、
画面を切り替える要求を受け付ける入力手段と、
前記入力手段が受け付けた前記要求に従って前記処理手段が前記画面を切り替える処理を実行する際、前記計算手段により計算された前記処理手段の使用率に応じて、前記画面を切り替える間に表示手段に表示させるために使用する、切り替え前後の画面により構成される中間画面の数を制御する制御手段とを含む、情報処理装置。
【請求項２】
前記管理手段は、前記処理の種別に応じて設定された前記処理手段の使用率を管理する、請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記管理手段で管理する前記画面を切り替える処理に対して設定された前記処理手段の使用率と、前記計算手段により計算された前記処理手段の使用率とを合計し、合計した値に応じて、前記中間画面の数を制御する、請求項２に記載の情報処理装置。
【請求項４】
前記管理手段は、前記処理の種別に応じて該種別の処理の優先度を管理する、請求項２または３に記載の情報処理装置。
【請求項５】
前記決定手段は、前記管理手段が管理する前記排他処理情報および前記優先度に基づき、前記実行を要求された複数の処理のうち、前記画面を切り替える処理より優先度が高く、前記処理手段が並行して実行可能な処理を決定する、請求項４に記載の情報処理装置。
【請求項６】
前記制御手段は、前記管理手段に対して前記画面を切り替える処理の優先度の変更を要求し、前記決定手段は、前記管理手段により変更された前記優先度に基づき、前記処理手段が並行して実行可能な処理を決定する、請求項５に記載の情報処理装置。
【請求項７】
前記管理手段は、前記実行を要求された複数の処理の情報を管理し、処理の追加または終了により前記複数の処理の情報および該処理が排他処理である場合は前記排他処理情報を更新し、
前記決定手段および前記計算手段は、前記管理手段が管理する前記複数の処理の情報が変更される度に、前記処理手段が並行して実行可能な処理を決定し、前記処理手段の使用率を計算する、請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記制御手段は、前記計算手段により計算された前記処理手段の使用率に応じて、前記中間画面の数を決定し、該数の該中間画面を生成して前記表示手段に出力する、請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
複数の処理を並行して実行可能な処理手段を含む情報処理装置により実行される制御方法であって、
前記処理手段が並行して実行不可の処理の情報を排他処理情報として管理手段で管理するステップと、
前記管理手段が管理する前記排他処理情報に基づき、実行を要求された複数の処理のうち、前記処理手段が並行して実行可能な処理を決定するステップと、
決定された処理を実行するために必要とされる前記処理手段の使用率を計算するステップと、
画面を切り替える要求を受け付けるステップと、
受け付けた前記要求に従って前記処理手段が前記画面を切り替える処理を実行する際、計算された前記処理手段の使用率に応じて、前記画面を切り替える間に表示手段に表示させるために使用する、切り替え前後の画面により構成される中間画面の数を制御するステップとを含む、制御方法。
【請求項１０】
請求項９に記載の制御方法に含まれる各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理を並行して実行可能な処理手段を含む情報処理装置、情報処理装置により実行される制御方法およびその制御をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
スマートフォン、タブレット端末、MFP(Multi-Function Peripheral)等では、画面の切り替え（画面遷移）をスムーズに実施し、表示パフォーマンスを向上させるために、アニメーション描画機能が搭載されている。アニメーション描画機能は、元の画面と切替先の画面を分割し、切替先の画面が一部領域となる画面からその領域を順次広げた複数の画面を構成し、それらを順次切り替え表示して、最終的に切替先の全体画面を描画する機能である。
【０００３】
この機能は、装置全体を制御するCPUを使用して実施される。画面遷移の際、CPUの負荷率が大きいと、アニメーション描画機能を実現することができない場合や、アニメーション描画機能を実現することができたとしても、他の処理の処理能力を低下させてしまう場合がある。
【０００４】
この問題に鑑み、CPUを含む主制御部の負荷率が基準値を超えて大きいとき、一定期間内の画面数を減少制御し、所定の一定期間内でその全体画面状態に至るよう変移画面数を可変制御する技術が提案されている（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の上記技術では、画面遷移を開始する瞬間の負荷率のみで変移画面数を決定するため、瞬間的な負荷率の変化によって影響を受ける。このため、画面遷移開始時に瞬間的に主制御部の負荷率が下がり、その後負荷率が大きい状態に戻った場合、アニメーション描画機能は実現できるが、他の処理の処理能力が低下してしまうという問題があった。
【０００６】
そこで、アニメーション描画機能を実現しつつ、他の処理の処理能力の低下を抑制することができる装置等の提供が望まれていた。
【課題を解決するための手段】
【０００７】
本発明は、上記課題に鑑みなされたものであり、複数の処理を並行して実行可能な処理手段を含む情報処理装置であって、処理手段が並行して実行不可の処理の情報を排他処理情報として管理する管理手段と、管理手段が管理する排他処理情報に基づき、実行を要求された複数の処理のうち処理手段が並行して実行可能な処理を決定する決定手段と、決定手段により決定された処理を実行するために必要とされる処理手段の使用率を計算する計算手段と、画面を切り替える要求を受け付ける入力手段と、入力手段が受け付けた要求に従って処理手段が画面を切り替える処理を実行する際、計算手段により計算された使用率に応じて、画面を切り替える間に表示手段に表示させるために使用する、切り替え前後の画面により構成される中間画面の数を制御する制御手段とを含む、情報処理装置が提供される。
【発明の効果】
【０００８】
本発明によれば、アニメーション描画機能を実現しつつ、他の処理の処理能力の低下を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】情報処理装置としてのMFPの全体構成の一例を示した図。
【図２】MFPのハードウェア構成の一例を示した図。
【図３】MFPの機能構成の一例を示したブロック図。
【図４】タスクを管理するタスク管理テーブルの一例を示した図。
【図５】タスク設定情報の一例を示した図。
【図６】画面遷移モード情報の一例を示した図。
【図７】排他リソースを管理する排他リソース管理テーブルの一例を示した図。
【図８】フレームレートに合わせた表示画面の作成について説明する図。
【図９】情報処理装置により実行される処理の一例を示したシーケンス図。
【図１０】情報処理装置により実行される処理の別の例を示したシーケンス図。
【発明を実施するための形態】
【００１０】
図１は、情報処理装置の全体構成の一例を示した図である。情報処理装置は、表示画面を有する装置であれば、いかなる装置であってもよく、例えばスマートフォン、タブレット端末、PC、デジタルカメラ、電子黒板、テレビ、プリンタ、スキャナ、コピー機、MFP等を用いることができる。以下、情報処理装置としてMFPを用いるものとして説明する。
【００１１】
MFP１０は、MFPを構成するユニットとして、操作部１１、原稿読み取り部１２、給紙部１３、印刷部１４、排紙部１５を備える。図１では、５つのユニットのみを例示するが、その他のユニットを備えていてもよい。
【００１２】
操作部１１は、ユーザに対してMFP１０の状態を表示し、ユーザからの要求を受け取るユニットである。MFP１０の状態としては、待機状態、印刷中、読み取り中、ファックス送信中、ファックス受信中、エラー等を挙げることができる。ユーザからの要求としては、ユーザの操作を挙げることができ、ユーザの操作としては、印刷等の実行ボタンの押下、情報の入力、画面の切り替え等を挙げることができる。これらは一例であるので、これらの状態や要求に限定されるものではない。
【００１３】
操作部１１は、MFP１０の状態を表示し、ユーザからの要求を受け取るために、表示と入力の両方の機能を有するタッチパネルを備える。ここでは、表示と入力の両方の機能を有するものとして説明したが、これらが分離され、ディスプレイといった表示手段と、入力ボタンといった入力手段とを備える構成であってもよい。
【００１４】
原稿読み取り部１２は、印刷元となる原稿を読み取るユニットである。原稿読み取り部１２は、スキャナ装置と同様、原稿に光を照射する光源と、原稿を透過した光または原稿に反射した光を受光し、電気信号に変換する光電変換素子を備えることができる。
【００１５】
給紙部１３は、印刷する紙の供給元のユニットで、給紙する紙を蓄積する給紙トレイを備えている。印刷部１４は、原稿読み取り部１２で読み取った原稿を、給紙部１３から給紙した紙に印刷するユニットである。印刷部１４の印刷方式は、インクジェット方式であってもよいし、電子写真方式であってもよい。排紙部１５は、印刷部１４で印刷した紙をMFP１０外に排出するユニットで、排出された紙を蓄積するための排紙トレイを備えている。
【００１６】
図２は、MFP１０のハードウェア構成の一例を示した図である。MFP１０は、CPU２０、ROM２１、RAM２２、HDD２３、プロッタエンジン２４、スキャナエンジン２５、通信I/F２６、操作I/F２７、ドライブ装置２８を備えている。
【００１７】
CPU２０は、MFP１０を統括的に制御する。CPU２０は、その制御の際、RAM２２を作業領域とし、ROM２１またはHDD２３に格納されているプログラムを読み出し実行する。ROM２１に格納されるプログラムとしては、MFP１０の起動に使用するブートプログラム、HDD２３への読み書き等の入出力を制御するBIOS(Basic Input/Output System)等が挙げられる。HDD２３に格納されるプログラムとしては、OS(Operating System)、各種の機能を実現するためのアプリケーション、各種の設定情報、後述する表示画面を制御するためのプログラム等が挙げられる。
【００１８】
プロッタエンジン２４は、印刷動作を実現するハードウェアで、電子写真方式であれば、露光ユニット、感光体ドラム、現像ユニット、帯電ユニット、転写ユニット、定着ユニット等を含む。インクジェット方式であれば、ヘッド、インクタンク、キャリッジ、駆動部等を含む。これらは良く知られたものであるため、ここでは詳述しない。
【００１９】
スキャナエンジン２５は、原稿の読み取り動作を実現するハードウェアである。スキャナエンジン２５は、上記の原稿読み取り部１２で説明した光源、光電変換素子等を含む。これらプロッタエンジン２４およびスキャナエンジン２５を利用することで、コピー機能、スキャナ機能、印刷機能、ファックス送信時の原稿読み取り、ファックス受信時の印刷出力等の各種の機能を実現する。
【００２０】
通信I/F２６は、モデム、LAN(Local Area Network)カード等で構成され、外部ネットワークと接続し、外部ネットワークを介した通信を制御するインタフェースである。通信I/F２６を利用することで、ファックス機能におけるファックス送受信を実現する。また、通信I/F２６を利用することで、インターネットに接続し、操作部１１にWebブラウザを使用してWebページを表示させることができ、メール送受信も実現することができる。
【００２１】
操作I/F２７は、表示機能を有するタッチパネル等により実現され、MFP１０を操作するための操作画面を表示する。
【００２２】
表示画面を制御するためのプログラムは、CD-ROMやUSB(Universal Serial Bus)メモリ等の記録媒体２９の配布やネットワーク等により提供される。ドライブ装置２８は、記録媒体２９により配布される場合、記録媒体２９を収容して読み取り可能にセットし、記録媒体２９からHDD２３にプログラムをインストールする。なお、このプログラムは、ネットワークを介してダウンロードする形式であってもよく、この場合、通信I/F２６を介してHDD２３にインストールすることができる。
【００２３】
図３は、MFP１０の機能構成の一例を示したブロック図である。MFP１０は、インストールされたプログラムやアプリケーション等をCPU２０が実行することにより各機能部を生成する。MFP１０は、機能部として、アプリケーション実行部３０、タスク管理部３１、排他リソース管理部３２、決定部３３、計算部３４、制御部３５、入力部３６を備える。
【００２４】
アプリケーション実行部３０は、印刷、原稿読み取り、通信といった各種の機能を実現するためのアプリケーションを実行する。アプリケーション実行部３０は、MFP１０を利用するトリガが発生すると、実行する単位毎にタスク管理部３１にタスクを登録する。トリガは、MFP１０が動作を開始するためのきっかけとなる命令や信号等で、印刷実行ボタンの押下等により発生させることができる。タスクは、CPU２０が処理する仕事の最小単位である。CPU２０は、複数のタスクを並行して実行することが可能な処理手段として機能する。
【００２５】
タスク管理部３１は、図４に示すようなタスク管理テーブルを保持し、タスクを実行順に登録し、タスク管理テーブルでタスクを一元管理する。タスク管理部３１は、タスクの実行が終了した場合、タスク管理テーブルから削除し、後続のタスクの順番を１つ前に移動（スライド）させる。具体的に説明すると、順番１の「プリンタ印刷」が終了すると、「プリンタ印刷」を削除し、順番２の「コピー」を順番１にスライドさせ、順番３の「スキャナ配信」を順番２にスライドさせる。タスク管理テーブルは、順番とタスク名のほか、タスクを識別するためのタスクID等を含んでいてもよい。
【００２６】
タスク管理部３１は、タスク管理テーブルのほか、各タスクに対して設定されたタスク設定情報も保持する。この情報は、工場出荷時等に予め設定しておくことができる。図５に、このタスク設定情報を例示する。タスク設定情報は、タスク毎に「タスク名」、「使用するリソース名」、「CPU使用率」、「タスク優先度」という情報を含む。リソースは、操作部１１、ROM２１、RAM２２、HDD２３、プロッタエンジン２４、スキャナエンジン２５、通信I/F２６等のハードウェアである。
【００２７】
図５中、「画面表示」というタスク名が２つあるが、１つは、ユーザからの要求を受け付けた時のタスクを示し、もう１つは、システム側で自動更新する時のタスクを示す。ユーザからの要求を受け付けた時とは、例えばユーザの操作により画面が切り替わる場合を一例として挙げることができる。システム側で自動更新する時とは、画面を一定時間毎に自動更新（リロード）する時である。
【００２８】
CPU使用率は、例えばCPUクロック数が１GHzと仮定した場合など、同一の条件下での使用率であり、事前検証等により、タスク毎に既知の値である。クロック数は、クロック周波数とも呼ばれ、各回路間で処理のタイミングを合わせるために使用される信号の数である。例えば、CPUクロック数が１GHzで、使用率が１０%の場合、１GHz×１０%＝１００MHzが、タスクが必要とするクロック数となる。
【００２９】
図５中、「フレームレート」とは、単位時間当たりに処理するフレーム数で、フレーム数は、表示する画面数、すなわち静止画像数あるいはコマ数である。タスク管理部３１は、図６に示すような、画面が切り替わる場合のモード（画面遷移モード）の場合の最高フレームレートの情報を、画面遷移モード情報として保持することができる。
【００３０】
タスク優先度は、そのタスクにCPU２０をどれだけ優先して使用させるべきかを表す。図５では、「１」に近いほど優先度が高く、「５」に近いほど優先度が低くなっている。これらの情報は、予めユーザが入力し、設定することができる。設定された優先度は、ユーザが変更するほか、制御部３５等によって変更されてもよい。
【００３１】
MFP１０は、１以上のタスクによってCPU２０が使用されているときに、画面を切り替える「画面表示（ユーザ操作受付時）」というタスクを受け付けることがある。このとき、CPU２０の負荷が大きいと、アニメーション描画機能を実現することができない場合や、アニメーション描画機能を実現することができたとしても、他の処理の処理能力を低下させてしまう場合がある。
【００３２】
決定部３３は、図４に示すタスク管理テーブル、図５に示すタスク設定情報および図７に示す排他リソース管理テーブルを参照し、それらの情報に基づき、CPU２０が並行して実行することができる処理を決定する。なお、処理は、タスクまたはそのタスクが使用するリソースにより実行される処理であるため、タスクまたはそのタスクが使用するリソースを決定してもよい。このため、図５に示す「タスク名」、「リソース名」は、処理の種別を表すものとして使用することができる。図５に示すように優先度が設けられている場合、「画面表示（ユーザ操作受付時）」というタスク名のタスクより優先度が高いタスクまたはそのタスクが使用するリソースを決定する。その時点で予想されるCPU２０の最大負荷を計算するためである。
【００３３】
排他リソース管理部３２は、図７に示す排他リソース管理テーブルを保持し、排他リソースの使用状況を管理する。排他リソースは、複数のタスクによって同時に利用することができないリソースであり、例えばプロッタエンジン２４、スキャナエンジン２５が挙げられる。排他リソースの使用状況は、各排他リソースが使用中か、未使用かという情報である。
【００３４】
図７に示す例では、プロッタエンジン２４が「使用中」であるため、「使用中」である間は、プロッタエンジン２４を利用することはできない。一方、スキャナエンジン２５については、「未使用」であるため、利用することが可能である。また、通信I/F２６については、排他リソースとして設定されていないので、複数のタスクよって同時に利用することが可能である。排他リソース管理テーブルは、リソース名、使用状況のほか、タスクID等を含んで構成することもできる。
【００３５】
再び図３を参照して、計算部３４は、決定部３３が決定したタスクまたはそのタスクが使用するリソースが必要とするCPU２０の使用率を、タスク設定情報から取得し、それらを合計することにより計算する。
【００３６】
入力部３６は、画面を切り替える要求を受け付ける。画像を切り替える要求は、ユーザによる画面を切り替える操作（フリック処理）とすることができる。入力部３６は、画面を切り替える要求を受け付けたとき、制御部３５に対して画面遷移の指示を通知する。
【００３７】
制御部３５は、この要求に従ってCPU２０が画面を切り替える処理を実行する際、画面遷移の指示を受けて、計算部３４に対してCPU使用率を問い合わせる。そして、制御部３５は、計算部３４からCPU使用率の通知を受け、計算部３４が計算した使用率に応じて、画面を切り替える間に操作部１１に表示させるために使用する、切り替え前後の画面により構成される中間画面の数、例えばフレームレートを制御する。
【００３８】
制御部３５は、これから行われる画面表示の最高フレームレートに設定したときのCPU使用率と、計算部３４から取得したCPU使用率との合計が１００%に収まる場合、最高フレームレート設定で表示画面を作成し、操作部１１へ順に出力して表示させる。
【００３９】
制御部３５は、その合計が１００%を超えてしまう場合、１００%に収まるようにフレームレートを落として表示画面を作成し、操作部１１へ順に出力して表示させる。最高フレームレートが３０fpsである場合、１秒間に３０フレームを表示するための中間画面を作成する。中間画面は、切り替え前後の画面から構成され、その割合を変えた画面である。
【００４０】
以下に、計算部３４および制御部３５が行う具体的な処理について例をもって説明する。例えば、「プリンタ印刷」と「スキャナ配信」の２つのタスクが並行して実行され、動作しているときに、「画面表示（システム側で自動更新時）」というタスクを受け付けた場合を想定する。
【００４１】
図５に示すタスク設定情報を参照すると、「画面表示（システム側で自動更新時）」の優先度は、「プリンタ印刷」のプロッタエンジン、通信I/F、「スキャナ配信」のスキャナエンジン、通信I/Fのいずれのリソースに対する優先度より低い。「プリンタ印刷」では、プロッタエンジン２４に２０%、通信I/F２６に１５%のCPU使用率が必要となる。また、「スキャナ配信」では、スキャナエンジン２５に３０%、通信I/F２６に１５%のCPU使用率が必要となる。このため、CPU使用率の合計は、２０＋１５＋３０＋１５＝８０%となる。つまり、必要なクロック周波数は、１GHz×８０%＝８００MHzとなる。
【００４２】
すると、CPU使用率は、空きが２０%しかなく、最高フレームレート設定で画面表示を行う場合に必要となる３０%には１０%足りない。そこで、最高フレームレートより低いフレームレートに設定し、画面表示を行うように制御する。この場合、最大の２４fpsではなく、それより遅い１６fpsに設定し、画面表示を行うように制御することができる。
【００４３】
フレームレートの計算は、以下のようにして行うことができる。最大時にCPU使用率３０%（クロック周波数３００MHz）で２４fpsが対応できるため、CPU使用率１%（クロック周波数１０MHz）では２４／３０fps（クロック周波数１GHz分の２４／３００）が対応できる。このとき、CPU使用率の空きは２０%（クロック周波数２００MHz）である。このため、フレームレートは、２００MHz×２４／３００＝１６fpsとして計算することができる。
【００４４】
この計算方法は一例であり、他の方法で計算してもよい。最大時のCPU使用率が３０%で、空きが２０%であるため、１０%（クロック周波数１００MHz）分足りない。このため、フレームレートは、２４−（２４×１００／３００）＝１６fpsとして計算することができる。ここでは、クロック周波数に置き換えて計算したが、CPU使用率を用いて、２４−（２４×１０／３０）のように計算してもよい。
【００４５】
計算部３４および制御部３５の具体的な処理について別の例をもってさらに説明する。例えば、「プリンタ印刷」と「スキャナ配信」の２つのタスクが並行して実行されているときに、「画面表示（ユーザ操作受付時）」というタスクを受け付けた場合を想定する。
【００４６】
図５に示すタスク設定情報を参照すると、「画面表示（ユーザ操作受付時）」の優先度は、「プリンタ印刷」におけるプロッタエンジン２４、「スキャナ配信」におけるスキャナエンジン２５より低いが、通信I/F２６より高い。プロッタエンジン２４に対するCPU使用率は２０%で、スキャナエンジンに対するCPU使用率は３０%である。このため、CPU使用率の合計は、２０＋３０＝５０%となる。つまり、必要なクロック周波数は、１GHz×５０%＝５００MHzとなる。
【００４７】
すると、「画面表示（ユーザ操作受付時）」に対して優先的に割り当てられるべきCPU使用率は、空きが５０%分ある。最高フレームレート設定で画面表示を行う場合に必要となる使用率は３０%で、充分に足りる。そこで、最高フレームレートに設定し、画面表示を行うように制御する。
【００４８】
最高フレームレートを設定した場合、全体のCPU使用率は８０%（クロック周波数は１GHz×８０%＝８００MHz）となる。通信I/F２６を利用した処理は、残りの使用率２０%（クロック周波数２００MHz）を利用して行う。
【００４９】
操作部１１に表示される画面について説明する。切り替え前の画面が、図８（ａ）に示す画面である。切り替え後の画面が、図８（ｅ）に示す画面である。中間画面は、図８（ｂ）〜（ｄ）に示す切り替え前後の画面から構成され、その面積を変えた画面である。
【００５０】
図８（ｂ）は、切り替え前の画面の左３／４の面積の部分と、切り替え後の画面の左１／４の面積の部分とを結合して作成された中間画面である。図８（ｃ）は、切り替え前の画面の左１／２の面積の部分と、切り替え後の画面の左１／２の面積の部分とを結合して作成された中間画面である。図８（ｄ）は、切り替え前の画面の左１／４の面積の部分と、切り替え後の画面の左３／４の面積の部分とを結合して作成された中間画面である。
【００５１】
ユーザによる画面の右側から左側へ向けて指を払う操作（フリック処理）により画面を切り替えた場合、最高フレームレートでは、図８（ａ）、図８（ｂ）、図８（ｃ）、図８（ｄ）、図８（ｅ）の順に画面が遷移する。
【００５２】
最高フレームレートに設定すると、CPU使用率が１００%を超える場合は、フレームレートを落として表示画面を作成し、画面表示を行う。この場合、例えば、図８（ａ）、図８（ｃ）、図８（ｅ）の画面を作成し、その順に画面表示を行う。すなわち、最高フレームレートからフレームを間引いて（図８（ｂ）、図８（ｄ）の画面を抜いて）描画するように制御する。
【００５３】
これまで、MFP１０が備える機能部について説明してきたが、以下、これら機能部により実行される処理を、図９を参照して詳細に説明する。アプリケーション実行部３０は、例えばタスク１の実行トリガが発生し、タスク１を開始すると、タスク管理部３１に対し、そのタスク１の「タスク名」の登録を依頼する(図９S1)。タスク管理部３１は、自身が保持するタスク管理テーブルの最後尾の順番に「タスク名」を登録し、保存する(図９S2)。
【００５４】
タスク管理部３１は、タスク管理テーブルに登録された全タスクの情報を取得する(図９S3)。そして、タスク管理部３１は、排他リソース管理部３２に対して、排他リソースの情報を要求する(図９S4)。排他リソース管理部３２は、その要求を受けて、排他リソース管理テーブルに登録されている排他リソースの情報をタスク管理部３１に通知する。タスク管理部３１は、その排他リソースの情報を取得する(図９S5)。
【００５５】
タスク管理部３１は、取得した全タスクの情報と、取得した排他リソースの情報とを参照し、使用中の排他リソースの情報（リソース名）を排他リソース管理部３２に通知する(図９S6)。排他リソース管理部３２は、その通知を受け、そのリソース名に対応する使用状況に「使用中」を設定し、排他リソースを管理する。
【００５６】
タスク管理部３１は、取得した全タスクの情報と、取得した排他リソースの情報と、自身が保持するタスク設定情報とを決定部３３に渡す(図９S7)。決定部３３は、受け取った情報に基づき、並行して動作可能なタスクを決定する(図９S8)。
【００５７】
例えば、全タスクが「プリンタ印刷」、「スキャナ配信」、「画面表示（ユーザ操作受付時）」の３つであれば、いずれも並行して動作可能なタスクとして決定される。一方、全タスクが「プリンタ印刷」、「コピー」、「画面表示（システム側で自動更新時）」の３つである場合、使用リソースの「プロッタエンジン」が重複しているため、「プリンタ印刷」と「コピー」というタスクは並行して動作させることができない。このため、「プリンタ印刷」と「コピー」のうち、先に登録され、動作中のタスクと「画面表示（システム側で自動更新時）」とが、並行して動作可能なタスクとして決定される。
【００５８】
決定部３３は、図５に示すように優先度が設けられている場合、「画面表示（ユーザ操作受付時）」というタスク名のタスクより優先度が高いタスクまたはそのタスクが使用するリソースを決定する。決定部３３は、決定したタスクの情報を計算部３４に通知する(図９S9)。
【００５９】
計算部３４は、決定部３３により決定されたタスクが使用するCPU使用率を、タスク設定情報から取得し、それらを合計することにより計算する(図９S10)。
【００６０】
S1からS10の間に、画面を切り替える操作が発生し、入力部３６がそれを受け付けると、入力部３６は、制御部３５に対して画面遷移の指示を通知する(図９S11)。制御部３５は、その通知を受けて、計算部３４に対してCPU使用率を要求する(図９S12)。計算部３４は、計算したCPU使用率を通知し、制御部３５は、そのCPU使用率を取得する(図９S13)。
【００６１】
制御部３５は、取得したCPU使用率と、これから行われる画面表示の最高フレームレートに設定したときのCPU使用率との合計から、フレームレートを決定する(図９S14)。そして、制御部３５は、決定したフレームレートを設定し、それに合わせた表示画面を作成し、画面表示を行うように制御する(図９S15)。つまり、制御部３５は、設定したフレームレートに合わせて必要な数の中間画面を作成し、そのフレームレートに合うタイミングで順に操作部１１に出力し、順に表示させる。
【００６２】
タスク１が終了した場合、アプリケーション実行部３０は、タスク管理部３１に対してタスク１の「タスク名」を通知し、タスク１の登録の抹消を依頼する(図９S16)。タスク管理部３１は、この依頼を受け、タスク管理テーブルに登録されたタスク１を削除し、その登録を抹消する(図９S17)。
【００６３】
タスク管理部３１は、タスク管理テーブルに登録された全タスクの情報を取得する(図９S18)。そして、タスク管理部３１は、排他リソース管理部３２に対して、排他リソースの情報を要求する(図９S19)。排他リソース管理部３２は、その要求を受けて、排他リソース管理テーブルに登録されている排他リソースの情報をタスク管理部３１に通知する。タスク管理部３１は、その排他リソースの情報を取得する(図９S20)。
【００６４】
タスク管理部３１は、取得した全タスクの情報と、取得した排他リソースの情報とを参照し、使用しなくなった排他リソースの情報（リソース名）を排他リソース管理部３２に通知する(図９S21)。排他リソース管理部３２は、その通知を受け、そのリソース名に対応する使用状況に「未使用」を設定し、排他リソースを管理する。
【００６５】
タスク管理部３１は、取得した全タスクの情報と、取得した排他リソースの情報と、自身が保持するタスク設定情報とを決定部３３に渡す(図９S22)。ここでは、再度これらの情報を渡しているが、抹消されたタスクの情報といった変更があった情報のみを渡してもよい。
【００６６】
決定部３３は、受け取った情報に基づき、並行して動作可能なタスクを決定する(図９S23)。決定部３３は、優先度が設けられている場合、「画面表示（ユーザ操作受付時）」というタスク名のタスクより優先度が高いタスクまたはそのタスクが使用するリソースを決定する。
【００６７】
計算部３４は、決定部３３により決定されたタスクが使用するCPU使用率を、タスク設定情報から取得し、それらを合計することにより計算する(図９S24)。MFP１０は、タスクの登録の依頼があるたびに、図９に示すS1からS10の処理を繰り返し、タスクの抹消の依頼があるたびに、図９に示すS16からS24の処理を繰り返す。
【００６８】
このようにして、MFP１０が実行するタスクのうち、リソースが競合して動作しないタスクおよび画面表示の優先度を考慮したCPU使用率を計算し、そのCPU使用率に応じたフレームレートに設定し、画面表示を行うことができる。このため、最高フレームレート設定（通常設定）が可能である場合は、最高フレームレートで、可能でない場合でも、処理可能なフレームレートで画面表示を行うことができる。
【００６９】
CPU負荷が高い場合でも、フレームレートを落として画面表示を行うことができるので、視覚的効果を残しつつユーザにストレスを与えない画面遷移を提供することができる。
【００７０】
図９に示すフローは、制御部３５が取得したCPU使用率が１００%に達していない場合のフローである。制御部３５が取得したCPU使用率が既に１００%に達している場合は、図９に示すようなフレームレートを落とすことで対応することはできない。
【００７１】
このような場合、制御部３５は、タスク管理部３１に対して画面表示の優先度の変更を要求し、タスク管理部３１がその優先度を変更することで対応することができる。具体的には、画面表示の優先度を高くすることができる。画面表示の優先度が高くなれば、それまで画面表示の優先度より高かったタスクまたはリソースに対するCPU使用率の一部が低くなり、決定部３３で決定されるタスクまたはリソースの数が減るからである。
【００７２】
この場合の処理について、図１０を参照して説明する。図１０に示すS1からS13までの処理は、図９に示すS1からS13までの処理と同様であるため、ここではその説明を省略する。また、図１０では、図９に示すS16からS24までの処理も同様であるため、その記載を省略している。
【００７３】
制御部３５は、取得したCPU使用率が１００%に達していることを確認し、タスク管理部３１に対して画面表示の優先度の変更を要求する(図１０S14)。タスク管理部３１は、画面表示の優先度を変更し、変更された優先度を決定部３３に通知する(図１０S15)。このとき、全タスク情報等の必要なその他の情報を通知することもできる。決定部３３は、受け取った情報に基づき、並行して動作可能なタスクを決定する(図１０S16)。
【００７４】
計算部３４は、決定部３３により決定されたタスクが使用するCPU使用率を、タスク設定情報から取得し(図１０S17)、それらを合計することにより計算する(図１０S18)。計算部３４は、計算したCPU使用率を通知し、制御部３５は、そのCPU使用率を取得する(図１０S19)。制御部３５は、取得したCPU使用率と、これから行われる画面表示の最高フレームレートに設定したときのCPU使用率との合計から、フレームレートを決定する(図１０S20)。そして、制御部３５は、決定したフレームレートを設定し、それに合わせた表示画面を作成し、画面表示を行うように制御する(図１０S21)。
【００７５】
これまで本発明を、情報処理装置、制御方法およびプログラムとして上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではない。本発明は、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、上記のプログラムは、他の各種ソフトウェアとともにROM等に予め組み込んで提供するように構成してもよい。
【００７６】
上記の実施形態では、上記の各機能部は、CPU２０がHDD２３に格納されたプログラムを読み出して実行することにより、各機能部を実現するプログラムがRAM２２上にロードされ、上記の各機能部が生成されている。しかしながら、これに限られるものではなく、例えば各機能部のうちの少なくとも一部が専用のハードウェア回路（例えば半導体集積回路）で実現されていてもよい。
【符号の説明】
【００７７】
１０…MFP、１１…操作部、１２…原稿読み取り部、１３…給紙部、１４…印刷部、１５…排紙部、２０…CPU、２１…ROM、２２…RAM、２３…HDD、２４…プロッタエンジン、２５…スキャナエンジン、２６…通信I/F、２７…操作I/F、２８…ドライブ装置、２９…記録媒体、３０…アプリケーション実行部、３１…タスク管理部、３２…排他リソース管理部、３３…決定部、３４…計算部、３５…制御部、３６…入力部
【先行技術文献】
【特許文献】
【００７８】
【特許文献１】特開２０１１−１７５３２１号公報
【図１】
2017224083.tif 000003
【図２】
2017224083.tif 000004
【図３】
2017224083.tif 000005
【図４】
2017224083.tif 000006
【図５】
2017224083.tif 000007
【図６】
2017224083.tif 000008
【図７】
2017224083.tif 000009
【図８】
2017224083.tif 000010
【図９】
2017224083.tif 000011
【図１０】
2017224083.tif 000012