(57)【要約】【課題】少ない容量のＲＡＭを使用しながら迅速に起動可能な描画管理装置、描画管理方法、描画管理プログラム、及びカメラを得る。【解決手段】リソースは出荷時に圧縮されてＲＯＭ１１３に記憶され、デジタルカメラ１００が起動されたとき、あるいはリソースを使用するときにＲＯＭ１１３から読み出されＲＡＭ１１４に記憶される。ＲＡＭ１１４の内部には、リソースバッファ１１４ａ、テンポラリバッファ１１４ｂ、及びＶＲＡＭ１１４ｃという記憶領域が設けられる。リソースバッファ１１４ａは、解凍済みのリソースを保存する領域である。ＶＲＡＭ１１４ｃはモニタ１１５にリソースを表示するために用いられる領域である。使用頻度が閾値よりも低いリソースは起動時にＲＡＭ１１４に記憶されずに、使用時にＲＡＭ１１４に記憶される。そして使用頻度が閾値よりも高いリソースは起動時にＲＡＭ１１４に記憶される。閾値は動作モードに応じて決定される。【選択図】図１
2016053831.tif 000002
【特許請求の範囲】
【請求項１】
画面に表示する複数の描画リソースを管理する描画管理装置であって、
前記描画リソースに関する情報であるリソース管理情報と前記描画リソースとを記憶する第１記憶部と、
前記描画リソースを前記画面に表示する前に、前記描画リソースの一部を記憶する第２記憶部と、
画面の描画が更新されたときに、前記リソース管理情報を更新する情報更新部と、
前記リソース管理情報が所定の条件に合致するか判断し、合致するリソース管理情報に対応する描画リソースを前記第１記憶部から読み出して前記第２記憶部に記憶させる管理部とを備える描画管理装置。
【請求項２】
前記管理部は、前記描画管理装置の電源が投入されたときに、前記描画リソースの一部を前記第１記憶部から読み出して前記第２記憶部に記憶させる請求項１に記載の描画管理装置。
【請求項３】
前記管理部は、画面の描画が更新されたときに、前記リソース管理情報が所定の条件に合致するか判断し、合致するリソース管理情報に対応する描画リソースを前記第１記憶部から読み出して前記第２記憶部に記憶させ、合致しないリソース管理情報に対応する描画リソースを前記第２記憶部から削除する請求項１又は２に記載の描画管理装置。
【請求項４】
前記リソース管理情報は、前記描画リソースが画面に表示された回数に基づいて求められるカウンタを有し、
前記管理部は、前記カウンタが所定値未満になった描画リソースを前記第２記憶部から削除させる請求項１から３のいずれかに記載の描画管理装置。
【請求項５】
前記管理部は、前記カウンタが所定値以上になった描画リソースを前記第２記憶部に記憶させる請求項４に記載の描画管理装置。
【請求項６】
前記情報更新部は、前記描画リソースが画面に表示されたときに前記カウンタを増やし、前記描画リソースが画面に表示されなかったときに前記カウンタを減らす請求項４又は５に記載の描画管理装置。
【請求項７】
前記リソース管理情報は、前記描画リソース毎に決定される優先度を有し、
前記管理部は、前記描画リソースが有する優先度に応じて、前記描画リソースを前記第２記憶部に記憶させ、又は前記描画リソースを前記第２記憶部から削除させる請求項３に記載の描画管理装置。
【請求項８】
前記管理部は、前記描画管理装置の電源が切断されたときに、前記リソース管理情報の全てを前記第２記憶部から読み出して前記第１記憶部に記憶させる請求項１から７のいずれかに記載の描画管理装置。
【請求項９】
請求項１から８のいずれかに記載の描画管理装置を備えるカメラ。
【請求項１０】
画面に表示する複数の描画リソースを管理する描画管理方法であって、
前記描画リソースに関する情報であるリソース管理情報と前記描画リソースとを第１記憶部に記憶させるステップと、
前記描画リソースを前記画面に表示する前に、前記描画リソースの一部を第２記憶部に記憶させるステップと、
画面の描画が更新されたときに前記リソース管理情報を情報更新部に更新させるステップと、
前記リソース管理情報が所定の条件に合致するか判断し、合致するリソース管理情報に対応する描画リソースを前記第１記憶部から管理部に読み出させて前記第２記憶部に記憶させるステップとを備える描画管理方法。
【請求項１１】
画面に表示する複数の描画リソースを管理する描画管理プログラムであって、
前記描画リソースに関する情報であるリソース管理情報と前記描画リソースとを第１記憶部に記憶させるステップと、
前記描画リソースを前記画面に表示する前に、前記描画リソースの一部を第２記憶部に記憶させるステップと、
画面の描画が更新されたときに前記リソース管理情報を情報更新部に更新させるステップと、
前記リソース管理情報が所定の条件に合致するか判断し、合致するリソース管理情報に対応する描画リソースを前記第１記憶部から管理部に読み出させて前記第２記憶部に記憶させるステップとを備える描画管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面に表示する複数の描画リソースを管理する描画管理装置、描画管理方法、描画管理プログラム、及びカメラに関する。
【背景技術】
【０００２】
電源が投入されたときに、フラッシュメモリに記憶している言語リソースを読み出してＲＡＭに記憶し、ＲＡＭに記憶された言語リソースを使用して動作する装置が知られている。フラッシュメモリに記憶されている言語リソースは圧縮されており、解凍された後にＲＡＭに記憶される。言語リソースは、例えば画面に表示されるアイコンや文字列である（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−０８７１０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、電源を投入したときに全ての言語リソースを解凍してＲＡＭに記憶する構成では、電源投入から装置の起動が完了するまでの期間が長くなって、ユーザの使用感が悪化するおそれがある。さらに、全ての言語リソースを記憶するためにＲＡＭの容量を大きくしなければならないため、装置のコストが増大する。
【０００５】
本発明はこれらの問題に鑑みてなされたものであり、少ない容量のＲＡＭを使用しながら迅速に起動可能な描画管理装置、描画管理方法、描画管理プログラム、及びカメラを得ることを目的とする。
【課題を解決するための手段】
【０００６】
本願第１の発明による描画管理装置は、画面に表示する複数の描画リソースを管理する描画管理装置であって、描画リソースに関する情報であるリソース管理情報と描画リソースとを記憶する第１記憶部と、描画リソースを画面に表示する前に、描画リソースの一部を記憶する第２記憶部と、画面の描画が更新されたときに、リソース管理情報を更新する情報更新部と、リソース管理情報が所定の条件に合致するか判断し、合致するリソース管理情報に対応する描画リソースを第１記憶部から読み出して第２記憶部に記憶させる管理部とを備えることを特徴とする。
【０００７】
管理部は、描画管理装置の電源が投入されたときに、描画リソースの一部を第１記憶部から読み出して第２記憶部に記憶させることが好ましい。
【０００８】
管理部は、画面の描画が更新されたときに、リソース管理情報が所定の条件に合致するか判断し、合致するリソース管理情報に対応する描画リソースを第１記憶部から読み出して第２記憶部に記憶させ、合致しないリソース管理情報に対応する描画リソースを第２記憶部から削除することが好ましい。
【０００９】
リソース管理情報は、描画リソースが画面に表示された回数に基づいて求められるカウンタを有し、管理部は、カウンタが所定値未満になった描画リソースを第２記憶部から削除させてもよい。
【００１０】
管理部は、カウンタが所定値以上になった描画リソースを第２記憶部に記憶させることが好ましい。
【００１１】
情報更新部は、描画リソースが画面に表示されたときにカウンタを増やし、描画リソースが画面に表示されなかったときにカウンタを減らすことが好ましい。
【００１２】
リソース管理情報は、描画リソース毎に決定される優先度を有し、管理部は、描画リソースが有する優先度に応じて、描画リソースを第２記憶部に記憶させ、又は描画リソースを第２記憶部から削除させてもよい。
【００１３】
管理部は、描画管理装置の電源が切断されたときに、リソース管理情報の全てを第２記憶部から読み出して第１記憶部に記憶させることが好ましい。
【００１４】
本願第２の発明によるカメラは、前記描画管理装置を備えることを特徴とする。
【００１５】
本願第３の発明による描画管理方法は、画面に表示する複数の描画リソースを管理する描画管理方法であって、描画リソースに関する情報であるリソース管理情報と描画リソースとを第１記憶部に記憶させるステップと、描画リソースを画面に表示する前に、描画リソースの一部を第２記憶部に記憶させるステップと、画面の描画が更新されたときにリソース管理情報を情報更新部に更新させるステップと、リソース管理情報が所定の条件に合致するか判断し、合致するリソース管理情報に対応する描画リソースを第１記憶部から管理部に読み出させて第２記憶部に記憶させるステップとを備えることを特徴とする。
【００１６】
本願第４の発明による描画管理プログラムは、画面に表示する複数の描画リソースを管理する描画管理プログラムであって、描画リソースに関する情報であるリソース管理情報と描画リソースとを第１記憶部に記憶させるステップと、描画リソースを画面に表示する前に、描画リソースの一部を第２記憶部に記憶させるステップと、画面の描画が更新されたときにリソース管理情報を情報更新部に更新させるステップと、リソース管理情報が所定の条件に合致するか判断し、合致するリソース管理情報に対応する描画リソースを第１記憶部から管理部に読み出させて第２記憶部に記憶させるステップとを備えることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、少ない容量のＲＡＭを使用しながら迅速に起動可能な描画管理装置、描画管理方法、描画管理プログラム、及びカメラを得る。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態による描画管理装置を備える撮像装置を概略的に示したブロック図である。
【図２】モニタの表示状態を示した図である。
【図３】ＲＯＭに記憶されるリソース管理情報の構成を示した図である。
【図４】ＲＡＭに記憶されるリソース管理情報の構成を示した図である。
【図５】描画リソースＩＤの配列を示した図である。
【図６】起動時におけるＲＯＭとＲＡＭとのデータのやりとりを概略的に示した図である。
【図７】起動時リソース展開処理を示したフローチャートである。
【図８】起動時リソース管理情報更新処理を示したフローチャートである。
【図９】起動時リソース管理情報展開処理を示したフローチャートである。
【図１０】モード切替処理を示したフローチャートである。
【図１１】描画時におけるＲＯＭとＲＡＭとのデータのやりとりを概略的に示した図である。
【図１２】描画更新処理を示したフローチャートである。
【図１３】描画中リソースＩＤ保存処理を示したフローチャートである。
【図１４】描画更新リソースＩＤ取得処理を示したフローチャートである。
【図１５】描画時リソース管理情報更新処理を示したフローチャートである。
【図１６】リソースバッファ整理処理を示したフローチャートである。
【図１７】描画処理を示したフローチャートである。
【図１８】ＲＡＭに記憶されるリソース管理情報の構成を示した図である。
【図１９】描画時におけるＲＯＭとＲＡＭとのデータのやりとりを概略的に示した図である。
【発明を実施するための形態】
【００１９】
以下、本発明の第１の実施形態による描画管理装置を備えるデジタルカメラ１００について添付図面を参照して説明する。まず、図１を用いてデジタルカメラ１００の構成について説明する。
【００２０】
デジタルカメラ１００は、カメラ本体１１０及び撮影レンズ１２０を有する。撮影レンズ１２０は着脱自在にカメラ本体１１０と取り付けられる。
【００２１】
カメラ本体１１０は、ＣＣＤユニットから成る撮像部１１１、撮像部１１１に接続されるＤＳＰ１１２、デジタルカメラ１００のファームウェアなどを記録するＲＯＭ１１３、ＤＳＰ１１２から各種情報を受信して記憶するＲＡＭ１１４と、ＤＳＰ１１２から受信した情報を表示するモニタ１１５とを主に備える。ＤＳＰ１１２、ＲＯＭ１１３、及びＲＡＭ１１４が描画管理装置を主に構成し、ＤＳＰ１１２が情報更新部及び管理部を、ＲＯＭ１１３が第１記憶部を構成する。
【００２２】
デジタルカメラ１００の動作を概略的に説明する。撮影レンズ１２０は撮像部１１１に被写体像を結像させ、撮像部１１１は被写体像を撮像して、例えば約２４ｆｐｓの周期で静止画像を連続的に出力する。ＤＳＰ１１２は、静止画像を受信して所定の画像処理を施した後、モニタ１１５に送信する。モニタ１１５は、静止画像を表示する。ＤＳＰ１１２にはシャッタレリーズ１１６が接続される。ユーザがシャッタレリーズ１１６を押し下げると、ＤＳＰ１１２は撮像部１１１から受信した静止画像を一時的にＲＡＭ１１４に記憶しながら画像処理を施して静止画又は動画を作成し、記憶媒体１１７に記録する。
【００２３】
デジタルカメラ１００は複数の動作モード、すなわち静止画連写モード、静止画単写モード、動画撮影モード、再生モード、及びメニューモードを有する。図示しないモード切替スイッチをユーザが操作したときに、動作モードが切り替えられる。
【００２４】
静止画連写モードは静止画を連続して撮影する動作モードであり、静止画単写モードは静止画を１枚だけ撮影する動作モードであり、動画撮影モードは動画を撮影する動作モードである。再生モードは記憶媒体１１７に記録されている静止画又は動画をモニタ１１５に表示する動作モードである。そしてメニューモードは、デジタルカメラ１００の動作を設定する動作モードであって、設定するときにユーザが参照するメニュー画面をモニタ１１５に表示する。モニタ１１５は、周期的に表示を更新しながら、これらを表示する。
【００２５】
静止画連写モード、静止画単写モード、動画撮影モード、及び再生モードでは、画像に加えてアイコンや文字列がモニタ１１５に表示され、メニューモードでは、アイコン及び文字列がモニタ１１５に表示される。例えば静止画単写モードでは、図２に示すような画像がモニタ１１５に表示される。モニタ１１５の全体には静止画が表示され、モニタ外縁付近にはアイコン２１、２２や文字列２３が表示される。
【００２６】
アイコン及び文字列は、出荷時に圧縮されてＲＯＭ１１３に記憶される。そしてデジタルカメラ１００が起動されたとき、あるいはアイコン及び文字列を使用するときにＲＯＭ１１３から読み出され、解凍された後にＲＡＭ１１４に記憶される。ＤＳＰ１１２はＲＡＭ１１４に記憶されているアイコン及び文字列を用いてモニタ１１５に表示する。以下、アイコン及び文字列を描画リソースと呼ぶ。
【００２７】
ＲＡＭ１１４の内部には、リソースバッファ１１４ａ、テンポラリバッファ１１４ｂ、及びＶＲＡＭ１１４ｃという記憶領域が設けられる。リソースバッファ１１４ａは、解凍済みの描画リソースを保存する領域であって、第２記憶部を構成する。テンポラリバッファ１１４ｂは、ＲＯＭ１１３から取得した描画リソースをリソースバッファ１１４ａ又はＶＲＡＭ１１４ｃに転送する間、一時的に保存する領域である。ＶＲＡＭ１１４ｃはモニタ１１５に描画リソースを表示するために用いられる領域である。
【００２８】
描画リソースは、その使用頻度に応じてＲＡＭ１１４に記憶される。すなわち、使用頻度が閾値よりも低い描画リソースは起動時にＲＡＭ１１４に記憶されずに、使用時にＲＡＭ１１４に記憶される。そして使用頻度が閾値よりも高い描画リソースは起動時にＲＡＭ１１４に記憶される。閾値はＤＥＣ＿ＣＯＵＮＴで表され、後述するモード切替処理を実行することにより動作モードに応じて決定される。
【００２９】
各動作モード毎に閾値が予め決定される。静止画連写モードにおける閾値はＣＯＵＮＴ＿Ａ、動画撮影モードにおける閾値はＣＯＵＮＴ＿Ｂ、静止画単写モードにおける閾値はＣＯＵＮＴ＿Ｃ、再生モードにおける閾値はＣＯＵＮＴ＿Ｄ、メニューモードにおける閾値はＣＯＵＮＴ＿Ｅである。各動作モードにおいて、ＤＳＰ１１２はＲＡＭ１１４にデータを一時的に保存させながら様々な処理を行う。このとき、静止画連写モード、動画撮影モード、静止画単写モード、再生モード、メニューモードの順にＤＳＰ１１２はＲＡＭ１１４に多くのデータを保存させる。そこで、ＣＯＵＮＴ＿Ａ＞ＣＯＵＮＴ＿Ｂ＞ＣＯＵＮＴ＿Ｃ＞ＣＯＵＮＴ＿Ｄ＞ＣＯＵＮＴ＿Ｅを満たすように閾値の値を設定することにより、ＤＳＰ１１２の動作に必要な記憶領域をＲＡＭ１１４に最大限確保しながら、使用頻度が高い描画リソースをＲＡＭ１１４に記憶させることができる。
【００３０】
本実施形態では、描画リソースの１つ１つに対してリソース管理情報を設け、ＲＡＭ１１４に記憶するタイミングを管理する。以下、ＲＯＭ１１３に記憶されているリソース管理情報をリソースＲＯＭ管理情報、ＲＡＭ１１４に記憶されているリソース管理情報をリソースＲＡＭ管理情報と呼ぶ。
【００３１】
次に、図３及び４を用いてリソース管理情報について説明する。
【００３２】
リソースＲＯＭ管理情報は予めＲＯＭ１１３に記憶されており、デジタルカメラ１００を起動したときに全てのリソースＲＯＭ管理情報がＲＯＭ１１３から読み出されてＲＡＭ１１４に記憶される。ＲＯＭ１１３に記憶されているリソースＲＯＭ管理情報を図３が示す。
【００３３】
ＲＯＭ１１３に記憶されているリソースＲＯＭ管理情報は、ＲｅｓｏｕｒｃｅＩｎｆｏ［ｉ］で表され、リソースＩＤ、ＲＯＭカウンタ、リソースＲＯＭデータポインタ、及びリソースＲＯＭデータサイズを備える。リソースＩＤはＲｅｓｏｕｒｃｅＩｎｆｏ［ｉ］．ＩＤで表され、描画リソース毎に付けられる文字列であって、１つの描画リソースに１つのリソースＩＤが対応する。ＲＯＭカウンタは、ＲｅｓｏｕｒｃｅＩｎｆｏ［ｉ］．Ｃｏｕｎｔで表され、描画リソースが使用される度に１ずつ増やされる数である。リソースＲＯＭデータポインタは、ＲｅｓｏｕｒｃｅＩｎｆｏ［ｉ］．Ｄａｔａで表され、ＲＯＭ１１３において描画リソースが格納されているメモリアドレスを示す。リソースＲＯＭデータサイズは、ＲｅｓｏｕｒｃｅＩｎｆｏ［ｉ］．ＤａｔａＳｉｚｅで表され、描画リソースのデータサイズを示す。
【００３４】
次に、ＲＡＭ１１４に記憶されているリソース管理情報を図４に示す。
【００３５】
ＲＡＭ１１４に記憶されているリソースＲＡＭ管理情報は、ＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］で表され、リソースＲＡＭＩＤ、ＲＡＭカウンタ、リソースＲＡＭデータポインタ、リソースＲＡＭデータサイズ、解凍済みフラグ、解凍済みリソースデータポインタ、及び解凍済みリソースデータサイズを備える。リソースＲＡＭＩＤはＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．ＩＤで表され、リソースＩＤが代入される。ＲＡＭカウンタは、ＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．Ｃｏｕｎｔで表され、描画リソースが使用される度に１ずつ増やされる数である。リソースＲＡＭデータポインタは、ＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．Ｄａｔａで表され、リソースＲＯＭデータポインタが代入される。リソースＲＡＭデータサイズは、ＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．ＤａｔａＳｉｚｅで表され、リソースＲＯＭデータサイズが代入される。解凍済みフラグは、ＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．Ｄｅｃｏｄｅｄで表され、描画リソースが解凍されているか否かを示すフラグである。解凍されているときは１が代入され、解凍されていないときには０が代入される。解凍済みリソースデータポインタは、ＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．ＤｅｃＤａｔａで表され、解凍済みの描画リソースが格納されているＲＡＭ１１４内のメモリアドレスを示す。解凍済みリソースデータサイズは、ＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．ＤｅｃＤａｔａＳｉｚｅで表され、解凍されている描画リソースのデータサイズを示す。
【００３６】
図５は、ＲＡＭ１１４に記憶されるリソースＩＤ配列を示す。リソースＩＤ配列は、描画リソースが使用されているかを管理するために用いられる配列であって、使用済みリソースＩＤ配列ＯｌｄＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］と、使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］とを有する。使用済みリソースＩＤ配列及び使用リソースＩＤ配列は、全描画リソース数ＲＥＳＯＵＲＣＥ＿ＭＡＸと同数のリソースＩＤから成る配列である。
【００３７】
次に、デジタルカメラ１００が起動されたときにＲＯＭ１１３から描画リソースを読み出してＲＡＭ１１４に記憶する起動時リソース展開処理について、図６及び７を用いて説明する。起動時リソース展開処理は、デジタルカメラ１００の電源が投入されたときに実行される。
【００３８】
ステップＳ７１では、後述する起動時リソース管理情報更新処理を実行する。起動時リソース管理情報更新処理は、ＲＯＭ１１３からリソースＲＯＭ管理情報を読み出して、リソースＲＡＭ管理情報としてＲＡＭ１１４に記憶する処理である。次のステップＳ７２では、後述する起動時リソース管理情報展開処理を実行する。起動時リソース管理情報展開処理は、ＲＯＭ１１３から描画リソースを読み出して解凍し、ＲＡＭ１１４に記憶する処理である。そして処理を終了する。
【００３９】
次に、図６及び８を用いて起動時リソース管理情報更新処理について説明する。起動時リソース管理情報更新処理は、起動時リソース展開処理のステップＳ７１において実行される。
【００４０】
始めのステップＳ８１では、変数ｉに１を代入する。次のステップＳ８２では、リソースＲＡＭ管理情報ＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］にリソースＲＯＭ管理情報ＲｅｓｏｕｒｃｅＩｎｆｏ［ｉ］をコピーする。すなわち、リソースＩＤＲｅｓｏｕｒｃｅＩｎｆｏ［ｉ］．ＩＤをリソースＲＡＭＩＤＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．ＩＤにコピーし、ＲＯＭカウンタＲｅｓｏｕｒｃｅＩｎｆｏ［ｉ］．ＣｏｕｎｔをＲＡＭカウンタＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．Ｃｏｕｎｔにコピーする。そして次のステップＳ８３において変数ｉを１だけ増やしてステップＳ８４に進む。
【００４１】
ステップＳ８４では、変数ｉが全描画リソース数ＲＥＳＯＵＲＣＥ＿ＭＡＸよりも大きいか否かを判断する。大きくない場合、処理はステップＳ８２に戻り、ステップＳ８３の処理を再度実行する。大きい場合、処理は終了する。ステップＳ８２からＳ８４までの処理を繰り返すことにより、全てのリソースＲＯＭ管理情報がＲＯＭ１１３からＲＡＭ１１４にコピーされる。
【００４２】
次に、図９を用いて起動時リソース管理情報展開処理について説明する。起動時リソース管理情報展開処理は、起動時リソース展開処理のステップＳ７２において実行される。
【００４３】
始めのステップＳ９１では、変数ｉに１を代入する。次のステップＳ９２では、ＲＡＭカウンタＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．Ｃｏｕｎｔが閾値ＤＥＣ＿ＣＯＵＮＴよりも大きいか否かを判断する。大きい場合、処理はステップＳ９４に進み、大きくない場合、処理はステップＳ９３に進む。
【００４４】
ステップＳ９３では、解凍済みフラグＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．Ｄｅｃｏｄｅｄに０を代入する。前述のように、解凍済みフラグＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．Ｄｅｃｏｄｅｄが０であるときは、対応する描画リソースが解凍されていないことを示す。そしてステップＳ９７に進む。
【００４５】
他方、ステップＳ９４では、ＲＯＭ１１３から描画リソースを読み出して解凍し、ＲＡＭ１１４に記憶する。次のステップＳ９５では、解凍済みリソースデータポインタＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．ＤｅｃＤａｔａに、ＲＡＭ１１４において描画リソースが格納されているメモリアドレスを書き込み、解凍済みリソースデータサイズＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．ＤｅｃＤａｔａＳｉｚｅに、解凍された描画リソースのデータサイズを書き込む。次のステップＳ９６では、解凍済みフラグＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．Ｄｅｃｏｄｅｄに１を代入する。前述のように、解凍済みフラグＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．Ｄｅｃｏｄｅｄが１であるときは、対応する描画リソースが解凍されていることを示す。そしてステップＳ９７に進む。
【００４６】
ステップＳ９７では、変数ｉを１だけ増やしてステップＳ９８に進む。
【００４７】
ステップＳ９８では、変数ｉが全描画リソース数ＲＥＳＯＵＲＣＥ＿ＭＡＸよりも大きいか否かを判断する。大きくない場合、処理はステップＳ９２に戻り、ステップＳ９２からＳ９７までの処理を再度実行する。大きい場合、処理は終了する。ステップＳ９２からＳ９７までの処理を繰り返すことにより、使用頻度が閾値ＤＥＣ＿ＣＯＵＮＴよりも高い描画リソースをＲＡＭ１１４に記憶することができる。
【００４８】
次に、図１０を用いてモード切替処理について説明する。モード切替処理は、図示しないモード切替スイッチをユーザが操作したときに実行される。
【００４９】
始めのステップＳ１０１では、動作モードを静止画連写モードに変更するか否かを判断する。変更する場合、処理はステップＳ１０２に進み、変更しない場合処理はステップＳ１０３に進む。ステップＳ１０２では、閾値ＤＥＣ＿ＣＯＵＮＴにＣＯＵＮＴ＿Ａを代入する。ステップＳ１０２を実行した後、処理が終了する。
【００５０】
ステップＳ１０３では、動作モードを動画撮影モードに変更するか否かを判断する。変更する場合、処理はステップＳ１０４に進み、変更しない場合処理はステップＳ１０５に進む。ステップＳ１０４では、閾値ＤＥＣ＿ＣＯＵＮＴにＣＯＵＮＴ＿Ｂを代入する。ステップＳ１０４を実行した後、処理が終了する。
【００５１】
ステップＳ１０５では、動作モードを静止画単写モードに変更するか否かを判断する。変更する場合、処理はステップＳ１０６に進み、変更しない場合処理はステップＳ１０７に進む。ステップＳ１０６では、閾値ＤＥＣ＿ＣＯＵＮＴにＣＯＵＮＴ＿Ｃを代入する。ステップＳ１０６を実行した後、処理が終了する。
【００５２】
ステップＳ１０７では、動作モードを再生モードに変更するか否かを判断する。変更する場合、処理はステップＳ１０８に進み、変更しない場合処理はステップＳ１０９に進む。ステップＳ１０８では、閾値ＤＥＣ＿ＣＯＵＮＴにＣＯＵＮＴ＿Ｄを代入する。ステップＳ１０８を実行した後、処理が終了する。
【００５３】
ステップＳ１０９では、動作モードをメニューモードに変更するか否かを判断する。変更する場合、処理はステップＳ１１０に進み、変更しない場合処理は終了して現在の動作モードを維持する。ステップＳ１１０では、閾値ＤＥＣ＿ＣＯＵＮＴにＣＯＵＮＴ＿Ｅを代入する。ステップＳ１１０を実行した後、処理が終了する。
【００５４】
モード切替処理によりデジタルカメラ１００の動作モードに最適な閾値を設定でき、これにより、使用頻度が高い描画リソースのみをＲＡＭ１１４に記憶させて、ＲＡＭ１１４の記憶領域を節約し、ＤＳＰ１１２の動作に必要な記憶領域をＲＡＭ１１４に最大限確保することができる。
【００５５】
次に、モニタ１１５に描画リソースを描画する描画更新処理について、図１１及び１２を用いて説明する。描画更新処理は、モニタ１１５の表示を更新するときに実行される。
【００５６】
ステップＳ１２１では、後述する描画中リソースＩＤ保存処理を実行する。描画中リソースＩＤ保存処理は、使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］を使用済みリソースＩＤ配列ＯｌｄＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］にコピーする処理である。
【００５７】
次のステップＳ１２２では、後述する描画更新リソースＩＤ取得処理を実行する。描画更新リソースＩＤ取得処理は、モニタ１１５に表示する描画リソースのＩＤを使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］に代入する処理である。
【００５８】
次のステップＳ１２３では、後述する描画時リソース管理情報更新処理を実行する。描画時リソース管理情報更新処理は、使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］と使用済みリソースＩＤ配列ＯｌｄＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］との双方に存在するリソースＩＤに対応するＲＡＭカウンタを増やし、使用済みリソースＩＤ配列ＯｌｄＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］に存在し、使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］に存在しないリソースＩＤに対応するＲＡＭカウンタを減らす処理である。これにより、描画リソースの使用頻度を測定して記録する。
【００５９】
次のステップＳ１２４では、後述するリソースバッファ整理処理を実行する。リソースバッファ整理処理は、解凍され、かつ使用頻度が閾値ＤＥＣ＿ＣＯＵＮＴ以下である描画リソースをリソースバッファ１１４ａから削除する処理である。これにより、使用頻度が低い描画リソースをＲＡＭ１１４から削除して、使用頻度が高い描画リソースを記憶する領域を空ける。
【００６０】
次のステップＳ１２５では、後述する描画処理を実行する。描画処理は、描画に使用する描画リソースをＶＲＡＭ１１４ｃに記憶する処理である。これにより、モニタ１１５が描画リソースを表示することが出来る。そしてこの後、処理が終了する。
【００６１】
次に、図１３を用いて描画中リソースＩＤ保存処理について説明する。描画中リソースＩＤ保存処理は、描画更新処理のステップＳ１２１において実行される。
【００６２】
始めのステップＳ１３１では、変数ｉに１を代入する。次のステップＳ１３２では、使用済みリソースＩＤ配列ＯｌｄＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］に使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］をコピーする。
【００６３】
ステップＳ１３４では、変数ｉが全描画リソース数ＲＥＳＯＵＲＣＥ＿ＭＡＸよりも大きいか否かを判断する。大きくない場合、処理はステップＳ１３２に戻り、ステップＳ１３３の処理を再度実行する。大きい場合、処理は終了する。ステップＳ１３２からＳ１３４までの処理を繰り返すことにより、使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］が有する全てのリソースＩＤを使用済みリソースＩＤ配列ＯｌｄＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］にコピーされる。
【００６４】
次に、図１４を用いて描画更新リソースＩＤ取得処理について説明する。描画更新リソースＩＤ取得処理は、描画更新処理のステップＳ１２２において実行される。
【００６５】
始めのステップＳ１４１では、使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］を構成する要素に０を代入して初期化する。
【００６６】
次のステップＳ１４２では、変数ｉに１を代入する。次のステップＳ１４３では、使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］に描画する描画リソースのＩＤを代入する。そして次のステップＳ１４４において変数ｉを１だけ増やしてステップＳ１４５に進む。
【００６７】
ステップＳ１４５では、モニタ１１５に現在描画する全ての描画リソース数ＵＳＥ＿ＲＥＳＯＵＲＣＥ＿ＮＵＭよりも変数ｉが大きいか否かを判断する。大きくない場合、処理はステップＳ１４３に戻り、ステップＳ１４３の処理を再度実行する。大きい場合、処理は終了する。ステップＳ１４３からＳ１４４までの処理を繰り返すことにより、モニタ１１５に現在描画する全ての描画リソースのＩＤが使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］に代入される。
【００６８】
次に、図１５を用いて描画時リソース管理情報更新処理について説明する。描画時リソース管理情報更新処理は、描画更新処理のステップＳ１２３において実行される。
【００６９】
始めのステップＳ１５０１では、変数ｉに１を代入する。次のステップＳ１５０２では、変数ｊに１を代入する。
【００７０】
次のステップＳ１５０３では、使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｊ］が使用済みリソースＩＤ配列ＯｌｄＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］と等しいか否かを判断する。等しい場合、使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｊ］と使用済みリソースＩＤ配列ＯｌｄＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］との双方に同じ描画リソースが存在すると判断して、処理はステップＳ１５０４に進む。
【００７１】
ステップＳ１５０４では、使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｊ］の値を変数ｋに代入する。次のステップＳ１５０５では、ＲＡＭカウンタＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｋ］．Ｃｏｕｎｔの数を１増やす。そしてステップＳ１５１０に進む。
【００７２】
ステップＳ１５０３において、使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］が使用済みリソースＩＤ配列ＯｌｄＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］と等しくない場合、使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］と使用済みリソースＩＤ配列ＯｌｄＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］とに同じ描画リソースが存在しないと判断して、処理はステップＳ１５０６に進む。
【００７３】
ステップＳ１５０６では、変数ｊを１増やす。次のステップＳ１５０７では、変数ｊが全描画リソース数ＲＥＳＯＵＲＣＥ＿ＭＡＸよりも大きいか否かを判断する。大きくない場合、処理はステップＳ１５０３に戻り、ステップＳ１５０３を再度実行する。大きい場合、処理はステップＳ１５０８に進む。ステップＳ１５０３からＳ１５０７までの処理を繰り返すことにより、全ての使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］を全ての使用済みリソースＩＤ配列ＯｌｄＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］と比較される。
【００７４】
ステップＳ１５０８では、使用済みリソースＩＤ配列ＯｌｄＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］の値を変数ｋに代入する。次のステップＳ１５０９では、ＲＡＭカウンタＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｋ］．Ｃｏｕｎｔの数を１減らす。そしてステップＳ１５１０に進む。
【００７５】
ステップＳ１５１０では、変数ｉを１増やす。次のステップＳ１５１１では、変数ｉが全描画リソース数ＲＥＳＯＵＲＣＥ＿ＭＡＸよりも大きいか否かを判断する。大きくない場合、処理はステップＳ１５０２に戻り、ステップＳ１５０２からＳ１５１０を再度実行する。大きい場合、処理は終了する。
【００７６】
これにより、モニタ１１５に描画される描画リソースに対応するＲＡＭカウンタを増やし、描画されない描画リソースに対応するＲＡＭカウンタを減らす。
【００７７】
次に、図１６を用いてリソースバッファ整理処理について説明する。リソースバッファ整理処理は、描画更新処理のステップＳ１２４において実行される。
【００７８】
始めのステップＳ１６１では、変数ｉに１を代入する。次のステップＳ１６２では、解凍済みフラグＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．Ｄｅｃｏｄｅｄが１か否か、すなわち描画リソースが解凍されているか否かを判断する。１である場合、すなわち解凍されているときはステップＳ１６３に進み、１でない場合、すなわち解凍されていないときにはステップＳ１６６に進む。
【００７９】
ステップＳ１６３では、ＲＡＭカウンタＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．Ｃｏｕｎｔが閾値ＤＥＣ＿ＣＯＵＮＴよりも小さいか否かを判断する。小さい場合、処理はステップＳ１６４に進み、小さくない場合には処理はステップＳ１６６に進む。
【００８０】
ステップＳ１６４では、リソースＲＡＭ管理情報ＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］に対応する描画リソースをＲＡＭ１１４、すなわちリソースバッファ１１４ａから削除する。
【００８１】
次のステップＳ１６５では、解凍済みフラグＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．Ｄｅｃｏｄｅｄに０を代入する。すなわち、リソースＲＡＭ管理情報ＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］に対応する描画リソースは解凍されていないという事実がＲＡＭ１１４に記録される。
【００８２】
次のステップＳ１６６では、変数ｉを１増やしてステップＳ１６７に進む。次のステップＳ１６７では、変数ｉが全描画リソース数ＲＥＳＯＵＲＣＥ＿ＭＡＸよりも大きいか否かを判断する。大きくない場合、処理はステップＳ１６２に戻り、ステップＳ１６２からＳ１６６を再度実行する。大きい場合、処理は終了する。
【００８３】
これにより、使用頻度が低い描画リソースをＲＡＭ１１４から削除して、使用頻度が高い描画リソースを記憶する領域を空けることができる。
【００８４】
次に、図１７を用いて描画処理について説明する。描画処理は、描画更新処理のステップＳ１２５において実行される。
【００８５】
始めのステップＳ１７０１では、変数ｉに１を代入する。次のステップＳ１７０２では、変数ｋに使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］の値を代入する。
【００８６】
次のステップＳ１７０３では、解凍済みフラグＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｋ］．Ｄｅｃｏｄｅｄが１か否か、すなわち、リソースＲＡＭ管理情報ＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｋ］に対応する描画リソースが解凍されているか否かを判断する。１である場合、すなわち解凍されている場合、処理はステップＳ１７０４に進む。
【００８７】
ステップＳ１７０４ではリソースバッファ１１４ａから描画リソースを取得し、ステップＳ１７０５において描画リソースをＶＲＡＭ１１４ｃにコピーする。これにより、描画リソースをモニタ１１５に表示可能となる。
【００８８】
次のステップＳ１７０６では、変数ｉを１増やしてステップＳ１７０７に進む。ステップＳ１７０７では、変数ｉが全描画リソース数ＲＥＳＯＵＲＣＥ＿ＭＡＸよりも大きいか否かを判断する。大きくない場合、処理はステップＳ１７０８に進み、大きい場合、処理は終了する。
【００８９】
ステップＳ１７０８では、使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］が０か否かを判断する。０である場合、使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］が有する全ての要素を処理したと判断して、処理を終了する。０でない場合、使用リソースＩＤ配列ＵｓｅＲｅｓｏｕｒｃｅＩＤ［ｉ］が有する全ての要素を処理していないと判断して、ステップＳ１７０２に戻る。
【００９０】
ステップＳ１７０３において解凍済みフラグＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｋ］．Ｄｅｃｏｄｅｄが１でない場合、すなわち解凍されていない場合、処理はステップＳ１７０９に進む。
【００９１】
ステップＳ１７０９では、ＲＯＭ１１３から描画リソースを取得してテンポラリバッファ１１４ｂにコピーする。次のステップＳ１７１０では、ＲＡＭカウンタＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｋ］．Ｃｏｕｎｔが閾値ＤＥＣ＿ＣＯＵＮＴ以上か否かを判断する。閾値ＤＥＣ＿ＣＯＵＮＴ以上である場合、ＲＡＭカウンタＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｋ］．Ｃｏｕｎｔに対応する描画リソースの使用頻度が高いと判断されるため、処理はステップＳ１７１１に進み、テンポラリバッファ１１４ｂからリソースバッファ１１４ａに描画リソースをコピーして、描画リソースをリソースバッファ１１４ａに保持させる。他方、閾値ＤＥＣ＿ＣＯＵＮＴ以上でない場合、すなわち閾値ＤＥＣ＿ＣＯＵＮＴ未満である場合、ＲＡＭカウンタＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．Ｃｏｕｎｔに対応する描画リソースの使用頻度が低いと判断されるため、ソースをリソースバッファ１１４ａに保持させることなく、処理はステップＳ１７０５に進み、テンポラリバッファ１１４ｂからリソースバッファ１１４ａに描画リソースを移動させる。
【００９２】
ステップＳ１７１１に続くステップＳ１７１２では、解凍済みフラグＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｋ］．Ｄｅｃｏｄｅｄに１を代入する。次のステップＳ１７１３において解凍済みリソースデータポインタＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．ＤｅｃＤａｔａを更新し、更に次のステップＳ１７１４において解凍済みリソースデータサイズＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］．ＤｅｃＤａｔａＳｉｚｅを更新した後、処理はステップＳ１７０５に進む。そして、ステップＳ１７０５において描画リソースをＶＲＡＭ１１４ｃにコピーする。これにより、描画リソースをモニタ１１５に表示可能となる。
【００９３】
そして、デジタルカメラ１００の電源が切断されるとき、すなわち描画管理装置の電源が切断されたとき、ＤＳＰ１１２はリソースＲＡＭ管理情報の全てをＲＡＭ１１４から読み出してＲＯＭ１１３に記憶させる。
【００９４】
本実施形態によれば、使用頻度が低い描画リソースをＲＡＭ１１４に展開しないため、デジタルカメラ１００の起動時間を短くでき、かつ描画リソースによるＲＡＭ１１４の使用量を削減できる。また、デジタルカメラ１００の動作モードに応じてＲＡＭ１１４における描画リソースの使用量を変えることが出来るため、デジタルカメラ１００の動作に必要な記憶領域を常に確保でき、これによりデジタルカメラ１００の動作速度が遅くなったり、機能を停止してしまったりすることがない。
【００９５】
次に、図１８及び１９を用いて第２の実施形態について説明する。第２の実施形態は、リソース管理情報がＲＡＭカウンタに加えて優先度を有する点が第１の実施形態と異なる。よって、優先度について主に説明し、第１の実施形態と同様の構成については、同じ符号を付して説明を省略する。
【００９６】
図１８は、ＲＡＭ１１４に記憶されているリソース管理情報である。ＲＡＭ１１４に記憶されているリソースＲＡＭ管理情報は、ＲｅｓｏｕｒｃｅＩｎｆｏＲＡＭ［ｉ］で表され、リソースＲＡＭＩＤ、優先度、ＲＡＭカウンタ、リソースＲＡＭデータポインタ、リソースＲＡＭデータサイズ、解凍済みフラグ、解凍済みリソースデータポインタ、及び解凍済みリソースデータサイズを備える。
【００９７】
優先度は、レベル１、レベル２、及びレベル３の値を採り、動作モードに応じて変更される。デジタルカメラ１００が起動されるとき、静止画連写モード、及び静止画単写モードであるとき、静止画を撮影する動作モードであることを示す静止画撮影アイコンの優先度は１に設定され、動画を撮影する動作モードであることを示す動画撮影アイコンの優先度は３に設定され、静止画を再生する動作モードであることを示す静止画再生アイコンの優先度は３に設定され、動画を再生する動作モードであることを示す動画再生アイコンの優先度は３に設定され、メニュー画面に表示されるアイコンであるメニューアイコンの優先度は２に設定され、画面に表示される英語文字列の優先度は１に設定され、設定されている言語による文字列である選択言語文字列の優先度は１に設定され、設定されていない言語による文字列であるその他言語文字列の優先度は３に設定される。デジタルカメラ１００が動画撮影モードであるとき、静止画撮影アイコンの優先度は２に設定され、動画撮影アイコンの優先度は１に設定され、静止画再生アイコンの優先度は３に設定され、動画再生アイコンの優先度は３に設定され、メニューアイコンの優先度は２に設定され、英語文字列の優先度は１に設定され、選択言語文字列の優先度は１に設定され、その他言語文字列の優先度は３に設定される。デジタルカメラ１００が再生モードであるとき、静止画撮影アイコンの優先度は２に設定され、動画撮影アイコンの優先度は３に設定され、静止画再生アイコンの優先度は１に設定され、動画再生アイコンの優先度は３に設定され、メニューアイコンの優先度は２に設定され、英語文字列の優先度は１に設定され、選択言語文字列の優先度は１に設定され、その他言語文字列の優先度は３に設定される。デジタルカメラ１００がメニューモードであるとき、静止画撮影アイコンの優先度は２に設定され、動画撮影アイコンの優先度は３に設定され、静止画再生アイコンの優先度は３に設定され、動画再生アイコンの優先度は３に設定され、メニューアイコンの優先度は１に設定され、英語文字列の優先度は１に設定され、選択言語文字列の優先度は１に設定され、その他言語文字列の優先度は３に設定される。
【００９８】
なお、デジタルカメラ１００が、ユーザが回転動作によってデジタルカメラ１００を操作するモードダイヤルを備える場合、デジタルカメラ１００が再生モード又はメニューモードであるとき、動画撮影アイコンの優先度は、直前の動作モードと同じ値を採る。例えば直前の動作モードが静止画連写モード又は静止画単写モードであるとき、動画撮影アイコンの優先度は３に設定される。他方、例えば直前の動作モードが動画撮影モードであるとき、動画撮影アイコンの優先度は１に設定される。
【００９９】
ＤＳＰ１１２は、描画リソースのリソース管理情報を確認し、優先度に応じて描画リソースを保存する記憶領域を決定する。デジタルカメラ１００が起動されたとき、描画リソースがレベル１の優先度を有する場合、ＤＳＰ１１２は、ＲＯＭ１１３から描画リソースを読み出して解凍し、リソースバッファ１１４ａに記憶させる。描画リソースがレベル２の優先度を有する場合、ＤＳＰ１１２は、ＲＯＭ１１３から描画リソースを読み出し、解凍せずに圧縮されたままの状態で、リソースバッファ１１４ａに記憶させる。描画リソースがレベル３の優先度を有する場合、ＤＳＰ１１２は、ＲＯＭ１１３に描画リソースを記憶させたままにしておく。すなわち、リソースバッファ１１４ａに記憶させない。
【０１００】
図１９を用いて、モニタ１１５に描画リソースを描画する処理について説明する。アイコン及び文字列を描画するとき、描画リソースがレベル１の優先度を有する場合、ＤＳＰ１１２は、リソースバッファ１１４ａから描画リソースを読み出してＶＲＡＭ１１４ｃに展開する。描画リソースがレベル２の優先度を有する場合、ＤＳＰ１１２は、リソースバッファ１１４ａから描画リソースを読み出して解凍し、ＶＲＡＭ１１４ｃに展開する。描画リソースがレベル３の優先度を有する場合、ＤＳＰ１１２は、ＲＯＭ１１３から描画リソースを読み出してリソースバッファ１１４ａに記憶させた後に解凍し、ＶＲＡＭ１１４ｃに展開する。
【０１０１】
本実施形態によれば、優先度に応じて描画リソースの保存場所と保存状態とを制御するため、描画速度を向上できるととともに、ＲＡＭ１１４の容量を節約できる。
【０１０２】
なお、優先度の数は３つに限定されず、複数であればよい。また、動作モードと優先度の関係は、前述のものに限定されない。
【０１０３】
また、優先度のみでなく、第１の実施形態におけるＲＡＭカウンタと併用してもよい。この場合、ＲＡＭカウンタの数、すなわち使用頻度に応じて優先度を変更してもよい。例えば、使用頻度が高い描画リソースの優先度は高い値に変更され、使用頻度が低い描画リソースの優先度は低い値に変更される。
【０１０４】
なお、全ての実施形態において、動作モードとして前述したものは例示であって、これら以外の動作モードをデジタルカメラ１００が備えても良く、これら以外の動作モードに対して閾値ＤＥＣ＿ＣＯＵＮＴが定められても良い。
【０１０５】
また、テンポラリバッファ１１４ｂ及びＶＲＡＭ１１４ｃはＲＡＭ１１４の中に設けられなくてもよく、ＲＡＭ１１４とは別に設けられても良い。
【符号の説明】
【０１０６】
１００  デジタルカメラ
１１０  カメラ本体
１１１  撮像部
１１２  ＤＳＰ
１１３  ＲＯＭ
１１４  ＲＡＭ
１１４ａ  リソースバッファ
１１４ｂ  テンポラリバッファ
１１４ｃ  ＶＲＡＭ
１１５  モニタ
１１６  シャッタレリーズ
１１７  記憶媒体
１２０  撮影レンズ
【図１】
2016053831.tif 000003
【図２】
2016053831.tif 000004
【図３】
2016053831.tif 000005
【図４】
2016053831.tif 000006
【図５】
2016053831.tif 000007
【図６】
2016053831.tif 000008
【図７】
2016053831.tif 000009
【図８】
2016053831.tif 000010
【図９】
2016053831.tif 000011
【図１０】
2016053831.tif 000012
【図１１】
2016053831.tif 000013
【図１２】
2016053831.tif 000014
【図１３】
2016053831.tif 000015
【図１４】
2016053831.tif 000016
【図１５】
2016053831.tif 000017
【図１６】
2016053831.tif 000018
【図１７】
2016053831.tif 000019
【図１８】
2016053831.tif 000020
【図１９】
2016053831.tif 000021