(57)【要約】【課題】画面遷移の前後で共通に利用されるオブジェクトが多い場合に、メモリ領域の確保・解放処理の回数を低減させることで、画面遷移処理に要する時間を短縮させる。【解決手段】表示中の遷移元画面（画面Ａ）とその直後に切換表示される遷移先画面（画面Ｂ）とに共通に含まれる共通オブジェクトについては、そのメモリ領域（メモリブロック）５０２を共通オブジェクト領域５００に確保する。それ以外のオブジェクトが利用するメモリ領域は一括解放領域５０１に確保する。そして、画面Ａの表示時に一括解放領域５０１を一括解放（初期化）する。【選択図】図５
2017076301.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイに表示される画面に含まれる１つ又は複数のオブジェクトが利用するメモリ領域のうち、オブジェクト毎に解放可能な第１領域と、複数のオブジェクトについて一括解放可能な第２領域とを有するメモリと、
前記ディスプレイに表示されている遷移元画面及び該遷移元画面の直後に切換表示される遷移先画面の特定を契機に、当該遷移元画面及び前記遷移先画面に共通に含まれるオブジェクトを共通オブジェクトとして選定する選定手段と、
前記共通オブジェクトが利用するメモリ領域を前記第１領域に確保するとともに、それ以外のオブジェクトが利用するメモリ領域を前記第２領域に確保する領域確保手段と、
前記遷移元画面の表示時に前記第２領域を一括解放する領域解放手段と、
を備えて成る、ＧＵＩ装置。
【請求項２】
前記ディスプレイに表示される画面毎に当該画面に含まれる前記オブジェクトのリストが記憶された記憶媒体を備えており、
前記選定手段は、前記遷移元画面及び前記遷移先画面に対応する前記リストに記憶されたオブジェクト同士を照合することにより前記共通オブジェクトを選定する、
請求項１に記載のＧＵＩ装置。
【請求項３】
前記選定手段は、前記遷移先画面が前記ディスプレイに表示される前、前記遷移先画面及び当該遷移先画面の直後に切換表示される第２遷移先画面の特定を契機に、当該遷移先画面及び前記第２遷移先画面に含まれる前記共通オブジェクトを新たに選定し直し、
前記領域確保手段は、新たに選定し直された共通オブジェクトが利用するメモリ領域を前記第１領域に確保するとともに、その直前の共通オブジェクトであるが前記新たな共通オブジェクトでなくなったオブジェクトが利用するメモリ領域を前記第１領域から前記第２領域に移動し、
前記領域解放手段は、前記遷移先画面の表示時に前記第２領域を一括解放する、
請求項１又は２に記載のＧＵＩ装置。
【請求項４】
前記選定手段は、前記共通オブジェクトを選定する際に所定基準に基づいて優先度を決定し、
前記領域確保手段は、決定された優先度が低い共通オブジェクトを前記第１領域から前記第２領域に移動する、
請求項３に記載のＧＵＩ装置。
【請求項５】
前記選定手段は、遷移前後の画面で重複する数が多い前記共通オブジェクト、領域確保の回数が多い前記共通オブジェクト、又は、所定時間における領域確保の頻度の高い前記共通オブジェクトほど優先度を高く決定する、
請求項４に記載のＧＵＩ装置。
【請求項６】
前記領域確保手段は、前記第１領域の残容量を計算し、残容量があらかじめ定められた閾値未満の場合、前記優先度の低い共通オブジェクトを前記第２領域に移動する、
請求項５に記載のＧＵＩ装置。
【請求項７】
組み込み型機器に搭載される、
請求項１ないし６のいずれか一項に記載のＧＵＩ装置。
【請求項８】
ディスプレイと、このディスプレイに表示される画面に含まれる複数のオブジェクトが利用するメモリとを有する装置が実行する方法であって、
前記装置が、オブジェクト毎に解放可能な第１領域と、複数のオブジェクトについて一括解放可能な第２領域とに分離し、表示中の遷移元画面を遷移先画面に遷移させる際に、前記遷移元画面と前記遷移先画面とに共通に含まれる共通オブジェクトを選定した後、選定した共通オブジェクトが利用するメモリ領域を前記第１領域に確保するとともに、それ以外のオブジェクトが利用するメモリを第２領域において確保し、前記遷移元画面の表示時に前記第２領域を一括解放することを特徴とする、
メモリ制御方法。
【請求項９】
前記装置は、前記ディスプレイに表示される画面毎に当該画面に含まれる前記オブジェクトのリストと、画面遷移の順序を表す画面遷移情報が記憶された記憶媒体を参照し、前記共通オブジェクトとして選定される可能性のあるオブジェクトの最大数と各共通オブジェクトのサイズとに基づいて決定する、
請求項８に記載のメモリ制御方法。
【請求項１０】
ディスプレイが接続されるコンピュータを請求項１ないし７のいずれか一項に記載されたＧＵＩ装置として動作させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィカル・ユーザ・インタフェース（以下、ＧＵＩ）装置における画面遷移処理の技術に関する。
【背景技術】
【０００２】
ＧＵＩ装置において、ディスプレイの表示画面を別の画面に遷移させる画面遷移処理は、利用者が軽快な操作感を提供するものであることが望ましい。一般に、画面遷移処理では、遷移元画面に含まれるアイコンやボタン（画像）などのオブジェクトが利用していたメモリ領域を解放した後、そのメモリ領域に遷移先画面のオブジェクトを格納する。通常、オブジェクトは、所定サイズのメモリブロック毎に利用する。そのため、オブジェクト数が多いとメモリブロック数も大きくなり、メモリ領域の解放（領域解放）に要する時間が長くなる。
【０００３】
近年、ＧＵＩ装置は、例えばデジタルカメラや携帯電話のような小型でバッテリ駆動型の組み込み機器にも搭載されている。組み込み機器は、いわゆる低リソース機器であり、画面遷移処理に多大な負担をかけることができない。そのため、予めメモリプールと呼ばれる手法で、ある程度大きなメモリ領域を確保しておく。そして、領域解放を個別のメモリブロック毎ではなく、メモリプール全体で行うことで、領域解放に要する時間を短縮している。一方、画面遷移処理の過程で行われる遷移先画面の描画を高速化する技術が知られている。例えば、特許文献１に開示されたＧＵＩ装置では、画面に含まれるオブジェクト群を格納する第１メモリと、キャッシュ機能を実現する第２メモリとを備え、遷移先画面に含まれるオブジェクトの描画命令を、第１メモリから第２メモリにコピーしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１７５１４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＧＵＩ装置が表示する画面内には、アイコンやボタン（画像）などのオブジェクトが、遷移元と遷移先の画面で共通利用されることがある。このようなオブジェクトは「共通オブジェクト」と呼ばれる。こうした共通オブジェクトが多く含まれている場合、従来のメモリプールを利用する方法を用いると、共通オブジェクトがまとめて解放される。そのため、遷移元画面の描画前にオブジェクトの再生成が必要となり、パフォーマンスが低下する。また、特許文献１で開示される技術は、描画命令の実行時間や負荷などに着目してコピー対象の命令を決定する。そのため、描画の処理時間は短縮するが、画面遷移の前後で共通オブジェクトが多い場合、画面遷移全体で見ると充分に時間を短縮できない場合がある。
本発明の他の目的は、画面遷移処理のパフォーマンスを向上させるＧＵＩ装置及びその構成部品を提供することを主たる目的とする。本発明は、また、画面遷移に要する処理時間を短縮することができるメモリ制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、ディスプレイに表示される画面に含まれる１つ又は複数のオブジェクトが利用するメモリ領域のうち、オブジェクト毎に解放可能な第１領域と、複数のオブジェクトについて一括解放可能な第２領域とを有するメモリと、前記ディスプレイに表示されている遷移元画面及び該遷移元画面の直後に切換表示される遷移先画面の特定を契機に、当該遷移元画面及び前記遷移先画面に共通に含まれるオブジェクトを共通オブジェクトとして選定する選定手段と、前記共通オブジェクトが利用するメモリ領域を前記第１領域に確保するとともに、それ以外のオブジェクトが利用するメモリ領域を前記第２領域に確保する領域確保手段と、前記遷移元画面の表示時に前記第２領域を一括解放する領域解放手段と、を備えて成るＧＵＩ装置により、上記課題を解決する。
【発明の効果】
【０００７】
本発明によれば、共通オブジェクトが利用するメモリ領域を共通オブジェクト領域に確保することで、遷移元画面の表示時に一括解放領域を解放した場合にも、共通オブジェクトについては、それを残存させることができる。そのため、共通オブジェクトの再生成が不要となり、画面遷移処理のパフォーマンスが向上する。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係るＧＵＩ装置のハードウェア構成図。
【図２】ＧＵＩ装置の機能ブロック図。
【図３】画面遷移例の説明図。
【図４】オブジェクトリストの例示図。
【図５】ワークエリアの状態変化例の説明図。
【図６】ＧＵＩ装置によるメモリ制御方法の手順説明図。
【図７】共通オブジェクト選定処理の詳細手順説明図。
【図８】領域確保処理の詳細手順説明図。
【図９】領域移動処理の詳細手順説明図。
【発明を実施するための形態】
【０００９】
［第１実施形態］
図１は、第１実施形態に係るＧＵＩ装置のハードウェア構成図である。ＧＵＩ装置は、組み込み型機器に搭載されるもので、ＣＰＵ１００、ＲＯＭ１０１及びＲＡＭ１０２を有するコンピュータと、ディスプレイ１０３とをバス１０４に接続して構成される。ディスプレイ１０３は、ＧＵＩの内容を画面を通じて利用者に表示する。表示される画面には、アイコンやボタン（画像）などのオブジェクトが含まれる。
【００１０】
ＣＰＵ（Central Processing Unit）１００は、画面遷移処理用のコンピュータプログラムを実行することにより、コンピュータ内にＧＵＩ処理に関する種々の機能を形成する。つまり、ディスプレイ１０３を有するコンピュータをＧＵＩ装置として動作させる。ＲＯＭ（Read Only Memory）１０１は、ＣＰＵ１００を動作させるための基本制御プログラムのほか、オブジェクトリストなどを記憶する不揮発性の記憶媒体である。オブジェクトリストは、ディスプレイ１０３に表示される画面毎に当該画面に含まれるオブジェクトをリストアップしたものである。ＲＯＭ１０１には、上記オブジェクトリストの生成ルール、オブジェクトリストの読み出しルールなども記憶されている。
【００１１】
ＲＡＭ（Random Access Memory）１０２は、ＣＰＵ１００のメインメモリとして機能する揮発性の記憶媒体である。ＲＡＭ１０２は、また、１つ又は複数のオブジェクトが利用するメモリ領域のうち、オブジェクト毎に解放可能な第１領域と、複数のオブジェクトについて一括解放可能な第２領域とを有するワークメモリとして機能する。第１領域及び第２領域は、ＲＡＭ１０２の論理アドレスによって範囲を指定することができる。以下の説明では、第１領域を「共通オブジェクト領域」、第２領域を「一括解放領域」と称する。
【００１２】
ＣＰＵ１００がコンピュータプログラムを実行することにより形成される機能ブロックの構成例を図２に示す。図２において機能ブロック間の矢印は情報の流れを示している。制御部２００は、利用者による操作入力などのイベントの発生を契機に、画面遷移処理の全体を統括的に制御する。選定部２０１は、制御部２００から遷移画面情報を取得し、遷移元画面及びその直後に切換表示される遷移先画面に共通に含まれるオブジェクトを共通オブジェクトとして選定する。「画面遷移情報」は、ディスプレイ１０３に表示する画面の遷移順序を表す情報である。共通オブジェクトの選定は、ＲＯＭ１０１に記憶されている各画面のオブジェクトリストを参照し、遷移元画面及び遷移先画面に対応するオブジェクトリストに記憶されたオブジェクト同士を照合することにより行う。
【００１３】
選定部２０１は、遷移先画面がディスプレイ１０３に表示される前、遷移先画面及び当該遷移先画面の直後に切換表示される第２遷移先画面の特定を契機に、当該遷移先画面及び第２遷移先画面に含まれる共通オブジェクトを新たに選定し直す。つまり、選定部２０１は、ディスプレイ１０３の画面が切換表示される度に、共通オブジェクトの選定を繰り返す。共通オブジェクトが複数の場合、所定基準に基づいて共通オブジェクトの中での優先度を決定する。優先度は、例えば、遷移前後の画面で重複する数が多い共通オブジェクト、使用頻度の高い共通オブジェクト、又は、領域確保の回数が多い共通オブジェクトほど優先度を高く決定する。これにより、共有オブジェクト数が多い場合の画面遷移処理に要する時間がより短縮される。
【００１４】
領域確保部２０２は、制御部２００の指示に基づき、確保対象となるオブジェクトの情報、すなわち各画面のオブジェクトリストをＲＯＭ１０１から読み出す。そして、読み出した情報に基づいて、共通オブジェクトが利用するメモリ領域を共通オブジェクト領域に確保する。また、それ以外のオブジェクトが利用するメモリ領域を一括解放領域に確保する。領域確保部２０２は、選定部２０１により第２遷移先画面に含まれる共通オブジェクトが新たに選定し直されたときは、新たに選定し直された共通オブジェクトが利用するメモリ領域を共通オブジェクト領域に確保する。
【００１５】
領域解放部２０３は、制御部２００から指示されたタイミングで一括解放領域を一括解放（初期化）する。例えば、遷移元画面の表示時、あるいは、第２遷移先画面があるときの遷移先画面の表示時に、各オブジェクトが利用していた一括解放領域を一括解放する。第２遷移先画面は、遷移先画面の直後に切換表示される次の遷移先画面である。
【００１６】
領域移動部２０４は、制御部２００から指示されたタイミングで、共通オブジェクト領域に確保されている特定のメモリブロックを、一括解放領域に移動する。例えば、領域確保部２０２において新たに選定し直された共通オブジェクトが利用するメモリ領域を共通オブジェクト領域に確保されたとする。このとき、直前の共通オブジェクトであるが新たな共通オブジェクトでなくなったオブジェクトが利用するメモリ領域を共通オブジェクト領域から一括解放領域に移動する。共通オブジェクトが複数の場合、領域移動部２０４は、決定された優先度が低い共通オブジェクトを共通オブジェクト領域から一括解放領域に移動する。なお、領域移動部２０４は、共通オブジェクト領域の残容量を計算し、残容量があらかじめ定められた閾値未満の場合、優先度の低い共通オブジェクトを一括解放領域に移動するようにしても良い。つまり、本実施形態において、領域移動部２０４は、領域確保部２０２と共に領域確保手段として機能する。
【００１７】
＜メモリ制御方法＞
次に、上記のように構成されるＧＵＩ装置によるメモリ制御方法の概要を説明する。ＧＵＩ装置は、まず、ディスプレイ１０３に表示される画面に含まれる複数のオブジェクトが利用するメモリ領域を共通オブジェクト領域と一括解放領域とに分離する。各領域のサイズは、例えば、ＲＡＭ１０２のワークエリア容量と、共通オブジェクトとして選定される可能性のあるオブジェクトの最大数と各共通オブジェクトのサイズとに基づいて決定する。共通オブジェクトの最大数などの情報は、ＲＯＭ１０１に記憶されている画面遷移情報とオブジェクトリストを参照することにより得ることができる。そして、表示中の遷移元画面を遷移先画面に遷移させる際に共通オブジェクトを選定し、選定した共通オブジェクトが利用するメモリ領域を共通オブジェクト領域に確保する。また、それ以外のオブジェクトが利用するメモリを一括解放領域に確保する。その後、遷移元画面の表示時に一括解放領域を一括解放する。
【００１８】
このメモリ制御方法の具体例を以下に説明する。図３は、画面遷移の一例を示す図である。ここでは、ある画面Ａがディスプレイ１０３に表示されている際、利用者の操作によってイベントＢが発生し、画面Ｂに遷移する場面を想定する。画面Ｂでは、発生するイベントによって遷移する画面が異なる。イベントＣが発生した場合は画面Ｃ、イベントＤが発生した場合は画面Ｄ、イベントＥが発生した場合は画面Ｅにそれぞれ遷移するものとする。画面Ａ〜Ｅを表示する際には、各画面についてのオブジェクトリストがＲＯＭ１０１から読み出される。図４は、本例におけるオブジェクトリストの例示図である。
【００１９】
図４を参照すると、オブジェクトリストＡは、図３の画面Ａの表示時に使用されるオブジェクトの一覧であり、「ＩＣＯＮ−ＡＳＳＩＳＴ」と「ＢＵＴＴＯＮ」が２回使用されることが示されている。「ＩＣＯＮ−ＡＳＳＩＳＴ」はアシスト（ガイダンスなど）のアイコンを表すオブジェクトである。「ＢＵＴＴＯＮ」はボタン（画像）を表すアイコンである。「ＢＵＴＴＯＮ」は、実際には色などが異なる様々な表現態様が存在するが（「ＢＵＴＴＯＮ＿ａ」，「ＢＵＴＴＯＮ＿ｂ」など）、色などは制御部２００の指示に基づき適宜変更できるので、ここでは１種類だけを挙げる。オブジェクトリストＢは、画面Ｂの表示時に使用されるオブジェクトの一覧である。ここでは、「ＩＣＯＮ−ＡＳＳＩＳＴ」、「ＩＣＯＮ−ＭＯＶＩＥ」、「ＢＵＴＴＯＮ」がそれぞれ１回ずつ使用されることが示されている。「ＩＣＯＮ−ＭＯＶＩＥ」はムービーを指定するためのアイコンを表すオブジェクトである。オブジェクトリストＣは画面Ｃの表示時に使用されるオブジェクトの一覧であり、「ＩＣＯＮ−ＭＯＶＩＥ」と、「ＢＵＴＴＯＮ」オブジェクトが２回使用されることが示されている。オブジェクトリストＤは画面Ｄで使用されるオブジェクトの一覧であり、その内容はオブジェクトリストＢと同じである。オブジェクトリストＥは画面Ｅで使用されるオブジェクトの一覧であり、その内容はオブジェクトリストＣと同じである。
【００２０】
図５は、図３において、画面ＡでイベントＢが発生し、画面Ｂに遷移する際のワークエリアの状態変化例を示す図である。この場合、画面Ａが遷移元画面、画面Ｂが遷移先画面となる。ワークエリアは、共通オブジェクト領域５００と一括解放領域５０１とに分離されて割り当てられている。各領域５００，５０１において各オブジェクトが利用するメモリ領域をメモリブロックないし単にブロックと呼ぶ。図４を参照すると、画面Ａと画面Ｂとの間では、「ＩＣＯＮ−ＡＳＳＩＳＴ」と「ＢＵＴＴＯＮ」が共通オブジェクトと選定される。そのため、「ＩＣＯＮ−ＡＳＳＩＳＴ」ブロック５０２と、「ＢＵＴＴＯＮ」ブロック５０３とが共通オブジェクト領域５００に確保される。また、画面Ｂと第２遷移先画面の一つである画面Ｃ（図３参照）との間では、「ＩＣＯＮ−ＭＯＶＩＥ」が新たな共通オブジェクトとして選定される。そのため、領域確保部２０２は、画面Ｂが表示される前に、「ＩＣＯＮ−ＭＯＶＩＥ」ブロック５０４を新たに共通オブジェクト領域５００に確保する。一方、「ＩＣＯＮ−ＡＳＳＩＳＴ」は、画面Ｂと画面Ｃとの間では、共通して確保される回数が最も少ない共通オブジェクトである。そのため、選定部２０１は、最も優先度が低い共通オブジェクトと決定する。これにより、共通オブジェクト領域５００に充分な残量がない場合、領域移動部２０４は、「ＩＣＯＮ−ＡＳＳＩＳＴ」ブロック５０２を、共通オブジェクト領域５００の破線で示される部分から一括解放領域５０１へ移動し、新たな「ＩＣＯＮ−ＡＳＳＩＳＴ」ブロック５０２とする。
【００２１】
図５のようにワークエリアの状態が変化するときにＧＵＩ装置が実行する処理の手順例を図６を参照して説明する。はじめに、領域解放部２０３は、一括解放領域５０１を初期化し、画面Ａの表示時に一括解放領域５０１に確保されていた全メモリブロックを一括解放する（Ｓ６００）。次に、制御部２００は、選定部２０１に対して共通オブジェクトの選定を指示する（Ｓ６０１）。共通オブジェクト選定処理の詳細は図７において後述する。その後、制御部２００は、作成対象となるオブジェクトを表示画面の最も奥のオブジェクトに設定する（Ｓ６０２）。制御部２００は、また、領域確保部２０２に対し、作成対象となるオブジェクトが利用するメモリ領域を確保する処理、つまり領域確保処理を指示する（Ｓ６０３）。領域確保処理の詳細については図８において後述する。次に、制御部２００は、画面Ｂの全オブジェクトの作成が完了したか否かを判定する（Ｓ６０４）。作成が未完了だった場合（Ｓ６０４：Ｎ）、制御部２００は、作成対象を表示画面の１つ手前のオブジェクトに設定した後（Ｓ６０５）、Ｓ６０３に戻る。全オブジェクトの作成が完了した場合（Ｓ６０４：Ｙ）、制御部２００は、領域移動部２０４に対し、メモリブロック移動処理、すなわち領域移動処理を指示する（Ｓ６０６）。領域移動処理の詳細は図９において後述する。最後に、制御部２００は、作成したオブジェクトに基づいて画面Ｂを描画し、ディスプレイ１０３に表示させる（Ｓ６０７）。
【００２２】
図７は、Ｓ６０１の共通オブジェクト選定処理の詳細手順説明図である。この処理は、選定部２０１が実行する。選定部２０１は、画面Ａの直後にディスプレイ１０３に表示する画面ＢのオブジェクトリストＢを参照する（Ｓ７００）。また、画面Ｂの遷移先画面のオブジェクトリストを参照する（Ｓ７０１）。図３を参照すると、画面Ｂの遷移先画面は、画面Ｃ、画面Ｄ、画面Ｅの３通りである。そのため、対応するオブジェクトリストＣ、オブジェクトリストＤ、オブジェクトリストＥの３種類のオブジェクトリストを参照する。そして、選定部２０１は、共通オブジェクトを選定する（Ｓ７０２）。ここでは、オブジェクトリストＢに存在するオブジェクトの中で、オブジェクトリストＣ、オブジェクトリストＤ、オブジェクトリストＥのいずれかに含まれるオブジェクトを探索する。その結果、「ＩＣＯＮ−ＡＳＳＩＳＴ」、「ＩＣＯＮ−ＭＯＶＩＥ」、「ＢＵＴＴＯＮ」の３つのオブジェクトが共通に含まれているため、これらを共通オブジェクトと選定する。最後に、選定部２０１は、共通オブジェクトの重複数を計算して優先度を決定する（Ｓ７０３）。ここでは、「ＩＣＯＮ−ＡＳＳＩＳＴ」は１回、「ＩＣＯＮ−ＭＯＶＩＥ」は３回、「ＢＵＴＴＯＮ」は５回重複する。そのため、優先度は高いものから順に、「ＢＵＴＴＯＮ」、「ＩＣＯＮ−ＭＯＶＩＥ」、「ＩＣＯＮ−ＡＳＳＩＳＴ」と決定し、処理を終了する。
【００２３】
図８は、Ｓ６０３の領域確保処理の詳細手順説明図である。この処理は領域確保部２０２が実行する。領域確保部２０２は、確保対象となるメモリブロックが既に共通オブジェクト領域５００に存在するか否かを判定する（Ｓ８００）。既に存在していた場合（Ｓ８００：Ｙ）、該メモリブロックを再利用するため新たな確保の処理は行わず、処理を終了する。一方、共通オブジェクト領域に存在しなかった場合（Ｓ８００：Ｎ）、領域確保部２０２は、確保対象が共通オブジェクトか否かを判定する（Ｓ８０１）。共通オブジェクトの場合（Ｓ８０１：Ｙ）、領域確保部２０２は、共通オブジェクト領域５００にメモリブロックを確保する（Ｓ８０３）。一方、共通オブジェクトでない場合（Ｓ８０１：Ｎ）、領域確保部２０２は、一括解放領域５０１にメモリブロックを確保する（Ｓ８０２）。このように、領域確保部２０２は、いずれかの領域にメモリブロックを確保した後、処理を終了する。
【００２４】
図９は、Ｓ６０６の領域移動処理の詳細説明図である。この処理は領域移動部２０４が実行する。はじめに、領域移動部２０４は、共通オブジェクト領域５００の残容量を計算する（Ｓ９００）。次に、領域移動部２０４は、残容量が予め定められた閾値以上か否かを判定する（Ｓ９０１）。残容量が閾値以上であった場合（Ｓ９０１：Ｙ）、領域移動部２０４はメモリブロックの移動を行わずにそのまま処理を終了する。一方、残容量が閾値未満の場合（Ｓ９０１：Ｎ）、選定部２０１が定めた優先度が最も低い共通オブジェクト（そのメモリブロック）を一括解放領域５０１に移動し、再びＳ９０１に戻る。
【００２５】
上述したメモリ制御方法によれば、共通オブジェクトが利用するメモリブロックを共通オブジェクト領域５００に確保することで、遷移元画面の表示時に一括解放領域５０１を一括解放した場合にも、共通オブジェクトを残存させることができる。これにより、共通オブジェクトの再生成が不要となる。そのため、ＧＵＩ装置を組み込み型機器のような低リソース機器に搭載した場合であっても、画面遷移処理のパフォーマンスを向上させることができる。
なお、本発明は、図３で示した画面遷移や、図４で示したオブジェクトリストの内容に限定されるものではない。遷移前後の画面間で共通に利用されるオブジェクトが存在すれば、その内容に関わらず利用が可能である。
【００２６】
［第２実施形態］
第１実施形態において、選定部２０１は、遷移元画面と遷移先画面との間での重複数に基づいて共通オブジェクトの優先度を決定する例について説明した。しかしながら、各オブジェクトが必要とする領域確保回数は必ずしも一定ではない。一般に、領域確保処理がパフォーマンスに与える影響は、メモリブロックのサイズなどよりも領域確保の回数に依るところが大きい。そのため、選定部２０１が優先度を決定する際、各共通オブジェクトが必要とする領域確保の回数を優先度決定の要素としても良い。これを実現するには、例えば、図４で示したオブジェクトリストで、各オブジェクトが必要とする領域確保の回数を算出し、そのデータを保持すれば良い。そして、図７のＳ７０３において、共通オブジェクトの重複数ではなく、領域確保の回数の総和が高いものから順に、優先度を高く決定すれば良い。あるいは、所定時間（例えば１日）における領域確保の頻度の高い共通オブジェクトほど優先度を高く決定するようにしても良い。なお、上記頻度については、共通オブジェクトの重複数又は領域確保の回数が同じ場合に優先度決定の要素としても良い。
【００２７】
［他の実施形態］
以上、第１〜第２実施形態を詳述したが、ＣＰＵ１００を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、各実施形態において示した機能を演算部や回路で構成すれば良い。本発明はまた、コンピュータプログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、撮像装置、Webアプリケーション等）から構成されるほか、一つの機器からなる装置に適用しても良い。また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した各実施形態の機能を実現するソフトウェアのプログラムコード（コンピュータプログラム）を記録した記録媒体（又は記憶媒体）を、装置あるいはサーバに供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、その装置あるいはサーバのコンピュータ（又はＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【図１】
2017076301.tif 000003
【図２】
2017076301.tif 000004
【図３】
2017076301.tif 000005
【図４】
2017076301.tif 000006
【図６】
2017076301.tif 000007
【図７】
2017076301.tif 000008
【図８】
2017076301.tif 000009
【図９】
2017076301.tif 000010
【図５】
2017076301.tif 000011