JP2004152172A - Information processor, method and program for image data processing, and storage medium - Google Patents
Information processor, method and program for image data processing, and storage medium Download PDFInfo
- Publication number
- JP2004152172A JP2004152172A JP2002318775A JP2002318775A JP2004152172A JP 2004152172 A JP2004152172 A JP 2004152172A JP 2002318775 A JP2002318775 A JP 2002318775A JP 2002318775 A JP2002318775 A JP 2002318775A JP 2004152172 A JP2004152172 A JP 2004152172A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- image data
- data
- memory
- management record
- 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
Abstract
Description
【0001】
【発明の属する技術分野】
記録手段に記録した画像データ基づいて画像を再生表示する情報処理装置及び情報処理装置のキャッシュ制御方法に関する。
【0002】
【従来の技術】
近年、デジタルカメラやPDA(Personal Digital Assistant:携帯情報端末)、携帯電話等の携帯型情報処理装置で静止画や動画等のコンテンツを再生表示したり、編集加工したりする利用方法が普及しつつある。例えば、「サムネイル」と呼ばれる縮小画像を携帯型情報処理装置の表示画面に一覧表示し、表示されたサムネイルの中から選択したサムネイルに対応するコンテンツを拡大して再生表示したり、コンテンツの編集や加工を行ったり、スライドショウの再生を行ったり、更にはコンテンツを電子メールに添付して通信回線を介して第三者へ送信したりすることも可能になっている。
【0003】
また、デジタルカメラの高画素化が進んでおり、これに伴って扱う画像のデータ量は膨大なものとなってきている。このようなデータ量の大きな画像の記録再生や編集加工を行うために、携帯型情報処理装置に対してより高い処理性能とより大きい記憶容量が要求されてきている。
【0004】
しかしながら、特に小型の携帯型情報処理装置においては、コストやサイズの面から、処理性能及び記憶容量ともに制約が多いのが現状である。このため、画像の記録又は再生に要する長い処理時間やメモリ不足などがユーザに操作性の点で不快感を与えたり、不便を強いたりする機会は少なくない。
【0005】
現在、これらの問題点を解決すべく、幾つかの解決策が提案されている。
【0006】
その1つに、デジタルカメラにおいて、撮影した画像を表示させた状態から順コマ送りや逆コマ送りの指示をユーザが入力する以前に、記憶媒体に圧縮画像として記録された画像データを先読みして伸張処理し、伸張処理後の画像データをメモリに保持しておき、記憶媒体に記録された圧縮画像を再生表示する際の待ち時間の軽減を図るものがある。(例えば、特許文献1参照)
また、メモリカードに格納されている撮影画像のうち、例えば、その日に撮影された画像のみについて、処理の空き時間を利用してサムネイル画像を作成することにより、メモリ容量の削減と、再生表示する際の待ち時間の軽減とを図る情報処理装置がある。(例えば、特許文献2参照)
さらにまた、画像の特徴量に基づいて、類似度が高い順に複数画像を一覧表示する類似画像検索装置において、一度表示された画像データをキャッシュしておくことで、再度表示が必要になったときには高速に画像を表示すると共に、キャッシュの空き容量や画像の使用頻度に基づいてキャッシュされた画像を削除することでメモリ領域の利用効率化を図るものがある。(例えば、特許文献3参照)
【0007】
【特許文献1】
特開2002−101329号公報
【特許文献2】
特開平10−178609号公報
【特許文献3】
特開2000−148795号公報
【0008】
【発明が解決しようとする課題】
しかしながら、特許文献1に記載された例の場合には、操作順序や表示順序がある程度予測できる場合には一定の効果があるものの、ユーザが好む画像や関心が深い画像など、表示頻度の高い画像であっても予測できない画像を待ち時間なく再生表示することはできないという問題がある。
【0009】
また、特許文献2に記載された例の場合には、記録日(撮影日)に基づいてサムネイル画像の作成対象を決定しており、必ずしもユーザが所望する画像とは一致せず、特許文献1に記載された例の場合と同様に、ユーザが好む画像や関心が深い画像など、表示頻度の高い画像を待ち時間なく再生表示することはできないという問題がある。
【0010】
また、特許文献3に記載された例の場合には、実データが存在せずキャッシュデータだけが残っているものや、実データとキャッシュデータの作成日時、更新日時が一致しないものなど、キャッシュされていても利用価値のないデータが除去されずに残るので、キャッシュに用いるメモリ領域の利用効率が悪いという問題点がある。
【0011】
本発明の目的は、記憶媒体に記録された画像データを再生表示する際の待ち時間が短縮した情報処理装置、当該装置の制御方法、プログラム、及び記憶媒体を提供することにある。
【0012】
さらに、本発明の目的は、キャッシュに用いるメモリ領域の利用効率が向上した情報処理装置、当該装置の制御方法、プログラム、及び記憶媒体を提供することにある。
【0013】
【課題を解決するための手段】
上記目的を達成するために、請求項1の情報処理装置は、記憶媒体に記憶された画像データから、複数の表示サイズの表示画像データを生成して再生表示することが可能な情報処理装置であって、1度表示した前記表示画像データをキャッシュデータとして格納するキャッシュファイルと、前記キャッシュファイルを管理する為の管理レコードを前記画像データ毎に保持するインデックスファイルとを、前記記憶媒体に設定されたキャッシュメモリに格納することを特徴とする。
【0014】
請求項2の情報処理装置は、請求項1記載の情報処理装置において、前記表示画像データは、少なくともサムネイル表示用データと、一枚表示用データの2種類の表示サイズのデータからなることを特徴とする。
【0015】
請求項3の情報処理装置は、請求項1又は2記載の情報処理装置において、新たなキャッシュデータを前記キャッシュメモリに追加する際に、前記キャッシュデータにファイル名を付与して、少なくとも前記画像データのファイル名、作成日、更新日と共に、前記インデックスファイルの所定の管理レコードに格納することを特徴とする。
【0016】
請求項4の情報処理装置は、請求項1乃至3のいずれか1項に記載の情報処理装置において、前記記憶媒体に記憶された前記画像データを再生表示する際に、表示しようとする表示サイズのキャッシュデータが前記キャッシュメモリに存在する場合には、該キャッシュデータを前記キャッシュメモリから読み出して表示する一方、表示しようとするキャッシュデータが前記キャッシュメモリに存在しない場合には、前記記憶媒体から前記画像データを所定の表示サイズの表示画像データを生成して再生表示すると共に、前記表示画像データを前記新たなキャッシュデータとして前記キャッシュメモリに追加することを特徴とする。
【0017】
請求項5の情報処理装置は、請求項3又は4記載の情報処理装置において、前記キャッシュデータを追加する際及び読み出す際のいずれの際にも、前記インデックスファイルの所定の管理レコードに格納された前記キャッシュデータの参照日を更新することを特徴とする。
【0018】
請求項6の情報処理装置は、請求項4記載の情報処理装置において、前記新たなキャッシュデータを前記キャッシュメモリに追加する際に、前記キャッシュデータを管理する為の管理レコードが既に前記インデックスファイル上に存在する場合には、該管理レコードの参照日を更新すると共に、該キャッシュデータに付与されたファイル名を該管理レコードに格納することを特徴とする。
【0019】
請求項7の情報処理装置は、請求項6記載の情報処理装置において、さらに、前記管理レコードに他のキャッシュデータのファイル名が格納されている場合には、前記キャッシュファイル上に前記格納されたファイル名に該当するキャッシュデータが存在するか否かを判定し、前記該当するキャッシュデータが存在しない場合には、前記管理レコードから前記他のキャッシュデータのファイル名を削除することを特徴とする。
【0020】
請求項8の情報処理装置は、請求項1乃至7のいずれか1項に記載の情報処理装置において、管理レコードの追加、更新、及び新たなキャッシュデータの追加のいずれか1つを実行する場合に、前記キャッシュメモリの容量を越えるときには、前記いずれか1つの実行ができるだけの前記容量の残量を確保する為に前記参照日が最も古いキャッシュデータから削除することを特徴とする。
【0021】
請求項9の情報処理装置は、請求項1乃至8のいずれか1項に記載の情報処理装置において、前記記憶媒体は内部メモリ及び着脱可能な外部メモリであり、前記キャッシュメモリの設定場所は、前記内部メモリ及び外部メモリの何れか一方に選択されることを特徴とする。
【0022】
請求項10の情報処理装置は、請求項9記載の情報処理装置において、前記キャッシュメモリの設定場所の選択は、前記情報処理装置が画像データを再生表示する為に実行するプログラムの格納場所に基づいて決定されることを特徴とする。
【0023】
請求項11の情報処理装置は、請求項9記載の情報処理装置において、前記キャッシュメモリの設定場所の選択は、前記画像データの格納場所に基づいて決定されることを特徴とする。
【0024】
請求項12の情報処理装置は、請求項9乃至11のいずれか1項に記載の情報処理装置において、前記キャッシュメモリを設定した外部メモリが装着されていない場合及び書き込み禁止の場合のいずれかの場合には、前記キャッシュメモリの設定が解除されることを特徴とする。
【0025】
請求項13の情報処理装置は、請求項9乃至11のいずれか1項に記載の情報処理装置において、前記キャッシュメモリを設定した外部メモリが装着されていない場合及び書き込み禁止の場合のいずれかの場合には、前記キャッシュメモリの設定を前記内部メモリに変更することを特徴とする。
【0026】
請求項14の情報処理装置は、請求項13記載の情報処理装置において、前記外部メモリを再装着した場合及び書き込み禁止が解除された場合のいずれかの場合には、前記キャッシュメモリの設定が前記内部メモリから前記外部メモリに復帰することを特徴とする。
【0027】
請求項15の情報処理装置は、請求項1乃至14のいずれか1項に記載の情報処理装置において、記憶媒体に記憶された画像データの作成日及び更新日と、前記インデックスファイル上の該画像データに対応する管理レコードに格納された作成日及び更新日とが一致しない場合に、該管理レコードと該管理レコードが管理する全てのキャッシュデータを削除するガベージ・コレクション処理を実行することを特徴とする。
【0028】
請求項16の情報処理装置は、請求項1乃至14のいずれか1項に記載の情報処理装置において、前記キャッシュファイルに格納された前記キャッシュデータを管理する為の前記管理レコードが前記インデックスファイル上に存在しない場合に、該管理レコードを削除するガベージ・コレクション処理を実行することを特徴とする。
【0029】
請求項17の情報処理装置は、請求項1乃至14のいずれか1項に記載の情報処理装置において、前記管理レコード上に1以上のキャッシュデータのファイル名が格納されている場合に、該1以上のキャッシュデータのファイル名に対応するキャッシュデータが1つも存在しない時には該管理レコードを削除し、該1以上のキャッシュデータのファイル名に対応するキャッシュデータが少なくとも1つ存在する場合には、存在するファイル名のみを残して、その他のファイル名を該管理レコードから削除するガベージ・コレクション処理を実行することを特徴とする。
【0030】
請求項18の情報処理装置は、請求項15乃至17のいずれか1項に記載の情報処理装置において、所定時間以上にアイドル状態が続くときに、前記ガベージ・コレクション処理を実行することを特徴とする。
【0031】
上記目的を達成するために、請求項19の画像データ処理方法は、記憶媒体に記憶された画像データから、複数の表示サイズの表示画像データを生成して再生表示する画像データ処理方法であって、1度表示した前記表示画像データをキャッシュデータとして格納するキャッシュファイルと、前記キャッシュファイルを管理する為の管理レコードを前記画像データ毎に保持するインデックスファイルとを、前記記憶媒体に設定されたキャッシュメモリに格納することを特徴とする。
【0032】
請求項20の画像データ処理方法は、請求項19記載の画像データ処理方法において、前記表示画像データは、少なくともサムネイル表示用キャッシュデータと、一枚表示用キャッシュデータの2種類の表示サイズのキャッシュデータからなることを特徴とする。
【0033】
請求項21の画像データ処理方法は、請求項19又は20記載の画像データ処理方法において、新たなキャッシュデータを前記キャッシュメモリに追加する際に、前記キャッシュデータにファイル名を付与して、少なくとも前記画像データのファイル名、作成日、更新日と共に、前記インデックスファイルの所定の管理レコードに格納することを有することを特徴とする。
【0034】
請求項22の画像データ処理方法は、請求項19乃至21のいずれか1項に記載の画像データ処理方法において、前記記憶媒体に記憶された前記画像データを再生表示する際に、表示しようとする表示サイズのキャッシュデータが前記キャッシュメモリに存在する場合には、該キャッシュデータを前記キャッシュメモリから読み出して表示する一方、表示しようとするキャッシュデータが前記キャッシュメモリに存在しない場合には、前記記憶媒体から前記画像データを所定の表示サイズの表示画像データを生成して再生表示すると共に、前記表示画像データを前記新たなキャッシュデータとして前記キャッシュメモリに追加することを特徴とする。
【0035】
請求項23の画像データ処理方法は、請求項21又は22記載の画像データ処理方法において、前記キャッシュデータを追加する際及び読み出す際のいずれの際にも、前記インデックスファイルの所定の管理レコードに格納された前記キャッシュデータの参照日を更新することを特徴とする。
【0036】
請求項24の画像データ処理方法は、請求項22記載の画像データ処理方法において、前記新たなキャッシュデータを前記キャッシュメモリに追加する際に、前記キャッシュデータを管理する為の管理レコードが既に前記インデックスファイル上に存在する場合には、該管理レコードの参照日を更新すると共に、該キャッシュデータに付与されたファイル名を該管理レコードに格納することを特徴とする。
【0037】
請求項25の画像データ処理方法は、請求項24記載の画像データ処理方法において、さらに、前記管理レコードに他のキャッシュデータのファイル名が格納されている場合には、前記キャッシュファイル上に前記格納されたファイル名に該当するキャッシュデータが存在するか否かを判定し、前記該当するキャッシュデータが存在しない場合には、前記管理レコードから前記他のキャッシュデータのファイル名を削除することを特徴とする。
【0038】
請求項26の画像データ処理方法は、請求項19乃至25のいずれか1項に記載の画像データ処理方法において、管理レコードの追加、更新、及び新たなキャッシュデータの追加のいずれか1つを実行する場合に、前記キャッシュメモリの容量を越えるときには、前記いずれか1つの実行ができるだけの前記容量の残量を確保する為に前記参照日が最も古いキャッシュデータから削除することを特徴とする。
【0039】
請求項27の画像データ処理方法は、請求項19乃至26のいずれか1項に記載の画像データ処理方法において、前記記憶媒体は内部メモリ及び着脱可能な外部メモリであり、前記キャッシュメモリの設定場所は、前記内部メモリ及び外部メモリの何れか一方を選択することを特徴とする。
【0040】
請求項28の画像データ処理方法は、請求項27記載の画像データ処理方法において、前記キャッシュメモリの設定場所の選択は、前記情報処理装置が画像データを再生表示する為に実行するプログラムの格納場所に基づいて決定することを特徴とする。
【0041】
請求項29の画像データ処理方法は、請求項27記載の画像データ処理方法において、前記キャッシュメモリの設定場所の選択は、前記画像データの格納場所に基づいて決定されることを特徴とする。
【0042】
請求項30の画像データ処理方法は、請求項27乃至29のいずれか1項に記載の画像データ処理方法において、前記キャッシュメモリを設定した外部メモリが装着されていない場合及び書き込み禁止の場合のいずれかの場合には、前記キャッシュメモリの設定が解除されることを特徴とする。
【0043】
請求項31の画像データ処理方法は、請求項27乃至29のいずれか1項に記載の画像データ処理方法において、前記キャッシュメモリを設定した外部メモリが装着されていない場合及び書き込み禁止の場合のいずれかの場合には、前記キャッシュメモリの設定を前記内部メモリに変更することを特徴とする。
【0044】
請求項32の画像データ処理方法は、請求項31記載の画像データ処理方法において、前記外部メモリを再装着した場合及び書き込み禁止が解除された場合のいずれかの場合には、前記キャッシュメモリの設定が前記内部メモリから前記外部メモリに復帰することを特徴とする。
【0045】
請求項33の画像データ処理方法は、請求項19乃至32のいずれか1項に記載の記載の画像データ処理方法において、記憶媒体に記憶された画像データの作成日及び更新日と、前記インデックスファイル上の該画像データに対応する管理レコードに格納された作成日及び更新日とが一致しない場合に、該管理レコードと該管理レコードが管理する全てのキャッシュデータを削除するガベージ・コレクション処理を実行することを特徴とする。
【0046】
請求項34の画像データ処理方法は、請求項19乃至32のいずれか1項に記載の画像データ処理方法において、前記キャッシュファイルに格納された前記キャッシュデータを管理する為の前記管理レコードが前記インデックスファイル上に存在しない場合に、該管理レコードを削除するガベージ・コレクション処理を実行することを特徴とする。
【0047】
請求項35の画像データ処理方法は、請求項19乃至32のいずれか1項に記載の画像データ処理方法において、前記管理レコード上に1以上のキャッシュデータのファイル名が格納されている場合に、該1以上のキャッシュデータのファイル名に対応するキャッシュデータが1つも存在しない時には該管理レコードを削除し、該1以上のキャッシュデータのファイル名に対応するキャッシュデータが少なくとも1つ存在する場合には、存在するファイル名のみを残して、その他のファイル名を該管理レコードから削除するガベージ・コレクション処理を実行することを特徴とする。
【0048】
請求項36の画像データ処理方法は、請求項33乃至35のいずれか1項に記載の画像データ処理方法において、所定時間以上にアイドル状態が続くときに、前記ガベージ・コレクション処理を実行することを特徴とする。
【0049】
上記目的を達成するために、請求項37の画像データ処理プログラムは、請求項19乃至36のいずれか1項に記載の画像データ処理方法をコンピュータに実行させることを特徴とする。
【0050】
上記目的を達成するために、請求項38の記憶媒体は、コンピュータ読取り可能な記憶媒体において、請求項37記載の画像処理プログラムが格納され、該画像処理プログラムをコンピュータに実行させることを特徴とする。
【0051】
【発明の実施の形態】
以下、本発明の実施の形態に係る情報処理装置について図面を参照しながら詳細に説明する。
【0052】
(第1の実施の形態)
図1は本発明の第1の実施の形態に係る情報処理装置のハードウェア構成を示すブロック図である。図2は図1の情報処理装置の全体を示す斜視図である。
【0053】
図1及び図2に示す情報処理装置100はPDA(Personal Digital Assistant:携帯情報端末)である。
【0054】
図1に示すように、情報処理装置100は、CPU101と、ROM102と、RAM103(記憶媒体)と、表示部104と、入力部105と、メディア交換型記録部106(記憶媒体)と、ネットワーク/通信部107と、カメラ部108とを備え、それらがシステムバス109を介して互いに接続されている。
【0055】
CPU101は情報処理装置100を全体的に制御する。CPU101は、ROM102に格納された所定のプログラムを実行することによって制御を行う。この所定のプログラムはRAM103に一時的に格納される。また、RAM103にはデータも一時的に格納される。後述するようにこのRAM103はキャッシュデータの保存先として選択することができる。
【0056】
表示部104は、本体の前面に設けられており(図2参照)、画像を表示するのみでなく、各種の入出力用のユーザインタフェースを提供する。
【0057】
入力部105は、後述するジョグダイヤル201、スタイラスペン202、キー(ボタン)203,204、不図示のキーボードなどから構成されており、データの入力やモードの切替えなど、PDA100のユーザからの指示をCPU101に伝える為に使用される入力インタフェースである。
【0058】
メディア交換型記憶部106は、不図示のカードメディアに記憶した画像データやプログラムをPDA100で利用する為に使用するインタフェースである。このメディア交換型記憶部106は、コンパクトフラッシュ(登録商標)カードやその他の異なる種類のカードメディア規格に対応するよう複数のインタフェースを備えるようにしても良い。このメディア交換型記憶部106には、後述するようにメモリカードを装着でき、装着したメモリカードはキャッシュデータの保存先として選択することができる。
【0059】
ネットワーク/通信部107は、移動体通信・移動体電話との通信機能及び無線LAN、Bluetooth(商標)などのワイアレスによるネットワーク接続機能を提供する。さらに、有線LAN、USB等の有線でのネットワーク接続/通信機能を提供して、外部とのデータ授受を実現する。ネットワーク/通信部107は、これらのうちの一部の機能だけを備えても良いし、またこれに限定されず他の機能を備えても良い。
【0060】
カメラ部108は画像撮影機能を有するデジタルカメラユニットである。このカメラ部108とネットワーク/通信部107の各種機能とはPDA100に内蔵してあるが、メディア交換型記録部106と共通の拡張インタフェースを介して必要に応じて必要な機能を組み込む形態であってもよい。
【0061】
図2に示すジョグダイヤル201は、円盤状のダイヤルであり、円盤の中心線を中心に回転可能であるとともにダイヤルの周縁から中心線に向かう方向の力によって同方向に変位可能であり、回転と変位の操作によって片手で入力処理を実行することができる。ジョグダイヤル201は装置側面に1つだけ配置されたものを例示したが、前面に配置してもよい。また、複数個のジョグダイヤルを配置してもよい。
【0062】
スタイラスペン202は表示部104に表示されたインタフェースから入力操作をする際に使用するものであり、表示部104上でのタップ操作によって入力処理を行うことができる。表示部104の下方には4つのキー203が間に方向指示/実行キー204を挟んで一列に配設されており、これらのキー203を押下操作することによって入力処理が実行される。例えば、アプリケーションの切替えや後述するモードの切替えの際に使用する。方向指示/実行キー204は上下左右の方向指示と、指示位置での確定(Enter)を行う際に使用される。上下左右の各矢印部分は、押すと、方向指示/実行キー204の中心を支点にして押下することができる。また、中心部を押した場合には、中心部の中心線方向に押下することができ、この操作によって確定を行うことができる。
【0063】
カメラ部108は画像撮影機能を提供するデジタルカメラユニットである。本体の前面にレンズを配置した例を示したが、レンズを本体の背面に配置してもよい。また、PDA100の本体に回転可能に装着してもよい。
【0064】
なお、PDA100は不図示の電源スイッチ、電池ボックス、スタイラス収納部等を備えている。
【0065】
次に、表示部104に表示される画面の例を説明する。
【0066】
図3は、サムネイル画像の一覧表示の画面を示す図である。図4は、3枚のサムネイル画像とさらにその内の1枚を拡大した拡大画像とを表示した画面を示す図である。なお、両図に共通する項目等には同一符号を付してある。
【0067】
図3に示すサムネイル表示領域301には9枚のサムネイル画像が表示されており、サムネイル画像はイメージ領域302とタイトル領域303との2つの小域から構成されている。イメージ領域302には、表示対象となったコンテンツの縮小画像が生成されて表示されている。タイトル領域303にはイメージ領域302に表示された画像データのファイル名が表示されている。
【0068】
サムネイル表示領域301に表示された9枚のサムネイル画像のうち、「選択状態」にあるサムネイル画像と「アクティブ状態」にあるサムネイル画像とは、色彩の相違、囲い枠の有無などで他のサムネイル画像とは識別できるように表示される。ここで、「選択状態」とは、複数のサムネイル画像に対して実行できる削除、回転、反転等の機能の操作対象となっている状態を言い、スライドショウの再生対象もこれに含まれる。一方、「アクティブ状態」とは、現在の表示対象になっているサムネイル画像であること、或いは表示開始位置にある状態をいい、アクティブ状態にあるサムネイル画像は同一階層に1枚だけ存在する。図3に示すサムネイル画像の中で、左の最上位に有るサムネイル画像及び図4に示す左のサムネイル画像が「選択状態」かつ「アクティブ状態」にある。
【0069】
画面下部にはメニュー領域304とアイコン領域305とが配置されている。メニュー領域304には「ファイル」、「編集」、「表示」等のメニュー項目が表示されており、メニュー項目をスタイラスペン202でタップすることによってメニュー項目のサブメニュー(図示せず)が表示される。表示されたサブメニューには複数の機能が表示され、ユーザは所望の機能を選択することができる。
【0070】
一方、アイコン領域305には「保存」、「削除」、「回転」等の機能を示すアイコンが表示されており、所望のアイコンをペンでタップすることによって直接に所望の機能を実行することができる。
【0071】
これらのメニュー領域304及びアイコン領域305は画面下部に限らず、上部や側部に配置しても良いし、ユーザの好みによって移動可能であっても良い。また、アイコンは、便宜上、文字で図示してあるが、機能を認識させるものであれば絵や記号であっても良い。
【0072】
図4は画面の下部に3枚のサムネイル画像が横一列に表示され、画面の上部には3枚のサムネイル画像のうち「アクティブ状態」にある1枚が拡大表示されている。図示した例では左端のサムネイル画像が「アクティブ状態」にあり、拡大表示されている。
【0073】
図3に図示した「サムネイル一覧」の画面と図4に図示した「サムネイル+拡大画像(1枚)」の画面とは、アイコン領域の「表示モード」アイコン306をタップすることで何れの画面からも他の画面に切り替えることができる。また、図3で表示されたサムネイル画像のうちの1つをタップすることによっても、「サムネイル一覧」の画面から「サムネイル+拡大画像(1枚)」の画面に切り替えることができる。
【0074】
図3及び図4に図示したどちらの画面においても、表示し切れないサムネイル画像が存在する場合には、スクロールバー307を使って画面をスクロールさせることによって表示されるサムネイル画像を入れ替えることができ、これにより、ユーザは全てのサムネイル画像を見ることができる。
【0075】
図3では、3行×3列の格子状にサムネイル画像を配列し、9つのサムネイル画像を同時に表示しているが、サムネイルの同時表示数や配列はこれに限定されず、2行×2列や4行×4列、2行×3列などでも良く、また、それらの配列を相互に変更できるようにしても良い。更に格子状の平面的な配置ではなく3次元的な配置であっても良い。また、サムネイルの同時表示数や表示位置に応じてサムネイルサイズを変更するようにしても良い。
【0076】
表示モードは図3に示した「サムネイル一覧」と図4に示した「サムネイル+拡大画像(1枚)」との2つのモードの他に、選択されたサムネイル画像に対応するコンテンツを1つだけ拡大表示する「1枚表示」モードを加えてもよい。この場合、アイコン領域305の「表示モード」アイコン306に対するタップ操作によって、これら3つのモードを順次切替えるようにしても良いし、「サムネイル+拡大画像(1枚)」と「1枚表示」のどちらかを予め設定画面などで設定しておくようにして、「表示モード」アイコン306をタップすることにより、「サムネイル一覧」と設定した表示との何れか一方のモードを切替えられるようにしても良い。
【0077】
次に、キャッシュ処理の説明をする。
【0078】
図5は、図2のPDA100のキャッシュ処理の基本的な流れを示すフローチャートである。
【0079】
キャッシュ処理は、画像閲覧中に表示切替の指示がされた場合に開始される。その際、新たに表示が必要となった画像データがキャッシュされているかの問合せ、すなわち、キャッシュデータの有無確認の処理をする(ステップS501)。
【0080】
次に、キャッシュデータの有無を判別し(ステップS502)、キャッシュデータが有る場合には、キャッシュデータの取得処理を実行して表示する(ステップS503)。一方、キャッシュデータが無い場合には、イメージデータの読込み処理を実行し、読み込んだ画像の縮小表示を行い(ステップS504)、これと共にキャッシュデータとしての保存処理を実行し(ステップS505)、キャッシュ処理を終了する。
【0081】
以上がキャッシュ処理の基本的な流れである。これら一連の処理によって、メディア交換型記録部106に装着されてたメモリカードやRAM103に記録された画像データを再生表示するに当たって、一度表示した画像データをキャッシュしておき、それを再利用するので、同じ画像データを再度表示する際の待ち時間が軽減される。なお、画像データがこれから表示しようとするサイズよりも小さいときには、オーバーヘッド防止のため、キャッシュデータは作成せずに、表示の都度、そのままのサイズで、あるいはリサイズして表示するようにする。
【0082】
ここで、PDA100の構成のうちキャッシュ処理に係る部分の概念的構成を説明し、その各構成要素が図5に示したキャッシュ処理の各ステップでどの様に機能して、キャッシュ処理が実現するのかを図7乃至図10を参照しながら詳細に説明する。
【0083】
図6はPDA100の概念的な構成を示すブロック線図である。
【0084】
画像再生メインプログラム601は、PDA100が動作する為のプログラム本体である。この画像再生メインプログラム601は主に情報の入出力の管理とイメージの描画、メッセージの処理を行う。
【0085】
キャッシュライブラリ602は、画像再生メインプログラム601の指示に従って、キャッシュデータの書き込みや読み出し、キャッシュデータの有無の確認(検索)などを制御する為のソフトウェアである。
【0086】
インデックスファイル603は、キャッシュデータ管理用に構成されたデータファイルであり、PDA100のRAM103に設定されるキャッシュメモリに格納される。このインデックスファイル603は、インデックスファイルの構成例として図7に示すように、ファイル名、ファイルの作成日時、ファイルの更新日時、ファイルサイズ、キャッシュファイル名(一覧表示用)、キャッシュファイル名(1枚表示用)、キャッシュの参照回数、キャッシュの最終参照日などで構成されている。
【0087】
キャッシュファイル604(サムネイル表示用キャッシュファイル、1枚表示用キャッシュファイル)は、記憶媒体に記憶された画像データから生成した複数の表示サイズの表示画像データをキャッシュデータ(サムネイルキャッシュデータ、1枚表示キャッシュデータ)として格納するデータファイルであり、RAM103またはメディア交換型記憶部106に設定されるキャッシュメモリに保存することができる。RAM103及びメディア交換型記憶部106のうちどちらに保存するかの選択、すなわちキャッシュメモリの選択は後述するキャッシュ機能設定画面からの設定・変更によってユーザが任意に決定できる。
【0088】
イメージプラグイン605は、イメージデータの入力を行う外部ライブラリファイル(DLL形式)である。JPEG、BITMAP、FLASHPIX(商標)などの各種のファイルフォーマットに対応した読み込み用プラグインファイルがサポートされる。
【0089】
画像再生メインプログラム601、キャッシュライブラリ602、及びイメージプラグイン605は実行形式ファイルとして、PDA100の内部メモリ(RAM103若しくはROM102)またはメディア交換型記憶部106に格納されている。
【0090】
図8は、図5におけるキャッシュデータの有無確認の処理(ステップS501)を示すフローチャートである。
【0091】
画像閲覧中にユーザからの表示切替の指示があった場合に、画像再生メインプログラム601は、始めにキャッシュ機能が有効か否か(Onの状態かOffの状態か)をキャッシュライブラリ602に対して問い合わせて判別し、新たに表示が必要となった画像データのファイル名と現在の表示モード(一覧表示用か1枚表示用か)とを併せてキャッシュライブラリ602に通知する(ステップS801)。このキャッシュ機能のOn/Offは予め設定画面で設定しておくが、詳細は後述する。
【0092】
キャッシュ機能が無効(Off)である場合には、キャッシュライブラリ602は画像再生メインプログラム601に対して「FALSE」を返却する(ステップS805)。ステップS801の判別の結果、キャッシュ機能がOnである場合には、キャッシュライブラリ602は、画像再生メインプログラム601から受け取ったファイル名に該当するレコードがインデックスファイル603に格納されているか検索する(ステップS802)。この検索は、ダイレクトアクセス可能な検索キーとして設定されているファイル名(図7参照)を用いて行われる。
【0093】
インデックスファイル603に該当するレコードが存在する場合には、ステップS801でファイル名と共に通知された現在の表示モードに対応するキャッシュファイル名が有るか(登録されているか)否かを確認する(ステップS803)。検索の結果、インデックスファイル603に該当するレコードが存在し、かつ現在の表示モードに対応するキャッシュファイル名が登録されている場合には、キャッシュデータが存在するものと判定して、画像再生メインプログラム601に対して「TRUE」を返却する(ステップS804)。
【0094】
一方、インデックスファイル603に該当するレコードが存在しない場合、又はレコードは存在するが現在の表示モードに対応するキャッシュファイル名が登録されていない場合には、キャッシュライブラリ602は、キャッシュデータが存在しないものと判定して、画像再生メインプログラム601に対して「FALSE」を返却する(ステップS805)。このようにして、キャッシュデータの有無確認が行われる。
【0095】
上記の処理によってキャッシュデータの存在が確認された場合には、続いて、キャッシュデータの取得を行う。
【0096】
図9は、図5におけるキャッシュデータの取得処理(ステップS503)を示すフローチャートである。
【0097】
キャッシュライブラリ602は、画像再生メインプログラム601から渡されたファイル名の作成日時、更新日時を取得し(ステップS901)、インデックスファイル603から検索されたレコードの作成日時、更新日時を取得して(ステップS902)、それぞれ作成日時、更新日時がともに一致しているか否かを判別する(ステップS903)。判別の結果、作成日時、更新日時ともに一致する場合には、キャッシュデータが存在するものと判定して、指定されたキャッシュファイル名をインデックスファイル603から取得する(ステップS904)。
【0098】
次に取得したキャッシュファイル名に該当するキャッシュデータをキャッシュファイル604から読み込む(ステップS905)。キャッシュデータの読込みが成功したか否かを判別し(ステップS906)、キャッシュデータの読込みが成功した場合には、インデックスファイル603に記録したキャッシュの最終参照日(最終更新日)と参照回数を更新する(ステップS907)。
【0099】
最後に、キャッシュライブラリ602はキャッシュデータをキャッシュファイル604から読み込んで取得し、画像再生メインプログラム601へ渡し(ステップS908)、本処理を終了する。
【0100】
一方、ステップS903の判別の結果、作成日時、更新日時のどちらか一方又は双方が不一致の場合、及びステップS906の判別の結果、キャッシュデータの読込みが失敗である場合には、キャッシュされているデータは破損などで再表示に利用できないものと判定して、インデックスファイル603からは該当キャッシュファイル名のレコードを削除し(ステップS909)、キャッシュファイル604からは該当するキャッシュデータを削除する(ステップS910)。以降は、キャッシュデータが存在しない場合の処理と同様の処理を行う必要があるので、図5のイメージデータの読込み処理(ステップS504)に移行する。
【0101】
次に、イメージデータの読込み処理を説明する。
【0102】
図10は、図5におけるイメージデータの読込み処理(ステップS504)を示すフローチャートである。
【0103】
図8に示したキャッシュデータの有無確認の処理において、キャッシュライブラリ602から「FALSE」の返却を受けた画像再生メインプログラム601は、イメージプラグイン605に対して、イメージデータの読込みを指示する。指示を受けたイメージプラグイン605は指定されたファイルのイメージフォーマットを確認し(ステップS1001)、フォーマットに適合する入力プラグインを起動させ、指定された表示モード(一覧表示か1枚表示か)に応じた縮小読込みを行い、デバイス非依存の標準画像フォーマット、例えば、Windows(登録商標)オペレーティングシステム標準のDIB(Device Independent Bitmap)フォーマットに変換して(ステップS1002〜S1004の変換処理のいずれか)、画像再生メインプログラム601へ返却し(ステップS1004)、本処理を終了する。
【0104】
ここでは、JPEG、BITMAP、及びFLASHPIXの3つの画像フォーマットのみを示したが、画像フォーマットはこれらに限定されるものではなく、JPEG2000やGIF、PNGなどのフォーマットであっても良い。対応フォーマットは、外部ライブラリファイル(DLL形式)の更新や追加によって容易に増やすことができる。
【0105】
上記のようにして新たにイメージデータを読込み表示した場合には、将来の再表示に備えて、キャッシュデータを保存する。キャッシュデータの保存は、キャッシュファイル604へのキャッシュデータ本体の書き込みと、インデックスファイル603への管理レコードの追加・更新との2つが行われる。
【0106】
図11は、図5におけるキャッシュデータの保存処理(ステップS505)を示すフローチャートである。
【0107】
新たにイメージデータを読み込んだキャッシュライブラリ602は、新しく書き込みを行うキャッシュファイル名を取得する(ステップS1101)。キャッシュファイル名は一意性を保つ為に、キャッシュライブラリ内で自動的に命名される。
【0108】
キャッシュファイル名の取得後、そのキャッシュファイル名を付けたキャッシュデータをキャッシュファイル604に書き込み(ステップS1102)、続いて、インデックスファイル603への管理レコードの追加・更新を行う。この際に、指定されたファイルの管理レコードが存在するかを確認する(ステップS1103)。これは、1つの管理レコードで一覧表示用と1枚表示用の2種類のキャッシュデータを管理する為に必要になる処理である。
【0109】
管理レコードが有るか否かを判別し(ステップS1104)、指定されたファイルの管理レコードが存在する場合には、既存のインデックスファイル603の管理レコードに新規に書き込まれたキャッシュファイル名を設定すると共に、キャッシュデータの参照回数、キャッシュデータの最終参照日を更新する(ステップS1105)。この際に、対象となる管理レコードのキャッシュデータに論理不整合がある場合は修正を行う。キャッシュデータの論理不整合のチェック内容を具体的に説明すると、1枚表示用キャッシュデータ(1枚表示データ)を更新する場合には、一覧表示用キャッシュファイル名が管理レコードに登録されているかを確認し、登録されている場合にはキャッシュファイル604から該当するキャッシュデータを検索する。ここで、該当するキャッシュデータが存在しない場合には、論理不整合であると判断して、対象となる管理レコードから一覧表示用のキャッシュファイル名を削除する。反対に、一覧表示用キャッシュデータ(サムネイルデータ)を更新する場合には、1枚表示用のキャッシュデータの論理不整合をチェックする。
【0110】
ステップS1104の判別の結果、指定されたファイルの管理レコードが存在しない場合には、ステップS1106に進み、インデックスファイル603に新しい管理レコードを追加して保存する。この際に、キャッシュの使用量のチェックを行い、容量を越えている場合には、インデックスファイル603に格納された、キャッシュの最終参照日を手掛かりにして、最も過去に参照されたキャッシュデータを削除する。この削除処理は、新しい管理レコードを追加するのに必要な容量を確保できるまで繰り返される。このようにしてキャッシュデータの保存処理が終了する。
【0111】
図12は、PDA100に表示されるキャッシュ機能設定画面を例示する図であり、(a)はキャッシュ機能設定画面の基本画面を示し、(b)はキャッシュ機能設定画面の詳細設定画面を示す。
【0112】
図12の(a)に示すチェックボックス1201は、キャッシュ機能を使用する(On)か否(Off)かを予め設定しておくためのものである。キャッシュデータの保存場所1202はキャッシュメモリの設定場所であり、キャッシュファイル604の所在を設定するための項目である。白抜きで図示したように通常は「自動設定」が選択されており、実行形式ファイルが格納された記憶領域と同じ記憶領域にフォルダが生成されてキャッシュデータが保存されるが、ユーザは、キャッシュデータの保存先を本体のRAM103またはメディア交換型記憶部106に装着したメモリカードに選択することができる。
【0113】
「メモリカード」はPDA100のメディア交換型記憶部106にメモリカードが装着された場合にのみ表示される。複数のメモリカードを装着した場合には、「メモリカード1」、「メモリカード2」の様に装着されたメモリカードを識別できるように表示される。
【0114】
設定を変えたときは、「設定」ボタン1204を押すことにより、変えた設定内容で設定を更新することができ、「キャンセル」ボタン1205を押すことにより、変えようとした設定内容による設定の更新をキャンセルできる。
【0115】
より詳細な設定を行う場合には、「詳細設定」ボタン1203を押して、図12の(b)に示す詳細設定画面を表示させる。
【0116】
詳細設定画面では、「メモリの使用率」1206によるメモリの使用率の設定及び「キャッシュのクリア条件」1207によるキャッシュのクリア条件の設定ができる他、「クリア」ボタン1208によってキャッシュの強制クリアを実行させることができる。
【0117】
「メモリの使用率」1206は、キャッシュデータの保存場所に設定した記憶媒体の全記憶容量の内どの程度をキャッシュ領域として割り当てるかを設定する為のものである。図示した例ではキャッシュ領域を割り当てない場合(0%)から最大で全記憶容量の30%をキャッシュ領域に割り当てる場合まで、ユーザが任意に設定できる。
【0118】
「キャッシュのクリア条件」1207は、どの様なタイミングでキャッシュ(キャッシュデータ、管理レコード)をクリアするかを設定するためのものである。図示の例では、「アプリケーションの終了時」、「キャッシュデータの保存場所変更時」、及び「キャッシュ機能をOffにした時」の中から1つ又は複数の条件をチェックボックスで設定しておくことができる。
【0119】
「アプリケーションの終了時」に設定すると、アプリケーションの終了時に全てのキャッシュが消去される。「キャッシュデータの保存場所変更時」に設定すると、上述の基本画面で保存場所を変更したときや保存場所を「メモリカード」に設定した状態でメモリカードを抜いたときに、全てのキャッシュが消去される。また、「キャッシュ機能をOffにした時」に設定すると、上述の基本画面で「チェックボックス」1201のチェックを外したときに全てのキャッシュが消去される。
【0120】
「クリア」ボタン1208は、上記の「キャッシュのクリア条件」1207によるクリア条件の設定に関わらず、その場で強制的にキャッシュをクリアしたいときに操作するボタンである。
【0121】
上記のように第1の実施の形態に係る情報処理装置は、記憶媒体に記録された画像データを再生表示するに当たって、一度表示した画像データをキャッシュしてあるので、再び表示する際の待ち時間を軽減することができる。
【0122】
本実施の形態に係る情報処理装置についてPDAを例に挙げて説明したが、情報処理装置はこれに限らず、デジタルカメラ、携帯電話等であってもよい。
【0123】
なお、一覧表示用のキャッシュデータ及び1枚表示用のキャッシュデータは、夫々のデータが必要になった時点で個別にキャッシュするが、これらのうち、どちらか一方をキャッシュする際にもう一方のキャッシュデータも同時に生成して保存しておいても良い。これにより、一覧表示モード及び1枚表示モードのいずれか一方の表示モードで表示した画像を、後に、もう一方の表示モードで表示する場合に、キャッシュデータが保持されているので、画像を表示する際の待ち時間が短縮する。
【0124】
また、キャッシュをクリアする場合には全てのキャッシュ情報を削除したが、キャッシュ機能設定画面に「キャッシュのクリア範囲」のような項目を設けて、クリアする範囲を選択できるようにしても良い。
【0125】
また、キャッシュデータの保存場所についても、本体のRAM103及びメディア交換型記憶部106に装着されたメモリカードのどちらか一方に固定するのではなく、本体RAM103に記憶された実体データに対しては本体のRAM103をキャッシュデータの保存場所にし、メディア交換型記憶部106に装着されたメモリカードに記憶された実体データに対しては同じメモリカードをキャッシュデータの保存場所にする、というように実体データと同一の記憶領域にキャッシュデータを保存するように自動的に切替えるようにしても良い。これにより、例えば、複数のメモリカードを交換して使用する場合でも、各々のメモリカードには、実体データとそれに対応するキャッシュデータとが格納されているので、画像を表示する際の待ち時間が短縮されて利便性が向上する。
【0126】
また、キャッシュ機能が有効である場合であっても、保存場所として指定されたメモリカードが抜かれたり、或いは書き込み禁止であったりなどの理由によって、キャッシュができない場合には自動的にキャッシュ機能を無効にするようにしても良い。更に、保存場所が有効になるか、保存場所を変更した場合には、再びキャッシュ機能を有効に戻すようにしても良い。
【0127】
(第2の実施の形態)
第2の実施の形態に係る情報処理装置について説明する。本実施の形態に係る情報処理装置は第1の実施の形態に係る情報処理装置として例示したPDA100と同一のハードウェア構成(図1参照)及び外観(図2参照)を有する。
【0128】
第1の実施の形態においては、管理レコードの追加処理で「最も過去に参照されたキャッシュデータの削除」、キャッシュデータの最終参照日の更新処理で「更新対象となるキャッシュデータの論理不整合の修正」、キャッシュデータの問い合せ時に「壊れたキャッシュファイルの削除」が行われるが、チェック範囲が処理対象となるレコードのみであった。
【0129】
これに対して本実施の形態に係る情報処理装置では、キャッシュデータ全体の不整合については別のタイミングでチェック、削除、修正処理を行って、不必要なキャッシュデータによるメモリ領域の占有を解消するために、キャッシュした画像データに対してガベージ・コレクションを行うことによって、キャッシュに用いるメモリ領域の利用効率化を図る点が第1の実施の形態に係るPDA100とは異なる。
【0130】
ガベージ・コレクションは、アプリケーション終了時及びアイドルの間に実行される。ただし、これらのタイミングで毎回処理が実行されるのではなく、処理を行うかどうかの抽選を行い、抽選に当たった場合のみ実行される。これは、論理不整合がおきるキャッシュデータの発生頻度が高くないこと、及びシステムの処理を重くしないためである。なお、ガベージ・コレクションは、アプリケーション起動時に実行するようにしてもよい。
【0131】
なお、アイドルか否かの判定は、入出力状態を監視して無入力・無出力の状態をアイドルとする方法、表示画面上で他のアプリケーションの背後になった状態をアイドルとする方法など、オペレーティングシステムの仕様によって様々な判定方法が考えられる。
【0132】
図13は、ガベージ・コレクション処理を示すフローチャートである。
ガベージ・コレクションは始めにキャッシュ機能が有効か(On)否か(Off)を判別する(ステップS1301)。キャッシュ機能が有効の場合には、ガベージ・コレクションを実行するか否かを決める抽選処理を行う(ステップS1302)。抽選の当選確率は例えば1/100(100回に1回)のように予め設定されている。
【0133】
抽選の結果を判別し(ステップS1303)、当選した場合には、ガベージ・コレクションを実行する。ガベージ・コレクションは、次の(1)〜(3)のいずれかの条件を満たすキャッシュデータに対して実行してキャッシュデータを削除する(ステップS1304,ステップS1305)。
(1)実体が存在しない
(2)実体のファイルの作成日時、更新日時と、キャッシュデータの作成日時、更新日時が一致しない
(3)インデックスファイルに管理レコードが無い
ステップS1301の判別の結果、キャッシュ機能が無効の場合、及び抽選にはずれた場合にはガベージ・コレクションは実行されない。
【0134】
なお、ガベージ・コレクション実行中に何らかの操作が行われた場合には、直ちにガベージ・コレクションの実行を中止し、アプリケーションに制御を戻す。
【0135】
図14は、図13におけるステップS1304の処理を示すフローチャートである。この処理では、実体の無いキャッシュ、日付の一致しないキャッシュの削除が行われる。
【0136】
先ず、インデックスファイル603に登録された全ての管理レコードをチェックしたか否かを判別する(ステップS1401)。全ての管理レコードをチェックしていない場合、すなわち、未チェックの管理レコードがある場合には未チェックの管理レコードを読み込む(ステップS1402)。
【0137】
次に、管理レコードに記録されたキャッシュデータに対応する実体データがキャッシュファイル604に存在するか否かを判別(ステップS1403)し、実体データが存在する場合は、管理レコードに記録されたキャッシュデータの作成日時、更新日時が実体データのものと一致するか否かを判別する(ステップS1404)。
【0138】
実体データがない場合、或いはキャッシュデータの作成日時、更新日時が実体データのものと一致しない場合には、キャッシュファイル604から該当するキャッシュデータを削除し(ステップS1405)、また、インデックスファイル603から管理レコードを削除する(ステップS1406)。
【0139】
ここまでの処理が終了するとステップS1401に戻り、全ての未チェックの管理レコードに対してチェックが終了するまで処理を繰り返す。
【0140】
図15は、図13におけるステップS1305の処理を示すフローチャートである。この処理では、管理レコードが存在しないキャッシュデータの削除を行う。
【0141】
先ず、全てのキャッシュデータをチェックしたか否かの判別をする(ステップS1501)。全てのキャッシュデータをチェックしていない場合、すなわち、未チェックのキャッシュデータがある場合には、未チェックのキャッシュファイル名をキャッシュファイル604から取得する(ステップS1502)。
【0142】
次に、取得したキャッシュファイル名に対応する管理レコードがインデックスファイル603に存在するか否かを判別する(ステップS1503)。キャッシュファイル名に対応する管理レコードが存在しない場合には、そのキャッシュファイル名の付いたキャッシュデータをキャッシュファイル604から削除する(ステップS1504)。
【0143】
ここまでの処理が終了するとステップS1501に戻り、全ての未チェックのキャッシュデータに対してチェックが終了するまで本処理を繰り返す。
【0144】
なお、図13に示したフローチャートにおけるステップ1304の処理とステップ1305の処理とは順序を逆にしても良いし、どちらか一方の処理のみを行うようにしても良い。
【0145】
図16は、ガベージ・コレクション処理の変形例を示すフローチャートである。
【0146】
図16に示すガベージ・コレクション処理は、本フローチャートにおけるステップS1606の処理を追加して行う点のみが図13に示したガベージ・コレクション処理と異なる。したがって、ステップS1606以外のステップの説明は省略する。
【0147】
図17は、図16におけるステップS1606の処理を示すフローチャートである。この処理はキャッシュデータの存在しない管理レコードを削除する処理である。
【0148】
先ず、全ての管理レコードをチェックしたか否かの判別をする(ステップS1701)。全ての管理レコードをチェックしていない場合、すなわち、未チェックの管理レコードがある場合には、未チェックの管理レコードをインデックスファイル603から読みこむ(ステップS1702)。
【0149】
次に、管理レコードに書きこまれているキャッシュファイル名に対応するキャッシュデータが存在するか否かを判別する(ステップS1703)。ここで、1つの管理レコードは、一覧表示用及び1枚表示用の2種類のキャッシュデータの管理に使用されているので、1つの管理レコードについて最大2回の判別が実行される。
【0150】
管理レコードに書き込まれたキャッシュファイル名が一覧表示用及び1枚表示用のうち何れか一方だけが存在する場合には、1回だけ判別を行って、そのキャッシュファイル名に対応するキャッシュデータが存在する場合には有効な管理データであるので管理レコードを削除することなくステップS1701に戻り、全ての未チェックの管理レコードに対してチェックが終了するまで本処理を繰り返す。一方、管理レコードに書きこまれているキャッシュファイル名に対応するキャッシュデータが存在しない場合には、管理レコードは不要であるので削除する。
【0151】
また、管理レコードに書き込まれたキャッシュファイル名が一覧表示用及び1枚表示用の両方が存在する場合には、2回の判別を行って、どちらのキャッシュファイル名にもそれぞれ対応するキャッシュデータが存在する場合には有効な管理データであるので管理レコードを削除することなくステップS1701に戻り、全ての未チェックの管理レコードに対してチェックが終了するまで本処理を繰り返す。どちらか一方のキャッシュファイル名のみに対応するキャッシュデータが存在する場合には、キャッシュデータが存在しない方のキャッシュファイル名を管理レコードから削除する。また、2つのキャッシュファイル名に対応するキャッシュデータがいずれも存在しない場合には、管理レコードは不要であるので削除する。
【0152】
なお、図16に示したフローチャートにおけるステップ1604〜ステップS1606の各処理間の順序はどのような順序でも良いし、いずれか1つの処理のみを実行するものであっても良い。
【0153】
上記の何れのガベージ・コレクション処理によっても、無駄なキャッシュデータや管理データを削除できるので、キャッシュに割り当てたメモリ領域の利用効率が向上する。
【0154】
なお、ガベージ・コレクションの実行を所定確率の抽選で決定していたが、これをアクセス回数が所定値に達したときに実行するようにしても良い。アクセス回数が増えるに従って、キャッシュデータの論理不整合が起きる可能性が高くなるので、これにより、一層に効果的なガベージ・コレクションが実現できる。
【0155】
上記の実施の形態においては、一覧表示用のキャッシュデータと1枚表示用のキャッシュデータとの2種類(2サイズ)のキャッシュデータを持つものとして説明したが、これに限定せず、画像データの表示形態に応じて、より多くの種類(サイズ)のキャッシュデータを持つようにしても良い。この場合であっても、1つの管理レコードによって複数のキャッシュデータを管理することはいうまでもない。
【0156】
本発明は、上述した実施の形態の機能を実現するソフトウェアのプログラム(図5、図8乃至図17のフローチャート)をコンピュータ又はCPUに供給し、そのコンピュータ又はCPUが該供給されたプログラムを読出して実行することによって、その目的を達成することができる。
【0157】
この場合、上記プログラムは、該プログラムを記録した記憶媒体から直接に供給されるか、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続される不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【0158】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
【0159】
また、本発明は、上述した実施の形態の機能を実現するソフトウェアのプログラムを記憶した記憶媒体をコンピュータ又はCPUに供給し、そのコンピュータ又はCPUが記憶媒体に記憶されたプログラムを読出して実行することによっても、達成することができる。
【0160】
この場合、格納媒体から読出されたプログラムコード自体が上述した各実施の形態の機能を実現すると共に、そのプログラムコードを記憶した記憶媒体は本発明を構成する。
【0161】
プログラムコードを記憶する記憶媒体としては、例えば、ROM、RAM、NV−RAM、フロッピー(登録商標)ディスク、ハードディスク、光ディスク(登録商標)、光磁気ディスク、CD−ROM、MO、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード等がある。
【0162】
上述した実施の形態の機能は、コンピュータから読出されたプログラムコードを実行することによるばかりでなく、コンピュータ上で稼動するOS等がプログラムコードの指示に基づいて実際の処理の一部又は全部を行うことによっても実現することができる。
【0163】
【発明の効果】
以上詳細に説明したように、請求項1記載の情報処理装置、請求項19記載の画像データ処理方法、請求項37記載の画像データ処理プログラム、及び請求項38記載の記憶媒体によれば、画像データから、生成した複数の表示サイズの表示画像データは、1度表示するとキャッシュデータとしてキャッシュファイルに格納し、このキャッシュファイルを管理する為の管理レコードを画像データ毎にインデックスファイルに保持し、キャッシュファイル及びインデックスファイルを記憶媒体に設定されたキャッシュメモリに格納するので、画像データを再生表示する際にはキャッシュファイルに格納されたデータを使用でき、これによって画像の再生表示の待ち時間が短縮する。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る情報処理装置のハードウェア構成を示すブロック図である。
【図2】図1の情報処理装置の全体を示す斜視図である。
【図3】サムネイル画像の一覧表示の画面を示す図である。
【図4】3枚のサムネイル画像とさらにその内の1枚を拡大した拡大画像とを表示した画面を示す図である。
【図5】図2のPDA100のキャッシュ処理の基本的な流れを示すフローチャートである。
【図6】PDA100の概念的な構成を示すブロック線図である。
【図7】インデックスファイルの構成例を示す図である。
【図8】図5におけるキャッシュデータの有無確認の処理を示すフローチャートである。
【図9】図5におけるキャッシュデータの取得処理を示すフローチャートである。
【図10】図5におけるイメージデータの読込み処理を示すフローチャートである。
【図11】図5におけるキャッシュデータの保存処理を示すフローチャートである。
【図12】PDA100に表示されるキャッシュ機能設定画面を例示する図であり、(a)はキャッシュ機能設定画面の基本画面を示し、(b)はキャッシュ機能設定画面の詳細設定画面を示す。
【図13】ガベージ・コレクション処理を示すフローチャートである。
【図14】図13におけるステップS1304の処理を示すフローチャートである。
【図15】図13におけるステップS1305の処理を示すフローチャートである。
【図16】ガベージ・コレクション処理の変形例を示すフローチャートである。
【図17】図16におけるステップS1606の処理を示すフローチャートである。
【符号の説明】
100 PDA
102 ROM
103 RAM
104 表示部
105 入力部
106 メディア交換型記録部
601 画像再生メインプログラム
602 キャッシュライブラリ
603 インデックスファイル
604 キャッシュファイル[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an information processing apparatus that reproduces and displays an image based on image data recorded in a recording unit and a cache control method of the information processing apparatus.
[0002]
[Prior art]
2. Description of the Related Art In recent years, usage methods for reproducing and displaying contents such as still images and moving images, and editing and processing in portable information processing apparatuses such as digital cameras, PDAs (Personal Digital Assistants), and mobile phones have become widespread. is there. For example, thumbnail images called "thumbnails" are displayed in a list on the display screen of the portable information processing apparatus, and the content corresponding to the thumbnail selected from the displayed thumbnails is enlarged and displayed for playback. It is also possible to perform processing, play a slide show, and even attach the content to an e-mail and send it to a third party via a communication line.
[0003]
In addition, as the number of pixels of digital cameras has been increased, the amount of data of images to be handled has become enormous. In order to perform recording / reproducing and editing processing of such an image having a large data amount, a portable information processing apparatus is required to have higher processing performance and a larger storage capacity.
[0004]
However, especially in a small portable information processing apparatus, there are many restrictions on both processing performance and storage capacity in terms of cost and size. For this reason, there are many occasions where a long processing time required for recording or reproducing an image, a shortage of memory, etc. give the user an uncomfortable feeling in terms of operability or inconvenience the user.
[0005]
At present, several solutions have been proposed to solve these problems.
[0006]
One of them is that a digital camera pre-reads image data recorded as a compressed image on a storage medium before a user inputs a forward frame forward or reverse frame forward instruction from a state in which a captured image is displayed. In some cases, a decompression process is performed, image data after the decompression process is held in a memory, and a waiting time for reproducing and displaying a compressed image recorded in a storage medium is reduced. (For example, see Patent Document 1)
Also, of the captured images stored in the memory card, for example, only the image captured on the day is created using the idle time of the processing, thereby reducing the memory capacity and reproducing and displaying the thumbnail image. There is an information processing device that aims to reduce the waiting time in the event. (For example, see Patent Document 2)
Furthermore, in a similar image search device that displays a list of a plurality of images in descending order of similarity based on the feature amount of an image, by caching image data that has been displayed once, when it is necessary to display the image again, In some cases, an image is displayed at high speed, and a cached image is deleted based on the free space of the cache or the frequency of use of the image to improve the efficiency of use of the memory area. (For example, see Patent Document 3)
[0007]
[Patent Document 1]
JP 2002-101329 A
[Patent Document 2]
JP-A-10-178609
[Patent Document 3]
JP 2000-148795 A
[0008]
[Problems to be solved by the invention]
However, in the case of the example described in Patent Document 1, although a certain effect is obtained when the operation order and the display order can be predicted to some extent, an image with a high display frequency, such as an image that the user likes or an image that is deeply interested, is displayed. However, there is a problem that an unpredictable image cannot be reproduced and displayed without waiting time.
[0009]
Further, in the case of the example described in Patent Literature 2, the thumbnail image creation target is determined based on the recording date (shooting date), and does not necessarily match the image desired by the user. As in the case of the example described in (1), there is a problem that an image with a high display frequency, such as an image that the user likes or an image with a deep interest, cannot be reproduced and displayed without waiting time.
[0010]
Also, in the case of the example described in Patent Literature 3, cached data such as one in which no actual data exists and only cache data remains, and one in which the creation date and time and update date and time of the actual data and the cache data do not match, are used. However, since the data having no use value remains without being removed, the use efficiency of the memory area used for the cache is low.
[0011]
An object of the present invention is to provide an information processing apparatus in which a waiting time when reproducing and displaying image data recorded on a storage medium is reduced, a control method of the apparatus, a program, and a storage medium.
[0012]
It is still another object of the present invention to provide an information processing apparatus with improved utilization efficiency of a memory area used for a cache, a control method for the apparatus, a program, and a storage medium.
[0013]
[Means for Solving the Problems]
In order to achieve the above object, an information processing apparatus according to claim 1 is an information processing apparatus capable of generating display image data of a plurality of display sizes from image data stored in a storage medium and reproducing and displaying the display image data. A cache file storing the display image data displayed once as cache data, and an index file holding a management record for managing the cache file for each image data are set in the storage medium. Stored in a cache memory.
[0014]
According to a second aspect of the present invention, in the information processing apparatus according to the first aspect, the display image data includes at least two types of display sizes, that is, thumbnail display data and single-sheet display data. And
[0015]
4. The information processing apparatus according to claim 1, wherein when adding new cache data to the cache memory, a file name is given to the cache data, and at least the image data is added. Are stored in a predetermined management record of the index file together with the file name, creation date, and update date.
[0016]
The information processing apparatus according to claim 4, wherein the display size to be displayed when the image data stored in the storage medium is reproduced and displayed in the information processing apparatus according to any one of claims 1 to 3. If the cache data exists in the cache memory, the cache data is read out from the cache memory and displayed, while if the cache data to be displayed does not exist in the cache memory, the cache data is read from the storage medium. The image data is generated and displayed by generating display image data of a predetermined display size, and the display image data is added to the cache memory as the new cache data.
[0017]
According to a fifth aspect of the present invention, in the information processing apparatus according to the third or fourth aspect, the cache data is stored in a predetermined management record of the index file both when adding and reading the cache data. The reference date of the cache data is updated.
[0018]
In the information processing apparatus according to claim 6, in the information processing apparatus according to claim 4, when the new cache data is added to the cache memory, a management record for managing the cache data is already stored in the index file. In the case where the management record exists, the reference date of the management record is updated, and the file name given to the cache data is stored in the management record.
[0019]
The information processing apparatus according to claim 7 is the information processing apparatus according to claim 6, further comprising, when the file name of another cache data is stored in the management record, storing the file name on the cache file. It is characterized in that it is determined whether or not the cache data corresponding to the file name exists, and when the cache data does not exist, the file name of the other cache data is deleted from the management record.
[0020]
According to an eighth aspect of the present invention, in the information processing apparatus according to any one of the first to seventh aspects, the information processing apparatus performs any one of adding a management record, updating a management record, and adding new cache data. When the capacity of the cache memory is exceeded, the cache data with the oldest reference date is deleted from the oldest cache data in order to secure the remaining capacity of the capacity enough to execute any one of the cache memories.
[0021]
The information processing apparatus according to
[0022]
In the information processing apparatus according to claim 10, in the information processing apparatus according to
[0023]
An information processing device according to an eleventh aspect is characterized in that, in the information processing device according to the ninth aspect, selection of the setting location of the cache memory is determined based on a storage location of the image data.
[0024]
The information processing apparatus according to claim 12, wherein in the information processing apparatus according to any one of
[0025]
The information processing apparatus according to claim 13 is the information processing apparatus according to any one of
[0026]
In the information processing apparatus according to claim 14, in the information processing apparatus according to claim 13, the setting of the cache memory is set when the external memory is remounted or write protection is released. It is characterized by returning from the internal memory to the external memory.
[0027]
16. The information processing apparatus according to claim 1, wherein a creation date and an update date of the image data stored in the storage medium, and the image data on the index file. Performing a garbage collection process of deleting the management record and all cache data managed by the management record when the creation date and the update date stored in the management record corresponding to the data do not match. I do.
[0028]
17. The information processing apparatus according to claim 1, wherein the management record for managing the cache data stored in the cache file is stored in the index file. , A garbage collection process for deleting the management record is performed.
[0029]
17. The information processing apparatus according to claim 1, wherein, if the file name of one or more cache data is stored in the management record, If there is no cache data corresponding to the file name of the cache data, the management record is deleted. If there is at least one cache data corresponding to the file name of the one or more cache data, the management record is deleted. A garbage collection process is performed in which only the file name to be deleted is left and other file names are deleted from the management record.
[0030]
The information processing apparatus according to claim 18 is the information processing apparatus according to any one of claims 15 to 17, wherein the garbage collection process is performed when the idle state continues for a predetermined time or more. I do.
[0031]
In order to achieve the above object, an image data processing method according to claim 19 is an image data processing method for generating display image data of a plurality of display sizes from image data stored in a storage medium and reproducing and displaying the display image data. A cache file that stores the display image data displayed once as cache data, and an index file that holds a management record for managing the cache file for each image data. It is stored in a memory.
[0032]
20. The image data processing method according to claim 19, wherein the display image data is at least two types of cache data of a thumbnail display cache data and a single-display cache data. It is characterized by comprising.
[0033]
The image data processing method according to claim 21 is the image data processing method according to claim 19 or 20, wherein when adding new cache data to the cache memory, a file name is given to the cache data, The image data is stored in a predetermined management record of the index file together with a file name, a creation date, and an update date.
[0034]
An image data processing method according to claim 22, wherein in the image data processing method according to any one of claims 19 to 21, when the image data stored in the storage medium is reproduced and displayed, the image data is displayed. When cache data of a display size exists in the cache memory, the cache data is read out from the cache memory and displayed. On the other hand, when cache data to be displayed does not exist in the cache memory, the storage medium And generating and displaying the displayed image data of a predetermined display size, and adding the displayed image data to the cache memory as the new cache data.
[0035]
The image data processing method according to claim 23 is the image data processing method according to claim 21 or 22, wherein the cache data is stored in a predetermined management record of the index file both when adding and reading out the cache data. And updating the reference date of the cache data.
[0036]
The image data processing method according to claim 24, wherein in the image data processing method according to claim 22, when the new cache data is added to the cache memory, a management record for managing the cache data is already in the index. When the file exists in the file, the reference date of the management record is updated, and the file name given to the cache data is stored in the management record.
[0037]
The image data processing method according to claim 25, wherein, in the image data processing method according to claim 24, when the file name of another cache data is stored in the management record, the storage is performed on the cache file. It is determined whether or not there is cache data corresponding to the file name, and if the corresponding cache data does not exist, the file name of the other cache data is deleted from the management record. I do.
[0038]
An image data processing method according to claim 26 is the image data processing method according to any one of claims 19 to 25, wherein any one of addition and update of a management record and addition of new cache data is performed. In this case, when the capacity of the cache memory is exceeded, the cache data with the oldest reference date is deleted from the cache data with the oldest date in order to secure the remaining capacity of the capacity enough to execute any one of the cache memories.
[0039]
28. The image data processing method according to claim 19, wherein the storage medium is an internal memory and a removable external memory, and a setting location of the cache memory. Select one of the internal memory and the external memory.
[0040]
28. The image data processing method according to claim 28, wherein the selection of the setting location of the cache memory includes the storage location of a program executed by the information processing apparatus to reproduce and display the image data. Is determined based on
[0041]
The image data processing method according to claim 29 is characterized in that, in the image data processing method according to claim 27, the selection of the setting location of the cache memory is determined based on the storage location of the image data.
[0042]
30. The image data processing method according to claim 27, wherein in the image data processing method according to any one of claims 27 to 29, any of a case where an external memory in which the cache memory is set is not mounted and a case where writing is prohibited. In this case, the setting of the cache memory is released.
[0043]
31. The image data processing method according to claim 31, wherein in the image data processing method according to any one of claims 27 to 29, any of a case where an external memory in which the cache memory is set is not mounted and a case where writing is prohibited. In this case, the setting of the cache memory is changed to the internal memory.
[0044]
The image data processing method according to claim 32, wherein in the image data processing method according to claim 31, the cache memory is set when either the external memory is remounted or the write-protection is released. Returns from the internal memory to the external memory.
[0045]
33. The image data processing method according to claim 19, wherein a creation date and an update date of the image data stored in a storage medium are stored in the image data processing method according to any one of claims 19 to 32; If the creation date and the update date stored in the management record corresponding to the image data do not match, a garbage collection process for deleting the management record and all cache data managed by the management record is executed. It is characterized by the following.
[0046]
The image data processing method according to claim 34, wherein in the image data processing method according to any one of claims 19 to 32, the management record for managing the cache data stored in the cache file includes the index. When the file does not exist in the file, a garbage collection process for deleting the management record is executed.
[0047]
An image data processing method according to claim 35, wherein in the image data processing method according to any one of claims 19 to 32, when a file name of one or more cache data is stored in the management record, If there is no cache data corresponding to the file name of the one or more cache data, the management record is deleted. If there is at least one cache data corresponding to the file name of the one or more cache data, Garbage collection processing for deleting only the existing file names and deleting other file names from the management record.
[0048]
The image data processing method according to claim 36, wherein in the image data processing method according to any one of claims 33 to 35, the garbage collection processing is performed when the idle state continues for a predetermined time or more. Features.
[0049]
In order to achieve the above object, an image data processing program according to claim 37 causes a computer to execute the image data processing method according to any one of claims 19 to 36.
[0050]
In order to achieve the above object, a storage medium according to claim 38 is characterized in that a computer-readable storage medium stores the image processing program according to claim 37 and causes the computer to execute the image processing program. .
[0051]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an information processing apparatus according to an embodiment of the present invention will be described in detail with reference to the drawings.
[0052]
(First Embodiment)
FIG. 1 is a block diagram illustrating a hardware configuration of the information processing apparatus according to the first embodiment of the present invention. FIG. 2 is a perspective view showing the entire information processing apparatus of FIG.
[0053]
The
[0054]
As shown in FIG. 1, the
[0055]
The
[0056]
The
[0057]
The
[0058]
The media exchange
[0059]
The network /
[0060]
The
[0061]
The
[0062]
The
[0063]
The
[0064]
The
[0065]
Next, an example of a screen displayed on the
[0066]
FIG. 3 is a diagram showing a screen for displaying a list of thumbnail images. FIG. 4 is a diagram showing a screen displaying three thumbnail images and an enlarged image obtained by enlarging one of the thumbnail images. Note that items common to both figures are denoted by the same reference numerals.
[0067]
Nine thumbnail images are displayed in a
[0068]
Of the nine thumbnail images displayed in the
[0069]
At the bottom of the screen, a
[0070]
On the other hand, icons indicating functions such as "save", "delete", and "rotate" are displayed in the
[0071]
The
[0072]
In FIG. 4, three thumbnail images are displayed in a horizontal row at the bottom of the screen, and one of the three thumbnail images in the “active state” is enlarged and displayed at the top of the screen. In the illustrated example, the thumbnail image at the left end is in the “active state” and is enlarged and displayed.
[0073]
The “thumbnail list” screen illustrated in FIG. 3 and the “thumbnail + enlarged image (single)” screen illustrated in FIG. 4 can be switched from any screen by tapping the “display mode”
[0074]
If there is a thumbnail image that cannot be displayed on either screen shown in FIGS. 3 and 4, the displayed thumbnail image can be switched by scrolling the screen using the
[0075]
In FIG. 3, thumbnail images are arranged in a grid of 3 rows × 3 columns, and nine thumbnail images are displayed simultaneously. However, the number and arrangement of simultaneously displayed thumbnails are not limited to this, and 2 rows × 2 columns are displayed. Or 4 rows × 4 columns, 2 rows × 3 columns, or the like, and their arrangement may be changed mutually. Furthermore, a three-dimensional arrangement may be used instead of a lattice-like planar arrangement. In addition, the thumbnail size may be changed according to the number of simultaneously displayed thumbnails and the display position.
[0076]
In addition to the two display modes of “thumbnail list” shown in FIG. 3 and “thumbnail + enlarged image (one image)” shown in FIG. 4, only one content corresponding to the selected thumbnail image is displayed. A “single image display” mode for enlarging and displaying images may be added. In this case, the three modes may be sequentially switched by a tap operation on the “display mode”
[0077]
Next, the cache processing will be described.
[0078]
FIG. 5 is a flowchart showing a basic flow of the cache process of the
[0079]
The cache process is started when a display switching instruction is issued during image browsing. At this time, an inquiry is made as to whether the image data that needs to be newly displayed is cached, that is, a process of confirming the presence or absence of cache data is performed (step S501).
[0080]
Next, it is determined whether or not there is cache data (step S502). If there is cache data, a cache data acquisition process is executed and displayed (step S503). On the other hand, if there is no cache data, image data reading processing is executed, the read image is displayed in a reduced size (step S504), and at the same time, storage processing as cache data is executed (step S505). To end.
[0081]
The above is the basic flow of the cache processing. By performing a series of these processes, in reproducing and displaying the image data recorded in the memory card or the
[0082]
Here, a conceptual configuration of a portion related to the cache process in the configuration of the
[0083]
FIG. 6 is a block diagram showing a conceptual configuration of
[0084]
The image reproduction
[0085]
The
[0086]
The
[0087]
The cache file 604 (thumbnail display cache file, single-image display cache file) caches display image data of a plurality of display sizes generated from image data stored in the storage medium (thumbnail cache data, single-image display cache file). This is a data file to be stored as data (data) and can be stored in the
[0088]
The image plug-in 605 is an external library file (DLL format) for inputting image data. A reading plug-in file corresponding to various file formats such as JPEG, BITMAP, and FLASHPIX (trademark) is supported.
[0089]
The image reproduction
[0090]
FIG. 8 is a flowchart showing the process (step S501) for confirming the presence or absence of cache data in FIG.
[0091]
When a display switching instruction is given from the user during image browsing, the image reproduction
[0092]
If the cache function is invalid (Off), the
[0093]
If a record corresponding to the
[0094]
On the other hand, when the record corresponding to the
[0095]
When the existence of the cache data is confirmed by the above processing, subsequently, the cache data is acquired.
[0096]
FIG. 9 is a flowchart showing the cache data acquisition process (step S503) in FIG.
[0097]
The
[0098]
Next, the cache data corresponding to the acquired cache file name is read from the cache file 604 (step S905). It is determined whether the reading of the cache data is successful (step S906). If the reading of the cache data is successful, the last reference date (last update date) and the reference count of the cache recorded in the
[0099]
Finally, the
[0100]
On the other hand, if one or both of the creation date and time and the update date and time do not match as a result of the determination in step S903, and if the read of the cache data fails as a result of the determination in step S906, the cached data Determines that the file cannot be used for redisplay due to damage or the like, deletes the record of the corresponding cache file name from the index file 603 (step S909), and deletes the corresponding cache data from the cache file 604 (step S910). . Thereafter, it is necessary to perform the same processing as the processing when there is no cache data, so the processing shifts to the image data reading processing (step S504) in FIG.
[0101]
Next, an image data reading process will be described.
[0102]
FIG. 10 is a flowchart showing the image data reading process (step S504) in FIG.
[0103]
In the process of confirming the presence / absence of cache data shown in FIG. 8, the image reproduction
[0104]
Here, only three image formats of JPEG, BITMAP, and FLASHPIX are shown, but the image format is not limited to these, and may be a format such as JPEG2000, GIF, or PNG. The supported formats can be easily increased by updating or adding an external library file (DLL format).
[0105]
When the image data is newly read and displayed as described above, the cache data is stored in preparation for future redisplay. The cache data is stored in two ways: writing the cache data itself into the
[0106]
FIG. 11 is a flowchart showing the cache data saving process (step S505) in FIG.
[0107]
The
[0108]
After obtaining the cache file name, the cache data with the cache file name is written into the cache file 604 (step S1102), and subsequently, the management record is added / updated to the
[0109]
It is determined whether or not there is a management record (step S1104). If there is a management record of the specified file, a newly written cache file name is set in the management record of the existing
[0110]
If the result of determination in step S1104 is that there is no management record for the specified file, the flow advances to step S1106 to add a new management record to the
[0111]
FIGS. 12A and 12B are diagrams illustrating a cache function setting screen displayed on the
[0112]
A
[0113]
“Memory card” is displayed only when a memory card is inserted into the medium
[0114]
When the setting is changed, the setting can be updated with the changed setting by pressing a “setting”
[0115]
To make more detailed settings, the user presses a “detailed settings”
[0116]
On the detailed setting screen, the user can set the memory usage rate using the “memory usage rate” 1206, set the cache clearing conditions using the “cache clearing conditions” 1207, and execute the forced clearing of the cache using the “clear”
[0117]
The “memory usage rate” 1206 is for setting how much of the total storage capacity of the storage medium set as the storage location of the cache data is allocated as the cache area. In the illustrated example, the user can arbitrarily set a range from when no cache area is allocated (0%) to when a maximum of 30% of the total storage capacity is allocated to the cache area.
[0118]
The “cache clear condition” 1207 is for setting at what timing the cache (cache data, management record) is cleared. In the example shown in the figure, one or more conditions are set by a check box from “when the application is terminated”, “when the cache data storage location is changed”, and “when the cache function is turned off”. Can be.
[0119]
When set to "at the end of application", all caches are erased at the end of the application. If set to "Change cache data storage location", all caches will be erased when the storage location is changed on the above basic screen or when the memory card is removed with the storage location set to "Memory card" Is done. Also, if "when the cache function is turned off" is set, all the caches are erased when the "check box" 1201 is unchecked on the above basic screen.
[0120]
The “clear”
[0121]
As described above, the information processing apparatus according to the first embodiment caches the image data once displayed in reproducing and displaying the image data recorded in the storage medium. Can be reduced.
[0122]
Although the information processing apparatus according to the present embodiment has been described using a PDA as an example, the information processing apparatus is not limited to this, and may be a digital camera, a mobile phone, or the like.
[0123]
Note that the cache data for list display and the cache data for one-page display are individually cached when each data becomes necessary, but when either one of them is cached, the other cache data is cached. Data may be generated and stored at the same time. Thus, when an image displayed in one of the list display mode and the single image display mode is later displayed in the other display mode, the image is displayed because the cache data is retained. The waiting time is shortened.
[0124]
In the case of clearing the cache, all the cache information is deleted. However, an item such as “cache clear range” may be provided on the cache function setting screen so that the range to be cleared can be selected.
[0125]
Also, the storage location of the cache data is not fixed to either the
[0126]
Even if the cache function is enabled, the cache function is automatically disabled if the memory card specified as the storage location cannot be cached due to reasons such as removal of the memory card or write protection. You may make it. Furthermore, when the storage location becomes valid or the storage location is changed, the cache function may be returned to valid again.
[0127]
(Second embodiment)
An information processing device according to the second embodiment will be described. The information processing apparatus according to the present embodiment has the same hardware configuration (see FIG. 1) and appearance (see FIG. 2) as
[0128]
In the first embodiment, in the process of adding a management record, “deletion of the cache data that was referred to most recently” is performed, and in the process of updating the last reference date of the cache data, “the logical inconsistency of the cache data to be updated "Correction" and "deletion of corrupted cache file" are performed at the time of querying cache data, but the check range was only the records to be processed.
[0129]
On the other hand, in the information processing apparatus according to the present embodiment, the mismatch of the entire cache data is checked, deleted, and corrected at another timing to eliminate the occupation of the memory area by unnecessary cache data. For this reason, the
[0130]
Garbage collection is performed at application termination and during idle. However, the process is not executed every time at these timings, but a lottery is performed to determine whether or not to perform the process, and the process is executed only when the lottery is hit. This is because the frequency of occurrence of cache data with logical inconsistency is not high and the processing of the system is not heavy. The garbage collection may be executed when the application is started.
[0131]
The determination of whether or not the idle, the method of monitoring the input and output state and set the state of no input / no output to idle, the method of setting the state behind other applications on the display screen to idle, etc. Various determination methods can be considered depending on the specifications of the operating system.
[0132]
FIG. 13 is a flowchart showing the garbage collection process.
The garbage collection first determines whether the cache function is valid (On) or not (Off) (step S1301). If the cache function is valid, a lottery process is performed to determine whether to execute garbage collection (step S1302). The winning probability of the lottery is set in advance, for example, to 1/100 (once every 100 times).
[0133]
The result of the lottery is determined (step S1303), and when the lottery is won, garbage collection is executed. The garbage collection is executed on the cache data satisfying any of the following conditions (1) to (3) to delete the cache data (step S1304, step S1305).
(1) There is no entity
(2) The date and time of creation and update of the actual file do not match the date and time of creation and update of the cache data
(3) There is no management record in the index file
As a result of the determination in step S1301, if the cache function is invalid or if the lottery is not performed, garbage collection is not performed.
[0134]
If any operation is performed during the execution of the garbage collection, the execution of the garbage collection is immediately stopped, and the control is returned to the application.
[0135]
FIG. 14 is a flowchart showing the processing in step S1304 in FIG. In this process, a cache having no substance and a cache whose date does not match is deleted.
[0136]
First, it is determined whether or not all management records registered in the
[0137]
Next, it is determined whether or not the entity data corresponding to the cache data recorded in the management record exists in the cache file 604 (step S1403). If the entity data exists, the cache data recorded in the management record is determined. It is determined whether or not the creation date and time and the update date and time match those of the entity data (step S1404).
[0138]
If there is no entity data, or if the creation date and time and update date and time of the cache data do not match those of the entity data, the corresponding cache data is deleted from the cache file 604 (step S1405), and the management is performed from the
[0139]
Upon completion of the processing so far, the process returns to step S1401, and the processing is repeated until all the unchecked management records have been checked.
[0140]
FIG. 15 is a flowchart showing the processing of step S1305 in FIG. In this process, the cache data having no management record is deleted.
[0141]
First, it is determined whether all the cache data has been checked (step S1501). If all the cache data has not been checked, that is, if there is unchecked cache data, an unchecked cache file name is acquired from the cache file 604 (step S1502).
[0142]
Next, it is determined whether a management record corresponding to the acquired cache file name exists in the index file 603 (step S1503). If there is no management record corresponding to the cache file name, the cache data with the cache file name is deleted from the cache file 604 (step S1504).
[0143]
When the processing up to this point is completed, the process returns to step S1501, and this processing is repeated until the check is completed for all unchecked cache data.
[0144]
In addition, the order of the process of
[0145]
FIG. 16 is a flowchart illustrating a modified example of the garbage collection process.
[0146]
The garbage collection process shown in FIG. 16 differs from the garbage collection process shown in FIG. 13 only in that the process of step S1606 in this flowchart is additionally performed. Therefore, description of steps other than step S1606 will be omitted.
[0147]
FIG. 17 is a flowchart showing the processing in step S1606 in FIG. This process is a process of deleting a management record having no cache data.
[0148]
First, it is determined whether all management records have been checked (step S1701). If all management records have not been checked, that is, if there are unchecked management records, the unchecked management records are read from the index file 603 (step S1702).
[0149]
Next, it is determined whether or not cache data corresponding to the cache file name written in the management record exists (step S1703). Here, since one management record is used for managing two types of cache data for list display and one-sheet display, a maximum of two determinations are performed for one management record.
[0150]
If the cache file name written in the management record exists for only one of the list display and the one-sheet display, the determination is performed only once, and the cache data corresponding to the cache file name exists. If so, the process returns to step S1701 without deleting the management record because the management data is valid, and the process is repeated until all unchecked management records have been checked. On the other hand, if there is no cache data corresponding to the cache file name written in the management record, the management record is unnecessary and is deleted.
[0151]
If the cache file name written in the management record exists for both the list display and the single image display, the determination is performed twice, and the cache data corresponding to either cache file name is determined. If it exists, it is valid management data, so the process returns to step S1701 without deleting the management record, and this process is repeated until all unchecked management records have been checked. If cache data corresponding to only one of the cache file names exists, the cache file name for which no cache data exists is deleted from the management record. If there is no cache data corresponding to the two cache file names, the management record is unnecessary and is deleted.
[0152]
Note that the order between the processes of
[0153]
By using any of the above garbage collection processes, useless cache data and management data can be deleted, so that the use efficiency of the memory area allocated to the cache is improved.
[0154]
Although the execution of the garbage collection is determined by a lottery with a predetermined probability, this may be executed when the number of accesses reaches a predetermined value. As the number of accesses increases, the possibility of logical inconsistency of cache data increases, so that more effective garbage collection can be realized.
[0155]
In the above embodiment, the description has been made as having two types (two sizes) of cache data, ie, cache data for list display and cache data for one-sheet display. However, the present invention is not limited to this. Depending on the display mode, more types (sizes) of cache data may be stored. Even in this case, needless to say, a plurality of cache data is managed by one management record.
[0156]
The present invention supplies a software program (flow charts in FIGS. 5 and 8 to 17) for realizing the functions of the above-described embodiments to a computer or a CPU, and the computer or the CPU reads the supplied program and reads the program. By performing, the objectives can be achieved.
[0157]
In this case, the program may be supplied directly from a storage medium on which the program is recorded, or may be downloaded from another computer or database (not shown) connected to the Internet, a commercial network, a local area network, or the like. Supplied by
[0158]
The form of the program may be in the form of object code, program code executed by an interpreter, script data supplied to an OS (Operating System), or the like.
[0159]
According to the present invention, a storage medium storing a software program for realizing the functions of the above-described embodiments is supplied to a computer or a CPU, and the computer or the CPU reads and executes the program stored in the storage medium. Can also be achieved.
[0160]
In this case, the program code itself read from the storage medium implements the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
[0161]
Examples of storage media for storing program codes include ROM, RAM, NV-RAM, floppy (registered trademark) disk, hard disk, optical disk (registered trademark), magneto-optical disk, CD-ROM, MO, CD-R, and CD. -RW, DVD-ROM, DVD-RAM, DVD-RW, DVD + RW, magnetic tape, nonvolatile memory card, and the like.
[0162]
The functions of the above-described embodiments are not only executed by executing the program code read from the computer, but also executed by the OS or the like running on the computer in part or all of the actual processing based on the instruction of the program code. This can also be realized by:
[0163]
【The invention's effect】
As described in detail above, according to the information processing apparatus described in claim 1, the image data processing method described in claim 19, the image data processing program described in claim 37, and the storage medium described in claim 38, Display image data of a plurality of display sizes generated from the data is stored in a cache file as cache data when displayed once, and a management record for managing the cache file is stored in an index file for each image data, Since the file and the index file are stored in the cache memory set in the storage medium, the data stored in the cache file can be used when reproducing and displaying the image data, thereby shortening the waiting time for reproducing and displaying the image. .
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a hardware configuration of an information processing apparatus according to a first embodiment of the present invention.
FIG. 2 is a perspective view showing the entire information processing apparatus of FIG. 1;
FIG. 3 is a diagram showing a screen for displaying a list of thumbnail images.
FIG. 4 is a diagram showing a screen displaying three thumbnail images and an enlarged image obtained by enlarging one of the thumbnail images.
FIG. 5 is a flowchart showing a basic flow of a cache process of the
FIG. 6 is a block diagram showing a conceptual configuration of the
FIG. 7 is a diagram illustrating a configuration example of an index file.
8 is a flowchart showing a process of confirming the presence or absence of cache data in FIG.
FIG. 9 is a flowchart showing a cache data acquisition process in FIG. 5;
FIG. 10 is a flowchart showing a process of reading image data in FIG. 5;
FIG. 11 is a flowchart showing a process of saving cache data in FIG. 5;
12A and 12B are diagrams illustrating a cache function setting screen displayed on the
FIG. 13 is a flowchart showing a garbage collection process.
FIG. 14 is a flowchart showing the processing of step S1304 in FIG.
FIG. 15 is a flowchart showing a process in step S1305 in FIG.
FIG. 16 is a flowchart illustrating a modification of the garbage collection process.
FIG. 17 is a flowchart showing the process of step S1606 in FIG.
[Explanation of symbols]
100 PDAs
102 ROM
103 RAM
104 Display
105 Input unit
106 Media exchange type recording unit
601 Image playback main program
602 cache library
603 index file
604 cache file
Claims (38)
1度表示した前記表示画像データをキャッシュデータとして格納するキャッシュファイルと、
前記キャッシュファイルを管理する為の管理レコードを前記画像データ毎に保持するインデックスファイルとを、前記記憶媒体に設定されたキャッシュメモリに格納することを特徴とする情報処理装置。An image processing apparatus capable of generating display image data of a plurality of display sizes and reproducing and displaying the display image data from a plurality of image data stored in a storage medium,
A cache file for storing the display image data displayed once as cache data;
An information processing apparatus characterized by storing a management record for managing the cache file for each image data and an index file in a cache memory set in the storage medium.
1度表示した前記表示画像データをキャッシュデータとして格納するキャッシュファイルと、前記キャッシュファイルを管理する為の管理レコードを前記画像データ毎に保持するインデックスファイルとを、前記記憶媒体に設定されたキャッシュメモリに格納することを特徴とする画像データ処理方法。An image data processing method for generating and reproducing and displaying display image data of a plurality of display sizes from image data stored in a storage medium,
A cache memory set in the storage medium, comprising: a cache file for storing the display image data once displayed as cache data; and an index file for holding a management record for managing the cache file for each image data. An image data processing method characterized by storing the image data in a file.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002318775A JP2004152172A (en) | 2002-10-31 | 2002-10-31 | Information processor, method and program for image data processing, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002318775A JP2004152172A (en) | 2002-10-31 | 2002-10-31 | Information processor, method and program for image data processing, and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004152172A true JP2004152172A (en) | 2004-05-27 |
JP2004152172A5 JP2004152172A5 (en) | 2006-01-05 |
Family
ID=32461829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002318775A Pending JP2004152172A (en) | 2002-10-31 | 2002-10-31 | Information processor, method and program for image data processing, and storage medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004152172A (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006308351A (en) * | 2005-04-27 | 2006-11-09 | Jst Mfg Co Ltd | Inspection method of electronic component and inspection system of electronic component using the method |
JP2007286679A (en) * | 2006-04-12 | 2007-11-01 | Fujitsu Ltd | Information processor with information dividing/recording function |
JP2008077433A (en) * | 2006-09-21 | 2008-04-03 | Sony Computer Entertainment Inc | Database generation method and information processor |
JP2008191895A (en) * | 2007-02-05 | 2008-08-21 | Sony Corp | Information processor, image display device, control methods therefor, and program making computer execute the method |
JP2011193387A (en) * | 2010-03-16 | 2011-09-29 | Fujitsu Toshiba Mobile Communications Ltd | Device and method for displaying moving image |
US8762882B2 (en) | 2007-02-05 | 2014-06-24 | Sony Corporation | Information processing apparatus, control method for use therein, and computer program |
US8830247B2 (en) | 2006-05-24 | 2014-09-09 | Nec Display Solutions, Ltd. | Image displaying device having image cache memory |
JP2015034954A (en) * | 2013-08-09 | 2015-02-19 | 富士ゼロックス株式会社 | Display control device and program |
CN111866419A (en) * | 2019-04-24 | 2020-10-30 | 杭州海康微影传感科技有限公司 | Thermal imaging image display method and device and thermal imaging equipment |
-
2002
- 2002-10-31 JP JP2002318775A patent/JP2004152172A/en active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006308351A (en) * | 2005-04-27 | 2006-11-09 | Jst Mfg Co Ltd | Inspection method of electronic component and inspection system of electronic component using the method |
JP2007286679A (en) * | 2006-04-12 | 2007-11-01 | Fujitsu Ltd | Information processor with information dividing/recording function |
US8830247B2 (en) | 2006-05-24 | 2014-09-09 | Nec Display Solutions, Ltd. | Image displaying device having image cache memory |
JP2008077433A (en) * | 2006-09-21 | 2008-04-03 | Sony Computer Entertainment Inc | Database generation method and information processor |
JP4578454B2 (en) * | 2006-09-21 | 2010-11-10 | 株式会社ソニー・コンピュータエンタテインメント | Database generation method and information processing apparatus |
JP2008191895A (en) * | 2007-02-05 | 2008-08-21 | Sony Corp | Information processor, image display device, control methods therefor, and program making computer execute the method |
US8762882B2 (en) | 2007-02-05 | 2014-06-24 | Sony Corporation | Information processing apparatus, control method for use therein, and computer program |
US9129407B2 (en) | 2007-02-05 | 2015-09-08 | Sony Corporation | Information processing apparatus, control method for use therein, and computer program |
US9983773B2 (en) | 2007-02-05 | 2018-05-29 | Sony Corporation | Information processing apparatus, control method for use therein, and computer program |
JP2011193387A (en) * | 2010-03-16 | 2011-09-29 | Fujitsu Toshiba Mobile Communications Ltd | Device and method for displaying moving image |
JP2015034954A (en) * | 2013-08-09 | 2015-02-19 | 富士ゼロックス株式会社 | Display control device and program |
CN111866419A (en) * | 2019-04-24 | 2020-10-30 | 杭州海康微影传感科技有限公司 | Thermal imaging image display method and device and thermal imaging equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4461122B2 (en) | Communication terminal and display control method thereof | |
JP4453738B2 (en) | File transfer method, apparatus, and program | |
KR100915854B1 (en) | Automated grouping of image and other user data | |
US8547469B2 (en) | Electronic camera | |
KR100881225B1 (en) | Mobile terminal having function of managing file and folder | |
WO2003092006A1 (en) | Recording medium and program | |
JP2002507347A (en) | Method and system for accelerating a user interface in a playback mode of an imaging unit | |
US7782332B2 (en) | Image displaying device | |
US6734876B2 (en) | Image display apparatus | |
JP2005026834A (en) | Annotation providing apparatus and annotation providing program | |
JP2004152172A (en) | Information processor, method and program for image data processing, and storage medium | |
JP2002209163A (en) | Electronic album display method, electronic camera provided with electronic album function, and electronic album system | |
KR100694111B1 (en) | Method and apparatus for generating folder in builtin storing device of image forming apparatus, and method and apparatus for storing data using it | |
KR100703812B1 (en) | Displaying method photo folder of portable terminal | |
JP2001148004A (en) | Device and method for information processing and computer-readable memory | |
US7321390B2 (en) | Recording medium management device and digital camera incorporating same | |
JP2006215811A (en) | Filing device, search managing method, and program | |
JP2005244614A (en) | Electronic camera device and recording medium | |
JP2009044626A (en) | Information processing apparatus, control method thereof, program, and storage medium | |
JP4356272B2 (en) | Electronic camera | |
KR20090013344A (en) | Portable terminal and method for composing and playing slide show thereof | |
JP4608825B2 (en) | Electronic camera | |
JP2003296225A (en) | Device, system, method, and program for data acquisition and display | |
JP2003199010A (en) | Image display method, its device, image selecting method, its device, communication control method, communication controller, image display device control program, image selecting device control program, communication controller control program and storage medium | |
JP3291479B2 (en) | Electronic album device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051031 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051031 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080930 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090203 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090512 |