(57)【要約】【課題】表示画像の生成時において従来よりも消費電力量を削減することが可能な電子機器を提供する。【解決手段】スマートフォン１００は、各レイヤの更新規則に基づいてレイヤの次の更新タイミングを推定する推定部２１０と、２つ以上のレイヤを合成してレイヤキャッシュを生成する第１制御部２５０と、第２制御部２６０とを備える。第１制御部２５０にレイヤキャッシュを生成させ、現在から更新タイミングまでレイヤキャッシュを用いて表示画像を生成し続けたときにかかる第１消費電力量が、現在から更新タイミングまで各レイヤを用いて表示画像を生成し続けたときにかかる第２消費電力量よりも低い場合に、第２制御部２６０は、レイヤキャッシュを生成させ、レイヤキャッシュを用いて表示画像を生成する。第２制御部２６０は、第１消費電力量が第２消費電力量よりも高い場合、レイヤキャッシュを生成させずに各レイヤを合成して表示画像を生成する。【選択図】図２
2016071415.tif 000002
【特許請求の範囲】
【請求項１】
複数のレイヤで構成される表示画像を生成するための電子機器であって、
前記複数のレイヤのそれぞれが更新されたタイミングを更新履歴として格納するためのメモリと、
前記更新履歴に含まれる各レイヤの更新タイミングから特定される更新規則に基づいて、前記複数のレイヤのうち最も早いタイミングで更新されるレイヤの次の更新タイミングを推定するための推定部と、
前記複数のレイヤの少なくとも２つ以上を合成して新たなレイヤを生成することが可能な第１制御部と、
前記表示画像を生成するための第２制御部とを備え、
前記第２制御部は、
前記第１制御部に前記新たなレイヤを生成させるとともに、現在から前記更新タイミングまで当該新たなレイヤを用いて前記表示画像を生成し続けたときにかかる第１消費電力量が、前記新たなレイヤを生成せずに、現在から前記更新タイミングまで前記複数のレイヤを用いて前記表示画像を生成し続けたときにかかる第２消費電力量よりも低い場合に、前記第１制御部に前記新たなレイヤを生成させるとともに、前記新たなレイヤと、当該新たなレイヤの生成に用いられなかった残りのレイヤとを合成して前記表示画像を生成し、
前記第１消費電力量が前記第２消費電力量よりも高い場合に、前記第１制御部に前記新たなレイヤを生成させずに前記複数のレイヤを合成して前記表示画像を生成する、電子機器。
【請求項２】
前記メモリは、前記第１制御部がレイヤを合成するのにかかる消費電力量と、前記第２制御部がレイヤを合成するのにかかる消費電力量とを規定した電力情報をさらに格納するように構成されており、
前記電子機器は、
前記電力情報に基づいて、前記第１制御部が前記新たなレイヤを生成するための消費電力量と、前記第２制御部が現在時刻から前記更新タイミングまでの間に前記新たなレイヤを用いて一定時間ごとに前記表示画像を生成し続けたときにかかる消費電力量との合計を前記第１消費電力量として算出するための第１算出部と、
前記電力情報に基づいて、前記第２制御部が現在時刻から前記更新タイミングまでの間に前記複数のレイヤを用いて一定時間ごとに前記表示画像を生成し続けたときにかかる消費電力量を前記第２消費電力量として算出するための第２算出部とをさらに備える、請求項１に記載の電子機器。
【請求項３】
前記推定部は、前記更新履歴に規定されている前記複数のレイヤのそれぞれの更新タイミングから前記複数のレイヤのそれぞれについての更新周期を前記更新規則として算出し、算出した更新周期から前記更新タイミングを推定する、請求項１または２に記載の電子機器。
【請求項４】
前記電子機器は、前記更新履歴に基づいて、前記複数のレイヤのうちから更新タイミングに規則性があるレイヤを選択するための選択部をさらに備え、
前記第１制御部は、前記複数のレイヤのうち前記選択部によって選択されたレイヤのみを合成して前記新たなレイヤを生成する、請求項１〜３のいずれか１項に記載の電子機器。
【請求項５】
前記選択部は、前記更新履歴に規定されている前記複数のレイヤのそれぞれの更新タイミングから前記複数のレイヤのそれぞれについての更新間隔を算出し、前記複数のレイヤのうち、更新間隔の分散が予め定められた値よりも低いレイヤを前記規則性があるレイヤとして選択する、請求項４に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、電子機器の制御に関し、特に、電子機器に表示される画面の制御に関する。
【背景技術】
【０００２】
近年、表示部を有するスマートフォンなどの電子機器が普及している。表示部に表示される画像（以下、「表示画像」ともいう。）は、複数のレイヤを重ねて構成されることが多い。近年では、複数のレイヤから表示画像を生成するための技術が開発されている。たとえば、特許文献１は、画像記憶手段に記憶されている複数の画像を合成して、１つの表示画面に表示する合成画像を生成する画像合成出力装置を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−００３８７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示される画像合成出力装置は、２枚のレイヤのいずれもが過去の所定期間内に更新されなかったことに基づいて、これらのレイヤを合成し、生成した合成画像を一時的に記憶する。その後、当該画像合成出力装置は、次にレイヤが更新されるまでは合成画像を画面に表示し、レイヤが更新されると新たに合成画像を生成する。当該画像合成出力装置は、レイヤが新たに更新されるまでは合成画像を再利用することで、合成画像を生成するのに必要な消費電力量を削減する。ここで、レイヤが短い間隔で更新される場合には、当該画像合成出力装置は、合成画像を短い間隔で生成しなければならない。その結果、却って消費電力量が多くなってしまう可能性がある。
【０００５】
本開示は上述のような問題点を解決するためになされたものであって、その目的は、表示画像の生成時において従来よりも消費電力量を削減することが可能な電子機器を提供することである。
【課題を解決するための手段】
【０００６】
一実施の形態に従うと、複数のレイヤで構成される表示画像を生成するための電子機器が提供される。電子機器は、複数のレイヤのそれぞれが更新されたタイミングを更新履歴として格納するためのメモリと、更新履歴に含まれる各レイヤの更新タイミングから特定される更新規則に基づいて、複数のレイヤのうち最も早いタイミングで更新されるレイヤの次の更新タイミングを推定するための推定部と、複数のレイヤの少なくとも２つ以上を合成して新たなレイヤを生成し、当該新たなレイヤをキャッシュとして保持することが可能な第１制御部と、表示画像を生成するための第２制御部とを備える。第１制御部に新たなレイヤを生成させるとともに、現在から更新タイミングまで当該新たなレイヤを用いて表示画像を生成し続けたときにかかる第１消費電力量が、新たなレイヤを生成せずに、現在から更新タイミングまで複数のレイヤを用いて表示画像を生成し続けたときにかかる第２消費電力量よりも低い場合に、第２制御部は、第１制御部に新たなレイヤを生成させるとともに、新たなレイヤと、当該新たなレイヤの生成に用いられなかった残りのレイヤとを合成して表示画像を生成する。また、第２制御部は、第１消費電力量が第２消費電力量よりも高い場合に、第１制御部に新たなレイヤを生成させずに複数のレイヤを合成して表示画像を生成する。
【発明の効果】
【０００７】
ある局面において、表示画像の生成時において従来よりも消費電力量を削減することが可能な電子機器を提供することができる。
【０００８】
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【０００９】
【図１】実施の形態に従うスマートフォンが表示画像を生成する方法を概略的に示した概念図である。
【図２】実施の形態に従うスマートフォンの機能構成の一例を示すブロック図である。
【図３】各レイヤの更新タイミングの一例を示した図である。
【図４】更新履歴のデータ構造の一例を概略的に示す図である。
【図５】電力情報のデータ構造の一例を示す図である。
【図６】実施の形態に従うスマートフォンの主要なハードウェア構成を示すブロック図である。
【図７】実施の形態に従うスマートフォンが実行する処理の一部を表わすフローチャートである。
【図８】レイヤの更新タイミングを推定せずに表示画像を生成した場合の実施の形態に従うスマートフォンの処理を概略的に示した図である。
【図９】レイヤの更新タイミングを推定して表示画像を生成した場合の実施の形態に従うスマートフォンの処理を概略的に示した図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しつつ、本実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
【００１１】
なお、以下では、電子機器の一例であるスマートフォンの詳細について説明するが、電子機器は、スマートフォンに限定されるものではない。たとえば、電子機器は、タブレット端末、パソコン、デジタルカメラ、電子辞書、ＰＤＡ（Personal  Digital  Assistant）、ゲーム機、その他の表示部を有する装置なども含み得る。また、以下で説明される各実施の形態は、適宜選択的に組み合わされてもよい。
【００１２】
＜第１の実施の形態＞
［概要］
図１を参照して、第１の実施の形態に従うスマートフォン１００の概要について説明する。図１は、スマートフォン１００が表示画像を生成する方法を概略的に示した概念図である。
【００１３】
図１に示されるように、スマートフォン１００は、主要なハードウェア構成として、ＧＰＵ（Graphics  Processing  Unit）４と、ＨＷＣ（HardWare  Composer）１０とを含む。ＨＷＣ１０は、たとえば、後述のＣＰＵ（Central  Processing  Unit）２などによって構成される。スマートフォン１００は、複数のレイヤを合成することで後述の表示部５に表示する画像（すなわち、表示画像）を生成する。表示画像の生成に用いるレイヤは、静止画像であってもよいし、動画像であってもよい。
【００１４】
図１には、３つの静止画のレイヤ３１〜３３と、１つの動画のレイヤ３４とを合成して１つの表示画像４０を生成する例が示されている。このとき、スマートフォン１００は、２種類の合成方法で表示画像４０を生成することができる。図１（Ａ）には、一方の合成方法（以下、「全レイヤ合成処理」ともいう。）が概略的に示されている。図１（Ｂ）には、他方の合成方法が（以下、「レイヤキャッシュ合成処理」ともいう。）が概略的に示されている。
【００１５】
図１（Ａ）に示されるように、全レイヤ合成処理においては、スマートフォン１００は、ＨＷＣ１０のみを用いて表示画像４０を生成する。すなわち、ＨＷＣ１０は、レイヤ３１〜３４を合成することで表示画像４０を生成する。
【００１６】
図１（Ｂ）に示されるように、レイヤキャッシュ合成処理においては、スマートフォン１００は、ＧＰＵ４とＨＷＣ１０との両方を用いて表示画像４０を生成する。より具体的には、ＧＰＵ４は、レイヤ３１〜３４のうちの少なくとも２つ以上を合成してレイヤキャッシュ３９を生成する。レイヤキャッシュ３９の生成に用いるレイヤの選択方法については、後述する。図１（Ｂ）には、ＧＰＵ４がレイヤ３１〜３４のうちのレイヤ３１〜３３を合成してレイヤキャッシュ３９を生成する例が示されている。レイヤキャッシュ合成処理においては、ＨＷＣ１０は、レイヤキャッシュ３９の生成に用いたレイヤが更新されるまではレイヤキャッシュ３９を再利用し、レイヤキャッシュ３９とレイヤキャッシュ３９の生成に用いられなかった残りのレイヤ３４とから表示画像４０を生成する。
【００１７】
ここで、通常、ＧＰＵ４がレイヤを合成するときの消費電力量は、ＨＷＣ１０がレイヤを合成するときの消費電力量よりも高い。一方で、ＧＰＵ４によって生成されるレイヤキャッシュ３９は、一度生成されると、レイヤキャッシュ３９の生成元のレイヤが更新されるまでは何度でも利用され得る。
【００１８】
そのため、各レイヤが次に更新されるタイミングが遅い場合には、スマートフォン１００は、レイヤキャッシュ３９を長い間利用することができ、消費電力量を削減することができる。一方で、各レイヤの次の更新タイミングが早い場合には、スマートフォン１００は、レイヤキャッシュ３９を生成せずに、レイヤ３１〜３４から表示画像４０を直接生成した方が、消費電力量を削減することができる。
【００１９】
そこで、本実施の形態に従うスマートフォン１００は、各レイヤが次に更新されるタイミングを推定する。スマートフォン１００は、現在から次の更新タイミングまでレイヤキャッシュ３９を使用し続けて消費電力量を削減できると判断した場合には、レイヤキャッシュ３９を生成し、レイヤキャッシュ合成処理により表示画像４０を生成する。スマートフォン１００は、現在から次の更新タイミングまでレイヤキャッシュ３９を使用しない方が消費電力量を削減できる判断した場合には、レイヤキャッシュ３９を生成せずに、全レイヤ合成処理により表示画像４０を生成する。
【００２０】
より具体的には、スマートフォン１００は、各レイヤの更新規則に基づいて、レイヤキャッシュ３９の生成対象であるレイヤ３１〜３３のうち、最も早いタイミングで更新されるレイヤの次の更新タイミングを推定する。次に、スマートフォン１００は、レイヤキャッシュ３９を生成するとともに、現在から推定した更新タイミングまでレイヤキャッシュ３９を用いて表示画像４０を生成し続けたときにかかる消費電力量（以下、「レイヤキャッシュ合成電力量」ともいう。）を算出する。また、スマートフォン１００は、レイヤキャッシュ３９を生成せずに、現在から推定した更新タイミングまでレイヤ３１〜３４を用いて表示画像４０を生成し続けたときにかかる消費電力量（以下、「全レイヤ合成電力量」ともいう。）を算出する。
【００２１】
レイヤキャッシュ合成電力量が全レイヤ合成電力量よりも低い場合には、ＨＷＣ１０は、レイヤキャッシュ３９をＧＰＵ４に生成させるとともに、レイヤキャッシュ３９を用いて表示画像４０を生成する。すなわち、ＨＷＣ１０は、推定した更新タイミングまではレイヤキャッシュ３９を再利用して表示画像４０を生成する。レイヤキャッシュ合成電力量が全レイヤ合成電力量よりも高い場合には、ＨＷＣ１０は、レイヤキャッシュ３９をＧＰＵ４に生成させずに、レイヤ３１〜３４を合成して表示画像４０を生成する。
【００２２】
このように、スマートフォン１００は、レイヤの次の更新タイミングを推測して、全レイヤ合成処理により表示画像４０を生成した方が消費電力量を削減できるのか、レイヤキャッシュ合成処理により表示画像４０を生成した方が消費電力量を削減できるのかを判断する。これにより、スマートフォン１００は、表示画像４０の生成時の消費電力量を削減することができる。
【００２３】
［機能構成］
図２を参照して、スマートフォン１００の機能について説明する。図２は、スマートフォン１００の機能構成の一例を示すブロック図である。図２に示されるように、ＣＰＵ２とＧＰＵ４とを含む。ＣＰＵ２は、前述のＨＷＣ１０（図１参照）の一例である。ＣＰＵ２は、その機能構成として、推定部２１０と、第１算出部２２０と、第２算出部２３０と、選択部２４０と、第２制御部２６０とを含む。ＧＰＵ４は、その機能構成として、第１制御部２５０を含む。
【００２４】
推定部２１０は、各レイヤの更新タイミングを規定する後述の更新履歴２２に基づいて、次に更新されるレイヤの更新タイミングを推定する。各レイヤの更新タイミングは、たとえば、各レイヤの更新規則から推定される。更新タイミングの推定方法の詳細については後述する。
【００２５】
第１算出部２２０は、後述の電力情報２４に基づいて、現在から推定した更新タイミングまでレイヤキャッシュ合成処理で各レイヤを合成した場合にかかる消費電力量（すなわち、レイヤキャッシュ合成電力量）を算出する。第１算出部２２０によるレイヤキャッシュ合成電力量の算出方法についての詳細は後述する。
【００２６】
第２算出部２３０は、後述の電力情報２４に基づいて、現在から推定した更新タイミングまで全レイヤ合成処理で各レイヤを合成した場合にかかる消費電力量（すなわち、全レイヤ合成電力量）を算出する。第２算出部２３０による消費電力量の算出方法についての詳細は後述する。
【００２７】
選択部２４０は、レイヤキャッシュ３９（図１参照）の生成に用いるレイヤを選択する。このとき、選択部２４０は、レイヤキャッシュ３９の生成に用いるレイヤとして、更新タイミングに規則性があるレイヤを選択する。選択部２４０によるレイヤの選択方法の詳細については後述する。
【００２８】
第２制御部２６０は、全レイヤ合成処理およびレイヤキャッシュ合成処理のいずれかにより表示画像を生成する。全レイヤ合成電力量がレイヤキャッシュ合成電力量よりも低い場合に、第２制御部２６０は、全レイヤ合成処理によって表示画像を生成する。第２制御部２６０は、レイヤキャッシュ合成電力量が全レイヤ合成電力量よりも低い場合に、レイヤキャッシュ合成処理によって表示画像を生成する。
【００２９】
より具体的には、第２制御部２６０は、レイヤキャッシュ合成電力量が全レイヤ合成電力量よりも低い場合に、第１制御部２５０にレイヤキャッシュ３９を生成するための命令を出力する。第１制御部２５０は、第２制御部によって出力された命令を受けると、選択部２４０によって選択されたレイヤを合成してレイヤキャッシュ３９を生成する。レイヤキャッシュ３９の生成に用いる各レイヤの階層は、互いに連続しているものとする。第１制御部２５０は、生成したレイヤキャッシュ３９を第２制御部２６０に出力する。第２制御部２６０は、第１制御部２５０によって生成されたレイヤキャッシュ３９と、レイヤキャッシュ３９の生成に用いられなかった残りのレイヤとを合成して表示画像４０を生成する。
【００３０】
なお、推定部２１０、第１算出部２２０、第２算出部２３０、選択部２４０、第１制御部２５０、および第２制御部２６０の各々は、ＣＰＵ２およびＧＰＵ４のいずれに実装されてもよい。
【００３１】
［レイヤキャッシュの生成に用いるレイヤの選択方法（選択部２４０の詳細）］
図３を参照して、選択部２４０（図２参照）によるレイヤの選択方法について説明する。図３は、各レイヤの更新タイミングの一例を示した図である。選択部２４０は、各レイヤの更新間隔を規定する後述の更新履歴２２に基づいて、各レイヤのうちから更新タイミングに規則性があるレイヤを選択する。上述したように、第１制御部２５０（図２参照）は、選択部２４０によって選択されたレイヤのみを合成してレイヤキャッシュを生成する。以下では、図３に示されるように、現在を時刻Ｔ６とする。
【００３２】
一例として、図３には、レイヤ３１〜３４のそれぞれの更新タイミングが示されている。レイヤ３１〜３３は、静止画像であるとする。レイヤ３４は、動画像であるとする。
【００３３】
レイヤ３１は、時間ΔＴ×２の間隔で規則的に更新されている。より具体的には、レイヤ３１は、時刻Ｔ１よりも前に１回と、時刻Ｔ２〜Ｔ３の間に１回と、時刻Ｔ４〜Ｔ５間に１回との計３回更新されている。レイヤ３２は、時間ΔＴ×３の間隔で規則的に更新されている。より具体的には、レイヤ３２は、時刻Ｔ１よりも前に１回と、時刻Ｔ３〜Ｔ４の間に１回との計２回更新されている。レイヤ３３は、不規則に更新されている。より具体的には、レイヤ３３は、時刻Ｔ１〜Ｔ２の間に１回と、時刻Ｔ２〜Ｔ３の間に１回と、時刻Ｔ４〜Ｔ５の間に１回と、時刻Ｔ５〜Ｔ６の間に１回との計４回更新されている。
【００３４】
レイヤ３４は、時間ΔＴの間隔で規則的に更新されている。より具体的には、レイヤ３４は、時刻Ｔ１よりも前に１回、時刻Ｔ１〜Ｔ２の間に１回、時刻Ｔ２〜Ｔ３の間に１回、時刻Ｔ３〜Ｔ４の間に１回、時刻Ｔ４〜Ｔ５の間に１回、および時刻Ｔ５〜Ｔ６間に１回の計６回更新されている。動画像は、更新される間隔が短いため、スマートフォン１００は、動画像であるレイヤ３４を用いてレイヤキャッシュを生成しても、レイヤキャッシュをすぐに破棄しなければならない。そのため、選択部２４０は、レイヤキャッシュの生成対象から動画像であるレイヤを除外する。
【００３５】
さらに、選択部２４０は、更新に規則性がないレイヤをレイヤキャッシュの生成対象から除外する。更新に規則性があるか否かは、各レイヤの更新間隔にばらつきがあるか否かによって判断される。選択部２４０は、レイヤの更新間隔にばらつきがない場合に、当該レイヤを規則性があるレイヤとして選択し、レイヤの更新間隔にばらつきがある場合に、当該レイヤを規則性がないレイヤとして選択する。
【００３６】
より具体的には、選択部２４０は、各レイヤの更新に規則性があるか否かを判断するために、後述の更新履歴２２に規定されている各レイヤの更新時間から各レイヤについての更新間隔を算出する。次に、選択部２４０は、各レイヤの更新間隔のばらつき度合いを算出する。ばらつき度合いは、たとえば、各レイヤの更新間隔の分散値として示される。選択部２４０は、各レイヤのうち、更新間隔の分散値が予め定められた値よりも低いレイヤを規則性があるレイヤとして選択し、更新間隔の分散値が予め定められた値よりも高いレイヤを周期性がないレイヤとする。
【００３７】
図３の例においては、選択部２４０は、更新間隔に規則性があるレイヤ３１とレイヤ３２とをレイヤキャッシュの生成対象として選択する。また、選択部２４０は、更新に規則性がないレイヤ３３と動画像であるレイヤ３４とをレイヤキャッシュの生成対象から除外する。
【００３８】
［更新タイミングの推定方法（推定部２１０の詳細）］
引き続き図３を参照して、推定部２１０（図２参照）による各レイヤの更新タイミングの推定方法について説明する。推定部２１０は、選択部２４０（図２参照）によって選択された更新に規則性があるレイヤについて次の更新タイミングを推定する。図３の例においては、推定部２１０は、選択部２４０によって選択されたレイヤ３１，３２について次の更新タイミングを推定する。一例として、レイヤ３１，３２の次の更新タイミングは、レイヤ３１，３２についての更新周期から推測される。レイヤ３１，３２の更新周期は、レイヤ３１，３２の更新間隔の平均値などによって示される。推定部２１０は、各レイヤが前回に更新されたタイミングから当該レイヤの更新周期が経過した時点を、当該レイヤの次の更新タイミングとして推定する。
【００３９】
図３を参照して、更新タイミングの推定処理のより具体的な例について説明する。図３の例においては、レイヤ３１は、ΔＴ×２ごとに更新されているので、レイヤ３１の更新間隔の平均値は、ΔＴ×２となる。そのため、推定部２１０は、レイヤ３１の更新周期をΔＴ×２とする。レイヤ３１は、直近では、時刻Ｔ４〜Ｔ５の間に更新されているので、推定部２１０は、レイヤ３１の前回の更新時点から更新周期ΔＴ×２が経過した時点（すなわち、時刻Ｔ６〜Ｔ７の間）をレイヤ３１の更新タイミングとして推定する。
【００４０】
レイヤ３２は、ΔＴ×３ごとに更新されているので、レイヤ３２の更新間隔の平均値は、ΔＴ×３となる。そのため、推定部２１０は、レイヤ３１の更新周期をΔＴ×３とする。レイヤ３２は、直近では、時刻Ｔ３〜Ｔ４の間に更新されているので、推定部２１０は、レイヤ３２の前回の更新時点から更新周期ΔＴ×３が経過した時点（すなわち、時刻Ｔ６〜Ｔ７の間）をレイヤ３１の更新タイミングとして推定する。
【００４１】
推定部２１０は、各レイヤについて推定した更新タイミングのうち、最も早いタイミングで更新されるレイヤの次の更新タイミングをレイヤキャッシュが次に破棄されるタイミングとして推定する。図３の例では、推定部２１０は、レイヤ３１の次の更新タイミングをレイヤキャッシュが次に破棄されるタイミングとして推定する。
【００４２】
なお、推定部２１０は、各レイヤについて推定した更新タイミングのうち、最も更新頻度が高いレイヤの次の更新タイミングをレイヤキャッシュが次に破棄されるタイミングとして推定してもよい。この場合、推定部２１０は、レイヤ３２の次の更新タイミングをレイヤキャッシュが次に破棄されるタイミングとして推定する。また、周期性のないレイヤがレイヤキャッシュの生成に用いられる場合には、推定部２１０は、フレームレート（たとえば、６０ｆｐｓ）に応じた更新間隔（たとえば、約１７ｍｓ＝１ｓ／６０ｆ）に基づいてレイヤ次の更新タイミングを推定してもよい。
【００４３】
［更新履歴２２のデータ構造］
図４を参照して、更新履歴２２のデータ構造について説明する。図４は、更新履歴２２のデータ構造の一例を概略的に示す図である。更新履歴２２は、たとえば、後述の記憶装置２０に格納される。更新履歴２２は、各レイヤが更新されたタイミングを含む。より具体的には、更新履歴２２には、レイヤを識別するための情報（たとえば、レイヤ名など）と、当該レイヤの更新タイミングとが互いに関連付けられている。
【００４４】
スマートフォン１００は、表示部５から出力される表示画像を同期するための垂直帰線信号（以下、「表示要求」ともいう。）を新たに受けると、前回の表示要求から各レイヤが更新されている否かを判断し、各レイヤが更新された場合には、更新タイミングを更新履歴２２に格納する。各レイヤが更新されたか否かは、たとえば、レイヤ内の画像情報が変更されたか否かに基づいて判断される。レイヤが更新された場合に、スマートフォン１００は、当該レイヤを識別するための情報と、当該レイヤの更新タイミングとを互いに関連付けて更新履歴２２に格納する。
【００４５】
また、スマートフォン１００は、表示要求を新たに受けると、前回の表示要求からレイヤ数の増減があったか判断する。レイヤ数が増加した場合には、スマートフォン１００は、増加したレイヤを識別するための情報と、当該レイヤの更新タイミングとを互いに関連付けて更新履歴２２に格納する。レイヤ数が減少した場合には、スマートフォン１００は、減少したレイヤに対応する履歴情報を削除する。
【００４６】
推定部２１０（図２参照）は、更新履歴２２に含まれる各レイヤの更新タイミングから特定される更新規則に基づいて、各レイヤのうち最も早いタイミングで更新されるレイヤの次の更新タイミングを推定する。推定部２１０によるレイヤの更新タイミングの推定方法は、前述の通りであるので説明を繰り返さない。選択部２４０（図２参照）は、更新履歴２２に含まれる各レイヤの更新タイミングから特定される更新規則に基づいて、各レイヤのうちから更新タイミングに規則性があるレイヤを選択する。選択部２４０のレイヤの選択方法は、前述の通りであるので詳細には説明を繰り返さない。
【００４７】
なお、推定部２１０および選択部２４０は、更新履歴２２に規定されている更新タイミングから各レイヤの更新間隔を算出するので、更新履歴２２には、各レイヤの更新タイミングの代わりに、各レイヤの更新間隔が規定されていてもよい。
【００４８】
［電力情報２４のデータ構造］
図５を参照して、電力情報２４のデータ構造について説明する。図５は、電力情報２４のデータ構造の一例を示す図である。電力情報２４は、たとえば、後述の記憶装置２０に格納される。電力情報２４には、レイヤ同士を合成するために必要な消費電力量が規定されている。より具体的には、電力情報２４には、レイヤのフォーマット（レイヤタイプ）に応じた消費電力量がレイヤの合成処理を行なう装置ごとに関連付けられている。電力情報２４に規定されている消費電力量は、たとえば、レイヤ同士の合成時の消費電力量によって示される。
【００４９】
図５に示される電力情報２４には、レイヤのフォーマットとして、ＹＵＶと、ＡＲＧＢ３２と、ＲＧＢ１６とが規定されている。ＹＵＶは、明るさ情報（Ｙ）と、色の情報（ＵＶ）とによって示されるフォーマットである。動画像は、ＹＵＶで表現されることが多い。ＡＲＧＢ３２は、透明度（Ａ）と、赤（Ｒ）と、緑（Ｇ）と、青（Ｂ）とによって示されるフォーマットである。ＲＧＢ１６は、赤（Ｒ）と、緑（Ｇ）と、青（Ｂ）とによって示されるフォーマットである。ユーザインターフェイスを構成する画像は、ＡＲＧＢ３２やＲＧＢ１６によって表現され得る。
【００５０】
また、図５に示される電力情報２４には、レイヤ同士を合成する装置としてＧＰＵ４（図１参照）およびＨＷＣ１０（図１参照）が示されている。また、合成対象のレイヤを回転（たとえば、９０度回転または１８０度回転）する必要がある場合には、消費電力量が高くなるため、好ましくは、図５に示される電力情報２４のように、消費電力量は、合成時にレイヤを回転する必要がある場合とない場合とで異なるように規定される。
【００５１】
以下では、第１算出部２２０（図２参照）によるレイヤキャッシュ合成電力量の算出方法と、第２算出部２３０（図２参照）による全レイヤ合成ストの算出方法について説明する。なお、以下では、表示画像は、１枚の動画レイヤとｍ枚の静止画レイヤとで構成されるとする。また、動画レイヤのフォーマットは、ＹＵＶとする。静止画レイヤのフォーマットは、ＡＲＧＢ３２とする。
【００５２】
上述したように、第１算出部２２０は、レイヤキャッシュ合成電力量を算出する。まず、第１算出部２２０は、ｍ枚の静止画レイヤからレイヤキャッシュを生成するのに必要な消費電力量を算出する。ｍ枚の静止画レイヤのフォーマットはＡＲＧＢ３２であり、レイヤキャッシュはＧＰＵによって生成されるので、レイヤキャッシュを生成するための消費電力量は、電力情報２４の点線２６に示される消費電力量から「２０×ｍ」となる。
【００５３】
また、静止画レイヤのいずれかがＮ回の表示要求（フレーム）に１回更新され、動画レイヤが表示要求（フレーム）ごとに更新される場合には、レイヤキャッシュがＮフレームの間再利用され続ける。レイヤキャッシュのフォーマットがＡＲＧＢ３２であり、動画レイヤのフォーマットがＹＵＢであるので、レイヤキャッシュと動画レイヤとの消費電力量は、電力情報２４の点線２７，２８に示される消費電力量から「（１０＋４）×Ｎ」となる。第１算出部２２０は、レイヤキャッシュを生成するための消費電力量（＝２０×ｍ）と、レイヤキャッシュおよび動画レイヤの消費電力量（＝１４×Ｎ）とを足した、「２０×ｍ＋１４×Ｎ」をレイヤキャッシュ合成電力量として算出する。
【００５４】
一方で、第２算出部２３０は、上述したように、全レイヤ合成処理にかかる全レイヤ合成電力量を算出する。上記の条件下では、ｍ枚の静止画レイヤと１つの動作レイヤとが表示要求ごとに更新されるので、ＨＷＣによるＮ回の全レイヤ合成電力量は、「＝Ｎ×（ｍ×４＋１０）」となる（点線２７，２８参照）。
【００５５】
なお、電力情報２４は、図５に示されるより簡易に構成されてもよい。すなわち、電力情報２４には、ＧＰＵ４がレイヤを合成するのにかかる消費電力量と、ＨＷＣ１０がレイヤを合成するのにかかる消費電力量とを規定する。
【００５６】
この場合、第１算出部２２０は、電力情報２４に基づいて、ＧＰＵ４がレイヤキャッシュを生成するための消費電力量と、ＨＷＣ１０が現在時刻からレイヤの次の更新タイミングまでの間にレイヤキャッシュを用いて一定時間ごとに表示画像を生成し続けたときにかかる消費電力量との合計をレイヤキャッシュ合成電力量として算出する。第２算出部２３０は、電力情報２４に基づいて、ＨＷＣ１０が現在時刻から次の更新タイミングまでの間に各レイヤを用いて一定時間ごとに表示画像を生成し続けたときにかかる消費電力量を全レイヤ合成電力量として算出する。
【００５７】
より具体的には、レイヤキャッシュ合成電力量は、下記の式（１）によって算出される。また、全レイヤ合成電力量は、下記の式（２）によって算出される。ただし、Ｎ＋１フレームごとに更新があるｍ枚の静止画レイヤと、１枚の動画レイヤ（毎フレーム更新）のレイヤとを合成して表示画像を生成したとする。また、Ｎフレームごとにレイヤキャッシュを生成したとする。式（１）に示される「Ｃｃ」は、ＨＷＣ１０がレイヤを合成するのにかかる消費電力量として示される。式（２）に示される「Ｃｇ」は、ＧＰＵ４がレイヤを合成するのにかかる消費電力量として示される。
【００５８】
レイヤキャッシュ合成電力量  ＝  ｍ×Ｃｇ＋Ｎ×Ｃｃ×２・・・（１）
全レイヤ合成電力量  ＝  Ｎ×（ｍ＋１）×Ｃｃ・・・（２）
ここで、レイヤキャッシュ合成電力量が、全レイヤ合成電力量よりも高くなる場合、すなわち、「式（１）に示される値＞式（２）に示される値」の条件が満たされる場合、下記の式（３）のようになる。
【００５９】
Ｃｇ＞（ｍ−１）Ｎ×Ｃｃ／ｍ・・・（３）
式（３）の条件が満たされる場合、レイヤキャッシュを生成する方が、レイヤキャッシュを生成しない場合よりも消費電力量が高くなり、消費電力が増加する。そのため、式（３）の条件が満たされる場合には、スマートフォン１００は、全レイヤ合成処理により表示画像を生成する。式（３）の条件が満たされない場合には、スマートフォン１００は、レイヤキャッシュ合成処理により表示画像を生成する。
【００６０】
［ハードウェア構成］
図６を参照して、第１の実施の形態に従うスマートフォン１００のハードウェア構成の一例について説明する。図６は、スマートフォン１００の主要なハードウェア構成を示すブロック図である。図６に示されるように、スマートフォン１００は、ＲＯＭ（Read  Only  Memory）１と、ＣＰＵ（Central  Processing  Unit）２と、ＲＡＭ（Random  Access  Memory）３と、ＧＰＵ４と、表示部５と、ネットワークインタフェース（Ｉ／Ｆ）８と、記憶装置２０とを含む。
【００６１】
ＲＯＭ１は、オペレーティングシステム（ＯＳ：Operating  System）、スマートフォン１００で実行される制御プログラムなどを格納する。ＣＰＵ２は、オペレーティングシステムやスマートフォン１００の制御プログラムなどの各種プログラムを実行することで、スマートフォン１００の動作を制御する。ＲＡＭ３は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
【００６２】
ＧＰＵ４は、選択部２４０（図２参照）によって選択されたレイヤを合成してレイヤキャッシュ３９を生成する。ＧＰＵ４によるレイヤキャッシュ３９の生成方法は前述の通りであるので説明を繰り返さない。生成されたレイヤキャッシュ３９は、ＲＯＭ１、ＣＰＵ２の記憶領域（たとえば、キャッシュメモリなど）、ＲＡＭ３、ＧＰＵ４の記憶領域（たとえば、キャッシュメモリなど）、または記憶装置２０などに一時的に格納される。
【００６３】
表示部５は、たとえば、液晶ディスプレイ、有機ＥＬ（Electro  Luminescence）ディスプレイ、またはその他の表示機器などを含む。表示部５は、スマートフォン１００の内部機器として構成されてもよいし、スマートフォン１００の外部機器として構成されてもよい。表示部５は、第２制御部２６０（図２参照）によって生成された表示画像を表示する。また、表示部５は、表示を同期するための垂直帰線信号（すなわち、表示要求）を一定周期ごとにＣＰＵ２に出力する。表示要求が出力されるタイミングは、フレームレートに応じる。
【００６４】
ネットワークＩ／Ｆ８は、アンテナ８Ａを介して、他の通信機器との間でデータを送受信する。他の通信機器は、たとえば、スマートフォン、パソコン、サーバ装置、その他の通信機能を有する装置などを含む。スマートフォン１００は、アンテナ８Ａを介して、本実施の形態に従う各種の処理を実現するためのプログラムをダウンロードできるように構成されてもよい。
【００６５】
記憶装置２０は、たとえば、ｅＭＭＣ（Embedded  MultiMediaCard）などの記憶媒体を含む。ｅＭＭＣは、ＮＡＮＤフラッシュメモリと、制御回路とを含む。記憶装置２０は、本実施の形態に従う各種の処理を実現するためのプログラム、更新履歴２２、電力情報２４となどを格納する。更新履歴２２および電力情報２４は、記憶装置２０ではなく、ＲＯＭ１、ＣＰＵ２の記憶領域（たとえば、キャッシュメモリなど）、ＲＡＭ３、ＧＰＵ４の記憶領域（たとえば、キャッシュメモリなど）、または外部の記憶装置などに格納されてもよい。
【００６６】
なお、本実施の形態に従う各種の処理を実現するためのプログラムは、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、任意のプログラムと協働して本実施の形態に従う処理が実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従うスマートフォン１００の趣旨を逸脱するものではない。さらに、本実施の形態に従うプログラムによって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、サーバ装置側が全ての機能を実行する必要はなく、スマートフォン１００とサーバ装置とが協働して、本実施の形態に従う処理を実現するようにしてもよい。さらに、少なくとも１つのサーバ装置が本実施の形態に従う処理を実現する、いわゆるクラウドサービスのような形態でスマートフォン１００が構成されてもよい。
【００６７】
［制御構造］
図７を参照して、スマートフォン１００の制御構造について説明する。図７は、スマートフォン１００が実行する処理の一部を表わすフローチャートである。図７の処理は、スマートフォン１００のＣＰＵ２またはＧＰＵ４がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子、その他のハードウェアによって実行されてもよい。
【００６８】
ステップＳ１０において、ＣＰＵ２は、アプリケーションやユーザインターフェイスの更新に基づいて、表示画像を生成するための命令を受けるとともに、表示画像を生成するためのレイヤの集合をＯＳから受ける。ステップＳ１２において、ＣＰＵ２は、前回の表示要求から各レイヤが更新されている否か、およびレイヤ数の増減があったか否かを判断する。レイヤが更新されている場合には、ＣＰＵ２は、当該レイヤを識別するための情報と、当該レイヤの更新タイミングとを互いに関連付けて更新履歴２２（図４参照）に格納する。また、レイヤ数が増加した場合には、ＣＰＵ２は、増加したレイヤを識別するための情報と、当該レイヤの更新タイミングとを互いに関連付けて更新履歴２２に格納する。
【００６９】
ステップＳ１４において、ＣＰＵ２は、選択部２４０（図２参照）として、更新履歴２２に基づいて、各レイヤのうちから更新タイミングに規則性があるレイヤを選択する。このとき、ＣＰＵ２は、ステップＳ１２で更新のなかったレイヤを選択対象とする。ステップＳ１６において、ＣＰＵ２は、推定部２１０（図２参照）として、更新履歴２２に含まれる各レイヤの更新タイミングから特定される更新規則に基づいて、最も早いタイミングで更新されるレイヤの次の更新タイミングを推定する。
【００７０】
ステップＳ１８において、ＣＰＵ２は、第１算出部２２０（図２参照）として、電力情報２４（図５参照）に基づいて、レイヤキャッシュ合成電力量を算出する。また、ＣＰＵ２は、第２算出部２３０（図２参照）として、電力情報２４に基づいて、全レイヤ合成電力量を算出する。ステップＳ２０において、ＣＰＵ２は、第２制御部２６０（図２参照）として、レイヤキャッシュ合成電力量が全レイヤ合成電力量よりも低いか否かを判断する。ＣＰＵ２は、レイヤキャッシュ合成電力量が全レイヤ合成電力量よりも低いと判断した場合に（ステップＳ２０においてＹＥＳ）、制御をステップＳ２２に切り替える。そうでない場合には（ステップＳ２０においてＮＯ）、ＣＰＵ２は、制御をステップＳ２４に切り替える。
【００７１】
ステップＳ２２において、ＧＰＵ４は、第１制御部２５０（図２参照）として、ステップＳ１４で選択されたレイヤを合成して、レイヤキャッシュ３９を生成する。ステップＳ２４において、ＣＰＵ２は、第２制御部２６０（図２参照）として、レイヤキャッシュ３９の生成処理（すなわち、ステップＳ２２）が実行された場合には、レイヤキャッシュ３９とレイヤキャッシュ３９の生成に用いなかった残りのレイヤとを合成して表示画像を生成する。ＣＰＵ２は、レイヤキャッシュ３９の生成処理が実行されていない場合には、全てのレイヤを合成して表示画像を生成する。ステップＳ２６において、ＣＰＵ２は、生成した表示画像を表示部５（図６参照）に表示させる。
【００７２】
［利点］
図８および図９を参照して、本実施の形態に従うスマートフォン１００の利点について説明する。図８は、レイヤの更新タイミングを推定せずに表示画像を生成した場合のスマートフォン１００の処理を概略的に示した図である。図９は、レイヤの更新タイミングを推定して表示画像を生成した場合のスマートフォン１００の処理を概略的に示した図である。図８（Ａ）〜図８（Ｉ）には、スマートフォン１００が表示要求を受けた場合における静止画レイヤおよび動画エリヤの合成処理が時系列で順に示されている。なお、図８（Ａ）〜図８（Ｈ）は、図９（Ａ）〜図９（Ｈ）と同じである。
【００７３】
図８（Ａ）に示される時点で、ＧＰＵ４は、３枚の静止画レイヤからレイヤキャッシュを生成し、ＨＷＣ１０は、レイヤキャッシュと動画レイヤとの２枚のレイヤを合成して表示画像を生成する。図８（Ｂ）に示される時点で、静止画レイヤの１枚が更新されたとする。この時点で、スマートフォン１００は、レイヤキャッシュを破棄する。この時点までにＨＷＣ１０がレイヤキャッシュを利用した回数は、図８（Ａ）に示される時点での１回となる。図８（Ｃ）に示される時点で、ＧＰＵ４は、３枚の静止画レイヤから新たにレイヤキャッシュを生成し、ＨＷＣ１０は、レイヤキャッシュと動画レイヤとの２枚のレイヤを合成して表示画像を生成する。図８（Ｄ）に示される時点で、静止画レイヤに更新がなかったものとする。この時点で、ＨＷＣ１０は、図８（Ｃ）の時点で生成したレイヤキャッシュと、動画レイヤとを合成して表示画像を生成する。図８（Ｅ）に示される時点で、静止画レイヤの１枚が更新されたとする。この時点で、スマートフォン１００は、レイヤキャッシュを破棄する。この時点までにＨＷＣ１０がレイヤキャッシュを利用した回数は、図８（Ｃ）および図８（Ｄ）に示される時点での２回となる。以降（すなわち、図８（Ｆ）〜図８（Ｉ））は、図８（Ｃ）〜図８（Ｆ）の処理が繰り返される。
【００７４】
このように、図８に示される例においては、レイヤキャッシュを利用できる回数が少ない（１回または２回）。そのため、レイヤキャッシュを利用することで削減できる消費電力量よりも、レイヤキャッシュを生成することで増加する消費電力量の方が大きくなる。その結果、消費電力量が増加する。
【００７５】
しかしながら、図９（Ｉ）に示されるように、スマートフォン１００は、レイヤの次の更新タイミングから、レイヤキャッシュを利用できる期間が短いと判断した場合には、レイヤキャッシュを生成せずに、各レイヤを合成して表示画像を合成する。これにより、スマートフォン１００は、レイヤキャッシュを生成することにより消費電力量が却って増加することを防ぐことができる。
【００７６】
また、スマートフォン１００は、推定したレイヤの更新タイミングに基づいて、レイヤキャッシュを長い間利用できると判断した場合にはレイヤキャッシュを生成し、レイヤキャッシュを用いて表示画像を生成する。これにより、スマートフォン１００は、表示画像の生成時の消費電力量を削減することができる。
【００７７】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【００７８】
１  ＲＯＭ、２  ＣＰＵ、３  ＲＡＭ、４  ＧＰＵ、５  表示部、８  ネットワークＩ／Ｆ、８Ａ  アンテナ、１０  ＨＷＣ、２０  記憶装置、２２  更新履歴、２４  電力情報、２６〜２８  点線、３１〜３４  レイヤ、３９  レイヤキャッシュ、４０  表示画像、１００  スマートフォン、２１０  推定部、２２０  第１算出部、２３０  第２算出部、２４０  選択部、２５０  第１制御部、２６０  第２制御部。
【図１】
2016071415.tif 000003
【図２】
2016071415.tif 000004
【図３】
2016071415.tif 000005
【図４】
2016071415.tif 000006
【図５】
2016071415.tif 000007
【図６】
2016071415.tif 000008
【図７】
2016071415.tif 000009
【図８】
2016071415.tif 000010
【図９】
2016071415.tif 000011