JP2012027424A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2012027424A JP2012027424A JP2010168980A JP2010168980A JP2012027424A JP 2012027424 A JP2012027424 A JP 2012027424A JP 2010168980 A JP2010168980 A JP 2010168980A JP 2010168980 A JP2010168980 A JP 2010168980A JP 2012027424 A JP2012027424 A JP 2012027424A
- Authority
- JP
- Japan
- Prior art keywords
- program
- image
- display
- screen
- timing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Abstract
【課題】互いに独立に描画処理を行う複数のアプリケーションプログラムがそれぞれ描画処理を実行して得られる複数の画像が同時に画面内に表示される場合に、描画処理に起因する処理負荷の増大を避けることのできる情報処理装置を提供する。
【解決手段】複数のアプリケーションプログラムのそれぞれが描画処理を実行して得られる複数のプログラム出力画像を同時期に画面に表示させている間、少なくとも一つのアプリケーションプログラムが実行する描画処理の頻度が、当該アプリケーションプログラムが描画処理を実行して得られるプログラム出力画像を単独で画面に表示させる場合の描画処理の頻度より少なくなるように、複数のアプリケーションプログラムのそれぞれが描画処理を実行すべきタイミングを決定する情報処理装置である。
【選択図】図8
【解決手段】複数のアプリケーションプログラムのそれぞれが描画処理を実行して得られる複数のプログラム出力画像を同時期に画面に表示させている間、少なくとも一つのアプリケーションプログラムが実行する描画処理の頻度が、当該アプリケーションプログラムが描画処理を実行して得られるプログラム出力画像を単独で画面に表示させる場合の描画処理の頻度より少なくなるように、複数のアプリケーションプログラムのそれぞれが描画処理を実行すべきタイミングを決定する情報処理装置である。
【選択図】図8
Description
本発明は、アプリケーションプログラムが描画する画像を画面に表示させる情報処理装置、情報処理方法、及びプログラムに関する。
例えば、複数のアプリケーションプログラムのそれぞれが描画する画像同士が切り替えられる過程を表示する場合など、複数のアプリケーションプログラムが互いに独立に描画処理を実行して得られる複数の画像を、同時期に表示デバイスの画面に表示することがある。
上述したような複数のアプリケーションプログラムが同時期に描画処理を実行すると、これらのアプリケーションプログラムの一つが単独で描画処理を実行して得られる一つの画像だけを画面に表示する場合と比較して、処理負荷が高くなってしまう。
本発明は上記実情を考慮してなされたものであって、その目的の一つは、互いに独立に描画処理を行う複数のアプリケーションプログラムがそれぞれ描画処理を実行して得られる複数の画像が同時に画面内に表示される場合に、描画処理に起因する処理負荷の増大を避けることのできる情報処理装置、情報処理方法及びプログラムを提供することにある。
本発明に係る情報処理装置は、互いに独立に描画処理を行う複数のアプリケーションプログラムのそれぞれが描画処理を実行すべきタイミングを決定する描画タイミング制御手段と、前記描画タイミング制御手段により決定されるタイミングで前記複数のアプリケーションプログラムのそれぞれが描画処理を実行して得られる複数のプログラム出力画像を画面に表示させる表示制御手段と、を含み、前記描画タイミング制御手段は、前記表示制御手段が前記複数のプログラム出力画像を同時期に前記画面に表示させている間、前記複数のアプリケーションプログラムのうちの少なくとも一つのアプリケーションプログラムが実行する描画処理の頻度が、当該少なくとも一つのアプリケーションプログラムが描画処理を実行して得られる一つのプログラム出力画像を単独で前記画面に表示させる場合の描画処理の頻度より少なくなるように、前記描画処理を実行すべきタイミングを決定することを特徴とする。
前記情報処理装置において、前記描画タイミング制御手段は、前記表示制御手段が前記複数のプログラム出力画像を同時期に前記画面に表示させている間、前記複数のアプリケーションプログラムが互いに同時期に描画処理を実行しないように、前記描画処理を実行すべきタイミングを決定することとしてもよい。
さらに、前記描画タイミング制御手段は、前記表示制御手段が前記複数のプログラム出力画像を同時期に前記画面に表示させている間、前記複数のアプリケーションプログラムが所定の順序で一つずつ順に描画処理を実行するように、前記描画処理を実行すべきタイミングを決定することとしてもよい。
また、前記情報処理装置において、前記表示制御手段は、前記複数のアプリケーションプログラムのそれぞれが直近の過去に実行した描画処理によって得られるプログラム出力画像を記憶手段に記憶させ、前記複数のアプリケーションプログラムのいずれかが描画処理を実行しないタイミングにおいては、当該アプリケーションプログラムの描画したプログラム出力画像として、前記記憶手段に記憶されたプログラム出力画像を前記画面に表示させることとしてもよい。
また、本発明に係る情報処理方法は、互いに独立に描画処理を行う複数のアプリケーションプログラムのそれぞれが描画処理を実行すべきタイミングを決定する描画タイミング制御ステップと、前記描画タイミング制御ステップで決定されるタイミングで前記複数のアプリケーションプログラムのそれぞれが描画処理を実行して得られる複数のプログラム出力画像を画面に表示させる表示制御ステップと、を含み、前記描画タイミング制御ステップでは、前記表示制御ステップにおいて前記複数のプログラム出力画像を同時期に前記画面に表示させている間、前記複数のアプリケーションプログラムのうちの少なくとも一つのアプリケーションプログラムが実行する描画処理の頻度が、当該少なくとも一つのアプリケーションプログラムが描画処理を実行して得られる一つのプログラム出力画像を単独で前記画面に表示させる場合の描画処理の頻度より少なくなるように、前記描画処理を実行すべきタイミングを決定することを特徴とする。
また、本発明に係るプログラムは、互いに独立に描画処理を行う複数のアプリケーションプログラムのそれぞれが描画処理を実行すべきタイミングを決定する描画タイミング制御手段、及び、前記描画タイミング制御手段により決定されるタイミングで前記複数のアプリケーションプログラムのそれぞれが描画処理を実行して得られる複数のプログラム出力画像を画面に表示させる表示制御手段、としてコンピュータを機能させるためのプログラムであって、前記描画タイミング制御手段は、前記表示制御手段が前記複数のプログラム出力画像を同時期に前記画面に表示させている間、前記複数のアプリケーションプログラムのうちの少なくとも一つのアプリケーションプログラムが実行する描画処理の頻度が、当該少なくとも一つのアプリケーションプログラムが描画処理を実行して得られる一つのプログラム出力画像を単独で前記画面に表示させる場合の描画処理の頻度より少なくなるように、前記描画処理を実行すべきタイミングを決定することを特徴とする。このプログラムは、コンピュータ読み取り可能な情報記憶媒体に記憶されてよい。
以下、本発明の実施の形態について、図面に基づき詳細に説明する。
図1は、本発明の一実施形態に係る情報処理装置10の外観の一例を示す斜視図である。また、図2は、情報処理装置10の構成を示す構成ブロック図である。これらの図に示すように、情報処理装置10は、制御部11と、記憶部12と、画像処理部13と、表示部14と、タッチセンサ15と、操作ボタン16と、を含んで構成される。
制御部11は、例えばCPU等であって、記憶部12に格納されているプログラムに従って、各種の情報処理を実行する。本実施形態において制御部11が実行する処理の具体例については、後述する。
記憶部12は、例えばRAMやROM等のメモリ素子や、ディスクデバイスなどであって、制御部11によって実行されるプログラムや各種のデータを格納する。また、記憶部12は、制御部11のワークメモリとしても機能する。特に本実施形態では、情報処理装置10は、ゲームアプリケーション等の複数のアプリケーションプログラムAPを実行対象としており、記憶部12は、これらのアプリケーションプログラムAPを記憶している。
画像処理部13は、例えばGPUとフレームバッファメモリとを含んで構成され、制御部11が出力する描画指示に従って、表示部14の画面Sに表示する画像を描画する。具体例として、画像処理部13は画面Sに対応したフレームバッファメモリを備え、GPUは、制御部11からの指示に従って、所定時間おきにこのフレームバッファメモリに対して画像を書き込む。そして、このフレームバッファメモリに書き込まれた画像が、所定のタイミングでビデオ信号に変換されて、画面Sに表示される。
表示部14は、液晶表示パネルや有機EL表示パネル等、画像を表示する各種のデバイスであってよい。表示部14の画面Sは、図1に示すように、略矩形の形状をしている。以下では、画面Sの横方向(すなわち、画面Sの上辺及び下辺に沿った方向)をX軸方向とし、右辺に向かう方向をX軸正方向とする。また、画面Sの縦方向(すなわち、画面Sの右辺及び左辺に沿った方向)をY軸方向とし、上辺に向かう方向をY軸正方向とする。
タッチセンサ15は、画面Sに対応する形状及び大きさの略矩形の検出面を備えており、この検出面上に物体が接触した場合に、当該物体の接触位置を検出する。タッチセンサ15の検出面は、画面Sと重なるように配置されている。なお、以下では説明の便宜のために、ユーザは自分の指をタッチセンサ15に接触させて操作入力を行うこととするが、これに限らず、ユーザはスタイラスなど手で持った物体を検出面に触れさせることとしてもよい。また、タッチセンサ15は、必ずしも物体が検出面に接触した場合だけ物体の位置を検出するのではなく、検出面上の検出可能範囲内まで物体が近接した場合に、当該物体の検出面に対する位置を検出してもよい。タッチセンサ15は、例えば静電容量式や感圧式、光学式など、検出面上における物体の位置を検出可能なデバイスであれば、どのような方式のものであってもよい。
操作ボタン16は、タッチセンサ15とともに、ユーザが情報処理装置10に対する操作入力に用いる操作部材の一種である。ユーザは、操作ボタン16を押下することで、情報処理装置10に対する操作入力を行う。なお、図1では1個の操作ボタン16のみが示されているが、情報処理装置1は、複数の操作ボタンを備えてもよい。また、スイッチやアナログスティックなど、その他の操作部材を備えてもよい。
本実施形態では、制御部11は、ユーザの指示操作を受け付けるために、メニュー画像やアプリケーションプログラムAPに関する画像など、各種の画像を画面Sに表示する。そして、これらの画像が表示された状態におけるタッチセンサ15の検出結果を用いて、各種の情報処理を実行する。具体的に、制御部11は、タッチセンサ15によるユーザの指の位置の検出結果を用いて、ユーザの操作入力の内容を判断する。そして、当該判断された操作入力の内容に応じた処理を実行し、処理結果を画面Sに表示することで、ユーザに提示する。
ここで、記憶部12に記憶されている、情報処理装置10が実行対象とするアプリケーションプログラムAPについて、説明する。なお、以下ではアプリケーションプログラムAPは、後述するメニュー画像Im又はボード画像Ibが表示された状態において、ユーザの操作に応じて起動されるプログラムであることとする。情報処理装置10は、これらのアプリケーションプログラムAP以外にも各種のプログラムを実行してもよい。
本実施形態では、アプリケーションプログラムAPは、以下の2種類のいずれかに分類される。すなわち、第1の種類のアプリケーションプログラムAPは、フルモードでのみ動作するフルモードプログラムFPであり、第2の種類のアプリケーションプログラムAPは、フルモード以外での動作が可能なライトプログラムLPである。ここで、フルモードとは、画面Sの全体を一つのプログラムが単独で占有して動作するモードである。フルモードプログラムFPは、その実行中はフルモードの状態で動作し、その処理結果を画面S全体に表示する。一方、ライトプログラムLPは、後述するボード画像Ib内にその処理結果を表示する。
以下、本実施形態に係る情報処理装置10が実現する機能について、説明する。図3は、情報処理装置10が実現する機能を示す機能ブロック図である。同図に示すように、情報処理装置10は、機能的に、操作受付部20と、メニュー画像表示制御部21と、ボード画像表示制御部22と、アプリケーション実行部23と、表示要素情報取得部24と、画像切替部25と、描画タイミング制御部26と、を含んで構成される。これらの機能は、制御部11が記憶部12に格納されたプログラムを実行することで、実現される。このプログラムは、例えば光ディスク等のコンピュータ読み取り可能な各種の情報記憶媒体に格納されて情報処理装置10に提供されてよい。また、インターネット等の通信ネットワークを介して情報処理装置10に提供されてもよい。
操作受付部20は、タッチセンサ15や操作ボタン16に対するユーザの指示操作を受け付ける。特に本実施形態において、ユーザは、例えばタッチセンサ15の検出面上に自分の指を接触させたり、検出面上に指を接触させた状態で指をスライドさせたりすることで、情報処理装置10に対する操作入力を行う。具体的に、以下では、ユーザが検出面上の一点に短い時間だけ指を接触させる動作をタップ操作という。タップ操作が行われた場合、操作受付部20は、タップ操作の位置(すなわち、ユーザが指を接触させた検出面内の位置)を出力する。また、ユーザが検出面上の一点に指を接触させ、その位置を始点として検出面上のいずれかの方向に直線的に指を動かしてから指を離す動作を、スライド操作という。スライド操作が行われた場合、情報処理装置10は、当該操作においてユーザが指を移動させた方向に応じて、各種の情報処理を行う。すなわち、スライド操作は、ユーザが情報処理装置10に対して方向を指示する操作である。後述するメニュー画像Imやボード画像Ibが表示された状態でスライド操作が行われた場合、操作受付部20は、その始点及び終点の位置から、ユーザが指示する方向を特定する。ここで特定される方向は、例えば、画面Sの上下左右の4方向のいずれかであってよい。後述する各機能部は、操作受付部20が受け付けたタップ操作やスライド操作の内容に応じて、各種の情報処理を実行する。
メニュー画像表示制御部21は、例えば情報処理装置10の起動時や、ユーザがメニュー表示を指示した時など、所定のタイミングで、メニュー画像Imを画面Sに表示させる制御を行う。このメニュー画像Imは、ユーザにアプリケーションプログラムAPを選択させるために提示される画像であって、ユーザによる選択対象となる複数のメニュー項目画像Icを含んだ画像である。各メニュー項目画像Icは、記憶部12に記憶されたアプリケーションプログラムAPのいずれかに関連づけられて記憶部12に記憶されている。なお、各メニュー項目画像Icは、対応するアプリケーションプログラムAPを表すアイコン画像などであってよい。ここで、前述した通り、本実施形態ではアプリケーションプログラムAPにはフルモードプログラムFPとライトプログラムLPの2種類があるので、メニュー画像Im内には、フルモードプログラムFPに関連づけられたメニュー項目画像Icと、ライトプログラムLPに関連づけられたライトプログラムLPに関連づけられたメニュー項目画像Icの双方が含まれる。
図4は、メニュー画像Imが表示された画面Sの一例を示す図である。この図においては、それぞれアプリケーションプログラムAPに関連づけられた10個のメニュー項目画像Ic1〜Ic10が、メニュー画像Imに含まれている。また、この図4では、画面Sの上辺に沿って細長い矩形のステータスバー表示領域Asが設けられており、現在時刻や情報処理装置10の充電状態などの情報を示すステータスバーがこのステータスバー表示領域Asに表示されている。また、画面S内のメニュー画像Imが表示される領域をボード表示領域Abという。図4の例では、ボード表示領域Abは画面Sのステータスバー表示領域Asを除いた領域になっているが、ステータスバーを常時表示させる必要がない場合には、ボード表示領域Abは画面Sの全体であってもよい。
メニュー画像Imが表示された状態において、ユーザは、いずれかのメニュー項目画像Icが表示された位置をタップすることで、メニューの選択操作を行う。すなわち、ユーザは、いずれかのメニュー項目画像Icをタップすることによって、当該タップ操作の対象となったメニュー項目画像Icに関連づけられたアプリケーションプログラムAPを選択する。具体的に、ユーザのタップ操作を受け付けた場合、メニュー画像表示制御部21は、ユーザがタップした画面S内の位置に表示されているメニュー項目画像Icを特定する。そして、そのメニュー項目画像Icに関連づけられたアプリケーションプログラムAPの種類を判定する。すなわち、当該アプリケーションプログラムAPがフルモードプログラムFP及びライトプログラムLPのいずれであるかを判定する。ユーザの選択したアプリケーションプログラムAPがライトプログラムLPであると判定された場合、メニュー画像表示制御部21は、直ちに当該ライトプログラムLPの起動をアプリケーション実行部23に指示する。一方、選択されたアプリケーションプログラムAPがフルモードプログラムFPの場合、メニュー画像表示制御部21は、ボード画像表示制御部22に対して、選択されたフルモードプログラムFPに関連する情報を提示する画像(以下、プログラム関連画像Ipという)の生成を指示する。
ボード画像表示制御部22は、メニュー画像Imが画面Sに表示された状態でユーザがいずれかのアプリケーションプログラムAPを選択した場合に、この選択されたアプリケーションプログラムAPに関する画像を画面Sに表示させる制御を行う。以下では、このボード画像表示制御部22が表示するアプリケーションプログラムAPに対応する画像をボード画像Ibという。本実施形態では、ボード画像Ibは、メニュー画像表示制御部21がメニュー画像Imを表示していたのと同じ画面Sのボード表示領域Ab内に表示される。
具体的に、ユーザがフルモードプログラムFPを選択した場合、ボード画像表示制御部22は当該フルモードプログラムFPに対応するプログラム関連画像Ipを生成して、ボード画像Ibとしてボード表示領域Abに表示する。また、ユーザがライトプログラムLPを選択した場合には、ボード画像表示制御部22は、後述するアプリケーション実行部23がこの選択されたライトプログラムLPを実行することによって描画される画像を、ボード画像Ibとして表示する。以下、アプリケーションプログラムAPの描画処理によって出力される、当該アプリケーションプログラムAPの処理結果を表す画像を、プログラム出力画像Ioという。
ここで、ユーザがフルモードプログラムFPを選択した場合に生成されるプログラム関連画像Ipについて、詳しく説明する。本実施形態では、プログラム関連画像Ipは、対応するアプリケーションプログラムに関連する複数の表示要素が配置された仮想的な領域(以下、プログラムボードBという)の一部又は全部を表す画像である。プログラムボードB内に配置される表示要素の情報は、後述する表示要素情報取得部24によって取得される。
プログラムボードBは、ボード表示領域Ab内に収まるサイズの領域であってもよいが、以下では、所定のスクロール方向(ここではY軸方向とする)に沿って延びる矩形の領域であって、そのY軸方向に沿って延びる辺は、ボード表示領域Abの同じ向きの一辺よりも長いものとする。そのため、ボード画像表示制御部22は、プログラムボードBの全体を一度にボード表示領域Ab内に表示することはできず、プログラムボードBの一部の範囲だけをプログラム関連画像Ipとしてボード表示領域Ab内に表示することになる。ここで、プログラムボードB内の実際に画面Sに表示される範囲(表示対象範囲)は、ユーザのスクロール指示に沿って移動する。具体的に、ユーザが、タッチセンサ15に対してスクロール方向に沿ったスライド操作を行うことによって、ボード画像表示制御部22は、プログラムボードB内の表示対象範囲を移動させる。そして、ボード画像表示制御部22は、プログラムボードBの移動後の表示対象範囲内に含まれる部分を、プログラム関連画像Ipとしてボード表示領域Abに表示する。なお、表示対象範囲のサイズ及び形状は、ボード表示領域Abのサイズ及び形状に対応している。また、最初にボード画像表示制御部22がボード画像Ibを表示する際には、例えばプログラムボードBの最上端など、所定の位置が表示対象範囲に含まれることとしてよい。
図5は、フルモードプログラムFPに対応するプログラムボードBの一例を示す図である。この図に例示するように、本実施形態では、プログラムボードBは、プログラム情報領域P1及びコミュニケーション領域P2の2つの部分領域を含んで構成されることとする。プログラム情報領域P1は、フルモードプログラムFPの提供元によって用意された情報等が提示される領域であり、コミュニケーション領域P2は、フルモードプログラムFPに関して複数のユーザが投稿したメッセージの内容を提示する領域である。コミュニケーション領域P2は、ユーザ同士の情報交換等に利用される。
図6は、ボード画像Ibとしてプログラム関連画像Ipが表示された画面Sの一例を示す図であって、図6に示すプログラムボードBのプログラム情報領域P1が表示対象範囲となっている場合のプログラム関連画像Ipの例を示している。この図の例では、プログラム関連画像Ipは、所定の背景画像の上にプログラムボードB内の表示要素を重ね合わせて生成されている。この背景画像は、フルモードプログラムFPのそれぞれに固有の画像であってよい。
プログラム情報領域P1内には、ユーザが当該プログラムボードBに対応するフルモードプログラムFPを起動する際に操作の対象とする起動用画像が含まれる。具体的に、本実施形態では、起動用画像として、起動ボタン画像ILがプログラム情報領域P1内に配置される。ユーザは、起動ボタン画像ILを含むプログラム関連画像Ipが画面S内に表示された状態において、この起動ボタン画像ILの表示位置をタップすることにより、対応するフルモードプログラムFPの起動を指示する。なお、ここではフルモードプログラムFPのそれぞれに対して起動ボタン画像ILが予め用意されていることとしたが、このような起動用画像が用意されていないフルモードプログラムFPが存在する可能性もある。この場合、ボード画像表示制御部22は、専用の起動ボタン画像ILの代わりに、メニュー画像Im内に表示されていた当該フルモードプログラムFPに対応するメニュー項目画像Icを、起動用画像として用いてもよい。あるいは、ボード画像表示制御部22は、このような起動用画像に対するユーザのタップ操作ではなく、他の所定の操作(例えば所定のボタンを押下する操作やタッチセンサ15の所定の箇所をタップする操作など)をユーザの起動指示操作として受け付けてもよい。
フルモードプログラムFPに対応するプログラム関連画像Ipが表示された状態でユーザの起動指示操作を受け付けると、アプリケーション実行部23がフルモードプログラムFPをフルモードで起動する。これにより、そのプログラムが生成する処理結果の画像が画面S全体に表示されるようになる。フルモードプログラムFPの処理結果が画面Sに表示されている状態においては、ユーザがタッチセンサ15に対して行った操作の内容は、フルモードプログラムFPによって処理される。また、この状態において、例えば操作ボタン16を押下するなどの操作によってユーザがフルモードの終了を指示すると、ボード画像表示制御部22は、フルモードでの画像の表示を終了させて、これまで実行していたフルモードプログラムFPに対応するプログラム関連画像Ipを再表示する。このとき、アプリケーション実行部23は、必ずしもそれまで実行されていたフルモードプログラムFPを終了させてメモリを解放する必要はなく、当該プログラムの実行を一時停止した状態でプログラム関連画像Ipを再表示してもよい。こうすれば、再度起動ボタン画像ILをタップするなどの方法で、ユーザが当該フルモードプログラムFPの再実行を指示することで、アプリケーション実行部23は、一時停止されていた当該プログラムの実行を再開できる。
このように、フルモードプログラムFPに対応するメニュー項目画像Icが選択された場合に、直ちに当該プログラムを起動するのではなく、まず起動ボタン画像ILを含んだプログラム関連画像Ipを表示することで、情報処理装置10は、当該プログラムに関する各種の情報をユーザに提示できる。また、後述するように、ボード画像Ibが表示された状態においてユーザはこれまで表示したボード画像Ibの切り替えを指示する画像切り替え操作を行うことができる。しかしながら、フルモードで動作中のプログラムは、このような画像切り替え操作に相当する操作を、当該プログラムの処理に関する他の操作として受け付ける場合があり得る。そこで、情報処理装置10は、ユーザがフルモードプログラムFPに対応するメニュー項目画像Icを選択した場合に、まずプログラム関連画像Ipを表示することで、処理実行中は画面全体を占有するフルモードプログラムFPも、画像切り替え操作による切り替えの対象に含めることができる。
一方、メニュー画像Imが表示された状態でユーザが選択したアプリケーションプログラムAPがフルモードプログラムFPではなくライトプログラムLPである場合、前述したように、アプリケーション実行部23が当該ライトプログラムLPを実行することにより、その処理結果を示すプログラム出力画像Ioが生成される。ボード画像表示制御部22は、このプログラム出力画像Ioをボード画像Ibとしてボード表示領域Abに表示する。このプログラム出力画像Ioも、後述する画像切替部25による画像切り替え操作の対象とされてよい。本実施形態では、前述したように、メニュー画像Im内にフルモードプログラムFPに対応するメニュー項目画像IcとライトプログラムLPに対応するメニュー項目画像Icとが混在している。そのため、ユーザは、その起動前に一旦対応するプログラム関連画像Ipを表示すべきフルモードプログラムFPと、直ちに当該プログラムの起動を開始すべきライトプログラムLPの双方を、メニュー画像Imが表示された状態で互いに共通する操作により選択することができる。また、フルモードプログラムFPに対応するプログラム関連画像Ipと、ライトプログラムLPが出力するプログラム出力画像Ioとを、それらの画像を描画しているプログラムの種類の違いを意識することなく、所定の操作で切り替えて表示させることができる。
アプリケーション実行部23は、メニュー画像表示制御部21及びボード画像表示制御部22からの起動指示に応じて、指示されたアプリケーションプログラムAPの実行を開始し、その処理結果を示すプログラム出力画像Ioの描画処理を開始する。具体的に、メニュー画像Imが表示された状態でユーザがライトプログラムLPを選択した場合、アプリケーション実行部23は当該ライトプログラムLPを起動する。ライトプログラムLPによって描画されるプログラム出力画像Ioは、前述したように画面S内のボード表示領域Abにボード画像Ibとして表示される。また、プログラム関連画像Ipが表示された状態でユーザが当該プログラム関連画像Ip内の起動ボタン画像ILを選択した場合、アプリケーション実行部23は、そのプログラム関連画像Ipに対応するフルモードプログラムFPを起動する。フルモードプログラムFPはフルモードでのみ動作するので、その処理結果を示すプログラム出力画像Ioは、画面S全体に表示される。
表示要素情報取得部24は、ボード画像表示制御部22によって生成されるプログラム関連画像Ip内に配置される表示要素の情報を管理する。具体的に、表示要素情報取得部24は、記憶部12に記憶されているフルモードプログラムFPのそれぞれについて、当該フルモードプログラムFPに対応するプログラムボードB内に配置すべき表示要素の情報(表示要素情報)を取得する。また、メニュー画像Im内においてフルモードプログラムFPが選択され、ボード画像表示制御部22がプログラム関連画像Ipを新たに生成する際には、その中に含めるべき表示要素の情報をボード画像表示制御部22に提供する。ボード画像表示制御部22は、表示要素情報取得部24が提供する表示要素情報によって表される表示要素をプログラムボードB内に配置することによって、プログラム関連画像Ipを生成する。
本実施形態では、プログラムボードB内における表示要素の配置の態様について、予め複数のテンプレートが用意されていることとする。各テンプレートは、プログラムボードB内のどの位置にどのサイズでどのようなデータ形式(テキストデータか、画像データかなど)の表示要素を配置するかを規定する情報である。例えば図5及び図6では、プログラム情報領域P1の略中央に起動ボタン画像ILが配置され、その上方には複数のアイコン画像が並んで配置されている。また、起動ボタン画像ILの周囲には表示要素を配置するためのスペースが計5個設けられている。これらのスペースS1〜S5はいずれも画像データ形式の表示要素を配置するためのスペースである。
図7は、プログラム情報領域P1に別のテンプレートが適用された場合のプログラム関連画像Ipの表示例を示す図である。この図の例では、起動ボタン画像IL、及びアイコン画像のほか、画像データ形式の表示要素のためのスペースS6及びS7、並びにテキストデータ形式の表示要素のためのスペースS8〜S10がプログラム情報領域P1内に含まれている。
情報処理装置10は、記憶部12内に、各フルモードプログラムFPに関連づけて、当該フルモードプログラムFPに対応するプログラムボードBを生成する際に用いるテンプレートを特定する情報を保持している。ボード画像表示制御部22は、この情報によって特定されるテンプレートに従って、表示要素情報取得部24が取得した表示要素をプログラムボードB内に配置することによって、プログラム関連画像Ipを生成する。
以下、表示要素の具体例について、説明する。
プログラム情報領域P1内に配置される表示要素のいくつかは、予めフルモードプログラムFPとともに情報処理装置10に提供される静的な情報(すなわち、内容の変化しない情報)であってもよい。例えば記憶部12には、各フルモードプログラムFPに関連づけて、当該フルモードプログラムFPの提供元(ベンダー)のウェブサイトへのリンクを示す画像や、当該フルモードプログラムFPのプロモーションビデオ等の動画像などが記憶されてもよい。表示要素情報取得部24は、これら記憶部12に記憶されたデータを読み出すことによって、表示要素情報を取得する。また、時間とともに変化する表示要素であっても、その変化の内容及びタイミングが事前に決まっている場合には、その内容を予めフルモードプログラムFPとともに情報処理装置10に対して提供することができる。例えば所定の日時の到来をカウントダウンする表示要素をプログラム関連画像Ip内に表示させたい場合、時間とともに切り替わる複数の画像と、その切り替えタイミングを示す情報を表示要素情報として記憶部12に記憶しておくことにより、表示要素情報取得部24は、複数の画像の中から現在日時に応じて表示すべき画像を選択し、ボード画像表示制御部22に表示対象として提供することができる。
また、表示要素情報取得部24は、インターネット等のネットワーク経由で表示要素情報を取得してもよい。このような表示要素情報の例としては、フルモードプログラムFPに関するイベントの告知情報や、関連ウェブサイトの更新情報、関連商品の情報、当該フルモードプログラムFPのパッチや追加プログラムの公開情報などが挙げられる。これらの情報については、その取得先の情報(URL等)が各フルモードプログラムFPと関連づけられて記憶部12に記憶されていることとする。表示要素情報取得部24は、ボード画像表示制御部22が新たにプログラム関連画像Ipを生成する際に、この取得先の情報を参照して、フルモードプログラムFPの提供元などが用意したコンテンツ配信サーバにアクセスし、当該コンテンツ配信サーバが提供する表示要素情報を取得する。
また、表示要素情報取得部24は、コミュニケーション領域P2内に配置すべき表示要素についても、ネットワーク経由で外部から取得する。具体的に、例えば情報処理装置10のユーザは、フルモードプログラムFPに関するメッセージを、インターネット等の通信ネットワークを経由して、所定のコミュニケーションサーバに投稿できるようになっている。このような投稿処理を実現するため、情報処理装置10は、フルモードプログラムFPと関連づけて、メッセージの投稿先となるコミュニケーションサーバを特定する情報(URL等)を記憶部12に記憶しており、この情報を参照してユーザが入力したメッセージをコミュニケーションサーバに送信する。表示要素情報取得部24は、フルモードプログラムFPに関連づけられたプログラムボードBを生成する際には、このコミュニケーションサーバにアクセスし、当該フルモードプログラムFPに関して過去に投稿されたメッセージ情報を取得する。そして、ボード画像表示制御部22は、取得されたメッセージ内容やメッセージの発言者を表す表示要素を配置したコミュニケーション領域P2の画像を、プログラムボードBの一部として生成する。
また、表示要素情報取得部24は、フルモードプログラムFPが実行中に出力する情報を、表示要素情報として取得してもよい。この場合、表示要素情報取得部24の一部の機能は、フルモードプログラムFPから呼び出されるAPI(Application Programming Interface)として実現される。フルモードプログラムFPは、その処理内容に応じて、このAPIを呼び出すことによって、表示要素情報を出力し、記憶部12に記憶させる。記憶部12に記憶された表示要素情報は、ボード画像表示制御部22が当該フルモードプログラムFPに対応するプログラム関連画像Ipを生成する際に用いられる。そして、このプログラム関連画像Ipは、対応するフルモードプログラムFPが実行されていない間にも、新たに生成、表示される。そのため、以前にフルモードプログラムFPの実行中に表示要素情報が出力されて記憶部12に記憶されていれば、情報処理装置10は、フルモードプログラムFPが実行されていない間にも、当該フルモードプログラムFPの実行内容を反映した情報をユーザに提示するプログラム関連画像Ipを表示できる。
以下、フルモードプログラムFPがゲームプログラムである場合における、このようなAPIを利用した表示要素情報の出力の具体例について、説明する。例えばフルモードプログラムFPは、ユーザがプレイ中のゲームの進行状況に応じたテキストや画像を、表示要素情報として出力してもよい。より具体的には、フルモードプログラムFPは、ユーザが複数のコースやステージをプレイ可能なゲームの場合、ユーザが新たなコースやステージでプレイを始めるタイミングで、ユーザがプレイするコースやステージのマップ画像を表示要素情報として出力してもよい。また、ゲームの終了時やユーザが特定の指示を行ったタイミングで、現在ユーザが操作しているプレイヤーキャラクターの外観(アバター)や操作中のマシンなどの画像を表示要素情報として出力してもよい。こうすると、ユーザのプレイが進行するにしたがって、そのときどきのプレイ状況に応じた情報がプログラム関連画像Ipに含まれてユーザに提示されることになる。
また、フルモードプログラムFPがネットワーク経由で外部の情報を取得する機能を備えている場合、フルモードプログラムFPは、このような機能によって外部のサーバから取得した情報(例えば同じゲームをプレイしているプレイヤーのランキング情報など)を表示要素情報として出力してもよい。この場合、ボード画像表示制御部22及び表示要素情報取得部24を実現するシステムプログラム自体は、このような外部の情報を提供する提供元のサーバにアクセスする機能を備えておらずとも、この提供元のサーバから提供される情報をプログラム関連画像Ipに含めて表示することができる。
また、フルモードプログラムFPは、APIを呼び出して表示要素情報を出力する際に、併せて当該表示要素情報の表示時期を示す情報を出力してもよい。ボード画像表示制御部22は、この表示時期を示す情報を用いて、対応する表示要素の表示タイミングを制御する。すなわち、ボード画像表示制御部22は、表示時期を示す情報の内容に応じて、ある表示タイミングで表示されるプログラム関連画像Ipに、対応する表示要素を含めるか否かを決定する。例えばフルモードプログラムFPは、表示時期を示す情報として、表示要素の表示開始時期や表示終了時期を示す情報を出力することとする。表示要素情報に表示開始時期の情報が関連づけられている場合、ボード画像表示制御部22は、プログラム関連画像Ipの表示タイミングがこの表示開始時期より前になる場合には、当該表示要素を含んだプログラム関連画像Ipの表示を制限し、表示開始時期より後になる場合に当該表示要素を含んだプログラム関連画像Ipを表示するようにする。また、表示要素情報に表示終了時期の情報が関連づけられている場合、表示タイミングがこの表示終了時期より前の間は、当該表示要素を含んだプログラム関連画像Ipを表示し、表示タイミングが表示終了時期より後になる場合には、当該表示要素を含んだプログラム関連画像Ipの表示を制限する。これにより、ある決まった期間だけ表示要素を表示させたり、ある時期が到来するまで表示要素を表示させないようにしたりする制御が可能となる。
特に、フルモードプログラムFPが情報処理装置10によって計時されている現在日時の情報を取得し、その現在日時に応じた処理を実行するプログラムの場合、フルモードプログラムFPは、所定の処理実行時期に実行される予定の処理に関する情報を表示要素情報として出力するとともに、当該処理実行時期に応じて決まる時期を示す情報を、表示時期を示す情報として出力してもよい。一例として、フルモードプログラムFPがある処理Aを時刻t1に実行し、その時刻t1から所定時間Tだけ経過した時刻t2(=t1+T)に処理Bを実行する予定であるものとする。この場合、処理Aが実行されたタイミングで、フルモードプログラムFPはAPIを呼び出して、処理Bに関する表示要素情報を、時刻t2に対応する表示開始時期(例えば時刻t2より所定時間だけ早い時刻t3)の情報とともに出力する。処理Bに関する表示要素情報は、例えばまもなく処理Bの実行時期が到来することを示す画像や文字列であってよい。この場合、時刻t3の到来以降、ボード画像表示制御部22が当該フルモードプログラムFPに対応するプログラム関連画像Ipを表示する際には、処理Bに関する表示要素がプログラム関連画像Ipに含まれることになる。これにより、ユーザは、フルモードプログラムFPを実行していなくとも、処理Bの実行タイミングがまもなく到来することを知ることができる。
より具体的な例として、フルモードプログラムFPがペットの世話をするゲームのプログラムであって、ユーザはこのゲームでペットに定期的にエサを与える操作を行う必要があるとする。ここで、ユーザがペットにエサを与えるべきタイミングは、ゲーム内の仮想時間ではなく、現実に経過する時間に従って決定される。このような制御を実現するために、フルモードプログラムFPは現在日時の情報を取得し、その情報を元に前回ユーザがペットにエサを与えた時刻から所定時間内に次のエサやりの操作が行われたか否かを判定する。もし所定時間内にユーザがフルモードプログラムFPを起動してエサやりの操作を行わなかった場合には、フルモードプログラムFPは、それに応じた結果(例えばペットの機嫌が悪くなるなど)を発生させる処理を実行する。
この例において、ゲームのプレイ中にユーザがエサを与える操作を行った場合、フルモードプログラムFPは、現在日時の情報を取得し、取得した現在日時にゲーム内容に応じて決まる所定の時間(ここでは次にペットにエサを与えるべきタイミングまでの時間間隔)を加算することにより、次にユーザがペットにエサを与えるべきタイミングを決定する。そして、そのタイミングの到来より所定時間だけ早い時刻を表示開始時期として、ユーザにエサやりを促す内容の表示要素情報を出力する。こうすれば、情報処理装置10は、フルモードプログラムFPが実行されていない間にも、所定のエサやり操作を行うべきタイミングが近づくと、そのことを示す表示要素を含んだプログラム関連画像Ipを表示することによって、ユーザの注意を喚起することができる。
また、ユーザがゲームプレイ中にある条件を満たしてから、一定時間経過後に所定のイベントが発生するようなゲームの場合にも、フルモードプログラムFPが、そのイベントの発生をユーザに知らせる表示要素情報を、イベント発生タイミングに応じて決まる表示開始時期の情報とともに出力することで、情報処理装置10は、イベントが発生するタイミングになってから、ユーザにイベントの発生を案内する表示要素を含んだプログラム関連画像Ipを表示することができる。図7のスペースS8及びS9には、以上説明したような表示要素の例が示されている。
また、表示要素情報取得部24は、記憶部12に記憶されている表示要素情報を削除するAPIとして機能してもよい。また、記憶部12に記憶されている表示要素情報が表す表示要素の内容や、当該表示要素情報に関連づけられた表示時期を示す情報を更新するAPIとして機能してもよい。例えば前述したようにユーザが定期的に行うべき操作を知らせる表示要素情報を表示すべきタイミングは、ユーザがゲームプレイ中に当該操作を行うたびに変化する。そこで、フルモードプログラムFPは、所定の処理(例えばユーザの指示によるエサやり処理)を実行するごとに、表示要素情報更新のAPIを呼び出して、既に記憶部12に記憶されている表示要素情報の表示開始時期を、次にユーザがエサやりを行うべきタイミングに応じて決まる時期に変更する更新処理を行う。また、ゲーム内で発生したイベントが終了した場合には、当該イベントの発生をユーザに知らせる表示要素情報を削除してもよい。また、ユーザが操作するキャラクターの外観を表示要素情報として出力している場合、当該キャラクターの外観が変化した場合に、過去に出力した表示要素情報を変化した外観に応じて更新してもよい。なお、このような表示要素情報の更新や削除を可能にするために、フルモードプログラムFPは、表示要素情報を出力する際には、当該表示要素情報そのもの、またはその種類を特定するための識別情報を付与することとしてもよい。この場合、表示要素情報取得部24は、各表示要素情報を、当該表示要素情報に付与された識別情報とともに記憶部12に記憶する。こうすれば、フルモードプログラムFPが記憶部12に記憶されている表示要素情報の更新や削除を行うときには、この識別情報を指定することで、特定の表示要素情報を更新したり削除したりすることができる。
なお、プログラムボードBは、当該プログラムボードBに対応するフルモードプログラムFPに固有の情報だけでなく、他のフルモードプログラムFPに対応するプログラムボードBと共通する内容の表示要素を含んでもよい。例えば表示要素情報取得部24は、所定の共通コンテンツ配信サーバから配信される表示要素情報を取得して、他の表示要素情報とともにボード画像表示制御部22に提供してもよい。
また、ボード画像表示制御部22は、プログラム関連画像Ipの表示中、所定のタイミングで、プログラムボードB内に配置された各スペースに表示される表示要素を変更してもよい。コンテンツ配信サーバの提供内容やフルモードプログラムFPの処理の進行状況などによっては、プログラムボードB内に表示可能な数を超える数の表示要素が表示要素情報取得部24によって取得されることがある。このような場合に、例えばボード画像表示制御部22は、複数の表示要素の候補の中からランダムに選択した表示要素をプログラムボードB内に配置し、かつ、一定時間が経過するごとにプログラムボードB内に配置する表示要素を入れ替えることとする。こうすれば、ユーザは、一定時間を超えてプログラム関連画像Ipを表示させることで、プログラムボードB内に配置可能な数以上の表示要素を閲覧することができる。
さらに、このようなプログラムボードB内に配置する表示要素の変更を行う場合、この変更を行うタイミングで、現在日時の情報を取得し、取得した現在日時が表示要素情報に関連づけられた表示開始時期及び表示終了時期の条件を満たすか否かを判定する。これにより、例えば一旦表示対象となった表示要素が、プログラム関連画像Ipの表示が継続されている間にその表示終了時期を過ぎた場合などにおいて、このような表示要素を表示要素の更新タイミングでプログラム関連画像Ipから削除することで、表示終了時期を過ぎた表示要素が表示され続けてしまう状態を防ぐことができる。
また、表示要素情報取得部24が取得する表示要素情報には、表示時期を示す情報のほかに、当該表示要素情報が表す表示要素の表示位置や表示態様を示す属性情報が関連づけられてもよい。例えば表示要素情報に対して所定の表示位置(テンプレート中のいずれかのスペースなど)を指定する属性情報が関連づけられている場合、ボード画像表示制御部22は、プログラムボードB内の当該指定される表示位置に当該表示要素を配置する。また、表示態様を示す属性情報としては、例えばテキストデータのフォントや文字サイズを指定する情報などが挙げられる。さらに、表示要素情報には、当該表示要素情報が表す表示要素をユーザが操作した場合に実行されるべき処理内容を示す情報が関連づけられてもよい。この処理内容を示す情報は、例えばユーザが当該表示要素を操作対象とした場合に表示すべき情報の取得先を示す情報(URL等)である。この例では、当該表示要素をユーザがタップすると、ボード画像表示制御部22は、当該表示要素に関連づけられた取得先の情報を参照して取得される情報を表示する。
画像切替部25は、ユーザの選択操作によって過去にボード画像表示制御部22が表示対象とした複数のボード画像Ibの間で、表示画像の切り替えを行う。例えばメニュー画像Imが表示された状態でユーザがまずアプリケーションプログラムAP1を選択した場合、ボード画像表示制御部22はこのアプリケーションプログラムAP1に対応するボード画像Ib1を画面Sに表示する。ユーザは、この状態において画像切り替え操作を行うことによって、メニュー画像Imを再表示させることができる。さらに、メニュー画像Imが再表示された状態でユーザが別のアプリケーションプログラムAP2を選択した場合、ボード画像表示制御部22は当該アプリケーションプログラムAP2に対応するボード画像Ib2を表示する。このようにして、ユーザは、順次、複数のアプリケーションプログラムAPに対応する複数のボード画像Ibを画面Sのボード表示領域Ab内に表示させることができる。画像切替部25は、ユーザが画像切り替え操作を行った場合に、これら過去に表示されたことのある複数のボード画像Ibと、メニュー画像Imと、を切り替え処理の対象として、ボード表示領域Abに表示させる画像の切り替えを行う。なお、以下では、画像切り替え処理の対象となる複数のボード画像Ib及びメニュー画像Imを、切り替え対象画像と総称する。
本実施形態では、この画像切り替え操作は、タッチセンサ15に対する左右方向(X軸方向)に沿ったスライド操作であることとする。すなわち、ユーザは、切り替え対象画像のいずれかが画面Sのボード表示領域Abに表示された状態で、左右いずれかの方向に対するスライド操作を行うことで、他の切り替え対象画像をボード表示領域Ab内に表示させることができる。なお、画像切り替え操作が行われた際に、複数の切り替え対象画像のうちどの切り替え対象画像を表示させるかは、例えばこれらの切り替え対象画像がこれまでに表示された順序に応じて決定されてよい。
特に本実施形態では、ユーザが画像切り替え操作を行った場合、画像切替部25は、表示画像が切り替わる過程をボード表示領域Ab内に表示することとする。具体例として、ユーザがX軸負方向へのスライド操作を行うことにより、ボード画像Ib1からボード画像Ib2への切り替えが行われる場合の表示内容について説明する。まず、ボード画像Ib1が表示された状態でユーザがタッチセンサ15に指を接触させてスライド操作を開始すると、ユーザの指の移動距離に応じて、画像切替部25はユーザが指を移動させた方向(X軸負方向)にボード画像Ib1が移動する様子を表示する。それと同時に、移動するボード画像Ib1に続いて、画面向かって右側(X軸正方向側)からボード画像Ib2が画面S内に入ってくる様子を表示する。すなわち、画像切り替え操作の間は、画像切り替え操作の指示方向に沿って並んだボード画像Ib1及びIb2それぞれの一部が、ボード表示領域Ab内に表示される。そして、所定距離以上ユーザが指をスライドさせてからタッチセンサ15から指を離して画像切り替え操作を終えると、さらに画像切替部25はボード画像Ib2の全体がボード表示領域Ab内に入るまでボード画像Ib及びIb2を移動させる。これにより、画像切り替え処理が完了し、ボード表示領域Ab内にはボード画像Ib2だけが表示された状態になる。
図8は、画像切り替え処理の実行中に画面Sに表示される画像の一例を示す図である。この図8において、破線の矢印はユーザの指の移動の過程を示している。また、図9は、画像切り替え処理の実行中に画面Sに表示される画像の生成方法を概念的に説明する図である。図9における一点鎖線の矩形はボード表示領域Ab内に表示される表示対象範囲Rを示しており、破線の矢印は画像切り替え処理の実行中における表示対象範囲Rの移動方向を示している。図9に示すように、画像切り替え処理中には、切り替え前に表示対象となっていたボード画像Ib1と、切り替え後に表示対象となるボード画像Ib2と、を並べて配置した画像中において、両者の境界部分を含む範囲が画面Sに表示される対象となる。
ここで、切り替え前に表示されていたボード画像Ib1が、ライトプログラムLP1によって描画されるプログラム出力画像Io1であって、切り替え後に表示されるボード画像Ib2は、ライトプログラムLP2によって描画されるプログラム出力画像Io2である場合の画像切り替え処理について、説明する。本実施形態では、一旦起動したライトプログラムLPは、自身が出力するプログラム出力画像Ioが切り替え対象画像となっている間は、実際に当該プログラム出力画像Ioが画面Sに表示されておらずとも、アプリケーション実行部23により実行中の状態になっている。しかしながら、プログラム出力画像Ioが画面Sに表示されていない間は、ライトプログラムLPはバックグラウンドで実行されればよく、プログラム出力画像Ioの描画処理を行う必要はない。そして、本実施形態では、画像切り替え処理が行われている間を除いて、複数のボード画像Ibが同時にボード表示領域Ab内に表示されることはない。そのため、プログラム出力画像Io1及びIo2の双方が切り替え対象画像となっている場合、ライトプログラムLP1及びLP2の双方が実行中であるものの、通常、プログラム出力画像Io1がボード表示領域Abに表示されているときにはライトプログラムLP1だけが描画処理を実行し、プログラム出力画像Io2の表示中にはライトプログラムLP2だけが描画処理を実行することになる。
以上のことから、各ライトプログラムLPは、自身が描画処理を実行中に、他のライトプログラムLPも同時期に描画処理を実行することを必ずしも想定しているとは限らない。そのため、複数のライトプログラムLPがプログラム出力画像Ioの描画処理を同時期に実行すると、一時的にCPUやGPUの処理負荷が高まり、描画処理が間に合わなくなってしまうなどの問題が生じるおそれがある。しかしながら、前述したように、画像切り替え処理の実行中には、2つのプログラム出力画像Ioが同時にボード表示領域Ab内に表示されることになる。
この問題を避けるために、例えば画像切替部25は、現在ボード表示領域Abに表示されていない切り替え対象画像のそれぞれについて、直近の過去に表示された当該切り替え対象画像の静止画像データを記憶部12に一時的に記憶しておき、画像切り替え処理を行う際には、この静止画像データを用いて画像切り替えの過程を表示することも考えられる。このような方法によれば、画像切り替えの途中で複数のライトプログラムLPが同時期に描画処理を実行することは避けられる。しかしながら、このような静止画像データは、対応するプログラム出力画像Ioが前回表示された際に記録されることになるので、その後にバックグラウンドでライトプログラムLPの処理が実行された結果、再表示されるべきプログラム出力画像Ioは、静止画像データとして記憶されていた画像とは異なる可能性が高い。そうすると、画像切り替え処理の終了後に表示対象となったライトプログラムLPが再び描画処理を開始した直後には、画像切り替え中に表示された静止画像データから大きく変化したプログラム出力画像Ioが表示されてしまう可能性もあり、ユーザに違和感を生じさせる原因となる。
そこで本実施形態では、このように複数のライトプログラムLPが互いに独立に描画処理を行った結果得られる複数のプログラム出力画像Ioを同時に画面Sに表示させる場合に、処理負荷を抑制できるよう、描画タイミング制御部26による描画タイミングの調整を実行することとしている。
描画タイミング制御部26は、画面S内に表示されるべきプログラム出力画像Ioを描画するアプリケーションプログラムAPが、描画処理を実行するタイミングを決定する。そして、当該決定したタイミングでアプリケーションプログラムAPが描画処理を実行するように、当該アプリケーションプログラムAPに対して当該タイミングを指示する描画指示を出力する。画面S内に表示されるべきプログラム出力画像Ioが一つしかない場合、描画タイミング制御部26は、当該プログラム出力画像Ioを描画するアプリケーションプログラムAPに対して、単に所定の頻度(例えば1秒あたり60回の頻度)で描画処理を実行させるように、この所定の頻度で描画指示を出力すればよい。アプリケーションプログラムAPは、この描画指示に応じて、一定時間おきにプログラム出力画像Ioの描画処理を行う。この描画処理の結果得られるプログラム出力画像Ioは、画像処理部13のフレームバッファメモリに書き込まれ、画面Sに表示される。そのため、通常、描画タイミング制御部26が出力する描画指示の頻度は、画面Sの表示の更新頻度(フレームレート)に一致することになる。以下、画面Sに表示すべきプログラム出力画像Ioが一つの場合に描画タイミング制御部26が描画指示を出力する頻度を、基準頻度frと表記する。
一方、複数のライトプログラムLPが描画する複数のプログラム出力画像Ioを同時に画面Sに表示させる場合、描画タイミング制御部26は、これら複数のライトプログラムLPの少なくとも一つに対して、表示対象のプログラム出力画像Ioが一つの場合の基準頻度frよりも少ない頻度で描画指示を行う。すなわち、複数のライトプログラムLPの少なくとも一つに対して、基準頻度frで描画指示を行う場合の時間間隔より長い時間間隔で、描画指示を行う。具体例として、描画タイミング制御部26は、複数のライトプログラムLPのそれぞれが所定時間あたりに実行する描画処理の回数の合計が基準頻度frを超えないように、各ライトプログラムLPに対して行う描画指示の頻度を基準頻度frより少なくする。さらに描画タイミング制御部26は、複数のライトプログラムLPが同時期に描画処理を実行しないように、一度に一つのライトプログラムLPにだけ描画指示を出力する。これにより、複数のライトプログラムLPが描画処理を行う場合でも、互いの描画処理の実行タイミングが重複しないようにすることができる。さらに、描画タイミング制御部26は、複数のライトプログラムLPに対して、所定の順序で一つずつ順に繰り返して描画指示を行うこととしてもよい。これにより、各ライトプログラムLPは、いずれも一定の周期で、かつ、他のライトプログラムLPと同じ周期で、描画処理を実行するようにすることができる。
一例として、ライトプログラムLP1が描画するプログラム出力画像Io1からライトプログラムLP2が描画するプログラム出力画像Io2への画像切り替え処理を画像切替部25が実行中の場合、描画タイミング制御部26は、ライトプログラムLP1及びLP2のそれぞれに対して、基準頻度frの1/2の頻度で交互に描画指示を出力する。図10は、このような描画タイミング制御部26の指示に基づくプログラム出力画像Io1及びIo2の描画処理の実行タイミングを説明する図である。この図の例では、基準頻度frは60回/秒で、時刻tは経過時間を示しており、t=0は画像切り替え処理の開始時点に、t=nは画像切り替え処理の終了時点にそれぞれ対応している。また、図中の矩形が描画タイミング制御部26の描画指示に応じたライトプログラムLP1及びLP2それぞれの描画処理の実行タイミングを示している。この図の例では、画像切り替え処理が開始されるまでは、描画タイミング制御部26は、ライトプログラムLP1に対して1/60秒に1回ずつ描画指示を行い、画像切り替え処理の開始後は、ライトプログラムLP1及びLP2のそれぞれに対して1/30秒に1回ずつ、しかも交互に描画指示を行う。また、画像切り替え処理の終了後は、描画タイミング制御部26はライトプログラムLP2に対して1/60秒に1回ずつ描画指示を行う。このような制御により、画像切り替え処理が実行中か否かにかかわらず、情報処理装置10の全体として、ライトプログラムLPが実行する描画処理の頻度は基準頻度frを超えることがなく、しかもどの時点においてもいずれか一つのライトプログラムLPしか描画処理を実行しないようにすることができる。そのため、描画処理の重複による処理負荷の増大を避けることができる。
ここで、本実施形態では、画面Sに表示される画像の更新自体は、基準頻度frに相当するフレームレートで実行されている。そのため、複数のプログラム出力画像Ioが同時に画面Sに表示されている間は、それぞれのプログラム出力画像Ioについて、基準頻度frでフレームバッファメモリに書き込みを行う必要がある。ところが、これまでに説明したように、複数のプログラム出力画像Ioを同時に画面Sに表示している間は、各ライトプログラムLPの描画処理自体の頻度は基準頻度frより少なくなる。そこで、ライトプログラムLPが描画処理を実行しないタイミングでフレームバッファメモリに書き込まれるプログラム出力画像Ioは、当該ライトプログラムLPが直近の過去に生成したプログラム出力画像Ioとする。
具体例として、図10において、t=0ではライトプログラムLP1が描画処理を行った結果、プログラム出力画像Io1(0)が生成される。ライトプログラムLP1は、このプログラム出力画像Io1(0)を直接フレームバッファメモリに書き込むのではなく、記憶部12内に確保したメモリ領域M1に書き込む。画像切替部25は、このプログラム出力画像Io1(0)をフレームバッファメモリのボード表示領域Abに対応する領域に複写するとともに、ステータスバー表示領域As内に表示すべき画像をフレームバッファメモリのステータスバー表示領域Asに対応する領域に書き込む。これにより、画面Sの表示画像の更新が行われる。次にt=1/60秒の時点では、ライトプログラムLP2だけが描画処理を実行し、その結果生成されるプログラム出力画像Io2(1)を記憶部12のメモリ領域M1とは別のメモリ領域M2に書き込む。その後、画像切替部25は、メモリ領域M1に書き込まれたプログラム出力画像Io1(0)の一部分をクリッピングしてフレームバッファメモリに書き込むとともに、メモリ領域M2に書き込まれたプログラム出力画像Io2(1)の一部分をクリッピングしてフレームバッファメモリに書き込む。これにより、画面Sに表示される画像はプログラム出力画像Io1及びIo2の双方を含んだ画像に更新される。さらにt=2/60秒の時点では、ライトプログラムLP1がプログラム出力画像Io1(2)を生成してメモリ領域M1に書き込み、画像切替部25はメモリ領域M1に書き込まれたプログラム出力画像Io1(2)の一部とメモリ領域M2に記憶されているプログラム出力画像Io2(1)の一部とをフレームバッファメモリに書き込むことにより、画面Sに表示される画像を更新する。このような処理を繰り返すことによって、各ライトプログラムLPは基準頻度frより少ない頻度でしか描画処理を行わないにもかかわらず、情報処理装置10は、複数のプログラム出力画像Ioを含んだ画像を基準頻度frで更新して画面Sに表示させることができる。
なお、以上の説明においては、描画タイミング制御部26は、複数のライトプログラムLPが描画するプログラム出力画像Io間の画像切り替え処理が行われる場合に、各ライトプログラムLPに対する描画指示の頻度を減少させることとした。しかしながら、これに限らず、描画タイミング制御部26は、ライトプログラムLPが描画するプログラム出力画像Ioとボード画像表示制御部22が生成するプログラム関連画像Ipとの間で画像切り替え処理が実行される場合にも、同様の制御を行うこととしてもよい。また、このような場合には、プログラム関連画像Ipの描画処理と比較して、プログラム出力画像Ioの描画処理の方が比較的処理負荷が高いことが想定される。そのため、描画タイミング制御部26は、プログラム関連画像Ipの描画処理の頻度(すなわち、描画タイミング制御部26がボード画像表示制御部22に対してプログラム関連画像Ipの描画処理を指示する頻度)は基準頻度frのまま変更せずに、ライトプログラムLPに対して行うプログラム出力画像Ioの描画指示の頻度だけを減少させることとしてもよい。このような制御によれば、ライトプログラムLPがプログラム出力画像Ioの描画処理を実行するタイミングにおいては、ボード画像表示制御部22もプログラム関連画像Ipの描画処理を行うことになるが、ライトプログラムLPに対する描画指示の頻度を減少させない場合と比較して、長期的に見た場合の処理負荷を軽減することができる。特にこの場合、ボード画像表示制御部22は、プログラム関連画像Ipのうち、画面Sに表示される部分だけを直接フレームバッファメモリに書き込むこととしてもよい。
なお、本発明の実施の形態は、以上説明したものに限られない。例えば情報処理装置10は、画面Sに重ねて配置されるタッチセンサ15に代えて、又はこれに加えて、情報処理装置10の筐体の裏面側(画面Sが配置された面の裏側)にタッチセンサを備えてもよい。この場合、この裏面側のタッチセンサも、画面Sに対応した検出面を備えており、当該タッチセンサ上でユーザは指などを移動させるスライド操作を行うことで、スクロール指示や画像切り替えの指示などを行うことができる。
また、これまでの説明ではユーザはタッチセンサを用いてメニュー項目画像Icの選択操作や画像切り替え操作などを行うこととしたが、ユーザはこれ以外にも各種の操作デバイスを用いて情報処理装置10に対する方向の指示を行ってよい。
また、描画タイミング制御部26による描画タイミングの調整は、画像切り替え処理時だけでなく、それ以外にも、複数のプログラムが互いに独立に画像の描画処理を実行し、その結果得られる複数の画像を同時期に画面に表示する各種の場面で実行されてよい。例えばn個のプログラムが互いに独立に描画処理を実行して得られるn個のプログラム出力画像Ioを同時期に画面に表示する場合、描画タイミング制御部26は、各プログラムに対する描画指示の頻度を基準頻度frの1/nに減少させて、しかも、これらのプログラムのそれぞれに対して、順に一つずつ描画指示を出力することとしてもよい。
10 情報処理装置、11 制御部、12 記憶部、13 画像処理部、14 表示部、15 タッチセンサ、16 操作ボタン、20 操作受付部、21 メニュー画像表示制御部、22 ボード画像表示制御部、23 アプリケーション実行部、24 表示要素情報取得部、25 画像切替部、26 描画タイミング制御部。
Claims (6)
- 互いに独立に描画処理を行う複数のアプリケーションプログラムのそれぞれが描画処理を実行すべきタイミングを決定する描画タイミング制御手段と、
前記描画タイミング制御手段により決定されるタイミングで前記複数のアプリケーションプログラムのそれぞれが描画処理を実行して得られる複数のプログラム出力画像を画面に表示させる表示制御手段と、
を含み、
前記描画タイミング制御手段は、前記表示制御手段が前記複数のプログラム出力画像を同時期に前記画面に表示させている間、前記複数のアプリケーションプログラムのうちの少なくとも一つのアプリケーションプログラムが実行する描画処理の頻度が、当該少なくとも一つのアプリケーションプログラムが描画処理を実行して得られる一つのプログラム出力画像を単独で前記画面に表示させる場合の描画処理の頻度より少なくなるように、前記描画処理を実行すべきタイミングを決定する
ことを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置において、
前記描画タイミング制御手段は、前記表示制御手段が前記複数のプログラム出力画像を同時期に前記画面に表示させている間、前記複数のアプリケーションプログラムが互いに同時期に描画処理を実行しないように、前記描画処理を実行すべきタイミングを決定する
ことを特徴とする情報処理装置。 - 請求項2に記載の情報処理装置において、
前記描画タイミング制御手段は、前記表示制御手段が前記複数のプログラム出力画像を同時期に前記画面に表示させている間、前記複数のアプリケーションプログラムが所定の順序で一つずつ順に描画処理を実行するように、前記描画処理を実行すべきタイミングを決定する
ことを特徴とする情報処理装置。 - 請求項1から3のいずれか一項に記載の情報処理装置において、
前記表示制御手段は、前記複数のアプリケーションプログラムのそれぞれが直近の過去に実行した描画処理によって得られるプログラム出力画像を記憶手段に記憶させ、前記複数のアプリケーションプログラムのいずれかが描画処理を実行しないタイミングにおいては、当該アプリケーションプログラムの描画したプログラム出力画像として、前記記憶手段に記憶されたプログラム出力画像を前記画面に表示させる
ことを特徴とする情報処理装置。 - 互いに独立に描画処理を行う複数のアプリケーションプログラムのそれぞれが描画処理を実行すべきタイミングを決定する描画タイミング制御ステップと、
前記描画タイミング制御ステップで決定されるタイミングで前記複数のアプリケーションプログラムのそれぞれが描画処理を実行して得られる複数のプログラム出力画像を画面に表示させる表示制御ステップと、
を含み、
前記描画タイミング制御ステップでは、前記表示制御ステップで前記複数のプログラム出力画像を同時期に前記画面に表示させている間、前記複数のアプリケーションプログラムのうちの少なくとも一つのアプリケーションプログラムが実行する描画処理の頻度が、当該少なくとも一つのアプリケーションプログラムが描画処理を実行して得られる一つのプログラム出力画像を単独で前記画面に表示させる場合の描画処理の頻度より少なくなるように、前記描画処理を実行すべきタイミングを決定する
ことを特徴とする情報処理方法。 - 互いに独立に描画処理を行う複数のアプリケーションプログラムのそれぞれが描画処理を実行すべきタイミングを決定する描画タイミング制御手段、及び、
前記描画タイミング制御手段により決定されるタイミングで前記複数のアプリケーションプログラムのそれぞれが描画処理を実行して得られる複数のプログラム出力画像を画面に表示させる表示制御手段、
としてコンピュータを機能させるためのプログラムであって、
前記描画タイミング制御手段は、前記表示制御手段が前記複数のプログラム出力画像を同時期に前記画面に表示させている間、前記複数のアプリケーションプログラムのうちの少なくとも一つのアプリケーションプログラムが実行する描画処理の頻度が、当該少なくとも一つのアプリケーションプログラムが描画処理を実行して得られる一つのプログラム出力画像を単独で前記画面に表示させる場合の描画処理の頻度より少なくなるように、前記描画処理を実行すべきタイミングを決定する
ことを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010168980A JP2012027424A (ja) | 2010-07-28 | 2010-07-28 | 情報処理装置 |
PCT/JP2011/065074 WO2012014625A1 (ja) | 2010-07-28 | 2011-06-30 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010168980A JP2012027424A (ja) | 2010-07-28 | 2010-07-28 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012027424A true JP2012027424A (ja) | 2012-02-09 |
Family
ID=45529844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010168980A Pending JP2012027424A (ja) | 2010-07-28 | 2010-07-28 | 情報処理装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2012027424A (ja) |
WO (1) | WO2012014625A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013256139A (ja) * | 2012-05-14 | 2013-12-26 | Honda Motor Co Ltd | 倒立振子型車両 |
JP2015069413A (ja) * | 2013-09-30 | 2015-04-13 | ブラザー工業株式会社 | 表示装置および表示プログラム |
JP2016529534A (ja) * | 2013-06-13 | 2016-09-23 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 様々なビデオ再生シナリオに対する適応表示レートの遷移管理 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021065053A1 (ja) * | 2019-10-02 | 2021-04-08 | 株式会社ソニー・インタラクティブエンタテインメント | データ処理システム、データ処理方法およびコンピュータプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003084751A (ja) * | 2001-07-02 | 2003-03-19 | Hitachi Ltd | 表示制御装置およびマイクロコンピュータならびにグラフィックシステム |
JP2008289030A (ja) * | 2007-05-21 | 2008-11-27 | Nec Corp | 画面描画転送システム |
JP2009118159A (ja) * | 2007-11-06 | 2009-05-28 | Olympus Imaging Corp | 画像表示装置および撮像装置 |
-
2010
- 2010-07-28 JP JP2010168980A patent/JP2012027424A/ja active Pending
-
2011
- 2011-06-30 WO PCT/JP2011/065074 patent/WO2012014625A1/ja active Application Filing
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013256139A (ja) * | 2012-05-14 | 2013-12-26 | Honda Motor Co Ltd | 倒立振子型車両 |
US9457861B2 (en) | 2012-05-14 | 2016-10-04 | Honda Motor Co., Ltd. | Inverted pendulum type vehicle |
JP2016529534A (ja) * | 2013-06-13 | 2016-09-23 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 様々なビデオ再生シナリオに対する適応表示レートの遷移管理 |
US9858899B2 (en) | 2013-06-13 | 2018-01-02 | Microsoft Technology Licensing, Llc | Managing transitions of adaptive display rates for different video playback scenarios |
US10325573B2 (en) | 2013-06-13 | 2019-06-18 | Microsoft Technology Licensing, Llc | Managing transitions of adaptive display rates for different video playback scenarios |
JP2015069413A (ja) * | 2013-09-30 | 2015-04-13 | ブラザー工業株式会社 | 表示装置および表示プログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2012014625A1 (ja) | 2012-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5495813B2 (ja) | 表示制御装置、表示制御方法、及びプログラム、並びに記憶媒体 | |
WO2019228269A1 (zh) | 电视中的应用排序设置方法和装置 | |
JP2009277177A (ja) | 画像レイアウト装置、記録媒体および画像レイアウト方法 | |
JP2015125617A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2006244353A (ja) | 情報処理装置、画像移動指示方法及びプログラム | |
JP2012064010A (ja) | 情報処理装置、情報処理プログラム、情報処理システムおよび情報処理方法 | |
JP2014167806A (ja) | 情報処理装置 | |
JP2013254389A (ja) | 表示制御装置及びその制御方法 | |
WO2012014625A1 (ja) | 情報処理装置 | |
JP5541998B2 (ja) | 情報処理装置 | |
CA2771834C (en) | Electronic book game apparatus | |
JP2018026647A (ja) | 動画再生プログラム、動画再生装置、動画再生方法、動画配信システム及びメタデータ作成方法 | |
JP6357548B2 (ja) | 動画像処理装置 | |
JP2017140342A (ja) | ユーザインターフェースプログラム、当該プログラムを備えたゲームプログラム及び制御方法 | |
JP5467123B2 (ja) | 情報処理装置および情報処理方法 | |
JP2016173677A (ja) | 情報処理装置および情報表示方法 | |
JP7187737B2 (ja) | ユーザーインタフェースを提供する方法、プログラム及び電子機器 | |
JP2006260575A (ja) | 情報処理装置、画像移動指示方法及びプログラム | |
EP2793114B1 (en) | Information processing device, information processing method, program, and information recording medium | |
JP7136985B1 (ja) | プログラム、情報処理装置及び情報処理方法 | |
JP7274030B2 (ja) | プログラム、情報処理装置及び情報処理方法 | |
US20240121464A1 (en) | Display apparatus and display method | |
JP2018026799A (ja) | 動画再生プログラム、動画再生装置、動画再生方法、動画配信システム及びメタデータ作成方法 | |
JP6719276B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP6087184B2 (ja) | 情報処理プログラム、情報処理システム、情報処理装置、および、情報提示方法 |