以下、添付の図面を参照して本発明の好適な実施形態について説明する。尚、以下に説明する実施形態では、本発明による装置、方法を静止画像と動画との撮影が可能なデジタルカメラである撮像装置に適用した場合を例にして説明する。
[デジタルカメラの構成について]
図1は実施形態によるデジタルカメラの外観図である。図1において、28は表示部であり、画像や各種情報を表示する。72は電源スイッチであり、電源オン、電源オフを切り替える。61はシャッターボタンである。60はモード切替スイッチであり、デジタルカメラ100における各種モードを切り替える。より具体的には、静止画記録モード、動画記録モード、再生モード等のモードの切り替えが可能である。111は接続ケーブルであり、デジタルカメラ100と外部機器を接続する。112はコネクタであり、接続ケーブル111とデジタルカメラ100とを接続する。
70は操作部であり、ユーザからの各種操作を受け付ける。操作部70は図示の各種ボタンや、画像表示部28の画面上に設けられたタッチパネル等の操作部材を有する。操作部70の各種ボタンとは、具体的に例示すると、消去ボタン、メニューボタン、SETボタン、十字に配置された4方向ボタン(上ボタン、下ボタン、右ボタン、左ボタン)、ホイール73等である。200はメモリカードやハードディスク等の記録媒体である。201は記録媒体スロットであり、記録媒体200を格納する。記録媒体スロット201に格納された記録媒体200は、デジタルカメラ100との通信が可能となる。202は記録媒体スロット201の蓋である。
図2は、本実施形態によるデジタルカメラ100の構成例を示すブロック図である。図2において、103は撮影レンズ、101は絞り機能を備えるシャッター、22は光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像部である。23はA/D変換器であり、アナログ信号をデジタル信号に変換する。A/D変換器23は、撮像部22から出力されるアナログ信号をデジタル信号に変換する場合や、音声制御部11から出力されるアナログ信号をデジタル信号に変換する場合に用いられる。102はバリアであり、デジタルカメラ100の、レンズ103を含む撮像部を覆うことにより、撮影レンズ103、シャッター101、撮像部22を含む撮像系の汚れや破損を防止する。
12はタイミング発生部であり、撮像部22、音声制御部11、A/D変換器23、D/A変換器13にクロック信号や制御信号を供給する。タイミング発生部12は、メモリ制御部15及びシステム制御部50により制御される。24は画像処理部であり、A/D変換器23からのデータ、又は、メモリ制御部15からのデータに対し所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。また、画像処理部24では、撮像した画像データを用いて所定の演算処理が行われ、得られた演算結果に基づいてシステム制御部50が露光制御、測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理回路24では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理も行っている。
A/D変換器23からの出力データは、画像処理部24及びメモリ制御部15を介して、或いは、直接メモリ制御部15を介して、メモリ32に書き込まれる。メモリ32は、撮像部22によって得られA/D変換器23によりデジタルデータに変換された画像データや、画像表示部28に表示するための画像データを格納する。尚、メモリ32は、マイク10において録音された音声データ、静止画像、動画像および画像ファイルを構成する場合のファイルヘッダを格納するのにも用いられる。従って、メモリ32は、所定枚数の静止画像や所定時間の動画像および音声を格納するのに十分な記憶容量を備えている。
圧縮/伸張部16は、適応離散コサイン変換(ADCT)等により画像データを圧縮、伸張する。圧縮/伸張部16は、シャッター101をトリガにしてメモリ32に格納された撮影画像を読み込んで圧縮処理を行い、処理を終えたデータをメモリ32に書き込む。また、記録媒体200の記録部19などからメモリ32に読み込まれた圧縮画像に対して伸張処理を行い、処理を終えたデータをメモリ32に書き込む。圧縮/伸張部16によりメモリ32に書き込まれた画像データは、システム制御部50のファイル部においてファイル化され、インターフェース18を介して記録媒体200に記録される。また、メモリ32は画像表示用のメモリ(ビデオメモリ)を兼ねている。13はD/A変換器であり、メモリ32に格納されている画像表示用のデータをアナログ信号に変換して画像表示部28に供給する。28は画像表示部であり、LCD等の表示器上に、A/D変換器13からのアナログ信号に応じた表示を行う。こうして、メモリ32に書き込まれた表示用の画像データはD/A変換器13を介して画像表示部28により表示される。
10はマイクである。マイク10から出力された音声信号は、アンプ等で構成される音声制御部11を介してA/D変換器23に供給され、A/D変換器23においてデジタル信号に変換された後、メモリ制御部15によってメモリ32に格納される。一方、記録媒体200に記録されている音声データは、メモリ32に読み込まれた後、D/A変換器13によりアナログ信号に変換される。音声制御部11は、このアナログ信号によりスピーカ39を駆動し、音声出力する。
不揮発性メモリ56は電気的に消去・記録可能なメモリであり、例えばEEPROM等が用いられる。不揮発性メモリ56には、システム制御部50の動作用の定数、プログラム等が記憶される。ここでいう、プログラムとは、本実施形態にて後述する各種フローチャートを実行するためのプログラムのことである。
50はシステム制御部であり、デジタルカメラ100全体を制御する。システム制御部50は、上述した不揮発性メモリ56に記録されたプログラムを実行することで、後述する本実施形態の各処理を実現する。52はシステムメモリであり、RAMが用いられる。システムメモリ52には、システム制御部50の動作用の定数、変数、不揮発性メモリ56から読み出したプログラム等を展開する。
モード切替スイッチ60、第1シャッタースイッチ62、第2シャッタースイッチ64、操作部70はシステム制御部50に各種の動作指示を入力するための操作手段である。
モード切替スイッチ60は、システム制御部50の動作モードを静止画記録モード、動画記録モード、再生モード等のいずれかに切り替えることができる。第1シャッタースイッチ62は、デジタルカメラ100に設けられたシャッターボタン61の操作途中(半押し)でONとなり第1シャッタースイッチ信号SW1を発生する。システム制御部50は、第1シャッタースイッチ信号SW1により、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の動作を開始する。
第2シャッタースイッチ64は、シャッターボタン61の操作完了(全押し)でONとなり、第2シャッタースイッチ信号SW2を発生する。システム制御部50は、第2シャッタースイッチ信号SW2により、撮像部22からの信号読み出しから記録媒体200に画像データを書き込むまでの一連の撮影処理の動作を開始する。
操作部70の各操作部材は、画像表示部28に表示される種々の機能アイコンを選択操作することなどにより、場面ごとに適宜機能が割り当てられ、各種機能ボタンとして作用する。機能ボタンとしては例えば終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン等がある。例えば、メニューボタンが押されると各種設定が可能なメニュー画面が画像表示部28に表示される。利用者は、画像表示部28に表示されたメニュー画面と、4方向ボタンやSETボタンとを用いて直感的に各種設定を行うことができる。電源スイッチ72は、電源オン、電源オフを切り替える。
80は電源制御部であり、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源制御部80は、その検出結果及びシステム制御部50の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体200を含む各部へ供給する。
30は電源部であり、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる。33及び34はコネクタであり、電源部30と電源制御部80とを接続する。
40はRTC(Real Time Clock)であり、日付及び時刻を計時する。RTC40は、電源制御部80とは別に内部に電源部を保持しており、電源部30が落ちた状態であっても、計時状態を続ける。システム制御部50は起動時にRTC40より取得した日時を用いてシステムタイマを設定し、タイマ制御を実行する。
18はメモリカードやハードディスク等の記録媒体200とのインターフェースである。35は該記録媒体200とインターフェース18との接続のためのコネクタである。98は記録媒体着脱検知部であり、コネクタ35に記録媒体200が装着されているか否かを検知する。
200はメモリカードやハードディスク等の記録媒体である。記録媒体200は、半導体メモリや磁気ディスク等から構成される記録部19、デジタルカメラ100とのインターフェース37、及び、記録媒体200とデジタルカメラ100とを接続するためのコネクタ36を備えている。
通信部110は、RS232CやUSB、IEEE1394、P1284、SCSI、モデム、LAN、無線通信、等の各種通信処理を行う。コネクタ(無線通信の場合はアンテナ)112は、通信部110を介してデジタルカメラ100を他の機器と接続する。
[デジタルカメラの全体動作について]
図3は、本実施形態のデジタルカメラ100の全体的な動作を説明するフローチャートである。
電源スイッチ72が操作され電源がオンに切り替わると、ステップS301においてシステム制御部50はフラグや制御変数等を初期化する。続いて、ステップS302において、記録媒体200に記録されているファイルに関する管理処理を開始する。ステップS302のファイル管理処理については、図40Aを用いて後述する。
次に、ステップS303、S305、S307において、システム制御部50は、モード切替スイッチ60の設定位置を判断する。静止画記録モードに設定されていたならば処理はステップS303からステップS304へ進み、静止画記録モード処理を実行する。ステップS304の静止画記録モード処理の詳細は図4を用いて後述する。モード切替スイッチ60が動画記録モードに設定されていたならば、処理はステップS303、S305を経てステップS306へ進み、動画記録モード処理を実行する。ステップS306の動画記録モード処理については、図11等により後述する。また、モード切替スイッチ60が再生モードに設定されていた場合、処理はステップS303、S305、S307を経てステップS308へ進み、再生モード処理を実行する。ステップS308の再生モード処理は図15を用いて後述する。
また、その他のモードに設定されていた場合、処理はステップS309へ進み、システム制御部50は選択されたモードに応じた処理を実行する。その他のモードとしては例えば記録媒体200に格納されたファイルの送信を行う送信モード処理、外部機器からファイルを受信して記録媒体200に格納する受信モード処理が含まれる。これらのうち、受信モード処理については図14を用いて後述する。
ステップS304、S306、S308、S309のうちのモード切替スイッチ60によって設定されたモードに対応した処理を実行した後、処理はステップS310へ進む。ステップS310において、システム制御部50は電源スイッチ72の設定位置を判断する。電源スイッチ72が電源オンに設定されていれば、ステップS303に処理を戻す。一方、電源スイッチ72が電源オフに設定されていたならば、処理はステップS310からステップS311へ進み、制御部50は終了処理を行う。終了処理には、例えば以下の処理が含まれる。すなわち、画像表示部28の表示を終了状態に変更し、レンズバリア102を閉じて撮像部を保護し、フラグや制御変数等を含むパラメータや設定値、設定モードを不揮発性メモリ56に記録し、電源供給が不要な部分への電源を遮断する。ステップS311の終了処理が完了すると、本処理を終了し、電源をOFF状態へ移行する。
[静止画記録モード処理(S304)について]
図4は図3のステップS304における静止画記録モード処理を示すフローチャートである。尚、図4に示される静止画記録モード処理は、モード切替スイッチ60により他のモードへの切替が行われた場合や電源スイッチ72がOFFにセットされた場合に、割り込み処理等により終了するものとする。
システム制御部50は、静止画記録モードを開始すると、ステップS401において撮影モードを確定する。撮影モードの確定は、
(1)不揮発性メモリ56より前回の静止画記録モード終了時における撮影モードを取得してシステムメモリ52に格納する、或は、
(2)ユーザにより操作部70が操作されて撮影モードの設定入力があった場合に、その設定入力された撮影モードをシステムメモリ52に格納する、ことでなされる。ここで、撮影モードとは撮影シーンに適したシャッター速度や絞り値、ストロボ発光状態、感度設定等を組み合わせて実現されるモードのことである。本実施の形態のデジタルカメラ100は以下のような撮影モードを有する。
・オートモード:カメラの各種パラメータが、計測された露出値に基づいてデジタルカメラ100に組み込まれたプログラムにより自動的に決定されるモード、
・マニュアルモード:カメラの各種パラメータをユーザが自由に変更可能なモード、
・シーンモード:撮影シーンに適したシャッター速度や絞り値、ストロボ発光状態、感度設定等の組み合わせが自動で設定される。
尚、シーンモードには以下のようなモードが含まれる。
・ポートレートモード:背景をぼかして人物を浮き立たせるようにして人物撮影に特化したモード、
・夜景モード:人物にストロボ光をあて背景を遅いシャッター速度で記録する、夜景シーンに特化したモード、
・風景モード:広がりのある風景シーンに特化したモード、
・ナイト&スナップモード:三脚なしで夜景と人物をきれいに撮るのに適したモード、
・キッズ&ペットモード:よく動き回る子供やペットをシャッターチャンスを逃さず撮影可能にしたモード、
・新緑&紅葉モード:新緑等の木々や葉を色鮮やかに撮影するのに適したモード、
・パーティーモード:蛍光灯や電球のもとで、手振れを抑えて被写体に忠実な色味で撮影するモード、
・スノーモード:雪景色をバックにしても人物が暗くならず、青みも残さず撮影するモード、
・ビーチモード:太陽光の反射の強い海面や砂浜でも、人物などが暗くならずに撮影可能なモード、
・花火モード:打ち上げ花火を最適な露出で鮮やかに撮影するためのモード
・水族館モード:屋内の水槽内の魚などを撮影するのに適した感度、ホワイトバランス、色味を設定するモード、
・水中モード:水中に最適なホワイトバランスに設定し、青みを押さえた色合いで撮影するモード。
ステップS402において、システム制御部50は、ステップS401において撮影モードが確定すると、続いて撮像部22からの画像データを表示するスルー表示を行う。続いて、ステップS403において、システム制御部50は,電源制御部80を用いて電池等により構成される電源30の残容量や、記録媒体200の有無や残容量がデジタルカメラ100の動作に問題があるか否かを判定する。問題があるならば、ステップS404において、画像表示部28を用いて画像や音声により所定の警告表示を行い、処理をステップS401に戻す。
電源30や記録媒体200の状態に問題が無いならば、ステップS405において、システム制御部50は、必要に応じて分類情報の自動付与入/切設定を行う。自動付与入/切設定は、操作部70に含まれるメニューボタンを押すことで画像表示部28に表示されるメニュー画面(不図示)によりユーザが任意に設定可能である。分類情報の自動付与入/切設定は、シーンモードならびに被写体条件により分類情報を自動付与するか否かのフラグであり、設定値(フラグのON/OFF値)はシステムメモリ52において保持される。このように分類情報の自動付与入/切設定を持たせることで、ユーザによって意図しない分類情報が付与されることを時々に応じて防止することが可能となる。尚、分類情報については後述する。
続いて、ステップS406において、システム制御部50は、スルー表示される画像信号中に人の顔が存在するか否かを検知する顔検出を行う。この顔検出処理については図5を用いて後述する。システム制御部50は、顔検出処理において人の顔が検出された場合、画像信号中において検出した顔の位置座標、サイズ(幅、高さ)、検出個数、信頼性係数等を顔情報としてシステムメモリ52に記憶する。顔検出処理において顔が検出されなかった場合はシステムメモリ52内の位置座標、サイズ(幅、高さ)、検出個数、信頼性係数等の領域に0を設定する。
続いてステップS407において、システム制御部50は、第1シャッタースイッチ信号SW1がONしているか否かを判定する。第1シャッタースイッチ信号SW1がOFFの場合は、処理はステップS405に戻り、上記ステップS405、S406を繰り返す。一方、第1シャッタースイッチ信号SW1がONの場合は、ステップS408に進む。ステップS408において、システム制御部50は、測距処理を行って撮影レンズ103の焦点を被写体に合わせるとともに、測光処理を行って絞り値及びシャッター時間(シャッタースピード)を決定する。尚、測光処理において、必要であればフラッシュの設定も行われる。このとき、ステップS406において顔が検出されていれば、検出した顔の範囲で測距を行うようにすることも可能である。
次に、ステップS409、S410では、第1シャッタースイッチ信号SW1と第2シャッタースイッチ信号SW2のON/OFF状態を判定する。第1シャッタースイッチ信号SW1がONした状態で第2シャッタースイッチ信号SW2がONになると、処理はステップS409からステップS411へ進む。第1シャッタースイッチ信号SW1がOFFになると(第2シャッタースイッチ信号SW2がONせずに、更に第1シャッタースイッチ信号SW1も解除された場合)、処理はステップS410からステップS405へ戻る。また、第1シャッタースイッチ信号SW1がON、第2シャッタースイッチ信号SW2がOFFの間は、ステップS409,S410の処理が繰り返される。
第2シャッタースイッチSW2が押されると、ステップS411において、システム制御部50は、画像表示部28の表示状態をスルー表示から固定色表示状態に設定する。そして、ステップS412において、システム制御部50は、露光処理や現像処理を含む撮影処理を実行する。尚、露光処理では、撮像素子22、A/D変換器23を経て得られた画像データが、画像処理回路24及びメモリ制御回路15を介して、或いはA/D変換器23から直接メモリ制御回路15を介して、メモリ32に書き込まれる。また、現像処理では、システム制御部50が、メモリ制御回路15そして必要に応じて画像処理回路24を用いて、メモリ32に書き込まれた画像データを読み出して各種処理を行う。この撮影処理の詳細は図6を用いて後述する。
次に、システム制御部50は、ステップS413において、画像表示部28に対し撮影処理で得られた画像データのレックレビュー表示を行う。レックレビューとは、撮影画像の確認のために、被写体の撮影後記録媒体への記録前に、予め決められた時間(レビュー時間)だけ画像データを画像表示部28に表示する処理である。レックレビュー表示後、ステップS414において、システム制御部50は撮影処理で得られた画像データを画像ファイルとして記録媒体200に対して書き込む記録処理を実行する。尚、この記録処理の詳細は、図7を用いて後述する。
ステップS414の記録処理が終了すると、ステップS415において、システム制御部5は、第2シャッタースイッチ信号SW2のON/OFF状態を判定する。第2シャッタースイッチ信号SW2がONの場合は、ステップS415の判定を繰り返し、第2シャッタースイッチ信号SW2がOFFになるのを待つ。この間、上記レックレビューの表示を継続させる。即ち、ステップS414の記録処理が終了した際に、第2シャッタースイッチ信号SW2が放されるまで画像表示部28におけるレックレビュー表示を継続させる。このように構成することにより、ユーザは、シャッターボタン61の全押し状態を継続することで、レックレビューを用いた撮影画像データの確認を入念に行うことが可能となる。
ユーザがシャッターボタン61を全押し状態にして撮影を行った後、シャッターボタン61から手を放すなどして全押し状態が解除されると、処理はステップS415からステップS416へ進む。ステップS416において、システム制御部50は、予め定められたレビュー時間が経過したか否かを判断し、レビュー時間が経過していればステップS417に進む。ステップS417において、システム制御部50は、画像表示部28の表示状態をレックレビュー表示からスルー表示状態に戻す。この処理により、レックレビュー表示によって撮影画像データを確認した後、画像表示部28の表示状態は次の撮影のために撮像部22からの画像データを逐次表示するスルー表示状態に自動的に切り替わることになる。
そして、ステップS418において、システム制御部50は、第1シャッタースイッチ信号SW1のON/OFFを判定し、第1シャッタースイッチ信号SW1がONの場合はステップS409へ、OFFの場合はステップS405へ処理を戻す。即ち、シャッターボタン61の半押し状態が継続している(第1シャッタースイッチ信号SW1がON)場合は、システム制御部50は次の撮影に備える(ステップS409)。一方、シャッターボタン61が放された状態(第1シャッタースイッチ信号SW1がOFF)であったならば、システム制御部50は、一連の撮影動作を終えて撮影待機状態に戻る(ステップS405)。
[顔検出処理について(S406)]
次に、図4のステップS406の顔検出処理の一例を、図5を用いて説明する。ステップS501において、システム制御部50は顔検出対象の画像データを画像処理部24に送る。ステップS502において、システム制御部50の制御下で画像処理部24は、当該画像データに水平方向バンドパスフィルタを作用させる。また、ステップS503において、システム制御部50の制御下で画像処理部24は、ステップS502で処理された画像データに垂直方向バンドパスフィルタを作用させる。これら水平及び垂直方向のバンドパスフィルタにより、画像データよりエッジ成分が検出される。
その後、ステップS504において、システム制御部50は、検出されたエッジ成分に関してパターンマッチングを行い、目及び鼻、口、耳の候補群を抽出する。そして、ステップS505において、システム制御部50は、ステップS504で抽出された目の候補群の中から、予め設定された条件(例えば2つの目の距離、傾き等)を満たすものを、目の対と判断し、目の対があるもののみ目の候補群として絞り込む。そして、ステップS506において、システム制御部50は、ステップS505で絞り込まれた目の候補群とそれに対応する顔を形成する他のパーツ(鼻、口、耳)を対応付け、また、予め設定した非顔条件フィルタを通すことで、顔を検出する。ステップS507において、システム制御部50は、ステップS506による顔の検出結果に応じて上記顔情報を出力し、処理を終了する。
以上のようにスルー表示で表示される画像データを用いて、画像データの特徴量を抽出して被写体情報を検出することが可能である。本実施形態では被写体情報として顔情報を例に挙げたが、被写体情報には他にも赤目判定等の様々な情報がある。
[撮影処理について(S412)]
図6は図4のステップS412における撮影処理を示すフローチャートである。
ステップS601において、システム制御部50は、撮影開始時にその日時をシステムタイマより取得し、システムメモリ52に記憶する。続いて、ステップS602において、システムメモリ52に記憶されている測光データに従い、絞り機能を有するシャッター101を絞り値に応じて開放する。こうして、撮像素子22の露光が開始される(ステップS603)。
ステップS604において、システム制御部50は、測光データに従って撮像部22の露光終了を待つ。露光終了時刻に到達すると、ステップS605において、システム制御部50はシャッター101を閉じる。そして、ステップS606において、撮像部22から電荷信号を読み出し、A/D変換器23、画像処理回路20、メモリ制御回路22を介して、或いはA/D変換器23から直接メモリ制御回路22を介して、メモリ32に画像データを書き込む。以上、ステップS601〜S606が露光処理に対応する。
続いて、ステップS607において、システム制御部50は、メモリ制御回路15そして必要に応じて画像処理回路24を用いて、メモリ32に書き込まれた画像データを読み出して画像処理を順次施す。この画像処理は、例えば、ホワイトバランス処理や、圧縮/伸張部16を用いた圧縮処理等が含まれる。処理を終えた画像データはメモリ32に書き込まれる。そして、ステップS608において、システム制御部50は、メモリ32から画像データを読み出し、これを圧縮/伸張部16を用いて伸張し、画像表示部28の表示用にリサイズする。そして、メモリ制御回路15を介してリサイズされた画像データを画像表示部28に表示するべくD/A変換器13に転送する。一連の処理を終えたならば、撮影処理を終了する。
[記録処理について(S414)]
図7は、図4のステップS414における撮影シーケンスにおいて生成された画像データの記録処理を示すフローチャートである。
記録処理を開始すると、ステップS701において、システム制御部50は、図9により後述するファイル名生成ルールに則り記録対象の画像データに対するファイル名を生成する。次に、ステップS702において、上記ステップS601でシステムメモリ52に記憶した日時情報を取得する。次に、ステップS703において、当該記録対象の画像データのデータサイズを取得する。
ステップS704において、システム制御部50は、当該画像データから生成した画像ファイルを格納するべきディレクトリが記録媒体200に存在するか否かを判定する。ディレクトリが存在しない場合は、ステップS705に処理が進む。ステップS705において、システム制御部50は、画像ファイルを格納するためのディレクトリを生成する。尚、ディレクトリ名の生成ルールは図9により後述する。ここでは、100XXX(図9の502)が作成されるものとする。
続いて、ステップS706において、システム制御部50は、上記撮影処理(図6)のステップS607においてメモリ32に格納された画像データに対し、撮影日時や撮影時条件等から構成されるファイルヘッダを生成する。尚、ヘッダの生成処理については図8を用いて後述する。また、以上のようにして生成された画像ファイルの構成については、図9を用いて後述する。ヘッダ生成の完了後、ステップS707において、システム制御部50は、ステップS701で取得したファイル名及びステップS703で取得した日時情報からディレクトリエントリを生成し、画像ファイルを記録媒体200に記録し、記録処理を終了する。
[ヘッダ生成処理について(S706)]
図8は、前述した図7のステップS706におけるヘッダ生成処理のフローチャートである。
ヘッダ生成を開始すると、システム制御部50は、ステップS801において、ステップS405(図4)で設定された分類情報の自動付与入/切設定の設定値をシステムメモリ52より取得し、撮影画像データに分類情報を自動付与するか否かを判定する。分類情報の自動付与入/切設定の設定値が「切」で、自動付与を行わない場合は、ステップS809に進む。
ステップS801の判定において分類情報の自動付与入/切設定の設定値が「入」となっており、分類情報の自動付与を行うと判定されると、処理はステップS802に進む。ステップS802において、システム制御部50は、ステップS406の顔検出処理でシステムメモリ52に保持された顔情報を読み出し、顔が検出されたか否かを判定する。顔情報により顔が検出されたと判定された場合は、ステップS804に進み、「人物」という分類情報を付与する。ステップS802で顔が検出されたと判定されなかった場合はステップS803に進む。ステップS803において、システム制御部50は、システムメモリ52に格納された当該画像撮影時のシーンモードを参照する。ステップS803では、シーンモードが人物撮影を行っていると類推される「ポートレートモード」、「ナイトスナップモード」、「キッズ&ペットモード」のいずれかに該当するか否かを判定し、該当する場合はステップS804に進む。ステップS804において、システム制御部50は、当該画像データに「人物」という分類情報を付与する。ステップS804で「人物」という分類情報を付与した場合と、ステップS803でシーンモードが上記のいずれにも該当しないと判定された場合はステップS805に進む。
以上のように、ステップS802〜S804では、被写体情報である顔情報と、撮影時のカメラの設定条件であるシーンモードの双方から同一の分類情報である「人物」が付与される。被写体情報と撮影時のカメラの設定条件は、撮影の際には異なるパラメータであるが、撮影後には内容によっては同じような意味合いを持つことがある。上記では、被写体情報である顔情報と、撮影時のカメラの設定条件である「ポートレートモード/ナイトスナップモード/キッズ&ペットモード」等は、ともに“人物を撮影したと類推される”という同じ意味合いを持つ。従って、このような情報を持つ画像データに同一の分類情報を付与することで、撮影後の操作(検索操作等)の利便性が向上する。すなわち、特定の被写体情報と特定の撮影時のカメラの設定条件の双方を用いて同一の分類情報を付与することにより、撮影の際のパラメータとは異なる、検索等の撮影後の操作に適した分類情報を付与することができ、利便性を向上することが可能である。
また、上記分類情報の付与処理によれば、シーンモードから付与する分類情報についても、ポートレートモード/ナイトスナップモード/キッズ&ペットモードと、複数の異なるシーンモードについて同一の分類情報が付与される。異なるシーンモードでは撮影時のカメラの設定条件は異なるが、撮影後は同じ意味合いを持つものがある。ここで例に挙げたポートレートモード/ナイトスナップモード/キッズ&ペットモードはいずれも“人物を撮影したと類推される”という同じ意味合いを持つ。従って、このようなものに同一の分類情報を付与することで、検索等の撮影後の利便性が向上する。即ち、撮影時のカメラの設定条件のうち、複数種類の特定の設定条件に同一の分類情報を付与することで、撮影の際のパラメータとは異なる、検索等の撮影後の操作に適した分類情報を付与することが可能となり、撮影後の操作の利便性を向上することができる。
ステップS805では、シーンモードが風景撮影を行っていると類推される「新緑&紅葉モード」、「風景モード」、「花火モード」のいずれかに該当するか否かを判定し、該当する場合はステップS806へ進む。ステップS806において、システム制御部50は、当該画像データに「風景」という分類情報を付与する。ステップS806で「風景」という分類情報を付与した場合と、ステップS805でシーンモードが上記のいずれでもないと判定された場合はステップS807に進む。ステップS807では、シーンモードが、何かのイベントを撮影したと類推される「パーティーモード」、「スノーモード」、「ビーチモード」、「花火モード」、「水族館モード」、「水中モード」のいずれかに該当するか否かを判定する。該当する場合はステップS808へ進む。ステップS808において、システム制御部50は、「イベント」という分類情報を当該画像データに付与する。
上記処理では、「花火モード」で撮影された画像データには、「風景」及び「イベント」という2つの分類情報が付与される。即ち、1つのシーンモードから複数の分類情報が付与されることになる。撮影時のカメラの設定条件(シーンモード)が同じでも、撮影後には複数の意味合いを持つことがあり、上記「花火モード」はその一例である。そして、システム制御部50は、このような場合に、撮影後の意味合いに応じた複数の分類情報を付与する。こうして、撮影の際のパラメータとは異なる、検索等の撮影後の操作に適した分類情報を付与することが可能となり、デジタルカメラ100における撮影後の操作の利便性を向上することが可能である。
尚、ステップS803、S805、S807のいずれの判定でも否定される「オートモード」、「マニュアルモード」やその他のシーンモードでは分類情報は付与されない。
以上のようにしてヘッダ内の分類情報付与を完了すると、ステップS809に進む。ステップS809において、システム制御部50は、分類情報、撮影日時情報等の撮影時設定値等を用いてヘッダ情報を作成し、本処理を完了する。尚、ステップS801で分類情報の自動付与入/切設定の設定値が「切」になっている場合は、分類情報の設定(ステップS802〜S808)はスキップされ、分類情報の無いヘッダ情報が生成されることになる。
以上のように撮影の際に自動で、検索時等に用いる分類情報を付与することにより、再生画像データを見ながら分類する従来の画像ファイルの仕分け作業を行うことなく、再生モードにおいて直ちに画像データを分類することが可能となる。また分類の概念が撮影時のカメラの設定条件と被写体情報の双方から生成されるため、より画像データ検索時等の撮影後の概念に適した分類情報を生成することが可能となる。
なお、上記では分類情報が自動付与される撮影時のカメラの設定条件としていくつかのシーンモードを例にあげたが、撮影時のカメラの設定条件であればこれに限定されるものではない。撮影時のカメラの設定条件による分類情報付与のその他の例として、マニュアルモードで撮影した際に遠景で撮影していれば風景を撮影したと類推して「風景」の分類情報を付与しても良い。またセルフタイマーで撮影していれば、類推される「人物」か「イベント」の少なくとも一方の分類情報を付与することなども考えられる。尚、被写体情報も顔情報を例としてあげたがこれに限定されるものではなく、赤目判定情報などを用いても良い。たとえば、赤目を検出すれば「人物」の分類情報を付与するなどが考えられる。また、自動付与する分類情報もユーザが撮影後に便利に利用できる情報であれば、ここで例示した「人物」「イベント」「風景」の3種類に限られるものではない。
[ディレクトリ及びファイル構成について]
図9は、前述した記録処理の結果記録媒体200に記録されるディレクトリ構成例を示したものである。以下、図9を用いてディレクトリ名及びファイル名の生成ルールについて説明する。
ルートディレクトリにDCIMディレクトリ501が記録され、DCIMディレクトリ501には8文字から生成されるサブディレクトリが生成される。サブディレクトリが保持するサブディレクトリ名は、先頭3文字が数字で構成される。先頭3文字の数字は100から始まり、ディレクトリを生成する毎に1ずつインクリメントされる。図9では、100XXX502、101XXX503が示されている。サブディレクトリ502の配下には本実施形態のデジタルカメラ100が作成するファイルが作成される。ここで生成されるファイル名は、8文字のファイル名とファイルの種類を示す3文字の拡張子から構成さる。ファイル名のうち後ろ4文字は0001から始まる数字で構成され、静止画記録モードにおいては撮影毎に1ずつインクリメントされたファイル名が付与される。以下、この後ろ4文字の数字で示される番号をファイル番号と呼ぶ。尚、静止画の場合は拡張子としてJPGが付与され、動画記録モードにおいて記録される動画像ファイルには拡張子としてAVIが付与される。また、管理情報を記録するサムネイルファイルには拡張子としてTHMが付与される。
[ファイル構造について]
続いて前述した記録処理において記録媒体200に記録する静止画像ファイルのデータの構造例を図10に示す。
画像ファイル701は先頭に画像ファイルの開始を示すマーカ(SOI)702を有し、その後にヘッダ部に相当するアプリケーションマーカ(APP1)703を有する。アプリケーションマーカ(APP1)703内には、
・サイズ(APP1 Length)703、
・アプリケーションマーカの識別コード(APP1 Identifier Code)705、
・画像データの作成日時(Date Time)706、
・画像データが生成された日時(Date Time Original)707、
・画像データの分類情報718、
・顔情報719、
・その他の撮影情報709、及び前述したサムネイル画像(Thumbnail Data)710から構成される。
ここで、分類情報718は、図8により前述したように、撮影の際のパラメータとは異なる、検索等の撮影後の操作に適した情報である。この分類情報718としては、図8において述べた「人物」、「風景」、「イベント」が撮影時に単数あるいは複数個格納可能である。さらに、汎用的な分類情報として「カテゴリ1」、「カテゴリ2」、「カテゴリ3」といった分類情報が格納可能である。また、通信部110によりPC等への外部機器に画像データを転送する際に、転送先でメール送信等の特別な処理を促すための「作業用」といった分類情報を後述する再生モードにおいて格納可能となっている。上記図8の処理によって自動的には付与されないこれらの分類情報は、後述する所定のユーザ操作により、所望の画像データに付与される。また撮影時に自動付与される分類情報は図15を用いて後述する再生モードにおいて編集することが可能である。
以上のように撮影時に自動付与される分類情報の他にも、再生モードで画像データを見ながらゆっくり分類するための分類情報を付与することで、より利便性の高い分類が可能となる。
また顔情報719は前述した顔検出処理(図4のS406)により生成された情報であり、検出された顔の位置座標、サイズ(幅、高さ)、検出個数、信頼性係数等を、検出された個数分有する。また画像ファイル701に記録される画像データは、量子化テーブル(DQT)712、ハフマンテーブル(DHT)713、フレーム開始マーカ(SOF)714、スキャン開始マーカ(SOS)715及び圧縮データ716から構成される。そして、画像ファイルデータの最後を示すマーカ(EOI)717で終端される。
[動画記録モード処理について(S306)]
次に、図3のステップS306における動画記録モード処理について説明する。システム制御部50は、モード切替スイッチ60が「動画記録モード」にセットされると、つぎに撮影モードを確定する。本実施例では動画記録モードでの撮影モードも静止画記録モードのものと同様のものとして説明する。ただしもちろん動画撮影に特化した撮影モードを有する構成とすることも可能である。図11は、本実施形態のデジタルカメラ100の動画記録処理を示すフローチャートである。システム制御部50は動画記録モードで第2シャッタースイッチ信号SW2のONを検出すると、図11に示す動画記録を開始する。
まず、ステップS1101において、システム制御部50は、撮像部22において撮像された画像データを所定のフレームレートでメモリ32に順次格納する。また、これと同時に、システム制御部50は、マイク10、音声制御部11、A/D変換器A/D変換器23を介して得られた音声データを、同じくメモリ32に格納する。本実施形態では、音声データとしてPCM形式のデジタルデータを想定している。続いて、ステップS1102において、システム制御部50は、メモリ32に格納された画像データに対して、ファイルに記録するための画像サイズ変換等の画像処理を施す。そして、ステップS1103において、圧縮処理を行いメモリ32に格納する。
ここで記録媒体200に記録する動画データの格納フォーマットを、図12に示す。データの先頭部には映像のフレームレートや音声のサンプリングレートといったデータからなる固定長のヘッダ領域1201が配置される。そして、ヘッダ領域1201の直後に所定の記録単位(本実施形態では1秒間)の音声データを格納する固定長の音声データ領域1202が配置される。音声データはマイク10に入力された音声を音声制御部11及びA/D変換器23を通してデジタルデータにサンプリングして得られたものであり、メモリ32に格納されている。音声データ領域1202の直後から所定のフレームレートで記録されたフレームデータが順次メモリ上に格納される(1203〜1206)。こうして、所定の記録単位で、音声データとフレームデータが順次生成、格納されて、動画データが生成される。
以上のようにして1秒間のデータが蓄積されると、ステップS1104において、システム制御部50は、動画像並びに音声の記録処理と並列して、メモリ32に蓄積された動画データを記録媒体200に記録する記録処理を開始する。システム制御部50は、以上のステップS1101〜S1104の処理を、動画停止要求を検出するまで繰り返す(ステップS1105)。尚、動画停止要求は第2シャッタースイッチ信号SW2のONの再検出、記録媒体200の空き容量の不足の検出、或いはメモリ32の空き要領の不足の検出によって発生される。
図9は前述した通り、本デジタルカメラ100において記録処理の結果記録媒体200に記録されるディレクトリ構成例を示したものである。動画記録モードにおいて記録される動画像ファイルには、515,517に示されるように拡張子AVIが付与され、管理情報を記録するサムネイルファイルには、516,518に示されるように拡張子THMが付与される。
動画停止要求に応じて動画記録処理が停止すると、処理はステップS1105からステップS1106へ進む。ステップS1106において、システム制御部50は、メモリ32に残った動画データを記録媒体200に書き込んだ後、各音声データ/映像データへのオフセットやサイズを格納したインデックス情報1218を記録する。そして、ステップS1107において、システム制御部50は、トータルフレーム数などのヘッダ情報を生成する。ステップS1108において、システム制御部50は、トータルのデータサイズをディレクトリエントリに記載し、その情報を記録媒体200に記録する。こうして、動画ファイルの記録が完了する。続いて、ステップS1109において、動画ファイルの管理情報を前述した動画ファイル名と同一番号を有し、拡張子にTHMを有するサムネイルファイル(例えばMVI_0005.THM(516))に生成する。以下、サムネイルファイルの構成及び生成・記録処理について図13を用いて説明する。
[サムネイルファイルの構成と記録処理]
動画記録で生成するサムネイルファイルは、画像ファイルと同様の図10に示すファイル構造を有している。但し、サムネイルデータを記録する領域710は有しておらず、サムネイル画像は圧縮データ(Compressed data)716に記録される。
サムネイルファイル701は先頭に画像開始を示すマーカ(SOI)702を有し、その後にアプリケーションマーカ(APP1)703を有する。アプリケーションマーカ703内には、
・サイズ(APP1 Length)703、
・アプリケーションマーカの識別コード(APP1 Identifier Code)705、
・画像データの作成日時(Date Time)706、
・画像データが生成された日時(Date Time Original)707、
・画像データの分類情報718、
・顔情報719、
・その他の撮影情報709から構成される。
サムネイルファイルの画像データは動画記録開始時の先頭フレームの縮小画像である。画像データは、量子化テーブル(DQT)712、ハフマンテーブル(DHT)713、フレーム開始マーカ(SOF)714、スキャン開始マーカ(SOS)715及び縮小画像に対応する圧縮データ716から構成される。画像データは、画像データの最後を示すマーカ(EOI)717で終端される。
次に、サムネイル記録処理(ステップS1109)について図13のフローチャートを用いて説明する。
ステップS1301において、システム制御部50は、サムネイル用画像を生成する。本実施形態では、メモリ32に格納されている動画像データの先頭フレームを所定の画像サイズに変換するなどの画像処理を施してサムネイル用画像が生成される。次に、ステップS1302において、圧縮/伸張部16がステップS1301で生成されたサムネイル画像に対して圧縮処理を行う。そして、ステップS1303において、図10を参照して説明したアプリケーションマーカ703で構成されるヘッダを生成する。この処理に関しては図8により上述した通りである。ヘッダの生成を完了すると、ステップS1304において、システム制御部50は、ヘッダ及びサムネイル画像データを含むサムネイルファイルを記録媒体200に書き込み、サムネイル生成処理を終了する。
[受信モード処理について(S309)]
次に、ステップS309におけるその他のモードの処理の一つである受信モード処理について説明する。デジタルカメラ100のモード切替スイッチ60を受信モードに切り替えると、図14の受信処理が行われる。尚、以下では、外部装置(通信対象機器)より画像ファイルを受信し、記録媒体に記録する処理を説明する。
ステップS1401において、システム制御部60は、通信対象機器の存在を確認する。通信対象機器が存在しないと判定された場合は、当該受信処置を終了する。通信対象機器が存在すると判定された場合、システム制御部60は、ステップS1402において送信要求の有無を判定する。送信要求が無いと判定された場合は、処理をステップS1401に戻し、再度通信対象機器の有無を確認し、送信要求を待つ。
一方、送信要求が有ると判定された場合、ステップS1403において、システム制御部50は、通信対象機器から通信部110を通してデータを受信し、受信したデータを一時的にメモリ32に保持する。そして、ステップS1404において、システム制御部50は、受信したデータを記録媒体200に書き込む。このとき、受信データのヘッダ部に分類情報が含まれる場合はそのまま記録媒体200に記録し、分類情報が含まれない場合は、図8に示した処理と同様の処理によって新たに分類情報を付与してもよい。この場合、撮影時のカメラの設定条件は受信データのヘッダ部を参照して取得する。例えば、受信データのヘッダ部に含まれる顔情報719や、その他の撮影情報709に含まれる撮影モード(シーンモード)情報等が参照される。また、被写体情報は受信データのヘッダ部を参照して取得してもよいし、受信画像データを解析して新たに検出しても良い。書き込み完了後は、処理はステップS1401に戻り、再度通信対象機器の有無を確認し、送信要求を待つ。通信対象機器がないと判断されたならば当該処理を抜ける。
[再生モード処理について(S308)]
図15は、本実施形態のデジタルカメラ100の再生モードの動作を説明するフローチャートである。図15のフローチャートは、図3のステップS308の詳細を示している。
ステップS1501において、システム制御部50は、記録媒体200から最新画像情報を取得する。最新画像情報の取得を総枚数計算や検索リスト作成よりも先に行うことで、再生モードに入るとすばやくそれらの処理の画像表示ができるというメリットがある。ステップS1502において、システム制御部50は、ステップS1501における最新画像情報の取得が正しく行われたかどうかをチェックする。最新画像情報を取得できなかった場合、処理はステップS1509に進む。ステップS1509において、システム制御部50は、画像なし時の入力待ち状態となる。このステップS1509の処理は図16のフローチャートにより後述する。尚、最新画像情報を取得できない場合とは、画像が一枚もないような状態や、メディア不良によって画像情報が取得できなかったような状態等が考えられる。最新画像情報が取得できれば、少なくとも画像が1枚は存在すると判断され、処理はステップS1503へ進む。
ステップS1503において、システム制御部50は、ステップS1501で取得した最新画像情報を元に記録媒体200から最新画像データを読み込む。そして、ステップS1504において、システム制御部50は、ファイル解析処理を行い、読み込んだ最新画像データにおける画像の撮影情報や属性情報等を取得する。ファイル解析処理については図45等により後述する。ステップS1505において、システム制御部50は、読み込んだ最新画像データを表示する。さらに、このとき、ステップS1504で取得された撮影情報や属性情報等も 表示する。また、ステップS1504のファイル解析結果に応じて、ファイルの一部が壊れているなど不正なデータということがわかればエラー表示も合わせて行われる。
ステップS1506において、システム制御部50は、記録媒体200に記録されている画像の総枚数取得処理を開始する。このステップS1506の処理はバックグランドで稼動し、その完了を待たずに次の処理に進むことができる。このようにすることで、多くの画像データが記録媒体200に納められており、総枚数計算に時間がかかるような場合でも、総枚数の計算の完了を待たずに画像を閲覧することが可能になる。この処理は、記録モードから再生モードに移行した際に、記録モードで新たに画像データが記録、或いは削除され、総枚数に違いが発生した場合に特に有効な処理である。記録モードで新たに画像データが記録或いは削除されていない場合には、既に計算済みの総枚数を利用するため、総枚数計算の処理は行わなくても良い。
次に、ステップS1507において、システム制御部50は、検索リストの作成を開始する。検索リストとは画像データに付与された属性情報を予め取得し管理するリストである。予め検索リストを作っておくことで属性ごとの再生や消去といった処理を迅速に行うことが可能となる。検索リスト作成処理も総枚数計算同様にバックグランドで実行されるので、その完了を待たずに次の処理を実行させることができる。ステップS1508において、システム制御部50は、入力待ち状態に入る。この入力待ち状態における処理は図17のフローチャートにより後述する。
[再生モード処理における画像なし時の入力待ち処理(S1509)]
図16は、再生モードにおける画像なし時入力待ち状態における処理を示すフローチャートである。
まず、ステップS1601において、システム制御部50は、画像データがないことをユーザに通知するべく、「画像がありません」というメッセージ表示を画像表示部28において行う。次に、ステップS1602において、システム制御部50は、操作入力を待つ。ここでいう操作入力とはユーザによるボタン、電池蓋に対する操作や、電源の低下などを知らせるイベント等が含まれる。何らかの入力があった場合、処理はステップS1603へ進み、システム制御部50は、当該入力が終了ボタンだったかどうかチェックする。終了ボタンと判定された場合は、再生モード処理を終了し、図3のステップS310へ進む。一方、操作入力が終了ボタン以外だった場合は、ステップS1604へ進み、当該操作入力に対応する処理が行われる。例えば、画像データがなくてもメニューボタンの操作が入力された場合は、画像表示部28にメニュー表示を行い、ユーザが設定変更等を行えるようにする。
[再生モード処理における再生入力待ち処理(S1508)]
図17は、再生モード処理における入力待ち状態の処理を説明するフローチャートである。
ステップS1701において、システム制御部50は、ユーザによる操作入力があるかどうかをチェックする。ここでいう操作入力とは、ユーザによるボタン、電池蓋に対する操作や、電源の低下などを知らせるイベントなどが含まれる。何も入力がなければ入力があるまで待つ。何らかの操作入力があった場合、処理はステップS1702へ進む。
ステップS1702において、システム制御部50は、当該操作入力が操作部70に含まれる画像送りボタンの入力かどうかを判定する。操作入力が画像送りボタンであった場合、処理はステップS1703へ進み、システム制御部50は次の表示画像を読み込む。画像送りのボタンは送り方向に応じた一対のボタンで構成されており、操作されたボタンに対応する送り方向に応じて次の表示画像が読み込まれることになる。次に、ステップS1704において、システム制御部50は、ステップS1703で読み込まれた画像データに対して撮影情報や属性情報などのファイル解析処理を行う。ファイル解析処理については図45等により後述する。そして、ステップS1705において、システム制御部50は、ステップS1703で読み込んだ画像データの表示を行う。このとき、ステップS1704におけるファイル解析処理の結果を用いて、撮影情報や属性情報等を表示する。また、ステップS1704のファイル解析結果に応じて、ファイルの一部が壊れているなど不正なデータと判別された場合は、エラー表示も合わせて行う。表示が完了するとステップS1701の入力待ち状態へ戻る。
ステップS1702において入力が画像送りボタンではないと判定された場合、ステップS1706において、システム制御部50は、当該操作入力が終了ボタンかどうかを判定する。終了ボタンであると判定された場合、処理はステップS1707へ進み、システム制御部50は、検索リスト作成処理を終了する。ここでは、検索リストが作成途中ならばその作成処理を中断させ、既に作成が完了していれば何も行わない。次にステップS1708において、システム制御部50は、総画像枚数計算の終了処理を行う。この処理もステップS1707の処理同様、総枚数計算がまだ途中だったならばその計算処理を中断し、既に完了していれば何も行わない。そして、再生モード処理を終了し、図3のステップS310へ進む。
ステップS1706で操作入力が終了ボタンではないと判定された場合、処理はステップS1709へ進む。ステップS1709において、システム制御部50は、ステップS1506(図15)で開始した総画像枚数計算の処理が完了しているかチェックする。そして、まだ完了していない場合はステップS1701の操作入力待ち状態へ戻る。このとき、まだ完了していない旨を伝えるメッセージやアイコン表示を行うことも考えられる。以上の処理により、画像送りボタンによる画像送り操作と終了ボタンによる終了操作は画像枚数計算の完了を待たずに実行されるが、他の操作入力理は総画像枚数計算処理が完了するまでは無視されることになる。
ステップS1709で総画像枚数が終了していると判定された場合、処理はステップS1710へ進む。ステップS1710において、システム制御部50は、操作部70の操作により分類情報設定メニューが選択されたかどうかを判定する。分類情報設定メニューが選択されたと判断された場合、処理はステップS1711へ進み、システム制御部50は分類情報設定モードの処理を実行する。分類情報設定モードの処理については、図34A、図34B等により後述する。ステップS1710において、分類情報設定メニューの選択ではなかった場合、処理はステップS1712へ進む。
ステップS1712において、システム制御部50は、当該操作入力が操作部70に含まれる消去ボタンの操作であるかどうかを調べる。消去ボタンの操作入力であると判定された場合、処理はステップS1713へ進む。ステップS1713において、システム制御部50は、現在画像表示部28に表示されている画像データの消去を実行する。画像データの消去が完了するとステップS1714において消去後の総枚数をチェックする。総枚数が0になっていた場合はステップS1715へ進み、画像なし時入力待ち状態へ移る。この処理は、図16により上述したとおりである。
一方、消去後に画像データが残っている場合はステップS1716へ進み、システム制御部50は、次の画像データを表示するべく、次の表示対象の画像データを読み込む。ここで表示対象となる画像データは、消去された画像データのファイル番号の次のファイル番号の画像データとする。尚、最新の画像データが消去された場合は、消去された画像データのファイル番号よりも1つ前のファイル番号の画像データを表示対象とする。ステップS1717において、システム制御部50は、ステップS1716で表示対象として読み込んだ画像データに対してファイル解析処理を行い、撮影情報や属性情報などを得る。ファイル解析処理については図45等により後述する。そして、ステップS1718において、システム制御部50は、ステップS1716で読み込んだ画像データを画像表示部28に表示する。このとき、ステップS1717で取得された撮影情報や属性情報なども表示する。また、ステップS1717のファイル解析結果に応じて、ファイルの一部が壊れているなど不正なデータであると判定されたならば、その旨のエラー表示も行う。表示が完了するとステップS1701の操作入力待ち状態へ戻る。
ステップS1712において当該操作入力が消去ボタンでない場合、処理はステップS1719に進む。ステップS1719において、システム制御部50は、ステップS1507で開始された検索リスト作成処理が完了しているかどうかをチェックする。まだ検索リスト作成処理が完了していない場合は、ステップS1701の操作入力待ち状態へ戻る。このとき、上述した総枚数計算が完了していないときと同様に、まだ検索リスト作成処理が完了していない旨を伝えるメッセージやアイコン表示を行うようにしてもよい。以上の処理により、上述した処理以外の操作入力理は総画像枚数計算処理が完了するまでは無視されることになる。ここで、上述した処理とは、画像送り操作(S1702〜S1705)、終了操作(S1706〜S1708)、分類情報設定モードの実行(S1710、S1711))及び画像消去操作(S1712〜S1718)である。
ステップS1719で検索リスト作成が完了していると判定された場合、処理はステップS1720へ進む。ステップS1720において、システム制御部50は、当該操作入力がジャンプ指示かどうかを判定する。操作入力がジャンプ指示であると判断された場合はステップS1721のジャンプモードへ遷移する。ジャンプモードの処理については、図19〜E等により後述する。
操作入力がジャンプ指示でない場合、処理はステップS1722に進み、システム制御部50は、当該操作入力が選択操作か否かを判定する。操作入力が選択操作と判断された場合はステップS1723の選択操作へ遷移する。選択操作の処理については図36、図37、図38A〜C、図39等により後述する。
ステップS1722で操作入力がジャンプ指示ではないと判断された場合、処理はステップS1724へ進む。ステップS1724ではそれ上記以外の操作入力に応じた処理を行う。たとえば、画像の編集処理や、マルチ再生への切り替えや、メニューボタンによるメニュー表示などである。尚、マルチ再生とは、画像データの縮小画像を画像表示部28の一画面に複数枚並べて表示する再生モードである。
[編集処理について]
図17のステップS1724におけるその他の処理の1つとして、画像表示部28に表示された画像ファイルに対して画像サイズ変換を行って新規に画像ファイルを記録する編集処理を実行することが可能である。以下、この編集処理について、図18のフローチャートを参照して説明する。尚、以下では、編集対象となるファイルがIMG_0002.JPG(505)であるとして説明する。
ステップS1801において、システム制御部50は、画像表示部28に表示中の画像データの画像ファイル名(IMG_0002.JPG)を取得する。次に、ステップS1802において、システム制御部50は、取得したファイル名に対応する画像データを記録媒体200からメモリ32に読みこむ。ステップS1803において、システム制御部50は、圧縮/伸張部16を用いて、ステップS1802で読み込んだ画像データに伸張処理を施し、伸張後の画像データをメモリ32に格納する。続いて、ステップS1804において、システム制御部50は、伸張後の画像データを画像処理部24を用いて所定の画像サイズへの拡大/縮小処理を施し、サイズ変更された画像をメモリ32に格納する。ここで、システム制御部50は、ステップS1802において読み込んだ元画像ファイルの分類情報を取得し、これをシステムメモリ52に記憶する。尚、所定のメニュー画面を用いることにより、ユーザは拡大/縮小処理における倍率を設定することが可能である。
次に、ステップS1807において、システム制御部50は、システムメモリ52に保持されている分類情報の自動付与入/切設定の設定値をいったん「切」にする。尚、元の自動付与入/切設定の設定値は、システムメモリ52の別領域に記録(退避)しておく。続いて、ステップS1809において、メモリシステム制御部50は、編集された画像データのためのヘッダを生成する。より具体的には、メモリ32に読み込まれている元画像ファイルのヘッダ部をコピーし、このコピーされた元画像ファイルのヘッダ部を用いて新規に作成する画像ファイルについて、図8により前述したヘッダ生成処理を行う。ここで、分類情報の自動付与入/切設定は「切」になっているため、分類情報の自動付与は行われない。また、元画像ファイルのヘッダ部のコピーを元にヘッダが生成されるため、元画像ファイルの分類情報は編集後の新規に作成する画像ファイルにそのまま引き継がれることになる。また、画像サイズに関する領域および、作成日時に関する項目等は、適宜変更されることになる。
ヘッダ生成後、ステップS1810において、システム制御部50は、一時的に「切」に設定された分類情報の自動付与入/切設定をシステムメモリ52に記録(退避)した設定値に戻す。以上の処理により、新規に作成する画像ファイルのための画像データの生成が完了するため、新規に作成する画像ファイル名を生成する。本例では、ファイル名としてIMG_0003.JPGが生成されるものとする。ステップS1812において、システム制御部50は、以上のようにして作成された画像ファイルを記録媒体200に書き込み、編集処理を完了する。
以上のように、画像ファイルに編集を行って新規に画像ファイルを作成しても、編集前と編集後で分類情報は変わらない。元画像データの撮影の際に自動で付与された分類情報やユーザによって任意に付与された分類情報を編集後に引き継ぐことで、編集後の画像データも検索などにおいて利便性の高い操作が可能である。
[ジャンプモード(S1721)の処理について(その1:操作画面の表示)]
次に、ジャンプモードにおけるジャンプ処理について説明する。ジャンプ処理とは、特定の属性情報を選択し、その属性情報の単位でもって表示すべき画像データを切り替える処理である。すなわち、特定の属性情報を有する画像ファイルにジャンプする処理である。ジャンプの単位となる属性情報(以下、ジャンプキーという)の具体例としては、撮影日、分類情報、フォルダ、動画等がある。例えば、撮影日をジャンプキーとした場合のジャンプ処理(以下、日付ジャンプという)では、撮影日を基準として、例えば2006年1月1日、2006年1月2日、…、といった日付単位のグループに画像データが分類される。そしてユーザ操作による画像送りが行われるたびに各グループを代表する画像データが1枚ずつ表示される。つまり、画像送りの操作により、各撮影日の代表画像データにジャンプすることになる。なお、ジャンプキーは属性情報に基づくものでなくともよく、例えば、「10枚単位で表示」、「100枚単位で表示」といった、枚数単位でも選択可能である。
次に、ジャンプ処理の流れについて説明する。図19は、図17のステップS1721の処理を示すフローチャートであり、ユーザによりジャンプモードに遷移する操作が行われることで実行される。
まず、ステップS1901において、システム制御部50は、不揮発性メモリ56を参照し、前回のジャンプモードにおいて最後に選択されていたジャンプキーが記憶されているか否かを判定する。この不揮発性メモリ56に記憶されているジャンプキーについては後述する。ジャンプキーが記憶されていると判定された場合、システム制御部50は、ステップS1902において、そのジャンプキーを最初のジャンプキーとして設定する。一方、ジャンプキーが記憶されていないと判定された場合、システム制御部50は、ステップS1903において、不揮発性メモリ56に記憶されたデフォルトのジャンプキーを最初のジャンプキーとする。
ここで、ジャンプモードに遷移した際に画像表示部28に表示される画面の一例を図24Aに示す。2003は現在表示対象となっている画像データを表示する画像表示領域であり、2009はグループの情報を表示する情報表示部である。これら2つについては後述する。2001はジャンプキーを一覧表示する領域(ジャンプキー一覧表示)である。この領域内に、各種のジャンプキーを示すアイコンが表示される。2008は日付ジャンプを示すアイコンである。2002は分類情報をジャンプキーとしたジャンプ処理(「以下、分類ジャンプ」)を示すアイコンである。2004は画像ファイルの属するフォルダをジャンプキーとしたジャンプ処理(「以下、フォルダジャンプ」)を示すアイコンである。2005は動画ファイルであることをジャンプキーとしたジャンプ処理(「以下、動画ジャンプ」)を示すアイコンである。2006は10枚単位で画像送りを行うことを示すアイコンである。2007は100枚単位で画像送りを行うことを示すアイコンである。ジャンプキーのうち、現在選択されているジャンプキーのアイコン表示は、カーソルが当たった状態となる。例えば図24Aでは、アイコン2002が現在選択されている。
このような画面が表示された直後にどのジャンプキーを選択状態にするかを制御するのが図19のステップS1901〜S1903の処理である。例えば、前回のジャンプモードにおいてフォルダジャンプが選択された状態で当該ジャンプモードの処理が終了されたり、電源が切断されたとする。この場合、ステップS1902において、システム制御部50は、ジャンプモード処理に入った際に自動的にフォルダジャンプのアイコン2004にカーソルが当たるよう制御する。それに対して、初めてジャンプモードの画面(図24A)を表示させた場合には、ステップS1903に処理が進む。ステップS1903において、システム制御部50は、デフォルトのジャンプキー、例えばジャンプキー一覧のうち一番上に位置する日付ジャンプをデフォルトのジャンプキーとして選択する。そして、図24Aの表示において、日付ジャンプのアイコン2008にカーソルが当たるよう制御する。尚、このデフォルトのジャンプキーはユーザ操作により任意に決定できるようにしてもよい。
次に、ステップS1904において、システム制御部50は、選択されているジャンプキーに基づき、情報表示部2009の生成を行う。尚、情報表示部2009の生成等については後述する。次に、ステップS1905において、システム制御部50は、表示する画像データをデコードし、画像表示部28より一回り小さいサイズで表示するためにリサイズする。これは、図24Aに示す表示において、画像表示の一部が画像表示部28の左側に表示されるジャンプキー一覧表示2001と重なって隠されてしまい、画像表示が見づらくなるのを防ぐためである。このリサイズ処理により、図24Aの表示において画像データによる画像の全体を表示することが可能となり、ユーザに見やすい画面を提供することが可能となる。
次に、ステップS1906において、システム制御部50は、リサイズされた画像データ、ジャンプキー一覧表示2001、選択されたジャンプキーのカーソル、情報表示部2009を画像表示部28に表示する。表示終了後は、ステップS1907においてユーザからの操作待ち状態となる。
以下、図19のステップS1904の情報表示部生成処理について説明する。
[情報表示部生成処理について]
図24Bは、図24Aに示した情報表示部2009を抽出して示した図である。尚、ここでは、ジャンプキーとしてアイコン2002が選択され、分類ジャンプが行われる場合を説明する。
分類ジャンプにおいては、ジャンプキーである画像データの分類情報を基準としてグループ分けが行われる。すなわち、ジャンプキーの指定はグループ分けのための分類の基準を指定しているといえる。2014は、分類されたグループの種類が識別できるよう表示されたグループアイコンである。左から「風景」(2014)、「イベント」(2016)、「カテゴリ1」(2017)、「カテゴリ2」(2018)、「カテゴリ3」(2019)といった分類情報に対応したグループアイコンが表示されている。なお、グループアイコンは記号に限らず、日付や数字、文字列などを用いてもよい。
2013は画像数バーであり、直下に表示されているグループアイコン2017が示すグループに属する画像ファイルの数をバーの長さで示している。つまり画像数バー2013は、カテゴリ1という分類情報をもつ画像ファイルが何枚あるかを示す指標である。また、2015の表示は、その枚数を文字で示したものである。なお、表示2013および2015においては、枚数ではなく、画像の総ファイルサイズを表すことも可能である。他のグループについても同様の表示を行う。尚、表示2015は選択されたグループアイコンが示すグループに属する画像ファイル数を表示するものであり、グループアイコンの選択に応じて表示内容が切り替わる。尚、ジャンプキー一覧表示2001におけるジャンプキー(アイコン)の選択は、例えば十字ボタンの上下ボタンにより行い、グループアイコンの選択は例えば十字ボタンの左右ボタンにより行われる。選択されたグループのアイコンは、非選択状態のアイコンと識別可能に表示形態が変更される。
表示2011には、画像表示領域2003において現在表示されている画像データの属するグループ、すなわち現在表示中の画像データの分類情報が示される。ここでは「カテゴリ1(Category1)」が表示されている。また、現在表示している画像の属するグループに対応するグループアイコンの色を変えたり、画像数バーの幅を広めたり色を変えるなどして強調表示する。これにより、ユーザは、今どのカテゴリが選択されているのかを容易に認識できる。図24Bでは、グループアイコン2017と画像数バー2013が強調表示されている。
なお、画面スペースを有効に活用するため、選択状態にあるグループのグループアイコンのみを表示するようにしてもよいが、本実施形態の情報表示部2009には複数のグループの情報を一度に一覧表示する。したがって、情報表示部2009は横軸にグループ、縦軸に画像数を表わすグラフ表示となり、どのグループにどのくらいの画像が属しているのかをユーザが一目で把握することが可能となる。このように、グループ別の分類状態をグラフ表示という表示形態により表示することでユーザの視認性を向上させることが可能となる。
次に、具体的な情報表示部生成処理の流れについて図20のフローチャートを用いて説明する。
まず、ステップS1931において、システム制御部50は、選択されたジャンプキーに基づき、記録媒体200に記憶された画像データの属性情報から情報表示部に出力する必要な情報を取得する。次に、ステップS1932において、システム制御部50は、選択されたジャンプキーに基づき画像データのグループ分けを行い、各グループごとの画像データの枚数を取得する。
次に、ステップS1933において、システム制御部50は、それぞれのカテゴリに分類されている画像の枚数を、記録媒体200に記録されている画像の総枚数を利用して正規化する。そして、各カテゴリの画像枚数について、画像表示部28(情報表示部2009)に画像数バーとして表示するための高さを求める。次に、ステップS1934において、システム制御部50は、ステップS1933で求めた高さに基づき、情報表示部2009に表示するグループ分の画像数バーを生成し、配置する。次に、ステップS1935において、配置された画像数バーを、実際に画像表示部28の情報表示部2009中に表示する。ステップS1935による具体的な表示処理については、図25のフローチャートにより後述する。
次に、ステップS1936において、システム制御部50は、画像表示領域2003に現在表示中の画像データが、選択中のジャンプキーのいずれのグループに属しているかを、当該画像データの属性情報を参照することで判定する。いずれかのグループに属している場合には、ステップS1937において、対応するグループアイコン及び画像数バーを強調表示する。一方、どのグループにも分類されていない場合は、ステップS1937をスキップして、情報表示部生成の処理を終了する。
[グラフ表示(S1935)について]
図25を用いて、図20の中ステップS4125のグラフ表示処理について詳細に説明する。
まず、ステップS2101において、システム制御部50は、情報表示部2009に表示するグループ数をカウントするためのカウンタCを初期化しておく。次に、ステップS2102において、システム制御部50は、現在選択されているジャンプキーの種類に対応するグループの種類の総数Nを取得する。そして、ステップS2103において、取得した総数Nと予め決められた所定数Tとを比較する。
総数Nが所定数T以上である場合には、ステップS2104〜S2109により、画像が存在するグループについてのみアイコンと画像数バーの表示処理を行う。この場合、画像が存在しないグループは一切表示されない。一方、総数Nが所定数Tより少ない場合は、ステップS2110〜S2114により、画像の有無にかかわらず、全てのグループについて表示処理が行われる。画像が存在しないグループは、アイコンがグレーアウトして表示される。
ステップS2104において、システム制御部50は、情報表示部2009に表示されているグループ数(Cの値)がグループ表示数D(情報表示部2009に一度に表示可能なグループ数)以上になっていないかを判定する。グループ表示数に到達していなければ、処理は、ステップS2105に進む。ステップS2105において、システム制御部50は、処理対象としているグループに1枚以上の画像が分類されているか否かを判定する。分類されていると判定された場合、システム制御部50は、ステップS2106において当該グループのアイコンと画像数バーを情報表示部2009に表示する。そして、ステップS2107において、システム制御部50は、情報表示部2009に当該グルー表示中のグループの数を表すカウンタCをインクリメントする。ステップS2108において、システム制御部50は、当該グループが最後のグループかどうかを判定し、最後のグループでなければ、ステップS2109に処理を進める。ステップS2109において、システム制御部50は、次のグループを処理対象に設定し、処理をステップS2104に戻す。ステップS2104において情報表示部2009に表示されているグループ数(Cの値)が所定のグループ表示数以上になったと判定された場合、或いは、ステップS2108において最後のグループと判定された場合は、本処理を終了する。
以上説明した処理により、図26Aのようにグループ表示数Dの分だけ表示される。グループ表示数とは、情報表示部2009に一度に表示可能なグループの数である。例えば、図26Aに示される情報表示部の表示例ではグループ表示数Dは5である。なお、図26Aに示す例では、選択状態にあるグループのグループアイコン2202(03/16/2005)のみが表示されている。この時、カテゴリ表示数Dよりも画像が分類されているグループの数が多い場合は、表示可能な分だけグループが表示される(本例では5つのグループだけが表示される)。ユーザがマーク2201を操作部70を用いて選択することにより、非表示となっている他のグループを表示させることが出来る。一方、カテゴリ表示数Dよりも画像が分類されているグループの数が少ない場合は、図26Bに示されるように、情報表示部2009に全てのグループが表示される。
ステップS2103において、取得したグループの種類の総数Nが所定数T未満だった場合について説明する。この場合、ステップS2110〜S2116の処理を行うが、ステップS2110〜S2112、S2114〜S2116の処理はステップS2104〜〜S2109と同様である。異なる点は画像が1枚も分類されていないグループの取り扱い(ステップS2113)である。即ち、ステップS2111で当該グループに1枚も画像が分類されていないと判定された場合には、当該グループのグループアイコンをグレーアウトして表示する。図26Cにグレーアウト処理の具体例を示す。グループアイコン2241のようにグレーアウト表示等をして、当該グループに画像が分類されていないことを示す。一方、画像が1枚でも分類されているグループは画像数バーを表示するとともに、グループアイコンを通常の表示態様で表示する(ステップS2112)。ステップS2114によるカウンタCのインクリメントは、ステップS2112とS2113のいずれかが実行された後に実行されるので、画像が分類されているグループ及び分類されていないグループの双方合わせてD個のグループが表示される。
以上のように、ジャンプキーの種類に対応したグループの数、及び各グループに分類された画像ファイルの数に応じて、グループアイコンの表示態様を異ならせる処理を行う。この処理によって、ユーザは画像ファイルのないグループを一目で把握することが可能である。また、上記処理では、グループ数が一定(T)以上の場合には、画像ファイルの分類されないグループのグループアイコンを非表示とした。このことにより、ユーザはグループ数が多い場合に画像ファイルのあるグループのみを左右ボタンで確認し、選択することが可能となる。必要以上に多くのグループが表示されることが防止されるので、操作性が向上する。
なお、ステップS2103での判定を、例えば、以下(1)〜(4)のいずれかの条件で行うことも可能である。
(1)現在選択されているジャンプキーが、どの画像ファイルも必ずいずれかのグループに属するように分類される種類のものか否かで判定する。例えば、撮影日の属性情報は、通常画像ファイルが必ず有する情報である。この撮影日情報を用いた日付ジャンプの場合には、1枚も画像ファイルが分類されていないグループのグループアイコンは非表示とする。それに対して、分類情報はすべての画像ファイルが有しているとは限らない情報である。この分類情報を用いた分類ジャンプの場合には、1枚も画像ファイルが分類されていないグループのグループアイコンはグレーアウト表示とする。
(2)現在選択されているジャンプキーが、撮影条件に関する情報に基づいて分類するものか否かで判定する。例えば、撮影日という属性情報は撮影条件の一種である。この撮影日情報を用いた日付ジャンプの場合には、1枚も画像ファイルが分類されていないグループのグループアイコンは非表示とする。それに対して、フォルダに関する情報は撮影条件に関するものではない。したがって、この分類情報を用いたフォルダジャンプの場合には、1枚も画像ファイルが分類されていないグループのグループアイコンはグレーアウト表示とする。
(3)現在選択されているジャンプキーが、撮影後、後から付加できるパラメータに基づいて分類されているか否かで判定する。例えば、撮影日の属性情報は、後から変更できる性格のものではない。この撮影日情報を用いた日付ジャンプの場合には、1枚も画像ファイルが分類されていないグループのグループアイコンは非表示とする。それに対して、分類情報は後からユーザ操作により付加できる属性情報である。この分類情報を用いた分類ジャンプの場合には、1枚も画像ファイルが分類されていないグループのグループアイコンはグレーアウト表示とする。属性情報を後から付加できる場合には、いずれの画像にも付加されていない分類情報もいずれ用いる可能性がある。従って、すべてのグループ、すなわち分類情報を表示したほうがよい。
(4)現在選択されているジャンプキーが、1つの画像ファイルに複数個のパラメータを付加できるような属性情報か否かで判定する。例えば、撮影日の属性情報というのは1つの画像ファイルに2つの日付を付加できる性格のものではない。この撮影日情報を用いた日付ジャンプの場合には、1枚も画像ファイルが分類されていないグループのグループアイコンは非表示とする。それに対して、分類情報は1つの画像ファイルに2つの分類情報を付加できる。この分類情報を用いた分類ジャンプの場合には、1枚も画像ファイルが分類されていないグループのグループアイコンはグレーアウト表示とする。
また、情報表示部2009における上記表示例では各グループにおける画像数を画像数バーで示したが、これに限られるものではない。例えば、画像数バーの代わりにポジションバーを用いることも可能である。ポジションバーとは、現在表示している画像が、全体の画像の中のどこに位置しているのかを示すバーである。図24Cにポジションバー表示の一例を示す。ポジションバー2091では、バー全体が全画像数を示し、ポイント2092が現在表示中の画像2093の位置を示す。この表示形態は、ジャンプキーが分類情報ごとにジャンプするようなキーではない場合、例えば動画ジャンプ、10枚ごとにジャンプする10枚単位での画像送りなどに有効である。すなわち、連続した画像の集合から任意の一点にジャンプするような場合には、画像数バー表示よりもポジションバー表示の方が視認性を高めることができる。
尚、上述した画像数バーとポジションバーをジャンプキーに応じて自動的によってヒストグラムとポジションバーの表示を切り替えるようにすることも可能である。
[ジャンプモード(S1721)の処理について(その2:ジャンプ操作)]
図19のフローチャートに戻り、ステップS1907においてユーザからの操作を検知した場合の処理について述べる。
〈ジャンプキーの切り替え〉
ユーザからの操作があった場合、処理はステップS1907からステップS1908へ進み、システム制御部50は、ユーザから入力操作されたキーが、上ボタンまたは下ボタンかどうかを判定する。上、下ボタンのいずれかであると判定された場合は、ステップS1908からステップS1909へ処理が進む。ステップS1909では、ジャンプキー一覧表示2001におけるジャンプキーのカーソルを上下方向に移動させる。すなわち、ユーザは上下ボタンを操作することにより、ジャンプキーを所望のものに切り替えることが可能となる。
ステップS1909のジャンプキー切り替え処理を、図21のフローチャートを用いて説明する。
まず、ステップS1951において、システム制御部50は、ユーザの上下ボタン操作により選択されたジャンプキーに応じて、情報表示部2009を再度生成する。これは、ジャンプキーが変われば、表示する内容(グループ構成等)が変わり、上述したグラフ表示を再生成する必要があるからである。次に、ステップS1952において、システム制御部50は、ジャンプキー一覧表示2001におけるカーソルの移動処理を行う。上ボタンが押されたのであればジャンプキーをジャンプキー一覧表示2001における一つ上のアイコンへ、下ボタンが押されたのであれば一つ下のアイコンへカーソルを移動させる。そして、ジャンプモード切り替え処理を終了する。
〈グループの切り替え〉
再び図19のフローチャートに戻り、ステップS1907において検出された操作入力が左右ボタンであった場合について説明する。この場合、処理はステップS1910からステップS1911へ進む。
ステップS1911において、システム制御部50は、左右ボタンの入力に応じてグループの切り替え処理を行う。例えば、図24Bにおいて、「カテゴリ1」2017が選択されている状態で右ボタンが押されると、図24Aの画像表示領域2003の内容が「カテゴリ2」2018の分類情報をもつ画像ファイルのものに切り替わる。また、同様に左ボタンが押されると、「イベント」2016の分類情報をもつ画像ファイルに表示が切り替わる。すなわち、ユーザは左右ボタンを操作することにより、表示の対象となるグループを所望のものに切り替え、ジャンプ処理を実行させることが可能となる。
以下、ステップS1911で実行される、グループの切り替えに伴うジャンプ実行処理について説明する。図22は、ステップS1911のジャンプ実行処理を説明するフローチャートである。
ステップS1961において、システム制御部50は、画像表示領域2003に現在表示されている画像データが、選択されたジャンプキーに基づくグループのいずれかに分類されているか否かを判定する。例えば、分類情報などは必ずしもすべての画像データに付与されているとは限らないため、そのような画像データの存在を本ステップで判定する。いずれかのグループに分類されていると判定された場合、ステップS1962において、システム制御部50は、操作されたボタンが右ボタンであるか否かを判定する。
右ボタンであった場合には、処理はステップS1963へ進む。ステップS1963において、システム制御部50は、情報表示部2009において現在カーソルがあるグループの1つ右側に表示されているグループに属する画像データより、当該グループを代表する画像データを取得する。例えば、図24Bにおいて、現在「カテゴリ1」2017にカーソルがあるとすると、「カテゴリ2」2018のグループに属する画像データから代表画像データが取得される。
本実施形態では、グループを代表する画像データとは、最も若いIDを有する画像データであるとする。尚、本実施形態では、IDとしてファイル名を用いる。本実施形態のファイル名は、図9により上述したように、XXXXyyyy.JPGという形式であり、yyyyには0001〜9999の数値が入る。そして、yyyy(ファイル番号)によって示される数値の一番若いファイル名が最も若いIDということになる。もちろん、ファイル名を昇順或いは降順に並べた場合に、先頭に来るファイル名を最も若いIDとしてもよい。
一方、右ボタンと判定されなかった場合は左ボタンが押されたことになる。従って、処理はステップS1962からステップS1964に進む。ステップS1964において、システム制御部50は、情報表示部2009において現在カーソルがあるグループの1つ左側に表示されているグループに対応するグループに属する画像データより、当該グループを代表する画像画像データを取得する。例えば、図24Bにおいて、現在「カテゴリ1」2017にカーソルがあるとすると、「イベント」2017のグループに属する画像データから代表画像が取得される。尚、グループを代表する画像データは、上述したように、そのグループで最も若いIDを有する画像データとする。
また、ステップS1961において、画像表示領域2003に表示中の画像データがどのグループにも分類されていないと判定された場合には、処理はステップS1965に進む。ステップS1965において、システム制御部50は、現在選択されているジャンプキーに属するグループであって、画像が分類されているグループの中で、最も優先度の高いグループにおける、最も古いIDを持つ画像データを取得する。
ステップS1966において、システム制御部50は、ステップS1963、S1964、S1965のいずれかのステップで取得された画像データをデコード、リサイズする。そして、ステップS1967において、システム制御部50は、情報表示部2009を再生成し、ジャンプ実行処理を終了する。尚、情報表示部2009の生成処理については図20により前述したので、ここでは述べない。
以上のようにして、ステップS1911の処理を終えると、処理はステップS1906に戻る。ステップS1906において、システム制御部50は、ステップS1967でリサイズされた画像を画像表示部28に表示する。こうして、画像表示領域2003の表示内容が、選択されたグループに対応した画像に更新される。以上のように、ステップ1907で検出された上下ボタン入力或いは左右ボタン入力に応じてジャンプキー切替処理(S1909)、またはジャンプ実行処理(S1911)が実行される。そして、処理を終えると、画像表示部28への再描画が行われ(S1906)、再びユーザからの操作待ち状態となる(S1907)。
〈画像一枚送り〉
再び図19のフローチャートに戻り、ステップS1907で検出された操作入力がホイール73の操作入力であった場合、処理はステップS1912からステップS1913へ進む。ステップS1913において、システム制御部50は、画像1枚送りの処理を実行する。以下、画像1枚送り処理について、図23のフローチャートを参照して説明する。
まず、ステップS1981において、ユーザから見て時計回り(右回り)にホイール73が操作されたか否かを判定する。時計回りであった場合には、現在カーソルのあるグループ内で、表示中の画像データよりもIDの若い画像データを検索し、そのIDを取得する。尚、上述したように、本実施形態においては、IDとしてファイル名が用いられる。そして、ステップS1982では、当該グループ内のファイルをファイル番号順に並べた場合に、表示中の画像データのファイル名の次に来るファイル名の画像データが検索されることになる。尚、図9で説明したように、ファイル名の生成においてファイル番号を1ずつ増加させていくため、ファイル番号の大きいほうが、時間的には後で生成されたファイルとなる。従って、本実施形態では、ファイル番号の大きいほうがより若いIDということになる。
一方、時計回りではないと判定された場合、すなわち反時計回り(左回り)に操作された場合には、処理はステップS1981からステップS1983へ進む。ステップS1983においてシステム制御部50は、現在カーソルのあるグループ内で、表示中の画像データの次にIDの若い画像データを検索し、IDを取得する。即ち、当該グループ内のファイルをファイル番号順に並べた場合に、表示中の画像データのファイル名の一つ手前に来るファイル名の画像データが検索される。
尚、上記ではファイル番号を用いてID(ファイル名)の順序を決定したが、ファイル名全体を用いて昇順、降順で並べるようにしてもよい。
次に、ステップS1984において、システム制御部50は、ステップS1982或いはステップS1983で取得したIDに対応する画像データをデコード、リサイズする。そして、ステップS1985において、システム制御部50は、情報表示部2009を再生成し、画像一枚送りの処理を終了する。
なお、ジャンプキーが動画の場合、すなわち動画ジャンプのアイコン2005が選択されている場合には、ホイール73の操作によって、表示中の動画データをフレーム単位で送ることができる。
[ジャンプモード(S1721)の処理について(その3:絞込み表示)]
再び、図19に戻り、ステップS1907において検出された操作入力が絞込み表示のための操作(絞込みボタンの操作)であった場合、処理はステップS1914からステップS1915へ進む。
ステップS1915において、システム制御部50は、現在画像表示領域2003に表示中の画像データを、画像表示部28の全体に表示するように描画し直す(リサイズする)。そして、ステップS1916において、システム制御部50は、絞込み再生モードによる処理を実行する。絞り込み再生モードでは、特定のグループを指定すると、そのグループで絞り込んだ状態で画像データの再生等を行うことが可能となる。この絞り込み再生処理について図27を用いて説明する。
〈絞り込み再生処理〉
絞込み再生モードでは、記録媒体200に記録されている画像データの中から、ある分類情報に分類されている画像、即ちあるグループに属する画像のみを再生対象とする。そして、再生対象の画像について、削除、プロテクト、画像の回転及びマルチ画像表示など、通常再生モードと同様の動作を可能とする。尚、分類情報には、前述したように、人物、風景、イベント、カテゴリ1、2、3、作業用等の分類がある。次に、図27を用いて絞込み再生モード処理について説明する。図27は、図19のステップS1916の処理を詳細に示したフローチャートである。
絞込み再生モードに入ると、ステップS2301において、システム制御部50は、絞込み再生モードを抜けるための手段を示すガイダンス(図33Aの2401)を画面に表示する。このガイダンスは、所定の操作部材、例えば操作部70の上方向ボタンを操作することにより、全画像再生に戻ることを示している。
次に、ステップS2302において、システム制御部50は、絞込み状態などを表すアイコンなどを表示する絞込み情報表示処理を実行する。絞り込み情報表示処理の詳細については、図29を用いて後述する。
次に、ステップS2303において、システム制御部50は、記録媒体200に新しく画像データが追加されたかを判定する。記録媒体200への画像データの追加があった場合、処理はステップS2303に進み、システム制御部50は、絞込み解除処理を実行する。絞込み解除処理は図28により後述する。尚、本実施形態における画像データの追加は、例えば、絞り込み再生中の画像について色編集処理や部分拡大処理をした後、編集後の画像を新規保存した場合に発生する。また、絞り込んだ状態を維持したまま新たな画像を撮影した場合にも発生する。
ステップS2303において画像データの追加が検出されなかった場合には、処理はステップS2304に進み、ユーザからの操作入力を待ち受ける状態に遷移する。
ユーザからの操作入力が検出され、それが絞込み再生の解除指示もしくはモード切替であった場合、処理はステップS2305からステップS2306へ進み、絞込み解除処理が実行される。尚、絞り込み再生状態で、分類情報設定のための操作がされた場合には、この操作は絞り込み再生の解除指示と判断される。また、絞込み解除指示は、絞込みを行うジャンプモードに入るためのボタンと同一である場合もある。また、モード切替とは、シーンモードに移行して再生モードから抜ける要求があった場合や、画像の分類情報設定モードへ移行する要求があった場合を指す。このとき、再生モードへ抜ける動作に関しては、設定によって自動的に絞込みを解除するかどうかをあらかじめ設定することも可能である。
一方、ステップS2304で検出された操作入力が、削除指示(削除ボタン)であった場合は、処理はステップS2307からステップS2308へ進む。ステップS2308において、システム制御部50は、画像表示部28に現在表示している画像データの画像ファイルを削除する。そして、ステップS2309において、システム制御部50は、現在絞り込んでいるグループに画像が残っているかどうかを判定する。当該グループに残っている画像データが存在しない場合には、ステップS2306へ進み、絞込み解除処理を行う。当該グループに画像データが残っている場合は、処理はステップS2201に進む。システム制御部50は、ステップS2301において次に表示する画像データのIDを取得し、ステップS2312においてその画像データのデコード、リサイズを行い、ステップS2312においてその画像を画像表示部28に表示する。そして、画像データを画面に表示した後、処理はステップS2302に戻り、絞込み情報表示処理が実行される。
また、ステップS2304で検出された操作入力が画像遷移を指示する場合(本例では左右ボタンの操作入力であった場合)、処理はステップS2313からステップS2314へ進む。ステップS2314において、システム制御部50は、押されたボタンが左ボタンならば、現在表示中の画像データを基準として、絞り込実に用いられている分類情報を持つ1つ前の画像IDを、右ボタンならば当該分類情報を持つ1つ後の画像IDを取得する。画像IDの取得後、システム制御部50は、ステップS2312において対象の画像データをデコード、リサイズし、ステップS2312においてそれを画面に表示する。その後、ステップS2302に戻り、絞込み情報表示処理が実行される。
また、ステップS2304で検出された操作入力がシングル/マルチ画面切替を指示する場合、処理はステップS2315からステップS2316へ進む。ステップS2316において、システム制御部50は、現在の画像表示部28における表示がシングル再生画面であればマルチ再生画面に、マルチ再生画面であればシングル再生画面に表示モードを切り替える。そして、ステップS2317において、システム制御部50は、画像表示部28に表示すべき画像のIDを取得する。その後、システム制御部50は、ステップS2311で、ステップS2317で取得したIDに対応する画像データをデコード、リサイズする。そして、ステップS2312において、ステップS2311で処理した画像データを画像表示部28に表示する。その後、ステップS2302に戻り、絞込み情報表示処理を実行する。
ステップS2304で検出された操作入力が、上記いずれにも該当しない場合は、ステップS2318で、操作入力に応じたその他の絞込み再生処理をする。処理終了後は、ステップS2302に戻り、絞込み情報表示処理が実行される。
なお、絞込み再生中であっても種々の操作を行うことが可能である。例えば、絞込み再生中に現在絞り込んでいる分類情報とは別の分類情報で絞込みを伴う処理を行うことも可能である。この場合には現在の絞込み再生モードを自動的に解除する。解除することにより、ユーザはどの属性情報で絞り込んでいるか混乱することがなくなる。なお、その絞込みを伴う処理が、画像ファイルのプロテクト処理や削除など、画像再生が目的ではない処理だった場合には現在の絞込み再生を維持し、スライドショーなどの再生を目的とした処理だった場合には絞込み再生を解除するようにしてもよい。
<スライドショー処理>
ここで一例として、絞込み再生モードの途中でスライドショーを行う指示が行われた場合について説明する。スライドショーを行う指示は、ユーザがメニューボタンを押下し、メニューからスライドショー実行を選択することにより行われる。
図30に絞込み再生モードの途中でスライドショーを行う指示が行われた場合のフローチャートを示す。まずステップS2361で、システム制御部50は画像表示部28にスライドメニューを表示する。スライドショーメニューとはユーザにスライドショーの対象を選択させるためのメニューである。図31にスライドショーメニューの一例を示す。2381はスライドショーされる最初の画像データのビューが表示される領域である。
ステップS2362において、システム制御部50は、スライドショーの対象を選択する。本実施例では、スライドショーの対象となる画像を特定の単位でまとめて選択することが可能である。図31中、2383はスライドショーの対象をアイコンで示したものである。ユーザは左右キーを操作することにより、これらのアイコンの中から所望のアイコンを選択する。システム制御部50はユーザ操作に応じて、スライドショーの対象を選択する。スライドショーの対象の例として、例えば特定の日時に撮影された画像データを対象としてスライドショーする、特定の分類情報を含む画像データをスライドショーする、動画データをスライドショーする、静止画像データをスライドショーする、などがある。なお、本実施例では、絞込み再生中にスライドショーを行う場合には、予め絞込みの属性情報に応じたアイコン2383が選択された状態とする。例えば、特定のフォルダで絞込み再生中にスライドショーメニューが表示された場合には、アイコン2383のうちフォルダを示すアイコンが最初に選択されていることになる。これはステップS2373の属性情報の選択においても同様である。
ステップS2363において、システム制御部50は、SETボタンが押されたか否かを判断する。押されたと判断した場合には処理はステップS2369に進め、属性情報選択メニューを表示する。図32に、図31の画面でフォルダアイコンを選択した場合の属性情報選択メニューの一例を示す。2391はスライドショーの最初の画像、2392はスライドショーの最後の画像、2393はスライドショーされる画像の総数である。SETボタンが押されていないと判断した場合には処理をステップS2364に進める。
ステップS2370において、システム制御部50は、スライドショーの対象となる画像データの属性情報を選択する。図32の2394は現在選択されている属性情報を示す。ユーザは左右キーを操作することにより属性情報、ここではフォルダの種類を選択することができる。システム制御部50はユーザ操作に応じて、属性情報を選択する。なお、ステップS2362、S2370の選択は、図27の絞込み再生で絞込んだ属性情報とは独立に選択することが可能である。すなわちスライドショー処理は、図27の絞込み処理とは別の条件での絞込みを行って順次再生する処理といえる。MENUボタン2395を押下すると、図31に示す画面に戻る。
ステップS2364において、システム制御部50はスライドショーの開始指示があったか否かを判断する。具体的には、ユーザ操作により図31中のスタートアイコン2382が選択されたか否かを判断する。選択された場合には処理をステップS2365に進める。選択されなかった場合は処理をステップS2371に進める。
ステップS2365において、システム制御部50は、現在絞込みを行っている属性情報と、ステップS2370で選択した属性情報を比較する。そしてステップS2366において、属性情報が同じか否か判断する。同じである場合は処理をステップS2367に進める。異なる場合は処理をステップS2373に進め、絞込んでいた状態を解除する。
ステップS2367において、ステップS2370で選択した属性情報にしたがいスライドショーを実行する。本実施例では選択した属性情報を含む画像を順次検索し、再生することでスライドショーが実現される。
ステップS2368において、システム制御部50はスライドショーが終了したか否かを判断する。ここでスライドショーの終了とは、対象の画像がすべて表示された場合のみならず、ユーザ操作により途中でスライドショーが中止された場合も含まれる。終了したと判断した場合は、処理をステップS2361に戻す。終了していないと判断した場合にはスライドショーは続行される。
次にステップS2371について説明する。ステップS2371において、システム制御部50はメニューを抜ける指示があったか否か判断する。具体的には、ユーザ操作によりMENUボタンが押されたか否かを判断する。押された場合には処理をステップS2372に進める。押されていない場合には処理をステップS2361に戻す。
ステップS2372において、システム制御部50はスライドショー処理を終了し通常の再生モードに戻る。このとき、最後にスライドショーを行った画像を表示する。
このように、本実施例では、絞り込んでいる状態でスライドショーを行う場合、スライドショーの再生対象となる画像データの属性情報と絞り込みの属性情報とを比較し、自動的に絞り込みを解除するか否を制御することとした。このようにすることにより、絞り込み再生とスライドショーの属性情報が同じ場合には絞り込みを維持するため、ユーザは再び同じ条件で絞り込みを行う手間が省ける。また、絞り込み再生とスライドショーの属性情報が異なる場合には絞り込みを解除するため、ユーザは先程までスライドショーで見ていた画像データが表示対象となっておらず見つからない、という事態がなくなる。
〈絞り込み解除処理〉
図27のステップS2306における絞込み解除処理について、図28を用いて説明する。
ステップS2321において、システム制御部50は、現在絞り込みを行っているグループに画像データが存在するかどうか、即ち、絞り込んでいる属性情報を含む画像データが存在するかどうかを判定する。例えばステップS2308における削除処理を行った結果、絞り込んでいる属性情報を含む画像データが1枚もなくなった場合には絞り込みを行う意味はなくなる。したがって画像データが存在しないと判定した場合には処理はステップS2322に進み、絞り込みモードを解除する具体的な処理を開始する。逆に絞り込んでいる属性情報を含む画像データが存在する場合、処理はステップS2326に進む。
ステップS2326において、システム制御部50は、画像データが追加されたかどうかを判定する。追加されたと判断した場合には処理はステップS2327に進む。追加されなかったと判断した場合には処理はステップS2322に進む。
ステップS2327において、システム制御部50は、追加された画像の属性情報と現在絞り込んでいる属性情報を比較する。そしてステップS2328において、ステップS2327で比較した結果、属性情報が同じか否か判断する。同じではないと判断した場合には処理をステップS2322に進め、絞り込みモードを解除する具体的な処理を開始する。同じだと判断した場合には絞り込み解除を行わずに本フローを終了する。
ステップS2322において、システム制御部50は、記録媒体200に記憶された画像データのIDのうち、最も若いIDを取得する。そして、システム制御部50は、ステップS2323においてその画像データをデコード、リサイズし、ステップS2324においてその画像データを画像表示部28に表示する。そして、ステップS2325において、システム制御部50は、図33Bの2411のような絞込み解除メッセージを表示し、絞込み解除処理を終了する。
ステップS2327〜ステップS2328のような処理を行うことによって、絞込み再生モード中に追加された画像データが絞込んでいる属性情報を含む場合には、絞り込みモードは解除されない。すなわち、ユーザは今まで行っていた絞込み再生モードを維持したまま、追加した画像データを閲覧することができる。
これに対して、追加された画像データが絞り込んでいる属性情報を含まない場合には、絞り込み再生モードを解除する。これは以下の理由による。新たに追加した画像データは、今まで絞り込んでいた属性情報を含まない。したがって、もし絞込み再生モードを解除しなかった場合、新たに追加した画像データは絞り込み再生の対象とはならず、ユーザは追加したばかりの画像データを閲覧することができなくなる。
従って、本実施例では追加された画像データが現在絞込みを行っている分類情報を含むか否か、即ち現在絞込みを行っているグループに属するか否かに応じて絞込みの解除を制御する。このことにより、ユーザにとって適切なタイミングでの絞り込み解除を行うことが可能になる。
〈絞り込み情報表示処理〉
上述したように、ジャンプモードにおいて、操作部70より絞込み再生を指示する操作入力を検出すると、システム制御部50はユーザが設定した分類情報が付加されている画像ファイルだけを再生する絞込み再生処理を開始する。絞込み再生処理の開始時や、絞込み再生中の画像送り時において、絞込み再生をおこなっていることをユーザに知らしめるために、表示画像に対して絞り込み再生固有の情報表示をおこなう必要がある。上述したステップS2302では、そのような絞込み情報表示処理が実行されており、以下、この処理について詳細に説明する。図29は絞込み情報表示処理を示すフローチャートである。
ステップS2341において、システム制御部50は、絞り込んだ画像ファイルが作成日時順にソートされているかを判定する。ソートされていないと判定された場合は、ステップS2342において、絞り込まれた画像ファイルを作成日時順にソートする。なお、本実施形態におけるソートでは作成日時の古いものから順に1、2、…とするが、新しいものから順にソートされてもよい。また、必ずしも日時順である必要もなく、ある規定によって画像ファイルがソートされていればよい。例えば、ファイル番号を用いてソートしてもよい。
次に、ステップS2343において、システム制御部50は、絞り込まれた画像ファイルの総枚数xを取得する。そして、ステップS2344において、システム制御部50は、画像表示部28に表示する対象となる画像ファイルの画像情報を取得する。ここで、絞り込まれた画像ファイルは作成日時順にソート済である。従って、ステップS2345において、システム制御部50は、表示対象となる画像ファイルの作成日時に基づいて、当該画像ファイルが、絞り込まれた画像ファイル中の何番目に作成された画像であるか(作成日時順番号y)を算出する。以上のようにして、絞り込まれた画像ファイルの総枚数x、表示対象画像の情報、表示画像画像の作成日時順番号yが取得される。ステップS2346において、システム制御部50は、これら画像ファイルの総枚数x、表示対象画像の情報、表示画像画像の作成日時順番号yを画像表示部28に表示する。
ステップS2346による表示処理の結果の一例を図33Cに示す。図33Cにおいて、表示画像2436には「カテゴリ1」という分類情報以外に、「風景」、「イベント」の分類情報が予め付加されており、現在「カテゴリ1」を検索キーとして絞込み再生しているものとする。ここで絞り込まれたファイルの総枚数xは2434に、表示画像の作成日時順番号yは2435にそれぞれ表される。図33Cの例では、ファイルの総枚数xと作成日時順番号yにより、“1/3”という表示が生成されている。すなわち、「カテゴリ1」の分類情報が付加されているのは全部で3枚あり、表示画像2436はその中で最古の画像(1枚目)ということになる。
図29に戻り、ステップS2347において、システム制御部50は、分類情報を示すアイコンの表示位置を意味する変数nを1に初期化する。そして、ステップS2348において、検索キーを示すアイコンをアイコンリストのn番目(最上位)に表示する。この処理により、例えば、図33Cのアイコン2431のように表示される。尚、アイコン2431の表示位置は画面の1番下でもかまわない。要は今絞り込んでいるカテゴリをユーザが一目で認識できるような場所であればどこに表示されてもよい。また、この検索キーを示すアイコン2431は他の分類情報を示すアイコンと差別化するために、色を変えたり大きく表示するなどしてもよい。
以上のようにして、検索キーを示すアイコンを表示すると、処理はステップS2349に進む。ステップS2349において、システム制御部50は、再生表示がシングル再生かマルチ再生のどちらに設定されているかを判定する。ここでマルチ再生表示に設定されていると判定された場合、本処理は終了となる。これは、情報表示の簡素化のためであるが、詳細については後述する。
一方、シングル再生と判定された場合、処理はステップS2350へ進む。ステップS2350において、システム制御部50は、表示画像2436に対して検索キーとなっている分類情報の他に付加されている分類情報があるかを判定する。他の分類情報が付加されている場合は、ステップS2351においてアイコンの表示位置を意味する変数nをインクリメントする。そして、ステップS2352において、システム制御部50は、その分類情報を示すアイコンをアイコンリストのn番目に表示する。
ステップS2350〜S2352の処理を、表示画像2436に付加されている分類情報を示すアイコンがすべて画像表示部28に表示されるまで繰り返し、すべてのアイコンが表示されたら本処理は終了となる。図33Cの例では、「風景」の分類情報を示すアイコン2432と「イベント」の分類情報を示すアイコン2433が表示されており、表示中の画像2436にはそれらの分類情報が付加されていることがわかる。
尚、本実施形態では、表示される画像に付加されている分類情報をアイコンを用いて表示したが、これに限られるものではない。付加されている分類情報をユーザが認識できればよく、例えば、たとえば分類情報の名前を直接表示するようにしてもよい。
以上の処理による表示例を図33C、図33Dを用いて説明する。画像2436においては「風景」を示すアイコン2432、「イベント」を示すアイコン2433がそれぞれアイコンリストの2番目、3番目に表示される。また図33Dは絞込み再生中におけるマルチ再生表示2450を示している。マルチ再生の場合は、前述のように、検索キーを示すアイコン2431以外のアイコンは表示しない。こうすることで、マルチ画面表示中に情報量が増えて表示が複雑になることを防ぐことができる。なお、他にもたとえば拡大画像表示の際も同様の理由によって検索キーを示すアイコン2431以外のアイコンを非表示にしてもよい。
以上、絞込み情報表示処理について説明した。なお、本実施形態における表示は検索キーによる絞込み再生を前提として説明してきたが、たとえば絞り込む前のジャンプモード中に本表示処理をおこなってもかまわない。この場合、ジャンプモード中に検索キーを示すアイコンが最上位に表示されるので、ユーザにとってはどの検索キーを指定したかが一目で認識できるし、その後絞り込み再生に入るときにも、アイコンの位置が変わらないのでスムーズに操作が続けられる。
また、絞込み再生中に検索キーを再設定できる仕組みを設けてもよい。この場合、現在絞り込み再生中の画像(絞り込まれた画像ファイル群)を検索対象として新たに指定された検索キーの分類情報が付加された画像検索するようにしてもよいし、全画像を再び検索対象として検索できるようにしてもよい。また、検索キーの再設定時に、全画像を検索対象とするか、絞り込まれた画像ファイル群を検索対象とするかをユーザが指定可能としてもよい。このように絞込み再生中に別の検索キーを再設定できることで、ユーザは所望の画像をいち早く検索することが可能になる。
なお、絞込み再生中における検索キーの再設定の方法としては、例えば、図33Cの表示状態において、分類情報を示すアイコン2431〜2433のいずれかを選択可能にすればよい。
[ジャンプモード(S1721)の処理について(その4:その他の処理)]
再び図19に戻り、ステップS1907で検出された操作入力がジャンプモードを終了することを指示する操作であった場合、処理はステップS1917からステップS1918へ進む。ジャンプモードを終了する操作とは、例えばMENUボタンを押下する操作が挙げられる。このような操作が行われた場合、ステップS1918において、システム制御部50は、画像を画像表示部28の全体に描画し直す。そして、ステップS1920において、ジャンプキーを不揮発性メモリ56に記憶し、ジャンプモードを終了する。このステップS1920で記憶されたジャンプキーが、次回ジャンプモードに遷移した場合にステップS1901の判定対象となる。
また、ステップS1907で検出された操作入力が、電源スイッチ72による電源OFF操作であった場合は、ステップS1919からステップS1920へ処理を進める。即ち、電源OFF操作がなされたと判定した場合、システム制御部50は、現在選択されているジャンプキーを記録し、当該ジャンプモードを終了する。
ステップS1907で検出された操作入力が、上述したいずれの操作にも該当しない場合は、何の処理も実行せずにステップS1907に処理を戻し、ユーザからの操作待ち状態となる。
以上説明したように、図24Aに示す画面は、ジャンプキー一覧表示2001、情報表示部2009、そして画像表示領域2003を有する。このように、3つの情報が一画面に表示されることにより、ユーザにとって視認性の良い表示が提供される。また、このような画面は視認性が良い代わりに、それぞれの情報を操作するために複雑な操作を要する場合がある。即ち、ジャンプキー一覧表示2001におけるジャンプキーの切り替え、情報表示部2009におけるグループの切り替え、そして画像表示領域2003表示する画像データの切り替え等を可能にするために、操作が複雑になりがちである。しかしながら本実施形態では、ジャンプキーの切り替えに上下ボタン、グループの切り替えに左右ボタン、そして表示すべき画像データの切り替えにホイール73を用いる構成とした。この構成により、同時に表示された上記3つの情報の切り替え操作がそれぞれ異なる操作部に割り当てられ、ユーザはそれぞれの切り替え操作に複雑な操作を要しない。すなわち、ユーザはジャンプキーを次々と切り替えながら、そのジャンプキーに応じたグループを切り替える操作が簡単に行える。また、グループを切り替えつつ画像データを確認する操作も簡単に行うことが可能となる。
[分類情報設定モード(S1711)について]
図17により上述したように、本実施形態のデジタルカメラ100では、分類情報設定メニューを選択することにより、分類情報設定モードによる処理が実行される。図34Aは分類情報設定モードにおける処理を示すフローチャートである。
ステップS2501において、システム制御部50は、操作入力があるかどうかをチェックする。ここでいう操作入力とは、ユーザによるボタン、電池蓋に対する操作や、電源の低下などを知らせるイベントなどが含まれる。操作入力がなければ入力があるまで待つ。
ステップS2501で検出された操作入力が、分類情報設定の終了を指示する終了操作であった場合は、ステップS2503に処理を進める。尚、本実施形態において、分類情報設定の終了を指示する操作とは、分類情報設定処理を抜けるための操作部70のメニューボタンの操作、電源オフの操作、再生モードから撮影モードへのモード変更操作などの操作が含まれる。ステップS2503において、システム制御部50は、ステップS2511(後述)で変更された画像データの分類情報を画像ファイルへ書き出す。そして分類情報設定モードを終了する。終了すると、処理は、図17の入力待ち状態(ステップS1701)へ戻る。
一方、ステップS2501で検出された操作入力が操作部70に含まれる画像送りボタンへの操作であった場合は、処理はステップS2505からステップS2506へ進む。ステップS2506において、システム制御部50は、ステップS2511(後述)で変更された画像データの分類情報を画像ファイルへ書き出す。そして、ステップS2507へ進み次の表示すべき画像データを読み込む。画像送りのボタンは対の方向(本例では左右方向ボタン)で形成されており、指示された方向によって次に表示される画像データが変わる。ステップS2508において、システム制御部50は、ステップS2507で読み込んだ画像データに対してファイル解析処理を行い、当該ファイルから属性情報等を取得する。ファイル解析処理については図45等により後述する。そして、ステップS2509において、システム制御部50は、読み込んだ画像データを画像表示部28に表示する。このとき、撮影情報や分類情報などの属性情報も設定に応じて表示する。また、ステップS2508におけるファイル解析結果に応じて、画像ファイルの一部が壊れているなど不正なデータということがわかれば、その旨のエラー表示も合わせて行う。表示が完了すると処理はステップS2501へ戻り、入力待ち状態となる。
尚、ステップS2505〜ステップS2509で説明した画像送り処理は、1画面に1枚の画像を表示するシングル再生、1画面に複数枚の画像(例えば9枚の画像)を再生するマルチ再生(マルチ画像表示ともいう)のいずれの場合にも適用可能である。マルチ画像表示の場合は、画像送り指示に応じてカーソルが順次移動し、この移動指示に応じて、画像データの分類情報が画像ファイルに書き出されるようにする。
ステップS2501で検出された操作入力が、分類情報変更操作であった場合は、ステップS2510からステップS2511へ進み、表示されている画像データの分類情報変更処理を行う。尚、この段階では、分類情報の変更は画像ファイルへは書き込まず、変更内容はメモリ32に記憶される。そして、ステップS2512において、システム制御部50は、変更された分類情報を画像表示部28における表示に反映させる。
ステップS2501において検出された操作入力が、上記いずれにも該当しない場合は、ステップS2513において、その他の処理が行われる。その他の処理としては、たとえば、シングル再生とマルチ画像表示の間の切り替えなどである。
以上のように、分類情報の画像ファイルへの書き出しを、画像データ表示の切り替え時或いは分類情報設定モードの終了時とすることによって、記録媒体200へのアクセス回数を減らし、動作速度を向上することができる。
〈分類情報書き出し処理について〉
図34Bは、図34AのステップS2503、S2504で実行される分類情報書き出し処理を示すフローチャートである。
分類情報書き出しの要求があると、ステップS2521において、システム制御部50は、分類情報に変更があったか否かを判定する。変更が無いと判定された場合は、そのまま本処理を終える。一方、分類情報に変更があると判定された場合は、ステップS2522に進む。
ステップS2522において、システム制御部50は、変更後の分類情報を当該画像ファイルのファイルヘッダに記録してファイルヘッダ内の分類情報を更新する。そして、ステップS2523において、ファイルヘッダが更新された画像ファイルを記録媒体200に書き出す。
続いて、ステップS2524において、システム制御部50は、対象ディレクトリの信頼性を確認済みか否か判定する。信頼性の確認については、図41、図42により後述する。確認済みであれば、ステップS2525に進み、システム制御部50は、検索管理ファイルの記載内容を更新する。そして、ステップS2526において、更新された検索管理ファイルを記録媒体200に書き出す。一方、対象ディレクトリの信頼性確認がまだ完了していなければ、ステップS2525、S2526をスキップし、検索管理ファイルを更新せずに本処理を終了する。対象ディレクトリの信頼性、検索管理ファイルについては後述する。
〈分類情報設定画面〉
図35は分類情報設定画面の表示例を示す図である。図35において、2600は実施形態による分類情報設定画面の全体を指す。この分類情報設定画面2601からの操作により現在表示されている画像データに関連づけて記憶されている分類情報を変更することができる。
2601は、現在の画面が分類情報設定画面であることを示すタイトル表示である。2602は設定可能な分類情報の一覧表示である。この表示例では、7種類の分類を縦に一覧表示している。表示中の画像データに付与されている分類情報に対応する分類表示には、チェックマークが示されている。図35では、「人物」の分類表示2602と「カテゴリ1」の分類表示2605にチェックマークが表示されている。よって、分類情報設定画面2600に表示されている画像データには、「人物」と「カテゴリ1」の分類情報が付与されていることがわかる。
2603は、現在変更しようとしている分類情報である。カーソルがあたっていることがわかるように背景色を変えている。さらにチェックマークを他の分類よりも大きく表示している。この状態で、操作ボタン70に含まれる[SET]ボタンを押すことにより分類情報のON/OFFを行える。変更対象の分類情報が表示中の画像データに付与されていない状態で上記操作が行われると、[SET]ボタンを押すことで当該分類情報が画像データに付与される。一方、変更対象の分類情報が表示中の画像データに付与されている状態で上記操作が行われると、[SET]ボタンを押すことで当該分類情報が画像データから削除される。
2604はガイダンス表示である。ここでは、前述の[SET]ボタンでチェックをつけたり解除したりできること、及び、[MENU]ボタンで分類情報設定モードを終了できることが示されている。
この画面では操作ボタン70に含まれる上下ボタンにより変更対象とする分類情報を変更することができる。また、左右ボタンで画像送りをして現在表示されている画像データを切り替えることができる。
以上のようにして付与した分類情報を元に、上述の絞り込み再生を実行することが可能である。しかし、絞り込み再生状態で上記の分類情報設定を行うと再生対象の画像データが分類情報設定操作によって消えることがある。そこで、絞り込み再生時は分類情報設定画面へ移れないようにする、または、分類情報設定画面へ移る際には絞り込み再生の状態を解除する、絞り込み再生時は分類情報解除を分類情報設定が終了するとき行うことも考えられる。
[選択操作処理]
図36は図17のステップS1723における選択操作処理を示すフローチャートである。本処理は、ユーザにより選択操作処理に遷移する操作が行われることでスタートする。
ステップS2701において、システム制御部50は、処理選択用の画面(処理選択画面)を表示する。この処理選択画面は、図38Aに示すようなメニュー画面である。このメニュー画面により、ユーザは、これから画像ファイルに対して行う処理をGUIを通して選択することが可能である。選択可能な処理としては、例えば、スライドショー2801、消去2803、プロテクト2804、印刷2805、送信2806等である。ステップS2702〜S2706において、システム制御部50は、処理選択としてスライドショー、消去、プロテクト、印刷、送信のいずれが選択されたかを判定する。そして、ステップS2707〜S2711では、選択された処理の判定に応じて、それぞれ対応する処理モード(スライドショー、消去、プロテクト、印刷、送信)を設定し、システムメモリ52に記憶する。尚、いずれの処理も選択されずに、選択操作を終了する要求があったならば、ステップS2712より本処理を終了する。また、いずれの処理も選択されず、処理選択終了の要求も無いならば、処理をステップS2702に戻す。
以上のようにして処理モードが選択されたならば、処理はステップS2713に進む。ステップS2713において、システム制御部50は、画像表示部28に選択方法を選択するための選択画面を表示する。これは図38Bに示すような画面表示であり、この画面により、ユーザは、処理を行う対象(画像)の選択方法をGUIを通して選択することが可能である。処理を行う対象の選択方法には例えば以下のようなものがある。
・全画像ファイルから対象を1つあるいは複数選択するファイル選択2821、
・日付別にまとめて選択する日付選択2822、
・分類情報別にまとめて選択する分類情報選択2823、
・フォルダ別にまとめて選択するフォルダ選択2824、
・全ての画像ファイルを選択する全選択2825。
ステップS2714〜S2718では、ファイル選択、日付選択、分類情報選択、フォルダ選択、全選択のいずれが、操作部70のユーザ操作により選択されたかを判定する。そして、ステップS2720〜S2724において、システム制御部50は、選択された方法に応じて、それぞれ選択モードとして画像ファイル、日付、分類情報、フォルダ、全画像を設定し、システムメモリ52に記憶する。いずれの選択方法も選択されず、選択方法の選択終了の要求があった場合は、ステップS2719より本処理を終了する。いずれの選択方法も選択されず、且つ、選択方法の選択終了の要求も無い場合は、ステップS2714に戻る。処理及び選択方法の選択が終了したならば、ステップS2725において、選択処理を実行する。選択処理は、図37を用いて後述する。そして、本処理を終了する。本処理を終了すると、図17の入力待ち状態(ステップS1701)へ戻る。
〈選択処理について〉
図37は図36のステップS2725における選択処理を示すフローチャートである。
選択処理が開始されると、ステップS2741〜S2744において、システム制御部50は、システムメモリ52に記憶された処理モードを判定する。システムメモリ52には、上記ステップS2707〜S2711のいずれかにより、処理モードが記憶されている。ステップS2745〜S2749では、ステップS2741〜S2744による判定の結果に応じて、設定されている処理モードに対応した選択画面表示を行う。即ち、ステップS2745ではスライドショー選択表示、ステップS2746では消去選択表示、ステップS2747ではプロテクト選択表示、ステップS2748では印刷選択表示、ステップS2749では送信選択表示を行う。尚、本例では、処理モードとしてスライドショー、消去、プロテクト、印刷、送信のいずれかが選択される。従って、ステップS2741〜S2744のいずれにおいてもNOと判定された場合は、処理モードとして「送信」が設定されているものとし、ステップS2749で送信選択表示が行われる。図38Cに選択表示画面の一例を示す。
続いて、ステップS2750において画像送りの操作ありと判定されたならば、ステップS2751において画像送りを実行する。画像送りにおいて、システム制御部50は、カーソル2847のあたっている画像ファイル群(グループ)の画像データ表示部2844において、当該画像ファイル群内での画像送りを行う。また、ステップS2752において画像ファイル群の切り替え操作があったならば、ステップS2753において処理対象の画像ファイル郡を切り替える。この処理により、処理対象の画像ファイル群が切り替わり、カーソルが移動する。例えば、2848で示される画像ファイル群にカーソルが移動し処理対象となる。上記画像送り操作は、処理対象となっている画像ファイル群についておこなわれる。従って、画像ファイル群2848にカーソルが当たっている状態で画像送り操作が行われると、画像ファイル群2848内で画像送りが行われ、画像ファイル群2848の画像データ表示部2844に表示される画像が切り替わることになる。
本実施形態では、例えば左右ボタンにより画像送り操作を行い、上下ボタンにより画像ファイル群の切り替えを行うものとする。
ステップS2754において画像ファイル群の選択操作があったならば、ステップS2755において、操作された画像ファイル群を、選択中の処理モードにおける対象画像ファイルとして追加選択する。一方、画像ファイル群の選択解除操作があったならば、処理はステップS2756からステップS2757へ進む。ステップS2757において、システム制御部50は、操作された画像ファイル群を、選択中の処理モードにおける対象画像ファイルから選択解除する。選択完了の指示があったならば、ステップS2758から本処理を終了する。一方、選択終了の指示が無いならば、ステップS2741に戻り、上記処理を繰り返す。このようにして、各処理モードについて複数の画像ファイル群を選択することができる。
図38Cは上記複数の選択方法のうち日付による選択方法が選択された場合の選択表示画面の一例を示す図である。2841、2842、2843は、それぞれ2001年1月22日の画像ファイル群選択肢、2005年3月20日の画像ファイル群選択肢、2004年7月10日の画像ファイル群選択肢を表すGUI表示である。2848はそれぞれの日付内に含まれる処理対象として有効な画像ファイルの数の表示である。2847は選択中の画像ファイル群を示すカーソルである。2846はカーソルと共に移動する選択指示GUIである。操作部70によりGUIを通してユーザは日付単位でまとめて複数の画像ファイルを選択することが可能である。2844は各画像データ群毎の画像データを表示する画像データ表示部である。カーソル2847のあたっている日付内の画像データ表示部2841では、操作部70の入力により日付毎の画像ファイル群内での画像送りが可能となっている(S2750,S2751)。
本実施形態では、操作部70の上下ボタンによりカーソル2847を上下に移動させる(S2752、S2753)。そして、カーソル2847のあたっている画像ファイル群については、左右ボタンによって画像データ表示部2844において当該画像ファイル群内の画像送りができる(S2750、S2751)。これによりユーザは画像ファイル群の内容を選択表示画面上で容易に確認しながら処理対象とする画像ファイル群を選ぶことができる。尚、この画像送りで表示される画像ファイルについては図39を用いて後述する。
ユーザは選択されていない画像ファイル群にカーソル2847があたっている状態でSETボタンを押すことにより処理対象とする画像ファイル群を選択することができる(S2754、S2755)。また、既に処理対象として選択されている画像ファイル群にカーソル2847をあててSETボタンを押すと、選択状態が解除される(S2756、S2757)。選択された画像ファイル群には選択されたことを示すチェックマーク2845が表示される。画像ファイル群は複数選択することができ、選択された画像ファイル群は続くステップS2726でまとめて処理される。他の選択モード(分類情報選択、フォルダ選択等)の場合も同様の選択表示画面(画像ファイル群を選択するGUI)となる。
図39に処理別の選択表示画面ごとの処理対象として有効な画像ファイルの例を示す。処理対象として有効な画像ファイルは、上記画像送り操作(S2750、S2751)において画像送り対象となる画像ファイルでも有る。また、処理対象として有効な画像ファイルの数2848はこの図39に従って処理対象として選択される画像ファイルの数である。
例えば消去処理ではプロテクト属性の画像ファイルは消去処理対象としないため、表示2848で表示される数に当該画像群内のプロテクト属性のある画像ファイルの数は含まれない。即ち、プロテクト属性のない画像ファイルの数のみが表示される。図38Cのような選択表示画面における選択候補の画像ファイル群について、処理対象として有効な画像ファイルの数を表示することで、ユーザに処理対象の数を把握させて的確な選択をさせることができる。もちろんこの時、画像ファイル群に含まれるが処理対象として有効でない画像ファイルの数や、画像ファイル群に含まれる画像ファイルの総数を表示してもよい。また、処理対象として有効でない画像ファイルが画像ファイル群に含まれることをユーザに通知する表示などを行ってもよい。これによりユーザはより的確な確認をしてから画像ファイル群を選択することができる。
また、画像データ表示部2844における、画像ファイル群内の画像送りでは、処理対象として有効なもののみが表示される。図39によれば、スライドショー、プロテクトでは対象を全画像ファイルとしてるため、画像データ表示部2844での画像送りは、当該画像ファイル群のすべての画像ファイルが対象となり、選択不可の制限も無い。一方、消去処理はプロテクト属性の画像ファイルは消去対象としないため、画像送り対象はプロテクト属性の無い画像ファイルのみとなる。
また、消去処理において、カーソル2847のあたっている画像ファイル群がすべてプロテクト属性の画像ファイルであるような場合は、消去処理の実行対象が存在しない。このため、当該画像ファイル群を選択できないことをユーザに通知する。これはたとえば選択指示GUI2846を非アクティブにすることにより表現可能である。印刷処理においては印刷対象を静止画のみとしたため画像送り対象は静止画像ファイルのみである。カーソル2847のあたっている画像ファイル群がすべて静止画以外の場合、たとえば動画、音声である場合は、印刷の実行対象が存在しないため、上記のように、当該画像ファイル群の選択の不可をユーザに通知する。送信処理においては送信対象を未送信画像ファイルのみとしたため画像送り対象は未送信画像ファイルのみである。カーソル2847のあたっている画像ファイル群がすべて送信済み画像ファイルである場合は、送信の実行対象が存在しないため、上記のように画像ファイル群の選択の不可をユーザに通知する。尚、コンテンツが1つも存在しない場合は、いずれの処理モードにおいても実行対象が存在しないので、当該画像ファイル群の選択指示GUIを非アクティブにする。
以上のように、処理を選択して処理モードを設定したあとに処理対象を選択することで、予め設定された処理内容に応じて処理対象として有効な画像ファイル数の表示、画像ファイル群の選択可否判定及び画像送り対象の決定を行う。これにより処理対象の無い画像ファイル群を選択させたり、処理対象でない画像ファイルの画像データの表示を行うことがなく、ユーザに的確な処理対象の選択を行わせることができる。
[ファイル管理について]
図40Aは、図3のステップS302における画像ファイル管理処理を示すフローチャートである。システム制御部50は、ステップS3001においてシステムメモリ52に記録されている最新画像確定フラグをクリアし、ステップS3002において総ファイル数確定フラグをクリアし、ステップS3003において検索許可フラグをクリアする。また、ステップS3004において、システム制御部50は、前記処理と並行して処理される画像検索処理に、画像検索開始の指示を出す。そして、本処理を終了する。
〈画像検索処理〉
図40Bは、図40AのS3004の画像検索開始指示を受けて実行される画像検索処理を示すフローチャートである。
画像検索開始の指示があると、ステップS3011からステップS3012へ処理が進む。ステップS3012において、システム制御部50は、再生対象ディレクトリリストを作成する。これは、たとえばDCF規格に従った再生機器においてはDCFルートディレクトリのディレクトリエントリを解析してDCFディレクトリを検索し、再生対象ディレクトリリストへ追加する処理である。そして、ステップS3013において、システム制御部50は、再生対象ディレクトリの存否を判定する。再生対象ディレクトリが無いと判定された場合(即ち、デジタルカメラ100が取り扱い可能なディレクトリ、取り扱い可能なファイルが無い場合)、システム制御部50は、ステップS3023において総ファイル数を0に設定する。そして、ステップS3022において総ファイル数確定フラグを1に設定し、本処理を終了する。
一方、ステップS3013で再生対象ディレクトリがあると判断された場合、システム制御部50は、ステップS3014において、画像検索対象ディレクトリを初期化する。この初期化において、例えば、DCF規格の再生機器では、最大番号のDCFディレクトリが画像検索対象ディレクトリに設定される。次に、ステップS3015において、システム制御部50は、画像検索対象に設定されたディレクトリ内の画像総数を、当該ディレクトリのディレクトリエントリを解析することにより算出する。そして、そのディレクトリ内の画像総数を記録媒体200内の画像総数に加算する。
また、ステップS3016において、システム制御部50は、DCFルートディレクトリのディレクトリエントリに記載されているファイル情報を取得する。具体的には、最小ファイル番号、最大ファイル番号、ファイル番号総和、タイムスタンプ総和、ファイルサイズ総和、総ファイル数等を取得する。そして、これらをディレクトリエントリ情報としてメモリ52に記憶する。
ステップS3017において、再生対象画像ファイル(即ち、デジタルカメラ100が取り扱い可能なファイル)が存在するか否かを判定する。再生対象画像が存在すると判定された場合、システム制御部50は、ステップS3018において、最新画像を決定し、最新画像確定フラグを1に設定する。終了ボタン等の操作により総数計算終了の指示があったならば処理はステップS3020からステップS3022へ進み、処理を中断して抜ける。
総数計算終了の指示がなければ、ステップS3021で未処理のディレクトリが存在するか否かを判定する。存在すると判定された場合はステップS3019にて、画像検索対象ディレクトリを未処理のディレクトリに設定し、処理をステップS3015に戻す。こうして、上記ステップS3015〜S3018の処理をステップS3012で作成した再生対象ディレクトリリストにあるすべてのディレクトリに対して行う。全てのディレクトリについてステップS3015〜3018の処理を終えると、処理はステップS3022に進む。ステップS3022において、システム制御部50は、最新画像確定を通知するとともに画像総数を算出し、総ファイル数確定フラグを設定し、処理を抜ける。
なお、再生対象ディレクトリが存在しても、ディレクトリ内に再生対象画像が無い場合は画像総数0として総ファイル数確定フラグを立てて処理を抜けるものとする。
[検索管理処理について]
図41は、図15のS1507の検索管理処理の流れを示すフローチャートである。ステップS1507において検索リスト作成の指示があると、処理はステップS3101からステップS3103へ進む。ステップS3103において、システム制御部50は、信頼性未確認ディレクトリの有無を確認する。すべての再生対象ディレクトリに関して信頼性を確認済みであればステップS3103からステップS3115へ進み、検索許可フラグ=1をシステムメモリ52に設定し、処理を終える。
一方、ステップS3103で、信頼性未確認のディレクトリがあると判断された場合、システム制御部50は、ステップS3104において当該ディレクトリを信頼性確認をすべき対象ディレクトリに設定する。そして、ステップS3105において、システム制御部50は、対象ディレクトリに対応する検索管理ファイルが記録媒体200に存在するか否かを判定する。存在すると判定された場合、システム制御部50は、ステップS3106において、当該検索管理ファイルをシステムメモリ52に読み込む。ステップS3107において、システム制御部50は、ステップS3106で読み込んだ検索管理ファイルに対して後述する信頼性の確認を行う。そして、その確認の結果、全データに信頼性ありと判定されたならば、処理はステップS3108からステップS3114へ進み、対象ディレクトリ信頼性確認済み記憶処理を行う。そして、ステップS3102へ進み、検索リスト作成中断の指示があったかどうかを確認する。
一方、ステップS3107の信頼性確認処理の結果、一部のデータにも信頼性が無いと判定された場合、或いは、ステップS3105において検索管理ファイルがないと判定された場合は、ステップS3111に処理が進む。ステップS3111において、システム制御部50は、ディレクトリ内全データを再検査対象として検索管理ファイルの生成を実行する。
また、ステップS3107の信頼性確認処理の結果、一部のデータにのみ信頼性が確認された場合は、ステップS3109からステップS3110に処理が進む。ステップS3110において、システム制御部50は、信頼性の確認されていない一部データを再検査対象として設定する。そして、ステップS3112において、再検査対象に設定されたファイルについて検索管理ファイル生成が行われる。
ステップS3112における検索管理ファイルの生成が終了したなら、ステップS3113において、システム制御部50は、生成された検索管理ファイルを記録媒体200に書き出す。例えば、図9に示されるように、検索管理ファイルを格納するディレクトリ(XXXMSC)を生成し、そのディレクトリの中に生成した検索管理ファイル(M100.CTG、M101.CTG)を格納する。尚、本実施形態では、図9に示すように、ディレクトリ毎に検索管理ファイルが生成され、格納される。例えば、M100.CTGはディレクトリ100XXXの検索管理ファイルであり、M101.CTGはディレクトリ101XXXの検索管理ファイルである。そして、ステップS3114において、該当ディレクトリが信頼性確認済みであることをシステムメモリ52に記憶し、ステップS3102に処理を進める。
ステップS3102において、検索リスト作成中断の指示があると判定された場合は、ステップS3101に戻り、再び検索リスト作成の指示を待つ。一方、ステップS3102にて検索リスト作成の中断指示が無いと判定されたならば、ステップS3103へ進み、上記一連の処理を信頼性未確認のディレクトリがなくなるまで続ける。そして、すべての再生対象ディレクトリに対して処理が終了したならば、ステップS3103からステップS3115へ処理が進み、システム制御部50は、検索許可フラグを設定し、処理を終える。
〈信頼性確認処理〉
図42は、図41のステップS3107における信頼性確認処理を示すフローチャートである。また、本実施形態による検索管理ファイルの一例を図44に示す。
まず、ステップS3141において、システム制御部50は、上記ステップS3106で記録媒体200からシステムメモリ52に読み出した検索管理ファイルの整合性の確認を行う。これは、管理ファイル信頼性情報3202により行われる。管理ファイル信頼性情報3202は、管理ファイルバージョン、管理ファイルサイズ、管理ファイルチェックサムのような、検索管理ファイル内の検索情報ではない、検索管理ファイル自身の整合情報であり、検索管理ファイル自体の改ざんの確認となる。尚、管理ファイル信頼性情報3202としては、更に、タイムスタンプ、ハッシュ値等を利用することができる。ここで整合性が確認できない場合は、ステップS3150においてデータ信頼性なしと判定し、本処理を抜ける。以上により、検索管理ファイルが改ざんされたことにより正常な検索ができないという事態を防止することが可能となる。
ステップS3141で検索管理ファイルの整合性が確認できた場合、処理はステップS3142に進む。ステップS3142において、システム制御部50は、前述の画像検索処理(図40B)のステップS3016でシステムメモリ52に記憶されたディレクトリエントリ情報を取得する。そして、ステップS3143において、システム制御部50は、記録媒体200から読み出した検索管理ファイル(ステップS3106)に記載のディレクトリエントリ情報と、ステップS3016で取得したディレクトリエントリ情報とを比較する。ここでは、信頼性確認情報3201に示すような、最小ファイル番号、最大ファイル番号、ファイル番号総和、タイムスタンプ総和、ファイルサイズ総和、総ファイル数のような対象ディレクトリの構成を示す情報を用いて比較が行われる。尚、本実施形態ではDCF規格を想定してファイル番号をエントリ情報としているが、もちろんファイル名やファイル名の文字コードの総和、記録媒体上のディレクトリエントリのハッシュ値等をディレクトリエントリ情報としてもよい。
両者の情報が同一である場合、処理はステップS3144からステップS3151へ進み、システム制御部50は、全データ信頼性有りと判定して本処理を抜ける。すなわち、対象ディレクトリ内のファイル自体の変更、ファイル構成の変更により正常な検索ができないという事態を防止することが可能となる。
一方、ステップS3143の比較の結果、情報が同一でないと判定された場合は、ステップS3152に処理が進む。ステップS3152において、システム制御部50は、管理ファイルにしか存在しないファイルがあるか否かの判定を行う。ステップS3152において、管理ファイルにしか存在しないファイルがあると判定された場合は、ステップS3150に処理が進む。ステップ3152において、管理ファイルにしか存在しないファイルがないと判定された場合は、ステップS3145に処理が進む。ステップS3145において、システム制御部50は、管理ファイル内と、ディレクトリエントリ情報の両方に存在する共通ファイルがあるかを判定する。共通ファイルがあると判定された場合、システム制御部50は、ステップS3146において、共通ファイル部のディレクトリエントリ情報を記録媒体から取得する。そして、ステップS3147において、共通ファイル部に関して、検索管理ファイルに記載のディレクトリエントリ情報と比較する。ここでのエントリ情報を用いた比較においては、タイムスタンプ、ファイルサイズ、ファイル名、プロテクト属性、隠し属性、アーカイブ属性等を用いることができる。共通ファイルにおいてディレクトリエントリ情報が同一と判定されたならば、ステップS3148からステップS3149へ処理が進む。ステップS3149において、システム制御部50は、一部データ信頼性有りとして処理を抜ける。例えば、パソコン等で記録媒体200に画像が追加され、デジタルカメラ100における撮影画像情報の検索管理ファイルへそれが反映される前に電源遮断等がなされると、一部のファイルのみの情報が管理ファイルに記載されていないような場合が生じる。本実施形態によれば、そのような場合でも、すでに信頼性があると確認されているデータは有効に使用することが可能となる。
ステップS3145で共通ファイルが無いと判定された場合や、ステップS3148にて共通ファイル部の情報が同一でないと判定された場合は、ステップS3150においてデータ信頼性なしと決定され、処理を抜ける。
以上の検索管理処理によれば、記録媒体200内の管理対象ファイルの構成の変更、管理対象ファイル自体の変更を検知して管理ファイルを自動的に再構築することが可能となる。また、記録媒体内の管理対象ファイル構成の変更、管理対象ファイルの変更の検知をディレクトリエントリ上に記載のデータで行う(S3142,S3143)ため、ファイルの内容を参照しないので高速に実行できる。また、管理ファイルの再構築は、記録媒体内の管理対象ファイル構成の変更、管理対象ファイルの変更の検知のあったディレクトリに対してのみ行われるので、変更の無いディレクトリに対しては管理ファイルを再構築する必要が無い(S3104〜S3114)。
また、共通ファイルについて変更がなければ、共通ファイルの管理ファイルの情報はそのまま利用される(S3145〜S3149,S3110,S3112)。このため、本装置以外でディレクトリにファイルが追加された場合や、本装置でディレクトリにファイルを追加し管理ファイルを更新前に本装置の電源を落とした場合等においても、構築済みの管理ファイルを有効に使用することができる。また、管理ファイルの再構築では、共通ファイルに変化がなければ、記録媒体内の管理対象ファイル構成の変更、管理対象ファイルの変更の検知のあったディレクトリのうち、重複しない管理対象ファイルに対してのみ行われる。このため、すでに構築済みのファイル情報については再構築する必要が無く、追加が検出されたファイルのみ再検査を行うことができる。
また、信頼性の確認は管理ファイルに管理ファイル自身のファイル属性(図44の3202)を記載し、これを照合することにより行う(S3141)ことを含むので、管理ファイル自身の改竄を検知可能となり、誤った管理を行うことが防止される。また、管理ファイル自身の改竄確認は管理ファイル自身およびの自身のディレクトリエントリ上の情報なので、管理ファイル単位で高速に確認が行える(S3143〜S3148、図44の3201、3203〜3206)。
〈検索管理ファイル生成〉
図43は、図41のステップS3112による検索管理ファイル生成処理を示すフローチャートである。以下、図43のフローチャートと図44の検索管理ファイルを参照して、検索管理ファイル生成処理を説明する。
検索管理ファイルの生成処理が開始されると、まず、ステップS3161において、システム制御部50は、解析ファイルの設定を行う。これは、前述の検索管理処理(図41)により設定されたディレクトリ内の全ファイルもしくは信頼性の確認ができなかった一部のファイルのうち、本処理において未解析のファイルである。
次に、ステップS3162において、システム制御部50は、解析対象ファイルの属性情報がメモリ52内のキャッシュエリアに存在するか否かを判定する。このキャッシュ情報はたとえば画像の撮影時においてメモリ52のキャッシュ領域に保持される。キャッシュ情報があると判断された場合、システム制御部50は、ステップS3153においてキャッシュ情報から検索管理ファイルに記載する情報を取得し、ステップS3168において、検索管理ファイルに記載する情報を生成し、記載する。これは、図44の3203のようなファイル情報であり、これは分類情報、撮影情報、被写体情報等を含み、ファイルを特定する情報と関連付けて記憶される。尚、ファイルを特定する情報として、ファイル名、ファイル番号等をリスト内に記載してもよい。また、リストの並び順によってファイルと関連付けるようにしてもよい。
一方、ステップS3162において、キャッシュに属性情報がないと判断されたならば、処理はステップS3164へ進む。ステップS3164において、システム制御部50は、対象ファイルを記録媒体200から読み出す。そして、ステップS3165において、当該対象ファイルに属性情報の記載されたファイルヘッダがあるか否かを判定する。ファイルヘッダがあると判定された場合、システム制御部50は、ステップS3166で撮影情報を取得し、ステップS3167で分類情報等を取得する。ステップS3168において、検索管理ファイルに記載する情報を生成し検索管理ファイルに記載する。
一方、ステップS3165でファイルヘッダが無いと判断された場も、システム制御部50は、ステップS3168において、その旨の情報を管理ファイルに記載する。
以上のようにして、ステップS3168で解析ファイルの属性情報が管理ファイルに登録される。そして、ステップS3169において、システム制御部50は、未解析ファイルの有無を確認し、未解析ファイルがあるならば処理をステップS3161に戻し、未解析ファイルを解析ファイルに設定して上記処理を繰り返す。全ての要求ファイルの解析が終了したならば、システム制御部50は、処理を終える。
以上のように、撮影等でキャッシュ上に存在する属性情報は改めて記録媒体内のファイルを読み出して解析するということをしないので、高速に検索管理ファイルの構築が可能となる。
[ファイル解析処理について]
上述した信頼性確認処理によれば、例えば、信頼性確認がなされる前に分類情報設定処理(S1711)や画像消去処理(S1713)が行われた場合に、対象の画像ファイルを管理対象からは外すことが可能になる。即ち、ステップS302で開始するファイル管理処理において、対象の画像ファイルは本システムにおいて管理される画像ファイルの対象から外される。
記録媒体200内の画像ファイルを検索して総枚数が確定すると、分類情報設定(S1710、S1711)および画像消去(S1712、S1713)が可能となる。その間、記録媒体200内の検索管理ファイルの信頼性確認処理(S3107)が並行して動作している。
まず、信頼性確認がなされる前の画像ファイルが消去された場合を説明する。この場合、画像ファイルの消去に伴って当該画像ファイルが属するディレクトリのディレクトリエントリが更新される。従って、検索管理ファイルに記載の信頼性確認情報3201と上記ディレクトリエントリとの間に不整合が生じ、図31Bの信頼性確認処理において、処理は、ステップS3144からステップS3152へ進む。消去された画像ファイルはディレクトリエントリに存在しないので、当該画像ファイルは検索管理ファイルにのみ存在することになる。このため、検索管理ファイルのデータは信頼性なしと判定され(S3150)、全データが再検査対象に設定されて検索管理ファイルの生成が行われる(S3111,S3112)。
次に、信頼性確認がなされる前の画像ファイルについて分類情報が変更された場合を説明する。この場合も、画像ファイルの分類情報の変更に伴って当該画像ファイルが属するディレクトリのディレクトリエントリ(タイムスタンプ等)が更新される。従って、検索管理ファイルに記載の信頼性確認情報3201と上記ディレクトリエントリとの間に不整合が生じ、図31Bの信頼性確認処理において、処理は、ステップS3144からステップS3152へ進む。分類情報の変更では画像ファイルは消去されていないので、検索管理ファイルにのみ存在する画像ファイルは発生しない。しかしながら、分類情報が変更されているため、当該画像ファイルに関してはディレクトリエントリと検索管理ファイルに共通に存在する画像ファイルとの間で不整合が生じる。そのため、処理はステップS3148からステップS150へ進み、検索管理ファイルのデータは信頼性なしと判定される。その結果、全データが再検査対象に設定されて検索管理ファイルの生成が行われる(S3111,S3112)。
以上のようにして、信頼性確認の前に削除或いは分類情報の変更が行われた画像ファイルについては、本システムにおいて管理される画像ファイルの対象から外される。
次に、図15のステップS1504、図17のステップS1704、S1717及び図34AのステップS2508におけるファイル解析処理について説明する。図45は、ファイル解析処理を示すフローチャートである。
ステップS3301において、システム制御部50は、解析対象のファイルに、撮影情報、分類情報等の属性情報の記載されたファイルヘッダがあるか否か判定する。そのようなファイルヘッダがあると判定された場合、システム制御部50は、ステップS3302にて当該ファイルヘッダから撮影情報を取得し、ステップS3303にて当該ファイルヘッダから分類情報等を取得する。そして、ステップS3304において、システム制御部50は、画像本体開始位置、画像圧縮方法等の画像データ本体の情報を取得する。
次に、ステップS3305において、システム制御部50は、前述した撮影情報、分類情報、画像情報等が検索管理ファイルの内容と同じか否かを判定する。同じであると判定された場合は、そのまま処理を抜ける。一方、ステップS3305で相違があると判定された場合、システム制御部50は、ステップS3306において、検索管理ファイルの該当ファイル情報を更新し、ステップS3307において、検索管理ファイルを記録媒体200に書き出す。そして、本処理を終える。
以上のように、画像の再生のためにファイルを読み出しヘッダを解析した場合に、同時に検索管理ファイルのファイル単位での照合を行うことにより別途な処理時間をかけることなく検索管理ファイルの詳細な照合及び訂正が可能となる。また、管理ファイル自身の改竄、管理対象ファイルの変更等を検知できなかった場合においても、管理ファイルを正しい値に再構築することが可能となる。
以上、デジタルカメラにより本発明を説明したが、本発明の適用はこれに限られるものではなく、携帯電話や携帯端末等の、画像再生が可能な装置に適用が可能である。
上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線/無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、MO、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−R、DVD−RW等が考えられる。また、光/光磁気記憶媒体、不揮発性の半導体メモリでもよい。
有線/無線通信を用いたプログラムの供給方法としては、次のような方法が考えられる。すなわち、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくはプログラムデータファイルを記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードするような方法である。
ここで、プログラムデータファイルは、本発明を形成するコンピュータプログラムを圧縮され自動インストール機能を含むファイル等も含む。
この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
また、上述の実施形態の機能を実現するプログラムを暗号化し記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、ネットワークを介してダウンロードさせることによって供給するような方法も考えられる。その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて本発明を実現することも可能である。
コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現される。また、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等の共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれる。
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納される場合にも本発明に含まれる。また、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。