(57)【要約】【課題】  開示の技術は、単位期間内に実行されるべき画像データの処理が完了したと判定し、プロセッサの消費電力を抑制する技術を提供することを目的とする。【解決手段】  開示の方法は、第１期間にプロセッサが実行した画像作成処理の実績に基づき、第２期間にプロセッサが行う画像作成処理の終了タイミングを予測する工程と、第２期間において、終了タイミングに前記プロセッサの消費電力を低下させる工程とを含む。【選択図】図７
2015206931.tif 000002
【特許請求の範囲】
【請求項１】
第１期間にプロセッサが実行した画像作成処理の実績に基づき、第２期間に前記プロセッサが行う画像作成処理の終了タイミングを予測する工程と、
前記第２期間において、前記終了タイミングに前記プロセッサの消費電力を低下させる工程と
を有することを特徴とするデータ処理方法。
【請求項２】
前記終了タイミングを予測する工程は、前記第１期間に前記プロセッサが行った画像作成処理により作成された第１画像の数に基づき、前記第２期間に前記プロセッサが行う画像作成処理により作成される第２画像の数を予測する工程を含み、
前記終了タイミングに前記プロセッサの消費電力を低下させる工程は、前記第２期間において作成された前記第２画像の数が前記予測された数に達したことにより前記終了タイミングの検出を行う工程を含む
ことを特徴とする請求項１に記載のデータ処理方法。
【請求項３】
前記第１画像は、前記プロセッサを有するコンピュータ上で動作するソフトウェアに基づき作成された画像であり、
前記第１画像と他の画像を合成することによりディスプレイに表示させる第１画面を作成する合成処理を、前記プロセッサにより実行する工程を更に有することを特徴とする請求項１又は２に記載のデータ処理方法。
【請求項４】
前記画像作成処理及び前記合成処理は、所定の時間間隔で発行される同期信号に基づいて実行されることを特徴とする請求項３に記載のデータ処理方法。
【請求項５】
第１同期信号に基づいて前記第１画像が作成され、前記第１同期信号の次に発行される第２同期信号に基づいて前記第１画面が作成されることを特徴とする請求項４に記載のデータ処理方法。
【請求項６】
前記第１期間は、前記第１同期信号に基づいて実行された前記合成処理の開始時刻と、前記第２同期信号に基づいて実行された前記合成処理の開始時刻との間の期間であり、
前記第２期間は、前記第２同期信号に基づいて実行された前記合成処理の開始時刻と、前記第２同期信号の次に発行される第３同期信号に基づいて実行された前記合成処理の開始時刻との間の期間である
ことを特徴とする請求項５に記載のデータ処理方法。
【請求項７】
前記第２期間より前の、前記第１期間を含む複数の期間に作成された画像の数に基づき、前記プロセッサの消費電力を低下させる工程の実行を禁止することを特徴とする請求項２乃６何れか一項に記載のデータ処理方法。
【請求項８】
第１期間にプロセッサが実行した画像作成処理の実績に基づき、第２期間に前記プロセッサが行う画像作成処理の終了タイミングを予測する予測部と、
前記第２期間において、前記終了タイミングに前記プロセッサの消費電力を低下させるモード管理部と
を有することを特徴とするデータ処理装置。
【請求項９】
前記第２期間において作成された前記第２画像の数をカウントするカウンタを更に含み、
前記予測部は、前記第１期間に前記プロセッサが行った画像作成処理により作成された第１画像の数に基づき、前記第２期間に前記プロセッサが行う画像作成処理により作成される第２画像の数を予測数として保持し、
前記モード管理部は、前記第２期間において前記カウンタによってカウントされた前記第２画像の数が前記予測数に達したことに基づき前記プロセッサの消費電力を低下させる
ことを特徴とする請求項８に記載のデータ処理装置。
【請求項１０】
前記第１画像は、前記データ処理装置上にて動作するソフトウェアに基づき作成された画像であり、
前記第１画像と他の画像を合成する合成処理によりディスプレイに表示させる第１画面を作成する合成処理部を更に有することを特徴とする請求項８又は９に記載のデータ処理装置。
【請求項１１】
前記画像作成処理及び前記合成処理は、所定の時間間隔で発行される同期信号に基づいて実行されることを特徴とする請求項１０に記載のデータ処理装置。
【請求項１２】
第１期間にプロセッサが実行した画像作成処理の実績に基づき、第２期間に前記プロセッサが行う画像作成処理の終了タイミングを予測する工程と、
前記第２期間において、前記終了タイミングに前記プロセッサの消費電力を低下させる工程と
をコンピュータに実行させることを特徴とするプログラム。
【請求項１３】
前記終了タイミングを予測する工程は、前記第１期間に前記プロセッサが行った画像作成処理により作成された第１画像の数に基づき、前記第２期間に前記プロセッサが行う画像作成処理により作成される第２画像の数を予測する工程を含み、
前記終了タイミングに前記プロセッサの消費電力を低下させる工程は、前記第２期間において作成された前記第２画像の数が前記予測された数に達したことにより前記終了タイミングの検出を行う工程を含む
ことを特徴とする請求項１２に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、データ処理方法、データ処理装置及びプログラムに関する。
【背景技術】
【０００２】
ノート型コンピュータやスマートフォン等の携帯端末においては、バッテリーによる駆動を維持するために、消費電力を抑制する技術が開発されている。携帯端末にて消費される電力の一つに、ディスプレイに表示させる画像のデータ作成を行うプロセッサの消費電力が含まれる。例えばスマートフォン上で起動するアプリケーションソフトウェアがディスプレイ上の画像を更新する場合、スマートフォンが有するプロセッサは、新たな画像データの作成処理を行い、作成された画像データに基づき、新しい画像をディスプレイに表示する。画像の更新は、所定の時間間隔で発行される垂直同期信号等の同期信号に同期して行われる。
【０００３】
同期信号に同期して更新される画像データを作成するプロセッサの消費電力を抑制する技術として、実行すべき画像データの作成処理が次の同期信号の発行前に完了した場合に、プロセッサの動作モードを低消費電力モードに切り替える技術がある。これにより、次の同期信号が発行されるまでの期間の消費電力を削減することができる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−６２７９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１には、単位期間の終了よりも前に、その期間内に処理すべき画像データの処理が完了した場合は、プロセッサを低消費電力モードへ移行させることが記載されている。しかし特許文献１には、処理すべき画像データの処理が全て完了したことを認識する具体的な方法についての開示がなされていない。そのため、特許文献１に開示された方法は、消費電力を抑制する技術として十分な利便性があるとは言えない。
【０００６】
本願は、単位期間内に実行されるべき画像データの処理が完了したと判定できる場合に、プロセッサの消費電力を抑制することを目的とするものである。
【課題を解決するための手段】
【０００７】
開示の描画方法は、第１期間にプロセッサが実行した画像作成処理の実績に基づき、第２期間にプロセッサが行う画像作成処理の終了タイミングを予測する工程と、第２期間において、終了タイミングにプロセッサの消費電力を低下させる工程とを有する。
【発明の効果】
【０００８】
本願の技術により、所定期間内に実行されるべき画像データの処理が全て完了したと判定された場合に、画像データ処理を行うプロセッサの動作モードを変更することにより、消費電力を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施例で使用する用語の定義について説明する図である。
【図２】第１実施例における表示装置のハードウェア構成図である。
【図３】第１実施例におけるグラフィックデータ処理部の動作モードと、グラフィックデータ処理部にて消費される電力等との関係を示す図である。
【図４】第１実施例における画像作成処理、合成処理及び画面表示処理に関する処理手順を示す図である。
【図５】図４に示した処理に、図３に示した動作モードを対応付けて示す図である。
【図６】単位期間毎に作成された画像の数の測定例を示す図である。
【図７】第１実施例におけるＣＰＵの機能ブロック図である。
【図８】第１実施例において、複数の画像が作成される場合の処理タイミングについて説明する図である。
【図９】第１実施例における各アプリによる画像作成処理の詳細を示す図である。
【図１０】第１実施例における合成処理部の機能ブロック図である。
【図１１】第１実施例における画像作成処理終了通知部の機能ブロック図である。
【図１２】第１実施例における完了判定部の機能ブロック図である。
【図１３】第１実施例におけるモード管理部の機能ブロック図である。
【図１４】第１実施例における合成処理部の処理フローチャートである。
【図１５】第１実施例における画像作成終了通知部の処理フローチャートである。
【図１６】第１実施例における完了判定部の処理フローチャートである。
【図１７】第１実施例におけるモード管理部の処理フローチャートである。
【図１８】第１実施例において、データ処理が終了したと判定された場合にグラフィックデータ処理部の動作モードを休止モードとした場合の様子を示す図である。
【図１９】第１実施例における用語の定義について説明する図である。
【図２０】各Ｖｓｙｎｃの発行タイミングと、画像作成処理と合成処理の実行タイミングの関係を示す図である。
【図２１】第２実施例における合成処理部の処理フローチャートである。
【図２２】第３実施例におけるＣＰＵの機能ブロック図である。
【図２３】第３実施例における統計処理部の機能ブロック図である。
【図２４】第３実施例における統計処理部の処理フローチャートである。
【図２５】第３実施例における完了判定部及び統計処理部の処理フローチャートである。
【図２６】第３実施例におけるカウント値に対する出現頻度の分布の一例を示す図である。
【図２７】第３実施例の変形例における統計処理部の機能ブロック図である。
【図２８】第３実施例の変形例における統計処理部の処理フローチャートである。
【図２９】第３実施例の変形例におけるカウント値に対する出現頻度の分布の一例を示す図である。
【図３０】第４実施例におけるモード管理部の機能ブロック図である。
【図３１】単位期間に含まれる４つの状態を説明する図である。
【図３２】第４実施例において、状態記憶部が記憶する値と、状態記憶部が記憶する値に対応する状態と、各状態であることを認定するための条件との関係を示す図である。
【図３３】第４実施例におけるモード管理部の処理フローチャートである。
【図３４】第４実施例におけるモード管理部の処理フローチャートである。
【図３５】第４実施例の変形例におけるモード管理部の機能ブロック図である。
【図３６】第４実施例の変形例におけるモード管理部の処理フローチャートである。
【図３７】単位期間毎に作成された画像の数及び的中率の挙動の例を示す図である。
【図３８】第５実施例におけるＣＰＵの機能ブロック図である。
【図３９】第５実施例における変動判定部の機能ブロック図である。
【図４０】第５実施例における完了判定部及び変動判定部の処理フローチャートである。
【図４１】第５実施例における変動判定部の処理フローチャートである。
【発明を実施するための形態】
【００１０】
＜第１実施例＞
本実施例では、ある垂直同期信号（以下、Ｖｓｙｎｃ）から次に発行されるＶｓｙｎｃまでの期間（以下、単位期間）内に処理されるべき画面作成に関するデータ処理が完了したと判定するための具体的な手法を開示する。画面作成に関するデータ処理が完了したと判定することにより、プロセッサを休止させることができる期間を適切に認識することができ、表示装置の消費電力を抑制することができる。
【００１１】
図１は、第１実施例で使用する用語の定義について説明する図である。図１は、表示装置１として、スマートフォン等のような携帯端末を例示するものである。表示装置１の表示部であるディスプレイ２の全体に表示される像を「画面」と呼ぶ。ディスプレイ２上には一枚の「画面」が表示され、Ｖｓｙｎｃが毎秒６０回発行される場合であれば、毎秒６０枚の「画面」がディスプレイ上で順次更新される。但し、静止画の状態であれば「画面」の内容は更新されず、同一内容の「画面」が一定時間表示される。
【００１２】
一枚の「画面」には、アプリケーションソフトウェア（以下、アプリ）が個別に描画する像３が含まれる。個々のアプリが描画する像３のそれぞれを「画像」と呼ぶ。図１に示す例では、一つの「画面」内に三つのアプリのそれぞれが「画像」を表示している。個々のアプリが描画した「画像」を合成することにより、ディスプレイ２上に表示される「画面」が作成される。
【００１３】
図２は、第１実施例における表示装置１のハードウェア構成図である。表示装置１は、例えばノート型コンピュータやタブレットコンピュータ、スマートフォン等の携帯端末である。表示装置１は、バス７００及び内部バス２３０と、プロセッサ１００及びプロセッサ２１０と、メモリ２２０及びメモリ３００及びメモリ４００と、ディスプレイコントローラ５００とディスプレイ６００とを有する。プロセッサ２１０とメモリ２２０は、内部バス２３０を介してバス７００に接続される。プロセッサ１００は表示装置１全体の管理やデータ処理を行う。メモリ４００は表示装置１のメインメモリとして用いられる。プロセッサ２１０は画像及び画面の作成に関するデータ処理を主に行うプロセッサであり、Ｇｒａｐｈｉｃ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＧＰＵ）と呼ばれる。メモリ２２０は、画像データ及び画面データを主に格納するメモリであり、Ｖｉｄｅｏ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＶＲＡＭ）と呼ばれる。またメモリ３００は画面データを主に格納するＶＲＡＭである。ディスプレイコントローラ５００は、作成された画面をディスプレイ６００上に表示する。
【００１４】
プロセッサ１００は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）、Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＭＰＵ）、Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ（ＤＳＰ）、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）等の電子回路部品である。プロセッセ２１０は、ＭＰＵ、ＤＳＰ、ＦＰＧＡ等の電子回路部品である。尚、プロセッサ２１０はＣＰＵであってもよい。メモリ２２０、３００、及び４００は、Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＲＡＭ）、Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＳＲＡＭ）等の電子回路部品である。本明細書の以降の部分において、便宜上、プロセッサ１００をＣＰＵと呼び、プロセッサ２１０をＧＰＵと呼ぶこととする。また便宜上、メモリ２２０を第１ＶＲＡＭと呼び、メモリ３００を第２ＶＲＡＭと呼ぶこととする。
【００１５】
図２に示すＣＰＵ１００、ＧＰＵ２１０、第１ＶＲＡＭ２２０及び内部バス２３０は、Ｓｙｓｔｅｍ  Ｏｎ  Ｃｈｉｐ（ＳｏＣ）として単一の半導体チップにて形成されてもよい。尚、ＧＰＵ２１０、第１ＶＲＡＭ２２０及び内部バス２３０を併せて、本明細書では便宜上、グラフィックデータ処理部２００と呼ぶこととする。
【００１６】
図３は、グラフィックデータ処理部２００の動作モードと、グラフィックデータ処理部２００にて消費される電力等との関係を示す図である。本実施例では、動作モードとして４つのモードを例示する。第１動作モードは、ＧＰＵ２１０及び内部バス２３０が何れも稼働するモードである。本明細書では、第１動作モードを「アクティブモード」と呼ぶ。第２動作モードは、ＧＰＵ２１０に供給されるクロックが停止された状態である。この状態ではＧＰＵ２１０はデータ処理を行わない。本明細書では、第２動作モードを「待機モード」と呼ぶ。第２動作モードでは、内部バス２３０にはクロックが供給される。尚、クロックの停止とは、クロック供給源となるクロック生成回路を停止させることや、クロック生成回路を稼働させたままでクロック供給経路を経つ、所謂クロックゲーティングの何れの場合も含む意味である。第３動作モードは、ＧＰＵ２１０に供給されるクロックが停止され、かつ内部バス２３０に供給されるクロックも停止された状態である。この状態ではＧＰＵ２１０はデータ処理を行っておらず、また第１ＶＲＡＭ２２０へのアクセスも行えない状態である。本明細書では、第３動作モードを「休止モード」と呼ぶ。第４動作モードは、ＧＰＵ２１０への電力供給が停止され、かつ内部バス２３０への電力供給も停止される状態である。本明細書では、第４動作モードを「電源オフモード」と呼ぶ。尚、電力供給の停止とは、電力の供給源となる電源回路を停止することや、電源回路を稼働させたままで電力供給経路を経つ、所謂パワーゲーティングの何れの場合も含む意味である。
【００１７】
図３に示すように、グラフィックデータ処理部２００で消費される電力は、４つの動作モードのなかで、第１動作モードが一番大きく、第４動作モードが一番小さい。また、第１動作モードへの遷移に要する時間は、第２動作モードが一番短く、第４動作モードが一番長い。尚、図３に示した４つの動作モードは、消費電力が異なる複数の動作モードについて説明するための例示であり、表示装置１がここに開示される動作モードを必須の要件として有することを意図するものではない。また各動作モードの呼称についても実施形態を限定する意図はなく、他の呼称が付されてもよい。
【００１８】
図４に基づいて、表示装置１における画像作成処理、合成処理及び画面表示処理に関する処理手順を説明する。表示装置１は、所定間隔で発行されるＶｓｙｎｃに同期して１フレームの画面を作成してディスプレイ６００に表示する。図４においては、横軸を時間軸とし、順次発行されるＶｓｙｎｃ毎に実行される画像作成処理、合成処理及び画面表示処理に関する処理の流れを示している。尚本明細書においては、「画像作成処理」とは、画像データを作成する処理を意味し、「合成処理」とは、画像データを合成して画面データを作成する処理を意味し、「画面表示処理」とは、画面データをディスプレイ６００に実際に表示する処理を意味する。
【００１９】
図１で説明したように、一つの画面を作成するために実行されるデータ処理には、個々の画像を作成するためのデータ処理と、作成された個々の画像を合成して画面を作成するためのデータ処理とが含まれる。画像を作成するデータ処理と、画像を合成するデータ処理がどのような手順で実行されるかについて、図４に沿って説明する。まずＶｓｙｎｃ１の発行に基づき、画像作成処理が行われる。ここでは複数の画像作成処理がシリアルに行われる例を示している。例えば表示装置１上で複数のアプリが起動している場合であって、複数のアプリがそれぞれディスプレイ６００上に表示されている画像を更新する必要がある場合は、複数のアプリの各々が画像作成処理を行う。図４に示す例では二つの画像について作成処理が行われる。複数のアプリの各々が画像作成処理によって生成した画像データは、そのままディスプレイ６００上に表示される訳ではなく、他のアプリによる画像データと重ね合わせる合成処理を行う必要がある。そのため、作成された画像データは、一旦第１ＶＲＡＭ２２０に格納される。
【００２０】
次にＶｓｙｎｃ２の発行に基づき、合成処理が行われる。合成処理により、Ｖｓｙｎｃ１に基づいて生成されて第１ＶＲＡＭ２２０に格納された画像データから画面データが作成される。画面データは、第１ＶＲＡＭ２２０に格納された後、第２ＶＲＡＭ３００に転送されるか、もしくは第１ＶＲＡＭ２２０に格納されることなく第２ＶＲＡＭ３００に格納される。合成処理が終了した後に、各アプリが画像を更に更新する場合には、続いて画像作成処理が行われて、新しい画像データを第１ＶＲＡＭ２２０に格納する。図４に示す例では二つの画像について作成処理が行われる。
【００２１】
次にＶｓｙｎｃ３の発行に基づき、画面表示処理が行われる。具体的には、Ｖｓｙｎｃ２に基づいて生成されて第２ＶＲＡＭ３００に格納された画面データが、ディスプレイ６００に表示される。また、Ｖｓｙｎｃ２に基づいて生成されて第１ＶＲＡＭ２２０に格納された画像データについての合成処理が行われる。合成処理が終了すると、同様に画像作成処理が行われる。この例では、Ｖｓｙｎｃ３に対応する単位期間では一つの画像の作成処理が実行される例を示している。
【００２２】
図４に示されるように、合成処理と画像作成処理は、時間的に重なって実行されることとはない。これは、合成処理と画像作成処理はいずれも、ＧＰＵ２１０を含むグラフィックデータ処理部２００にて実行されるものであるためである。両処理がグラフィックデータ処理部２００にて競合することを避けるため、Ｖｓｙｎｃが発行された際には、先に合成処理が行われ、その後に画像作成処理が行われる。また複数の画像作成処理同士についても、グラフィックデータ処理部２００での処理が競合することを避けるために、排他的に処理が行われる。尚、画面表示処理は、第２ＶＲＡＭ３００に格納された画面データに基づいてディスプレイコントローラ５００によって実行される処理であり、グラフィックデータ処理部２００の処理と独立して実行可能なため、合成処理や画像作成処理と時間的に重なった処理とすることができる。
【００２３】
このように単位期間内におけるデータ処理の順序は、合成処理により画面データを作成する処理が先に行われ、その後、画像データを作成する処理が行われる。そのため、単位期間において、画像データの作成に関する処理が終了した後、次の単位期間が開始されるまでの間は、ＧＰＵ２１０はデータ処理を行っていない。
【００２４】
しかし、単位期間に作成される画像の数は不定であるため、一つの「画像」のデータを作成する処理が終了しても、必ずしも一つの「画面」の作成に関するデータ処理が全て完了したとはいえない。このような状況においてＧＰＵ２１０を休止させるためには、全ての画像作成処理が終了したことを認知する技術の確立が有用である。本実施例は、単位期間内に実行される画像データの作成処理が全て終了したと判定するための技術的手段を開示するものである。
【００２５】
図５は、図４に示した処理に、図３に示した動作モードを対応付けて示す図である。図５中の「α」の表記は、画像作成処理を意味し、「β」の表記は合成処理を意味するものとする（後述する図１８、図２０及び図３１でも同様）。グラフィックデータ処理部２００が画像作成処理を実行する期間は、グラフィックデータ処理部２００の動作モードはアクティブモードである。またグラフィックデータ処理部２００が合成処理を実行する期間も、動作モードはアクティブモードである。一方、画像作成処理や合成処理が行われていない期間は、グラフィックデータ処理部２００は待機モードとなる。ここで、グラフィックデータ処理部２００で消費される電力を削減するためには、合成処理及び画像作成処理が終了した後、次のＶｓｙｎｃが発行されるまでの期間を、待機モードよりも消費電力が小さい休止モードや電源オフモードに制御することが有効である。但し図３にて示したように、消費電力が小さい動作モードほど、アクティブモードへの移行に要する時間が長くなることを考慮する必要がある。例えば図４において、Ｖｓｙｎｃ２に基づいて実行される一つ目の画像作成処理が終了した時点で、動作モードをアクティブモードから休止モードに移行させたとする。この場合は、動作モードを待機モードとした場合に比べて消費電力を削減することができる。しかし図５に示す例では、グラフィックデータ処理部２００は、次のＶｓｙｎｃ３が発行されるまでにもう一つの画像作成処理を実行しなければならない。そのため、動作モードを休止モードからアクティブモードへ戻す必要があるが、休止モードからアクティブモードへ移行させるために要する時間は、待機モードからアクティブモードへ移行させるために要する時間よりも長い。そのため、図５内に表記した期間Ｘが長くなり、２つ目の画像作成処理がＶｓｙｎｃ３の発行までに完了しなくなることが生じ得る。このような画像作成処理の遅延に起因して、後続のＶｓｙｎｃにて実行される合成処理及び画面表示処理が遅延し、ディスプレイ６００の画面表示の切り替えが円滑に行えなくなる場合もある。そこで本実施例では、各Ｖｓｙｎｃにおいて画像作成処理の終了を検知した際に処理待ちの他の画像作成処理があるか否かを予測する。そして処理待ちの他の画像作成処理がない、つまり次のＶｓｙｎｃ発行までに処理すべき全ての画像作成処理を実行したと判断される場合には、動作モードを、待機モードよりも消費電力の小さいモードへ移行させる。これにより、グラフィックデータ処理部２００がデータ処理を行っていない期間（期間Ａ，Ｂ，Ｃ，Ｄ）の少なくとも一部における消費電力を削減することがきる。また、処理待ちの他の画像作成処理が存在すると判断される場合は、動作モードを待機モードとすることで、期間Ｘが延伸することを防止することができる。本実施例にて開示される、単位期間内に実行すべき他の画像作成処理の存否を判定する方法は、過去の単位期間内に作成された画像数の実績を記録する工程と、作成画像数の実績に基づいて次の単位期間内に作成される画像数を予測する工程と、当該単位期間内に実際に作成された画像数をカウントする工程と、カウントされた画像数が予測数に達したことを以て全ての画像作成��理が終了したと判定する工程とを有する。
【００２６】
図６は、単位期間毎に作成された画像の数の測定例を示す図である。図６の横軸は時間（Ｖｓｙｎｃ数）を示し、縦軸は画像数を示す。この例では、画像数は発行されるＶｓｙｎｃ毎で変動する場合はあるものの、一定値を示す場合が多いケースを示している。このように各Ｖｓｙｎｃに対応して作成された画像数の記録を取ることにより、次回のＶｃｙｎｃの発行に基づいて作成される画像の数をある程度予測することが可能である。本実施例では、単位期間で作成される画像の数を、過去の実績に基づいて予測し、当該単位期間に作成された画像の数が予測した画像の数に一致したことを検出し、ＧＰＵ２１０の動作モードを変更するよう制御することにより、ＧＰＵ２１０を含むグラフィックデータ処理部２００の消費電力を削減することができる。
【００２７】
図７は、ＣＰＵ１００の機能ブロック図である。ＣＰＵ１００は、メモリ４００又はＣＰＵ１００がアクセス可能な他の記憶装置に格納された所定のプログラムを実行することにより、図７に示す各機能を実現する。ＣＰＵ１００は、画像作成処理部１１０、グラフィックライブラリ１２０、画像作成処理終了通知部１２５、合成処理部１３０、完了判定部１４０、タイマ部１５０、モード管理部１７０、グラフィックデータ処理部ドライバ１８０として機能する。
【００２８】
画像作成処理部１１０は表示装置１上で起動している各アプリが画像を更新する際に、グラフィックライブラリ１２０及びグラフィックデータ処理部ドライバ１８０を介してグラフィックデータ処理部２００を用いて画像作成処理を実行し、新しい画像データを作成する。画像作成処理部１１０は例えばアプリ層により実現される。
【００２９】
タイマ部１５０は例えばカーネル層により実現され、所定の時間間隔でＶｓｙｎｃを発行し、合成処理部１３０へ送付する。合成処理部１３０は例えばサービス層により実現され、タイマ部１５０からＶｓｙｎｃを受け付けると、Ｖｓｙｎｃを受けたことを示すＶｓｙｎｃ通知を完了判定部１４０及びモード管理部１７０へ送信する。Ｖｓｙｎｃ通知を受けた完了判定部１４０は、当該Ｖｓｙｎｃに対応する単位期間で作成されることが予測される画像の数を予測数として特定して保持する。予測数の特定方法については後述する。モード管理部１７０は例えばカーネル層で実現され、Ｖｓｙｎｃ通知の受信に基づき、グラフィックデータ処理部２００の動作モードを制御する。
【００３０】
合成処理部１３０は、受信したＶｓｙｎｃに基づき、画像作成処理部１１０が作成した画像データの合成処理を行う。画像データの合成処理が終了すると、合成処理の終了通知をグラフィックライブラリ１２０へ送信する。合成処理の終了通知を受信したグラフィックライブラリ１２０は、画像作成処理部１１０の指示に従い、画像作成処理を行う。
【００３１】
グラフィックライブラリ１２０に設けられた画像作成処理終了通知部１２５は、各画像作成処理の終了を検出し、画像作成処理終了通知を完了判定部１４０に対して送信する。完了判定部１４０は、画像作成終了通知部１２５から受けた画像作成終了通知の数、すなわち実際に作成された画像の数である実測数が、先に登録された予測数と一致したか否かを判定する。そして完了判定部１４０は、画像の実測数と予測数が一致した場合に、当該Ｖｓｙｎｃに対応する単位期間で実行されるべき画像作成処理が全て終了したと判定し、モード管理部１７０に完了通知を送付する。モード管理部１７０は、受信した完了通知に基づき、グラフィックデータ処理部２００の動作モードの制御を行う。グラフィックデータ処理部２００の動作モードの制御の詳細については後述する。
【００３２】
図８は、合成処理部１３０からの合成処理終了通知に基づいて、複数の画像が作成される場合の処理タイミングについて説明する図である。合成処理部１３０の合成処理に引き続き、合成処理終了通知が、合成処理部１３０からグラフィックライブラリ１２０に送付される。そしてグラフィックライブイラリ１２０が、画像作成処理部１１０の指示に基づき、画像作成の処理を実行する。既に述べたように、画像作成処理はグラフィックデータ処理部２００のＧＰＵ２１０を共通で使用して実行されるものであり、複数の画像作成処理がＧＰＵ２１０上で競合することを避けるための排他処理が行われる。図８においては、まずアプリ１による画像作成処理が行われ、アプリ１による画像作成処理が終了した後、アプリ２による画像作成処理が行われる例が示されている。
【００３３】
図９は、グラフィックデータ処理部２００によって実行される各画像作成処理の詳細を示す図である。画像作成処理は、画像作成前処理と、画像作成本処理と、画像作成後処理とを含む。画像作成前処理の一例として、画像の背景となる絵の選択や、使用するメモリ領域のデータ消去等が挙げられる。画像作成前処理が終了すると、画像作成本処理により画像データが形成される。画像データは第１ＶＲＡＭ２２０の特定の領域に格納される。画像作成本処理が終了した後、画像作成後処理が行われる。画像作成後処理の一例として、第１ＶＲＡＭ２２０のデータ格納領域の切替え作業が挙げられる。データ格納領域の切替えとは、画像作成処理部１１０が作成した画像データを格納する第１ＶＲＡＭ２２０内のデータ領域を切り替える作業を言う。具体的には、画像作成処理部１１０が作成した画像データを第１ＶＲＡＭ２２０に格納する場合に、まず第１ＶＲＡＭ２２０の第１のデータ格納領域に画像データを格納した後、第１のデータ領域を合成処理部１３０に対して解放する。画像作成処理部１１０は、次に作成する画像データを第１ＶＲＡＭ２２０の他の第２のデータ格納領域に格納する。画像作成処理部１１０は、第２のデータ格納領域に画像データを格納した後は、第２のデータ格納領域を合成処理部１３０に対して解放して再度第１のデータ格納領域に画像データを格納する。このように画像作成本処理が終了した後には、画像作成後処理として第１ＶＲＡＭ２２０のデータ格納領域の切替え作業が行われる。但し画像作成後処理は、ここで説明したデータ格納領域の切替え作業に限定されるものではない。以下に説明するように、画像作成処理の終了を検出するために利用できる処理であれば、他の種の画像作成後処理であっても本実施例に適用可能である。
【００３４】
尚、図９の下段は、画像作成前処理、画像作成本処理、画像作成後処理におけるグラフィックデータ処理部２００の動作モードの例である。画像作成前処理においてＧＰＵ２１０がデータ処理を行わない期間は待機モードとなり、画像作成本処理においてＧＰＵ２１０がデータ処理を行っている期間はアクティブモードとなる。また画像作成後処理においてもＧＰＵ２１０が必要な処理を行うタイミングで動作モードがアクティブとなる。尚、画像作成本処理の途中においても、処理すべきデータについてＧＰＵ２１０が処理を完了し、次に処理するデータをＧＰＵ２１０が待っている状態においては、動作モードは待機モードとなる。
【００３５】
図１０は、合成処理部１３０の機能ブロック図である。合成処理部１３０は、Ｖｓｙｎｃ受信部１３１、通知部１３２、判定部１３３、処理部１３４、画面データ送信部１３５、及び合成処理終了通知部１３６として機能する。Ｖｓｙｎｃ受信部１３１は、タイマ部１５０からＶｓｙｎｃを受信する。通知部１３２は、Ｖｓｙｎｃの受信に基づき、完了判定部１４０及びモード管理部１７０に対してＶｓｙｎｃ通知を送信する。判定部１３３は、Ｖｓｙｎｃの受信に基づき、合成するための画像データがあるか否かを判定する。合成するための画像データがある場合は、処理部１３４が画像の合成処理を行って画面データを作成し、第１ＶＲＡＭ２２０に格納する。画面データ送信部１３５は、第１ＶＲＡＭ２２０に格納された画面データを、第２ＶＲＡＭ３００へ送信する。合成処理終了通知部１３６は、合成処理が終了したことをグラフィックライブラリ１２０へ通知する。
【００３６】
図１１は、ライブラリ層に設けられた画像作成処理終了通知部１２５の機能ブロック図である。画像作成処理終了通知部１２５は、後処理指示受信部１２６と、通知部１２７と、後処理実行部１２８とを含む。画像作成処理部１１０は、図１０にて示した画像作成本処理が終了した後、後処理指示を画像作成処理終了通知部１２５へ送付する。この後処理指示は、作成した画像データを第１ＶＲＡＭ２２０の所定のデータ格納領域へ格納したアプリが個別に送付するものであり、複数のアプリがそれぞれ画像データを作成した場合は、複数のアプリがそれぞれ後処理指示を送付する。後処理指示受信部１２６が画像作成処理部１１０から後処理指示を受信すると、通知部１２７は当該画像作成処理が終了したことを完了判定部１４０へ通知する。この通知を画像作成終了通知と呼ぶ。この画像作成終了通知は、個々の画像データが作成されたことを示す通知であり、後述する完了判定部１４０が全ての画像データが作成された際に行う完了通知とは異なるものである。通知部１２７が画像作成終了通知を行った後、後処理実行部１２８は画像作成後処理を実行し、画像作成後処理を実行した旨を画像作成処理部１１０へ通知する。
【００３７】
図１２は、完了判定部１４０の機能ブロック図である。完了判定部１４０は、カウンタ１４１、カウント値保持部１４２、予測数保持部１４３、及び判定部１４４として機能する。カウンタ１４１は、画像作成処理終了通知部１２５から受信した画像作成処理終了通知の数をカウントする。またカウンタ１４１は、合成処理部１３０からＶｓｙｎｃ通知を受信すると、その時点でのカウント値をカウント値保持部１４２へ通知したうえで、カウント値を初期化する。その後再度、画像作成処理終了通知部１２５から受信した画像作成処理終了通知の数をカウントする。カウント値保持部１４２は、保持するカウント値を予測数保持部１４３へ通知する。予測数保持部１４３は、カウント値保持部１４２から通知された値を、当該Ｖｓｙｎｃに対応する単位期間内に作成される画像の数の予測数として保持する。言い換えると、本実施例においては、ある単位期間に作成された画像の数が、次の単位期間に作成される画像の数の予測数として採用される。カウント値保持部１４２と予測数保持部１４３とを併せて予測部と呼ぶ。
【００３８】
判定部１４４は、カウンタ１４１のカウント値、すなわち実際に作成された画像の数である実測値を、予測数保持部１４３に保持された予測数と比較し、実測値が予測数に達した場合に、単位期間内に作成すべき画像が全て作成されたと判定して、モード管理部１７０へ完了通知を行う。
【００３９】
図１３は、モード管理部１７０の機能ブロック図である。モード管理部１７０は、割込み受信部１７１、設定部１７２、及び制御部１７３として機能する。割込み受信部１７１は、グラフィックデータ処理部２００内から処理終了の割込み通知を受ける。例えばグラフィックデータ処理部２００のＧＰＵ２１０に与えられたデータについての処理がなされ、ＧＰＵ２１０にて処理されるべきデータが存在しない状況になると、グラフィックデータ処理部２００は割込み通知として処理終了をモード管理部１７０に対して送付する。また図９及び図１１にて説明した画像作成後処理が終了した際にも、グラフィックデータ処理部２００からの処理終了の割込み通知が行われる。割込み受信部１７１は、グラフィックデータ処理部２００から終了通知を受けると、制御部１７３にグラフィックデータ処理部２００の動作モードを切り替えるよう指示する。制御部１７３は、動作モードの切り替えの指示を受けると、設定部１７２に設定されている動作モードを参照する。設定部１７２には、データ処理を終了したグラフィックデータ処理部２００が、どの動作モードで制御されるかが設定されている。例えば設定部１７２に「待機モード」が設定されている場合には、制御部１７３はグラフィックデータ処理部２００の動作モードを待機モードに切り替える。
【００４０】
グラフィックデータ処理部ドライバ１８０は、新たにグラフィックデータ処理部２００にデータ処理をさせる場合は、必要なデータをグラフィックデータ処理部２００に送信するとともに、制御部１７３にデータ処理の開始を伝える。これにより制御部１７３は、動作モードを待機モードからアクティブモードへ移行させ、グラフィックデータ処理部２００でのデータ処理が開始される。
【００４１】
このような制御において、あるＶｓｙｎｃに対応する単位期間に実行されるべき画像作成処理のうち、最後の画像作成処理の画像作成後処理に対応して完了判定部１４０から完了通知がなされると、設定部１７２は設定されている動作モードを、例えば「待機モード」から「休止モード」に変更する。その後、グラフィックデータ処理部２００から処理の終了通知、具体的には最後の画像作成処理の画像作成後処理の実行に伴う処理の終了通知が割込み受信部１７１に対してなされる。制御部１７３は設定部１７２を参照し、設定されている動作モードが「休止モード」であることに従い、グラフィックデータ処理部２００の動作モードを休止モードに制御する。このような一連の動作により、各Ｖｓｙｎｃに対応して行われる画像作成処理が全て終了した場合に、グラフィックデータ処理部２００の動作モードを、より消費電力の小さいモードに移行させることが可能となる。
【００４２】
そして次に発行されるＶｓｙｎｃに起因して、モード管理部１７０に合成処理１３０からＶｓｙｎｃ通知が送付されると、設定部１７２は設定されている動作モードを、「休止モード」から「待機モード」へ書き戻す。その後、グラフィックデータ処理部ドライバ１８０が、必要なデータをグラフィックデータ処理部２００に送信するとともに、制御部１７３にデータ処理の開始を伝える。これにより、制御部１７３は、動作モードを休止モードからアクティブモードへ移行させ、グラフィックデータ処理部２００でのデータ処理が実行される。グラフィックデータ処理部２００でのデータ処理が終了すると、グラフィックデータ処理部２００から処理の終了通知が割込み受信部１７１に対して送信される。制御部１７３は、設定部１７２の設定が「待機モード」に書き戻されていることにより、グラフィックデータ処理部２００を、休止モードではなく待機モードにて制御する。
【００４３】
図１４は、合成処理部１３０の処理フローチャートである。合成処理部１３０の処理は処理１０００により開始され、処理１００１においてＶｓｙｎｃ受信部１３１が、タイマ部１５０からＶｓｙｎｃを受信する。処理１００２において通知部１３２が、Ｖｓｙｎｃを受信したことを示すＶｓｙｎｃ通知を、完了判定部１４０へ送信する。処理１００３において通知部１３２が、Ｖｓｙｎｃ通知をモード管理部１７０へ送信する。処理１００４において判定部１３３が、合成する画像データ、すなわち画面を作成するためのデータが有るか否かを判定する。画面作成のためのデータがない場合は処理１００１へ戻り、画像作成のためのデータがある場合は処理１００７へ進む。処理１００７において処理部１３４が、合成処理を実行して画面データを作成する。処理１００８において合成処理終了通知部１３６が、合成処理が終了したことをグラフィックライブラリ１２０へ通知する。この合成処理が終了したことの通知を受信したグラフィックライブラリ１２０は、画像作成処理部１１０の指示に従い、画像作成を順次行う。処理１００９において画面データ送信部１３５が、作成した画面データを第２ＶＲＡＭ３００へ送信して処理１００１へ戻る。
【００４４】
図１５は、画像作成終了通知部１２５の処理フローチャートである。画像作成終了通知部１２５による処理は処理１１００により開始され、処理１１０１において後処理指示受信部１２６が、画像作成後処理の実行指示を画像作成処理部１１０より受信する。処理１１０２において通知部１２７が、画像作成終了通知を完了判定部１４０に対して送信する。処理１１０３において後処理実行部１２８が、画像作成後処理を実行する。処理１１０４において後処理実行部１２８が、画像作成処理部１１０に対して後処理が終了した旨を通知し、処理１１０１へ戻る。
【００４５】
図１６は、完了判定部１４０の処理フローチャートである。完了判定部１４０による処理は処理１２００により開始され、処理１２０１において完了判定部１４０は外部から通知を受信する。処理１２０２において完了判定部１４０は、受信した通知の種別を判定する。受信した通知が合成処理部１３０から送信されたＶｓｙｎｃ通知である場合は処理１２０３へ進み、受信した通知が画像作成処理終了通知部１２５から送信された画像作成処理終了通知である場合は処理１２０８へ進む。処理１２０３においてカウント値保持部１４２は、Ｖｓｙｎｃを受信した時点でのカウンタ１４１のカウント値を保持する。処理１２０６において予測数保持部１４３は、カウント値保持部１４２に登録された値を、単位期間内に作成される画像数の予測数として保持する。処理１２０７においてカウンタ１４１は、カウント値を初期化して処理１２０１へ戻る。
【００４６】
処理１２０２において受信した通知が画像作成処理終了通知であると判定された場合は、処理１２０８においてカウンタ１４１が、受信した画像作成処理終了通知の数を、実際に作成された画像の数である実測数としてカウントする。処理１２０９において判定部１４４が、カウンタ１４１によってカウントされた実測数が、予測数保持部１４１に保持された予測数に一致しているか否かを判定する。実測数と予測数が一致していないと判定された場合は処理１２０１へ戻り、実測数と予測数が一致したと判定された場合は、処理１２１１へ進む。処理１２１１において判定部１４４が、モード管理部１７０に画像作成処理の完了通知を行い、処理１２０１へ戻る。
【００４７】
図１７は、モード管理部１７０の処理フローチャートである。モード管理部１７０による処理は処理１３００により開始され、処理１３０１においてモード管理部１７０は、外部からの通知を受信する。処理１３０２においてモード管理部１７０は、受信した通知の種別を判定する。受信した通知が完了判定部１４０から送信された完了通知である場合は処理１３０３へ進み、受信した通知が合成処理部１３０からのＶｓｙｎｃ通知である場合は、処理１３１４へ進み、受信した通知がそれ以外の通知である場合は処理１３０５へ進む。
【００４８】
モード管理部１７０が受信した通知が完了判定部１４０からの完了通知である場合、処理１３０３において設定部１７２は、動作モードの設定を「待機モード」から「休止モード」へ変更する。尚、この時点では、設定部１７２の設定内容が変更されるだけであって、グラフィックデータ処理部２００の動作モードが休止モードへ移行する訳ではない。後述するように、グラフィックデータ処理部２００からの終了通知の割込みに基づいて、制御部１７３が設定部１７２の設定内容を読み取ることにより、グラフィックデータ処理部２００の動作モードは休止モードへと移行することになる。
【００４９】
処理１３０５においてモード管理部１７０は、受信した通知がグラフィックデータ処理部ドライバ１８０からのデータ処理の開始通知であるのか、グラフィックデータ処理部２００からのデータ処理の終了通知であるのかを判定する。通知が開始通知である場合は処理１３１１へ進み、通知が終了通知である場合は処理１３０６へ進む。処理１３１１において制御部１７３は、グラフィックデータ処理部２００をアクティブモードにて制御する。グラフィックデータ処理部２００は、グラフィックデータ処理部ドライバ１８０から与えられたデータの処理を実行する。一方、通知が終了通知である場合は、処理１３０６において制御部１７３は、設定部１７２の設定内容に基づき、グラフィックデータ処理部２００の制御モードを選択する。設定部１７２に設定された動作モードが「待機モード」である場合は、処理１３１０において制御部１７３は、グラフィックデータ処理部２００を待機モードにて制御して処理１３０１へ戻る。また、設定部１７２に設定された動作モードが「休止モード」である場合は、処理１３０７において制御部１７３は、グラフィックデータ処理部２００を休止モードにて制御して処理１３０１へ戻る。
【００５０】
処理１３０２において、通知が合成処理部１３０からのＶｓｙｎｃ通知である場合は、処理１３１４において設定部１７２は、設定されている動作モードを「休止モード」から「待機モード」へと書き戻して処理１３０１へ戻る。
【００５１】
このように、本実施例によれば、過去の単位期間に作成された画像数に基づいて、現時点での単位期間に作成される画像の数を予測し、実際に作成された画像の数が予測された画像の数に一致したことを検出し、画像作成処理の全てが終了したものと判定する。そして、次のＶｓｙｎｃが発行されるまでの期間は、グラフィックデータ処理部２００の動作モードを、待機モードに比べて消費電力を抑えることができるモード、例えば休止モードへ移行させることにより、ＧＰＵ２１０を含むグラフィックデータ処理部２００の消費電力を抑制することができる。
【００５２】
図１８は、予測した数の画像の作成が終了した後、次にデータ処理が必要になるまで、グラフィックデータ処理部２００を休止モードにて制御した場合の様子を示す図である。Ｖｓｙｎｃ１とＶｓｙｎｃ２の間の単位期間（第１単位期間とする）では、２個の画像が作成されていることに基づき、Ｖｓｙｎｃ２とＶｓｙｎｃ３の間の単位期間（第２単位期間とする）で作成される画像の数を「２」と予測する。そして第２単位期間において２個の画像の作成が終了したことに基づき、グラフィックデータ処理部２００を休止モードにて制御する。これにより、図４に示した制御に比べて、期間Ｂにおける消費電力を抑えることができる。尚、図１８においては、第１単位期間に対しても予測数が「２」と設定されたものと仮定して、期間Ａにおいても休止モードにて制御がなされた状態を表している。
【００５３】
但し、ある単位期間で作成されると予測した画像の数が、実際に当該単位期間にて作成される画像の数と一致しない場合もあり得る。例えば図１８において、第２単位期間で作成された画像の数に基づき、Ｖｓｙｎｃ３とＶｓｙｎｃ４の間の単位期間（第３単位期間とする）で作成される画像の数を「２」と予測する。しかし、第３単位期間で作成された画像の数は「１」であり、予測は的中しなかったことになる。この場合は、期間Ｃの動作モードは休止モードではなく、待機モードにて制御される。
【００５４】
尚、図１８においては、休止モードからアクティブモードへの移行時間、及び待機モードからアクティブモードへの移行時間は表現されていない。しかし図３にて説明したように、休止モードからアクティブモードへの移行時間は、待機モードからアクティブモードへの移行時間よりも長い。そのため、画像作成処理が終了する度に動作モードを休止モードへ移行させると、全ての画像作成処理が終了するまでの時間が遅延する一因となる。これに対して本実施例では、単位期間内に実行すべき全ての画像作成処理が終了したと判定されるまでは、休止モードへ移行することを避けることにより、処理の遅延を抑制している。
【００５５】
ここまで第１実施例を説明したが、以下、第１実施例の変形例について説明する。第１実施例では、作成された画像の数が予測数に達した場合に、グラフィックデータ処理部２００の動作モードを休止モードとする例を示したが、休止モードよりも消費電力の低い電源オフモードへ移行させてもよい。もしくは、ある一定期間、例えば所定回数の単位期間に渡って、画像の更新が行われていない場合等には、グラフィックデータ処理部２００の動作モードを休止モードもしくは電源オフモードへ移行させてもよい。その他、作成された画像の数が予測数に達した時点で、次のＶｓｙｎｃが発行されるまでの期間が所定の閾値よりも短い場合は、休止モードへの変更を行わずに待機モードを維持するように制御してもよい。
【００５６】
また図１７及び図１８に示す動作例では、休止モードに入った後、次に発行されるＶｓｙｎｃの後に開始される合成処理の開始タイミングでアクティブモードへ移行しているが、他の動作例も考えられる。例えば休止モードに移行した後、次に発行されるＶｓｙｎｃが発行された場合は、当該Ｖｓｙｎｃに基づいてまず休止モードから待機モードへ移行させておき、合成処理の開始時には待機モードからアクティブモードへ移行させてもよい。これにより、合成処理の開始タイミングの遅延を抑制することができる。この場合は、例えば図１３に示したモード管理部１７０において、合成処理部１３０からのＶｓｙｎｃ通知を割込み信号として割込み受信部１７１が受信するよう改変し、Ｖｓｙｎｃ通知の受信に応じて、制御部１７３が動作モードを切り替えるようにすることにより実現できる。
【００５７】
また、図１１、図１３及び図１７では、画像作成処理終了通知部１２５が、まず完了判定部１４０に画像作成終了通知を送信し、その後に画像作成後処理が行われる動作例を示したが、他の動作例も考えらえる。例えば画像作成処理終了通知部１２５は、画像作成後処理が終了した後に画像作成処理終了通知を行ってもよい。この場合は、モード管理部１７０が完了判定部１４０からの完了通知を受信した時点で、グラフィックデータ処理部２００でのデータ処理は画像作成後処理を含めて既に終了している。そのため、グラフィックデータ処理部２００からの処理の終了通知を待つことなく、制御部１７３が動作モードを休止モードに切り替えるよう制御を行う。
【００５８】
次に、第１実施例における用語の定義について補足説明を行う。図１９は、一つのアプリが複数の画像を作成する場合について、用語の定義を説明する図である。図１と同じ用語については同一の参照符号を付し、説明は省略する。図１では、アプリはそれぞれ一つの画像作成処理を行うという前提に基づいて説明した。ところが、一つのアプリが複数の画像作成処理を行う場合がある。例えばアプリがゲームアプリのように、背景画像と、背景画像とは独立して移動するキャラクター画像とを合成した画像データを、当該アプリの画像としてディスプレイ上に表示するような場合である。図１９では、一つのアプリが描画する画像（像３）に複数のオブジェクト４が含まれる例を示しており、本明細書ではオブジェクト４を「要素画像」と呼ぶ。画像作成処理部１１０は、複数の要素画像をそれぞれ作成し、各画像作成処理の最後に、図９にて説明したように画像作成後処理を行う。よって、例えば図１９に示す例であれば、三つのアプリの各々が画像を作成し、かつそのうちの一つの画像が三つの要素画像を含むことから、全体としては五つの画像が作成されることになる。つまり、第１実施例において、「画像」の「数」とは、要素画像を含めた画像の数を意味する。この用語の定義は、以下に開示する第２実施例以降の実施例にも適用される。
【００５９】
＜第２実施例＞
図２０は、各Ｖｓｙｎｃの発行タイミングと、画像作成処理と合成処理の実行タイミングの関係を示す図である。図２０において括弧内に記載された数は、単位期間毎に作成された画像を第１実施例に示した手法を用いてカウントした値を示す。図２０の（ａ）において、各単位期間において処理されるべき画像作成処理は、次のＶｓｙｎｃが発行される前に終了している。そして各単位期間内の数は「２」を示しており、各画面に含まれる画像の数を正しく表している。これに対して図２０の（ｂ）は、Ｖｓｙｎｃ２に応じて実行される二つの画像の作成処理のうち、二つ目の画像の作成処理がＶｓｙｎｃ３の発行までに完了しなかった様子を示している。この場合、Ｖｓｙｎｃ２からＶｓｙｎｃ３までの期間で作成が完了した画像の数として「１」とカウントされ、Ｖｓｙｎｃ３からＶｓｙｎｃ４の間の単位期間に作成された画像の数が「３」としてカウントされる。このように、各画面を構成する画像の数が一定値の「２」を継続していたとしても、画像作成処理の終了タイミングがＶｓｙｎｃを超えてずれ込んだ場合は、カウント値が「１」や「３」に変動することが有り得る。このようなカウント値の変動は、予測数と実測数の不一致の原因となり、適正な消費電力抑制の効果を軽減させることになる。
【００６０】
図２０の（ｃ）は、画像作成処理を行う単位期間と、合成処理を行う単位期間とが交互に発生する処理シーケンスを用いた場合の、各Ｖｓｙｎｃの発行タイミングと、画像作成処理と合成処理の実行タイミングの関係を示している。この例では、Ｖｓｙｎｃ１とＶｓｙｎｃ３に基づいて画像作成処理が実行され、Ｖｓｙｎｃ２とＶｓｙｎｃ４に基づいて合成処理が実行される。例えば動画共有サイトであるＹｏｕＴｕｂｅ（登録商標）に関する動画面表示では、サーバから提供されたデータに対し、表示装置１が図２０（ｃ）に示すような処理シーケンスにてデータ処理を行う。この場合、各画面を構成する画像は、図２０の（ａ）と同様に全て「２」であるにも関わらず、Ｖｓｙｎｃ毎に作成された画像の数をカウントすると「２」と「０」が交互に繰り返されることになる。この場合も、第１実施例のカウント手法では、予測数と実測数とが一致しないこととなる。
【００６１】
第２実施例では、図２０の（ｂ）や（ｃ）のようなケースでも、各画面に含まれる画像の数を正しくカウントするための手法を開示する。第２実施例では、画像数のカウントを、Ｖｓｙｎｃの間隔ではなく、合成処理の間隔、例えば合成処理の開始のタイミングの間隔で行うようにする。言い換えれば、合成処理の開始タイミングの間隔を「単位期間」として認識する。このようにすることで、仮に画像作成処理の終了タイミングが次のＶｓｙｎｃの発行時よりも後にずれ込んだとしても、カウントされる画像数を、画面に含まれる画像の数と一致させることができ、予測数を適切に設定することが可能となる。このような処理を実行するためには、第１実施例にて開示した図７、図１２、図１３、図１６及び図１７において、合成処理部１３０から完了判定部１４０のカウンタ１４１及びモード管理部１７０の設定部１７２に入力される信号を、Ｖｓｙｎｃ通知に代えて合成処理の開始を示す合成処理開始通知とする。他の構成については第１実施例にて説明した構成が第２実施例においても適用される。
【００６２】
図２１は、第２実施例における合成処理部１３０の処理フローチャートである。図１４にて示した処理と同一の処理については同一の参照符号を付し、説明を適宜省略する。処理１００１の後、処理１００４へ進み、処理１００４において画面作成のためのデータがある場合と判定された場合は処理１００５へ進む。処理１００５において通知部１３２が、合成処理の開始を示す合成処理開始通知を、完了判定部１４０へ送信する。処理１００６において通知部１３２が、合成処理開始通知をモード管理部１７０へ送信し、処理１００７へと移行する。
【００６３】
このように、画像作成処理終了通知のカウントを開始するトリガーとして、第１実施例におけるＶｓｙｎｃ通知に代えて合成処理開始通知を用いることで、Ｖｓｙｎｃの間隔で画像の数をカウントするのではなく、合成処理と次の合成処理との間に作成される画像の数をカウントすることができる。これにより、各画面に含まれる画像数を適切にカウントすることができる。
【００６４】
＜第３実施例＞
第１実施例及び第２実施例では、ある単位期間において作成された画像の数を、その次の単位期間で作成されることが予測される画像の数として用いる例を示した。第３実施例では、過去の複数回の単位期間での実測数の統計に基づき、予測数を設定する例を説明する。
【００６５】
図２２は、第３実施例におけるＣＰＵ１００の機能ブロック図である。図７において開示した機能ブロックと同一の機能ブロックについては同一の参照符号を付し、説明を適宜省略する。ＣＰＵ１００は、画像作成処理部１１０、グラフィックライブラリ１２０、画像作成処理終了通知部１２５、合成処理部１３０、完了判定部１４０、タイマ部１５０、モード管理部１７０、グラフィックデータ処理部ドライバ１８０に加え、統計処理部１６０として機能する。統計処理部１６０は、例えばミドルウェア層により実現され、完了判定部１４０によってカウントされた画像の数を、複数の単位期間分、格納する。また統計処理部１６０は、格納した画像の数について統計処理を行い、次の単位期間に作成される画像数を予測し、予測数を完了判定部１４０へ通知する。統計処理の方法としては、例えば過去の複数の単位期間における実測数の平均値を予測数として採用する方法等、複数の手法が考えられるが、ここでは、過去の複数の単位期間における実測数の分布を作成し、出現頻度が最大となる実測数を、予測数として設定する手法を例に挙げて説明する。
【００６６】
図２３は、統計処理部１６０の機能ブロック図である。統計処理部１６０は、カウント値バッファ１６１、分布取得部１６２、最大頻度選択部１６３として機能する。カウント値バッファ１６１は、各単位期間でカウントされたカウント値を、完了判定部１４０のカウント値保持部１４２から取得し、順次格納する。カウント値フバッファ１６１は、例えばＦｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ（ＦＩＦＯ）方式のデータバッファにより実現される。分布取得部１６２は、カウント値バッファ１６１に格納された値に基づき、カウント値の分布を求める。最大頻度選択部１６３は、分布取得部１６２が求めた分布に基づき、出現頻度が最大となるカウント値を選定し、完了判定部１４０の予測数保持部１４３へ通知する。本実施例では、カウント値保持部１４２とカウント値バッファ１６１と分布取得部１６２と最大頻度選択部１６３と予測数保持部１４３とが予測部に相当する。
【００６７】
図２４は、統計処理部１６０の処理フローチャートである。統計処理部１６０の処理は処理１４００により開始され、処理１４０１においてカウント値バッファ１６１が、カウント値保持部１４２のカウント値を格納する。カウント値バッファ１６１には、過去の複数のカウント値が順次格納される。処理１４０２において分布取得部１６２が、カウント値の分布を求める。処理１４０３において最大頻度選定部１６３が、分布取得部１６２が求めたカウント値の分布に基づき、出現頻度が最大であるカウント値を選択する。処理１４０５において最大頻度選択部１６３が、選択されたカウント値を予測数保持部１４３へ通知し、処理１４０６にて終了する。
【００６８】
図２５は、第３実施例における完了判定部１４０及び統計処理部１６０の処理フローチャートである。図１６にて示した処理と同一の処理については同一の参照符号を付し、説明を適宜省略する。処理１２０３においてカウント値保持部１４２がカウンタ１４１のカウント値を保持した後、処理１２０４において統計処理部１６０が、統計処理を行って予測数を特定する。処理１２０６において予測数保持部１４３が、統計処理部１６０が特定した予測数を保持する。処理１２０７においてカウンタ１４１は、カウント値を初期化して処理１２０１へ戻る。
【００６９】
図２６は、分布取得部１６２により求められた、カウント値に対する出現頻度の分布の一例を示す図である。図２６の例では、カウント値が「３」において、出現頻度が最大となっている。この場合は、過去の複数回の単位期間において、作成された画像の数が「３」であった単位期間が最も多いことを示している。そのため、次の単位期間において作成される画像数も「３」となる可能性が高いと判断され、予測数として「３」が選択される。
【００７０】
図２７は、第３実施例の変形例における統計処理部１６０の機能ブロック図である。第３実施例では、出現頻度が最大となるカウント値が予測数として選択された。これに対して本変形例では、出現頻度に閾値を設け、出現頻度が閾値を上回るカウント値が複数存在する場合に、複数のカウント値のうち最大の値を予測数として特定する。図２７において、図２３にて説明した機能ブロックと同一の機能ブロックについては同一の参照符号を付し説明を省略する。統計処理部１６０は、カウント値バッファ１６１と分布取得部１６２に加え、ハイパスフィルタ１６４及び最大値選択部１６５として機能する。ハイパスフィルタ１６４は、分布取得部１６２によって求められた分布に対して、出現頻度が一定の閾値以上となるカウント値だけをフィルタリングして最大値選択部１６５へ通知する。最大値選択部１６５は、ハイパスフィルタ１６４を通過したカウント値のうち、最大のカウント値を選択し、予測数として予測数保持部１４３へ通知する。本変形例では、カウント値保持部１４２とカウント値バッファ１６１と分布取得部１６２とハイパスフィルタ１６４と最大値選択部１６５と予測数保持部１４３とが予測部に相当する。
【００７１】
図２８は、第３実施例の変形例における統計処理部１６０の処理フローチャートである。図２４にて示した処理と同一の処理については同一の参照符号を付し、説明を適宜省略する。処理１４０２の後、処理１４０４において最大値選択部１６５が、ハイパスフィルタ１６４でフィルタリングされた一定の閾値以上の出現頻度を有するカウント値のうち最大の値を選択する。そして処理１４０５において選択された値を予測数保持部１４３に通知する。
【００７２】
図２９は、分布取得部１６２により求められた、カウント値に対する出現頻度の分布の一例を示す図である。点線が出現頻度の閾値を示す。カウント値が「３」及び「４」において、出現頻度が閾値を上回っている。この場合は、カウント値「３」と「４」のうち、最大の値、つまり「４」が予測数として選択される。このように予測数を選択することにより、未だ画像作成の処理が完了していないにも関わらず動作モードが休止モードとなる、ということが発生する回数を抑制することができる。
【００７３】
＜第４実施例＞
第１乃至第３実施例において、過去の単位期間毎の画像数に基づいて、次の単位期間で作成される画像の数を予測して動作モードを変更する手法について説明した。これらの実施例においては、予測した画像の数が的中して適切に動作モードを変更できる場合もあるが、予測数が的中しない場合も発生し得る。予測数が的中しなかった場合の動作について、第１実施例を例に挙げて説明する。
【００７４】
予測数が実際に作成される画像の数よりも高く設定された場合は、例えば図１８の期間Ｃや期間Ｄに示すように、動作モードを休止モードに変更することができない。逆に予測数が実際に作成される画像の数よりも低く設定された場合は、未だ作成すべき画像が残っている状態にもかかわらず、グラフィックデータ処理部２００は休止モードに移行することになる。この場合であってもグラフィックデータ処理部２００は、処理すべきデータがグラフィックデータ処理部ドライバ１８０から与えられた場合は、アクティブモードへ遷移して画像データの作成処理を実行する。しかし設定部１７２に設定された動作モードは、完了判定部１４０からの完了通知に基づき「休止モード」に変更されているため、グラフィックデータ処理部ドライバ１８０から与えられたデータについての処理が終了した時点で、グラフィックデータ処理部２００は再度休止モードに遷移することになる。このように、一度完了判定部１４０から完了通知が発行されると、その後画像作成のためのデータ処理が継続される場合には、休止モードとアクティブモードとの間の移行が繰り返されることになる。図３に示したように、休止モードからアクティブモードへの移行は、待機モードからアクティブモードへの移行に比べて、長い時間を要する。そのため、休止モードからアクティブモードへの移行を繰り返すことにより、単位期間内に所定の画像作成処理を終了させることができなくなる場合や、更に後続の処理を遅延させてしまう場合も起こり得る。
【００７５】
そこで第４実施例では、予測した画像数よりも多くの画像が作成される場合であっても、画像作成処理の遅延を抑制することができる手法を開示する。
【００７６】
図３０は、第４実施例におけるモード管理部１７０の機能ブロック図である。図１３にて示した機能ブロックと同一の機能ブロックについては同一の参照符号を付し説明を適宜省略する。モード管理部１７０は、割込み受信部１７１、設定部１７２、制御部１７３に加えて、状態記憶部１７４として機能する。また図３１は、単位期間に含まれる４つの状態を説明する図である。図３１において、Ｖｓｙｎｃが発行された後、完了判定部１４０から完了通知が発行されるまでの状態を第１状態と呼ぶこととする。図３１において（１）と表記される期間が第１状態に相当する。次に、完了判定部１４０から完了通知が発行された後、グラフィックデータ処理部２００からの終了通知に応じて制御部１７３が、グラフィックデータ処理部２００の動作モードを休止モードに変更するまでの状態を第２状態と呼ぶこととする。図３１において（２）と表記される期間が第２状態に相当する。次に、グラフィックデータ処理部２００の動作モードが休止モードに変更された後、グラフィックドライバ１８０からのデータ処理の開始通知に基づいて画像作成処理が再開するまでの状態を第３状態と呼ぶこととする。図３１において（３）と表記される期間が第３状態に相当する。最後に、画像作成処理が再開した後、次のＶｓｙｎｃが発行されるまでの状態を第４状態と呼ぶこととする。図３１において（４）と表記される期間が第４状態に相当する。図３０に示す状態記憶部１７４は、現在の状態が上述した４つの状態のうちのどの状態にあるかを記憶するブロックである。そして第４実施例は、第４状態においてグラフィックデータ処理部２００のデータ処理が終了しても、グラフィックデータ処理部２００を休止モードへは移行させず、待機モードにて制御するための手法を開示するものである。
【００７７】
図３２は、状態記憶部１７４が記憶する値と、状態記憶部１７４が記憶する値に対応する状態と、各状態であることを認定するための条件との関係を示す図である。モード管理部１７０が合成処理部１３０からＶｓｙｎｃ通知を受けた場合は、状態が第１状態であると認定できるため、状態記憶部１７４は第１状態を意味する値「１」を記憶する。モード管理部１７０が完了判定部１４０から完了通知を受けた場合は、状態は第２状態であると認定できるため、状態記憶部１７４は第２状態を意味する値「２」を記憶する。モード管理部１７０がグラフィックデータ処理部２００から終了通知を受け、かつその時点での状態が第２状態である場合は、状態は第３状態であると認定できるため、状態記憶部１７４は、第３状態を意味する値「３」を記憶する。モード管理部１７０がグラフィックデータ処理部ドライバ１８０から開始通知を受け、かつその時点での状態が第３状態である場合は、状態は第４状態であると認定できるため、状態記憶部１７４は、第４状態を意味する値「４」を記憶する。
【００７８】
図３３及び図３４は、第４実施例におけるモード管理部１７０の処理フローチャートである。図１７にて示した処理と同一の処理については同一の参照符号を付し、説明を適宜省略する。尚、図３３及び図３４は一連の処理フローチャートであり、図３３の「Ａ」は図３４の「Ａ」へ接続され、図３４の「Ｂ」は図３３の「Ｂ」へ接続される。
【００７９】
処理１３１４において、合成処理部１３０からのＶｓｙｎｃ通知の受信に基づいて設定部１７２に設定されている動作モードが「休止モード」から「待機モード」へと書き戻された後に、処理１３１５において状態記憶部１７４が、自身が記憶する値を「１」に変更し、処理１３０１へ戻る。その後、完了判定部１４０からの完了通知が発行された場合、処理１３０３において設定部１７２の設定が「待機モード」から「休止モード」へ変更された後に、処理１３０４において状態記憶部１７４は、自身が記憶する値を「２」に変更する。更に、処理１３０７において、グラフィックデータ処理部２００からの終了通知に基づいてグラフィックデータ処理部２００の動作モードが休止モードへ変更された後に、処理１３０８において状態記憶部１７４は、自身が記憶する値が「２」であるか否かを判定する。状態記憶部１７４に記憶されている値が「２」である場合は、処理１３０９において状態記憶部１７４は、自身が記憶する値を「３」に変更する。処理１３０８において状態記憶部１７４に記憶されている値が「２」以外の場合は、処理１３０１へ戻る。更に処理１３１１においてグラフィックデータ処理部２００の動作モードがアクティブモードへ変更された後に、処理１３１２において状態記憶部１７４は、自身が記憶する値が「３」であるか否かを判定する。状態記憶部１７４に記憶されている値が「３」である場合は、処理１３１３において状態記憶部１７４は、自身が記憶する値を「４」に変更する。処理１３１２において記憶されている値が「３」以外の場合は、処理１３０１へ戻る。
【００８０】
そして、処理１３０５においてモード管理部１７０が、グラフィックデータ処理部２００からのデータ処理の終了通知を受けたと判定した際、処理１３１６において制御部１７３は、状態記憶部１７４に記憶されている値が「４」であるか否かを判定する。状態記憶部１７４に記憶されている値が「４」でない場合は、処理１３０６へ進み、設定部１７２の設定内容に基づいて動作モードが選択される。一方、状態記憶部１７４に記憶されている値が「４」である場合は、処理１３１０へ進む。処理１３１０において制御部１７３は、設定部１７２の設定内容にかかわらず、待機モードにてグラフィックデータ処理部２００を制御する。すなわち、完了判定部１４０からの完了通知が発行された後に更に画像作成のためのデータ処理を行った場合は、制御部１７３は、グラフィックデータ処理部２００からの終了通知を受けても、休止モードへの移行は行わない。
【００８１】
このような制御により、予測数が実際に作成される画像数よりも少なく設定された場合であっても、繰り返し休止モードへ移行することを防止し、画像作成処理の終了が遅延することを抑制することができる。
【００８２】
次に、第４実施例の変形例を説明する。この変形例も第４実施例と同様に、完了判定部１４０からの完了通知が発行された後に更に画像作成のためのデータ処理を行った場合は、制御部１７３は、グラフィックデータ処理部２００からの終了通知を受けても、グラフィックデータ処理部２００を休止モードへ移行させない。
【００８３】
図３５は、第４実施例の変形例におけるモード管理部１７０の機能ブロック図である。図１３に開示したモード管理部１７０と同一の機能ブロックについては同一の参照符号を付し、説明は省略する。本変形例におけるモード管理部１７０の設定部１７２及び制御部１７３は、グラフィックデータ処理部ドライバ１８０からの開始通知を受信する。この開始通知に基づき制御部１７３は、グラフィックデータ処理部２００の動作モードを休止モードからアクティブモードへ移行させ、グラフィックデータ処理部２００でのデータ処理が再開する。またこの開始通知に基づき、設定部１７２にされた設定が「休止モード」から「待機モード」に変更される。これにより、次にグラフィックデータ処理部２００から処理の終了通知が発生した場合には、グラフィックデータ処理部２００の動作モードは休止モードではなく待機モードに切り替わることになる。
【００８４】
図３６は、第４実施例の変形例における、モード管理部１７０の処理フローチャートである。図１７及び図３３にて説明した処理と同一の処理については同一の参照符号を付し説明を適宜省略する。処理１３１１において制御部１７３が、グラフィックデータ処理部２００の動作モードをアクティブモードへ移行させた後、処理１３１７において設定部１７２は、設定される動作モードを「待機モード」に変更する。これにより、完了判定部１４０の完了通知が発行された後に、更に画像作成のためのデータ処理が行われた場合は、グラフィックデータ処理部２００の動作モードを休止モードへ移行させないように制御することができる。
【００８５】
＜第５実施例＞
第１乃至第４実施例において、過去の作成画像数に基づいて画像数を予測する手法について説明した。この場合、単位期間毎に作成される画像の数に変動がない場合は、予測数が実測数と一致する確率（以下、的中率）が高くなるが、単位期間毎に作成される画像の数が変動する場合は、的中率は低下する。的中率が低い状態でも消費電力を抑制するための制御が実行されると、消費電力の削減効果が期待できない他、画像作成の処理の遅延が生じるリスクが高くなる。そこで第５実施例では予測数の的中率を算出し、的中率が所定の値に満たない場合は消費電力を削減する制御を一時休止する手法について説明する。
【００８６】
図３７は、単位期間毎に作成された画像の数及び的中率の挙動の例を示す図である。図３７の（ａ）において、横軸は時間（Ｖｓｙｎｃ数）を示し、縦軸は単位期間毎に作成された画像数を示す。また図３７の（ｂ）において、横軸は時間を示し、縦軸は的中率を示す。発行されるＶｓｙｎｃ毎で画像数が変動する期間においては、予測数の的中率が低下する。本実施例では、的中率が所定値を下回る場合には、消費電力を削減する手法、つまり、作成された画像の数が予測数に達したことに基づきグラフィックデータ処理部２００の動作モードを休止モードへ移行させる、という制御を行わないこととする。
【００８７】
図３８は、第５実施例におけるＣＰＵ１００の機能ブロック図である。図７にて示した機能ブロックと同一の機能ブロックについては同一の参照符号を付し説明を適宜省略する。ＣＰＵ１００は、画像作成処理部１１０、グラフィックライブラリ１２０、画像作成処理終了通知部１２５、合成処理部１３０、完了判定部１４０、タイマ部１５０、モード管理部１７０、グラフィックデータ処理部ドライバ１８０に加え、変動判定部１９０として機能する。変動判定部１９０は、例えばミドルウェア層により実現され、単位期間毎に作成された画像数が変動しているか否かを、予測数の的中率に基づいて判定し、完了判定部１４０へ通知する。
【００８８】
図３９は、変動判定部１９０の機能ブロック図である。変動判定部１９０は、カウント値バッファ１９１と、的中判定部１９２と、的中率算出部１９３として機能する。カウント値バッファ１９１は、完了判定部１４０のカウント値保持部１４２に保持されたカウント値を順次取得して格納する。カウント値バッファ１９１は、例えばＦＩＦＯ方式のデータバッファにより実現される。的中判定部１９２は、カウント値バッファ１９１に格納されたカウント値に基づき、予測数が的中したか否かを判定する。例えば、ＦＩＦＯ方式のデータバッファ内に連続して格納された二つのデータが一致している場合は予測が的中したと判定する。的中率算出部１９３は、的中判定部１９２が行った所定期間に渡る的中の判定結果に基づいて的中率の算出を行い、的中率が所定の値に満たない場合は、完了判定部１４０の判定部１４４に通知する。
【００８９】
図４０は、完了判定部１４０及び変動判定部１９０の処理フローチャートである。図１６にて示した処理と同一の処理については同一の参照符号を付し、説明を適宜省略する。処理１２０３においてカウント値保持部１４２がカウンタ１４１のカウント値を保持した後、処理１２０５において的中率算出部１９３が、的中率の算出処理を行う。そして処理１２０９において完了判定部１４０の判定部１４４が、実測数と予測数とが一致したと判定した場合、処理１２１０において判定部１４４は、的中率が所定値以上であるか否かを判定する。的中率が所定値以上である場合は処理１２１１において判定部１４４が、モード管理部１７０へ完了通知を送信する。処理１２１０において的中率が所定値に満たないと判定された場合は、判定部１４４によるモード管理部１７０への通知が行われることなく、処理１２０１へ戻る。
【００９０】
図４１は、変動判定部１９０の処理フローチャートである。判定部１９０の処理は処理１５００により開始され、処理１５０１において的中判定部１９２は、予測数が的中したか否かを判定する。処理１５０２において的中率算出部１９３は、的中判定部１９２の判定結果に基づき、的中率を算出する。処理１５０３において的中率算出部１９３が、的中率が所定値以上であるか否かを判定する。的中率が所定値以上である場合は、処理１５０４へ進み、的中率が所定値未満である場合は、処理１５０５へ進む。処理１５０４において的中率算出部１９３は、単位期間毎の画像数が変動中ではないと判断する。また処理１５０５において的中率算出部１９３は、単位期間毎の画像数が変動中であると判断する。そして処理１５０６において的中率算出部１９３は、判断結果を完了判定部１４０へ通知する。
【００９１】
このような制御により、単位期間毎に作成される画像数が変動し、的中率が所定値を下回る場合には、モード管理部１７０による消費電力抑制の制御を一時停止することができる。また、画像数の変動が収まり、的中率が所定値まで回復した場合にモード管理部１７０による消費電力抑制の制御を再開するように制御することができる。
【００９２】
以上、第１乃至第５実施例について説明した。これらの実施例では、アプリが画像作成を行うものとして説明したが、画像作成を行うソフトウェアはアプリに限定されるものではない、例えばオペレーティングシステム（ＯＳ）が画像作成を行う場合にも開示の技術は適用可能である。
【００９３】
また第１乃至第５実施例では、過去の単位期間における画像作成処理の実績に基づいて画像の数を予測することにより画像作成処理の終了タイミングを予測した。しかし過去の実績に基づいて画像作成処理の終了タイミングを予測する方法は、画像の数に基づくものに限定されるものではない。例えば、過去の各単位期間において画像作成に関するデータ処理に要した時間を記録し、記録された時間に基づいて画像作成処理の終了時刻を予測し、予測した時刻に画像処理が終了したものと判定してグラフィックデータ処理部２００の動作モードを変更してもよい。
【００９４】
開示の実施例に基づき、更に以下の付記を開示する。
（付記１）
第１期間にプロセッサが実行した画像作成処理の実績に基づき、第２期間に前記プロセッサが行う画像作成処理の終了タイミングを予測する工程と、前記第２期間において、前記終了タイミングに前記プロセッサの消費電力を低下させる工程とを有することを特徴とするデータ処理方法。
（付記２）
前記終了タイミングを予測する工程は、前記第１期間に前記プロセッサが行った画像作成処理により作成された第１画像の数に基づき、前記第２期間に前記プロセッサが行う画像作成処理により作成される第２画像の数を予測する工程を含み、前記終了タイミングに前記プロセッサの消費電力を低下させる工程は、前記第２期間において作成された前記第２画像の数が前記予測された数に達したことにより前記終了タイミングの検出を行う工程を含むことを特徴とする付記１に記載のデータ処理方法。
（付記３）
前記終了タイミングを予測する工程は、前記第１期間における前記プロセッサの画像作成処理の終了時刻に基づき、前記第２期間における前記プロセッサの画像作成処理の予測終了時刻を特定する工程を含み、前記終了タイミングに前記プロセッサの消費電力を低下させる工程は、特定された前記予測終了時刻に基づいて前記終了タイミングの検知を行う工程を含むことを特徴とする付記１に記載のデータ処理方法。
（付記４）
前記第１画像は、前記プロセッサを有するコンピュータ上で動作するソフトウェアに基づき作成された画像であり、前記第１画像と他の画像を合成することによりディスプレイに表示させる第１画面を作成する合成処理を、前記プロセッサにより実行する工程を更に有することを特徴とする付記２に記載のデータ処理方法。
（付記５）
前記画像作成処理及び前記合成処理は、所定の時間間隔で発行される同期信号に基づいて実行されることを特徴とする付記４に記載のデータ処理方法。
（付記６）
第１同期信号に基づいて前記第１画像が作成され、前記第１同期信号の次に発行される第２同期信号に基づいて前記第１画面が作成されることを特徴とする付記５に記載のデータ処理方法。
（付記７）
前記第１期間は、前記第１同期信号と前記第２同期信号との間の期間であり、前記第２期間は、前記第２同期信号と、前記第２同期信号の次に発行される第３同期信号との間の期間であることを特徴とする付記６に記載のデータ処理方法。
（付記８）
前記第１画面を作成する工程は、前記第２画像を作成する処理よりも先に終了することを特徴とする付記４乃至７何れか一つに記載のデータ処理方法。
（付記９）
前記第１期間は、前記第１同期信号に基づいて実行された前記合成処理の開始時刻と、前記第２同期信号に基づいて実行された前記合成処理の開始時刻との間の期間であり、前記第２期間は、前記第２同期信号に基づいて実行された前記合成処理の開始時刻と、前記第２同期信号の次に発行される第３同期信号に基づいて実行された前記合成処理の開始時刻との間の期間であることを特徴とする付記６又は８に記載のデータ処理方法。
（付記１０）
前記予測数は、前記第２期間より前の、前記第１期間を含む複数の期間に作成された画像の数に基づき特定されることを特徴とする付記２乃至９何れか一つに記載のデータ処理方法。
（付記１１）
前記第２期間より前の、前記第１期間を含む複数の期間に作成された画像の数に基づき、前記プロセッサの消費電力を低下させる工程の実行を禁止することを特徴とする付記２乃１０何れか一つに記載のデータ処理方法。
（付記１２）
第１期間にプロセッサが実行した画像作成処理の実績に基づき、第２期間に前記プロセッサが行う画像作成処理の終了タイミングを予測する予測部と、前記第２期間において、前記終了タイミングに前記プロセッサの消費電力を低下させるモード管理部とを有することを特徴とするデータ処理装置。
（付記１３）
前記第２期間において作成された前記第２画像の数をカウントするカウンタを更に含み、
前記予測部は、前記第１期間に前記プロセッサが行った画像作成処理により作成された第１画像の数に基づき、前記第２期間に前記プロセッサが行う画像作成処理により作成される第２画像の数を予測数として保持し、前記モード管理部は、前記第２期間において前記カウンタによってカウントされた前記第２画像の数が前記予測数に達したことに基づき前記プロセッサの消費電力を低下させることを特徴とする付記１２に記載のデータ処理装置。
（付記１４）
前記第１画像は、前記データ処理装置上にて動作するソフトウェアに基づき作成された画像であり、前記第１画像と他の画像を合成する合成処理によりディスプレイに表示させる第１画面を作成する合成処理部を更に有することを特徴とする付記１２又は１３に記載のデータ処理装置。
（付記１５）
前記画像作成処理及び前記合成処理は、所定の時間間隔で発行される同期信号に基づいて実行されることを特徴とする付記１４に記載のデータ処理装置。
（付記１６）
第１同期信号に基づいて前記第１画像が作成され、前記第１同期信号の次に発行される第２同期信号に基づいて前記第１画面が作成されることを特徴とする付記１４又は１５に記載のデータ処理装置。
（付記１７）
前記第１期間は、前記第１同期信号と前記第２同期信号との間の期間であり、
前記第２期間は、前記第２同期信号と、前記第２同期信号の次に発行される第３同期信号との間の期間であることを特徴とする付記１６に記載のデータ処理装置。
（付記１８）
前記第１期間は、前記第１同期信号に基づいて実行された前記合成処理の開始時刻と、前記第２同期信号に基づいて実行された前記合成処理の開始時刻との間の期間であり、前記第２期間は、前記第２同期信号に基づいて実行された前記合成処理の開始時刻と、前記第２同期信号の次に発行される第３同期信号に基づいて実行された前記合成処理の開始時刻との間の期間であることを特徴とする付記１６に記載のデータ処理装置。
（付記１９）
第１期間にプロセッサが実行した画像作成処理の実績に基づき、第２期間に前記プロセッサが行う画像作成処理の終了タイミングを予測する工程と、前記第２期間において、前記終了タイミングに前記プロセッサの消費電力を低下させる工程とをコンピュータに実行させることを特徴とするプログラム。
（付記２０）
前記終了タイミングを予測する工程は、前記第１期間に前記プロセッサが行った画像作成処理により作成された第１画像の数に基づき、前記第２期間に前記プロセッサが行う画像作成処理により作成される第２画像の数を予測する工程を含み、前記終了タイミングに前記プロセッサの消費電力を低下させる工程は、前記第２期間において作成された前記第２画像の数が前記予測された数に達したことにより前記終了タイミングの検出を行う工程を含むことを特徴とする付記１９に記載のプログラム。
【符号の説明】
【００９５】
１  表示装置
２、６００  ディスプレイ
３  像
４  オブジェクト
１００  プロセッサ（ＣＰＵ）
２００  グラフィックデータ処理部
２１０  プロセッサ（ＧＰＵ）
２２０、３００  メモリ（ＶＲＡＭ）
２３０  内部バス
４００  メモリ
５００  ディスプレイコントローラ
７００  バス
１１０  画像作成処理部
１２０  グラフィックライブラリ
１２５  画像作成処理終了通知部
１２６  後処理指示受信部
１２７  通知部
１２８  後処理実行部
１３０  合成処理部
１３１  Ｖｓｙｎｃ受信部
１３２  通知部
１３３  判定部
１３４  処理部
１３５  画面データ送信部
１３６  合成処理終了通知部
１４０  完了判定部
１４１  カウンタ
１４２  カウント値保持部
１４３  予測数保持部
１４４  判定部
１５０  タイマ部
１６０  統計処理部
１６１  カウント値バッファ
１６２  分布取得部
１６３  最大頻度選択部
１６４  ハイパスフィルタ
１６５  最大値選択部
１７０  モード管理部
１７１  割込み受信部
１７２  設定部
１７３  制御部
１７４  状態記憶部
１８０  グラフィックデータ処理部ドライバ
１９０  変動判定部
１９１  カウント値バッファ
１９２  的中判定部
１９３  的中率算出部
【図１】
2015206931.tif 000003
【図２】
2015206931.tif 000004
【図３】
2015206931.tif 000005
【図４】
2015206931.tif 000006
【図５】
2015206931.tif 000007
【図６】
2015206931.tif 000008
【図７】
2015206931.tif 000009
【図８】
2015206931.tif 000010
【図９】
2015206931.tif 000011
【図１０】
2015206931.tif 000012
【図１１】
2015206931.tif 000013
【図１２】
2015206931.tif 000014
【図１３】
2015206931.tif 000015
【図１４】
2015206931.tif 000016
【図１５】
2015206931.tif 000017
【図１６】
2015206931.tif 000018
【図１７】
2015206931.tif 000019
【図１８】
2015206931.tif 000020
【図１９】
2015206931.tif 000021
【図２０】
2015206931.tif 000022
【図２１】
2015206931.tif 000023
【図２２】
2015206931.tif 000024
【図２３】
2015206931.tif 000025
【図２４】
2015206931.tif 000026
【図２５】
2015206931.tif 000027
【図２６】
2015206931.tif 000028
【図２７】
2015206931.tif 000029
【図２８】
2015206931.tif 000030
【図２９】
2015206931.tif 000031
【図３０】
2015206931.tif 000032
【図３１】
2015206931.tif 000033
【図３２】
2015206931.tif 000034
【図３３】
2015206931.tif 000035
【図３４】
2015206931.tif 000036
【図３５】
2015206931.tif 000037
【図３６】
2015206931.tif 000038
【図３７】
2015206931.tif 000039
【図３８】
2015206931.tif 000040
【図３９】
2015206931.tif 000041
【図４０】
2015206931.tif 000042
【図４１】
2015206931.tif 000043