(57)【特許請求の範囲】
【請求項１】
不揮発性メモリである第１メモリを備え、前記第１メモリに格納された第１データに対する第１処理を実行するとともに、前記第１メモリに供給する電力を前記第１処理を実行可能な第１電力と前記第１電力よりも低い第２電力とのいずれかに切り替える情報処理装置において、
当該情報処理装置は、前記第１処理の候補を複数含み、
前記第１処理の前記候補の数が所定の閾値より小さい場合、前記第１メモリへ供給する前記電力を前記第１電力とした状態で前記第１処理を実行し、前記第１処理の完了後に前記第１メモリに供給する前記電力を前記第１電力から前記第２電力へ切り替え、
前記第１処理の前記候補の前記数が前記閾値以上である場合、前記候補の全てに対して前記第１処理を実行せずに、前記第１メモリへ供給する前記電力を前記第１電力から前記第２電力へ切り替え、その後、前記第１メモリへ供給する前記電力を再び前記第１電力へ復帰させて前記第１処理を実行する、
情報処理装置。
【請求項２】
第１メモリに格納されている第１画像データのもととなるデータから表示用の前記第１画像データを生成する前処理を実行する前処理部と、
前記前処理部によって生成された第１画像データを含む処理済書換データを第２メモリに転送する管理部と、
前記第１画像データを利用して表示装置を書き換える際、前記処理済書換データが前記第２メモリに保持されているか否かを判定する判定部と、
前記処理済書換データが前記第２メモリに保持されている場合、前記保持されている前記処理済書換データを用いた前記表示装置の描画処理を指示する書換処理部と、
前記書換処理部からの指示に従って前記第２メモリに保持されている前記処理済書換データを用いて前記表示装置の描画処理を実行する制御部と、
前記処理済書換データが前記第２メモリに転送された後、前記第１メモリに供給される電力を前記第１メモリへのアクセスが可能となる第１電力よりも低い第２電力に切り換える電源制御部と、
を備える表示制御装置。
【請求項３】
前記前処理部が組み込まれた第１半導体チップと、前記判定部が組み込まれた第２半導体チップとにそれぞれに供給する電力を制御する電源制御部と
をさらに備え、
前記書換処理部は、前記第１画像データの元となる前記データに対して生成された前記処理済書換データが前記第２メモリに保持されている場合、前記保持されている前記処理済書換データを用いた前記表示装置の描画処理を指示し、
前記第２半導体チップは、前記第１半導体チップよりも低い電力で動作し、
前記電源制御部は、前記第１画像データの元となる前記データに対して生成された前記処理済書換データが前記第２メモリに保持されていない場合、前記第１半導体チップへの供給電力を第５電力から前記第５電力よりも高い第６電力に切り換える
請求項２に記載の表示制御装置。
【請求項４】
前記第２メモリは、ＳｏＣに組み込まれた内部メモリである請求項２に記載の表示制御装置。
【請求項５】
前記前処理部は、当該表示制御装置に供給される電力が第３電力から前記第３電力よりも低い第４電力に切り換わる直前に、前記表示装置の書き換えを要求する書換要求が未だ発行されていない他の第１画像データの元となるデータに対する前記前処理を実行し、
前記管理部は、前記表示装置の書き換えを要求する書換要求が未だ発行されていない前記他の第１画像データの元となる前記データに対して前記前処理部が生成した前記他の第１画像データを第２メモリに書き込む
請求項２に記載の表示制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置および表示制御装置に関する。
【背景技術】
【０００２】
スレート端末やタブレット端末などの携帯型の小型情報処理装置や、電子ＰＯＰ（Ｐｏｉｎｔ  Ｏｆ  Ｐｕｒｃｈａｓｅ  ａｄｖｅｒｔｉｓｉｎｇ）や電子ポスターや電子カルテのような情報処理装置では、電力利用の効率化が重要な技術課題である。これら情報処理装置の表示装置に、ディスプレイ書換時以外の消費電力が非常に小さい電子ペーパなどの低消費電力ディスプレイを用いることで、ユーザがディスプレイを閲覧している間などの待機時の消費電力を抑えることができる。
【０００３】
一般的に、電子ペーパの書換処理では、表示するデータ（以下、書換データという）に対する前処理と、前処理によって得られたデータで電子ペーパのディスプレイを書き換える描画処理との２段階の処理が必要になる。電子ペーパ用の前処理とは、加工処理と選択処理との２つの処理から構成される。加工処理では、画像などの書換データ自体を加工することで前処理済書換データが生成される。選択処理では、前処理済書換データで電子ペーパのディスプレイを書き換える際に使用する駆動電圧などの情報（以下、書換制御情報という）が選択され、選択された書換制御情報を特定する情報（以下、書換制御情報選択情報という）が生成される。これらの処理は、処理量が大きいため、大きな消費電力と処理時間とを必要とする処理である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１９３３８７号公報
【特許文献２】特開２００２−２３０９７０号公報
【非特許文献】
【０００５】
【非特許文献１】Freescale Semiconductor, Inc., “i.MX50 Multimedia Applications Processor Reference Manual”, Rev.1, Chapter 24 Electrophoretic Display Controller (EPDC), 10/2011
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以下の実施形態では、電子ペーパ用の前処理で必要となる消費電力や処理時間を削減することが可能な情報処理装置および表示制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態にかかる情報処理装置は、不揮発性メモリである第１メモリを備え、前記第１メモリに格納された第１データに対する第１処理を実行するとともに、前記第１メモリに供給する電力を前記第１処理を実行可能な第１電力と前記第１電力よりも低い第２電力とのいずれかに切り替える情報処理装置において、当該情報処理装置は、前記第１処理の候補を複数含み、前記第１処理の前記候補の数が所定の閾値より小さい場合、前記第１メモリへ供給する前記電力を前記第１電力とした状態で前記第１処理を実行し、前記第１処理の完了後に前記第１メモリに供給する前記電力を前記第１電力から前記第２電力へ切り替え、前記第１処理の前記候補の前記数が前記閾値以上である場合、前記候補の全てに対して前記第１処理を実行せずに、前記第１メモリへ供給する前記電力を前記第１電力から前記第２電力へ切り替え、その後、前記第１メモリへ供給する前記電力を再び前記第１電力へ復帰させて前記第１処理を実行する。
【０００８】
また、実施形態にかかる表示制御装置は、第１メモリに格納されている第１画像データのもととなるデータから表示用の前記第１画像データを生成する前処理を実行する前処理部と、前記前処理部によって生成された第１画像データを含む処理済書換データを第２メモリに転送する管理部と、前記第１画像データを利用して表示装置を書き換える際、前記処理済書換データが前記第２メモリに保持されているか否かを判定する判定部と、前記処理済書換データが前記第２メモリに保持されている場合、前記保持されている前記処理済書換データを用いた前記表示装置の描画処理を指示する書換処理部と、前記書換処理部からの指示に従って前記第２メモリに保持されている前記処理済書換データを用いて前記表示装置の描画処理を実行する制御部と、前記処理済書換データが前記第２メモリに転送された後、前記第１メモリに供給される電力を前記第１メモリへのアクセスが可能となる第１電力よりも低い第２電力に切り換える電源制御部と、を備える。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態１にかかる情報処理装置の概略構成を示すブロック図。
【図２】図２は、実施形態１にかかるＥＰＤ書換制御部の概略構成を示すブロック図。
【図３】図３は、実施形態１にかかる前処理部の概略構成を示すブロック図。
【図４】図４は、実施形態１にかかる前処理キャッシュの構成例を示す図。
【図５】図５は、実施形態１にかかる書換処理の一例を示すフローチャート。
【図６】図６は、実施形態２にかかる情報処理装置の概略構成を示すブロック図。
【図７】図７は、実施形態２にかかるＥＰＤ書換制御部の一例を示すブロック図。
【図８】図８は、実施形態２にかかる書換処理の一例を示すフローチャート。
【図９】図９は、実施形態３にかかる情報処理装置の概略構成を示すブロック図。
【図１０】図１０は、実施形態３にかかる書換処理の一例を示すフローチャート。
【図１１】図１１は、実施形態４にかかる情報処理装置の概略構成を示すブロック図。
【図１２】図１２は、実施形態４にかかる書換処理の一例を示すフローチャート。
【図１３】図１３は、実施形態５にかかるプレロードの概要を説明するための図。
【図１４】図１４は、実施形態５にかかる処理フローの一例を示すフローチャート。
【図１５】図１５は、実施形態５にかかる前処理と描画処理とのタイミングチャート。
【図１６】図１６は、実施形態６にかかるハイバネーション時の動作例のタイミングチャート。
【図１７】図１７は、実施形態６にかかるハイバネーション時の処理フローのフローチャート。
【図１８】図１８は、実施形態７にかかるヒント情報を付加して書換処理を行う場合を示す図。
【図１９】図１９は、実施形態７にかかる書換処理を行う場合を示す図。
【図２０】図２０は、実施形態７にかかる前処理キャッシュのキャッシュエントリを示す図。
【図２１】図２１は、実施形態７にかかる処理フローの一例を示すフローチャート。
【図２２】図２２は、実施形態７にかかる書換処理の一例を示すフローチャート。
【図２３】図２３は、実施形態８にかかる画像ビューワーアプリケーションを示す図。
【図２４】図２４は、実施形態８にかかる２つの書換処理を示すタイミングチャート。
【図２５】図２５は、実施形態１０にかかるクラウドシステムの概略構成例を示すブロック図。
【図２６】図２６は、実施形態１０にかかるクラウドシステムの処理フローのフローチャート。
【図２７】図２７は、実施形態１１にかかる書換処理の概要を説明するための図。
【図２８】図２８は、図２７でノブの移動方向を変更させた場合の書換処理の概要を示す図。
【図２９】図２９は、実施形態１２にかかる情報処理装置の概略構成を示すブロック図。
【図３０】図３０は、実施形態１２にかかる前処理キャッシュの構成を示す図。
【図３１】図３１は、実施形態１２にかかる書換処理の一例を示すフローチャート。
【図３２】図３２は、実施形態１３にかかる情報処理装置の概略構成を示すブロック図。
【図３３】図３３は、実施形態１４にかかる前処理キャッシュの構成例を示す図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら、例示する実施形態にかかる情報処理装置、表示制御装置、半導体チップ、表示装置の制御方法およびそのプログラムを詳細に説明する。
【００１１】
たとえば、書換データ自体の加工処理（たとえばデータ変換処理であり、前処理部１１３のデータ変換処理部１１３ａで実行される）では、カラー画像データをグレースケール表示の電子ペーパで表示できるように、画像データをグレースケールや白黒（２値）の画像データに変換する処理や、白黒画像データを白黒反転する処理や、電子ペーパのディスプレイサイズや電子ペーパを部分的に書換える際の書換領域の大きさに合わせて画像データを拡大または縮小する処理などが実行される。
【００１２】
また、書換制御情報の選択処理（たとえば選択処理であり、前処理部１１３の選択処理部１１３ｂで実行される）では、無駄な電力や時間を消費せずに意図する書換処理を行うことを可能にする適切な書換制御情報を選択するために、書換データのデータ解析などを行う必要がある。この選択処理は、適切な書換制御情報を選択できなかった場合、情報処理装置にかかる負荷が増大するため、非常に重要な処理である。
【００１３】
書換制御情報とは、電子ペーパの各ピクセルやその集合を所望のグレースケール値へ書換えたり、カラー表示が可能な電子ペーパの場合は各画素を所望の色へ書き換えたりするための電圧のかけ方などが記述された情報であり、Ｗａｖｅｆｏｒｍなどと呼ばれるものである。書換制御情報は、電圧値や電圧をかける時間やそのペアをどのような順番で変化させながら適用するかなどの情報を含んでいてもよい。
【００１４】
書換制御情報は、情報処理装置上に複数用意されており、電子ペーパの書換方法などに応じて適切に使い分ける必要がある。たとえば、書換元の画像データの階調数や、これをヒストグラム化し解析して得られる画像の特徴や、書換方法の違い（例えば、書換速度は遅いが書換後に書換前の文字などが残る残像が少ない書換方法や逆に書換速度は速いが残像が残り易い書換方法、または、書き換え速度は遅いが書換過程で所望の色と違う色が見えにくい書換方法や逆に書き換え速度は速いが所望の色と違う色が見え易い書換方法など）、周辺温度の違いなどに応じて複数の書換制御情報の中からから目的に合致するものが選択されて利用されることが必要になる。そのため、同じ書換データに対して異なる書換制御情報を状況に応じて使い分けることで、書換処理を行う場合も多い。
【００１５】
電子ペーパへの描画処理は、以上のような前処理を行って、前処理済書換データと書換制御情報選択情報とのペアを生成することで可能となる。この前処理は、上述したように、比較的大きな消費電力と処理時間とを必要とする。また、カラーの電子ペーパなどでは、電圧値を変えながら電圧をかけるシーケンスが複雑化したりや、書換データの色の並び方が影響して書換シーケンスが複雑化したりなど、書換制御情報が複雑になる場合がある。その場合、前処理における選択処理も、画像解析や特徴抽出に要する処理がさらに複雑化し、その結果、消費電力や処理時間がさらに大きくなる場合がある。
【００１６】
そこで、以下の実施形態では、電子ペーパ用の前処理で必要となる消費電力や処理時間を削減することが可能な情報処理装置、表示制御装置、半導体チップ、表示装置の制御方法およびそのプログラムを例示する。
【００１７】
（実施形態１）
まず、実施形態１にかかる情報処理装置、表示制御装置、半導体チップ、表示装置の制御方法およびそのプログラムについて、図面を参照して詳細に説明する。
【００１８】
図１は、実施形態１にかかる情報処理装置の概略構成を示すブロック図である。図１に示すように、情報処理装置１は、ＳｏＣ（Ｓｙｓｔｅｍ  Ｏｎ  ａ  Ｃｈｉｐ）１００、メインメモリ１２０、メモリ性のある表示装置としてのＥＰＤ１４０、電源制御装置１５０Ａおよび１５０Ｂ、および、入力デバイス１３０から構成される。
【００１９】
メモリ性のある表示装置１４０は、たとえば電子ペーパ（ＥＰＤ：Ｅｌｅｃｔｒｏｎｉｃ  Ｐａｐｅｒ  Ｄｉｓｐｌａｙ）である。電子ペーパの方式は、電気泳動方式、電子粉流体方式、コレステリック液晶方式など、様々な方式であってよい。
【００２０】
入力デバイス１３０は、ＥＰＤ１４０の表面に設けられたポインティングデバイスとして機能するタッチパネルより構成される。なお、情報処理装置１は、キーボードやマウスなどの他の入力デバイスを備えていてもよい。
【００２１】
メインメモリ１２０は、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの不揮発メモリである。メインメモリ１２０上には、ＥＰＤ１４０に表示する書換データと、前処理における選択処理で選択候補となる１つ以上の書換制御情報とが格納されている。また、実施形態１では、前処理における加工処理によって得られた前処理済書換データと、同じく前処理における選択処理によって生成された書換制御情報選択ＩＤ（書換制御情報選択ＩＤとは、たとえば書換制御情報識別子のことであり、以降の実施例についても同様である）とのペアから構成される前処理キャッシュも、メインメモリ１２０上に格納される。
【００２２】
電源制御装置１５０Ａは、メインメモリ１２０とＳｏＣ１００とに給電しており、電源制御装置１５０Ｂは、ＥＰＤ１４０に給電している。電源制御装置１５０Ａおよび１５０Ｂは、それぞれＰＭＩＣ（Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などである。
【００２３】
情報処理装置１は、太陽電池とキャパシタなどの蓄電部とを備え、太陽電池で発電した電力で動作してもよい。その場合、蓄電部は、アイドル時等に太陽電池で発電した余剰電力を蓄えておく。電源制御装置１５０Ａおよび１５０Ｂは、アクティブ時等のピークの消費電力を蓄電部に蓄積している電力と太陽電池が発電した電力との両方でまかなうように、情報処理装置１の各部に電力を供給する電源制御を行う。このように、以下で例示する実施形態は、非常に少ない電力でも情報処理装置が動作できるようにすることを目的の一つしている。そのための基本方針は、情報処理装置の各モジュールを積極的に消費電力が低い待機状態や低消費電力モードへ遷移させ消費電力を削減することである。そのため、前処理自体に必要な電力削減だけが重要なわけではない。前処理時間が長いと、情報処理装置のアイドル時（ユーザからの応答待ちの時間や情報処理装置を利用していない場合）に積極的に消費電力が低い待機状態へ遷移させ消費電力を削減しようとした際に、アクティブ時（情報処理装置が何らかの処理をしている場合）の時間が長くなり、その効果が得られ難くなる。また、前処理にかかる処理時間が長いと情報処理装置の応答性にも影響するので、情報処理装置のユーザの使い勝手も大きく損なうことになってしまう。そのため、前処理の処理時間を小さくすることも非常に重要である。これは、以降の実施形態についても同様である。
【００２４】
ＳｏＣ１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、メモリコントローラ１０３、ＥＰＤコントローラ１０５、前処理に使用する前処理用アクセラレータ１０２、内部メモリ１０４、および、無線ＬＡＮコントローラ１０６などの通信インタフェースで構成され、これらはバス１０７で接続されている。
【００２５】
ＳｏＣ１００は、消費電力が低い待機状態になるように、待機状態の消費電力と待機状態への遷移と復帰に必要なコストが異なる複数の種類の待機状態を提供していてもよい。
【００２６】
ＥＰＤコントローラ１０５は、メインメモリ１２０をワーキングメモリとして利用し、このメインメモリ１２０上から前処理済書換データと、書換制御情報選択ＩＤに対応する書換制御情報とを読み出して、ＥＰＤ１４０に対する描画処理を実行する。なお、ＥＰＤコントローラ１０５は、ＥＰＤ１４０の複数の部分領域を並列に更新することができる。
【００２７】
図２は、実施形態１にかかるＥＰＤ書換制御部の概略構成を示すブロック図である。図２に示すように、ＥＰＤ書換制御部１１０は、ＣＰＵ１０１上で動作するオペレーティングシステム（以降、ＯＳという）のＥＰＤコントローラ１０５のデバイスドライバなどである。ＥＰＤ書換制御部１１０は、電源管理部１１５、前処理部１１３、キャッシュ判定部１１２、書換処理部１１４およびキャッシュ管理部１１１（管理部ともいう）から構成される。前処理部１１３とは、図４に示すように、データ変換処理部１１３ａと選択処理部１１３ｂとから構成される。
【００２８】
ＥＰＤ書換制御部１１０は、情報処理装置１上で動作するアプリケーションやミドルウェアやＯＳなどからＥＰＤ１４０の一部の領域あるいは全体を書換えるように指示されると、電源管理部１１５、前処理部１１３、キャッシュ判定部１１２、書換処理部１１４およびキャッシュ管理部１１１を連携して動作させることで、同じ書換データで同じ書換制御情報を使った書換処理の前処理の結果がメインメモリ１２０上の前処理キャッシュにキャッシュヒットするか否か確認し、キャッシュヒットしている場合は前処理キャッシュ上のデータを再利用してＥＰＤ１４０の描画処理を行う。これにより、前処理にかかる消費電力と処理時間とを削減することができる。また、前処理に要する時間（以下、前処理時間という）を削減したことにより、ＭＲＡＭで構成されるメインメモリ１２０の電源をオフにできる時間を長くすることが可能となるため、より消費電力を削減することができる。
【００２９】
さらに、一般に、ＳｏＣ１００を消費電力のより低い待機状態へ遷移させた場合、この待機状態から復帰させるには、より大きな消費電力と処理時間とが必要になる。そのため、トータルでの消費電力を削減するためには、待機状態から復帰する際に要する消費電力に見合うだけのアイドル時間が必要になる。そこで、実施形態１では、上述したように、前処理時間を削減することが可能となるため、アイドル時間をより長くして消費電力が低い待機状態を利用する機会を高めることができ、その結果、さらなる省電力化を図ることが可能になる。
【００３０】
図４は、図１のメインメモリ上に保持される前処理キャッシュの構成例を示す図である。この前処理キャッシュは、図２に示すＥＰＤ書換制御部１１０のキャッシュ管理部１１１によって管理される。
【００３１】
図４に示すように、前処理キャッシュは、複数のキャッシュエントリから構成される。図４の例では、前処理キャッシュとして６個のキャッシュエントリが登録されている。各キャッシュエントリは、タグ部と前処理キャッシュデータ部とのペアから構成される。
【００３２】
タグ部は、書換データＩＤと書換方法タグとのペアと、ＶＡＬＩＤビットとから構成される。アプリケーションやミドルウエアなどによって発行されるＥＰＤの書換要求は、書換データを区別する書換データＩＤと、どのような書換を行うかを表す書換方法タグとのペアを付加して発行される。このような書換要求を受信したキャッシュ判定部１１２は、キャッシュヒットの判定を行う。キャッシュヒットの判定では、タグ部を検索することで、書換データＩＤと書換方法タグとのペアが一致し、且つ、キャッシュエントリのデータが有効（ＶＡＬＩＤ）か無効（ＩＮＶＡＬＩＤ）か示すＶＡＬＩＤビットが有効（ＶＡＬＩＤ）になっているエントリが存在するか否かが判定される。
【００３３】
書換データＩＤは、書換データを一意に識別するための情報である。例えばアプリケーションやミドルウエアが書換データと書換データＩＤを関連づけて管理し、同じ書換データを用いる書換処理の際は、同一の書換データＩＤを書換要求に付加してＥＰＤ書換制御部１１０に通知する。図４に示す例では、書換データは‘１’〜‘４’の４種類ある。
【００３４】
書換方法タグは、書換方法を指定するために書換要求に付加される情報である。書換方法タグでは、例えば、データを２値化して書き換えを行うこと、データを２値化したものをさらに反転して書き換えを行うこと、グレースケールで残像が残りづらい書き換えを行うこと、書換速度は速いが残像が残り易い書き換えを行うこと、それらのうちの２つ以上の組み合わせなどが指定される。図４に示す例では、書換データＩＤが‘１’および‘２’の書換データについては、それぞれ‘Ｂ’と‘Ｗ’の２種類の書換方法が過去に指定されて前処理キャッシュにエントリされており、また、書換データＩＤが‘３’および‘４’の書換データについては、‘Ｇ’の１種類の書換方法が過去に指定されて前処理キャッシュにエントリされている。
【００３５】
なお、書換方法‘Ｂ’は例えば書換データを２値化して書き換えることであり、書換方法‘Ｗ’は例えば書換データを２値化してさらに白黒反転させることであり、書換方法‘Ｇ’は例えば書換データをグレースケールに変換することである。グレースケールに変換する書換方法‘Ｇ’では、書換データが８階調だと解析されると８階調で書換える書換制御情報が選択される。その場合、１６階調での書換制御情報を使うまでもなく、１６階調と同等の画質を短い書換時間や低い消費電力で得ることができる。
【００３６】
なお、アプリケーションやミドルウエアなどによって発行されるＥＰＤ１４０の書換要求には、書換データＩＤと書換方法タグとのペアの代わりに、書換データＩＤと書換方法タグとのペアを一意に識別するためのＩＤが付加されてもよい。例えば図４の場合、＜１，Ｂ＞のＩＤを‘１’、＜１，Ｗ＞のＩＤを‘２’、＜２，Ｂ＞のＩＤを‘３’、＜２，Ｗ＞のＩＤを‘４’、＜３，Ｇ＞のＩＤを‘５’、＜４，Ｇ＞のＩＤを‘６’としてもよい。その場合、タグ部の＜書換データＩＤ，書換方法タグ＞には、ペアを識別するためのＩＤが代わりに格納される。これは、以降のすべての実施形態についても同様である。
【００３７】
前処理キャッシュデータ部は、書換制御情報選択ＩＤと前処理済書換データとのペアから構成される。
【００３８】
書換制御情報選択ＩＤは、情報処理装置１が保持する複数の書換制御情報の中からいずれか１つを特定するための情報である。書換処理部１１４がＥＰＤコントローラ１０５に対して、図４における書換制御情報選択ＩＤが‘３４’のエントリを利用してＥＰＤ１４０の書換処理を実行するように指示すると、ＥＰＤコントローラ１０５は、メインメモリ１２０上に配列されている３４番目の書換制御情報を読み出し、この書換制御情報を用いて書換処理を実行する。
【００３９】
前処理済書換データには、前処理済書換データのコンテンツデータ（内容）の他、データサイズも格納されている。
【００４０】
図５は、実施形態１にかかる書換処理の一例を示すフローチャートである。図５に示す例では、ＥＰＤ書換制御部１１０が前処理キャッシュ上のデータを再利用することで、書換処理を省電力化および高速化する例を示す。図５に示す処理は、アプリケーションやミドルウエアやＯＳなどから、メインメモリ１２０上のフレームバッファなどに配置された書換データを用いてＥＰＤ１４０を書き換えるようにＥＰＤ書換制御部１１０に書換要求が発行されると開始される。
【００４１】
図５に示すように、書換処理では、ＥＰＤ書換制御部１１０が書換要求を受信すると、ＥＰＤ書換制御部１１０の電源管理部１１５が、積極的な省電力化のためにメインメモリ１２０の電源がオフになっているか否かを確認し（ステップＳ１０１）、オフになっている場合（ステップＳ１０１；ＹＥＳ）、電源制御装置１５０Ａを利用してメインメモリ１２０の電源をオンにして（ステップＳ１０２）、ステップＳ１０３へ進む。これにより、メインメモリ１２０へのアクセスが可能な状態になる。メインメモリ１２０は、ＭＲＡＭなどの不揮発メモリなので、メインメモリ１２０上に構成されている前処理キャッシュの内容は保持されている。一方、メインメモリ１２０の電源がオンである場合（ステップＳ１０１；ＮＯ）、ＥＰＤ書換制御部１１０はそのままステップＳ１０３へ進む。
【００４２】
ステップＳ１０３では、ＥＰＤ書換制御部１１０のキャッシュ判定部１１２が、書換要求に付加されている書換データＩＤと書換方法タグとのペアに一致するものが前処理キャッシュに存在するか否かをチェック（キャッシュ判定）し（ステップＳ１０３）、キャッシュヒットした場合（ステップＳ１０３；ＹＥＳ）、ステップＳ１０７へ進む。一方、キャッシュヒットしない場合（ステップＳ１０３；ＮＯ）、ＥＰＤ書換制御部１１０のキャッシュ管理部１１１は、前処理結果を格納するキャッシュエントリを決定する（ステップＳ１０４）。この際、キャッシュエントリが一杯な場合は、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）などの置き換えるべきキャッシュエントリを判定するアルゴリズムを用いてキャッシュエントリを決定する。つづいて、ＥＰＤ書換制御部１１０の前処理部１１３が、前処理用アクセラレータ１０２へ前処理を指示する（ステップＳ１０５）。
【００４３】
前処理用アクセラレータ１０２は、前処理部１１３からの指示に応じて、メインメモリ１２０上の書換データをもとに前述の加工処理と選択処理とを含む前処理を行う。その後、前処理用アクセラレータ１０２は、前処理の結果である処理済書換データを、決定されたキャッシュエントリに書き戻す（ステップＳ１０６）。また、キャッシュ管理部１１１が、前処理の他の結果である書換制御情報選択ＩＤを同キャッシュエントリに格納する（ステップＳ１０６）。その際、キャッシュ管理部１１１は、タグ部の書換データＩＤと書換方法タグとＶＡＬＩＤビット（ＶＡＬＩＤ）との情報も併せて同キャッシュエントリに格納する（ステップＳ１０６）。その後、ＥＰＤ書換制御部１１０は、ステップＳ１０７へ進む。
【００４４】
ステップＳ１０７では、ＥＰＤ書換制御部１１０の書換処理部１１４が、前処理キャッシュに格納されているデータを利用してＥＰＤ１４０への描画処理を行うように、ＥＰＤコントローラ１０５へ要求する（ステップＳ１０７）。これに対し、ＥＰＤコントローラ１０５は、前処理キャッシュに格納されている書換制御情報選択ＩＤに対応する書換制御情報をメインメモリ１２０上から読み出すとともに、同キャッシュに格納されている前処理済書換データを読み出して、ＥＰＤ１４０への描画処理を実行する（ステップＳ１０８）。その後、ＥＰＤ書換制御部１１０は、書換処理が終了するまで待機する（ステップＳ１０９；ＮＯ）。割り込みなどで書換処理の終了が通知されると（ステップＳ１０９；ＹＥＳ）、ＥＰＤ書換制御部１１０の電源管理部１１５は、電源制御装置１５０Ａを利用して、メインメモリ１２０の電源をオフにする（ステップＳ１１０）。これにより、消費電力が削減される。その後、ＥＰＤ書換制御部１１０は、本動作を終了する。
【００４５】
以上のように、前処理結果を前処理キャッシュとして保持しておくことで、メインメモリ１２０へのメモリアクセスを大幅に削減することができる。その結果、消費電力および処理時間を大幅に削減することが可能となる。
【００４６】
なお、実施形態１では、前処理結果の１つである書換制御情報選択ＩＤを前処理キャッシュに格納していたが、書換制御情報選択ＩＤに代えて書換制御情報そのものを前処理キャッシュに格納してもよい。その場合、書換制御情報選択ＩＤから書換制御情報を読み出す処理が、前処理結果をキャッシュエントリに格納する処理（ステップＳ１０６）の前に入る。これは、以降の実施形態についても同様である。
【００４７】
実施形態１では、メインメモリ１２０が不揮発メモリである例を示したが、これに限らず、メインメモリ１２０が揮発性のＤＲＡＭなどのメモリであってもよい。その場合、ＥＰＤ１４０への描画処理などの処理を行っていないアイドル時には、消費電力の削減を図りつつ前処理キャッシュ上のデータも保持できるように、ＤＲＡＭのセルフリフレッシュモードなど、データを保持しつつ消費電力を削減できる省電力モードを利用するように、ＤＲＡＭコントローラを設定してもよい。これは、以降の実施形態についても同様である。
【００４８】
ＥＰＤ１４０への描画処理終了後のアイドル時には、ＥＰＤ１４０への電力供給停止を電源制御装置１５０Ｂに指示するとともに、電源制御装置１５０Ｂ自体も低消費電力モードとなるように設定してもよい。また、ＥＰＤコントローラ１０５などのＳｏＣ１００内モジュールのパワーゲーティングを行ったり、クロック供給を停止したりしてもよい。これは、以降の実施形態についても同様である。なお、前処理用アクセラレータ１０２を備えない構成であっても、本構成を適用することができる。
【００４９】
実施形態１では、前処理用アクセラレータ１０２が前処理を行ったが、これに限らず、ＣＰＵ１０１やＥＰＤコントローラ１０５が行ってもよいし、これらが処理を分担して実行してもよい。これは、以降の実施形態についても同様である。
【００５０】
前処理キャッシュのエントリを格納する処理は、上記の方法に限定されるものではなく、前処理用アクセラレータ１０２がすべてを行ってもよいし、ＣＰＵ１０１や前処理用アクセラレータ１０２が分担して行ってもよい。これは、以降の実施形態についても同様である。
【００５１】
また、実施形態１では、ＥＰＤコントローラ１０５がＳｏＣ１００に内蔵されていたが、これに限らず、ＳｏＣ１００に対して外付けのＥＰＤコントローラを用いてもよい。
【００５２】
図４は、前処理キャッシュのキャッシュエントリの構成の一例を示したものであり、この構成に限定されるものではない。ＥＰＤ１４０の表示領域を部分的に書換られるという構成上、前処理キャッシュデータ部にキャッシュされる前処理済書換データのサイズはエントリ毎に異なるケースが存在する。
【００５３】
具体的に、書換データには、例えば電子書籍アプリケーションの１ページ分のデータのようなデータサイズが大きいものから、現在表示されているページのページ番号を表すデータや、アプリケーションが情報処理装置１のユーザにタッチパネルでポインティングさせるためにＥＰＤ１４０に表示するソフトウエアのボタンや、メニューやリストなどのユーザインタフェースにおけるそれぞれの選択項目の画像データなど、データサイズが小さいものまである。そのため、図４の各エントリにおける前処理済書換データを格納する領域には、前処理済書換データの代わりに、Ｃ言語などのポインタや別領域へのアドレス情報などが格納されてもよい。その場合、実際に前処理済書換データを格納する領域は、ポインタやアドレス情報が指し示す別の領域となる。なお、部分的に書き換えられるＥＰＤ１４０の特性を活かして、前処理キャッシュは画面全体の前処理済書換データを保持する必要はなく、書換対象となる部分的な前処理済書換データを保持していればそれだけで画面を書き換えることができる。この点は、ＥＰＤ用前処理キャッシュの重要な特徴の一つである。これは、以降の実施形態でも同様である。
【００５４】
実施形態１では、ユーザインタフェースとしてＥＰＤ１４０に表示するボタンのようなデータサイズの小さい画像の書換ついても前処理でキャッシュする。この構成によれば、ＥＰＤ１４０やＥＰＤコントローラ１０５の特性などにより、書換データのデータサイズ（以下、書換サイズという）によって書換時間（ＥＰＤコントローラ１０５が実際の書換処理を開始してからＥＰＤコントローラ１０５が処理を終えるまでの時間）が大きく変化しない場合もあるため、書換終了後に情報処理装置１を消費電力が低い待機状態に遷移して消費電力を削減する場合においては、書き換えサイズが小さくて一見効果は小さそうでも書換サイズが大きい場合と同等の省電力効果を得ることができる。このため、データサイズの小さい書き換えについても前処理キャッシュでキャッシュすることが極めて重要である。また、ボタンあるいはソフトウエアキーボードの各キーなどは、応答性のユーザへ与える影響が大きく、ユーザへ与える利便性を向上することが可能となる。
【００５５】
実施形態１では、一度前処理を行った書換データに関して、その前処理結果を前処理キャッシュに保持したが、これに限るものではない。たとえば、情報処理装置１を起動した際のホーム画面、メニューやリスト、ソフトウエアキーボードの各キーボタンの画像、１つ以上のアプリケーションで共用できるソフトウエア部品など、比較的頻繁に利用することが予め分かっている書換データについては、予め前処理を実行しておき、その前処理結果を事前に情報処理装置１に格納しておいてもよい。なお、事前とは、出荷時やインストール時やソフトウエアアップデート時などであってよい。事前に格納された前処理結果は、情報処理装置１の起動時やコールドブート時やアプリケーションの起動時などに前処理キャッシュに格納される。これにより、特定の書換データに関しては、一番最初に書換処理を行う際の消費電力を削減することが可能となる。これは、以降の実施形態についても同様である。
【００５６】
実施形態１では、電源制御装置１５０Ａはメインメモリ１２０とＳｏＣ１００とに給電し、電源制御装置１５０ＢはＥＰＤ１４０に給電しているが、これに限るものではない。例えば、電源制御装置１５０Ａがメインメモリ１２０とＳｏＣ１００とＥＰＤ１４０とに給電してもよい。これは、以降の実施形態についても同じである。
【００５７】
実施形態１では、前処理における加工処理には、ＰＤＦデータやウェブブラウザにおけるレンダリング処理など、ＧＰＵなどのアクセラレータやＣＰＵ１０１などで書換データ自体を作成する処理が含まれていてもよい。これは、以降の実施形態についても同じである。
【００５８】
（実施形態２）
つぎに、実施形態２にかかる情報処理装置、表示制御装置、半導体チップ、表示装置の制御方法およびそのプログラムについて、図面を参照して詳細に説明する。なお、以下の説明において、上述した実施形態と同様の構成については、同一の符号を付し、その重複する説明を省略する。
【００５９】
図６は、実施形態２にかかる情報処理装置の概略構成を示すブロック図である。図６に示すように、情報処理装置２は、ＳｏＣ２００、メインメモリ１２０、ＥＰＤ１４０、ＥＰＤコントローラ２１０、ＥＰＤ専用メモリ２２０、電源制御装置１５０Ａ、電源制御装置１５０Ｂおよび入力デバイス１３０から構成される。このように、情報処理装置２は、実施形態１にかかる情報処理装置１と同様の構成において、ＥＰＤコントローラ２１０がＳｏＣ２００に対して外付けされ、ＥＰＤコントローラ２１０に書換処理用のデータを格納するＥＰＤ専用メモリ２２０が設けられた構成を備える。
【００６０】
電源制御装置１５０Ｂは、ＥＰＤ１４０に加え、ＥＰＤコントローラ２１０とＥＰＤ専用メモリ２２０と電力を供給する。ＥＰＤコントローラ２１０などへの電源供給は、メインメモリ１２０やＳｏＣ２００などへの給電を行う電源制御装置１５０Ａが行うようにしてもよい。
【００６１】
メインメモリ１２０は、実施形態１と同様に、ＭＲＡＭなどの不揮発メモリである。メインメモリ１２０上には、ＥＰＤ１４０に表示するための書換データが載っている。この書換データは、書換処理を実行するにあたってその前にＥＰＤ専用メモリ２２０へデータ転送される。
【００６２】
ＥＰＤ専用メモリ２２０は、ＭＲＡＭなどの不揮発メモリであってよい。このＥＰＤ専用メモリ２２０は、ＥＰＤコントローラ２１０がワーキングメモリとして利用することができる。
【００６３】
ＳｏＣ２００は、バス１０７、ＣＰＵ１０１、メモリコントローラ１０３、無線ＬＡＮコントローラ１０６などから構成される。また、ＳｏＣ２００は、実施形態１のように前処理用アクセラレータ１０２を備えてもよい。
【００６４】
実施形態２では、実施形態１と異なり、ＥＰＤコントローラ２１０が前処理と描画処理とを実行する。すなわち、実施形態２では、ＥＰＤコントローラ２１０がＥＰＤ書換制御部を実現する。ＥＰＤコントローラ２１０は、不揮発性のＭＲＡＭなどの内部メモリ２１１を備えている。内部メモリ２１１には、前処理済書換データと書換制御情報選択ＩＤとのペアから構成される前処理キャッシュが格納されている。また、書換制御情報が内部メモリ２１１上に置かれていてもよい。
【００６５】
実施形態２にかかるＥＰＤ書換制御部の基本的な構成は、実施形態１にかかるＥＰＤ書換制御部１１０（図２参照）と同様である。図７にＥＰＤコントローラ２１０におけるＥＰＤ書換制御部１１０の一例を示す。ＥＰＤ書換制御部１１０は、情報処理装置２上で動作するアプリケーションやミドルウエアやＯＳなどからＥＰＤ１４０の一部の領域あるいは全体を書き換える書換要求を受信すると、同じ書換データで同じ書換制御情報を利用した書換処理の前処理の結果がＥＰＤコントローラ２１０の内部メモリ２１１上に構成される前処理キャッシュにキャッシュヒットするか否か確認し、キャッシュヒットしている場合は前処理キャッシュ上のデータを再利用することでＥＰＤ１４０の書換処理をＥＰＤ描画部２１３に指示して行う。これにより、前処理に要する消費電力と処理時間とを削減することが可能となる。また、前処理を省略することで、ＥＰＤ専用メモリ２２０の電源をオフにしたままにできるため、その分の省電力効果も得ることが可能になる。なお、ＥＰＤコントローラ２１０の内部メモリ２１１上に保持される前処理キャッシュの構成は実施形態１で例示した前処理キャッシュ（図４参照）と同様である。
【００６６】
図８は、実施形態２にかかる書換処理の一例を示すフローチャートである。図８に示す動作は、アプリケーションやミドルウエアやＯＳなどから、メインメモリ１２０上の書換データでＥＰＤ１４０を書換えるようにＥＰＤコントローラ２１０のデバイスドライバへ書換要求が発行されると、積極的な省電力化のためにＥＰＤコントローラ２１０とＥＰＤ専用メモリ２２０とメインメモリ１２０とへの電力供給が停止していた場合には、ＥＰＤコントローラ２１０のデバイスドライバなどによって電源制御装置１５０Ｂおよび１５０ＡにＥＰＤコントローラ２１０とＥＰＤ専用メモリ２２０とメインメモリ１２０とへの電力供給の再開を指示し、さらにメインメモリ１２０からＥＰＤ専用メモリ２２０へ書き換えデータを転送した後にＥＰＤコントローラ２１０のデバイスドライバの指示により開始される。すでにデータがＥＰＤ専用メモリ２２０に存在する場合はデータ転送は必要なく、メインメモリ１２０への電力供給は必要なく、ＥＰＤ専用メモリ２２０への電力供給もこの時点では必要ない。ＥＰＤ専用メモリ２２０へ転送された後でメインメモリ１２０への電源供給の停止を電源制御装置１５０Ａに指示してもよい。なお、ＥＰＤコントローラ２１０上の内部メモリ２１１は、ＭＲＡＭなどの不揮発メモリなので、内部メモリ２１１上に構成されている前処理キャッシュの内容は保持されている。
【００６７】
図８に示すように、書換処理では、書換要求を受信してＥＰＤコントローラ２１０への電力供給が再開されると、ＥＰＤ書換制御部１１０のキャッシュ判定部１１２が書換要求に付加されている書換データＩＤと書換方法タグとのペアに一致するものが前処理キャッシュに存在するか否かをチェック（キャッシュ判定）し（ステップＳ２０１）、キャッシュヒットした場合（ステップＳ２０１；ＹＥＳ）、ステップＳ２１０へ進む。一方、キャッシュヒットしない場合（ステップＳ２０１；ＮＯ）、ＥＰＤ書換制御部１１０の電源管理部１１５が、積極的な省電力化のためにＥＰＤ専用メモリ２２０の電源がオフになっているか否かを確認し（ステップＳ２０２）、オフになっている場合（ステップＳ２０２；ＹＥＳ）、電源制御装置１５０Ｂを利用してＥＰＤ専用メモリ２２０の電源をオンにして（ステップＳ２０３）、ステップＳ２０６へ進む。これにより、ＥＰＤ専用メモリ２２０へのアクセスが可能な状態になる。一方、ＥＰＤ専用メモリ２２０の電源がオンである場合（ステップＳ２０２；ＮＯ）、ＥＰＤ書換制御部１１０はそのままステップＳ２０６へ進む。
【００６８】
ステップＳ２０６では、ＥＰＤ書換制御部１１０のキャッシュ管理部１１１は、前処理結果を格納するキャッシュエントリを決定する（ステップＳ２０６）。この際、キャッシュエントリが一杯な場合は、ＬＲＵなどの置き換えるべきキャッシュエントリを判定するアルゴリズムを用いてキャッシュエントリを決定する。つづいて、ＥＰＤ書換制御部１１０の前処理部１１３のデータ変換処理部１１３ａと選択処理部１１３ｂとが前処理を実行し（ステップＳ２０７）、この前処理の結果である前処理済書換データを、決定されたキャッシュエントリに書きこむ（ステップＳ２０８）。また、キャッシュ管理部１１１が、前処理の他の結果である書換制御情報選択ＩＤを同キャッシュエントリに格納する（ステップＳ２０８）。その際、キャッシュ管理部１１１は、タグ部の書換データＩＤと書換方法タグとＶＡＬＩＤビット（ＶＡＬＩＤ）との情報も併せて同キャッシュエントリに格納する（ステップＳ２０８）。なお、前処理アクセラレータ１０２を設けた場合には、前処理部１１３が前処理アクセラレータ１０２へ前処理の指示を発行し、前処理アクセラレータ１０２において前処理が実行されてもよい。
【００６９】
つぎに、ＥＰＤ書換制御部１１０の電源管理部１１５が、使い終わったＥＰＤ専用メモリ２２０の電源をオフにし（ステップＳ２０９）、ステップＳ２１０へ進む。
【００７０】
ステップＳ２１０では、ＥＰＤ書換制御部１１０の書換処理部１１４が、前処理キャッシュに格納されているデータを利用してＥＰＤ１４０への描画処理を行う（ステップＳ２１０）。その後、ＥＰＤ書換制御部１１０は、書換処理が終了するまで待機する（ステップＳ２１１；ＮＯ）。割り込みなどで書換処理の終了が通知されると（ステップＳ２１１；ＹＥＳ）、ＥＰＤ書換制御部１１０の電源管理部１１５は、電源制御装置１５０Ｂを利用して、ＥＰＤ１４０およびＥＰＤコントローラ２１０の電源をオフにする（ステップＳ２１２）。これにより、消費電力が削減される。内部メモリ２１１は不揮発メモリであるため、ＥＰＤコントローラ２１０の電源をオフにしても、内部メモリ２１１にキャッシュされているデータは保持される。また、ＥＰＤ１４０は不揮発性のディスプレイであるため、ＥＰＤ１４０に描画された画像は保持され続ける。その後、ＥＰＤ書換制御部１１０は、本動作を終了する。
【００７１】
以上のように、前処理結果を前処理キャッシュとして保持しておくことで、ＥＰＤ専用メモリ２２０へのメモリアクセスを大幅に削減することができる。その結果、消費電力および処理時間を大幅に削減することが可能となる。
【００７２】
なお、本実施形態２では、ＥＰＤコントローラ２１０の内部メモリ２１１に前処理キャッシュを保持していたが、ＥＰＤ専用メモリ２２０に保持してもよいし、内部メモリ２１１とＥＰＤ専用メモリ２２０との両方に保持してもよい。その際、内部メモリ２１１には、頻繁に利用される前処理キャッシュが格納されてもよい。また、実施形態２では、書換制御情報の全体を内部メモリ２１１に保持していたが、書換制御情報の全てあるいは一部をＥＰＤ専用メモリ２２０に保持してもよい。その際、内部メモリ２１１には、頻繁に利用される書換制御情報が格納されてもよい。これらは、以降の実施形態についても同様である。
【００７３】
実施形態２では、メインメモリ１２０に加え、ＥＰＤ専用メモリ２２０やＥＰＤコントローラ２１０の内部メモリ２１１が不揮発メモリである例を示したが、これに限らず、ＥＰＤ専用メモリ２２０やＥＰＤコントローラ２１０の内部メモリ２１１が揮発性のメモリであってもよい。その場合、ＥＰＤ１４０への描画処理などの処理を行っていないアイドル時には、消費電力の削減を図りつつ前処理キャッシュ上のデータも保持できるように、ＤＲＡＭのセルフリフレッシュモードのようなデータを保持しつつ消費電力を削減できる省電力モードを利用したり、ＥＰＤコントローラ２１０の内部メモリ２１１だけに電力を供給するようにすればよい。これは、以降の実施形態についても同様である。
【００７４】
また、上述したように、ＳｏＣ２００に対してＥＰＤコントローラ２１０を外付けした構成に限らず、実施形態１のＳｏＣ１００のＥＰＤコントローラ１０５が、実施形態２のＥＰＤコントローラ２１０と同様の動作をするようにも構成することができる。その場合、ＥＰＤコントローラ１０５が内部メモリ２１１を備えてもよいし、内部メモリ２１１の代わりに内部メモリ１０４を使用してもよい。
【００７５】
また、前処理キャッシュデータ部の前処理済書換データは、例で示したように、ＥＰＤ１４０がディスプレイを部分的に更新できるという性質上キャッシュされるデータのサイズはエントリ毎に異なる場合も多い。そのため、図４の各キャッシュエントリの前処理済書換データを格納する領域は、実際にデータを格納する別の領域へのアドレス情報が入っている構成でもよい。これも以降の実施例についても同様である。
【００７６】
（実施形態３）
つぎに、実施形態３にかかる情報処理装置、表示制御装置、半導体チップ、表示装置の制御方法およびそのプログラムについて、図面を参照して詳細に説明する。なお、以下の説明において、上述した実施形態と同様の構成については、同一の符号を付し、その重複する説明を省略する。
【００７７】
実施形態３にかかる情報処理装置は、たとえば実施形態１にかかる情報処理装置１（図１参照）と同様の構成であってよい。ただし、実施形態３では、前処理キャッシュをＳｏＣ１００が備える不揮発性の内部メモリ１０４に構成する。前処理キャッシュをＳｏＣ１００の内部メモリ１０４に配置することにより、キャッシュヒットする場合は不揮発メモリを利用するメインメモリ１２０にアクセスする必要がなくなるため、メインメモリ１２０の電源をオフにしたままＥＰＤ１４０を書き換えることが可能になる。その結果、メインメモリ１２０の電源オフ時間を長くすることができ、さらなる省電力化を図ることが可能になる。また、ＳｏＣ１００の内部メモリ１０４はオンチップであるため、メインメモリ１２０より高速にアクセスできる。それにより、書換処理の処理時間を短縮することができ、その結果、さらなる消費電力と処理時間との削減が可能となる。
【００７８】
実施形態３にかかるＳｏＣ１００は、消費電力が低い待機状態で、タッチパネルやキーボードや情報処理装置２に付いている特定の処理に特化したボタンやキーなどの入力デバイス１３０からの割り込みを受信することができる。
【００７９】
内部メモリ１０４は、ＭＲＡＭなどの不揮発性のメモリである。実施形態３では、内部メモリ１０４に、前処理済書換データと書換制御情報選択ＩＤとのペアから構成される前処理キャッシュが格納される。前処理キャッシュの基本的な構成は、図４に示す前処理キャッシュと同様であってよい。また、書換制御情報も、内部メモリ１０４上に置かれる。さらに、割り込みベクタテーブルと割り込みベクタテーブルに格納される書換処理をＥＰＤコントローラ２１０のデバイスドライバなどに書換要求するＥＰＤ書換用割り込みハンドラなども内部メモリ１０４上に配置される。メインメモリ１２０上には、実施形態１と同様に、ＥＰＤ１４０に表示する書換データが載っている。
【００８０】
実施形態３にかかるＥＰＤ書換制御部の基本的な構成は、図２に示す実施形態１にかかるＥＰＤ書換制御部１１０と同様である。キャッシュ判定部１１２は、ＥＰＤ書換用割り込みハンドラの処理で内部メモリ１０４上に配置されている。前処理部１１３、書換処理部１１４、キャッシュ管理部１１１および電源管理部１１５は、ＥＰＤコントローラ２１０のデバイスドライバの処理の一部であり、内部メモリ１０４上に配置されている。なお、これらの構成のうち、一部はメインメモリ１２０上に配置されてもよい。
【００８１】
図９は、実施形態３にかかる情報処理装置の概略構成を示すブロック図である。図９に示すように、情報処理装置３には、たとえばＢＡＣＫキー３０１と、ＳＥＬＥＣＴキー３０２と、ＮＥＸＴキー３０３とが設けられる。情報処理装置３のＥＰＤ１４０には、選択項目が３つあるメニュー３４０がソフトウエアで表示されている。実施形態３において、書換処理は、情報処理装置３のユーザがキーボードのキーや特定の処理に特化したキーを入力することによりＳｏＣ１００へ割り込みが発生し、これにより内部メモリ１０４上のＥＰＤ用割り込みハンドラが起動すると開始される。なお、前提として、ＥＰＤ書換用割り込みハンドラは、例えば特定のキーに対応付けられている。たとえば、ＥＰＤ書換用割り込みハンドラは、アプリケーションがＥＰＤ１４０上に表示するメニュー３４０の前後の選択項目のフォーカスを移動させたり電子書籍アプリケーションの前後のページを表示させたりするためのＮＥＸＴキー３０３およびＢＡＣＫキー３０１のそれぞれに割り当てられる。ＮＥＸＴキー３０３は、アプリケーションやミドルウエアやＯＳなどで予約されている特定の書換データＩＤ＝１０００番が対応づけられている。なお、メニューの選択項目が３つあるため、ＮＥＸＴキー３０３に割り当てられたＥＰＤ書換用割り込みハンドラは、‘０’から‘２’までの値を取り得る状態変数を持っているものとする。その場合、１０００番から１００２番までの書換データＩＤが予約されている。
【００８２】
図１０は、実施形態３にかかる書換処理の一例を示すフローチャートである。図１０に示す動作は、前処理キャッシュ上のデータを再利用することで書換処理を省電力化および高速化することを可能にするものであり、次のような手順によって実行される。すなわち、キーボードのキーが入力されてＳｏＣ１００に対して割り込みが発生すると、対応するＥＰＤ書換用割り込みハンドラが起動する。ＥＰＤ書換用割り込みハンドラでは、キャッシュ判定部１１２が予めそれぞれのキーに対して設定されている特定の書換データＩＤ（例えば１０００番）と書換方法タグとをそのまま利用するか、あるいは、その書換データＩＤと状態変数とをベースに計算を行い、その結果を利用する。状態変数とは、例えばメニューのどの選択項目にフォーカスがあたっているか否かを示すもの（例えば３つ目なら２で、１０００＋２＝１００２番）である。また、計算とは、特定の書換データＩＤを例えばＢＡＣＫキーの割り込の際にはディクリメントする（例えば１００２−１＝１００１番）ことで、前の選択項目へフォーカスを移すための処理のことである。
【００８３】
図１０に示す動作では、ＥＰＤ書換制御部１１０のキャッシュ判定部１１２が、得られた書換データＩＤ（＝１００１番）と書換方法タグとのペアと一致するものが前処理キャッシュに存在するか否かをチェック（キャッシュ判定）し（ステップＳ３０１）、キャッシュヒットした場合（ステップＳ３０１；ＹＥＳ）、ステップＳ３１０へ進む。一方、キャッシュヒットしない場合（ステップＳ３０１；ＮＯ）、キャッシュ判定部１１２は、アプリケーションなどへキー入力イベントを通知する（ステップＳ３０２）。その後、ＥＰＤ書換制御部１１０は、キー入力イベントに対応する処理がアプリケーションで行われて、アプリケーションから書換要求を受信するまで待機する（ステップＳ３０３；ＮＯ）。
【００８４】
アプリケーションから受信する書換要求には、予約されている書換データＩＤ（１０００番から１００２番）が付加されている。そのため、キャッシュ判定部１１２は、キャッシュ判定をするまでもなく、キャッシュミスだと判定することができる。したがって、アプリケーションから書換要求を受信すると（ステップＳ３０３；ＹＥＳ）、ＥＰＤ書換制御部１１０のキャッシュ管理部１１１は、前処理結果を格納するキャッシュエントリを決定する（ステップＳ３０４）。この際、キャッシュエントリが一杯な場合は、ＬＲＵなどの置き換えるべきキャッシュエントリを判定するアルゴリズムを用いてキャッシュエントリを決定する。
【００８５】
つぎに、ＥＰＤ書換制御部１１０の電源管理部１１５が、積極的な省電力化のためにメインメモリ１２０の電源がオフになっているか否かを確認し（ステップＳ３０５）、オフになっている場合（ステップＳ３０５；ＹＥＳ）、電源制御装置１５０Ａを利用してメインメモリ１２０の電源をオンにして（ステップＳ３０６）、ステップＳ３０７へ進む。これにより、メインメモリ１２０へのアクセスが可能な状態になる。メインメモリ１２０は、ＭＲＡＭなどの不揮発メモリなので、メインメモリ１２０上に構成されている前処理キャッシュの内容は保持されている。一方、メインメモリ１２０の電源がオンである場合（ステップＳ３０５；ＮＯ）、ＥＰＤ書換制御部１１０はそのままステップＳ３０７へ進む。
【００８６】
ステップＳ３０７では、キャッシュ判定の結果が前処理キャッシュにキャッシュヒットしなかったので、ＥＰＤ書換制御部１１０の前処理部１１３が、前処理用アクセラレータ１０２へ前処理を指示する（ステップＳ３０７）。
【００８７】
前処理用アクセラレータ１０２は、前処理部１１３からの指示に応じて、メインメモリ１２０上の書換データをもとに前述の加工処理と選択処理とを含む前処理を行う。その後、前処理用アクセラレータ１０２は、前処理の結果である処理済書換データを、決定されたキャッシュエントリに書き戻す（ステップＳ３０８）。また、キャッシュ管理部１１１が、前処理の他の結果である書換制御情報選択ＩＤと、タグ部の書換データＩＤと、書換方法タグと、ＶＡＬＩＤビット（ＶＡＬＩＤ）との情報も併せて、同キャッシュエントリに格納する（ステップＳ３０８）。つづいて、ＥＰＤ書換制御部１１０の電源管理部１１５が、電源制御装置１５０Ａを利用して、メインメモリ１２０の電源をオフにし（ステップＳ３０９）、ステップＳ３１０へ進む。
【００８８】
ステップＳ３１０では、ＥＰＤ書換制御部１１０の書換処理部１１４が、前処理キャッシュに格納されているデータを利用してＥＰＤ１４０への描画処理を行うように、ＥＰＤコントローラ１０５へ要求する（ステップＳ３１０）。これに対し、ＥＰＤコントローラ１０５は、前処理キャッシュに格納されている書換制御情報選択ＩＤに対応する書換制御情報を内部メモリ１０４上から読み出すとともに、同キャッシュに格納されている前処理済書換データを読み出して、ＥＰＤ１４０への描画処理を実行する（ステップＳ３１１）。その後、ＥＰＤ書換制御部１１０は、本動作を終了する。
【００８９】
なお、実施形態３は、特定の割り込みに対してＥＰＤ書換用割り込みハンドラのキャッシュ判定部１１２で判定している前提があるため、ステップＳ３０４で発行される予約された書換データＩＤでの書換要求については判定結果をキャッシュミスとして固定して判定処理を省略したが、書換要求が通知されてからＥＰＤコントローラ２１０のドライバに実装された他のキャッシュ判定部でもキャッシュ判定するように構成することで、特定の割り込み以外の割り込みについても、実施形態１と同様に、前処理を省略できる。その結果、更なる省電力化および高速化を図ることができる。
【００９０】
また、たとえばＳｏＣ１００より電力が低いマイクロコントローラなどの制御装置が入力デバイス１３０とＳｏＣ１００との間にあり、制御装置が電源制御装置１５０Ａとは別のところから電力供給されていて、且つ、制御装置からＳｏＣ１００と電源制御装置１５０Ａとを制御可能である場合、ステップＳ３１１の書換処理終了後のアイドル時に、制御装置がＳｏＣ１００への電力供給を停止し、電源制御装置１５０Ａ自体も電源オフにするハイバネーションを実行することで、積極的な省電力化をすることもできる。その場合、ＳｏＣ１００の内部メモリ１０４が不揮発メモリなので、制御装置が主導する復帰処理後も、前処理キャッシュの内容は保持される。そのため、復帰後も高速にＥＰＤ１４０の書換処理を実行することができる。また、ＳｏＣ１００の内部メモリ１０４がＳＲＡＭなどの揮発性のメモリの場合には、内部メモリ１０４上の前処理キャッシュを不揮発性のメインメモリ１２０に退避してハイバネーションを実行すればよい。あるいは、ＳＲＡＭなどの内部メモリ１０４のみ通電させておき、ＳｏＣ１００への電源供給を停止させてもよい。これらについては以降の実施形態についても同様である。
【００９１】
また、実施形態３では、割り込み対して特定のＥＰＤ書換割り込みハンドラや書換データＩＤと書換方法タグとが事前に設定されていたが、これらの対応関係は、アプリケーションの起動時などに動的に変更可能である。
【００９２】
実施形態３では、ＳｏＣ１００の内部メモリ１０４に前処理キャッシュをすべて持たせたが、全体を内部メモリ１０４上に持たせる必要はなく、一部をメインメモリ１２０上に配置してもよい。その場合、キャッシュエントリの使用頻度の高いものなどを優先的に内部メモリ１０４上に配置してメインメモリ１２０の電源をオンにする回数を抑制することで、消費電力と処理速度の最適化を図ることができる。
【００９３】
また、実施形態３では、書換制御情報の全体を内部メモリ１０４に保持していたが、一部はメインメモリ１２０に保持してもよい。その際、頻繁に利用する書換制御情報のキャッシュとして内部メモリ１０４を利用してもよい。
【００９４】
また、実施形態３では、ＥＰＤコントローラ２１０はＳｏＣ１００に内蔵されていたが、外付けのＥＰＤコントローラ２１０であってもよい。
【００９５】
また、メニュー画面のように、表示される内容が決定していて使用頻度が非常に高いものは、前処理の結果である書換制御情報選択ＩＤと前処理済書換データとを内部メモリ１０４上の前処理キャッシュに事前に格納しておいてもよい。この場合、図１０のステップＳ３０２〜Ｓ３０９の処理をスキップすることが可能となるため、高い省電力効果を得ることができる。なお、事前とは、アプリケーションの起動時や、情報処理装置３のコールドブート時や、出荷時などであってよい。
【００９６】
（実施形態４）
つぎに、実施形態４にかかる情報処理装置、表示制御装置、半導体チップ、表示装置の制御方法およびそのプログラムについて、図面を参照して詳細に説明する。なお、以下の説明において、上述した実施形態と同様の構成については、同一の符号を付し、その重複する説明を省略する。
【００９７】
実施形態４は、前処理キャッシュのタグ部をＥＰＤコントローラ２１０の内部メモリ１０４に構成する実施形態２の情報処理装置２（図６参照）と同様の構成において、ＳｏＣ２００より消費電力が低い制御装置を、キーボードやタッチパネルなどの１つ以上の入力デバイス１３０とＳｏＣ２００との間に配置させた構成を備える。制御装置は、電源制御装置１５０ＡおよびＳｏＣ２００とは別のところから電力供給されていて、制御装置からＳｏＣ２００と電源制御装置１５０Ａとを制御可能になっている。
【００９８】
制御装置は、キーボードなどによる割り込み処理の要求を受信すると、当該割り込みに対応する書換処理の前処理キャッシュが存在するか否かを判定し、キャッシュヒットした場合には、ＥＰＤコントローラ２１０に書換要求を直接送信し、キャッシュミスした場合には、ＳｏＣ２００へ割り込みを送信し、必要に応じてＳｏＣ２００から書換要求を発行させる。そのため、前処理キャッシュにキャッシュヒットする場合は、ＳｏＣ２００およびメインメモリ１２０の電源をオフにしたままの必要最低限の構成で書換処理を行うことが可能になり、それにより、消費電力を大幅に削減することができる。例えば、電子書籍アプリケーションのような場合、新たな電子書籍を開く場合はＳｏＣ２００やメインメモリ１２０を含んだ構成で動作し、電子書籍閲覧時の単純なページ送りを繰り返す時間の大半の部分をＳｏＣ２００やメインメモリ１２０を利用しない必要最低限の構成で動作させるようなことが可能である。
【００９９】
図１１は、実施形態４にかかる情報処理装置の概略構成を示すブロック図である。図１１に示すように、情報処理装置４は、ＳｏＣ２００、メインメモリ１２０、ＥＰＤ１４０、ＥＰＤ専用メモリ２２０、電源制御装置１５０Ａ、電源制御装置１５０Ｂ、電源制御装置４５０、マイクロコントローラ４００、および、１つ以上の入力デバイス１３０から構成される。
【０１００】
入力デバイス１３０は、キーボードやタッチパネルやネットワークなどである。これらの入力デバイス１３０による割り込み処理は、ＳｏＣ２００に直接送信されず、ＳｏＣ２００との間に配置されたマイクロコントローラ４００に送信される。
【０１０１】
マイクロコントローラ４００は、消費電力がＳｏＣ２００より低く、常に通電されている。マイクロコントローラ４００は、内部メモリ４０１を持っており、内部メモリ４０１内に前処理キャッシュのタグ部が保持されている。
【０１０２】
実施形態４では、実施形態２と同様に、ＥＰＤコントローラ２１０が前処理を実行する。ＥＰＤコントローラ２１０は、不揮発性のＭＲＡＭなどの内部メモリ２１１を持っている。内部メモリ２１１には、前処理済書換データと書換制御情報選択ＩＤとのペアから構成される前処理キャッシュも格納されている。前処理キャッシュのタグ部は、ＥＰＤコントローラ２１０の内部メモリ２１１にも格納される。ＥＰＤコントローラ２１０の内部メモリ２１１内に保持された前処理キャッシュのタグ部と、マイクロコントローラ４００の内部メモリ４０１に保持される前処理キャッシュのタグ部とは、一貫性が維持される。また、書換制御情報も、ＥＰＤコントローラ２１０の内部メモリ２１１上に置かれている。
【０１０３】
ＥＰＤ書換制御部の基本的な構成は、実施形態２と同様である。実施形態４でも、ＥＰＤ書換制御部１１０は、ＥＰＤコントローラ２１０の中の処理である。ただし、キャッシュ判定部１１２と同様のキャッシュ判定部が、マイクロコントローラ４００にも実装される。なお、ＳｏＣ２００の電源をオン／オフする電源管理部が、マイクロコントローラ４００に実装されてもよい。また、ＥＰＤコントローラ２１０の内部メモリ２１１上に保持される前処理キャッシュの構成は実施形態１で例示した前処理キャッシュ（図４参照）と同様である。
【０１０４】
図１２は、実施形態４にかかる書換処理の一例を示すフローチャートである。図１２に示す処理は、情報処理装置４のユーザがキーボードのキー入力などを行うことでマイクロコントローラ４００へ割り込みが発生すると開始される。キーボードの特定のキーには、実施形態３と同様に、予め特定の書換データＩＤと書換方法タグとのペアなどが割り当てられている。
【０１０５】
図１２に示すように、書換処理では、マイクロコントローラ４００上のキャッシュ判定部１１２が、マイクロコントローラ４００の内部メモリ４０１上にある前処理キャッシュのタグ部を利用し、割り込み時に通知された書換データＩＤと書換方法タグとのペアに一致するものが前処理キャッシュに存在するかチェック（キャッシュ判定）し（ステップＳ４０１）、キャッシュヒットした場合（ステップＳ４０１；ＹＥＳ）、ＥＰＤコントローラ２１０への電力供給を電源制御装置１５０Ｂに指示してＥＰＤコントローラ２１０を電源オンするとともに（ステップＳ４１４）、書換要求をＥＰＤコントローラ２１０へ送信し（ステップＳ４１５）、ステップＳ４１１へ進む。一方、キャッシュヒットしない場合（ステップＳ４０１；ＮＯ）、マイクロコントローラ４００上のキャッシュ判定部１１２は、ＳｏＣ２００へ割り込みを通知する。これにより、アプリケーションなどへキー入力イベントが通知され（ステップＳ４０２）、必要に応じてキー入力イベントに対応する処理がアプリケーションなどで実行される。その後、その結果として、ＥＰＤコントローラ２１０へ書換データＩＤと書換方法タグとのペアが付加された書換要求が発行される。なお、ＳｏＣ２００へ割り込みを通知する際、ＳｏＣ２００の電源がオフであれば、マイクロコントローラ４００の電源管理部１１５は、電源制御装置１５０Ａを利用してＳｏＣ２００の電源をオンにし、その後、割り込みを通知する。また、キー入力イベントに対応する処理の結果として書換要求がＥＰＤコントローラ２１０へ発行された後は、ＳｏＣ２００を消費電力が低い待機状態に遷移させてもよいし、マイクロコントローラ４００上の電源管理部１１５がＳｏＣ２００への電源供給を停止するように指示してもよい。
【０１０６】
つぎに、ＥＰＤコントローラ２１０の処理である電源管理部１１５が、積極的な省電力化のためにＥＰＤ専用メモリ２２０の電源がオフになっているか否かを確認し（ステップＳ４０４）、オフになっている場合（ステップＳ４０４；ＹＥＳ）、電源制御装置１５０Ｂを利用してＥＰＤ専用メモリ２２０の電源をオンにして（ステップＳ４０５）、ステップＳ４０６へ進む。これにより、ＥＰＤ専用メモリ２２０へのアクセスが可能な状態になる。一方、ＥＰＤ専用メモリ２２０の電源がオンである場合（ステップＳ４０４；ＮＯ）、ＥＰＤコントローラ２１０はそのままステップＳ４０６へ進む。
【０１０７】
つぎに、ＥＰＤコントローラ２１０の処理であるキャッシュ管理部１１１は、ＬＲＵなどの置き換えるべきキャッシュエントリを判定するアルゴリズムを用いてキャッシュエントリを決定する（ステップＳ４０６）。つづいて、ＥＰＤコントローラ２１０の処理である前処理部１１３がＥＰＤ専用メモリ２２０をワーキングメモリとして利用して前処理を実行し（ステップＳ４０７）、この前処理の結果を、決定されたキャッシュエントリに書きこむ（ステップＳ４０８）。
【０１０８】
つぎに、ＥＰＤコントローラ２１０の処理である電源管理部１１５が、電源制御装置１５０Ｂを利用してＥＰＤ専用メモリ２２０の電源をオフにする（ステップＳ４０９）。つぎに、ＥＰＤコントローラ２１０のキャッシュ管理部１１１が、前処理キャッシュのタグ部の情報をマイクロコントローラ４００へ送信し、マイクロコントローラ４００側で同期をとるためにタグ部を更新する処理を実行することで、マイクロコントローラ４００の内部メモリ４０１に保持されているタグ部とＥＰＤコントローラ２１０の内部メモリ２１１にあるタグ部とを整合させて（ステップＳ４１０）、ステップＳ４１１へ進む。これにより、マイクロコントローラ４００の内部メモリ４０１に保持されているタグ部とＥＰＤコントローラ２１０の内部メモリ２１１にあるタグ部との間で一貫性が保持される。なお、このステップＳ４１０に示す処理は、ＳｏＣ２００を介して実行されてもよい。また、キャッシュする書換処理を特定の複数の書換処理書換データＩＤと書換方法タグとのペアのものに限定し、予め情報処理装置４に設定しておいた場合には、ステップＳ４１０の処理を省略することが可能である。
【０１０９】
ステップＳ４１１では、ＥＰＤコントローラ２１０の処理である書換処理部１１４が、前処理キャッシュに格納されている書換制御情報選択ＩＤに対応する書換制御情報を内部メモリ２１１から読み出し、キャッシュに格納されている前処理済書換データを読み出して、ＥＰＤ１４０への描画処理を行う（ステップＳ４１１）。その後、ＥＰＤコントローラ２１０は、書換処理が終了するまで待機する（ステップＳ４１２；ＮＯ）。割り込みなどで書換処理の終了が通知されると（ステップＳ４１２；ＹＥＳ）、マイクロコントローラ４００上の電源管理部１１５は、電源制御装置１５０Ｂを利用して、ＥＰＤコントローラ２１０の電源をオフにする（ステップＳ４１３）。なお、この処理はＥＰＤコントローラ２１０の電源管理部が実行してもよい。これにより、ＥＰＤコントローラ２１０の消費電力も削減される。内部メモリ２１１は不揮発メモリであるため、ＥＰＤコントローラ２１０の電源をオフにしても、内部メモリ２１１にキャッシュされているデータは保持される。その後、ＥＰＤコントローラ２１０は、本動作を終了する。
【０１１０】
（実施形態５）
上述した実施形態１〜４をさらに効率よく実施する方法として、前処理キャッシュに対してプレロードを実行する方法がある。ここで、プレロードとは、今後実行される可能性が高い書換処理の書換データに対する前処理を先に実行しておき、その結果を前処理キャッシュに登録しておくことである。このように、今後実行される可能性が高い書換処理が判る場合には、実際の書換要求が発行される前に、対象の書換データについて予め前処理を実行し、その結果を前処理キャッシュへ格納しておくプレロードを行うことで、最初の書換要求に対しても前処理キャッシュ上のデータを利用することが可能となる。その結果、書換時間を短縮することが可能になるため、情報処理装置の応答性の向上を図ることができる。また、書換時間を短くすることで、ＳｏＣ２００やメモリなどの電源をオフにできる時間が増加するため、さらなる省電力化が可能になる。
【０１１１】
前処理キャッシュのプレロードは、実施形態１〜４のどの構成に対しても適用可能である。ここでは、ＳｏＣ２００の内部メモリ１０４をキャッシュに利用する実施形態３を前提に説明する。
【０１１２】
また、前処理キャッシュのプレロードは、例えば、前出のメニューやリストや電子書籍アプリケーションで、それぞれ次の選択項目や次のページの書き換えを行う場合など、様々な用途に適用可能である。ここでは、一例として、かな漢字変換アプリケーションの例を示す。
【０１１３】
図１３は、かな漢字変換アプリケーションにおけるプレロードの概要を説明するための図である。かな漢字変換アプリケーションは、たとえばユーザにより入力したい単語の読み（例えば「しょう」）が入力され、変換キーが押されると、辞書などと呼ばれる読みと漢字との対応表を利用して複数の漢字の候補（例えば、「小」「省」「少」）が表示される。その後、ユーザにより変換キーが押されることで、フォーカスが順番に次の候補へ切り替えられる。まず、図１３（ａ）に示すような、例えばカラーの元データが存在するとする。ユーザが変換キーを１回押すと、図１３（ｂ）に示す状態のように、漢字の候補「小」「省」「少」が３つ白黒でＥＰＤ１４０に表示される。具体的には左から順に、フォーカスがあたっている「小」が白抜き（背景が黒で文字が白）、フォーカスがあたっていない「省」と「少」とが黒抜きで表示される。次にユーザが変換キーを１回押すと、図１３（ｃ）に示すように、「省」にフォーカスが移り、「省」が白抜きで表示され、「小」と「少」とが黒抜きで表示される状態になる。さらに変換キーが１回押されると、図１３（ｄ）に示すように、「少」にフォーカスが移り、白抜きで表示され、「小」と「省」とが黒抜きで表示される状態になる。
【０１１４】
図１３（ｂ）の状態を表示するためには、「小」に対する白抜き用の前処理＜「小」，「Ｗ」＞と、「省」と「少」に対する黒抜き用の前処理＜「省」，「Ｂ」＞および＜「少」，「Ｂ」＞との合計３回の前処理が実行される。また、図１３（ｂ）の状態から図１３（ｃ）の状態を表示するためには、さらに「小」を黒抜きに変更するための＜「小」，「Ｂ」＞と、フォーカスを移すための＜「省」，「Ｗ」＞との合計２回の前処理が実行される。同様に、図１３（ｃ）の状態から図１３（ｄ）の状態を表示するためには、「省」と「少」との表示を書き換える必要があるが、「省」については＜「省」，「Ｂ」＞の前処理キャッシュを再利用できるので、必要な前処理は＜「少」，「Ｂ」＞、の１回となる。
【０１１５】
ユーザは、変換キーを押す度に高速にフォーカスが移動することを期待するが、押す度に前処理をしているとフォーカスの移動に時間がかかってしまうため、ユーザビリティを損う可能性がある。さらに、元データが配置されているメインメモリ１２０をその都度アクセスすることになるため、メインメモリ１２０の電源が頻繁にオンとオフとの切り替えを繰り返したり、電源をオフにすることができなくなってしまったりなど、不揮発メモリであることの利点を十分に活かせない可能性が生じる。
【０１１６】
そのため、一連の処理で使う＜「小」，「Ｗ」＞、＜「省」，「Ｗ」＞、＜「少」，「Ｗ」＞、＜「小」，「Ｂ」＞、＜「省」，「Ｂ」＞および＜「少」，「Ｂ」＞の合計６つの前処理を予め一括して実行し、ＳｏＣ２００の内部メモリ１０４に構成される前処理キャッシュに格納しておくことで、フォーカスの移動を高速にすることができる。さらに、メインメモリ１２０を電源オンにするのが一回で済むので、消費電力を削減することもできる。ただし、６つの前処理を一括して行う処理時間がユーザビリティに影響する場合には、１回のＥＰＤ１４０の描画処理の処理時間が比較的長いという特性をうまく利用して、前処理の一部または全部の処理時間を描画処理に隠蔽してもよい。
【０１１７】
図１４は、かな漢字変換アプリケーションで前処理キャッシュへプレロードする際のアプリケーションの処理フローの一例を示すフローチャートである。図１４に示す方法では、上記の６つの前処理を一括では実行していない。まず、キーボードなどの変換キーがユーザによって押されると、図１３（ｂ）の状態を表示するのに最低限必要な＜「小」，「Ｗ」＞、＜「省」，「Ｂ」＞および＜「少」，「Ｂ」＞の３つの書換要求をＥＰＤ書換制御部１１０に対して発行する（ステップＳ５０１〜Ｓ５０３）。それに対し、ＥＰＤコントローラ２１０は、これら３つの書換要求に対する前処理と描画処理とを３つ並列に実行する。この際、ＥＰＤ書換制御部１１０は、ＳｏＣ２００の内部メモリ１０４の前処理キャッシュにキャッシュする処理を実行する。ＥＰＤ１４０の描画処理が実行されている間に、かな漢字変換アプリケーションでは、図１３（ｃ）の状態と図１３（ｄ）の状態とを表示するために必要な残りの３つの前処理を行うように、ＥＰＤ書換制御部１１０に対して指示する（ステップＳ５０４）。これにより、前処理キャッシュに６つすべての前処理の結果が格納されることになる。ただし、ステップＳ５０４では、３つの前処理結果に基づく描画処理は行われない。その後、再度、変換キーがユーザによって押されると、図１３（ｃ）の状態や図１３（ｄ）の状態を表示するために必要な書換処理が、前処理キャッシュのデータを利用して行われる。その際、メインメモリ１２０へのアクセスや前処理が発生しないため、消費電力を抑えることができ、フォーカスも高速に切り替えることができる。
【０１１８】
図１５は、図１４に示す処理フローを実行した際の前処理と描画処理とのタイミングチャートの例を示す。図１５（ａ）は、＜「小」，「Ｗ」＞、＜「省」，「Ｗ」＞、＜「少」，「Ｗ」＞、＜「小」，「Ｂ」＞、＜「省」，「Ｂ」＞および＜「少」，「Ｂ」＞の合計６つの前処理のタイミングチャートであり、図１５（ｂ）は、図１３（ｂ）の状態を表示するための＜「小」，「Ｗ」＞、＜「省」，「Ｗ」＞および＜「少」，「Ｗ」＞の３つの描画処理のタイミングチャートである。
【０１１９】
図１５から分かるように、図１３（ｂ）の状態を表示するための３つの前処理（Ｓ１）が実行された後、これらの前処理（Ｓ１）の結果を利用した３つの描画処理（Ｓ１１）が並列に実行される裏で、図１３（ｃ）の状態や図１３（ｄ）の状態に必要な前処理（Ｓ２およびＳ３）が実行される。その結果、＜「小」，「Ｂ」＞、＜「省」，「Ｂ」＞および＜「少」，「Ｂ」＞に関する前処理（Ｓ２およびＳ３）の処理時間が描画処理（Ｓ１１）で隠蔽されるため、図１３（ｂ）の状態を表示する時間に影響を与えずに、プレロード用の前処理（Ｓ２およびＳ３）を実行することができる。
【０１２０】
ただし、プレロードしたデータを利用しない場合には、ブレロード用の前処理に要した電力は無駄になるため、かな漢字変換アプリケーションに候補の利用に関する履歴情報を保持させ、この履歴情報に基づいてどのタイミングでどこまでプレロードするとよいか決定してもよい。また、描画処理の時間と前処理のプレロードの時間を考慮して、いくつの候補のプレロードまでが描画時間に隠蔽されるかを計算してもよい。
【０１２１】
また、情報処理装置が備える太陽電池で発電した余剰電力や蓄電部の残量に応じて、プレロードの積極性を制御してもよい。例えば、太陽電池で発電した余剰電力が多い場合や蓄電部の残量が多い場合には、積極的により多くのプレロードを行って情報処理装置の応答性を高め、太陽電池で発電した余剰電力が少ない場合や蓄電部の残量が少ない場合には、プレロードの回数を抑えるように構成することもできる。
【０１２２】
（実施形態６）
実施形態１〜４の前処理キャッシュを利用するＥＰＤ書換制御部１１０と、実施形態５の前処理キャッシュのプレロードとを組み合わせてもよい。その場合、不揮発メモリへＳｏＣ２００の状態などを退避しておくことで、ＳｏＣ２００やメモリやディスプレイの電源をオフにするハイバネーションを実行した際の消費電力が低い待機状態からの復帰処理を高速化することができる。
【０１２３】
図１６は、前処理キャッシュを行わない場合と行う場合とのハイバネーション時の動作例を示すタイミングチャートである。図１６（ａ）は、ＥＰＤをディスプレイとして使う情報処理装置で前処理キャッシュを行わない場合のタイミングチャートを示し、図１６（ｂ）は、ＥＰＤをディスプレイとして使う情報処理装置で前処理キャッシュを行う場合のタイミングチャートを示す。
【０１２４】
ＬＣＤなどをディスプレイとして使う情報処理装置では、ハイバネーションのサスペンド処理がなされた待機状態ではＬＣＤの電源はオフになっており、ディスプレイには何も表示されていない。そのため、ユーザにとっての待機状態からの復帰処理は、キーボードの特定のキー入力や電源ボタンの入力などで開始され、サスペンド処理に入る直前の画面がディスプレイに表示されることで完了する（図１６（ａ）ではＳ９２〜Ｓ９３）。ユーザにとっての応答性は、このサスペンド処理に入る直前の画面が表示されるまでの時間であると言える。
【０１２５】
一方で、ＥＰＤ１４０をディスプレイとして備える情報処理装置の場合は異なる。サスペンドされた待機状態でも、不揮発性のディスプレイであるＥＰＤ１４０には常にサスペンド直前の画面が表示されている。そのため、ユーザは特定のキー入力などでサスペンドされた待機状態から復帰するのではなく、待機状態の現在表示されている画面の内容に対するタッチパネルやキーボード入力で復帰が開始され、待機状態時に表示されていた画面の内容に対する処理が実行された後、その結果がＥＰＤ１４０に表示されるまで（Ｓ９２〜Ｓ９５）の時間（ＥＰＤ１４０の表示が変化するまでの時間）がユーザにとっての応答時間となる。したがって、ＥＰＤ１４０をディスプレイに用いた情報処理装置では、待機状態時に表示されていた画面の内容に対する処理の結果がＥＰＤ１４０に表示されるまでの時間を短縮しないと応答性が向上したとはいえない。
【０１２６】
また、ユーザが情報処理装置の操作を終えてからサスペンド処理を開始するまでの時間がユーザにとっての応答性に与える影響は軽微である。そのため、Ｓ１１に示すようにサスペンド処理を開始する前に、復帰後に予測される書換処理の前処理を行い、その結果を前処理キャッシュへプレロードしておいてもよい。その場合、復帰時に前処理キャッシュを利用することができるため、応答性を向上させることができる。ただし、ユーザにとっての復帰処理完了となる書換処理の選択肢が多い場合、それら全てに関してプレロードしておくことは、プレロードに要するコストが大きくなってしまう。そこで、例えば選択肢の数に基づいてプレロードを実行すべきか否かを判定してもよい。あるいは、復帰処理中であることを示す特定の画像データを決めておき、その画像データの前処理結果を前処理キャッシュに常に格納しておき、復帰処理が開始されるとまずこれをＥＰＤ１４０の特定の場所に表示してユーザに復帰処理が開始されていることをいち早く知らせてもよい。
【０１２７】
図１７は、電子書籍アプリケーション端末、インタラクティブな電子ＰＯＰや電子カルテなどで実行されるハイバネーション時の処理フローの一例を示すフローチャートである。図１７に示す例では、閲覧時にアプリケーション側で積極的にハイバネーションを利用して消費電力を低減することを想定する。また、サスペンド処理された待機状態の時に、キーボードのＢＡＣＫキーかＮＥＸＴキーをトリガとして復帰処理を開始することを想定する。ＢＡＣＫキーが押下された場合には、現在表示されているページの前のページの書換を行い、ＮＥＸＴキーが押下された場合には、次のページの書換を行う。
【０１２８】
図１７に示すように、ハイバネーション時の処理フローでは、まず、情報処理装置のＯＳは、アプリケーションでハイバネーションを実行するように指示する前に、復帰処理が完了となる書換処理の選択肢（プレロード項目）の数が閾値より大きいか否かをチェックする（ステップＳ６０１）。例えば閾値が１の場合、ＮＥＸＴキーとＢＡＣＫキーとで２つの選択肢があるが、ＢＡＣＫキーは前処理キャッシュにキャッシュヒットするのでプレロードが不要とみなして選択肢を１つと判断してもよい。
【０１２９】
プレロード項目が閾値より大きい場合（ステップＳ６０１；ＹＥＳ）、ＯＳは、ステップＳ６０３へ進む。一方、プレロード項目が閾値より小さい場合（ステップＳ６０１；ＮＯ）、ＯＳは、ＮＥＸＴキーが押された場合に書換える次のページの前処理の実行をＥＰＤ書換制御部１１０に指示し（ステップＳ６０２）、ステップＳ６０３へ進む。これにより、次のページが前処理キャッシュにプレロードされる。
【０１３０】
ステップＳ６０３では、プレロードが完了後に、ＯＳが、ハイバネーションを実行する（ステップＳ６０３）。その後、ＮＥＸＴキーが押下されたことをトリガとして待機状態からの復帰処理を開始すると、次のページの書換要求がＥＰＤ書換制御部１１０に送られる。これに対し、ＥＰＤ書換制御部１１０は、前処理キャッシュがキャッシュヒットするので、前処理キャッシュを用いた書換処理を実行する。これにより、サスペンドされた待機状態からの復帰を高速に行うことが可能となる。
【０１３１】
なお、プレロード項目に対する閾値は、情報処理装置の太陽電池で発電した余剰電力や蓄電部の残量に応じて変化させてもよい。例えば、太陽電池で発電した余剰電力が多い場合や蓄電部の残量が多い場合には、閾値を大きくしてもよい。
【０１３２】
ここでは、ハイバネーションを実行した場合の待機状態からの復帰処理の例について説明したが、情報処理装置が備えている消費電力が低い待機状態に対してでも適用可能であることは言うまでもない。
【０１３３】
（実施形態７）
実施形態１〜４の前処理キャッシュ方式において、アプリケーションなどが持っている書換処理などに関する情報や知識などをヒント情報という形式でＥＰＤ書換制御部１１０に与えることで、より前処理キャッシュのキャッシュヒット率を高めることができる。また、必ず前処理キャッシュにキャッシュヒットする状況を保証することで、書換データをフレームバッファなどに用意するためのレンダリングなどのデータ生成処理と、生成された書換データをフレームバッファへ書き込む処理とをなくすことができ、それにより、より積極的な省電力化や高速化を図ることが可能になる。
【０１３４】
ＥＰＤ１４０の書換処理には、再び同じ書換処理を実行する確率が高いものと低いものがある。アプリケーションやミドルウエアなどが再び実行される確率の高い書換処理を特定できる場合、ＥＰＤ書換制御部１１０に渡す書換処理に、再び実行される確率の高い書換処理であるか否かを示すヒント情報を付加することで、ＥＰＤ書換制御部１１０のキャッシュ管理部１１１が前処理結果をキャッシュすべきか否かを判断する際に利用することが可能になる。結果として、キャッシュヒット率を高める、書換処理に要する平均的な消費電力および処理時間を削減することが可能になる。また、実施形態３のように、キャッシュを配置できるアクセス速度が異なるメモリがある場合には、どの書換処理の前処理結果をアクセスの速いメモリに配置すべきかの判断に利用することも可能になる。なお、ヒント情報としては、例えば、この書換処理の前処理結果をキャッシュしないように、この書換処理の前処理結果をできるだけキャッシュするように、および、メニューなどの頻繁に利用するデータの際は必ずキャッシュしてキャッシュから置換されないようにするなどが挙げられる。
【０１３５】
図１８および図１９に、必ず前処理キャッシュにキャッシュして置換されないように指示するヒント情報を書換要求に付加して、必ず前処理キャッシュにキャッシュヒットする状況を保証することで、書換データをフレームバッファなどに用意するためのレンダリングなどのデータ生成処理と生成された書換データをフレームバッファへ書き込む処理をなくすことができる例の概要を示す。
【０１３６】
また、図２０に、前処理キャッシュのキャッシュエントリの例を示す。図２０に示す例は、図４に示した前処理キャッシュにＬＯＣＫビットが追加された構成になっている。図２０に示すように、必ずキャッシュして置換されないように指示するヒント情報が付加された場合、キャッシュ管理部１１１は、前処理キャッシュのＬＯＣＫビットを‘１’にする。ＬＯＣＫビットが‘１’の場合、前処理キャッシュは、他のデータで置き換えられない。ただし、すべてのキャッシュエントリのＬＯＣＫビットが‘１’であり、且つ、これ以上キャッシュエントリを追加できない場合、次にこのヒント情報を受信した際には、キャッシュせずに書換処理を行うとともに、アプリケーションなどにこれ以上キャッシュできないことを通知して不要なＬＯＣＫビットを解除させるように構成してもよい。
【０１３７】
図１８に示す例は、最初の書換時などに、必ずキャッシュヒットすることを保証するヒント情報を付加して書換処理を行う場合の例である。図１８に示すように、まず、ＣＰＵ１０１やＧＰＵなどのアクセラレータなどを利用して書換データを生成するためのレンダリング処理などを行うことで、書換データのもととなるデータ７０１から書換データ７３１を生成する。生成された書換データ７３１は、ＧＰＵなどでフレームバッファ７０３などの前処理用アクセラレータ１０２がアクセスするメモリ上へコピーされる。前処理部１１３は、前処理を前処理用アクセラレータ１０２に指示する。前処理用アクセラレータ１０２は、指示に応じて前処理を実行する。その際、キャッシュ判定部１１２によりキャッシュミスが判定されると、キャッシュ管理部１１１により前処理キャッシュのＬＯＣＫビットが‘１’に設定された前処理キャッシュがキャッシュされ、書換処理部１１４が前処理キャッシュ上のデータを利用した書換をＥＰＤコントローラ１０５に指示する。なお、描画処理まで行わずに前処理キャッシュのプレロードをＥＰＤ書換制御部１１０に指示する際に当該ヒント情報を付加しても当然よい。
【０１３８】
図１９に示す例は、必ずキャッシュヒットすることが保証された状態での後続の書換処理を行う場合の例である。図１９に示す例では、書換処理に必要な情報はすべて前処理キャッシュ上にあるので、フレームバッファ上に書換データがなくてもよい。書換データ７３１を生成する処理や書換データ７３１のフレームバッファ７０３への書き込みなどの処理を省略することができる。そのため、書換データ７３１を生成する部分も含めた書換処理部１１４が書換を指示するまでの一連の処理の時間を大幅に短縮することができる。その結果、情報処理装置の応答性を大幅に向上させることができ、情報処理装置が消費電力の低い待機状態でいる時間を長くできるので、その分の電力を削減することができる。また、書換データ７３１を生成する処理やフレームバッファ７０３への書き込みや前処理に必要な電力も削減することができるので、大幅に消費電力を削減することが可能になる。
【０１３９】
図２１は、実施形態７にかかるアプリケーションやミドルウエア側の処理フローの一例を示すフローチャートである。図２１では、最初の書換時などに、必ずキャッシュヒットすることを保証するヒント情報を付加して書換処理を行う場合を例示する。まず、ＣＰＵ１０１やＧＰＵなどのアクセラレータなどが、書換データを生成するためのレンダリング処理などを行う（ステップＳ７０１）。つぎに、ＣＰＵ１０１やＧＰＵなどのアクセラレータが、生成した書換データ７３１をフレームバッファ７０３などの前処理用アクセラレータ１０２がアクセスするメモリ上へコピーする（ステップＳ７０２）。その後、ＥＰＤコントローラ２１０のドライバなどであるＥＰＤ書換制御部１１０へ、ヒント情報を含む書換要求を発行し（ステップＳ７０３）、処理を終了する。
【０１４０】
図２２は、必ずキャッシュヒットすることが保証された状態での後続の書換処理の一例を示すフローチャートである。図２２に示す場合では、書換に必要な情報はすべて前処理キャッシュ上にあるので、アプリケーションやミドルウエアは、ＥＰＤ書換制御部１１０に書換要求を発行する処理を行う（ステップＳ７１１）。このように、アプリケーション側では、フレームバッファ７０３への書き込み処理などの処理が不要になる。
【０１４１】
なお、書換データ７３１を生成するための処理結果で再利用できるものは、アプリケーションやミドルウエアレベルでキャッシュしておく２レベルでのキャッシュを実現する構成でもよい。
【０１４２】
また、実施形態７は、実施形態５の前処理キャッシュへのプレロードと組み合わせることも可能である。例えば、教育現場などにおける学習用途の試験を実施するアプリケーションやアンケートなどで全ページを順番に書換えることが決まっている場合、Ｎ番目のページを書換要求する際に、Ｎ＋１番目のページを前処理キャッシュへプレロードするヒント情報を付加することで、Ｎ番目のページの書換処理とＮ＋１番目の前処理とをオーバラップさせることが可能となる。その結果、より処理時間が短い方の処理時間を隠蔽することができる。
【０１４３】
また、書換要求にその都度ヒント情報を付加する方法以外にも、例えばアプリケーションの起動時や一連の決まった処理を開始する直前などに、ＥＰＤ書換制御部１１０にアプリケーションが持っている知識や情報をヒント情報として渡すように構成してもよい。これにより、例えば、比較的ページ数の少ない学術論文データや電子カルテなどを閲覧するような比較的ページを前後しながら閲覧することが多い場合には、閲覧の仕方と全ページ数とをヒント情報として通知しておくと、全ページキャッシュする方が効率がよいと判断することなどが可能になる。
【０１４４】
（実施形態８）
実施形態１〜４の前処理キャッシュを利用して前処理時間を削減することで、後続の書換処理の開始タイミングを早めることができる。その結果、全体の書換処理の処理時間を短縮するこができるので、短時間でＳｏＣ１００やメモリを消費電力が低い待機状態や電源オフにすることが可能となり、更なる省電力化を図ることができる。
【０１４５】
なお、以下の説明では、明確化のため、実施形態１にかかる情報処理装置１（図１参照）の構成を前提に説明するが、実施形態１〜４のいずれの構成にも適用可能である。ただし、前提として、ＥＰＤコントローラ２１０が周期的に書換処理を開始可能な設計であるとする。この構成によれば、例えばＮミリ秒ごとに書換開始可能なタイミングがおとずれ、その時点までに前処理が終わって描画することができる書換要求に対して、ＥＰＤ１４０への実際の描画処理が行われる。
【０１４６】
図２３を用いて、説明に利用する画像ビューワーアプリケーションについて説明する。図２３に示すように、画像ビューワーアプリケーションは、画像データを表示する領域８１０と、画像データを切り替えるＢＡＣＫキー８０１およびＮＥＸＴキー８０３とが、ＥＰＤ１４０にソフトウエアで表示されている。タッチパネルでＢＡＣＫキー８０１を選択すると、ひとつ前の画像データが領域８１０に表示され、ＮＥＸＴキー８０３を選択すると、次の画像データが領域８１０に表示される。この画像ビューワーアプリケーションにおいて、ＢＡＣＫキー８０１とＮＥＸＴキー８０３が選択された場合、選択されたことをユーザにフィードバックするために、当該キーの書換処理を行う。これらのキーは、画像ビューワーアプリケーションでは頻繁に書換が行われるため、前処理キャッシュにキャッシュヒットする可能性が高い。一方で、画像データは次々に切り替わるので、ＮＥＸＴキー８０３を選択した場合にはキャッシュされていない画像データの書き換えが発生する。つまり、このアプリケーションでは、ＮＥＸＴキー８０３が選択されると、前処理キャッシュにキャッシュヒットするＮＥＸＴキー８０３自体の書換処理と、前処理キャッシュにキャッシュヒットしない画像の書換処理との２つの書換処理が行われる。
【０１４７】
図２４は、ＥＰＤコントローラで並列処理される２つの書換処理の例を示すタイミングチャートである。図２４（ａ）は、ＥＰＤコントローラ１０５で並列処理される２つの書換処理の前処理キャッシュがない場合のタイムチャートである。まず、時刻Ｔ０でＮＥＸＴキー８０３の前処理が開始され、書換開始タイミングの時刻Ｔ１にその処理が間に合うのでＮＥＸＴキー８０３の描画処理が時刻Ｔ１に開始される。図１の構成では、前処理を行う前処理用アクセラレータ１０２が一つしかないため、画像データの前処理は、ＮＥＸＴキー８０３の前処理が終了する時刻Ｔ１からの開始となる。この前処理は、書換開始可能タイミングである時刻Ｔ２の少し前に終了してしまうので、時刻Ｔ２まで書換開始待ちが発生する。時刻Ｔ２になると、画像データの描画処理が開始される。時刻Ｔ４に描画処理が完了し、この時点ではじめてメインメモリ１２０やＳｏＣ１００の電源をオフにしたり、消費電力が低い待機状態に遷移させたりすることができる。
【０１４８】
一方、図２４（ｂ）は、前処理キャッシュを利用する場合のタイミングチャートである。まず、ＮＥＸＴキー８０３は、前処理キャッシュでキャッシュヒットするためＮＥＸＴキー８０３の前処理は不要となる。そのため、前処理用アクセラレータ１０２は、すぐに画像データの前処理を実行することができる。ＮＥＸＴキー８０３の描画処理は、書換開始可能タイミングの時刻Ｔ１まで開始されず、書換開始待ちとなる。画像データの前処理が時刻Ｔ１までに終わるので、画像データとＮＥＸＴキー８０３との描画処理が同時に開始されて並列実行され、時刻Ｔ４より早く描画処理が完了する。そのため、この終了時刻から時刻Ｔ４までの間も、メインメモリ１２０やＳｏＣ１００の電源をオフにしたり消費電力が低い待機状態に遷移させたりすることができる。その結果、前処理キャッシュを利用しない場合と比較して消費電力を削減することが可能となる。
【０１４９】
このように、前処理キャッシュを利用することで、前処理キャッシュが効かない書換処理が一連の書換処理に含まれる場合でも省電力効果を得ることができる。
【０１５０】
（実施形態９）
上述した実施形態では、前処理キャッシュのタグ部に書換データを区別するための書換データＩＤを格納した。ただし、これに限らず、たとえば書換データＩＤを利用しない構成も可能である。その場合、図４に示した前処理キャッシュの構成における書換データＩＤの代わりに、書換データそのものを利用すればよい。その場合、書換データＩＤのフィールドがデータへのポインタになっていてもよい。このような構成とすることで、書換データＩＤが付加されていない書換要求が発行された場合でも、当該書換データと、前処理キャッシュに保存されている書換データとを比較することで、上述した実施形態で行われていた書換データＩＤが一致するか否かの判定と同様の判定を行うことができる。その場合、書換データ同士の比較となるので、書換データのデータサイズが小さければ処理量も少ないので、キャッシュや判定処理を行うという構成としてもよい。また、書換データのサイズとＥＰＤ１４０への表示位置とを書換データＩＤの代わりとして用いてもよい。
【０１５１】
このような構成は、上述した実施形態のすべてで利用可能である。なお、書換データと前処理キャッシュに保存されている書換データとの比較は、ソフトウエアあるいはハードウエアで行うことができる。
【０１５２】
（実施形態１０）
上述した実施形態は、情報処理装置単体で前処理キャッシュを利用して省電力化を図る構成であったが、これに限らず、たとえば複数台の情報処理装置で共通の前処理を行うような場合に、その前処理をクラウド、サーバ、複合機、スマートフォン、タブレットＰＣ、デジタルテレビなどにオフロードすることで、個々の情報処理装置での前処理を行わないようにすることも可能である。
【０１５３】
図２５は、実施形態１０にかかるクラウドシステムの概略構成例を示すブロック図である。図２５に示すように、クラウドシステム１０は、複数の情報処理装置１Ａ〜１Ｎと、クラウドサーバ１００１とが、インターネットなどのネットワーク１０００を介して接続された構成を備える。各情報処理装置１Ａ〜１Ｎは、上述した実施形態のいずれの情報処理装置であってもよい。以下では、説明の簡略化のため、実施形態１にかかる情報処理装置１であるとする。クラウドサーバ１００１は、ＳｏＣ１００内部の無線ＬＡＮコントローラ１０６などを利用して通信可能な計算システムであり、書換データに対する前処理を実行して、得られた前処理結果を前処理キャッシュ１００１Ａ〜１００１Ｎとして保持している。このクラウドサーバ１００１は、例えばサーバ、クラウド、複合機、スマートフォン、タブレットＰＣ、デジタルテレビなどであってよい。前処理キャッシュ１００１Ａ〜１００１Ｎは、クラウドを構成する計算機上の不揮発性メモリ上で管理される。
【０１５４】
クラウドサーバ１００１側に設けられるＥＰＤ書換制御部は、実施形態１にかかるＥＰＤ書換制御部１１０（図２参照）と同様であってよい。ただし、書換処理部１１４が、情報処理装置１Ａ〜１Ｎ側に配置される。
【０１５５】
これらの情報処理装置１Ａ〜１Ｎで、例えば同じ電子書籍を閲覧する場合、個々の情報処理装置で同じ前処理を行うことは消費電力の無駄である。そこで、前処理用のクラウドサーバ１００１で共通の前処理を行い、その結果である前処理済書換データと書換制御情報選択ＩＤのペアを、前処理キャッシュ１００１Ａ〜１００１Ｎとしてクラウドサーバ１００１側でキャッシュしておく。
【０１５６】
図２６に、実施形態１０にかかるクラウドシステムの処理フローの一例を示す。図２６に示すように、まず、各情報処理装置１Ａ〜１Ｎで、特定の電子書籍の任意のページを表示する際、該当書換データの書換要求が、各情報処理装置１Ａ〜１Ｎからクラウドサーバ１００１上のＥＰＤ書換制御部１１０に、各情報処理装置１Ａ〜１Ｎの無線ＬＡＮコントローラ１０６を介して送信されて、クラウドサーバ１００１のＥＰＤ書換制御部１１０におけるキャッシュ判定部１１２が呼ばれる（ステップＳ１００１）。キャッシュ判定部１１２は、クラウドサーバ１００１上の前処理キャッシュ１００１Ａ〜１００１Ｎをチェックし、前処理キャッシュ１００１Ａ〜１００１Ｎにキャッシュヒットするか否かを判定する（ステップＳ１００２）。前処理キャッシュ１００１Ａ〜１００１Ｎのいずれかにキャッシュヒットする場合（ステップＳ１００２；ＹＥＳ）、クラウドサーバ１００１のＥＰＤ書換制御部１１０は、ステップＳ１００６に進む。一方、前処理キャッシュ１００１Ａ〜１００１Ｎのいずれにもキャッシュヒットしない場合（ステップＳ１００２；ＮＯ）は、クラウドサーバ１００１のＥＰＤ書換制御部１１０におけるキャッシュ管理部１１１が、前処理結果を格納するキャッシュエントリを決定する（ステップＳ１００３）。つぎに、クラウドサーバ１００１のＥＰＤ書換制御部１１０における前処理部１１３が、クラウドサーバ１００１上で当該ページの前処理を行い（ステップＳ１００４）、決定した前処理キャッシュに前処理結果である書換制御情報選択ＩＤや前処理済書換データを格納し（ステップＳ１００５）、ステップＳ１００６へ進む。
【０１５７】
ステップＳ１００６では、クラウドサーバ１００１は、前処理キャッシュ上の書換制御情報選択ＩＤや前処理済書換データのペアを情報処理装置１Ａ〜１Ｎ側の書換処理部１１４に送信する（ステップＳ１００６）。これに対し、情報処理装置１Ａ〜１Ｎ側の書換処理部１１４は、受信した書換制御情報選択ＩＤに対応する書換制御情報を情報処理装置１Ａ〜１Ｎのメインメモリ１２０などからそれぞれ読み出し、受信した前処理済書換データを利用してＥＰＤ１４０への描画処理をＥＰＤコントローラ１０５に指示し（ステップＳ１００７）、処理を終了する。
【０１５８】
なお、クラウドサーバ１００１で作成される前処理キャッシュ１００１Ａ〜１００１Ｎは、情報処理装置１Ａ〜１Ｎのディスプレイの種類や大きさや解像度、書換制御情報のバージョン、あるいは温度などに応じて異なるものが作成されてもよい。
【０１５９】
また、情報処理装置１Ａ〜１Ｎ側で、ＥＰＤ１４０の描画処理と次のページの受信処理とその先の書換要求（前処理のみを要求する前処理プレロードの要求であってもよい）の送信処理をオーバラップさせることで、情報処理装置１Ａ〜１Ｎがアクティブな時間を短くすることができるため、消費電力を削減することが可能となる。また、電子書籍の一ページやウェブブラウザの一画面を表示するために、各情報処理装置１Ａ〜１Ｎにおいて部分的な書換処理が複数必要な場合は、書換処理毎に送受信するのではなく、ページなどのまとまった単位で送受信することで、データの送受信にかかる消費電力や時間を削減することができる。また、情報処理装置１Ａ〜１Ｎにおいて、まとまった単位のデータの送受信を描画処理と重ねることで、情報処理装置１Ａ〜１Ｎにおいてアクティブ時間を短くすることもでき、消費電力が低い待機状態である時間を長くすることができ消費電力を削減することができる。
【０１６０】
また、クラウドサーバ１００１側での前処理を情報処理装置１Ａ〜１Ｎからの書換要求のたびに実行するのではなく、情報処理装置１Ａ〜１Ｎで実行する電子書籍アプリケーションの起動時などに電子書籍を特定する情報を送信させて、その電子書籍のすべてのページの前処理を一括してクラウドサーバ１００１上で並列実行してもよい。
【０１６１】
また、クラウドサーバ１００１側から書換制御情報選択ＩＤの代わりに書換制御情報を送信してもよい。その場合、情報処理装置１Ａ〜１Ｎ側では書換制御情報を保持していなくてもよい。
【０１６２】
情報処理装置１Ａ〜１Ｎ側には、書換データを配置する必要なく、書換制御情報を配置すればよい。前処理を必ずクラウドサーバ１００１上にオフロードする場合は、情報処理装置１Ａ〜１Ｎには、前処理用アクセラレータ１０２が必要なくなるため、より低消費電力でコンパクトで軽量な情報処理装置１Ａ〜１Ｎにすることができる。一方で、無線ＬＡＮアクセスができないような場合を想定して、書換データは情報処理装置１Ａ〜１Ｎ側にあってもよい。無線ＬＡＮの送受信に必要な時間や消費電力が動的に変動し情報処理装置１Ａ〜１Ｎ側で前処理するのに対して大きくなってしまう可能性があるような場合には、例えばアプリケーションの起動時や一定の時間間隔で、クラウドサーバ１００１側で前処理を行う場合と、情報処理装置１Ａ〜１Ｎ側で前処理を行う場合との双方を試して、処理時間や消費電力の小さい方に切り替えるようにしてもよい。
【０１６３】
前処理キャッシュ１００１Ａ〜１００１Ｎがクラウドサーバ１００１を形成する計算機のＭＲＡＭなどの不揮発メモリ上に構成される場合は、電源管理部１１５はアイドル時にＭＲＡＭの電源をオフにすることで消費電力を削減することができる。
【０１６４】
また、情報処理装置１Ａ〜１Ｎの太陽電池で発電した余剰電力や蓄電部の残量に応じて送受信を制御してもよい。例えば、太陽電池で発電した余剰電力が多い場合や蓄電部の残量が多い場合には、これらが少なくなる場合に備えて、電子書籍の先々のページの前処理のオフロードと前処理結果の受信を実行しておいてもよい。
【０１６５】
また、前処理をクラウドサーバ１００１に実行させ、前処理キャッシュ１００１Ａ〜１００１Ｎを、上述した実施形態と同じように、情報処理装置側で管理する構成でもよい。その場合、一度情報処理装置側でキャッシュしてしまえば、前処理することなく描画処理を行うことができ、書換処理を省電力化することが可能になる。
【０１６６】
（実施形態１１）
上述した実施形態において、ウェブブラウザやリストなどについているユーザインタフェースであるスクロールバーなど、同じ書換データで同じ書換制御情報を利用して電子ペーパの書換処理を連続的に行い、かつ、それらの書換領域に重なりがある場合、前処理キャッシュ上に差分のみをプレロードしておき、前処理キャッシュ上の差分を利用して繰り返し描画処理するように構成することも可能である。あるいは、上記書換データのキャッシュをプレロードしておきそこから差分を計算し、差分を利用して繰り返し描画処理するように構成することも可能である。これらの場合、データ処理量を減らし、情報処理装置のユーザがスクロールバーなどを操作した際にはすぐに描画処理を実行する（スクロールバーが移動する）ように構成することで、応答性を向上させ且つ消費電力を削減することができる。また、その際に、連続する書換処理を間引くことで、データ処理量が削減されるため、消費電力の削減を図ることができる。
【０１６７】
ここで、ＥＰＤ書換制御部にスクロールバー用に最適化された書換モードを用意しておき、それを利用して書換処理を実行する例を挙げる。図２７は、スクロールバー用に最適化された書換モードを用いた書換処理の概要を説明するための図である。図２７において、例示するスクロールバーは、白いレール状の背景と、現在ＥＰＤ１４０に表示されている領域を示す黒いノブ（つまみ）とを有する。このようなスクロールバーは、２値のイメージデータで描画することができる。アプリケーションやミドルウエアは、図２７における点線で囲まれた黒部分１１０３（ノブ）と、その上の矩形領域である白部分１１０２とをあわせた点線で囲まれた領域であるスクロールバー書換領域１１０１の書換処理を、書換Ａ→書換Ｂ→書換Ｃ→書換Ｄ→書換Ｅの順にＥＰＤ書換制御部１１０に書換要求を発行する。その結果、スクロールバーの黒部分１１０３（ノブ）が下方向にずらしながら表示されるため、ノブが下方向にスライドしたように表現される。
【０１６８】
スクロールバーの書換処理では、まず、アプリケーションの起動時など、ユーザによるスクロール処理が始まる前に、スクロールバー用の書換モードをアプリケーションで利用することと、その際のスクロールバー情報としてスクロールバー書換領域１１０１の書換要求を発行する際に使用する書換データＩＤ（例えば１００番）とをＥＰＤ書換制御部１１０に事前に通知する。その際、スクロールバー書換領域１１０１のサイズ、白部分１１０２と黒部分１１０３とのサイズなどもＥＰＤ書換制御部１１０に通知する。ＥＰＤ書換制御部１１０は、末尾部分（白部分１１０２）の残像が残りづらい書換制御情報を選ぶように前処理し、書換データＩＤ＝１００番で前処理キャッシュへプレロードする。黒部分１１０３については、移動距離の一単位（例えば書換Ａ→書換Ｂ）を移動した前後の黒部分１１０３の重なり部分１１０３ａと、残りの先頭部分１１０３ｂとに黒部分１１０３（ノブ）を分割する。先頭部分１１０３ｂの残像が残ったとしても、末尾部分（白部分１１０２）の書換時に消せばよいので、黒部分１１０３ができるだけはやくユーザに見えるような書換制御情報を選ぶようにして前処理を実行し、その結果を例えば次の書換データＩＤ＝１０１番で前処理キャッシュへプレロードしておく。
【０１６９】
なお、残像が残らないようにするための書換制御情報で書き換える際には、残像が残らないように書換処理の中間で一度黒く書換える際の黒が最もはやく見えるのであればその特性を活かしてその書換制御情報を用いてもよい。また、重なり部分１１０３ａの前処理は不要である。
【０１７０】
実際のユーザによるスクロール処理が開始され、書換データＩＤ＝１００番と、スクロールバー書換領域１１０１の位置（書換開始位置）とがＥＰＤ書換制御部１１０に次々に通知されると、前処理キャッシュの書換データＩＤ＝１００番はアプリケーション起動時に既にスクロールバー用の書換データＩＤであると分かっているので、書換データＩＤ＝１０１番の前処理キャッシュも併せて検索し、スクロールバー情報に基づいて計算された所定の書換位置に、キャッシュされているデータを利用した書換処理を行う。具体的には、まず、書換処理部１１４が先頭部分１１０３ｂの書換を指示し、次に末尾部分（白部分１１０２）の書換を指示する。なお、先頭部分１１０３ｂの書換は、黒への変化がはやくユーザに見せられるような書換制御情報を使うので、ノブの移動がユーザのスクロール処理により追随してくるようにみせることができ、これにより、ユーザエクスペリエンスの向上を図ることができる。また、末尾部分（白部分１１０２）の書換で残像を消すようにしているので、スクロール処理で残像が残らない。
【０１７１】
なお、ノブの移動距離の単位によっては、頻繁に書換が発生する場合が存在する。その場合、中間の書換を間引くことで、書き換え回数を減らすとよい。これにより、省電力化することができる。間引きの割合は、たとえば数回に１回の割合でもよい。例えば、図２７の書換Ａ〜書換Ｅのうち、一つおきの書換Ｂおよび書換Ｄを間引いてもよい。さらに、書き換え回数が多いとＥＰＤコントローラ１０５が書換処理を並列処理できる数をオーバーしてしまい、オーバーしてしまった書換処理が先行書換処理の終了まで待たされてしまう場合が存在する。その場合は、書換時間間隔を調整することで、書き換え回数が並列処理できる数をオーバーしないように調整するとよい。たとえば、書換時間間隔をＴ、Ｒを矩形の書換処理に要する時間、Ｐを並列度の上限とすれば、Ｒ／ＰよりＴが大きくなるように、中間の書換処理を間引くことで、書き換え回数が並列処理できる数をオーバーすることを回避できるため、オーバーしてしまった書換処理が先行書換処理の終了まで待たされることを防止できる。
【０１７２】
図２８に、図２７で下向きにノブを移動させていたユーザが急にノブの移動方向を上向きに変更させた場合の書換処理の概要を示す。図２８に示す例では、書換Ａ〜書換Ｅの順で書換処理を行った後、書換ｅ〜書換ａの順でＥＰＤ書換制御部１１０へ書換要求が発行される。この場合、書換Ｅの末尾部分（白部分１１０２）の白への書換に時間がかかっていると、この書換が完了するまで、書換ｅの先頭部分１１０３ｂの黒への書換と、書換ｄの先頭部分１１０３ｂの下で書換ｅの先頭部分と同じ高さの領域の書換処理が待たされる。そのため、分割せずスクロールバー書換領域全体の書換処理をする場合、書換ｅと書換ｄとの書換処理全体が先行書換処理の完了待ちとなり、ユーザのスクロール処理にノブの移動が追随しない場合がある。そこで、先頭部分１１０３ｂと末尾部分（白部分１１０２）とを分割して書換処理を行うことで、書換ｄの先頭部分１１０３ｂの書換処理と、書換ｅおよび書換ｄにおける白に書換える書換処理とが先行書換処理に影響されず、先に書き換えられる。それにより、ユーザに対してノブが追随して移動しているように見せることができ、ユーザビリティを高めることができる。なお、書換ｅの先頭部分１１０３ｂの書換は、書換Ｅの末尾部分（白部分１１０２）の書換後に実行される。
【０１７３】
（実施形態１２）
つぎに、実施形態１２にかかる情報処理装置、表示制御装置、半導体チップ、表示装置の制御方法およびそのプログラムについて、図面を参照して詳細に説明する。なお、以下の説明において、上述した実施形態と同様の構成については、同一の符号を付し、その重複する説明を省略する。
【０１７４】
実施形態４のマイクロコントローラ４００を利用して書換処理に必要最低限な部分を動作させる形態は、ＥＰＤ１４０を搭載した情報処理装置４に限定されるものでなく、ＬＣＤなどの表示装置全般を搭載したスマートフォンやタブレットＰＣや携帯電話などに対しても適用可能である。この場合の前処理には、レンダリング処理や表示する画面の生成などの書換データの生成処理が含まれる。前処理キャッシュに格納される値は、その結果である表示装置が利用するフレームバッファの内容などとなる。
【０１７５】
図２９は、実施形態１２にかかる情報処理装置の概略構成を示すブロック図である。図２９に示すように、実施形態１２にかかる情報処理装置１２は、実施形態４にかかる情報処理装置４（図１１参照）のＥＰＤ１４０をＬＣＤなどの表示装置１２４０に、ＥＰＤコントローラ２１０をＬＣＤコントローラなどの表示装置コントローラ１２１０に、ＥＰＤ専用メモリ２２０を表示装置専用メモリ１２２０に、ＳｏＣ１００が前処理用アクセラレータ１０２を備えたＳｏＣ１２００に、それぞれ置き換えた構成を備える。
【０１７６】
マイクロコントローラ４００は、キーボードなどによる割り込み処理の要求を受信すると、当該割り込みに対応する表示装置１２４０への書換処理の前処理キャッシュが存在するか否かを判定し、キャッシュヒットの場合には表示装置コントローラ１２１０に書換要求を直接送信し、キャッシュミスした場合にはＳｏＣ１２００へ割り込みを送信し、必要に応じてＳｏＣ１２００から表示装置１２４０へ書換要求を発行する。そのため、前処理キャッシュにキャッシュヒットする場合は、ＳｏＣ１２００の電源をオフのままに、メインメモリ１２０に供給される電力もメモリの内容を保持することができる通常の読み書き可能時よりも低い電力に遷移させたままとすることができるため、ページを書換える必要最低限の構成で書換処理を行うことが可能になり、それにより、消費電力を大幅に削減することができる。例えば、電子書籍アプリケーションのような場合、新たな電子書籍やその新たな章など開く場合は、ＳｏＣ１２００やメインメモリ１２０も含んだ構成で動作し、その後の電子書籍閲覧時の単純なページ送りを繰り返す時間の大半の部分をＳｏＣ１２００やメインメモリ１２０を利用しない必要最低限の構成で動作させるようなことが可能になる。
【０１７７】
情報処理装置１２は、ＳｏＣ１２００と、メインメモリ１２０と、表示装置１２４０と、表示装置コントローラ１２１０と、表示装置専用メモリ１２２０と、電源制御装置１５０Ａおよび１５０Ｂと、電源制御装置４５０と、マイクロコントローラ４００と、１つ以上の入力デバイス１３０とから構成される。
【０１７８】
マイクロコントローラ４００は、消費電力がＳｏＣ１２００より低く、常に通電されている。マイクロコントローラ４００は、内部メモリ４０１を持っており、内部メモリ４０１内に前処理キャッシュのタグ部が保持されている。
【０１７９】
表示装置コントローラ１２１０は、内部メモリ２１１を持っている。内部メモリ２１１には、複数の書換データから構成される前処理キャッシュが格納されている。前処理キャッシュのタグ部は、表示装置コントローラ１２１０の内部メモリ２１１にも格納される。表示装置コントローラ１２１０の内部メモリ２１１内に保持された前処理キャッシュのタグ部と、マイクロコントローラ４００の内部メモリ４０１に保持される前処理キャッシュのタグ部とは、一貫性が維持される。
【０１８０】
実施形態１２では、表示装置書換制御部は、表示装置コントローラ１２１０の中の処理である。その構成は、たとえば図２に示したＥＰＤ書換制御部１１０と同様であってよい。ただし、キャッシュ判定部１１２は、マイクロコントローラ４００にも実装される。なお、ＳｏＣ１２００の電源をオン／オフする電源管理部が、マイクロコントローラ４００に実装されてもよい。前処理部１１３は、ＣＰＵ１０１で動作するＯＳやミドルウエアやアプリケーションの処理であり、前処理用アクセラレータ１０２などを利用してもよい。
【０１８１】
図３０に、表示装置コントローラ１２１０上に保持される前処理キャッシュの構成例を示す。前処理キャッシュは、複数のキャッシュエントリから構成される。図３０の例では、４個のエントリが存在する。各キャッシュエントリは、タグ部と前処理キャッシュデータ部とのペアから構成される。
【０１８２】
タグ部は、前処理済書換データＩＤとＶＡＬＩＤビットとから構成される。アプリケーションなどによって発行される表示装置１２４０の書換要求は、前処理済書換データを区別する前処理済書換データＩＤを付加して発行される。このような書換要求を受信したキャッシュ判定部１１２は、キャッシュヒットするか否かの判定を行う。キャッシュ判定では、タグ部を検索することで、前処理済書換データＩＤが一致し、且つ、キャッシュエントリのデータが有効（ＶＡＬＩＤ）か無効（ＩＮＶＡＬＩＤ）か示すＶＡＬＩＤビットが有効（ＶＡＬＩＤ）になっているエントリが存在するか否かが判定される。
【０１８３】
前処理済書換データＩＤは、前処理済書換データを一意に識別するための情報である。例えばアプリケーションやミドルウエアが前処理済書換データと前処理済書換データＩＤを関連づけて管理し、同じ前処理済書換データを用いる書換処理の際は、同一の前処理済書換データＩＤを書換要求に付加して表示装置書換制御部に通知する。
【０１８４】
前処理キャッシュデータ部には、前処理済書換データが格納されている。前処理済書換データは、画面を書換えるデータを格納するフレームバッファのサイズなどで、この例ではそのデータサイズは同じである。
【０１８５】
図３１は、実施形態１２にかかる書換処理の一例を示すフローチャートである。図３１に示す例では、表示装置書換制御部が前処理済書換データをキャッシュする。この処理は、情報処理装置１２のユーザがキーボードのキー入力などによりマイクロコントローラ４００へ割り込みが発生すると開始される。実施形態３と同様に、キーボードの特定のキーには、予め特定の前処理済書換データＩＤが割り当てられている。
【０１８６】
図３１に示すように、書換処理では、マイクロコントローラ４００上のキャッシュ判定部１１２が、マイクロコントローラ４００の内部メモリ１０４上にある前処理キャッシュのタグ部を利用し、割り込み時に通知された前処理済書換データＩＤに一致するものが前処理キャッシュに存在するかチェック（キャッシュ判定）し（ステップＳ１２０１）、キャッシュヒットした場合（ステップＳ１２０１；ＹＥＳ）、表示装置コントローラ１２１０への電力供給を電源制御装置１５０Ｂに指示して表示装置コントローラ１２１０を電源オンするとともに（ステップＳ１２１２）、書換要求を表示装置コントローラ１２１０へ送信し（ステップＳ１２１３）、ステップＳ１２１１へ進む。一方、キャッシュヒットしない場合（ステップＳ１２０１；ＮＯ）、マイクロコントローラ４００上のキャッシュ判定部１１２は、ＳｏＣ１２００へ割り込みを通知する。これにより、アプリケーションなどへキー入力イベントが通知され（ステップＳ１２０２）、必要に応じてキー入力イベントに対応する処理がアプリケーションなどで実行される。その結果として、前処理部１１３がＧＰＵなどの前処理アクセラレータ１０２などを利用してレンダリングなどの前処理を実行し（ステップＳ１２０３）、得られた前処理結果を用いて、表示装置コントローラ１２１０へ前処理済書換データＩＤが付加された書換要求を発行する（ステップＳ１２０４）。なお、ＳｏＣ１２００へ割り込みを通知する際、ＳｏＣ１２００の電源がオフであれば、マイクロコントローラ４００の電源管理部１１５は、電源制御装置１５０Ａを利用してＳｏＣ１２００の電源をオンにし、その後、割り込みを通知する。また、キー入力イベントに対応する処理の結果として書換要求が表示装置コントローラ１２１０へ発行された後は、ＳｏＣ１２００を消費電力が低い待機状態に遷移させてもよいし、マイクロコントローラ４００上の電源管理部１１５がＳｏＣ１２００への電源供給を停止するように指示してもよい。
【０１８７】
つぎに、表示装置コントローラ１２１０の処理である電源管理部１１５が、表示装置専用メモリ１２２０の電源がオフ、または、消費電力の比較的低い省電力状態になっているか否かを確認し（ステップＳ１２０５）、電源がオフまたは省電力状態になっている場合（ステップＳ１２０５；ＹＥＳ）、電源制御装置１５０Ｂを利用して表示装置専用メモリ１２２０の電源をオン、または、読み書き可能な状態となるように省電力状態から復帰させて（ステップＳ１２０６）、ステップＳ１２０７へ進む。一方、表示装置専用メモリ１２２０の電源がオンである場合（ステップＳ１２０５；ＮＯ）、表示装置コントローラ１２１０はそのままステップＳ１２０７へ進む。
【０１８８】
ステップＳ１２０７では、表示装置コントローラ１２１０の処理であるキャッシュ管理部１１１が、ＬＲＵなどの置き換えるべきキャッシュエントリを判定するアルゴリズムを用いてキャッシュエントリを決定する（ステップＳ１２０７）。つづいて、表示装置コントローラ１２１０の処理である前処理部１１３が、ステップＳ１２０３で実行した前処理の結果を、決定されたキャッシュエントリに書きこむ（ステップＳ１２０８）。
【０１８９】
つぎに、表示装置コントローラ１２１０の処理である電源管理部１１５が、電源制御装置１５０Ｂを利用して表示装置専用メモリ１２２０の電源をオフ、または、省電力状態へ遷移させる（ステップＳ１２０９）。つぎに、表示装置コントローラ１２１０のキャッシュ管理部１１１が、前処理キャッシュのタグ部の情報をマイクロコントローラ４００へ送信し、マイクロコントローラ４００側で同期をとるためにタグ部を更新する処理を実行することで、マイクロコントローラ４００の内部メモリ４０１に保持されているタグ部と表示装置コントローラ１２１０の内部メモリ２１１にあるタグ部とを整合させて（ステップＳ１２１０）、ステップＳ１２１１へ進む。これにより、マイクロコントローラ４００の内部メモリ４０１に保持されているタグ部と表示装置コントローラ１２１０の内部メモリ２１１にあるタグ部との間で一貫性が保持される。なお、このステップＳ１２１０に示す処理は、ＳｏＣ１２００を介して実行されてもよい。
【０１９０】
ステップＳ１２１１では、表示装置コントローラ１２１０の処理である書換処理部１１４が、前処理キャッシュに格納されている前処理済書換データを読み出し、表示装置１２４０の書換処理を行い（ステップＳ１２１１）、その後、本動作を終了する。
【０１９１】
なお、書換処理終了後に、表示装置１２４０の表示を消して待機状態にする場合、電源管理部１１５は、電源制御装置１５０Ｂを利用して表示装置１２４０と表示装置コントローラ１２１０との電源をオフにする。表示装置コントローラ１２１０の内部メモリ２１１が不揮発性メモリを利用している場合、電源をオフにしてもキャッシュされたデータは保持される。揮発性のメモリを利用している場合は、内部メモリ２１１のデータを表示装置専用メモリ１２２０に書き出して表示装置専用メモリ１２２０をメモリの内容が保持できる省電力モードに設定してもよいし、表示装置コントローラ１２１０の内部メモリ２１１をメモリの内容が保持できる省電力モードに設定したり同内部メモリ２１１だけに通電したりするようにしてもよい。
【０１９２】
実施形態１２では、ステップＳ１２１０において、マイクロコントローラ４００のタグ部と表示装置コントローラ１２１０のタグ部との一貫性を図っていたが、キャッシュする書換処理を特定の複数の前処理済書換データＩＤに限定した場合、予め情報処理装置１２に設定しておくことで、ステップＳ１２１０を省略することができる。
【０１９３】
（実施形態１３）
実施形態１２と同様に、実施形態３のＳｏＣ１００の内部メモリ１０４を前処理キャッシュに利用する形態は、ＥＰＤ１４０を搭載した情報処理装置４に限定されるものでなく、ＬＣＤなどの表示装置全般を搭載したスマートフォンやタブレットＰＣや携帯電話などに対しても適用可能である。この場合の前処理には、レンダリング処理や表示する画面の生成などの書換データの生成処理が含まれる。前処理キャッシュに格納される値は、その結果であるフレームバッファの内容などとなる。
【０１９４】
図３２は、実施形態１３にかかる情報処理装置の概略構成を示すブロック図である。図３２に示すように、実施形態１３にかかる情報処理装置１３は、実施形態１にかかる情報処理装置１（図１参照）のＥＰＤ１４０をＬＣＤなどの表示装置１２４０に、ＥＰＤコントローラ１０５をＬＣＤコントローラなどの表示装置コントローラ１３０５に、それぞれ置き換えた構成を備える。
【０１９５】
（実施形態１４）
また、実施形態１３の構成において、実施形態６のように、ハイバネーションのサスペンド処理がなされた状態からの復帰を高速化することも可能である。その場合、消費電力が低い待機状態に入る前に、復帰後に表示する前処理済書換データを内部メモリ１０４の前処理キャッシュに保存すればよい。
【０１９６】
（実施形態１５）
また、上述した実施形態において、図３３に示すように、前処理キャッシュのタグ部に、温度範囲のパラメータが追加されてもよい。すなわち、実施形態１５では、情報処理装置が温度センサを備え、これが配置された空間の温度などに応じて、異なる書換制御情報が用いられるように構成される。
【０１９７】
上記実施形態およびその変形例は本発明を実施するための例にすぎず、本発明はこれらに限定されるものではなく、仕様等に応じて種々変形することは本発明の範囲内であり、更に本発明の範囲内において、他の様々な実施形態が可能であることは上記記載から自明である。例えば実施形態に対して適宜例示した変形例は、他の実施形態と組み合わせることも可能であることは言うまでもない。
【符号の説明】
【０１９８】
１，１Ａ〜１Ｎ，２，３，４，１２，１３…情報処理装置、１０…クラウドシステム、１００，２００，１２００，１３００…ＳｏＣ、１０１…ＣＰＵ、１０２…前処理用アクセラレータ、１０３…メモリコントローラ、１０４…内部メモリ、１０５…ＥＰＤコントローラ、１０６…無線ＬＡＮコントローラ、１０７…バス、１１０…ＥＰＤ書換制御部、１１１…キャッシュ管理部、１１２…キャッシュ判定部、１１３…前処理部、１１３ａ…データ変換処理部、１１３ｂ…選択処理部、１１４…書換処理部、１１５…電源管理部、１２０…メインメモリ、１３０…入力デバイス、１４０…ＥＰＤ、１５０Ａ，１５０Ｂ，４５０…電源制御装置、２１０…ＥＰＤコントローラ、２１３…ＥＰＤ描画部、２２０…ＥＰＤ専用メモリ、３０１，８０１…ＢＡＣＫキー、３０２…ＳＥＬＥＣＴキー、３０３，８０３…ＮＥＸＴキー、３４０…メニュー、４００…マイクロコントローラ、４０１…内部メモリ、７０１…もととなるデータ、７０３…フレームバッファ、７０５，１００１Ａ〜１００１Ｎ…前処理キャッシュ、７３１…書換データ、８１０…領域、１０００…ネットワーク、１００１…クラウドサーバ、１１０１…スクロールバー書換領域、１１０２…白部分、１１０３…黒部分、１１０３ａ…重なり部分、１１０３ｂ…先頭部分、１２１０，１３０５…表示装置コントローラ、１２２０…表示装置専用メモリ、１２４０…表示装置
【図１】
0006297182.tif 000002
【図２】
0006297182.tif 000003
【図３】
0006297182.tif 000004
【図４】
0006297182.tif 000005
【図５】
0006297182.tif 000006
【図６】
0006297182.tif 000007
【図７】
0006297182.tif 000008
【図８】
0006297182.tif 000009
【図９】
0006297182.tif 000010
【図１０】
0006297182.tif 000011
【図１１】
0006297182.tif 000012
【図１２】
0006297182.tif 000013
【図１３】
0006297182.tif 000014
【図１４】
0006297182.tif 000015
【図１５】
0006297182.tif 000016
【図１６】
0006297182.tif 000017
【図１７】
0006297182.tif 000018
【図１８】
0006297182.tif 000019
【図１９】
0006297182.tif 000020
【図２０】
0006297182.tif 000021
【図２１】
0006297182.tif 000022
【図２２】
0006297182.tif 000023
【図２３】
0006297182.tif 000024
【図２４】
0006297182.tif 000025
【図２５】
0006297182.tif 000026
【図２６】
0006297182.tif 000027
【図２７】
0006297182.tif 000028
【図２８】
0006297182.tif 000029
【図２９】
0006297182.tif 000030
【図３０】
0006297182.tif 000031
【図３１】
0006297182.tif 000032
【図３２】
0006297182.tif 000033
【図３３】
0006297182.tif 000034