(57)【要約】【課題】データを適切にキャッシュすることにより、表示領域のサイズが変更された場合における表示処理に係る処理速度を向上させることを目的とする。【解決手段】表示データに含まれる複数のオブジェクトから、領域サイズの異なる複数の表示領域において描画データを共通に利用可能な共通オブジェクトを特定する特定手段と、共通オブジェクトの描画データがキャッシュメモリに記憶されていない場合に、描画データをキャッシュメモリに描画し、描画データがキャッシュメモリに記憶されている場合に、キャッシュメモリの前記描画データをメインメモリにコピーする描画手段とを有する。【選択図】図２
2018032259.tif 000002
【特許請求の範囲】
【請求項１】
表示データに含まれる複数のオブジェクトから、領域サイズの異なる複数の表示領域において描画データを共通に利用可能な共通オブジェクトを特定する特定手段と、
前記共通オブジェクトの描画データがキャッシュメモリに記憶されていない場合に、前記描画データを前記キャッシュメモリに描画し、前記描画データが前記キャッシュメモリに記憶されている場合に、前記キャッシュメモリの前記描画データをメインメモリにコピーする描画手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記特定手段は、前記オブジェクトのレイアウト情報に基づいて前記共通オブジェクトを特定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記特定手段は、前記レイアウト情報において前記領域サイズに依存しない描画サイズが定められているオブジェクトを前記共通オブジェクトとして特定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記共通オブジェクトの優先度に基づいて、前記キャッシュメモリに格納されている前記描画データの中から削除対象の描画データを選択する選択手段をさらに有することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記共通オブジェクトに対応する描画内容が前記表示領域の領域サイズに応じて変化するか否かに基づいて、優先度を決定する決定手段をさらに有し、
前記選択手段は、前記決定手段により決定された前記優先度に基づいて、前記削除対象の前記描画データを選択することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記共通オブジェクトの描画に係る処理時間に基づいて、優先度を決定する決定手段をさらに有し、
前記選択手段は、前記決定手段により決定された前記優先度に基づいて、前記削除対象の描画データを選択することを特徴とする請求項４に記載の情報処理装置。
【請求項７】
情報処理装置が実行する情報処理方法であって、
表示データに含まれる複数のオブジェクトから、領域サイズの異なる複数の表示領域において描画データを共通に利用可能な共通オブジェクトを特定する特定ステップと、
前記共通オブジェクトの描画データがキャッシュメモリに記憶されていない場合に、前記描画データを前記キャッシュメモリに描画し、前記描画データが前記キャッシュメモリに記憶されている場合に、前記キャッシュメモリの前記描画データをメインメモリにコピーする描画ステップと
を含むことを特徴とする情報処理方法。
【請求項８】
コンピュータを、
表示データに含まれる複数のオブジェクトから、領域サイズの異なる複数の表示領域において描画データを共通に利用可能な共通オブジェクトを特定する特定手段と、
前記共通オブジェクトの描画データがキャッシュメモリに記憶されていない場合に、前記描画データを前記キャッシュメモリに描画し、前記描画データが前記キャッシュメモリに記憶されている場合に、前記キャッシュメモリの前記描画データをメインメモリにコピーする描画手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、オブジェクトの表示領域のサイズが可変である場合に、予め定められたレイアウト規則に基づいて、オブジェクトの表示位置やサイズを自動的に決定する自動レイアウト技術が知られている。自動レイアウト技術では、一般に、レイアウト規則が複雑であるほど、規則を解析して全オブジェクトの表示内容を決定するのに長い処理時間が必要となる。そのため、あるレイアウトの決定時に特定のデータをキャッシュし、以降のレイアウト決定時に再利用することで、処理速度を向上する技術がある。
【０００３】
特許文献１には、特定のデータ構造を有する文書データを解析し、対象ページ情報、対象オブジェクト情報、対象位置情報を含んだデータセットをキャッシュし、そのキャッシュデータを基に表示対象ページの画像を生成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２５２０８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のようなキャッシュ技術を効果的に利用するためには、表示領域のサイズが変更された場合でも、再利用可能なデータをキャッシュ対象とすることが望ましい。しかしながら、特許文献１の技術においては、表示領域のサイズが変更された場合においては、キャッシュ済みのデータセットに対し追加のリサイズ処理が必要になる場合があるという問題があった。
【０００６】
本発明はこのような問題点に鑑みなされたもので、データを適切にキャッシュすることにより、表示領域のサイズが変更された場合における表示処理に係る処理速度を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明は、情報処理装置であって、表示データに含まれる複数のオブジェクトから、領域サイズの異なる複数の表示領域において描画データを共通に利用可能な共通オブジェクトを特定する特定手段と、前記共通オブジェクトの描画データがキャッシュメモリに記憶されていない場合に、前記描画データを前記キャッシュメモリに描画し、前記描画データが前記キャッシュメモリに記憶されている場合に、前記キャッシュメモリの前記描画データをメインメモリにコピーする描画手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、データを適切にキャッシュすることにより、表示領域のサイズが変更された場合における表示処理に係る処理速度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】デジタルカメラのハードウェア構成を示す図である。
【図２】デジタルカメラの機能構成図である。
【図３】表示領域と表示内容の一例を示す図である。
【図４】表示データのデータ構成の一例を示す図である。
【図５】レイアウト処理を示すフローチャートである。
【図６】描画処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
図１は、本実施形態に係るデジタルカメラのハードウェア構成を示す図である。デジタルカメラは、情報処理装置の一例である。本実施形態に係るデジタルカメラは、本体に設けられたディスプレイの他、外部接続したテレビ等、領域サイズの異なる複数の表示領域に対して、画像を表示する。本実施形態においては、デジタルカメラが、グラフィカルユーザインタフェース（ＧＵＩ）を表示する場合を例に説明する。デジタルカメラはさらに、本体及びディスプレイの長辺が地面に対して水平及び垂直のいずれに近い角度で保持されているかを判定するためのセンサを備える。そして、デジタルカメラは、ユーザが保持するデジタルカメラの向きに合わせて表示データに含まれるオブジェクトのレイアウトを変更する。例えば、本体とディスプレイの長辺が地面に対して平行（短辺が垂直）な場合、デジタルカメラはいわゆる横位置で把持されている状態である。一方でディスプレイの長辺が地面に対して垂直（短辺が水平）な場合、デジタルカメラはいわゆる縦位置で把持されている状態である。また、デジタルカメラのディスプレイと外部接続したテレビとでは解像度やアスペクト比が異なるため、それぞれに適合するようにオブジェクトのレイアウトを変更する。
【００１１】
図１において、ＣＰＵ１００は、ＧＵＩ表示に係るプログラムに基づいて各種処理を実行する。ＲＯＭ１０１には、レイアウト処理や描画処理を行う各種プログラムが格納されている。ＲＯＭ１０１にはまた、処理において参照される情報が格納されている。ＲＡＭ１０２は、ＣＰＵ１００のメインメモリとして機能する。なお、後述するデジタルカメラの機能や処理は、ＣＰＵ１００がＲＯＭ１０１に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
【００１２】
ディスプレイ１０３は、ＧＵＩの内容を表示する。外部出力１０４は、機器内部で作成した表示データを外部の表示装置に転送する。加速度センサ１０５は、機器が保持されている向き（水平／垂直）を、重力加速度をもとに判別するために利用する。バス１０６は、各ハードウェア間でのデータ交換に使用される。
【００１３】
図２は、デジタルカメラの機能構成図である。図中の矢印とそれに付記された文字列は、各機能ブロック間のデータの流れを意味する。制御部２００は、オブジェクトのレイアウト処理と描画処理の流れを制御すると共に、ＲＯＭ１０１から、表示するＧＵＩのレイアウト規則や表示領域サイズなどの情報を読み込む。ここで、表示領域は、ディスプレイ１０３や外部接続されるテレビであり、表示領域サイズは、表示領域のサイズを示す情報である。また、レイアウト規則は、オブジェクトのレイアウトを定めた情報であり、レイアウト情報の一例である。なお、制御部２００は、ディスプレイ１０３が水平に保持されている場合と垂直に保持されている場合とで、表示領域サイズは異なるものとして認識する。制御部２００は、加速度センサ１０５で検出した機器の保持角度や、外部出力を行うか否かの設定値を基に表示領域を決定する。そして、制御部２００は、決定した表示領域の表示領域サイズをＲＯＭ１０１から読み込む。
【００１４】
レイアウト決定部２０１は、制御部２００からレイアウト規則と表示領域サイズを受け取り、表示する全オブジェクトの描画位置と描画サイズなどを含んだレイアウト結果を決定する。共通オブジェクト特定部２０２は、制御部２００からレイアウト規則の情報を受け取り、表示するオブジェクトの中から、共通オブジェクトを特定する。ここで、共通オブジェクトは、オブジェクトが表示される表示領域の表示領域サイズが変更された場合でも描画サイズが変更されないオブジェクトである。共通オブジェクト特定部２０２はさらに、共通オブジェクト毎の優先度を決定する。
【００１５】
描画部２０３は、制御部２００から全オブジェクトのレイアウト結果と共通オブジェクトの情報を受け取り、表示領域に表示する描画データを作成する。描画部２０３はこのとき、共通オブジェクトに関しては、描画結果のビットマップ自体をキャッシュ対象の描画データとし、以後の描画時に再利用できるようキャッシュを行う。さらに、描画部２０３は、利用可能なキャッシュ済みデータを利用して処理の高速化を行う。作成したビットマップデータは、ディスプレイ１０３か外部出力１０４のいずれかに転送され、ユーザに提示される。
【００１６】
図３は、表示領域と表示内容の一例を示す図である。図３（ａ）は、デジタルカメラの本体及びディスプレイの長辺が地面に水平に保持された場合の表示領域を示す図である。以下、このような状態を単に「デジタルカメラが水平に保持された」と言う。この場合、ディスプレイ１０３は、横長の表示領域となり、そのアスペクト比は４：３である。表示領域３００には、上部に４つのアイコン、下部に４つの項目の設定メニューが表示されている。
【００１７】
図３（ｂ）は、デジタルカメラの本体及びディスプレイの長辺が地面に垂直に保持された場合の表示領域を示す図である。以下、このような状態を単に「デジタルカメラが垂直に保持された」と言う。この場合、ディスプレイ１０３は、縦長の表示領域となり、そのアスペクト比は３：４である。表示領域３０１には、表示領域３００と同様の表示内容が表示されている。但し、表示領域３０１の各設定メニューの矩形やアイコン群の左右の余白の横幅は、表示領域３００の余白の横幅に比べて短くなっている。一方で、表示領域３０１の余白の縦幅は表示領域３００の余白の縦幅に比べて長くなっている。
【００１８】
図３（ｃ）は、テレビの表示領域を示す図である。この場合、表示領域は横長で、アスペクト比は、１６：９である。この場合も、表示領域３０２には、表示領域３００、３０１と同様の表示内容が表示されている。ただし、表示領域３０２においては、表示領域３００、３０１に比べて、メニュー項目やフォーカスの矩形の横幅が長くなっている。また、表示領域３００、３０１では、スペースが確保できないため、上から３つの設定項目で「ＷＢ」という省略表記が用いられるのに対し、表示領域３０２においては、省略せずに「Ｗｈｉｔｅ  Ｂａｌａｎｃｅ」と表示される。
【００１９】
図４は、表示データのデータ構成の一例を示す図である。表示データは、オブジェクト名４００、レイアウト規則４０１、描画内容不変性４０２を含み、ＲＯＭ１０１に読み取り専用データとして格納されている。共通オブジェクト特定部２０２は、これらの情報に基づいて、描画サイズ影響度４０３、共通オブジェクト判定結果４０４及び記憶優先度４０５を決定し、それをＲＡＭ１０２上に記憶する。
【００２０】
オブジェクト名４００は、表示するオブジェクトを一意に特定するための情報である。レイアウト規則４０１は、オブジェクトの表示位置やサイズを決定するために必要な規則の集合であり、レイアウト決定部２０１や共通オブジェクト特定部２０２によって利用される。
【００２１】
レイアウト決定部２０１は、レイアウト規則４０１を参照して、各オブジェクトの表示位置とサイズを決定する。レイアウト規則のうち、ＢｅｇｉｎとＴｏｐはそれぞれ表示位置のＸ座標とＹ座標を表し、ＷｉｄｔｈとＨｅｉｇｈｔは表示サイズの幅と高さを表す。例えば、Ｉｃｏｎ２のオブジェクトのＢｅｇｉｎの値はＩｃｏｎ１．Ｅｎｄ＋５であり、これはＩｃｏｎ１の右端から右側に５ずれた位置に表示することを意味する。同様に、Ｂｏｘ１のＨｅｉｇｈｔの値はＳｃｒｅｅｎ．Ｈｅｉｇｈｔ＊０．１２５であり、これは表示領域の高さの１／８の高さとすることを意味する。従って、Ｂｏｘ１の高さは、表示領域サイズに応じて変化する。このように、レイアウト決定部２０１は、すべてのオブジェクトの表示位置とサイズを決定後、その情報をＲＡＭ１０２に記憶する。
【００２２】
共通オブジェクト特定部２０２は、レイアウト規則４０１を参照して、表示領域が変更された場合でも描画サイズが変化しない共通オブジェクトを特定する。共通オブジェクト特定部２０２は、まず、レイアウト規則４０１のうち、サイズに影響を与えるものと与えないものに分類し、影響を与える規則の値を調査する。本実施形態においては、ＷｉｄｔｈとＨｅｉｇｈｔの値が描画サイズに影響する。そこで、共通オブジェクト特定部２０２は、各オブジェクトのＷｉｄｔｈやＨｅｉｇｈｔの値が表示領域サイズに依存せず一定であるか否かを調査する。例えば、Ｉｃｏｎ２のＷｉｄｔｈの値は５０という定数であるため、一定となる。一方、Ｂｏｘ１のＷｉｄｔｈの値はＳｃｒｅｅｎ．Ｗｉｄｔｈと同じであるため、表示領域サイズに応じて変化することがわかる。また、Ｌａｂｅｌ１のＷｉｄｔｈの値はＢｏｘ１のＷｉｄｔｈの値と同一であり、Ｂｏｘ１のＷｉｄｔｈはＳｃｒｅｅｎ．Ｗｉｄｔｈと同一であることから、Ｌａｂｅｌ１の幅も表示領域サイズに応じて変化する。しかし、Ｌａｂｅｌ１は文字列を表示するオブジェクトであり、各文字はオブジェクトの横幅が広がった場合にも描画結果が変化しないため、サイズへの影響はないと判定する。
【００２３】
共通オブジェクト特定部２０２は、このように、個々のレイアウト規則４０１に対してサイズへの影響があるか否かを調査した後、すべてのレイアウト規則がサイズに影響しないと判断されたオブジェクトを、共通オブジェクトをとして特定する。共通オブジェクトは、表示領域のサイズが変化しても自身の表示サイズが変化しないため、表示領域のサイズを変更した際、以前の描画結果を再利用することができる。
【００２４】
さらに、共通オブジェクト特定部２０２は、レイアウト規則４０１を参照して、共通オブジェクトの優先度を決定する。ここで、優先度は、共通オブジェクトに対応する描画データをキャッシュメモリから削除する際に参照する値である。本実施形態においては、共通オブジェクト特定部２０２は、描画内容不変性４０２の情報を参照し、表示領域サイズに応じて描画内容が変化しないオブジェクトに対し、描画内容が変化するオブジェクトに比べてより高い優先度を決定することとする。例えば、Ｌａｂｅｌ３のオブジェクトは、テレビに対応する表示領域において、文字列の内容が「ＷＢ」から「Ｗｈｉｔｅ  Ｂａｌａｎｃｅ」に変更される。したがって、変更のない共通オブジェクトの優先度が１であるところ、Ｌａｂｅｌ３のオブジェクトの優先度は２に決定される。描画部２０３は、ＲＡＭ１０２の残領域が少なくなった場合には、この優先度に従い、優先度が低い順に削除対象の描画データを選択し、選択した描画データをキャッシュメモリから削除する。
【００２５】
本実施形態の場合、優先度が低い順に描画データを削除する為には、優先度の値がより大きい対象の描画データを優先的に削除する。しかしながら、優先度の値の定義は逆であっても良い。すなわち、描画内容に変更が生じない共通オブジェクトの優先度には、描画内容が変化するオブジェクトより高い優先度として、より大きい値を優先度として付与し、キャッシュを削除する際には優先度の値が小さい対象から削除してもよい。いずれの場合も、描画内容が変化するオブジェクトの描画データは、再利用できる頻度が、描画内容に変化がないオブジェクトの描画データより低い可能性が高いために、優先してキャッシュを削除される。
【００２６】
なお、他の例としては、共通オブジェクト特定部２０２は、表示領域サイズに応じて描画内容が変化するか否かだけでなく、変化量に応じて優先度を異ならせてもよい。例えば、変化量が多い共通オブジェクトに対しては変化量の少ない共通オブジェクトに比べて、再利用できる頻度がより低い可能性があるので、優先的に削除するためにより低い優先度を決定してもよい。
【００２７】
図５は、デジタルカメラによるレイアウト処理を示すフローチャートである。Ｓ５００において、制御部２００は、ＲＯＭ１０１から、出力先の表示領域サイズを取得する。水平に保持されたディスプレイの表示領域３００の場合は、制御部２００は、横幅：９６０、縦幅：７２０が表示領域サイズとして取得する。垂直に保持されたディスプレイの表示領域３０１の場合は、制御部２００は、横幅：７２０、縦幅：９６０を取得する。テレビの表示領域３０２の場合は、制御部２００は、横幅：１９２０、縦幅：１０８０を取得する。
【００２８】
次に、Ｓ５０１において、制御部２００は、表示領域のレイアウト規則をＲＯＭ１０１から取得する。次に、Ｓ５０２において、制御部２００は、表示データに含まれる複数のオブジェクトのうち、一番奥側のオブジェクトを処理対象として設定する。以下、処理対象のオブジェクトを対象オブジェクトと称する。次に、Ｓ５０３において、レイアウト決定部２０１は、対象オブジェクトの描画位置及び描画サイズを決定する。そして、レイアウト決定部２０１は、決定した描画位置及び描画サイズをＲＡＭ１０２に記憶する。
【００２９】
次に、Ｓ５０４において、共通オブジェクト特定部２０２は、対象オブジェクトのすべてのレイアウト規則について描画サイズに影響するか否かを判定する。ここで、レイアウト規則が描画サイズに影響するとは、対象オブジェクトが表示される表示領域の表示領域サイズに依存して描画サイズが変更されることを意味する。一方で、レイアウト規則が描画サイズに影響しない場合には、描画サイズは表示領域サイズに依存せず、常に同じサイズとなる。
【００３０】
共通オブジェクト特定部２０２は、少なくとも１つのレイアウト規則が描画サイズに影響する場合には（Ｓ５０４でＹｅｓ）、処理をＳ５０９へ進める。共通オブジェクト特定部２０２は、すべてのレイアウト規則が描画サイズに影響しない場合には（Ｓ５０４でＮｏ）、処理をＳ５０５へ進める。Ｓ５０５において、共通オブジェクト特定部２０２は、対象オブジェクトを共通オブジェクトとして特定し、共通オブジェクトとして特定した対象オブジェクトの情報をＲＡＭ１０２に記憶する。
【００３１】
Ｓ５０６において、共通オブジェクト特定部２０２は、対象オブジェクトにより描画される描画内容がレイアウトによって変動するか否かを判定する。共通オブジェクト特定部２０２は、描画内容が変動する場合には（Ｓ５０６でＹｅｓ）、処理をＳ５０８へ進める。共通オブジェクト特定部２０２は、描画内容が変動しない場合には（Ｓ５０６でＮｏ）、処理をＳ５０７へ進める。Ｓ５０７において、共通オブジェクト特定部２０２は、対象オブジェクトの優先度を１に決定し、その後処理をＳ５０９へ進める。一方、Ｓ５０８において、共通オブジェクト特定部２０２は、対象オブジェクトの優先度を２に決定し、その後処理をＳ５０９へ進める。
【００３２】
Ｓ５０９において、制御部２００は、表示データに含まれるすべてのオブジェクトに対しＳ５０３〜Ｓ５０８の処理が終了したか否かを判定する。制御部２００は、すべてのオブジェクトに対して処理が終了した場合には（Ｓ５０９でＹｅｓ）、処理をＳ５１１へ進める。制御部２００は、未処理のオブジェクトが存在する場合には（Ｓ５０９でＮｏ）、処理をＳ５１０へ進める。Ｓ５１０において、制御部２００は、直前に処理したオブジェクトの１つ手前のオブジェクトを対象オブジェクトに設定し、その後処理をＳ５０３へ進める。Ｓ５１１においては、描画部２０３、表示データに含まれるすべてのオブジェクトに対する描画処理を行う。以上で処理は終了する。
【００３３】
図６は、描画処理（Ｓ５１１）における詳細な処理を示すフローチャートである。Ｓ６００において、描画部２０３は、表示データに含まれる複数のオブジェクトのうち一番奥側のオブジェクトを描画対象に設定する。以下、描画対象のオブジェクトを対象オブジェクトと称する。次に、Ｓ６０１において、描画部２０３は、対象オブジェクトの描画結果のキャッシュを利用可能かどうか判定する。描画部２０３は、まずＲＡＭ１０２上にこのオブジェクトのキャッシュデータが存在するどうか、すなわちキャッシュバッファに対象オブジェクトの描画データが存在するか否かを確認する。描画部２０３は、さらに描画データが存在する場合には描画データの作成時点以降において表示に係る設定が変更されたか否かを確認する。そして、描画部２０３は、描画データが存在し、かつ表示に係る設定が変更されていない場合には、キャッシュを利用可能と判定する。描画部２０３は、キャッシュが利用可能な場合には（Ｓ６０１でＹｅｓ）、処理をＳ６０８へ進める。描画部２０３は、キャッシュが利用可能でない場合には（Ｓ６０１でＮｏ）、処理をＳ６０２へ進める。
【００３４】
Ｓ６０２において、描画部２０３は、対象オブジェクトが共通オブジェクトかどうか判定する。描画部２０３は、対象オブジェクトが共通オブジェクトでない場合（Ｓ６０２でＮｏ）、処理をＳ６０３へ進める。描画部２０３は、対象オブジェクトが共通オブジェクトの場合には（Ｓ６０２でＹｅｓ）、処理をＳ６０４へ進める。Ｓ６０３において、描画部２０３は、メインバッファに対象オブジェクトを描画し、その後処理をＳ６０９へ進める。
【００３５】
また、Ｓ６０４においては、描画部２０３は、対象オブジェクトの描画データを格納するのに十分なキャッシュバッファ用の空き容量がＲＡＭ１０２に存在するか確認する。描画部２０３は、空き容量がある場合（Ｓ６０４でＹｅｓ）、処理をＳ６０６へ進める。描画部２０３は、空き容量がない場合には（Ｓ６０４でＮｏ）、処理をＳ６０５へ進める。Ｓ６０５において、描画部２０３は、キャッシュバッファに格納されている描画データの中から優先度の高い描画データを削除対象として選択し、選択した描画データをキャッシュバッファから削除する。描画部２０３は、この削除処理を対象オブジェクトの描画データを格納するのに十分なメモリ領域を確保できるまで繰り返す。なお、描画部２０３は、優先度が等しい複数の描画データが存在する場合には、最も古いものから順に削除することとする。
【００３６】
次に、Ｓ６０６において、描画部２０３は、対象オブジェクトのキャッシュバッファをＲＡＭ１０２上に作成する。次に、Ｓ６０７において、描画部２０３は、Ｓ６０６において作成したキャッシュバッファにオブジェクトを描画する。次に、Ｓ６０８において、描画部２０３は、キャッシュバッファに描画した描画データをメインバッファにコピーする。なお、キャッシュバッファ及びメインバッファは、それぞれキャッシュメモリ及びメインメモリの一例である。
【００３７】
次に、Ｓ６０９において、描画部２０３は、表示データに含まれる全てのオブジェクトに対し、Ｓ６０１〜Ｓ６０８の処理を終了したか否かを判定する。描画部２０３は、すべてのオブジェクトに対し処理が終了した場合には（Ｓ６０９でＹｅｓ）、処理を終了する。描画部２０３は、未処理のオブジェクトが存在する場合には（Ｓ６０９でＮｏ）、処理をＳ６１０へ進める。Ｓ６１０において、制御部２００は、直前に処理したオブジェクトの１つ手前のオブジェクトを対象オブジェクトに設定し、その後処理をＳ６０１へ進める。
【００３８】
以上のように、本実施形態に係るデジタルカメラにおいては、表示データを表示する表示領域の表示領域サイズが異なる場合においても、共通オブジェクトについては、キャッシュデータを利用することができる。これにより、高速にオブジェクトを表示することができる。すなわち、デジタルカメラは、表示データのオブジェクトを適切にキャッシュすることにより、表示領域のサイズが変更された場合における表示処理に係る処理速度を向上させることができる。
【００３９】
なお、本実施形態においては、表示データに含まれるオブジェクトはＧＵＩであることしたが、オブジェクトの種類は実施形態に限定されるものではない。また、表示領域のサイズや形状も実施形態に限定されるものではない。例えば、ディスプレイの描画領域全体を複数に分割し、その各領域に異なるＧＵＩを表示する場合でも、各分割領域に対して本発明を適用することができる。また、レイアウト規則４０１の具体的な種別や値、その数なども実施形態に限定されるものではなく、オブジェクトを描画領域にレイアウトするための情報であればよい。
【００４０】
また、共通オブジェクト特定部２０２の処理はデジタルカメラ以外の情報処理装置において実行されてもよい。この場合、デジタルカメラのＲＯＭ１０１に他の装置において実行された実行結果が格納されることとする。
【００４１】
また、変更例としては、共通オブジェクト特定部２０２が共通オブジェクトの優先度を決定する処理は実施形態に限定されるものではない。他の例としては、共通オブジェクト特定部２０２は、共通オブジェクトの描画データの描画に係る処理時間に基づいて、優先度を決定してもよい。具体的には、共通オブジェクト特定部２０２は、処理時間が長い程より大きい優先度を決定する。この場合、ＲＯＭ１０１は、描画内容不変性４０２に替えて、各オブジェクトの平均描画時間を示す情報を格納しているものとする。また、他の例としては、描画部２０３が各オブジェクトを描画した際に要した処理時間を計測し、この結果をＲＡＭ１０２に格納しておいてもよい。
【００４２】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００４３】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４４】
２０１  レイアウト決定部
２０２  共通オブジェクト特定部
２０３  描画部
【図１】
2018032259.tif 000003
【図２】
2018032259.tif 000004
【図３】
2018032259.tif 000005
【図４】
2018032259.tif 000006
【図５】
2018032259.tif 000007
【図６】
2018032259.tif 000008