図面を参照して、本発明による画像閲覧装置の一実施の形態としてビューアを説明する。図1はビューア100の外観図、図2はビューア100の制御ブロック図である。この実施の形態のビューア100の特徴について概略説明する。
(画像サイズ)
ビューア100は、外部機器からたとえば700万画素の本画像を取り込む。ビューア100は、取り込んだ本画像をたとえば200万画素の画像サイズにリサイズし、第1縮小画像としてHDD等の大容量記録媒体114に記録する。本画像にはサムネイル画像(たとえば120画素×160画素)が添付されており、ビューア100は、サムネイル画像を第1LCD103および第2LCD104に一覧表示する。一覧表示されたサムネイル画像の中から少なくとも1枚の画像をユーザが選択すると、ビューア100は、200万画素にリサイズされた第1縮小画像をたとえばVGAサイズ(640画素×480画素)にリサイズし、第2縮小画像として、大容量記録媒体114よりも高速読み出しが可能なSDRAMのような記録媒体111(以下、SDRAM111として説明する)に記録するとともに第1LCD103や第2LCD104に表示する。
(画像先読み)
この実施の形態のビューア100は、後で詳細に説明する画像データの先読みを行い、画像表示の高速化を図っている。後述するとおり、先読み処理とは、ユーザが次に閲覧指示を行う可能性の高い複数の画像をRISC110が事前に予測し、RISC110が、複数の予測画像をVGA画像ファイルのデータとしてSDRAM111に書き込む処理である。先読みを行うため、HDD114に記録されている200万画素の第1縮小画像のそれぞれには、画像を特徴づけるデータが添付されている。たとえば、ユーザにより1枚のサムネイル画像が選択されると、RISC110は、特徴データに基づいて、閲覧指示される可能性の高い第1画像を複数枚選択し、HDD114より高速にデータ読み出しが可能なSDRAM111に第2縮小画像としてVGA画像を記録する。このとき、RISC110は、作成されたVGA画像をHDD114にも記録する。
(画像切換)
ビューア100は、ヒンジ101により開閉される両開き形式の液晶表示装置を備えている。すなわち、ビューア100は、複数両開き式の一対の第1LCD103および第2LCD104を備え、第2LCD104はタッチパネル付きである。第1LCD103および第2LCD104には、VGAサイズの第2縮小画像を表示することができる。また、ビューア100は、第1LCD103または第2LCD104の一画面を2つの領域に分割し、各領域にそれぞれ一枚の画像を一括表示することができる。この場合の表示用画像は、VGAサイズの第2縮小画像をさらにリサイズして作成される。さらに、第1LCD103と第2LCD104との両方の画面を用いてVGAサイズを面積で2倍に拡大した画像を表示することができる。この場合の表示用画像は、まず、VGAサイズを補間して粗い拡大画像を作成して表示する。その間にリサイズ画像を縮小して精細な拡大画像の作成処理も行い、精細拡大画像の作成処理が終了すると、粗い拡大画像の表示に代えて精細拡大画像を第1LCD103および第2LCD104に表示する。
ユーザは、タッチパネル122を用いて画面を指などでタッチして各種の操作を指令することができる。たとえばビューア100は、表示画面の指こすり操作を検出して、画像切換、すなわち、画像スクロールを行うことができる。たとえば、画面上で水平方向に指こすりを行うとコマ送りもしくはコマ戻しによる表示切替が行われる。また、画面を対角線上に沿って指こすりする場合には、1画面内の表示枚数の切り替えが行われる。
(姿勢優先モードとサイズ優先モード)
ビューア100は、姿勢優先モードとサイズ優先モードのいずれかを選択できる。姿勢優先モードでは、ビューア100は、複数枚の画像の天地を第1LCD103および第2LCD104の上下方向に一致させて表示する。たとえばビューア100は、横位置撮影で得られた画像と縦位置撮影で得られた画像の2画面を表示する際、いずれの画像の天地も画面の上下方向に一致するように表示する。したがって、一方の画像は余白と共に表示される。サイズ優先モードでは、ビューア100は、横位置撮影で得られた画像と縦位置撮影で得られた画像の2画面を表示する際、横位置撮影および縦位置撮影の画像の長手方向のそれぞれが第1LCD103あるいは第2LCD104の長手方向に一致するように表示する。
以下、図面にしたがって本実施の形態によるビューア100を詳細に説明する。
ビューア100は、図1に示すように、ヒンジ部101、開閉検出スイッチ102、第1LCD103、第2LCD104、バッテリ105、操作ボタン106およびジョイスティック107を備える。なお、ビューア100はヒンジ部101で開閉可能に構成されている。図1(a)は、ビューア100が開かれた状態を示す。
図2はビューア100の制御ブロック図である。ビューア100は、RISC110、SDRAM111、SDRAM制御部112、画像処理回路113、HDD(ハードディスクドライブ)114、HDD駆動回路115、姿勢センサ116、タッチパネル122およびメモリカードスロット301Sを備えている。またビューア100は、姿勢センサインタフェース117、第1LCDインタフェース118、第2LCDインタフェース119、メモリカードインタフェース120、操作系インタフェース123、HDMIインタフェース124、USBインタフェース125およびクレードルインタフェース126を備えている。HDMIインタフェース124にはHDMI対応モニタ501が、USBインタフェース125にはパソコン502が、クレードルインタフェース126にはクレードル503がそれぞれ着脱可能に接続される。
開閉検出スイッチ102は、ビューア100の開閉を検出する。ユーザによりビューア100が開かれると、開閉検出スイッチ102はオン信号をRISC110に出力する。開閉検出スイッチ102からオン信号が出力されると、RISC110は、バッテリ105と接続される図示しない電源回路に電力供給指示信号を出力する。電力供給指示信号を受信した電源回路はビューア100の各要素機器に電力を供給する。操作ボタン106およびジョイスティック107は、ユーザがビューア100における各種の設定を行なうための操作スイッチである。たとえば、操作ボタン106あるいはジョイスティック107の操作により、後述する先読みモードを選択したり、先読みモードにおけるメタデータ一致優先モードおよびお気に入り画像優先モードのいずれかを選択することができる。ジョイスティック107は十字キースイッチである。ジョイスティック107の十字キー操作によって、第1LCD103または第2LCD104に表示された画像を切替え表示することができる。
RISC110はビューア100の各要素機器を制御する演算処理回路である。SDRAM111はRISC110の作業領域メモリとして、一時的に各種のデータを記憶する。また、SDRAM111は、後述する先読み用画像としてVGA画像データを記録する。さらに、SDRAM111は、第1LCD103と第2LCD104とに画像を表示するためのフレームメモリとしての機能をも有する。SDRAM制御部112は、RISC110からの指示信号に基づいて、SDRAM111を制御する。SDRAM111は揮発性の半導体メモリであり、HDD114よりも高速にデータの読み書きが可能である。
HDD114は不揮発性の記憶を行なうことができるハードディスクドライブである。HDD114には画像データや各種データが記憶されている。HDD114は、RISC110の指示に基づきHDD駆動回路115を介して駆動され、データ書込み、データ読み出しが制御される。HDD114の記録データについては後で詳述する。画像処理回路113は、RISC110の指示に基づいて、HDD114やSDRAM111に記録されている画像データに対して各種の画像処理を実行する。
姿勢センサ116はビューア100の3種類の姿勢、すなわち図1(a)に示す矢印AR方向を画面の天地とした横位置姿勢、横位置姿勢から矢印CWで示す時計回転回りにビューア100を90度回転した+90度縦位置姿勢および横位置姿勢から矢印CCWで示す反時計回転回りにビューア100を90度回転した−90度縦位置姿勢を検出する。横位置とは、第1および第2LCD103および104を左右に並べたビューア100の姿勢である。検出した姿勢情報は、姿勢センサインタフェース117へ出力される。姿勢センサインタフェース117は、RISC110からの指示に基づいて、姿勢センサ116を駆動し、姿勢センサ116から入力した姿勢情報をデータバス経由でRISC110へ出力する。
第1LCD103は画像を表示するための表示器である。ユーザにより画像指定操作が行われると、第1LCD103は、たとえばVGAサイズ(640画素×480画素)の画像を表示することができる。すなわち、第1LCDインタフェース118は、RISC110の制御の下、SDRAM111に書き込まれた表示用画像データ(以下、単にVGA画像データとも呼ぶ)に基づいて第1LCD103にVGAサイズの画像を表示する。第2LCD104は、第1LCD103と同様に画像を表示するための表示器である。第2LCD104は、第1LCD103と同様に、ユーザにより画像指定操作が行われると、たとえばVGAサイズ(640画素×480画素)の画像を表示することができる。すなわち、第2LCDインタフェース119は、RISC110の制御の下、SDRAM111に書き込まれたVGA画像データに基づいて第2LCD104にVGAサイズの画像を表示する。さらに、第2LCD104には、ビューア100における各種の設定を行なうためのメニュー画面が表示される。
第2LCD104の表面にはタッチパネル122が配置される。タッチパネル122は、操作ボタン106やジョイスティック107と同様に、ユーザがビューア100における各種の設定を行なうための操作スイッチである。また、タッチパネル122上の水平方向の指こすり操作により、ジョイスティック107と同様に、第1LCD103または第2LCD104に表示された画像を切替え表示させることができる。切替え表示とは、表示中のコマの画像から順送りもしくは逆送りにより別の画像に切替えて表示することである。また、タッチパネル122上の斜め方向(対角線方向)の指こすり操作により、表示枚数を切換えることができる。操作系インタフェース123は、操作ボタン106、ジョイスティック107およびタッチパネル122からの操作信号を受け付けて、RISC110へ出力する。
メモリカード用インタフェース120は、メモリカード301とデータ通信を行なうためのインタフェースである。HDMIインタフェース124は、外部のハイビジョン対応モニタ501に画像データを出力するためのインタフェースである。USBインタフェース125は、所定のケーブルや無線伝送路を介してPC等の外部装置502とデータ通信を行なうためのインタフェースである。クレードルインタフェース126は、ビューア100と接続された外部のクレードル503との間でデータ通信を行なうためのインタフェースである。
メモリカード301は、コンパクトフラッシュ(登録商標)やSDカードなどの半導体メモリカードであり、ビューア100のメモリカードスロット301Sに着脱可能である。メモリカード301は、メモリカードスロット301Sに装着されると、上述のようにビューア100のメモリカード用インタフェース120を介して、ビューア100との間で画像データを送受信できる。すなわち、メモリカード301はビューア100の記憶媒体として機能する。
第2LCD104に表示されるメニュー画面について図19を用いて説明する。図19はメニューの構成を示す。ユーザにより操作ボタン106が操作されると、RISC110は第2LCD104にメニュー画面を表示する。メニュー画面のトップメニューとして「画像表示」、「画像入力」、「スライドショー」および「設定」の項目が、RISC110により表示される。「画像表示」は、第1LCD103および第2LCD104に画像を表示する項目である。「画像入力」は、ビューア100に外部機器から画像を取り込む指示を行う項目である。「スライドショー」は、スライドショーの表示もしくは作成の指示を行う項目である。「設定」は、画像の表示枚数や表示形態、ソート順序などの設定を行う項目である。なお、ユーザは、操作ボタン106、ジョイスティック107およびタッチパネル122のいずれかを用いて、メニュー画面の項目中からいずれかを選択する。
トップメニューの「画像表示」が選択されると、RISC110は、図19の第1階層に示すとおり、第1LCD103および第2LCD104に、図10に示すようにサムネイル画像表示を行なう。サムネイル表示された画像の中から、ジョイスティック107またはタッチパネル122により選択された画像が、RISC110により拡大表示される。表示される枚数は、後述する「同時表示枚数」のメニューから設定する。
サムネイル画像等の画像表示中に、ユーザは操作ボタン106、ジョイスティック107およびタッチパネル122のいずれかを操作することにより、サブメニューを呼び出すことができる。RISC110は、ユーザによりサブメニュー呼び出し指示の操作が行われると、第2LCD104上の画像に重畳してサブメニューを表示する。サブメニューには、「同時表示枚数」、「拡大」、「表示優先度」、「画像編集」の4つの項目がある。
まずサブメニューの「同時表示枚数」について説明する。1枚同時表示に設定されている場合、RISC110は、サムネイル画像から選択された画像を、第1LCD103および第2LCD104に表示する。2枚同時表示に設定されている場合、RISC110はサムネイル画像から選択された画像から、ソート順序が2番目までの画像を第1LCD103および第2LCD104に表示する。4枚同時表示に設定されている場合、RISC110は、サムネイル画像から選択された画像からソート順序の4番目までの画像を第1LCD103および第2LCD104に表示する。なお、表示枚数を1枚とする設定は、ビューア100が完全に開かれている場合のみ可能である。
「拡大」は、第1LCD103および第2LCD104に表示する画像のサイズが大きくなるように設定する項目である。設定可能な画像サイズは、100%(640画素×480画素)、150%(960画素×720画素)、200%(1280画素×960画素)および250%(1600画素×1200画素)のいずれかである。「表示優先度」においては、「優先度高」もしくは「優先度低」の指定を行なうことができる。たとえば、ユーザはお気に入りの画像に対して優先度高の指定をする。
「画像編集」は、表示される画像をユーザの好みに合わせた絵柄になるように設定する項目である。「画像編集」は、さらに、「明るさ」、「色合い」、「階調補正」、「シャープネス」、「モノクロ」および「セピア」のメニューを有する。「明るさ」が選択されると、ユーザは画像の明るさの度合いを設定できる。ユーザは、RISC110により第2LCD104に表示された「明るさのバー表示」を参照しながら明るさの度合いを設定する。「色合い」が選択されると、ユーザは画像の色合いを設定できる。ユーザは、RISC110により第2LCD104に表示された「赤の強弱のバー表示」、「青の強弱のバー表示」および「緑の強弱のバー表示」を参照しながら色合いを設定する。「階調補正」が選択されると、「硬調」、「標準」および「軟調」のいずれかを設定することができる。「シャープネス」が選択されると、ユーザは、画像の輪郭強調の度合いを設定できる。ユーザは、RISC110により第2LCD104に表示される「強弱のバー表示」を参照しながら輪郭強調の度合いを設定する。
トップメニューの「画像入力」が選択されると、RISC110は、第2LCD104に「画像取り込み」および「画像取り込みキャンセル」を表示する。ユーザにより「画像取り込み」が選択されると、RISC110は外部機器に記録された画像の取り込み処理を開始する。「画像取り込みキャンセル」が選択されると、RISC110は外部機器からの画像取り込み処理を終了する。
トップメニューの「スライドショー」が選択されると、RISC110は第2LCD104に「スライドショー表示」および「スライドショー作成」を表示する。「スライドショー表示」においては、ユーザはスライドショーで使用する画像を選択する。ユーザは、スライドショーで使用する画像を「スライドショーデータ選択」もしくは「全画像選択」の項目から指定する。「スライドショーデータ選択」においては、ユーザは、RISC110によりサムネイル表示された画像からスライドショーで使用する画像を指定する。「全画像選択」が選択されると、RISC110は、HDD114に記録された全ての画像を用いてスライドショーを表示する。「スライドショー作成」においては、スライドショーで使用する画像の選択、表示時間表示効果、BGMの設定を行なうことができる。
トップメニューの「設定」が選択されると、RISC110は第2LCD104に「同時表示枚数」、「表示モード」、「表示優先度」および「ソート順序」の項目を表示する。「同時表示枚数」および「表示優先度」の項目については、サブメニューの「同時表示枚数」および「表示優先度」の項目と同様の設定が可能である。「表示モード」においては、第1LCD103および第2LCD104に表示する画像の表示形態を設定することができる。「表示モード」が選択されると、RISC110は第2LCD104に「姿勢優先」と「サイズ優先」の項目を表示する。「姿勢優先」においては、「姿勢センサ」、「縦開き」および「横開き」のいずれかがユーザにより選択される。「姿勢センサ」においては、RISC110は、画像の天地方向を姿勢センサ116が検出したビューア100の上下方向に一致させて表示する。「縦開き」においては、RISC110は、画像の天地方向をビューア100の縦位置姿勢における上下方向に一致させて表示する。「横開き」においては、RISC110は、画像の天地方向をビューア100の横位置姿勢における上下方向に一致させて表示する。「サイズ優先」が選択された場合は、RISC110は、画像の辺の長手方向を第1LCD103あるいは第2LCD104の辺の長手方向に一致させて表示する。
「ソート順序」は、画像のソート順序すなわち画像表示順序を設定する項目である。ユーザは、「ファイル名順」および「撮影日時順」のいずれかのソート順序を選択する。「ファイル名順」が選択されると、RISC110は画像ファイルのファイル名に基づいて、辞書のルールに沿ったアルファベット順に昇順(AからZ)もしくは降順(ZからA)で画像ファイルをソートする。「撮影日時順」が選択されると、RISC110は画像ファイルに記録された撮影日時情報に基づいて、昇順(過去から未来)もしくは降順(未来から過去)で画像ファイルをソートする。
HDD114内のデータ管理について図3を参照しながら説明する。
HDD114の内部には、リサイズ画像ファイル用フォルダF1、VGA画像データ用フォルダF2、画像処理データ用フォルダF3およびスライドショーデータ用フォルダF4が設けられている。さらに、HDD114には、ビューア画像管理テーブルT1および表示優先度テーブルT2も設けられている。
リサイズ画像ファイル用フォルダF1は、たとえば200万画素(1600画素×1200画素)のリサイズ画像ファイルを保存するためのフォルダである。リサイズ画像ファイルの画像データは、たとえばJPEG形式で圧縮されている。リサイズ画像の生成処理については後で詳述する。VGA画像データ用フォルダF2は、第1LCD103および第2LCD104の表示用に作成されたVGAサイズの画像データを保存するためのフォルダである。VGAサイズの画像データは、RISC110によりリサイズ画像ファイルに基づいて生成され、輝度色差形式(YCbCr422形式)のファイル(VGA画像ファイル)として保存される。画像処理データ用フォルダF3は、リサイズ画像ファイルに対して実行された画像処理の内容を示すデータ、すなわち画像処理データを保存するためのフォルダである。スライドショーデータ用フォルダF4は、スライドショーデータを保存するためのフォルダである。
ビューア画像管理テーブルT1は、ビューア100のHDD114に保存されるリサイズ画像ファイルを管理するためのテーブルである。ビューア画像管理テーブルT1については後で詳述する。表示優先度テーブルT2は、RISC110がビューア画像管理テーブルT1の表示優先度を決定する際に参照するテーブルである。表示優先度テーブルT2についても後で詳述する。
次に、ビューア画像管理テーブルT1について図4を用いて説明する。図4はビューア画像管理テーブルT1の一例を示す図である。「No.」はビューア画像管理テーブルT1に記録された順序に基づいて付加されるシリアルナンバーである。「リサイズ画像ファイル名」はリサイズ画像ファイルのファイル名を表す。図4のNo.1に示すリサイズ画像ファイル名「DSC_0005_2006_01_01_1930.rsz」は次の規則に基づいて与えられている。
ファイル名のプリフィックス(先頭部分)であるDSC_0005は、本画像ファイルのファイル名DSC_0005.jpgの拡張子jpgを除いた部分と同一の文字列である。ファイル名のサフィックス(末尾部分)である_2006_01_01_1930は、画像ファイルの撮影日時に基づいて付加される。すなわち、本例では、2006年1月1日19時30分に撮影された画像なので、サフィックスが_2006_01_01_1930となっている。
「VGA画像ファイル名」はVGA画像ファイルのファイル名であり、リサイズ画像ファイル名の拡張子rszをyccに置換したファイル名である。したがって、リサイズ画像ファイル名とVGA画像ファイル名との対応付けがなされている。「撮影日時」は撮影日時の情報、すなわち撮影時にカメラによってファイルが生成された日時を表す。「撮影日時No.」は撮影日時順に付加された番号である。「撮影日時No.」が大きいほど後に撮影された画像であることを表す。「表示優先度」は、上述した画像先読み処理を行なう際にRISC110が参照するデータである。表示優先度の値が大きい程、表示する優先度が高いことを意味する。先読み処理とは、上述したとおり、ユーザが閲覧指示をする可能性が高い複数の画像をRISC110が事前に予測して、SDRAM111にVGA画像ファイルの画像データを書き込む処理である。RISC110による先読み処理は、高速画像表示を実現するために行なわれる。先読み処理の詳細については後述する。
次に、RISC110による表示優先度決定ルールについて説明する。図5に示す表示優先度テーブルT2は、RISC110が表示優先度を決定する際に参照するテーブルである。表示優先度テーブルT2は、画像の撮影日やビューア100における表示回数と、それらに割り当てられた重み付け値、すなわち表示優先度との対応を示すテーブルである。RISC110は表示優先度テーブルT2を参照して、最後の撮影日に撮影された画像の表示優先度を10と決定する。一般にユーザは最新の画像を閲覧する傾向があるため、優先度を最も高くする。RISC110は、スライドショーに使用した画像の表示優先度を5と決定する。スライドショーに使用された画像は、ユーザのお気に入りの画像であるので、優先度を高くする。RISC110は、ビューア画像管理テーブルT1に記録されている画像の表示回数と表示優先度テーブルT2とを参照して表示優先度を決定する。ただし、サムネイル画像の表示は、表示回数としてRISC110にカウントされない。RISC110が表示回数をカウントするのは、画像が所定以上のサイズで表示された場合とする。たとえば4枚同時表示時における画像表示サイズ以上の場合に、RISC110は表示回数をカウントし、ビューア画像管理テーブルT1の表示回数欄を更新する。
RISC110は、ビューア画像管理テーブルT1の後述する「優先度高の指定」の欄を参照して、ユーザにより優先度が高いと指定された画像の表示優先度を5と決定する。したがって、RISC110は、前述したように、先読みを行なう際に表示優先度を参照するので、優先度高の指定がされた画像がRISC110により先読みされる可能性が高くなる。また、RISC110は、ビューア画像管理テーブルT1の後述する「優先度低の指定」の欄を参照して、ユーザにより優先度が低いと指定された画像の表示優先度を1に固定する。すなわち、RISC110は、優先度低の指定がされた画像が何度表示されても、表示優先度を変更しない。したがって、優先度低の指定がされた画像は、RISC110により先読みされる可能性が低くなる。ユーザのお気に入りの画像の前後の画像は、画像切替えに伴い表示回数が増える可能性が高い。しかし、それらの画像が必ずしもユーザのお気に入りの画像とは限らない。したがって、このような画像の表示優先度を1に固定することにより、RISC110は、より表示優先度の高い画像を先読みすることができる。
ビューア画像管理テーブルT1の説明に戻る。「スライドショー使用」は画像がスライドショーに使用されたか否かを示す情報である。ある画像が初めてスライドショーに使用されると、RISC110はその画像に対応するスライドショー使用の欄を更新する。「優先度高の指定」は、画像がユーザにより優先度が高いと指定されたか否かを示す情報である。前述したメニュー画面上からユーザにより優先度高が設定されると、RISC110は優先度高の指定の欄を更新する。「優先度低の指定」は、画像がユーザにより優先度が低いと指定されたか否かを示す情報である。前述したメニュー画面上からユーザにより優先度低が設定されると、RISC110は優先度低の指定の欄を更新する。
「ソート順序」はユーザのソート指示によって決定される画像表示順序を表す。「ソート順序」はユーザがソート指示を行う毎に書き換えられる。ユーザが指定できるソート条件は、たとえばファイル名順もしくは撮影日時順の2通りがある。後述するように、ソートされた画像は、ファイル名順や撮影日時順の並び方向とする基準軸上にソート順に順序付けされている。
「カメラ姿勢情報」は撮影時のカメラの姿勢を表す情報である。「カメラ姿勢情報」には、横位置撮影姿勢、+90度縦位置撮影姿勢および−90度縦位置撮影姿勢の3通りがある。すなわち、ユーザがカメラを横位置に構えて撮影する横位置撮影姿勢、横位置から時計回転方向に+90度の縦位置に構えて撮影する+90度縦位置撮影姿勢、および横位置から時計回転方向に−90度の縦位置に構えて撮影する−90度縦位置撮影姿勢である。後述するように、これらのカメラ姿勢情報は、カメラに設けた姿勢センサからの信号に基づいて、画像ファイルに記録される。
「画像処理管理情報」は、リサイズ画像データに対して実行される画像処理の種類、および処理を実行した順序を示す。図4のNo.1の場合は、リサイズ画像データに対し階調変換が施された後に、色合いの調整が行なわれたことを示す。「画像処理データ名」は、画像処理管理情報に示される画像処理のパラメータを記録したデータである。図4のNo.1の場合は、P000020.impが画像処理データである。画像処理データは、HDD114内の画像処理データ用フォルダF3に保存されている。
「メタデータ更新日時」は、画像ファイルのヘッダに格納されたメタデータが更新された日時の情報を表す。メタデータについては、後に詳説する。「カメラ識別子情報」は画像を撮影したカメラを特定する情報である。具体的には、カメラメーカー名、カメラ機種名、カメラのシリアルナンバーが含まれている。
次に、リサイズ画像ファイルの生成方法について説明する。リサイズ画像ファイルは、以下の4通りの方法を用いて生成される。
(1)電子カメラによる被写体像の撮影時に生成
(2)撮影して取得した画像に対して電子カメラで生成
(3)パソコンなどの外部装置により生成
(4)ビューア100により生成
(1)電子カメラによる被写体像の撮影時におけるリサイズ画像ファイルの生成
図6は、電子カメラ200の要部構成を説明するブロック図である。電子カメラ200は、撮影光学系201、撮像素子202、アナログ処理回路203、A/D変換回路204、タイミングジェネレータ205、デジタル処理回路206、色補間処理部207、縮小画像生成部208、圧縮部209、メモリカードインタフェース210、CPU211、LCD駆動回路212、LCD213、操作部214、姿勢センサ215を有する。
撮影光学系201は被写体像を後述の撮像素子202の受光面に結像する光学系である。撮像素子202は、受光した被写体光をその強度に応じた画像信号に変換する光電変換素子である。撮像素子202には、行列状に画素が配置されている。そのうち、たとえば縦2304画素×横3072画素の約700万画素が有効撮像画素である。撮像素子202の受光素子の各画素の受光面には、R(赤色)、G(緑色)、B(青色)の各色のフィルタのいずれかがベイヤー配列で取り付けられている。Rフィルタが取り付けられている画素(R画素)では、入射光を赤色に色分解し、赤色に関する明るさに応じたレベルの画像信号を出力する。同様に、Gフィルタが取り付けられている画素(G画素)では、入射光を緑色に色分解し、緑色に関する明るさに応じたレベルの画像信号を出力する。Bフィルタが取り付けられている画素(B画素)では、入射光を青色に色分解し、青色に関する明るさに応じたレベルの画像信号を出力する。
アナログ処理回路203は、撮像素子202の出力する画像信号にアナログ的な処理を実行する回路である。アナログ処理には、アンプのゲインコントロールや相関二重サンプリングが含まれる。アンプのゲインは、CPU211により設定されたISO感度に基づいて決定される。A/D変換回路204は、アナログ処理回路203から出力された画像信号をデジタルの画像データに変換する回路である。タイミングジェネレータ205は、CPU211の命令に応じて、撮像素子202とアナログ処理回路203とA/D変換回路204にタイミング信号を出力し、撮像素子202とアナログ処理回路203とA/D変換回路204との駆動タイミングを制御する回路である。
CPU211は、電子カメラ200の各構成要素を制御したり、各種のデータ処理を実行する演算回路である。すなわちCPU211は、タイミングジェネレータ205を制御するほか、後述するデジタル処理回路206、色補間処理部207、縮小画像生成部208、圧縮部209、メモリカードインタフェース210、LCD駆動回路212を制御する。またCPU211は図示しないメモリを内蔵しており、このメモリには、後述するように、操作部214を介して入力されたユーザの各種設定を保存する。
デジタル処理回路206は、A/D変換回路204の出力する画像データに対してホワイトバランス処理とガンマ補正処理を実行する回路である。色補間処理部207は、デジタル処理回路206が出力する画像データに対して色補間処理を実行する。この補間処理により、全画素についてR、G、Bの各色についての画像データが得られる。上述したように、撮像素子202のR画素からは赤色に関する画像信号が出力されるが、緑色、青色に関する情報はない。同様に撮像素子202のG画素からは、赤色、青色の画像信号が出力されない。また、撮像素子202のB画素からは、赤色、緑色の画像信号が出力されない。そのため、例えばR画素については、周囲の画素の値に基づいて色補間処理を行うことにより、緑色と青色の画像データを生成する。同様の処理をG画素とB画素に対して行うことにより、全画素についてR、G、Bの各色についての画像データが得られる。
縮小画像生成部208は、上述したように約700万画素の本画像データの画像サイズを縮小して、サムネイル画像データと、ビュー画像データと、リサイズ画像データとを生成する回路である。サムネイル画像データのサイズは、たとえば縦120画素×横160画素である。ビュー画像データとは、後述するLCD213に表示するのに適切なサイズの画像データを意味する。ビュー画像データのサイズは、たとえば縦240画素×横320画素である。リサイズ画像データは、たとえば縦1200×横1600の画像データである。
圧縮部209は本画像データに対してJPEG圧縮処理を実行する回路である。CPU211は、サムネイル画像データと、ビュー画像データと、圧縮された本画像データと、画像データのヘッダ情報とから1つの画像データファイルを生成する。なお、縮小画像生成部208、圧縮部209、CPU211による画像データファイル生成処理については、後で詳しく説明する。
メモリカードインタフェース210は、カメラに装着された上述したメモリカード301とデータ通信を行うインタフェースである。メモリカードインタフェース210は、CPU211の制御に基づいて、画像データファイルをメモリカード301に書き込んだり、メモリカード301に記録されている画像データファイルを読み出すインタフェース回路である。
LCD駆動回路212はCPU211の命令に基づいて、LCD213に駆動信号を出力することにより、LCD213を駆動する回路である。LCD213はアスペクト比が縦3:横4の液晶表示パネルである。LCD213は、液晶ビューファインダとしての表示、メモリカード301に記録されているサムネイル画像データやビュー画像データに基づく画像の表示を行う。また、LCD213は、画像データファイルに関連する各種情報(シャッタ速度、絞り値、ISO感度、ファイル名など)の表示を行う。また、LCD213は、後述する操作部214の操作に基づき、電子カメラ200の各種設定メニュー画面の表示を行う。
操作部214は、ユーザの操作を受け付けるスイッチである。操作部214には、電源スイッチ、レリーズボタン、設定メニューの表示切換スイッチ、設定メニュー決定ボタンなどが含まれる。姿勢センサ215は、撮影時のカメラの姿勢の情報を出力するセンサである。姿勢センサ215は、ユーザがカメラを横位置に構えて撮影する横位置撮影、横位置から時計回転方向に+90度の縦位置に構えて撮影する+90度縦位置撮影、および横位置から反時計回転方向に−90度の縦位置に構えて撮影する−90度縦位置撮影を識別する姿勢信号を出力する。この姿勢信号は画像ファイルに書き込まれる。
次に、電子カメラ200による画像データのサイズの設定について説明する。ここでいう画像データサイズとは画素数を意味する。ユーザは事前に、操作部214を操作することにより本画像データのサイズを設定する。ユーザが選択できる本画像データのサイズには、第1サイズと第2サイズの2つサイズがある。第1サイズは縦2304画素×横3072画素であり、第2サイズは縦480画素×横640画素である。
CPU211は、操作部214を介して入力された本画像データのサイズを、内部メモリに記憶する。CPU211は、図7に示す画像サイズテーブルを参照して、入力された本画像データのサイズに基づいて、撮像した画像信号に対して画像処理を施す。第1サイズが設定されている場合、色補間処理部207で生成された画像データをそのまま本画像データとして画像データファイルを生成し、メモリカード301に記録する。第2サイズが設定されている場合、色補間処理部207で生成された画像データに対して、縮小画像生成部208が間引き処理を施して本画像データを生成する。CPU211は生成された本画像データに基づいて画像データファイルを生成してメモリカード301に記録する。
ユーザは、ユーザの操作部214の操作により、上述した200万画素に縮小したリサイズ画像を撮影時に同時に生成する撮影モード(リサイズ画像生成撮影モードと呼ぶ)を選択することができる。CPU211は、リサイズ画像生成撮影モードが指示されると、リサイズ画像データのサイズも画像サイズテーブルに基づいて設定する。ユーザの操作部214の操作により、リサイズ画像生成撮影モード以外の撮影モードが指示された場合は、CPU211はリサイズ画像データのサイズを設定しない。
図7の画像サイズテーブルに示すように、第1および第2のサイズに拘わらず、CPU211は、サムネイル画像データサイズを縦120画素×横160画素に設定する。更にCPU211は、第1および第2のサイズに拘わらず、ビュー画像データサイズを縦240画素×横320画素に設定する。なお、サムネイル画像データサイズは、サムネイル画像データのサイズそのものである。
次に、電子カメラ200の撮像動作について説明する。ユーザが操作部214を操作することにより電源がオンとなり、かつ静止画撮影モードに切換えられると、CPU211は静止画撮影モードを設定する。静止画撮影モード設定状態で、ユーザが操作部214を操作することによりリサイズ画像生成撮影モードが指定されると、CPU211はリサイズ画像生成撮影モードを設定する。上述のいずれの撮影モードであっても、CPU211は、タイミングジェネレータ205、デジタル処理回路206、色補間処理部207、縮小画像生成部208およびLCD駆動回路212を制御することにより、1/30秒の周期でLCD213に表示される画像を更新する。すなわち、電子ビューファインダとして機能するLCD213には被写体の動画像が表示される。
具体的には、CPU211は、縮小画像生成部208に対して設定に基づいたビュー画像データを生成するように命令を出す。ビュー画像データサイズは、縦240画素×横320画素である。縮小画像生成部208は、CPU211の命令に基づいて所定のタイミング(1/30秒周期)でビュー画像データを生成する。
ユーザがレリーズスイッチを全押しすると、CPU211は、撮像素子202から得られた測光値に基づいて、シャッタ速度、絞り値およびISO感度を設定する。そしてCPU211は、不図示の絞りを設定した絞り値にする。CPU211は、タイミングジェネレータ205を制御して、設定したシャッタ速度に応じた時間だけ電荷を蓄積するように撮像素子202を駆動する。また、CPU211は、設定されたISO感度に基づいて、アナログ処理回路203のアンプのゲインを決定し、アンプにゲインを設定する。
撮像素子202から出力される画像信号には、上述したアナログ処理回路203から色補間処理部207の処理が施される。CPU211は、縮小画像生成部208に図7に示すようなサムネイル画像データとビュー画像データのサイズを指定する。そして、縮小画像生成部208は、本画像データに基づいて、CPU211により指定されたサイズのサムネイル画像データとビュー画像データを生成する。
リサイズ画像生成撮影モードの場合は、CPU211は、更に縮小画像生成部208にリサイズ画像データのサイズも指定する。縮小画像生成部208は、サムネイル画像データとビュー画像データに加えて、CPU211により指定されたサイズのリサイズ画像データを本画像データに基づいて生成する。
CPU211は、設定された本画像データのサイズに基づいて、本画像のデータを生成する。サイズが大きい第1サイズの場合、CPU211は、色補間処理部207で生成した画像データをそのまま本画像データとする。サイズが小さい第2サイズの場合、色補間処理部207で生成した画像データに対して、縮小画像生成部208が間引き処理を行って本画像データを生成する。次にCPU211は、圧縮部209に対して生成された本画像データの圧縮処理を実行させる。リサイズ画像生成撮影モードの場合、CPU211は、リサイズ画像データの圧縮も行う。
CPU211は、画像データファイルを生成する。具体的には、CPU211は、圧縮部209により圧縮された本画像データと、縮小画像生成部208が生成したサムネイル画像データおよびビュー画像データとから1つの画像データファイルを生成する。このとき、CPU211は、画像データファイルのヘッダ部にサムネイル画像表示サイズとビュー画像表示サイズの情報を記録する。さらに、CPU211は、シャッタ速度、絞り値、ISO感度、ファイル名、撮影日時などの撮影情報も画像データファイルのヘッダ部に記録する。また、CPU211は、画像データファイルのヘッダ部に各画像のデータファイルのアドレス情報、すなわちデータファイル中のどのアドレスにどのデータファイルが記録されているかを示す情報をも記録する。リサイズ画像生成撮影モードの場合は、CPU211は、上述の画像データファイルとは別に、リサイズ画像ファイルを生成する。
CPU211は、メモリカードインタフェース210を駆動して、生成した画像データファイルをメモリカード301に書き込む。リサイズ画像ファイルがある場合は、CPU211は、上述の画像データファイルとは別のフォルダにリサイズ画像ファイルを保存する。そして、撮影時にリサイズ画像ファイルを作成する設定がユーザにより選択されている場合、CPU211は、図8に示すようなカード画像管理テーブルを作成する。メモリカード301内に既にカード画像管理テーブルが作成されている場合、CPU211は、カード画像管理テーブルを更新する。カード画像管理テーブルには、メモリカード301内における本画像のファイル名と、本画像ファイルに対応するリサイズ画像のファイル名と、本画像とリサイズ画像を保存するフォルダ名とが記録されている。また、画像を取得したカメラを特定するカメラ識別子情報もカード画像管理テーブルに記録される。カメラ識別子情報には、カメラメーカー名、カメラ機種名、カメラのシリアルナンバーが含まれている。
(2)撮影した画像に対して電子カメラによりリサイズ画像生成
上述した電子カメラ200において、ユーザが操作部214を操作することにより電源がオンとなり、かつ画像再生モードに切換えられると、CPU211は、画像再生モードを設定する。画像再生モードでは、CPU211は、メモリカードインタフェース210を駆動して画像ファイルをメモリカード301から読み出す。読み出された画像ファイルに基づいて、CPU211は、サムネイル画像データやビュー画像データに対応する画像をLCD213に表示する。なお、リサイズ画像データが生成されている画像に対しては、リサイズ済マークが重畳されて表示される。
ユーザは、操作部214を操作することにより、LCD213に表示された画像の中からリサイズする画像を選択することができる。ユーザはリサイズ画像を生成する画像を指定するために、全画像指定、1画像指定、全画像解除の3つの指示を操作部214により行うことができる。
全画像指定とは、リサイズ画像生成用の画像としてLCD213に表示された全ての画像を指定することである。すなわち、ユーザが操作部214により全画像指定の操作を行なうと、CPU211は、LCD213に表示された画像のうち、リサイズ済マークが付いている画像を除く全ての画像がリサイズ画像生成用の画像に指定されたと認識する。すると、CPU211は、LCD駆動回路212を介してLCD213に表示された画像上にチェックマークを重畳表示する。このとき、既にリサイズ済マークが付いている画像にはチェックマークの表示は行なわれない。
1画像指定とは、リサイズ画像生成用の画像としてLCD213に表示された画像を個別に指定することである。すなわち、ユーザが操作部214により好みの画像を選択する操作を行なうと、CPU211は、選択された画像がリサイズ画像生成用の画像に指定されたと認識する。すると、CPU211は、LCD駆動回路212を介してLCD213に選択された画像上にチェックマークを重畳表示する。既にチェックマークが付いている画像に対して、ユーザが操作部214により解除操作を行なうと、CPU211はリサイズ画像生成の指定を解除し、チェックマークの表示を消去する。
全画像解除とは、上述した全画像指定または1画像指定により指定されたリサイズ画像生成の指定を全て解除することである。
そして、ユーザが操作部214を操作することによりリサイズ画像作成の指示を行うと、CPU211は、チェックマークが付いている画像について、縮小画像生成部208にリサイズ画像を生成するように命令する。縮小画像生成部208は、CPU211の命令に基づいてリサイズ画像データを生成する。
リサイズ画像データが生成されると、CPU211は、リサイズ画像生成撮影モードにおける処理と同様にして、リサイズ画像ファイルを生成する。CPU211は、メモリカードインタフェース210を駆動して、生成したリサイズ画像ファイルをメモリカード301に書き込む。CPU211は、メモリカード301内の既存の画像ファイルとは別のフォルダにリサイズ画像ファイルを保存する。そして、CPU211は、図8に示すようなカード画像管理テーブルを生成し、メモリカード301に書き込む。メモリカード301内に既にカード画像管理テーブルが作成されている場合、CPU211は、カード画像管理テーブルを更新する。
(3)パソコンなどの外部装置によるリサイズ画像生成
−電子カメラで取得された画像ファイルが記録されたメモリカードに対する処理−
図18はパーソナルコンピュータ(以下、パソコンと呼ぶ)400の一例を示す概略制御ブロック図である。パソコン400は、CPU401、HDD402、メモリカードインタフェース403、操作部404、モニタ405、外部インタフェース406を有する。パソコン400によりリサイズ画像を生成する場合、ユーザにより画像管理ソフトを起動する。この画像管理ソフトは、HDD402に記憶されている。ユーザが操作部404を操作して画像管理ソフトの起動が指示されると、CPU401は画像管理ソフトを起動する。また、メモリカード301が装着されると、メモリカードインタフェース403はCPU401に対してメモリカード301が装着されたことを示す装着信号を出力する。CPU401は、装着信号を入力すると、メモリカード301との通信を確立して、メモリカード301内のカード画像管理テーブルとサムネイル画像ファイルの送信を要求する信号を出力する。
CPU401は、カード画像管理テーブルとサムネイル画像ファイルを読み込むと、入力したサムネイル画像ファイルに対応するサムネイル画像をモニタ405に表示する。なお、メモリカード301にカード画像管理テーブルが存在しない場合は、CPU401はカード画像管理テーブルの読み込みを行なわない。たとえば、リサイズ機能を備えていない電子カメラ200で取得されたサムネイル画像ファイルを読み込む場合が、この場合に相当する。CPU401は、カード画像管理テーブルに基づいて、リサイズ画像ファイルが存在する画像にはリサイズ済であることを示すマークを重畳して表示する。
ユーザが操作部404を操作することにより、リサイズ画像を生成する画像が指定されると、CPU401は、ユーザにより指定された画像に対応するリサイズ画像ファイルを生成する。ユーザはリサイズ画像を生成するために、電子カメラ200の場合と同様に、1画像指定、全画像指定および全画像指定解除の3つの指示を操作部404により行うことができる。CPU401は、生成したリサイズ画像ファイルをメモリカード301に記録する。さらに、CPU401は、カード画像管理テーブルを更新する。更新されたカード画像管理テーブルは、メモリカード301に記録される。また、メモリカード301にカード画像管理テーブルが存在しない場合は、CPU401はカード画像管理テーブルを新たに作成して、メモリカード301内に記録する。なお、パソコン400と電子カメラ200とが外部インタフェース406を介して、たとえばUSBなどのケーブルで接続された場合についても同様にして、CPU401によりサムネイル画像ファイルの読み込みと、リサイズ画像ファイルの生成とが行なわれる。
−パソコンの内蔵ドライブに保存されている画像からのリサイズ画像生成処理−
上述したパソコン400のHDD402に記録されている画像ファイルからリサイズ画像ファイルを生成する場合について説明する。ユーザが操作部404を操作して画像管理ソフトの起動が指示されると、CPU401は画像管理ソフトを起動する。CPU401は、画像管理ソフトを起動すると、HDD402内のPC画像管理テーブルを読み出す。PC画像管理テーブルには、HDD402に記録されている画像ファイルに対するリサイズ画像ファイルの有無に関する情報が記録されている。なお、PC画像管理テーブルは、カード画像管理テーブルと同項目の情報が記録されている。
ユーザが操作部404を操作してフォルダを指定すると、CPU401は指定されたフォルダに保存されている画像ファイル中のサムネイル画像データを読み込む。CPU401は、サムネイル画像データを読み込むと、読み込んだサムネイル画像データに対応するサムネイル画像をモニタ405に表示する。CPU401は、PC画像管理テーブルに基づいて、リサイズ画像ファイルが存在する画像にはリサイズ済であることを示すマークを重畳して表示する。
ユーザが操作部404を操作することにより、リサイズ画像を生成する画像が指定されると、CPU401は、ユーザにより指定された画像に対応するリサイズ画像ファイルを生成する。ユーザはリサイズ画像を生成するために、上述したようにして、1画像指定、全画像指定および全画像指定解除の3つの指示を操作部404により行うことができる。CPU401は、生成したリサイズ画像ファイルをHDD402に記録する。さらに、CPU401は、PC画像管理テーブルを更新する。PC画像管理テーブルが存在しない場合は、CPU401は新たにPC画像管理テーブルを作成する。
パソコン400で生成されたリサイズ画像ファイルは、CPU401によりユーザにより指定されたドライブに書き込まれる。たとえば、メモリカード301が接続されて、ユーザによりメモリカード301が指定された場合は、リサイズ画像ファイルはメモリカード301に書き込まれる。CPU401は、メモリカード301への書き込みに先立って、メモリカード301のカード画像管理テーブルの送信を要求する。カード画像管理テーブルを入力すると、CPU401は、生成したリサイズ画像ファイルのうち、いずれのリサイズ画像ファイルがメモリカード301に保存されていないのかを判別する。判別は、PC画像管理テーブルと入力したカード画像管理テーブルとを比較することにより行なわれる。
比較の際に、CPU401は、PC画像管理テーブルのリサイズ画像ファイル名と、入力したカード画像管理テーブルのリサイズ画像ファイル名との差分をとる。なお、PC画像管理テーブルのリサイズ画像ファイル名と、カード画像管理テーブルのリサイズ画像ファイル名が同じであったとしても、それらの画像に付与されたカメラ識別子情報が異なれば、PC側の画像ファイルを差分として判定する。この場合、CPU401は、PC側の画像ファイルのファイル名を、最後に「_01」等の文字を追加するなどして変更する。リサイズ画像ファイル名の差分をとることにより、CPU401は、メモリカード301のカード画像管理テーブル内のリサイズ画像ファイル名とは異なるファイル名を有するリサイズ画像ファイル(差分画像ファイル)を抽出する。メモリカード301にカード画像管理テーブルが存在しない場合は、CPU401はPC画像管理テーブル内のすべてのリサイズ画像ファイルを差分画像ファイルとして認識する。差分画像ファイルを抽出すると、CPU401は、差分画像ファイルに対応するリサイズ画像ファイルをメモリカード301に記録する。リサイズ画像ファイルが記録されると、CPU401は、カード画像管理テーブルを更新してメモリカード301に記録する。
(4)ビューア100によるリサイズ画像生成
ビューア100にメモリカード301が装着されると、RISC110は、メモリカード301に保存されている画像ファイルを読み込む。RISC110は、読み込んだ画像ファイルを用いてリサイズ画像ファイルを生成して、HDD114のリサイズ画像ファイル用フォルダF1に保存する。さらに、RISC110はビューア画像管理テーブルT1を更新する。
メモリカード301が装着されると、メモリカードインタフェース120は、RISC110に対してメモリカード301が装着されたことを示す装着信号を出力する。RISC110は、装着信号を入力すると、メモリカード301との通信を確立して、メモリカード301内のカード画像管理テーブルの送信を要求する信号を出力する。さらに、RISC110は、第1LCDインタフェース118を介して、第1LCD103に、たとえば「画像データ入力中です。メモリカードをはずさないで下さい」などの警告文を表示する。
−メモリカード301にカード画像管理テーブルが存在する場合−
メモリカード301にカード画像管理テーブルが存在する場合、RISC110は、カード画像管理テーブルを入力する。RISC110は、入力したカード画像管理テーブルの中からリサイズ画像ファイルを認識する。RISC110は、認識されたリサイズ画像ファイルがすでにHDD114に記録されているリサイズ画像ファイルか否かを判別する。この判別は、ビューア画像管理テーブルT1と入力したカード画像管理テーブルとを比較することにより行なわれる。
比較の際に、RISC110は、入力したカード画像管理テーブルのリサイズ画像ファイル名と、ビューア画像管理テーブルT1のリサイズ画像ファイルとの差分をとる。リサイズ画像ファイル名の差分をとることにより、RISC110は、ビューア100のビューア画像管理テーブルT1内のリサイズ画像ファイル名とは異なるファイル名を有するリサイズ画像ファイル(差分画像ファイル)を抽出する。なお、カード画像管理テーブルのリサイズ画像ファイル名と、ビューア画像管理テーブルT1のリサイズ画像ファイル名が同じであったとしても、それらの画像に付与されたカメラ識別子情報が異なれば、メモリカード301側の画像ファイルを差分として判定する。この場合、RISC110は、メモリカード301側の画像ファイルのファイル名を、最後に「_01」等の文字を追加するなどして変更する。
RISC110は、差分画像ファイルに対応するリサイズ画像ファイルをメモリカード301から読み込む。RISC110は、読み込んだリサイズ画像ファイルをSDRAM111に一時的に記憶してから、HDD114のリサイズ画像ファイル用フォルダF1に記録する。リサイズ画像ファイルが記録されると、RISC110はビューア画像管理テーブルT1を更新する。
RISC110は、メモリカード301内の全ての画像を検索する。検索の結果、カード画像管理テーブルに記録された本画像ファイル名と本画像保存先フォルダ名とに基づいて、カード画像管理テーブルにファイル名が記録されていない未登録画像ファイルを抽出する。未登録画像ファイルを抽出すると、RISC110は、未登録画像ファイルを読み込んで、SDRAM111に展開する。RISC110は、読み込んだ未登録画像ファイルを第1LCD103に表示する。さらに、「リサイズ画像を作成しますか?」のような選択を促すメッセージを表示する。
ユーザが操作ボタン106を操作してリサイズ画像を生成する設定を選択している場合、RISC110は、SDRAM111に展開された画像ファイルに基づいてリサイズ画像ファイルを生成し、HDD114のリサイズ画像ファイル用フォルダF1に記録する。そして、RISC110はビューア画像管理テーブルT1を更新する。RISC110は、未登録画像のファイル名をメモリカード301のカード画像管理テーブルに追加する。
さらに、RISC110は、第1LCDインタフェース118を介して、第1LCD103に、たとえば「画像データの入力が終了しました」などのメッセージを所定の時間表示する。
−メモリカード301にカード管理テーブルが存在しない場合−
メモリカード301にカード画像管理テーブルが存在しない場合、RISC110は、メモリカード301内の画像ファイルを入力して、SDRAM111に展開する。RISC110は、SDRAM111に展開された画像ファイルに基づいてリサイズ画像ファイルを生成し、HDD114のリサイズ画像ファイル用フォルダF1に記録する。そして、RISC110はビューア画像管理テーブルT1を更新する。RISC110は、上述のリサイズ画像ファイル生成処理をメモリカード301内の全ての画像ファイルについて行なう。メモリカード301の全ての画像ファイルからリサイズ画像ファイルが生成されると、RISC110は、第1LCDインタフェース118を介して、第1LCD103に、たとえば「画像データの入力が終了しました」などのメッセージを所定の時間表示する。
RISC110は、更新前のビューア画像管理テーブルT1におけるリサイズ画像ファイルのファイル名の前半部、たとえばDSC0001と、上述したリサイズ画像ファイル生成処理で生成したリサイズ画像ファイルのファイル名の前半部とを比較する。比較の結果、同一ファイル名の画像ファイルが存在する場合は、RISC110は双方のリサイズ画像ファイルに対応する画像を第1LCD103に表示する。同一ファイル名を持つ画像が2枚存在するときは、2つの画像は第1LCD103に左右に並べて表示される。同一ファイル名を持つ画像が3枚以上存在するときは、サムネイル画像表示を行う。この場合、新たに読み込まれた画像もしくは生成された画像を反転表示する。
さらに、RISC110は、第2LCD104に、たとえば「1.同じファイル名の画像がありました。反転表示画像を削除する。」、「2.同じファイル名の画像がありました。反転表示画像のファイル名を変更する。」、「3.同一ファイル名の画像を一括削除する。」、および「4.同一ファイル名の画像のファイル名を一括変更する。」のような選択を促すメッセージを表示する。
ユーザが操作ボタン106を操作して、「1.同じファイル名の画像がありました。反転表示画像を削除する。」を選択した場合、RISC110は、ユーザに選択されたリサイズ画像ファイルをHDD114から削除する。ユーザはジョイスティック107と操作ボタン106を操作することにより、削除すべき画像を指定することができる。指定された画像は第1LCD103上で反転表示される。
ユーザが操作ボタン106を操作して、「2.同じファイル名の画像がありました。反転表示画像のファイル名を変更する。」を選択した場合、RISC110は、新たに生成されたリサイズ画像ファイルのファイル名を変更する。具体的には、ファイル名の末尾に所定の規則に基づいて文字、たとえば「_01」を追加する。さらに、RISC110は、ビューア画像管理テーブルT1を更新する。ユーザが操作ボタン106を操作して、「3.同じファイル名の画像を一括削除する。」を選択した場合、RISC110は、第2LCD104に、たとえば「同じファイル名の画像を削除します。よろしいですか?」などの警告文を表示する。ユーザが操作ボタン106を操作して「OK」を選択すると、RISC110は、新たに生成したリサイズ画像ファイルをHDD114から削除する。ユーザが操作ボタン106を操作して「キャンセル」を選択すると、RISC110は、第2LCD104に再び前述した選択を促すメッセージを表示する。
「4.同一ファイル名の画像のファイル名を一括変更する。」が選択されると、RISC110は、新たに読み込んだリサイズ画像もしくは新たに作成したリサイズ画像のファイル名を一括して変更する。具体的には、上述したように、ファイル名の末尾に所定の規則に基づいて文字を追加して、互いのファイル名が識別できるようにする。
以上の処理が終了すると、RISC110は、ビューア画像管理テーブルT1を更新する。
(画像表示について)
ビューア100の第1LCD103および第2LCD104に画像を表示する処理を説明する。第1LCD103および第2LCD104に表示される画像はVGA画像であるが、ここでは、VGA画像が作成されていない場合について説明する。ユーザにより操作ボタン106、ジョイスティック107およびタッチパネル122などの操作により、第1LCD103または第2LCD104に表示する画像を指定する。これにより、RISC110は、指定された画像に対応するリサイズ画像ファイルをHDD114から読み出し、SDRAM111に展開する。RISC110は、SDRAM111に展開したリサイズ画像ファイルからVGA画像ファイルを生成する。VGA画像ファイルを生成すると、RISC110はVGA画像ファイルをHDD114内のVGA画像データ用フォルダF2に記録する。さらに、RISC110は、ビューア画像管理テーブルT1の「VGA画像ファイル名」および「VGA画像ファイル有無」の欄を更新する。そして、RISC110は、VGA画像ファイルに対応する画像を第1LCD103および第2LCD104に表示する。
ビューア100の第1LCD103および第2LCD104に表示される画像の枚数は、ユーザにより設定される。画像の表示枚数の設定は、第1LCD103および第2LCD104に表示されるメニュー画面の同時表示枚数設定のメニューから行なうことができる。また、タッチパネル122上を指こすり操作して枚数を変更することもできる。1枚同時表示が設定された場合、RISC110は、図9(a)に示すように、第1LCD103および第2LCD104の2画面を用いて1枚の拡大画像を表示する。
2枚同時表示が設定された場合、RISC110は、図9(b)、(c)に示すように、第1LCD103および第2LCD104のそれぞれに1枚ずつの画像を表示する。すなわち、RISC110は合計で2枚の画像を同時に表示する。この場合、画像表示はVGA画像データを用いて行われる。
なお、図9(b)は、ビューア100を横位置姿勢で保持し、姿勢優先モードで2枚表示が設定された場合の表示画面例を示す。図9(c)は、ビューア100を横位置姿勢で保持し、サイズ優先モードで2枚表示が設定された場合の表示画面例を示す。
4枚同時表示が設定された場合、RICS110は、図9(d)〜(f)に示すように、第1LCD103および第2LCD104のそれぞれに2枚ずつ、合計で4枚の画像を表示する。4枚の画像は、VGA画像データを縮小した縮小画像データにより表示される。なお、図9(d)は、ビューア100を横位置姿勢で保持し、姿勢優先モードで4枚同時表示が設定された場合の表示画面例を示す。図9(e)は、ビューア100を横位置姿勢で保持し、サイズ優先モードで4枚同時表示が設定された場合の表示画面例を示す。図9(f)は、ビューア100を縦位置姿勢で保持し、姿勢優先モードで4枚同時表示が設定された場合の表示画面例を示す。
ユーザにより、図19に示すメニュー画面のトップメニューの中から画像表示が選択されると、RISC110は、図10に示すように、第1LCD103および第2LCD104を用いてサムネイル画像を表示する。図10に示すサムネイル画像の中から、操作ボタン106とジョイスティック107の操作により、いずれかの画像が指定されると、RISC110は上述した表示枚数の設定に応じて第1LCD103および第2LCD104に画像を表示する。
(表示枚数切り替え)
第1LCD103および第2LCD104に表示する画像の表示枚数の変更について説明する。表示枚数の切り替えは、メニュー画面からの設定操作による変更、およびタッチパネル122もしくはジョイスティック107の操作による変更の2通りの方法により行われる。
図20(a)は、サイズ優先モードで2枚同時表示が選択されている場合の表示画面を示す。すなわち、第1LCD103および第2LCD104にそれぞれVGAサイズの画像が表示されている。ユーザにより操作ボタン106が操作されると、RISC110は、第2LCD104にメニュー画面を表示する。メニュー画面における同時表示枚数設定の項目から、1枚、2枚および4枚同時表示のいずれかが、ユーザによるジョイスティック107またはタッチパネル122の操作で選択される。同時表示枚数の選択が行なわれた後、ユーザによる操作ボタン106の操作により実行が指示されると、RISC110は選択された同時表示枚数の設定に応じて、第1LCD103および第2LCD104に画像を表示する。たとえば、4枚同時表示が選択されると、図20(c)の画面表示となる。
図20(a)に示す画像表示中に、図20(b)に示すように、第2LCD104上において、ユーザが対角方向に対して左上方向へ指でなぞったとする。タッチパネル122は、指でなぞった位置を表す時系列位置信号をRISC110に出力する。RISC110は、時系列位置信号の変化方向が第2LCD104の対角方向に対して左上方向であることを検出すると、ユーザの操作に応じて、図20(b)に示すように表示中の画像を縮小して表示する。さらに、RISC110は、図20(b)に示すように、第1LCD103に表示中の画像に重畳して、ユーザの操作方向、すなわち左上方を指す矢印140を表示する。
RISC110は、タッチパネル122から入力する位置信号の左上方への変化量が所定量を超えると、すなわちユーザによりタッチパネル122が左上方へ所定距離以上なぞられると、図20(c)に示すように、同時表示枚数を2枚から4枚へ変更する。すなわち、タッチパネル122が第2LCD104に対して左上方に所定距離以上なぞられると、RISC110は、表示枚数が増加するように画像の同時表示枚数を変更する。
具体的には、RISC110は、元々第1LCD103と第2LCD104にそれぞれ表示されていた2枚のVGA画像を縮小して第1LCD103に表示する。また、次コマの2枚の画像データをSDRAM111から読み出す。そして、RISC110は、読み出した2枚のVGA画像を縮小して第2LCD104に表示する。
第2LCD104上において、ユーザが対角方向に対して右下方向へ指でなぞったとする。タッチパネル122は、指でなぞった位置を表す時系列位置信号をRISC110に出力する。RISC110は、時系列位置信号の変化方向が第2LCD104の対角方向に対して右下方向であることを検出すると、上述した図9(a)に示すように、第1LCD103および第2LCD104の2画面を用いて、第1LCD103に表示されていた1枚のVGA画像を拡大して表示する。このとき、RISC110は、第1LCD103に表示中の画像に重畳して、ユーザの操作方向、すなわち右下方を指す矢印140を表示する。すなわち、タッチパネル122が第2LCD104に対して右下方に所定距離以上なぞられると、RISC110は、表示枚数が減少するように画像の同時表示枚数を変更する。
図9(a)に示す拡大画像は次のように作成され表示される。まず、RISC110は、図20(b)の第1LCD103上に表示されている画像のVGA画像データを補間して粗い拡大画像を作成し、拡大画像の半分の画像を、第1LCD103の表示用キャッシュである後述する表示画像用キャッシュHK1と第2LCD104の表示用キャッシュである後述する表示画像用キャッシュHK2にそれぞれ格納する。そして、RISC110は、これら2つのキャッシュHK1およびHK2のデータに基づいて、第1および2LCD103および104に図9(a)のような拡大画像を表示する。この画像作成処理中に、RISC110は、第1LCD103上に表示されている画像に対応するリサイズ画像データに基づいて精細拡大画像データの生成を同時に実行する。精細拡大画像データが作成されると、RISC110は、粗い拡大画像の表示から精細拡大画像に切り替える。精細画像データについても、第1LCD103と第2LCD104の表示用画像データは、RISC110により、対応する表示用キャッシュである表示画像用キャッシュHK1、HK2にそれぞれ格納される。次コマが表示されると、後述するように、RISC110は、表示画像用キャッシュHK1、HK2にそれぞれ格納した表示用画像データを、表示済画像用キャッシュK1、K2に格納する。したがって、その後、同一の拡大画像表示が指示されたときは、RISC110は、表示済画像用キャッシュK1、K2に格納されたデータを用いて、初めから精細拡大画像を表示することができる。
なお、上述した表示枚数の変更操作はジョイスティック107によって行なうこともできる。すなわち、ジョイスティック107から左上方操作信号を入力すると、RISC110は表示枚数を2枚から4枚へ変更する。ジョイスティック107から右下方操作信号を入力すると、RISC110は表示枚数を2枚から1枚へ変更する。
(画像切替え)
第1LCD103および第2LCD104に表示中の画像の切替えについて、図21を参照して説明する。画像切替えは、タッチパネル122もしくはジョイスティック107の操作により行われる。
図21(a)は、サイズ優先モードで2枚表示を選択した場合の表示画面を示す。すなわち、第1LCD103および第2LCD104にそれぞれVGAサイズの異なる画像が表示されている。第2LCD104上において、ユーザが左水平方向へ指でなぞったとする。タッチパネル122は、指でなぞった位置を表す時系列位置信号をRISC110に出力する。RISC110は、時系列位置信号の変化方向が第2LCD104の左水平方向であることを検出すると、表示中の2枚の画像を左方向へ移動表示する。このとき、RISC110は、ユーザの操作に応じて、図21(b)に示すように、第2LCD104に表示中の画像に重畳して、ユーザの操作方向、すなわち左方向を指す矢印150を表示する。
RISC110は、タッチパネル122から入力する位置信号の左水平方向への変化量が所定量を超えると、次コマの2枚の画像データをSDRAM111から読み出す。そして、RISC110は、読み出した画像データに基づいて2枚の画像を第1LCD103および第2LCD104に表示する。すなわち、ユーザによりタッチパネル122が所定距離以上なぞられると、RISC110は、表示する画像を図21(c)に示すように次コマの2枚の画像表示に切り替える。
なお、図21においては左方向の移動表示について示しているが、上方向、下方向、右方向についても同様にして、RISC110は、タッチパネル122の操作方向に応じて画像を移動表示する。また、ジョイスティック107の十字キーで上下方向、もしくは左右方向に操作された場合についても、同様にして、RISC110は十字キーの操作方向に応じて画像を移動表示する。
上述した拡大画像データと同様に、第1LCD103と第2LCD104の表示用画像データは表示済画像用キャッシュK1、K2に格納される。その後、同一の画像表示が指示されたときは、RISC110は、表示済画像用キャッシュK1、K2に格納されたデータを用いて表示を行う。
(表示形態切り替え)
次に、ビューア100の第1LCD103および第2LCD104に表示される画像の表示形態について説明する。画像の表示形態の設定は、第2LCD104に表示されるメニュー画面の表示モードのメニューから行なうことができる。表示モードは、姿勢優先モードとサイズ優先モードとを有する。姿勢優先モードにおいては、第1LCD103および第2LCD104に表示される複数の画像の天地方向が一致して表示される。サイズ優先モードにおいては、第1LCD103および第2LCD104に表示される複数の画像が同一サイズで表示される。
なお、前述した同時表示枚数設定のメニューにおいて、1枚の画像表示が設定された場合は、常にサイズ優先モードで表示される。
1:姿勢優先モード
姿勢優先モードは次の3つのモードを有する。
1.1:姿勢センサモード
1.2:横開きモード
1.3:縦開きモード
姿勢センサモードにおいては、姿勢センサ116で検出されたビューア100の上下方向と画像の天地方向とが一致して表示される。姿勢センサ116は、前述したようにビューア100の横位置姿勢、+90度縦位置姿勢および−90度縦位置姿勢の3種類の姿勢を検出する。姿勢センサ116で検出する横位置姿勢は、図22(a)に示すように、ビューア100を横に開いた姿勢である。また+90度縦位置姿勢を図22(b)に示し、−90度縦位置姿勢を図22(c)に示す。すなわち、姿勢センサ116で検出される+90度縦位置姿勢および−90度縦位置姿勢は、ビューア100を縦に開いた状態である。
横開きモードにおいては、図22(a)に示すように横開きされたビューア100の上下方向と画像の天地方向とが一致して表示される。
縦開きモードにおいては、図22(b)および(c)に示すように、縦開きされたビューア100の上下方向と画像の天地方向とが一致して表示される。
なお、縦開きモードおよび横開きモードにおいては、表示される画像の天地方向は、姿勢センサ116で検出されたビューア100の上下方向に依存しない。すなわち、縦開きモードおよび横開きモードが設定されている場合、ビューア100の保持姿勢を画面と平行な面内で回転しても、表示画像は回転しないように構成されている。
以下、各モードにおける画像の表示形態について詳細に説明する。
−1.1:姿勢センサモード−
姿勢センサモードが設定されると、RISC110は、姿勢センサインタフェース117を介して、姿勢センサ116から出力された姿勢情報を入力する。入力した姿勢情報が横位置姿勢を示す場合、RISC110は、ビューア100が図22(a)に示すように横開きされていると判定する。そして、RISC110は、第1LCD103および第2LCD104のそれぞれの一辺103aおよび104aを上方向として設定する。同様にして、RISC110は、第1LCD103および第2LCD104のそれぞれの一辺103bおよび104bを下方向として設定する。この結果、RISC110はビューア100の横開きに応じて、第1LCD103および第2LCD104の上下方向を設定する。
次に、RISC110は表示画像の天地方向を判定する。RISC110は、SDRAM111内の画像ファイルに書き込まれた撮影姿勢情報を参照して、画像の天地方向を判定する。そして、RISC110は、判定結果に基づいて、画像の天地方向と、前述したようにして設定した第1LCD103および第2LCD104の上下方向とを一致させて画像を表示する。その結果、複数の画像の天地方向が、全てそろった状態で第1LCD103および第2LCD104に画像が表示される。
(姿勢センサモード:横開き、2枚表示)
図23(a)には、姿勢センサモードで同時表示枚数が2枚に設定されたビューア100が横開きされた場合の画像表示形態を示す。第1LCD103には、RISC110により、横位置姿勢で撮影された画像1の天地方向とビューア100の上下方向とが一致して表示される。この場合、横位置姿勢で撮影された画像1の長手方向が第1LCD103の画面内に収まるように、RISC110は、画像1に対応するVGA画像データを縮小する。したがって、第1LCD103には、横位置姿勢で撮影された画像1と余白とが、RISC110により表示される。第2LCD104には、RISC110により、縦位置姿勢で撮影された画像2の天地方向とビューア100の上下方向とが一致して表示される。この場合、RISC110は、VGAサイズの画像2を第2LCD104に表示する。
(姿勢センサモード:横開き、4枚表示)
図23(b)には、姿勢センサモードで同時表示枚数が4枚に設定されたビューア100が横開きされた場合の画像表示形態を示す。第1LCD103には、RISC110により、横位置姿勢で撮影された画像1および縦位置姿勢で撮影された画像2の天地方向と、ビューア100の上下方向とが一致して表示される。
なお、縦位置撮影姿勢情報として、+90度縦位置撮影姿勢および−90度縦位置撮影姿勢があるが、どちらの場合でも、画面の天地と画像の天地を一致させることに変わりはない。
(姿勢センサモード:縦開き)
姿勢センサ116から入力した姿勢情報が+90度縦位置姿勢または−90度縦位置姿勢の場合、RISC110は、ビューア100が図22(b)または(c)に示すように縦開きされていると判定する。そして、ビューア100が、図22(b)に示すように、+90度縦位置姿勢の場合、RISC110は第1LCD103および第2LCD104のそれぞれの一辺103cおよび104cを上方向として設定する。同様にして、RISC110は、第1LCD103および第2LCD104のそれぞれの一辺103dおよび104dを下方向として設定する。この結果、RISC110はビューア100の横開きに応じて、第1LCD103および第2LCD104の上下方向を設定する。なお、ビューア100が、図22(c)に示すように−90度縦位置姿勢の場合、RISC110は、一辺103dおよび104dを上方向、103cおよび104cを下方向として設定する。
縦開きされたビューア100の上下方向が設定されると、RISC110は、前述したように画像ファイルに書き込まれた撮影姿勢情報に基づいて、表示画像の天地方向を判定する。そして、RISC110は、画像の天地方向と、前述したようにして設定した第1LCD103および第2LCD104の上下方向とを一致させて画像を表示する。
(姿勢センサモード:縦開き、2枚表示)
図23(c)には、姿勢センサモードで同時表示枚数が2枚に設定され、図23(a)に示す横位置姿勢から+90度回転して縦開きされたビューア100、すなわち+90度縦開きされているビューア100の画像表示形態を示す。第1LCD103には、RISC110により、横位置姿勢で撮影された画像1の天地方向とビューア100の上下方向とが一致して表示される。この場合、RISC110は、VGAサイズの画像1を第1LCD103に表示する。第2LCD104には、RISC110により、縦位置姿勢で撮影された画像2の天地方向とビューア100の上下方向とが一致して表示される。この場合、RISC110は、縦位置姿勢で撮影された画像2の長手方向が第2LCD104の画面内に収まるように、画像2に対応するVGA画像データを縮小する。
(姿勢センサモード:縦開き、4枚表示)
図23(d)には、姿勢センサモードで同時表示枚数が4枚に設定され、図23(a)に示す横位置姿勢から+90度回転して縦開きされたビューア100、すなわち+90度縦開きされているビューア100の画像表示形態を示す。第1LCD103には、RISC110により、横位置姿勢で撮影された画像1および縦位置姿勢で撮影された画像2の天地方向と、ビューア100の上下方向とが一致して表示される。
(姿勢センサモード:縦開き姿勢と横開き姿勢との間の姿勢変更)
姿勢センサモードで同時表示枚数が2枚の場合を一例として、姿勢変更時の画面表示形態について説明する。図23(c)に示す+90度縦開き姿勢のビューア100が横開き姿勢に変更されると、RISC110は、図23(a)に示すように画像の表示形態を切り替える。また、ビューア100の姿勢が、図23(a)に示す横開き姿勢から+90度縦開き姿勢に変更されると、RISC110は、図23(c)に示すように画像の表示形態を切り替える。
姿勢センサモードで同時表示枚数が4枚の場合は、図23(d)に示す+90度縦開き姿勢のビューア100が横開き姿勢に変更されると、RISC110は、図23(b)に示すように画像の表示形態を切り替える。また、ビューア100の姿勢が、図23(b)に示す横開き姿勢から+90度縦開き姿勢に変更されると、RISC110は、図23(d)に示すように画像の表示形態を切り替える。すなわち、ビューア100の姿勢に応じて、RISC110は、ビューア100の上下方向と画像の天地方向とが常に一致するように画像を表示する。
−1.2:横開きモード−
横開きモードが設定されると、RISC110は次のようにビューア100の上下方向を設定する。すなわち、図22(a)を参照すると、RISC110は、第1LCD103および第2LCD104のそれぞれの一辺103aおよび104aを上方向として設定する。同様にして、RISC110は、第1LCD103および第2LCD104のそれぞれの一辺103bおよび104bを下方向として設定する。このようにして、RISC110は第1LCD103および第2LCD104の上下方向を設定する。
次に、RISC110は、姿勢センサモードの場合と同様にして、表示画像の天地方向を判定する。RISC110は、SDRAM111内の画像ファイルに書き込まれた撮影姿勢情報を参照して、画像の天地方向を判定する。そして、RISC110は、判定結果に基づいて、画像の天地方向と、前述したようにして設定した第1LCD103および第2LCD104の上下方向とを一致させて画像を表示する。
なお、図22(a)の上下方向を第1軸と呼べば、横開きモードが設定されると、表示画像の天地はこの第1軸の上下方向に一致する。
(横開きモード:2枚表示)
図24(a)には、横開きモードで同時表示枚数が2枚に設定されたビューア100が横開きされた場合の画像表示形態を示す。このときの表示形態は、図23(a)に示す場合と同様に、第1LCD103には、RISC110により、横位置姿勢で撮影された画像1の天地方向と横開きされたビューア100の上下方向とが一致して表示される。横位置姿勢で撮影された画像1が第1LCD103の画面内に収まるように、RISC110は、画像1に対応するVGA画像データを縮小する。第2LCD104には、RISC110により、縦位置姿勢で撮影された画像2の天地方向と横開きされたビューア100の上下方向とが一致して表示される。この場合、RISC110は、VGAサイズの画像2を第2LCD104に表示する。
(横開きモード:4枚表示)
図24(b)には、横開きモードで同時表示枚数が4枚に設定されたビューア100が横開きされた場合の画像表示形態を示す。この場合の表示形態は、図23(b)に示す場合と同様に、第1LCD103には、RISC110により、横位置姿勢で撮影された画像1および縦位置姿勢で撮影された画像2の天地方向と、横開きされたビューア100の上下方向とが一致して表示される。
横開きモードで同時表示枚数が2枚に設定されたビューア100が横開きされた場合の図24(a)に示す状態から、ビューア100の姿勢を+90度縦開きに変更した場合の表示画面を図24(c)に示す。この場合、RISC110は、第1LCD103および第2LCD104に表示される画像の表示形態を変更しない。また、横開きモードで同時表示枚数が4枚に設定されたビューア100が横開きされた場合の図24(b)に示す状態から、ビューア100の姿勢を+90度縦開きに変更した場合を、図24(d)に示す。この場合も、RISC110は、第1LCD103および第2LCD104に表示される画像の表示形態を変更しない。
すなわち、横開きモードでは、ビューア100の姿勢にかかわらず、RISC110は、画像の天地方向とビューア100が横開きされた場合の上下方向とを常に一致させて、画像を第1LCD103および第2LCD104に表示する。
−1.3:縦開きモード−
縦開きモードが設定されると、RISC110は次のようにビューア100の上下方向を設定する。すなわち、図22(b)を参照すると、RISC110は、第1LCD103および第2LCD104のそれぞれの一辺103cおよび104cを上方向として設定する。同様にして、RISC110は第1LCD103および第2LCD104のそれぞれの一辺103dおよび104dを下方向として設定する。この結果、RISC110は第1LCD103および第2LCD104の上下方向を設定する。
(縦開きモード:2枚表示)
RISC110は、横開きモードの場合と同様にして、画像ファイルに書き込まれた撮影姿勢情報に基づいて、画像の天地方向と、上述したようにして設定した第1LCD103および第2LCD104の上下方向とを一致させて画像を表示する。図25(a)には、縦開きモードで同時表示枚数が2枚に設定されたビューア100が縦開きされた場合の画像表示形態を示す。この場合の表示形態は図23(c)と同様に、第1LCD103には、RISC110により、横位置姿勢で撮影された画像1の天地方向と縦開きされたビューア100の上下方向とが一致して表示される。この場合、RISC110は、VGAサイズの画像1を第1LCD103に表示する。第2LCD104には、縦位置姿勢で撮影された画像2が第1LCD103の画面内に収まるように、RISC110は、画像1に対応するVGA画像データを縮小する。
なお、図25(a)の上下方向を第2軸と呼べば、縦開きモードが設定されると、表示画像の天地はこの第2軸の上下方向に一致する。図23を参照して横開き姿勢の上下方向を第1軸としたが、第2軸は第1軸に直交する。
(縦開きモード:4枚表示)
図25(b)には、縦開きモードで同時表示枚数が4枚に設定されたビューア100が縦開きされた場合の画像表示形態を示す。この場合の表示形態は、図23(d)に示す場合と同様に、第1LCD103には、RISC110により、横位置姿勢で撮影された画像1および縦位置姿勢で撮影された画像2の天地方向と、縦開きされたビューア100の上下方向とが一致して表示される。
縦開きモードで同時表示枚数が2枚に設定されたビューア100が縦開きされた場合の図25(a)に示す状態から、ビューア100の姿勢を横開きに変更した場合を、図25(c)に示す。この場合、RISC110は、第1LCD103および第2LCD104に表示される画像の表示形態を変更しない。また、縦開きモードで同時表示枚数が4枚に設定されたビューア100が縦開きされた場合の図25(b)に示す状態から、ビューア100の姿勢を横開きに変更した場合を、図25(d)に示す。この場合についても、RISC110は、第1LCD103および第2LCD104に表示される画像の表示形態を変更しない。
すなわち、縦開きモードでは、ビューア100の姿勢にかかわらず、RISC110は、画像の天地方向とビューア100が縦開きされた場合の上下方向とを常に一致させて、画像を第1LCD103および第2LCD104に表示する。
2:サイズ優先モード
サイズ優先モードにおいては、上述したように、第1LCD103および第2LCD104に表示される複数の画像が同一サイズで表示される。なお、前述した同時表示枚数設定のメニューにおいて、1枚の画像表示が設定された場合は、図26(a)に示すように、常にサイズ優先モードで表示される。
サイズ優先モードにおいて同時表示枚数が2枚に設定されると、RISC110は、図26(b)に示すように、横位置姿勢で撮影された画像1の長手方向を第1LCD103の長手方向の一辺103cおよび103dの方向に一致させて表示する。また、RISC110は、縦位置姿勢で撮影された画像2の長手方向を第2LCD104の長手方向の一辺104cおよび104dの方向に一致させて表示する。すなわち、RISC110は、画像の天地方向およびビューア100の上下方向にかかわらず、第1LCD103および第2LCD104のそれぞれに、VGAサイズの画像を表示する。
サイズ優先モードにおいて同時表示枚数が4枚に設定されると、RISC110は、図26(c)に示すように、横位置姿勢で撮影された画像1の長手方向を第1LCD103の短手方向の一辺103aおよび103bの方向に一致させて表示する。また、RISC110は、縦位置姿勢で撮影された画像2の長手方向を第1LCD103の短手方向の一辺103aおよび103bの方向に一致させて表示する。第2LCD104では、RISC110は、横位置姿勢で撮影された画像3および4の長手方向と第2LCD104の短手方向の一辺104aおよび104bの方向とを一致させて表示する。すなわち、RISC110は、画像の天地方向およびビューア100の上下方向にかかわらず、第1LCD103および第2LCD104のそれぞれに、VGAサイズの画像を縮小した同一サイズの余白のない画像をそれぞれ2枚ずつ、合計4枚表示する。
次に、RISC110により行なわれる先読み処理について説明する。先読み処理では、ユーザの選択操作によりビューア100に表示される可能性の高い複数の画像(予測画像)が、RISC110により事前に予測される。後述するように、HDD114のリサイズ画像ファイル用フォルダF1に記録されているリサイズ画像ファイルの各種データに基づいて先読み処理が実行される。すなわち、RISC110は、リサイズ画像ファイルのメタデータなどに基づいて画像を選択してVGA画像データを作成し、このVGA画像データをSDRAM111に記録するとともに、VGA画像データを含む画像ファイルをHDD114に記録する。HDD114のリサイズ画像ファイルに基づいて、所定の規則に則って画像を先読みして、SDRAM111にVGA画像データを記録する処理を先読み処理と呼ぶ。このような先読み処理により、ユーザが画像表示指定操作を行った際に、画像表示切換を高速化することができる。
なお、予測された画像に対応するVGA画像ファイルが既にHDD114に記録されている場合、RISC110は、HDD114のVGA画像ファイルをSDRAM111に記録する。VGA画像ファイルがHDD114に記録されていない場合、RISC110は、HDD114のリサイズ画像ファイルからVGA画像データを作成して、SDRAM111に記録する。また、RISC110は作成されたVGA画像データに基づいて、VGA画像ファイルを生成し、HDD114に記録する。なお、SDRAM111には、先読みするVGA画像データを最大200枚書き込む領域が確保されている。
この実施形態のビューア100は、先読みモードとして、メタデータ一致優先モードおよびお気に入り画像優先モードを有する。先読みモードは、第1LCD103または第2LCD104に表示されるメニュー画面を参照しながら、ユーザによる操作ボタン106、ジョイスティック107およびタッチパネル122のいずれかの操作により選択される。RISC110は、先読みモードに応じて先読み順序の設定方法(先読み規則)を変える。メタデータ一致優先モードにおいては、RISC110は、読み出した画像ファイルのメタデータと一致するメタデータを有する画像ファイルを先読みする。お気に入り画像優先モードにおいては、RISC110は、図4に示すビューア画像管理テーブルT1の表示優先度に基づいて、表示優先度の高い画像ファイルを優先して読み出す。
以下、メタデータ一致優先モードおよびお気に入り画像優先モードについて説明する。
−メタデータ一致優先モード−
メタデータ一致優先モードにおけるRISC110による先読み処理について説明する。RISC110は、メタデータの一致度に基づいて画像ファイルを先読みする順序を決定する。そして、RISC110は、ビューア100にVGA画像を表示するごとに、メタデータ累積値を更新する。更新されたメタデータ累積値に基づいて、RISC110は先読み規則を変更する。
この実施の形態におけるメタデータは、画像データを特徴付けるようなデータであり、画像ファイルのヘッダに格納されている。たとえば、メタデータとして、被写体カテゴリ情報もしくは撮影地情報を用いる。被写体カテゴリ情報は、たとえば人物、風景、花などのような被写体を識別するパラメータ情報である。撮影地情報は、GPSの情報に基づいた、たとえば1000領域の地域データにより分類された情報である。
メタデータは、リサイズ画像ファイルを作成する際、ユーザによりパソコン上で入力することができる。たとえば、ユーザは、パソコンのディスプレイ上に表示された画像の内容に基づいてメタデータを入力することができる。人物の画像であれば、図11に示すメタデータ設定画面の人物のチェックボックスにチェックを入れる。チェックを入れると、図11に示すようにチェックボックスに「レ」が表示される。チェックボックスはメタデータの種類、すなわち、人物、風景、花の数だけ用意されている。あるいは、画像ファイルのEXIFデータから撮影モード情報を読み出して、撮影モードに基づいてメタデータを作成することができる。たとえば、読み出された撮影モードがポートレートモードであれば人物のメタデータ、クローズアップモードであれば花のメタデータ、風景モードであれば風景のメタデータを作成する。
図12を参照してメタデータの一致度に基づいた先読み順序の決定方法について説明する。ビューア100に最初にVGA画像1が表示され、以後、VGA画像2、VGA画像3の順で表示された場合を図12(a)に示す。VGA画像1〜3を以下では単に画像とする。それぞれの画像に対応する画像ファイルには図12(a)に示すようにメタデータが含まれている。すなわち、画像1ファイルには人物および風景のメタデータが、画像2ファイルには人物、風景および花のメタデータが、画像3ファイルには人物のメタデータがそれぞれ含まれている。
ユーザの表示画像指示操作により、人物および風景のメタデータを有する画像1がビューア100に表示された場合、RISC110は、図12(b)に示すように、人物と風景の累積値をそれぞれ1にする。そして、RISC110は、HDD114内のリサイズ画像ファイル用フォルダF1を検索して、画像1ファイルの撮影日時を基準として、撮影日時の時間軸が近い画像ファイルから遠い画像ファイルに向けて人物のメタデータを含む画像ファイルの画像データを以下の手順で1つ先読みする。すなわち、RISC110は先読みすべき画像データをSDRAM111に記録する。まず、RISC110は先読みすべき画像データがSDRAM111に既に記録されているか否かを判定する。先読みすべき画像データがSDRAM111に記録されていない場合、RISC110は、先読みすべき画像データを含む画像ファイルがHDD114内のVGA画像データ用フォルダF2に存在するか否かを検索して確認する。先読みすべき画像データを含むVGA画像ファイルがあれば、RISC110は、そのVGA画像ファイルの画像データをSDRAM111に記録する。先読みすべき画像データを含むVGA画像ファイルがなければ、RISC110は、リサイズ画像ファイルからVGA画像データを作成し、SDRAM111に記録する。そして、RISC110は、VGA画像データからVGA画像ファイルを作成し、VGA画像データ用フォルダF2に記録する。
このようにして次画像として人物のメタデータを有する画像が1つ先読みされると、次に、RISC110は、同様にして、画像1ファイルの撮影日時を基準として、撮影日時の時間軸が近い画像ファイルから遠い画像ファイルに向けて風景のメタデータを含む画像ファイルを1つ先読みする。RISC110は、このようにして人物→風景→人物→風景の画像先読みを繰り返す。その結果、SDRAM111内に人物→風景→人物→風景の順序で先読みしたVGA画像データが記録される。
次に、画像1の後に、ユーザ操作により画像2、画像3が順次に選択され、ビューア100にVGA画像として表示された場合の先読みについて説明する。
画像2に対応する画像2ファイルは、図12(a)に示すように、人物、風景および花のメタデータを有するので、RISC110は、図12(b)に示すように、メタデータの累積値を人物2、風景2、花1に更新する。RISC110は、メタデータの累積値が更新されたので、先読みの順序を変更して、人物、風景、人物、風景、花の順序で先読みを実行する。
ユーザの表示画像選択操作により、人物のメタデータを有する画像3がビューア100にVGA画像として表示されると、RISC110は、図12(b)に示すように、メタデータの累積値を人物3、風景2、花1に更新する。この場合もRISC110は、メタデータの累積値が更新されたので、先読みの順序を変更して、人物、人物、風景、人物、風景、花の順序で先読みする画像ファイルを選択する。
このように、この実施の形態のビューア100では、表示画像が切換えられるたびにメタデータ累積値が更新され、これに伴って先読み順序が変更される。
メタデータに重み付けがされている場合は、RISC110は、重み付けされた値だけメタデータの累積値を増やす。たとえば、ユーザの指定に基づき、RISC110が人物のメタデータ重み付けを2に設定すると人物のメタデータは2倍となる。よって、画像1が表示された時点で、RISC110は、メタデータの累積値を人物2、風景1とする。
メタデータとしてGPSデータを用いる場合は、RISC110は地域ごとにメタデータの累積値を設定する。RISC110は、この累積値に基づいて上述と同様にして先読みの順序を変更して、先読みを実行する。
たとえば、図12(c)に示すように、画像1ファイルのメタデータが地域1、画像2ファイルのメタデータが地域1、画像3ファイルのメタデータが地域2とする。画像1がビューア100に表示されている場合、RISC110は、地域1のメタデータの累積値を、図12(d)に示すように、1に設定する。そして、RISC110は、画像1ファイルの撮影日時を基準として、撮影日時の時間軸が近い画像ファイルから遠い画像ファイルに向けて地域1のメタデータを含む画像ファイルの画像データを前述した手順と同様の手順で先読みする。
ユーザの画像表示選択操作により、ビューア100のVGA画像1がVGA画像2に切り換わった場合は、RISC110は、図12(d)に示すように、地域1のメタデータの累積値を2に変更する。この場合も、RISC110は、画像1ファイルの撮影日時を基準として、撮影日時の時間軸が近い画像ファイルから遠い画像ファイルに向けて地域1のメタデータを含む画像ファイルの画像データを先読みする。
さらに、ユーザの画像表示選択操作により、ビューア100の表示がVGA画像3に切り換わった場合は、RISC110は、図12(d)に示すように、地域1のメタデータの累積値を2、地域2のメタデータの累積値を1に変更する。この場合、画像ファイル3の画像が表示された時点で、RISC110は、画像1ファイルの撮影日時を基準として、撮影日時の時間軸が近い画像ファイルから遠い画像ファイルに向けて、地域1、地域1、地域2の順序で先読みを実行する。
−お気に入り画像優先モード−
お気に入り画像優先モードにおいては、RISC110は表示優先度に基づいて先読みする画像を選択する。表示優先度は、前述したように、図4に示すビューア画像管理テーブルT1に記録されている。RISC110は表示優先度の高い画像のVGA画像データから順に先読みする。RISC110は、ビューア100に表示中の画像に対応する画像ファイルの撮影日時を基準として、撮影日時の時間軸が近い画像ファイルから遠い画像ファイルに向けて表示優先度の高い順にVGA画像データを先読みする。
以上のようにして、メタデータ一致度優先モードもしくはお気に入り画像優先モードにより、基準画像の撮影日時を基準として過去、未来に向かう時間軸の近い順に画像ファイルの先読み処理が行われる。
以上説明したビューア100では、メタデータもしくは表示優先度に基づいて、時間軸上で近い順にVGA画像データを先読みした。しかしながら、RISC110により決定された画像切替え方向を加味して画像ファイルを先読みすることもできる。
(画像切替え方向を考慮した先読み処理)
RISC110は、ジョイスティック107またはタッチパネル122による画像の切替え操作に基づいて演算される方向履歴kの値も参照して、メタデータや表示優先度を用いて画像の先読みを行う。たとえば、ユーザが、過去の撮影日時の画像を好んで選択している場合は、過去の時間軸に沿って並ぶ画像ファイルをあらかじめ決定された先読み規則により先読みする。あるいは、ユーザが、未来の撮影日時の画像を好んで選択している場合は、未来の時間軸に沿って並ぶ画像ファイルをあらかじめ決定された先読み規則により先読みする。このような先読み処理を画像切替え方向を考慮した先読み処理と呼ぶ。
方向履歴kは、画像切替え方向を決定するための変数である。ここで、ビューア100に読み込まれた画像に対して、撮影日時によりソートした場合、ビューア画像管理テーブルのソート順序の番号は、画像を撮影日順に並べた番号となる。このように時間軸上に画像をソートしている場合、画像切替え方向は、次に表示する画像(次画像)をユーザが選択する際の操作履歴に基づいて、ビューア100が先読みする際の時間軸の方向である。すなわち、画像切替え方向は、表示画像選択操作により表示中の画像の撮影日時を基準とした未来方向と過去方向の2つの方向である。なお、以下の説明において、表示画像選択操作により表示中の画像を基準画像と呼び、そのファイルを基準画像ファイルと呼ぶ。
ビューア100に表示中の画像の撮影日時よりも前の撮影日時を過去、基準撮影日よりも後の撮影日時を未来として、方向履歴kについて説明する。
ユーザが次に表示する画像(次画像)として過去の画像ファイルを指定した場合、RISC110は、kの値から1を減ずる。次画像として未来の画像ファイルがユーザにより指定された場合、RISC110は、kの値に1を加える。ユーザによる次画像の指定は、ジョイスティック107またはタッチパネル122により行なわれる。たとえば、k=0の場合は、次画像として選択された過去の画像ファイルと次画像として選択された未来の画像ファイルが同数の場合を示す。k=3の場合は、たとえば3回続けて次画像として未来の画像ファイルが選択されたことを示す。k=−3の場合は、たとえば3回続けて次画像として過去の画像ファイルが選択されたことを示す。
なお、画像切替え方向を考慮しない先読みの規則を第1決定規則と呼び、画像切替え方向を考慮した先読みの規則を第2決定規則と呼ぶ。換言すると、方向履歴k=0の場合は第1決定規則、k≠0の場合は第2決定規則と呼ぶ。
以下、画像切替え方向を考慮しない先読み処理と、画像切替え方向を考慮した先読み処理について説明する。
(メタデータ一致モードにより画像切替え方向を考慮しない先読み処理:)
方向履歴k=0の場合は、画像切替え方向を考慮した先読みを行なわない。この場合、基準画像ファイルに近い順に先読み順序、すなわちメタデータや表示優先度に従って先読みするVGA画像データに対応する画像ファイルを選択する。基準画像ファイルから時間的に等距離に先読みの対象となる画像ファイルが存在する場合、RISC110は、ソート順序が高い画像ファイルを先読みすべきVGA画像データに対応する画像ファイルとして選択する。ソート順序は、前述したように、ビューア画像管理テーブルT1に記録されている。
なお、ビューア100の電源投入直後においては、RISC110は、ソート順序が最も高い画像ファイルを基準画像ファイルとする。たとえば、撮影日時順にソートされている場合、最後に撮影された画像、すなわち最新の撮影日時を有する画像ファイルを基準画像ファイルとする。
先読みすべきVGA画像データに対応する画像ファイルを選択することを、単に先読み画像の選択と呼ぶことにする。図13(a)は、メタデータ一致モードで画像切替え方向を考慮しない先読み画像の選択順序を説明する図である。図13(a)においては、ソート順序No.5の画像ファイルに対応する画像がビューア100にVGA画像として表示されているものとする。すなわち、ソート順序No.5の画像ファイルが基準画像ファイルとなる。ソート順序No.5の画像ファイルは、人物および風景のメタデータを有しており、人物→風景→人物→風景の順で画像を先読みする。また、図13(a)においては、たとえば画像の撮影日時順に、ソート順序No.1〜ソート順序No.9までの画像ファイルが並んでいるものとする。
RISC110は、ソート順序No.5の画像ファイル、すなわち基準画像ファイルに近い順に人物のメタデータを有する画像ファイルを検索する。人物のメタデータを有する画像ファイルのうち、ソート順序No.6の画像ファイルが基準画像ファイルに最も近い位置にある。したがって、RISC110はソート順序No.6の画像ファイルを選択する。続いて、RISC110は、風景のメタデータを有する画像ファイルを検索する。風景のメタデータを有する画像ファイルのうち、ソート順序No.3の画像ファイルが基準画像ファイルに最も近い位置にある。したがって、RISC110はソート順序No.3の画像ファイルを選択する。
RISC110は、再び基準画像ファイルに近い順に人物のメタデータを有する画像ファイルを検索する。ソート順序No.6の画像ファイルは既に選択されているので、RISC110は、基準画像ファイルから時間的に等距離にあるソート順序No.2またはソート順序No.8のいずれかの画像ファイルを選択する。この場合、RISC110はソート順序を参照して選択する画像ファイルを決定する。ソート順序No.2の画像ファイルのソート順序はソート順序No.8の画像ファイルのソート順序より高いので、RISC110はソート順序No.2の画像ファイルを選択する。
以後同様にして、RISC110は、風景のメタデータを有する画像ファイルの選択と人物のメタデータを有する画像ファイルの選択を交互に行なう。すなわち、RISC110は、人物→風景→人物→風景の順でメタデータを検索して、ソート順序No.9、ソート順序No.8、ソート順序No.1の順に先読みする画像を選択する。ソート順序No.4およびNo.7の画像ファイルについては、人物もしくは風景のメタデータを有していないので、先読みする画像として選択されない。
(お気に入り画像優先モードにより画像切替え方向を考慮しない先読み処理:)
図14(a)および(b)は、お気に入り画像優先モードで画像切替えを行なわない場合の先読み画像の選択順序を示す。
まず、電源投入直後のVGA画像データの先読みについて、図14(a)を参照して説明する。図14(a)においても、図13(a)と同様に、画像ファイルが撮影日時順に並んでいるものとする。すなわち、ソート順序No.1の撮影日時がもっとも新しい。図14(a)に示すように、ソート順序No.4の画像ファイルの表示優先度が最も高いので、RISC110はソート順序No.4の画像ファイルの先読み順序を一番とする。すなわち、ソート順序No.4の画像ファイルが基準画像ファイルとなる。以後、RISC110は、表示優先度の高い順に従って、先読みする画像を選択する。また、画像ファイルの表示優先度が同一である場合は、RISC110はソート順序に基づいて先読みする画像を選択する。たとえば、図14(a)では、ソート順序No.1、No.2、No.5、No.7およびNo.9の画像ファイルの表示優先度が1である。この場合、RISC110は、ソート順序に基づいて、ソート順序No.1、No.2、No.5、No.7、No.9の順序で先読みする画像を選択する。
次に、ユーザがソート順序No.6の画像を選択してVGA画像として表示した後、お気に入り画像優先モードで画像切替えを行なわない場合の先読みについて説明する。図14(b)では、ソート順序No.6の画像ファイルに対応する画像がビューア100に表示され、ソート順序No.6の画像ファイルが基準画像ファイルである。図14(b)においても、画像ファイルが撮影日時順に並んでいるものとする。
RISC110は、まず、表示優先度の高い順序で先読み画像ファイルを選択する。すなわち、表示優先度の高い順序に従って、ソート順序No.4、No.8、No.3の順序で先読み画像を選択する。表示優先度が同一である残りの画像ファイルについては、RISC110は、基準画像ファイルに近い順に先読み画像を選択する。また、基準画像ファイルから時間的に等距離にあるソート順序No.5およびNo.7の画像ファイルについて、RISC110は、ソート順序に応じて先読み画像を選択する。以後、RISC110により、基準画像ファイルから近い順に、ソート順序No.9、No.2、No.1の順序で画像が選択される。
次に、画像切替え方向を考慮した画像の先読みについて説明する。
画像切替え方向は方向履歴kに応じて決定される。方向履歴k=0の場合、画像切替え方向を考慮した先読みを行わない。上述したとおり、画像切替え方向は、ビューア100が画像を先読みする際の時間軸の方向である。したがって、画像切替え方向は、基準となる画像の撮影日時から過去に向かう方向と、基準撮影日時から未来に向かう方向である。
まず、RISC110は、画像切替え方向に存在する画像ファイルの中から、先読み順序、すなわちメタデータや表示優先度に基づいて先読み画像を選択する。たとえば、画像切替え方向が基準撮影日時から過去の方向であれば、RISC110は、基準撮影日時から過去に向かう時間軸上の画像ファイルの中から、基準画像ファイルに近い順に、メタデータや表示優先度に基づいて先読み画像を選択する。画像切替え方向に並ぶ画像の全てに対する先読み処理が終了すると、RISC110は、画像切替え方向と逆方向の時間軸方向に並ぶ画像ファイルについても画像の先読みを行う。すなわち、基準撮影日時から過去に向かう時間軸上に並ぶ画像に対する画像の先読みが終了すると、RISC110は、基準撮影日時から未来に向かう時間軸上に並ぶ画像ファイルの中から、基準画像ファイルに近い順にメタデータや表示優先度に基づいて画像の先読みを行う。
(メタデータ一致モードにより画像切替え方向を考慮した先読み処理:)
図13(b)は、メタデータ一致モードにおける画像切替え方向を考慮した画像の先読みを説明する図である。図13(b)においては、ソート順序No.5のVGA画像がビューア100に表示されているものとする。すなわちソート順序No.5の画像ファイルが基準画像ファイルとなる。ソート順序No.5の画像ファイルは、人物および風景のメタデータを有する。また、図13(b)においては、たとえば画像ファイルの撮影日時が新しい順に、ソート順序No.1〜ソート順序No.9の画像ファイルが並んでいるものとする。ジョイスティック107またはタッチパネル122の操作履歴は次のとおりとする。すなわち、ユーザは画像を右方向、すなわち過去方向に切替え、方向履歴kの値がk=−3(過去の画像を3回表示)とする。
RISC110は、ソート順序No.5の基準画像ファイルから右方向、すなわち基準撮影日時から過去に向かう時間軸上に並ぶソート順序No.6〜No.9の画像ファイルに対して先読み処理を行う。この例では、ソート順序No.5の画像ファイルに近い順に人物のメタデータを有する画像ファイルを検索する。人物のメタデータを有する画像ファイルのうち、ソート順序No.6の画像ファイルが基準画像ファイルに最も近い位置にある。したがって、RISC110はソート順序No.6の画像を選択する。続いて、RISC110は、風景のメタデータを有する画像ファイルをソート順序No.7〜No.9の画像ファイルの中から検索する。ソート順序No.9の画像ファイルが風景のメタデータを有するので、RISC110はソート順序No.9の画像を選択する。さらに、RISC110は、ソート順序No.7〜No.8の画像ファイルの中から人物のメタデータを有する画像ファイルを検索する。ソート順序No.8の画像ファイルが人物のメタデータを有するので、RISC110はソート順序No.8の画像を選択する。
ソート順序No.8の画像を選択すると、以後、基準画像ファイルから右方向、すなわち、基準撮影日時から過去に向かう第1方向の時間軸上には、人物もしくは風景のメタデータを有する画像ファイルが存在しない。したがって、RISC110は、基準画像ファイルから左方向、すなわち、基準撮影日時から未来に向かう第2方向の時間軸上に並ぶ画像ファイルの中から先読みする画像を選択する。RISC110は、基準画像ファイルにもっとも近い風景のメタデータを有するソート順序No.3の画像を選択する。次に、RISC110は、人物のメタデータを有するソート順序No.2の画像を選択する。最後に、RISC110は、風景のメタデータを有するソート順序No.1の画像を選択する。
(お気に入り画像優先モードにより画像切替え方向を考慮した先読み処理:)
図14(c)は、お気に入り画像優先モードにおける画像切替え方向を考慮した画像の先読みを説明する図である。図14(c)においても、画像ファイルは撮影日時順に並んでいて、ソート順序No.1の画像ファイルが最新の撮影日時を有する。また図14(c)においては、ソート順序No.4のVGA画像がビューア100に表示されているものとする。すなわち、ソート順序No.4の画像ファイルが基準画像ファイルとなる。図14(c)においても、ユーザは画像を右方向、すなわち過去方向に切替え、方向履歴kの値がk=−3(過去の画像を3回表示)として説明する。
RISC110は、ソート順序No.4の基準画像ファイルから右方向、すなわち基準撮影日時から過去に向かう時間軸上に並ぶソート順序No.5〜No.9の画像に対して先読み処理を行う。この例では、ソート順序No.8、No.6の順序で画像を選択する。ソート順序No.5、No.7およびNo.9の画像ファイルの表示優先度は同一である。RISC110は、基準画像ファイルに近い順に先読み画像を選択する。したがって、RISC110はソート順序No.5、No.7、No.9の順に画像を選択する。このように、過去方向への画像切替えの場合、基準画像ファイルNo.4よりも未来の撮影日時を有するソート順序No.1〜No.3の画像は選択されない。
なお、上述の例では、ソート順序が撮影日時順と設定されている場合について説明したが、ソート順序がファイル名順に設定されている場合も同様な処理を行なうことができる。ソート順序が撮影日時順の場合に、時間軸に沿って未来側の向きと過去側の向きを定義した。その代わりに、ソート順序がファイル名順の場合は、辞書のルールに沿ったアルファベット順の後ろ側の向き(Z側の向き)と前側の向き(A側の向き)を定義すればよい。
SDRAM111には、前述したように先読みするVGA画像データを最大200枚書き込む領域が確保されている。SDRAM111に書き込まれたVGA画像データは、総数カウンタm、読み出しカウンタnを用いて、RISC110により管理される。総計カウンタmは、SDRAM111に書き込まれたVGA画像データの総数を示す。総計カウンタmが200に達すると、それ以上先読み用のVGA画像データをSDRAM111に書き込むことができなくなる。したがって、総計カウンタmが200に達すると、その後の先読み処理により新たにVGA画像データをRISC110に記録する場合、先読み順序の最も低いVGA画像データをSDRAM111から削除する。
読み出しカウンタnは、先読み処理において、事前に決定された先読み順の何番目までのVGA画像データがSDRAM111に書き込まれたかを示す数値である。読み出しカウンタnは、VGA画像データがSDRAM111に記録されるとカウントアップされる。ユーザの表示画像選択操作により画像がビューア100に表示される度に、RISC110は、今までの先読み順序を破棄し、新たに先読み順序を再設定する。そのため、たとえば、既に5枚の先読み用のVGA画像データが記録され、総計カウンタm=5、読み出しカウンタn=5の場合であっても、サムネイル画像から1枚の画像を選択して画像を表示するたびに、すなわち、ユーザが表示画像選択指示を行うたびに、RISC110は、読み出しカウンタn=0に設定する。
サムネイル画像からの画像選択に代えて、操作ボタン106などの操作により、サムネイル画像を順送りしたり、逆送りして画像として表示する場合にも、RISC110は、今までの先読み順序を破棄し、新たに先読み順序を再設定する。
先読みするVGA画像データ数の最大値をNmaxで表すと、HDD114に記録されているリサイズ画像ファイルが200個以上の場合、RISC110は、Nmax=200に設定する。HDD114に記録されているリサイズ画像ファイルが200個未満であれば、RISC110は、Nmax=リサイズ画像ファイル数に設定する。
図15〜図16に示すフローチャートを用いて、上述したRISC110による画像の先読み処理について説明する。図15〜図16の各処理を行なうプログラムはRISC110内のメモリ(不図示)に格納されている。このプログラムは、バッテリ105によりオン信号が入力されると起動され、RISC110で実行される。図15〜図16の各ステップは、RISC110の指令に基づいて実行される処理である。
ステップS1において、ビューア100内の各部の初期化処理を行いステップS2へ進む。ステップS2においては、HDD114からビューア画像管理テーブルT1を読み出してステップS3へ進む。ステップS3では、第2LCD104にメニュー画面を表示してステップS4へ進む。ステップS4においては、読み出しカウンタをn=0、総計カウンタをm=0、方向履歴をk=0に設定してステップS5へ進む。
ステップS5においては、先読みするVGA画像ファイル(先読み画像ファイルと呼ぶ)の最大値Nmaxを設定してステップS6へ進む。ただし、Nmax≦200である。ステップS6において、HDD114のリサイズ画像ファイルに添付されているメタデータ(特徴データ)を用いて相関演算を行い、先読み順序と先読みする画像を決定してステップS8へ進む。この相関演算では、上述したように、メタデータ累積値から画像選択規則を決定し、画像選択規則に則って先読み順序を決定する。すなわち、上述したように、順次に表示された画像の画像ファイルにそれぞれ添付されているメタデータを累積して画像選択規則を決定する。その上で、決定されたルールにしたがって先読み対象画像(HDD114のリサイズ画像ファイル)に添付されているメタデータを参照して先読み順序を決定する。そして、先読み順序が1〜Nmaxの画像ファイルを先読み画像ファイルとして設定する。
ここで、相関演算とは次の処理1〜処理2を含む演算である。
(1)処理1:最初に表示されるべき画像の特徴データと、HDD114に記録されている複数の画像の特徴データとの間の相関性の高さを判定する。
(2)処理2:前述したように相関性が高い順に先読みする画像の順序を決定する。
ステップS8においては、ステップS6で設定された先読み画像ファイルの中から、リサイズ画像ファイルを1つ選択してステップS9へ進む。ステップS9においては、ステップS8で選択されたリサイズ画像ファイルに対応するVGA画像データが、まだSDRAM111に書き込まれていないのか否かを判定する。選択されたリサイズ画像ファイルに対応するVGA画像データが、まだSDRAM111に書き込まれていなければ、ステップS10へ進み、既に書き込まれていればステップS11へ進む。ステップS11では、読み出しカウンタnに1を加えてn+1としてからステップS8へ戻る。
ステップS10では、ステップS8で選択したリサイズ画像ファイルに対応するVGA画像ファイルがHDD114内に保存されているか否かを判定する。VGA画像ファイルがHDD114内に保存されている場合、ステップS12へ進む。ステップS12では、HDD114のVGA画像ファイルのVGA画像データをSDRAM111に読み出してステップS17へ進む。VGA画像ファイルがHDD114内に保存されていない場合、ステップS13へ進む。
ステップS13においては、ステップS8で選択されたリサイズ画像ファイルの画像データをSDRAM111に展開してステップS14へ進む。ステップS14においては、ステップS13において展開されたリサイズ画像ファイルの画像データからVGA画像データを生成して、SDRAM111に書き込んでステップS15へ進む。ステップS15においては、ステップS14にて生成したVGA画像データを輝度色差形式のファイルとしてHDD114内のVGA画像データ用フォルダF2に保存してステップS16へ進む。
ステップS16においては、HDD114内のビューア画像管理テーブルT1のVGA画像ファイル名およびVGA画像ファイル有無の欄を更新して、図16に示すステップS17へ進む。ステップS17においては、読み出しカウンタnに1を加えてn+1とし、総計カウンタmに1を加えてm+1としてステップS18へ進む。ステップS18においては、総計カウンタmの数が200未満であるか否かを判定する。総計カウンタmが200未満の場合、ステップS20へ進む。総計カウンタmが200以上の場合は、ステップS19へ進む。ステップS19においては、先読み順序が最も低いVGA画像データをSDRAM111から削除してステップS20へ進む。
ステップS20では、先読み指定画像の中でSDRAM111に読み出されていない画像があるか否か、すなわちSDRAM111に読み出された画像の数がNmax未満であるか否かを判定する。SDRAM111に読み出された画像の数がNmax(n=Nmax)になると、ステップS20が否定されて先読み処理を終了する。SDRAM111に読み出された画像の数がNmax未満の場合、すなわちn≠Nmaxの場合、ステップS20が肯定判定されてステップS21へ進む。
ステップS21においては、ユーザによりビューア100が操作されたか否かを判定する。すなわち、ジョイスティック107、操作ボタン106およびタッチパネル122のいずれか1つから操作信号を入力した場合、ステップS22へ進む。操作信号を入力していない場合は、ステップS8へ戻り、先読み処理を続行する。
ステップS22においては、ステップS21で入力した操作信号が第1LCD103もしくは第2LCD104にVGA画像を表示する画像表示指示であるか否かを判定する。あるいは、ジョイスティック107やタッチパネル122の操作による画像切替え操作であるか否かを判定する。入力した操作信号が画像表示指示を表す信号と判定されると、ステップS23へ進む。ステップS23においては、方向履歴kの値およびメタデータの累積値を更新する。ステップS22で表示を指示された画像に対応する画像ファイルの撮影日時が、基準画像ファイルの撮影日時に対して過去であれば方向履歴kの値から1を減じ、未来であれば方向履歴kの値に1を加える。さらに、ステップS22で表示を指示された画像の画像ファイルに含まれるメタデータに基づいて、メタデータの累積値を更新してステップS24へ進む。
ステップ22において入力した操作信号が画像表示指示を表す信号ではないと判定された場合、ステップS22が否定判定されてステップS25へ進む。ステップS25では、ステップS22で入力した操作信号に応じた処理を行いステップS8へ戻る。
ステップS24においては、方向履歴kの値が0か否かを判定する。k=0の場合はステップS28に進み、k≠0の場合はステップS26に進む。ステップS28においては、読み出しカウンタnを0に設定してステップS29へ進む。ステップS29では、ステップS22で選択された画像に対応する画像ファイルを基準画像ファイルとし、画像切替え方向を考慮しない第1決定規則に基づいて先読み順序を決定し、先読み順序に従って先読みする画像ファイルを決定してステップS8へ戻る。
ステップS26においては、読み出しカウンタnを0に設定してステップS27へ進む。ステップS27では、画像切替え方向を考慮した第2決定規則に基づいて先読みを行い、先読みする画像ファイルを決定してステップS8へ戻る。
(表示画像データのキャッシュ)
次に、第1LCD103および第2LCD104に画像を表示する際に使用される記憶領域について説明する。
図28(a)は、SDRAM111の領域を説明する図である。SDRAM111には、先読み領域R1、第1LCD用データ領域R2および第2LCD用データ領域R3が設けられている。先読み領域R1は、前述した先読み処理により、HDD114からRISC110により読み出されたVGA画像データを記録する領域である。第1LCD用データ領域R2は、第1LCD103に画像を表示するためのキャッシュであり、図28(a)に示すように、表示画像用キャッシュHK1と表示済画像用キャッシュK1とを有する。第2LCD用データ領域R3は、第2LCD104に画像を表示するためのキャッシュであり、図28(a)に示すように、表示画像用キャッシュHK2と表示済画像用キャッシュK2とを有する。
第1LCD103に対応する表示画像用キャッシュHK1には、現在表示中の画像に対応する表示用画像データが格納される。表示済画像用キャッシュK1には、過去に第1LCD103に表示された表示済画像データが格納される。表示済画像用キャッシュK1は、図28(b)に示すように、たとえば10画面分の表示済画像データを格納する格納領域K1a〜K1jを有する。
第2LCD104に対応する表示画像用キャッシュHK2には、現在表示中の画像に対応する表示用画像データが格納される。表示済画像用キャッシュK2には、過去に第2LCD104に表示された表示済画像データが格納される。表示済画像用キャッシュK1は、図28(b)に示すように、たとえば10画面分の表示済画像データを格納する格納領域K2a〜K2jを有する。
第1および第2LCD103および104に1枚のVGAサイズの画像をそれぞれ表示する2枚同時表示がユーザに選択された場合、表示画像用キャッシュHK1およびHK2の格納領域には、1枚の画像のVGA画像データがそれぞれ格納される。
第1および第2LCD103および104にそれぞれ2枚の画像を表示する4枚同時表示がユーザに選択された場合、表示画像用キャッシュHK1およびHK2の格納領域のそれぞれには、VGAサイズの画像データを縮小した2枚の縮小画像データで一画面表示するための表示用画像データがそれぞれ格納される。
第1および第2LCD103および104に1枚の画像を拡大して表示する1枚同時表示がユーザに選択された場合、第1および第2LCD103および104には、全体として1枚の画像が表示される。この場合、表示画像用キャッシュHK1およびHK2のそれぞれの格納領域には、リサイズ画像データを縮小した精細拡大画像の半分の画像、あるいはVGA画像データを補間して拡大した粗い拡大画像の半分の画像が格納される。
RISC110は、表示画像用キャッシュHK1およびHK2の格納領域に格納した画像データに基づいて第1LCD103および第2LCD104に画像を表示する。このように、表示画像用キャッシュHK1およびHK2には、LCD1画面分の表示用画像データが格納される。したがって、表示画像用キャッシュHK1およびHK2に格納される画像データは、VGAサイズの1枚の画像データだけではなく、2枚分の縮小画像データで構成される画像データであったり、精細拡大画像の半分の画像データであったりする。
過去に10画面分の画像が表示された場合について、第1LCD103の表示画像用キャッシュHK1および表示済画像用キャッシュK1の格納領域K1a〜K1jに格納される画像データについて説明する。
表示済画像用キャッシュK1の格納領域K1a〜K1jには、第1LCD103に表示された順序に基づいて表示済画像データが順に格納される。すなわち、RISC110は、ユーザにより次の画像が選択されると、第1LCD103に表示すべき最新の表示用画像データを表示画像用キャッシュHK1と表示済画像格納領域K1aに記録する。このとき、先に格納領域K1aに格納されていた表示済画像データを格納領域K1bにシフトする。したがって、10画面分の画像が第1LCD103に順次に表示されたときは、表示済画像格納領域K1a〜K1jには最新の1画面分の画像データから10画面前の画像データまでが順番に並んで格納されていることになる。
第2LCD104の表示画像用キャッシュHK2および表示済画像用キャッシュK2の格納領域K2a〜K2jに格納される画像データについて同様である。
このようなキャッシュ構造を有するビューア100で画像を表示する際の表示用画像データの格納処理は次のとおりである。
表示される画像が指定されると、RISC110は、指定された画像に対応する画像データがSDRAM111内の表示済画像用キャッシュK1およびK2に格納されているか否かを判定する。次コマの画像データが表示済画像用キャッシュK1およびK2に格納されている場合は、RISC110は表示済画像用キャッシュK1およびK2から画像データを読み出して、表示画像用キャッシュHK1およびHK2に格納して第1LCD103および第2LCD104に画像を表示する。
次コマの画像データが表示済画像用キャッシュK1およびK2に格納されていない場合、RISC110は次のように画像を表示する。前述した先読み処理により先読みされてSDRAM111に格納されているVGA画像データあるいはHDD114に記録されているVGA画像データを用いて表示用画像データを作成し、表示画像用キャッシュHK1およびHK2に格納して第1LCD103および第2LCD104に画像を表示する。
第1および第2LCD103および104に対応する表示済画像用キャッシュK1およびK2の格納領域K1a〜K1jおよびK2a〜K2jに格納される表示用画像データは、RISC110により、図28(c)に示すキャッシュ用テーブルTKを用いて管理される。キャッシュ用テーブルTKには、それぞれの格納領域K1a〜K1jおよびK2a〜K2jに格納されている表示用画像データのVGA画像データファイル名、画像を表示したときのサイズ、および表示形態(縦位置表示、横位置表示)が、RISC110により記録される。
図28(c)に示すキャッシュ用テーブルTKをさらに詳細に説明する。格納領域K1aには、たとえばVGA画像データファイル名「DSC_0102_2006_01_01_1930.ycc」の表示用画像データが格納されている。図面の都合上、ファイル名は、「DSC 0102」で表している。格納領域K1aに格納されたファイル名「DSC 0102」の表示用画像データは、第1LCD103に表示された画像の中で最新の画像に対応する画像データである。キャッシュ用テーブルTKにはサイズ欄と表示形態欄が設けられている。サイズ欄には、640画素×480画素がサイズデータとして記録され、表示形態欄には、縦位置撮影で得られた画像を縦位置表示したことが記録されている。
図28(c)の格納領域K1cおよびK2cに記録されている情報について説明する。同時表示枚数が1枚に設定されると、第1LCD103および第2LCD104には全体として拡大された1枚の画像が表示される。第1LCD103に対応する格納領域K1cのファイル名の欄には、「DSC_0101_2006_01_01_1930.ycc」または「DSC_0101_2006_01_01_1930.rsz」に基づいて生成された拡大画像データのファイル名「DSC_0101_2006_01_01_1930.ycc」、および「DSC_0101_2006_01_01_1930.rsz」が記録されている。図28(c)では、説明の都合上、「DSC_0101」としている。
第2LCD104に対応する格納領域K2cのファイル名の欄には、「DSC_0101_2006_01_01_1930.ycc」または「DSC_0101_2006_01_01_1930.rsz」に基づいて生成された拡大画像データのファイル名「DSC_0101_2006_01_01_1930.ycc」、および「DSC_0101_2006_01_01_1930.rsz」が記録されている。図28(c)では、説明の都合上、「DSC_0101」としている。
格納領域K2cの表示サイズ欄には960×640R、格納領域K1cの表示サイズ欄には960×640Lのように、画面の左右を識別可能に表示画像のデータサイズが記録される。
RISC110は、キャッシュ用テーブルTKに記録されている管理情報に基づいて、以下で説明する各種表示処理を行って画像を表示する。
RISC110は、ユーザの表示画像選択操作により次に表示すべき画像を認識して特定する。RISC110は、特定された次画像に関する情報に基づいてキャッシュ用テーブルTKを検索し、次画像データの有無を判定する。すなわち、第1LCD103に対応する表示済画像用キャッシュK1および第2LCD104に対応する表示済画像用キャッシュK2を検索する。検索の結果、次画像データと一致するデータが表示済画像用キャッシュK1およびK2に格納されている場合、RISC110は、それらの表示済画像データを表示済画像用キャッシュK1およびK2から読み出し、表示画像用キャッシュHK1および表示画像用キャッシュHK2に記録して、第1LCD103および第2LCD104に次画像を表示する。
ユーザの表示画像選択操作に応答してRISC110によって特定された表示用画像データが、表示済画像用キャッシュK1および表示済画像用キャッシュK2に無い場合、RISC110は次のようにして表示用画像データを作成する。2枚同時表示または4枚同時表示が設定されている場合、SDRAM111に格納されているVGA画像データに基づいて表示用画像データを作成する。1枚同時表示が設定されている場合、SDRAM111に格納されているVGA画像データあるいはリサイズ画像データに基づいて表示用画像データを作成する。
なお、表示すべき次画像に対応するVGAサイズの画像データがSDRAM111に格納されていない場合、すなわち、先読みされていない場合、HDD114のリサイズ画像データに基づいて表示用画像データを作成する。
(表示処理の手順)
図29〜図31は、上述したRISC110による画像表示処理を示すフローチャートである。図29〜図31の各処理を行なうプログラムはRISC110内のメモリ(不図示)に格納されている。このプログラムは、ユーザによる表示画像選択操作に応答してRISC110で実行される。したがって、図29〜図31の各ステップはRISC110の指令に基づいて実行される。
本フローチャートの処理は、ユーザにより特定の画像を表示する指示があるとスタートする。特定の画像を表示する指示とは、たとえば、次のような場合がある。
(1)図10のサムネイル画像表示から特定の画像を選択して表示する場合
(2)表示枚数を変えて画像を表示する場合(たとえば、図20に示すように2枚表示から4枚表示に変更する場合)
(3)画像のサイズを変えずに表示する画像を切換える場合(たとえば図21)
ステップS101では、ユーザによる指示が、サムネイル画像表示から特定の画像を選択して表示する指示であったか否かを判定する。ステップS101が肯定判定されると、ステップS102へ進む。ステップS102においては、新たに画像表示テーブルを作成してステップS103へ進む。
画像が切替え表示された場合や同時表示枚数の変更指示により表示画像が指定された場合は、ステップS101が否定判定されてステップS103へ進む。ステップS103においては、現在の画像表示テーブルを旧画像表示テーブルに変更してステップS104へ進む。
画像表示テーブルとは、ビューア画像管理テーブルT1の画像の表示回数をカウントする際に参照するテーブルである。画像表示テーブルを使用する目的は、複数枚の画像が表示されている状態で画像表示を切換えた場合に、既に表示されている画像をダブルカウントしないことである。たとえば、図23(a)に示すように画像1と画像2の2枚の画像が表示されている状態から、図23(b)に示すように画像1〜画像4の4枚の画像が表示される状態に切換えられたとする。この場合、新たに表示された画像は画像3と画像4の2枚であり、画像1と画像2は既に表示済の画像である。よってこの場合は、表示回数をカウントアップすべき画像は画像3と画像4のみである。そして、画像1と画像2については表示回数をカウントアップすべきでない。
旧画像表示テーブルとは、前回表示された画像のリストを示すテーブルである。上述の例では、旧画像表示テーブルに画像1と画像2とがリストアップされる。旧画像表示テーブルにリストアップされている画像は表示回数がカウントアップされない。すなわち、画像1と画像2とは表示回数がカウントアップされないので、すでに表示されている画像がダブルカウントされることがない。サムネイル画像表示から特定の画像を選択して表示する場合は、ダブルカウントされる画像が存在しないので、旧画像表示テーブルを参照する必要がない。
新規の画像表示テーブルは、ユーザによる次回の特定画像の表示指示があった場合に旧画像表示テーブルとして使用されるために作成される。新規の画像表示テーブルは、ユーザにより特定の画像を表示する指示があった後に表示される画像がリストアップされる。上述の例では、新規の画像表示テーブルに画像1〜画像4がリストアップされる。
この画像表示テーブルは、ユーザにより特定の画像を表示する指示があった後のステップS103に旧画像表示テーブルに変更される。
ステップS104においては、第1LCD103および第2LCD104に表示中の画像を消去してステップS105へ進む。ステップS105においては、ユーザにより設定された同時表示枚数を認識してステップS106へ進む。ステップS106においては、ステップS105で認識した同時表示枚数に基づいて、第1LCD103に表示する画像と第2LCD104に表示する画像とを認識してステップS107へ進む。この画像認識処理により、ユーザの種々の表示画像選択操作により第1LCD103および第2LCD104に表示すべき画像をRISC110が特定し、以降の表示処理を実行する。
ステップS107においては、ステップS106において特定された画像(以下、表示指示画像と呼ぶ)に一致する画像データがSDRAM111の表示済画像用キャッシュK1またはK2に存在するか否かを判定する。表示済画像用キャッシュK1またはK2内に表示指示画像と一致するデータが存在する場合は、ステップS107が肯定判定されてステップS108へ進む。ステップS108においては、表示指示画像と一致する画像データをSDRAM111の表示画像用キャッシュHK1およびHK2にコピーしてステップS113へ進む。
SDRAM111の表示済画像用キャッシュK1またはK2内に、表示指示画像に一致する画像データが存在しない場合は、ステップS107が否定判定されてステップS109へ進む。ステップS109においては、表示指示画像に対応するVGA画像データ(以下、対応VGA画像データ)がSDRAM111に先読みされているか否かを判定する。対応VGA画像データが先読みされている場合、ステップS109が肯定判定されてステップS110へ進む。ステップS110において、ユーザにより設定された同時表示枚数が1枚であるか否かを判定する。同時表示枚数が1枚ではない場合、ステップS110が肯定判定されてステップS111へ進む。
ステップS111においては、表示指定画像に対するサイズ変更および縦横変換がいずれも不要であるか否かを判定する。サイズ変更および縦横変更が不要の場合、ステップS111が肯定判定されてステップS112へ進む。サイズ変更および縦横変換の少なくとも一方が必要な場合は、ステップS111が否定判定されてステップS131へ進む。ステップS131においては、対応VGA画像データに対してサイズ変換もしくは縦横変換のいずれかの処理を行いステップS112へ進む。
ステップS112においては、表示指定画像の画像データに画像処理が必要か否かを判定する。画像処理が不要の場合、ステップS112が肯定判定されてステップS113へ進む。表示指定画像の画像データに画像処理が必要な場合は、ステップS112が否定判定されてステップS132へ進む。ステップS132においては、ビューア画像管理テーブルT1に記録された画像処理管理情報に基づいて、HDD114の画像処理データ用フォルダF3から画像処理データを読み出してステップS133へ進む。ステップS133においては、ステップS132で読み出した画像処理データを用いて、対応VGA画像データに画像処理を施してステップS113へ進む。ステップS113では、対応VGA画像データ、対応VGA画像データに対してサイズ変更や縦横変換した画像データ、または対応VGA画像データに対して画像処理を施した画像データを表示画像用キャッシュHK1およびHK2に格納し、これらの表示用画像データに基づいて、第1LCD103および第2LCD104に画像を表示して、図30のステップS114へ進む。
ステップS114においては、ステップS113で表示した画像がサムネイル画像から指定された画像であるか否かを判定する。サムネイル画像から指定された画像の場合、ステップS114が肯定判定されてステップS115へ進む。ステップS115においては、ステップS113で表示した画像のファイル名を画像表示テーブルに追加してステップS116へ進む。
ステップS113で表示した画像が画像切替えや同時表示枚数変更により指定された画像の場合は、ステップS114が否定判定されてステップS134へ進む。ステップS134においては、ステップS113で表示した画像の表示画像ファイル名を画像表示テーブルに追加してステップS135へ進む。ステップS135においては、ステップS134で追加した表示画像ファイルが旧画像表示テーブルに存在するか否かを判定する。対応する表示画像ファイル名が旧画像表示テーブルに存在しない場合は、ステップS135が肯定判定されてステップS116へ進む。ステップS116においては、表示画像ファイルの表示回数をカウントアップ、すなわちビューア画像管理テーブルT1を更新してステップS117へ進む。
対応する表示画像ファイルが旧画像表示テーブルに存在する場合は、ステップS135が否定判定されてステップS117へ進む。ステップS117においては、同時表示枚数で指定された枚数の画像の表示が完了したか否かを判定する。同時表示枚数で指定された枚数の画像が表示された場合は、ステップS117が肯定判定されてステップS118へ進む。ステップS118においては、旧画像表示テーブルを削除して一連の処理を終了する。
同時表示枚数で指定された枚数の画像が表示されていない場合は、ステップS117が否定判定されてステップS119へ進む。ステップS119においては、ステップS106において第1LCD103に表示することを特定した表示指示画像が全て表示されたか否かを判定する。第1LCD103に表示する画像が全て表示された場合は、ステップS119が肯定判定されてステップS120へ進む。第1LCD103に表示する画像が全て表示されていない場合は、ステップS119が否定判定されて、ステップS120をスキップしてステップS121へ進む。
ステップS120においては、ステップS106において新たに第2LCD104に表示する画像として認識された画像に一致する画像データについて、SDRAM111の表示済画像用キャッシュK1またはK2を検索済みか否かを判定する。検索済みの場合、ステップS120が肯定判定されてステップS121へ進む。ステップS121においては、次に表示する画像を特定して、図29のステップS109へ戻る。ステップS120において検索済みではないと判定された場合は、ステップS120が否定判定されてステップS122へ進む。
ステップS122において、ステップS106において新たに第2LCD104に表示する画像として認識された画像に一致する画像データがSDRAM111の表示済画像用キャッシュK1またはK2に存在するか否かを判定する。表示済画像用キャッシュK1またはK2内に表示指示画像と一致する画像データが存在する場合は、ステップS122が肯定判定されてステップS123へ進む。一致する画像データが表示済画像用キャッシュK1およびK2にない場合は、ステップS122が否定判定されて、図29のステップS109へ戻る。
ステップS123においては、表示指示画像と一致する画像データをSDRAM111の表示画像用キャッシュHK2にコピーしてステップS124へ進む。ステップS124においては、第2LCD104に画像を表示してステップS114へ戻る。
(先読み画像データがない画像の表示処理)
図29におけるステップS109が否定判定された場合の処理について説明する。表示指定された画像データがSDRAM111に先読みされていない場合は、ステップS109が否定判定されてステップS125に進む。ステップS125においては、VGA画像ファイルがHDD114のVGA表示画像データ用フォルダF2に保存されているか否かを判定する。HDD114にVGA画像ファイルが保存されている場合は、ステップS125が肯定判定されてステップS126へ進む。ステップS126においては、HDD114に保存されているVGA画像ファイルから画像データを読み出し、SDRAM111に記録してステップS110へ進む。
HDD114にVGA画像ファイルが保存されていない場合は、ステップS125が否定判定されてステップS127へ進む。ステップS127においては、HDD114内に保存されたリサイズ画像ファイルの画像データを読み出し、SDRAM111に記録してステップS128へ進む。ステップS128においては、ステップS127でSDRAM111に記録したリサイズ画像ファイルのリサイズ画像データからVGA画像データを生成し、SDRAM111に記録してステップS129へ進む。
ステップS129においては、ステップS128で生成してSDRAM111に記録したVGA画像データを輝度色差形式のファイルとしてHDD114に記録してステップS130へ進む。ステップS130においては、ビューア画像管理テーブルT1のVGA画像ファイル名およびVGA画像ファイルの有無の項を更新してステップS110へ進む。
図29におけるステップS110が否定判定された場合の処理について説明する。同時表示枚数が1枚の設定の場合は、ステップS110が否定判定されて図31のステップS136に進む。この処理へ移行する場合、第1LCD103と第2LCD104の2つの表示画面を使用して、たとえば図9(a)のような拡大画像を表示する。
ステップS136においては、VGA画像ファイルの画像データを2倍に補間して、第1LCD103に表示すべき画像として、粗い拡大画像の半分のサイズの画像データを、第1LCD103に対応する表示画像用キャッシュHK1に記録する。一方、第2LCD104に表示すべき画像として、粗い拡大画像の半分のサイズの画像データを、第2LCD104に対応する表示画像用キャッシュHK2に記録する。ステップS137においては、ステップS112と同様に表示する画像に画像処理が必要か否かを判定する。画像処理が不要の場合、ステップS137が肯定判定されてステップS138へ進む。
ステップS138においては、ステップS136で補間されて表示画像用キャッシュHK1およびHK2に記録された粗い拡大画像を第1LCD103および第2LCD104に表示してステップS139へ進む。ステップS139においては、HDD114に保存されたリサイズ画像ファイルを読み出してSDRAM111に記録してステップS140へ進む。ステップS140においては、ステップS139で読み出したリサイズ画像ファイルのリサイズ画像データを縮小して、640×960画素の1枚同時表示用の精細拡大画像を生成する。この精細拡大画像を2分し、第1LCD103に表示すべき画像を表示画像用キャッシュHK1に記録する。一方、第2LCD104に表示すべき画像を表示画像用キャッシュHK2に記録する。そして、ステップS147へ進み、第1および第2LCD103および104に精細拡大画像を表示する。その後、処理は図30のステップS114へ戻る。
表示する画像に画像処理が必要な場合はステップS136が否定判定され、ステップS141に進む。ステップS141においては、画像処理管理データに基づいてHDD114内の画像処理データ用フォルダF3から画像処理データを読み出してステップS142へ進む。ステップS142においては、ステップS141で読み出した画像処理データを用いて、対象画像データに対して画像処理を実行する。すなわち、ステップS136で生成した粗い拡大画像データに対して画像処理を施し、上記表示画像用キャッシュHK1およびHK2に拡大画像の半分ずつを記録する。ステップS143においては、ステップS142で画像処理が施されて表示画像用キャッシュに記録された粗い拡大画像を第1LCD103および第2LCD104に表示してステップS144へ進む。
ステップS144(リサイズ画像ファイルをSDRAMへ読み出し)からステップS145(1枚同時表示画像生成)までの各処理は、ステップS139(リサイズ画像ファイルをSDRAMへ読み出し)からステップS140(1枚同時表示画像生成)までの各処理と同様の処理を行ない、精細拡大画像を生成する。ステップS146においては、ステップS145で生成された1枚同時表示用の精細拡大画像データに対して、ステップS141で読み出した画像処理データを用いて画像処理を施す。画像処理された精細拡大画像を2分し、第1および第2表示画像用キャッシュHK1およびHK2に半分ずつ記録する。そして、ステップS147へ進み、第1および第2LCD103および104に画像処理が施された精細拡大画像を表示する。その後、処理は図31のステップS114へ戻る。
(4枚同時表示の表示処理の一例)
一例として、4枚同時表示を指定した場合について、図29〜図31の処理の流れを説明する。表示対象の4枚の画像データが全て先読みされずSDRAM111に格納されていない場合と、先読みされてSDRAM111に格納されている場合について説明する。
−4枚の画像データが先読みされていない場合−
なお、4枚の画像のVGA画像データがHDD114にも表示済画像用キャッシュK1およびK2にも記録されていないものとして説明する。
ステップS106で第1および第2LCD103および104に表示すべき4枚の画像を認識して特定する。ステップS107において、特定された4枚の画像のうち、第1LCD103に表示する1枚目および2枚目の画像について、そのVGA画像データが第1LCD103に対応する表示済画像用キャッシュK1またはK2に格納されているか否かを判定する。この例では、ステップS107が否定され、ステップS109に進む。また、この例では、特定された1枚目の画像のVGA画像データはSDRAM111にもHDD114にも格納されていないので、ステップS109およびステップS125が否定される。
なお、特定された1枚目の画像のVGA画像ファイルがHDD114に記録されている場合は、VGA画像ファイルに含まれるVGA画像データをSDRAM111に格納する。このように、特定された1枚目の画像のVGA画像データがSDRAM111に記録されていないがVGA画像ファイルがHDD114に記録されている場合とは、次のような処理により生じる。すなわち、対象となる画像が過去に先読みされ、作成されたVGA画像データがSDRAM111とHDD114に記録され、その後、先読み順序が200番以降になってSDRAM111から消去された場合である。また、以前電源がオンされたときに作成されて今回電源オンした後に、まだVGA画像データが先読みされていない場合も、上述の状態が生じる。
ステップS125が否定されると、ステップS127〜S130が実行されてステップS110へ進む。ステップS127〜S130では、前述したようにしてリサイズ画像データからVGA画像データを作成し、作成されたVGA画像データをSDRAM111に格納する。4枚同時表示に設定されているのでステップS110が肯定され、ステップS111が否定されてステップS131へ進む。
ステップS131において、SDRAM111に格納されたVGA画像データを用いて、4枚同時表示のための画像変換処理を実行する。この画像変換処理において、1枚目の画像のVGA画像データに対して画像変換処理を実行する。この場合の画像変換処理は、前述した縮小処理と、前述した表示形態モードに応じた画像変換処理である。表示形態モードに応じた画像変換処理とは、各画像データに添付されている撮影姿勢情報とビューア100に設定されている表示形態モードに応じた画像変換処理である。なお、ビューア100の表示形態モードとは、前述した姿勢優先モード選択時の姿勢センサモード、横開きモード、および縦開きモードのいずれか、あるいはサイズ優先モードである。
そして、処理はステップS131からステップS112へ進む。画像処理不要であれば、ステップS113において、上記1枚目の画像を第1LCD103に表示する。
1枚目の画像が第1LCD103に表示された後、処理はステップS114からステップS115へ進む。ステップS115では、ステップS113で表示された1枚目の画像について、そのファイル名を画像表示テーブルに記録する。ステップS116において、1枚目の画像が表示された回数をカウントアップして、ステップS117へ進む。4枚同時表示の1枚目の画像のみが表示されているだけであり、ステップS117が否定され、ステップS119も否定されてステップS121へ進む。ステップS121では、第1LCD103に表示すべき他の1枚の画像を特定してステップS109へ進む。
以降、1枚目の画像と同様の処理により、ステップS113において、2枚目の画像を第1LCD103に表示する。すなわち、第1LCD103には2枚の縮小画像データで構成された一画面分の画像が表示される。この場合、1枚目の画像を表示する際に表示画像用キャッシュHK1に記録される画像データの半分は画像のない無画像領域である。そして、2枚目の画像が無画像領域に重畳され、これにより、第1LCD103の1画面分の表示画像用データが表示画像用キャッシュHK1に記録される。
第1LCD103に2枚の画像を表示した後、ステップS114〜S116を1枚目と同様に実行し、ステップS117へ進む。第2LCD104の2枚の画像表示が終了していないので、ステップS117が否定され、ステップS119へ進む。第1LCD103の2枚の画像表示は終了しているので、ステップS119が肯定され、ステップS120へ進む。ステップS120では、第2LCD104へ表示すべき画像について、第2LCD104に対応する表示済画像用キャッシュK1またはK2を検索したか判定する。初めは否定され、ステップS122へ進む。ステップS122では、3枚目および4枚目の画像のVGA画像データが表示済画像用キャッシュK1またはK2に格納されているか否かを判定する。この例では、3枚目および4枚目の画像に対するVGA画像データは過去に記録されていないので、ステップS122が否定されてステップS109へ進む。以降、1枚目の画像と同様の処理により、ステップS113において、3枚目の画像を第2LCD104に表示する。
なお、3枚目および4枚目の画像に対するVGA画像データが過去に表示されて表示済画像用キャッシュK1またはK2に格納されていると判定される場合は、3枚目と4枚目の縮小画像を1画面表示するための表示用画像データが表示済画像用キャッシュK1またはK2に記録されていることになる。したがって、表示済画像用キャッシュK1またはK2の画像を表示画像用キャッシュHK2にコピーし、ステップS124で第2LCD104に3枚目および4枚目の画像を表示する。
第2LCD104に3枚目の画像が表示された後、ステップS114〜S116を1枚目と同様に実行し、ステップS117へ進む。第2LCD104の4枚目の画像表示が終了していないので、ステップS117が否定され、ステップS119へ進む。第1LCD103の2枚の画像表示は終了しているので、ステップS119が肯定され、ステップS120へ進む。ステップS120において、第2LCD104へ表示すべき画像について、第2LCD104に対応する表示画像用キャッシュHK2を検索済であるので、ステップS120が肯定される。ステップS121において、第2LCD104に表示すべき4枚目の画像を特定してステップS109へ進む。以降、1枚目の画像と同様の処理により、ステップS113において、4枚目の画像が3枚目の画像ととともに第2LCD104に表示される。すなわち、第2LCD104には2枚の縮小画像データで構成された一画面分の画像が表示される。以上の処理により、第1および第2LCD103および104に4枚の縮小画像を表示する。
−4枚の画像データが先読みされている場合−
4枚の画像が表示済画像用キャッシュK1およびK2に記録されていないものとして説明する。
ステップS106で第1および第2LCD103および104に表示すべき4枚の画像を認識して特定する。ステップS107において、特定された4枚の画像のうち、第1LCD103に表示すべき1枚目および2枚目の画像について、そのVGA画像データが第1LCD103に対応する表示済画像用キャッシュK1またはK2に格納されているか否かを判定する。この例では、1枚目の画像のVGA画像データが表示済画像用キャッシュK1およびK2に記録されていないので、ステップS107が否定され、ステップS109へ進む。1枚目の画像のVGA画像データがSDRAM111に先読みされて格納されているのでステップS109が肯定されてステップS110に進む。その後の処理は上述した場合と同様である。
すなわち、4枚の画像のVGA画像データがともにSDRAM111に格納されている場合は、ステップS125〜S130を実行しない点だけが、4枚の画像に対する先読み処理が行われていない場合との相違点である。
なお、4枚の画像の縮小画像データが表示済画像用キャッシュK1またはK2に記録されている場合、ステップS107が肯定されてステップS108に進む。ステップS108において、第1LCD103に表示する画像について、表示済画像用キャッシュK1の画像データを表示画像用キャッシュHK1にコピーし、ステップS113で2枚の縮小画像データで構成された一画面分の画像を第1LCD103に同時に表示する。また、ステップS122が肯定されてステップS123に進む。ステップS123において、第2LCD104に表示する画像について、表示済画像用キャッシュK1またはK2の画像データを表示画像用キャッシュHK2にコピーし、ステップS124で2枚の縮小画像が第2LCD104に同時に表示する。
以上で説明した実施の形態によれば、以下の作用効果が得られる。
(1)HDD114に記録された画像データに対応する画像を表示する際に、RISC110は、メタデータや表示優先度に基づいて、次以降に表示指定される可能性が高い複数の画像を予測する。次に、RISC110は、予測した画像の画像データをHDD114から読み出して、SDRAM111に記録する。したがって、画像表示履歴が蓄積されていない場合でも、特徴データに基づいて複数枚の画像を選択できるので、次に表示指定される可能性が高い画像を先読みできる。SDRAM111は、HDD114に比べて、データを高速に読み出すことができるので、画像表示指示された画像が迅速に表示される。
(2)RISC110が先読み処理をする際に、メタデータの項目の累積値の高い、すなわち、基準画像データの特徴データと相関性の高い特徴データを有する画像データを選択するようにした。メタデータの累積値は、第1LCD103または第2LCD104に表示指定される頻度が高いほど、RISC110により高い値が付加される。したがって、ユーザにより表示指定された回数の多い画像に対応する画像データほど先読み順序が優先されるので、RISC110による先読み処理の精度が向上する。
(3)さらに加えて、メタデータの各項目に重み付けを行い、重み付けの値の分だけメタデータの累積値を増やすようにした。したがって、ユーザが重要視する画像に対応する画像データがRISC110により先読みされる割合が増すので、RISC110はユーザが閲覧を望む画像データを先読みすることができる。
(4)RISC110は、画像データ取得時の撮影モードをEXIFデータから読み出し、撮影モードに対応したメタデータを画像データに対して付与するようにした。したがって、ユーザがメタデータを指定する操作を行なう必要がないので、利便性が向上する。
(5)RISC110は、画像データに付与された表示優先度に基づいて先読みする画像データを選択するようにした。表示優先度は、画像データが取得された撮影日時データやユーザに表示指定された回数を表すデータにより決まる。RISC110は、撮影日時データが新しいほど、表示指定された回数(頻度)が多いほど高い表示優先度を付与する。したがって、RISC110は、取得日時が最新の画像データや表示指定された頻度が高い画像データを先読みするので、ユーザにより表示選択され閲覧される可能性の高い画像データを先読みすることができる。
(6)撮影日時などの基準軸に沿ってソートされ並んでいる画像をユーザが選択する際、順次に選択された画像の並び方向も加味して予測画像を決定する規則を決定するようにした。したがって、ユーザが未来方向よりも過去方向へ向かって画像選択する傾向がある場合、その傾向も考慮した選択規則で予測画像が決定される。したがって、よりユーザの好みに合った画像を先読み画像としてSDRAM111に記録しておくことができる。その結果、ユーザの表示画像選択操作に迅速に応答して画像を表示することができる。
(7)第1LCD103および第2LCD104に画像を表示する際に、姿勢優先モードとサイズ優先モードとを選択可能にした。姿勢優先モードにおいては、RISC110は、ビューア100の上下方向と、画像データファイルに基づいて判定した画像の天地方向とを一致させて画像を表示する。サイズ優先モードにおいては、RISC110は、第1LCD103および第2LCD104に表示する複数の画像を同一サイズで表示する。したがって、姿勢優先モードで複数画像の天地方向を一致させて見栄えよく表示させるか、サイズ優先モードで複数画像を同一サイズで表示させるかをユーザが選択することにより、使用者の表示目的や好みに合わせた表示形態で画像を表示することができる。
(8)姿勢優先モードとして姿勢センサモードを設けた。姿勢センサモードでは、RISC110は、姿勢センサ116で検出したビューア100の横開き、および縦開き(+90度または−90度)のそれぞれの状態における上下方向と、画像データファイルに基づいて判定した画像の天地方向とを一致させて画像を表示する。したがって、ビューア100の姿勢を横開きと縦開きとの間で変更した場合でも、姿勢センサ116で検出したビューア100の上下方向と、複数画像の天地方向とが一致して表示されるので、常に複数画像の天地方向をそろえた見栄えよい表示形態で画像を表示することができる。
(9)姿勢優先モードに横開きモードおよび縦開きモードを設けた。横開きモードでは、RISC110は、ビューア100の横開きにおける上下方向と、画像データファイルに基づいて判定した画像の天地方向とを一致させて画像を表示する。縦開きモードでは、RISC110は、ビューア100の縦開き(+90度または−90度)における上下方向と、画像データファイルに基づいて判定した画像の天地方向とを一致させて画像を表示する。したがって、横開きモードおよび縦開きモードにおいては、ビューア100の姿勢が横開きと縦開きとの間で変更した場合でも、常に同一の方向に対して複数画像の天地方向をそろえた表示形態で画像を表示することができる。
(10)姿勢優先モードにおける姿勢センサモード、横開きモードおよび縦開きモードを選択可能にした。したがって、使用者の表示目的に合わせた表示形態で画像を表示することができる。
(11)上述した先読み処理において、HDD114内のリサイズ画像ファイルに含まれるリサイズ画像データを所定の大きさに縮小してVGA画像データを生成し、リサイズ画像ファイルの共通のファイル名のVGA画像ファイルを生成してHDD114に記録するようにした。具体的には、VGA画像ファイル名を、リサイズ画像ファイルの拡張子rszをyccに変更したファイル名とした。したがって、両画像データを簡単に対応付けすることができる。
(12)上述した先読み処理でいったんSDRAM111に記録された後、先読み順序が200番以降になり消去されることもあるので、先読みされた画像のVGA画像ファイルをHDD114にも格納するようにした。先読み対象となった画像がSDRAM111に格納されていない場合、HDD114に記録された画像ファイルに含まれるVGA画像データをSDRAM111にコピーする。これにより、先読みの都度、リサイズ画像ファイルからVGA画像データを作成する煩雑な処理を防止できる。
(13)第1および第2LCD103および104に画像を表示する際、1枚同時表示、2枚同時表示、4枚同時表示を選択可能とした。すなわち、3種類の表示形態を選択可能とした。2枚同時表示では、各LCDにはVGA画像データにより画像が1枚ずつ表示される。4枚同時表示は一括表示であり、各LCDにはVGA画像データの縮小画像で構成される一画面分の画像がそれぞれ表示される。1枚同時表示では、第1および第2LCD103および104に、VGA画像データを補間して拡大した粗い拡大画像、あるいは、リサイズ画像を縮小し拡大した精細拡大画像が表示される。このように3種類の表示形態を選択可能としたので、ユーザは用途に応じた表示形態で画像を鑑賞することができる。
(14)1枚同時表示では、第1および第2LCD103および104に精細拡大画像を表示するようにした。この場合、リサイズ画像から精細拡大画像を作成するには時間を要するので、ユーザが違和感を抱く。そこで、精細拡大画像が生成されるまでは、VGA画像データを補間して拡大した粗い拡大画像を生成して表示するようにした。その結果、拡大画像が迅速に表示され、精細拡大画像の生成が終了すると画像を切換えることにより、最終的にユーザは精細拡大画像を鑑賞することができる。
(15)いずれの表示形態でも、いったん表示された画像を表示済画像用キャッシュK1およびK2に記憶した。したがって、過去に表示された画像を同一表示形態で再度表示する場合、その画像がキャッシュに記録されていれば、キャッシュから迅速に画像を一括表示できる。
以上で説明した実施の形態を以下のように変形することができる。
(1)ビューア10は、図17に示すように、第1LCD103と第2LCD104との間に間隔を設けないモニタ結合タイプでもよい。
(2)方向履歴kの値に応じて、画像切替え方向に重み付けをしてもよい。たとえば、3回の画像の表示指定が行なわれた後、k=1であれば、基準画像の撮影日時に対して過去の画像が1回、未来の画像が2回表示指定されたことになる。この場合、RISC110は、基準画像ファイルに対して未来の方向に存在する画像ファイルの中から2枚の画像を先読みする。その後、RISC110は、基準画像ファイルに対して過去の方向に存在する画像ファイルの中から1枚の画像を先読みする。
(3)以上の実施の形態では、方向履歴kの値に応じて、画像切替え方向を決定した。すなわち、k≠0では、未来方向または過去方向の第1の向きに並ぶ複数の画像ファイルの全てに対して先読みする画像を選択し、その後、逆方向である第2の向きに並ぶ複数の画像ファイルの全てに対して先読みする画像を選択した。しかし、ユーザの表示画像選択操作が、未来方向または過去方向の同一の向きに所定回数以上連続して指定された場合に画像切替え方向を考慮した先読みを行うようにしてもよい。換言すると、たとえば方向履歴k=5以上またはk=−5以下の場合については、画像切替え方向を考慮した先読みを行うが、方向履歴k=4以下またはk=−5以上では画像切替え方向を考慮した先読みを行わないようにしても良い。
このように、ユーザの画像選択操作方向が、画像の並び方向に対して関連が低い場合、予めユーザが選択したメタデータや表示優先度による先読み規則を採用するようにした。また、連続して所定回数以上一方向に画像選択操作される傾向がある場合は、その方向を考慮して先読み画像を選択する規則を採用するようにした。その結果、ユーザの意図した画像が先読みされやすくなる。
(4)プログラムのバージョンアップ時などにおいて、インターネット経由や可搬記録媒体を介して既存のユーザに対して機能を増強することも可能である。したがって、図15〜図16、および図29〜図31のプログラムは、そのようなバージョンアップ用のソフトウエアに対しても適用できる。たとえば、図15〜図16のプログラムは次の(a)〜(d)の各処理を有する画像閲覧プログラムとして構成できる。
(a)指定された画像を表示する表示処理
(b)表示処理で表示する画像を指定する指定処理
(c)第1の記録媒体に記録されている複数の画像について、当該画像を特徴付ける特徴データに基づいて、指定処理により次に指定される可能性が高い複数の予測画像を決定する決定処理
(d)第1の記録媒体から決定された予測画像を読み出し、当該読み出した予測画像を、第1の記録媒体よりも高速に画像を読み出すことができる第2の記録媒体に記録する記録処理
また、図29〜図31のプログラムは次の(a)〜(b)の各処理を有する画像閲覧プログラムとして構成できる。
(a)第1の記録媒体に記録されている第1画像を所定の大きさに縮小して第2画像を生成し、第2画像のファイル名と第1画像のファイル名とを対応付けて第1の記録媒体に記録する記録処理
(b)第1記録媒体に記録された第2画像に基づいて指定された画像を表示する表示処理
さらには、図29〜図31のプログラムは次の(a)〜(f)の各処理を有する画像閲覧プログラムとして構成できる。
(a)第1画像と第1画像よりもサイズの小さい第2画像を記録する記録処理
(b)表示する画像を指定する指定処理
(c)画像の表示形態が第1表示形態、第2表示形態および第3表示形態のいずれであるかを判定する表示形態判定処理
(d)判定結果に基づいて第1表示形態で表示する場合には第2画像を表示する第1表示処理
(e)第2表示形態で表示する場合には第2画像を縮小して作成した縮小画像を表示する第2表示処理
(f)第3表示形態で表示する場合には、第2画像を補間して作成した粗い拡大画像を表示するとともに、第1画像を縮小して精細拡大画像を作成し、精細拡大画像が作成されると、粗い拡大画像に代えて精細拡大画像を表示する第3表示処理
(5)姿勢優先モードにおいて天地方向の異なる複数の画像を表示する場合に、同時表示枚数が4枚に設定されていても、図27に示すように3枚表示する表示形態を用いてもよい。図27はビューア100が横開きされた状態で、姿勢センサモードおよび横開きモードの何れかが選択された場合を示す。この場合、RISC110は、縦位置姿勢で撮影された画像2を第1LCD103にVGAサイズで表示する。横位置姿勢で撮影された画像3および画像4が第2LCD104の上下に2分割された表示領域のそれぞれに収まるように、RISC110は画像3および画像4に対応するそれぞれのVGA画像データを縮小する。
(6)画像表示枚数を切り替える際に、図20(b)に示すように、ユーザのタッチパネル122の操作に応じて画像が縮小して表示されるものに代えて、画像の表示枚数が切り替わるまで画像の絵柄を表示せず、単なる矩形を表示してもよい。この場合、RISC110は画像のサイズを縮小して表示する必要がない。したがって、RISC110の負荷が軽減されて、円滑に画像の表示枚数を切り替えることができる。
また、本発明の特徴を損なわない限り、本発明は上記実施の形態に限定されるものではなく、本発明の技術的思想の範囲内で考えられるその他の形態についても、本発明の範囲内に含まれる。