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