説明

画像処理装置、画像処理方法及びプログラム

【課題】一連の関連する複数の画像を代表する代表画像が消去された場合に、代わりの代表画像を適切に選択できるようにする。
【解決手段】代表画像の削除等が行われた場合に、次に読み出した画像ファイルと関連しているか否かを、それぞれの属性情報に基づいて判定する。この判定の結果、関連している場合は、システム制御部50は、現在読み出している画像ファイルの属性情報を記憶して、画像番号が最小番号になるかもしくは関連画像でない画像ファイルを検出するまで処理を繰り返し、代表画像が削除された場合であっても、それと関連のある画像から代表画像を選択できるようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置、画像処理方法及びプログラムに関し、特に、一連に撮影された画像から代表画像を選択するために用いて好適な技術に関する。
【背景技術】
【0002】
近年、銀塩フィルムを用いたカメラに取って代わり、CCD(Charge Coupled Device)等で構成される半導体よりなる撮像素子を用いたカメラが盛んに使用されている。この種のカメラは、電子的に画像データを記録媒体に記録し、LCD(Liquid Crystal Display)のような表示装置で表示する構成を有し、デジタルカメラとして市販されている。
【0003】
このようなデジタルカメラにおいて、一般的に連写と呼ばれる連続撮影機能を備え、関連する一連の画像データを記録可能にした機種も存在する。ユーザから見て一連の撮影操作、もしくは互いに関連のある画像データであるものとして複数枚の画像を撮影して記録媒体に記録する場合がある。この場合に、記録した複数枚の画像データを関連画像データとし、これらの関連画像データの中から代表画像を特定して記録する方法が用いられている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−221769号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、画像データにタグやお気に入り等の属性を分類情報として付与することが可能な機器がある。このような機器においては、関連画像データの中の代表画像やその他の画像に分類情報を付与した場合であっても、関連画像データの代表画像を消去すると分類情報を考慮しない画像が代表画像として選択されてしまうことがある。例えば、消去した画像の次に撮影された関連性のない画像を新規の代表画像として選択してしまうことがある。このような機器では代表画像の選択方法が不完全であり、ユーザが代表画像を再度選択しなければならず、余計な手間がかかってしまう。
【0006】
本発明は前述の問題点に鑑み、一連の関連する複数の画像を代表する代表画像が消去された場合に、代わりの代表画像を適切に選択できるようにすることを目的としている。
【課題を解決するための手段】
【0007】
本発明の画像処理装置は、複数の画像のそれぞれの属性情報を解析する解析手段と、一連に撮影された複数の画像を代表する代表画像を削除する削除手段と、前記解析手段により解析された属性情報に基づいて、前記削除手段により削除された代表画像の代わりに、前記削除された代表画像とともに一連に撮影された画像から、前記一連に撮影された複数の画像を代表する代表画像を選択する選択手段とを有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、代表画像が消去された時に、代わりの代表画像を適切に選択することができる。これにより、ユーザが代表画像を手動により再度選択する操作を不要にすることができる。
【図面の簡単な説明】
【0009】
【図1】実施形態に係るデジタルカメラの外観構成例を示す図である。
【図2】実施形態に係るデジタルカメラの内部構成例を示すブロック図である。
【図3】実施形態のデジタルカメラの全体的な動作手順の一例を示すフローチャートである。
【図4】図3のステップS303における撮影モードの処理手順の一例を示すフローチャートである。
【図5】図4のステップS409における撮影処理手順の一例を示すフローチャートである。
【図6】図4のステップS411における記録処理手順の一例を示すフローチャートである。
【図7】ディレクトリの構成及び画像ファイルの構造例を示す図である。
【図8】図3のステップS304における再生モードの処理手順の一例を示すフローチャートである。
【図9】再生モードにおける入力待ち状態での再生処理手順の一例を示すフローチャートである。
【図10】図8のステップS804、図9のステップS908及びS921におけるファイル解析処理の詳細な手順の一例を示すフローチャートである。
【図11】図8のステップS806の処理において開始される再生対象リストの作成処理手順の一例を示すフローチャートである。
【図12】図8のステップS808において開始される検索管理ファイルの作成処理手順の一例を示すフローチャートである。
【図13】ディレクトリの構成及び検索管理ファイルの構造例を示す図である。
【図14】図12のステップS1207において信頼性を確認する詳細な処理手順の一例を示すフローチャートである。
【図15】図12のステップS1212において、検索管理ファイルを具体的に生成する処理手順の一例を示すフローチャートである。
【図16】図15のステップS1502における属性情報を取得する処理手順の一例を示すフローチャートである。
【図17】図8のステップS805、図9のステップS910及びS923において、画像を表示する処理手順の一例を示すフローチャートである。
【図18】図8のステップS801における初期画像情報を取得する処理手順の一例を示すフローチャートである。
【図19】第1の実施形態において、代表画像を選択する処理手順の一例を示すフローチャートである。
【図20】第2の実施形態において、代表画像を選択する処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
(第1の実施形態)
以下、図面を参照しながら本実施形態について説明する。以下に説明する実施形態においては、静止画像の撮影が可能なデジタルカメラに適用した例について説明する。
【0011】
(デジタルカメラの概観図)
図1は、本実施形態に係るデジタルカメラ100の外観構成例を示す図である。
図1において、画像表示部28は画像や各種情報を表示するための表示部であり、電源スイッチ72は電源オン、電源オフを切り替えるスイッチである。シャッターボタン61は撮影開始を指示するためのボタンであり、モード切替スイッチ60は各種モードを切り替えるためのスイッチである。
【0012】
接続ケーブル111はデジタルカメラ100と外部機器とを接続するためのケーブルであり、コネクタ112は接続ケーブル111とデジタルカメラ100とを接続するものである。操作部70はユーザからの各種操作を受け付けるためのものであり、記録媒体200はメモリカード等着脱可能な媒体である。また、記録媒体スロット201は記録媒体200を格納して通信するためのスロットである。
【0013】
(ブロック図)
図2は、本実施形態に係るデジタルカメラ100の内部構成例を示すブロック図である。
図2において、シャッター101は絞り機能を備えている撮像部22は光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像部である。A/D変換器23はアナログ信号をデジタル信号に変換するためのものであり、撮像部22から出力されるアナログ信号をデジタル信号に変換する場合に用いられる。また、A/D変換器23は音声制御部11から出力されるアナログ信号をデジタル信号に変換する場合にも用いられる。バリア102は、デジタルカメラ100の、レンズ103を含む撮像部22を覆うことにより、撮像部22の汚れや破損を防止する。
【0014】
タイミング発生部12は、撮像部22、A/D変換器23、及びD/A変換器13にクロック信号や制御信号を供給するためのものであり、メモリ制御部15及びシステム制御部50により制御される。画像処理部24は、A/D変換器23からのデータ、又は、メモリ制御部15からのデータに対し所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。また、画像処理部24は、撮像して生成された画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてシステム制御部50が露光制御、測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部24ではさらに、撮像して生成された画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理も行う。
【0015】
A/D変換器23からの出力データは、画像処理部24及びメモリ制御部15を介して、或いは、メモリ制御部15を直接介して、メモリ32に書き込まれる。メモリ32は、所定枚数の静止画像データや所定時間の動画像データ及び音声データを格納するのに十分な記憶容量を備えている。
【0016】
圧縮・伸張部16は、適応離散コサイン変換(ADCT)等により画像データを圧縮伸張するためのものである。圧縮・伸張部16は、シャッター101をトリガにしてメモリ32に格納された画像データを読み出して圧縮処理を行い、処理を終えたデータをメモリ32に書き込む。また、記録部19などからメモリ32に書き込まれた圧縮画像データを読み出して伸張処理を行い、処理を終えたデータをメモリ32に書き込む。圧縮・伸張部16によりメモリ32に書き込まれた画像データは、システム制御部50のファイル部においてファイル化され、インターフェース18を介して記録媒体200に記録される。
【0017】
また、メモリ32は画像表示用のメモリを兼ねている。画像表示部28はLCD等からなる表示部であり、メモリ32に書き込まれた表示用の画像データはD/A変換器13を介して画像表示部28により表示される。
【0018】
システム制御部50は、デジタルカメラ100全体を制御する制御部であり、システムメモリ52は、システム制御部50の動作用の定数、変数、プログラム等を記憶するメモリである。また、不揮発性メモリ56は電気的に消去・記録可能なメモリであり、例えばEEPROM等が用いられる。
【0019】
第1シャッタースイッチ(SW1)62、及び第2シャッタースイッチ(SW2)64、及び操作部70は、システム制御部50に各種の動作指示を入力するための操作手段である。モード切替スイッチ60は、システム制御部50の動作モードを静止画撮影モード、連続撮影(連写)モード、動画モード、再生モード等のいずれかに切り替えることができる。
【0020】
第1シャッタースイッチ(SW1)62は、デジタルカメラ100に設けられたシャッターボタン61の操作途中(半押し)でONとなる。そして、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の動作開始を指示する。第2シャッタースイッチ(SW2)64は、シャッターボタン61の操作完了(全押し)でONとなり、撮像部22からの信号読み出しから記録媒体200に画像データを書き込むまでの一連の撮像処理の動作開始を指示する。
【0021】
操作部70は各種ボタンやタッチパネル等からなる。具体的には、消去ボタンや、メニューボタン、SETボタン、十字に配置された4方向キー、コネクタ112に接続されたプリンタに対する印刷機能を実現する印刷予約ボタン、消去ボタンなどから構成される。メニューボタンが押されると各種設定が可能なメニュー画面が画像表示部28に表示される。ユーザは、画像表示部28に表示されたメニュー画面と、4方向キーやSETボタンとを用いて直感的に各種設定を行うことができる。
【0022】
電源スイッチ72は、電源オン、電源オフを切り替えるためのスイッチである。電源制御部39は、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、検出結果及びシステム制御部50の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体200を含む各部へ供給する。電源部30はアルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる。また、コネクタ33、34は、電源部30と電源制御部39とを接続するためのものである。
【0023】
RTC(Real Time Clock)40は、電源制御部39とは別に内部に電源部を保持し、電源部30が落ちた状態であっても、時計動作状態を続けている。システム制御部50は起動時にRTC40より取得した日時を用いてタイマー制御する。
【0024】
インターフェース18は、記録媒体200と接続するためのものであり、コネクタ35は記録媒体200とインターフェース18とを接続するためのコネクタである。記録媒体着脱検知部98は、コネクタ35に記録媒体200が装着されているか否かを検知するためのものである。記録媒体200はメモリカードや等である。記録媒体200は、半導体メモリや磁気ディスク等から構成される記録部19、デジタルカメラ100とのインターフェース37、及び、記録媒体200とデジタルカメラ100とを接続するためのコネクタ36を備えている。
【0025】
通信部110は、RS232CやUSB、IEEE1394、P1284、SCSI、モデム、LAN、無線通信、等の各種通信処理を行う。コネクタ(無線通信の場合はアンテナ)112は、通信部110を介してデジタルカメラ100を他の機器と接続する。コネクタ112に対してはプリンタ等が接続される。プリンタが接続された場合、記録媒体200に記録された画像ファイルがプリンタに転送されることにより、PC等を介さず直接プリンタを用いて画像印刷を行う機能も実現可能である。
【0026】
以下、本実施形態のデジタルカメラ100の動作について説明する。なお、以下に示すフローチャートの処理は、システム制御部50がシステムメモリ52に格納されたプログラムを読み出し、演算処理や制御を行うことにより実現される。
【0027】
(全体フロー)
図3は、本実施形態のデジタルカメラ100の全体的な動作手順の一例を示すフローチャートである。
まず、ユーザにより電源スイッチ72が操作され、電源がオンに切り替わると処理を開始する。そして、ステップS301において、システム制御部50はフラグや制御変数等を初期化する。次に、ステップS302において、システム制御部50は、モード切替スイッチ60の設定位置を確認し、撮影モードに設定されているか否かを判定する。この判定の結果、撮影モードに設定されている場合は、ステップS303に進み、撮影モードの処理を実行する。このステップS303における撮影モードの処理の詳細については後述する。
【0028】
一方、ステップS302の判定の結果、撮影モードに設定されていない場合は、ステップS304において、再生モードに設定されているか否かを判定する。この判定の結果、再生モードに設定されている場合は、ステップS305に進み、再生モードの処理を実行する。なお、このステップS305における再生モードの処理の詳細については後述する。一方、ステップS304の判定の結果、再生モードに設定されていない場合は、ステップS306に進み、選択されたモードに応じた処理を実行し、ステップS307に進む。なお、選択されるその他のモードとしては、記録媒体200に格納されたファイルの送受信を行う通信モードなどが含まれる。
【0029】
次に、ステップS307において、システム制御部50は電源スイッチ72の設定位置を確認し、ユーザの操作により電源オフに設定されたか否かを判定する。この判定の結果、電源スイッチ72が電源オンに設定されたままである場合は、ステップS302に戻る。一方、ステップS307の判定の結果、電源スイッチ72が電源オフに設定された場合は、ステップS308に進み、所定の終了処理を行う。具体的には、画像表示部28の表示を終了状態に変更し、バリア102を閉じて撮像部を保護する。そして、フラグや制御変数等を含むパラメータや設定値、設定モードを不揮発性メモリ56に記録し、電源供給が不要な部分への電源を遮断する。ステップS308の終了処理が完了すると処理を終了する。
【0030】
(撮影モードフロー)
図4は、図3のステップS303における撮影モードの処理手順の一例を示すフローチャートである。
撮影モードを開始すると、ステップS401において、システム制御部50は、画像表示部28の表示状態をスルー表示状態に設定する。具体的には、撮像部22等を介して生成された画像データがメモリ制御部15により一時的にメモリ32に記憶され、D/A変換器13を介して画像表示部28にその画像を表示するように制御する。
【0031】
次に、ステップS402において、電源制御部39に電源部30の残容量を確認させるとともに、記録媒体着脱検知部98に記録媒体200の有無や残容量を確認させ、デジタルカメラ100の動作に問題があるか否かを判定する。この判定の結果、電源部30または記録媒体200に問題がある場合は、ステップS403において、画像表示部28から画像により所定の警告表示を行い、ステップS401に戻る。
【0032】
一方、ステップS402の判定の結果、電源部30及び記録媒体200に問題がない場合は、ステップS404において、ユーザによりシャッターボタン61が半押しされて第1シャッタースイッチ(SW1)62がONになるまで待機する。そして、第1シャッタースイッチ(SW1)62がONにされると、ステップS405において、測距処理を行ってレンズ103の焦点を被写体に合わせ、測光処理を行って絞り値及びシャッター時間を決定する。また、測光処理において、必要であればフラッシュの設定も行う。
【0033】
次に、ステップS406において、ユーザによりシャッターボタン61が全押しされて第2シャッタースイッチ(SW2)64がONになったか否かを判定する。この判定の結果、第2シャッタースイッチ(SW2)64がOFFのままである場合は、ステップS407において、第1シャッタースイッチ(SW1)62がONのままであるか否かを判定する。この判定の結果、第1シャッタースイッチ(SW1)62がONのままである場合はステップS406に戻り、第1シャッタースイッチ(SW1)62がOFFになった場合はステップS404に戻る。
【0034】
一方、ステップS406の判定の結果、第2シャッタースイッチ(SW2)64がONになった場合は、ステップS408において、システム制御部50は、画像表示部28の表示状態を固定色表示状態に設定する。そして、ステップS409において、撮影処理を実行する。なお、この撮影処理の詳細については後述する。
【0035】
次に、ステップS410において、システム制御部50は、画像表示部28に撮影画像のクイックレビュー表示を行う。そして、ステップS411において、撮影処理で得られた画像データを画像ファイルとして記録媒体200に書き込む記録処理を実行する。この記録処理の詳細については後述する。
【0036】
次に、ステップS412において、画像表示部28におけるクイックレビュー表示を継続する(レックレビュー)。本実施形態に係るデジタルカメラ100は、レックレビュー機能を搭載しており、撮影画像の確認を入念に行うことができる。
【0037】
そして、ステップS413において、第2シャッタースイッチ(SW2)64がONのままであるか否かを判定する。この判定の結果、第2シャッタースイッチ(SW2)64がONのままである場合は、ステップS412に戻り、レックレビューを継続する。一方、ステップS413の判定の結果、第2シャッタースイッチ(SW2)64がOFFになった場合は、ステップS414において、所定のミニマムレビューの時間が経過するまで待機する。
【0038】
そして、所定のミニマムレビューの時間が経過すると、ステップS415において、システム制御部50は、画像表示部28の表示状態をスルー表示状態に設定する。なお、画像表示部28でのクイックレビュー表示によって撮影画像を所定の時間表示した後に、次の撮影で撮影された画像を逐次表示するスルー表示状態にすることができる。
【0039】
次に、ステップS416において、第1シャッタースイッチ(SW1)62がONのままであるか否かを判定する。この判定の結果、第1シャッタースイッチ(SW1)62がONのままである場合はステップS406に戻り、OFFになった場合はステップS404に戻る。
【0040】
(撮影処理)
図5は、図4のステップS409における撮影処理手順の一例を示すフローチャートである。
まず、ステップS501において、システム制御部50は、撮影開始時にその日時をRTC40より取得し、システムメモリ52に記憶する。そして、ステップS502において、システムメモリ52或いはメモリ32に記憶される測光データに従い、絞り機能を有するシャッター101を絞り値に応じて開放する。さらに、ステップS503において、撮像部22の撮像素子の露光を開始するように制御する。
【0041】
次に、ステップS504において、システム制御部50は、測光データに従って撮像素子の露光が終了するまで待機する。そして、露光が終了すると、ステップS505において、シャッター101を閉じる。次に、ステップS506において、撮像素子から電荷信号を読み出し、A/D変換器23、画像処理部24、メモリ制御部15を介して、或いはA/D変換器23からメモリ制御部15を直接介して、メモリ32に撮影画像データを書き込む。
【0042】
次に、ステップS507において、システム制御部50は、メモリ32に記憶された画像データを読み出して圧縮・伸張部16により圧縮処理等の画像処理を順次行い、処理を終えた画像データをメモリ32に再度書き込む。そして、撮影処理を終了する。
【0043】
(記録処理)
図6は、図4のステップS411における記録処理手順の一例を示すフローチャートである。
まず、ステップS601において、システム制御部50は、ファイル名生成ルールに則りファイル名を生成する。そして、ステップS602において、図5のステップS501においてシステムメモリ52に記憶した撮影日時情報を取得する。そして、ステップS603において、メモリ32に記憶された画像データのデータサイズの情報を取得する。
【0044】
次に、ステップS604において、システム制御部50は、生成したファイルを格納するディレクトリが記録媒体200に存在するか否かを判定する。この判定の結果、ディレクトリが存在する場合はステップS606に進み、ディレクトリが存在しない場合は、ステップS605において、システム制御部50は、格納するディレクトリを作成する。例えば、図7(a)に示すように「100KANON」という名称のディレクトリ700を作成する。
【0045】
次に、ステップS606において、図4のステップS409の撮影処理においてメモリ32に格納された画像データに対し、撮影日時や撮影条件等の情報から構成されるファイルヘッダを作成する。なお、ファイルヘッダ等を含む画像ファイルの構成については後述する。
【0046】
次に、ステップS607において、対象となる画像データが関連画像の一部の撮影であるか否かを判定する。この判定は、スティッチ撮影、ブラケット撮影、連写撮影モード等を指定する操作部70での設定、或いはモード切替スイッチ60の設定位置で判定する。この判定の結果、関連画像の一部の撮影でない場合は、ステップS609に進む。一方、ステップS607の判定の結果、関連画像の一部の撮影である場合は、ステップS608において、ステップS606で作成したファイルヘッダに、一連の画像の撮影の間において関連情報を記録する。
【0047】
次に、ステップS609において、ステップS601で取得したファイル名、及びステップS602で取得した日時情報からディレクトリエントリ情報を作成し、画像データを画像ファイルとして記録媒体200に記録し、記録処理を終了する。
【0048】
(ファイル構造)
図7(b)は、記録媒体200に記録する画像ファイルの構造例を示す図である。
図7において、画像ファイル701は先頭に画像開始を示すマーカーSOI702を有し、その後にアプリケーションマーカーAPP1を有する。アプリケーションマーカーAPP1内には、APP1のサイズ703、APP1の長さ704、APP1の識別コード705、及び画像の作成日時を示すDateTime706が含まれている。また、画像データが生成された日時を示すDateTimeOriginal707、画像に付与された分類情報を示すClassInformation708、画像の関連を示すRelationInformation709が含まれている。さらに、撮影情報などを含むその他の情報710及びサムネイル画像データ711が含まれている。
【0049】
ステップS609においてディレクトリエントリ情報を作成する場合、前述したDateTime706及びDateTimeOriginal707には、ステップS602においてシステムメモリ52から取得した撮影日時情報を格納する。ClassInformation708には、システムメモリ52に記憶した分類情報を格納する。また、RelationInformation709には、複数の撮影画像間において関連があることを示す所定の情報が記載される。この所定の情報は最初に記録した関連画像の画像番号でもよく、特定の撮影モードを示す情報でもよい。
【0050】
また、記録される画像データは、量子化テーブルDQT712、ハフマンテーブルDHT713、フレーム開始マーカーSOF714、スキャン開始マーカー715及び圧縮データ716から構成されている。そして、画像データの最後を示すマーカーEOI717で終端される。本実施形態で示したファイル構造はExif規格として定義された構造であり、APP1コード及び識別コード705を参照することにより、Exif構造であることが認識できる。
【0051】
(再生処理)
図8は、図3のステップS304において、再生モードにおける再生処理手順の一例を示すフローチャートである。
まず、ステップS801において、記録媒体200から初期画像情報を取得する。この初期画像情報とは最新の画像或いは前回の再生で表示した画像の情報である。総枚数を計算したり検索管理ファイルを作成したりする前に初期画像情報を取得することにより、再生モードに入ると、すばやく処理結果を表示できる。このステップS801の詳細については後述する。
【0052】
次に、ステップS802において、ステップS801で行われた初期画像情報の取得処理が正しく行われたかどうかを判定する。ここで、初期画像情報の取得処理が正しく行われない例としては、画像が一枚もないような状態や、記録媒体200の不良によって画像情報が取得できなかったような状態などが考えられる。したがって、初期画像情報を正しく取得できた場合には、少なくとも画像が1枚はあると判定できる。
【0053】
ステップS802の判定の結果、初期画像情報の取得処理が正しく行われた場合は、ステップS803において、ステップS801で取得した初期画像情報に基づいて記録媒体200から初期画像に係る画像ファイルを読み出す。そして、ステップS804において、読み出した初期画像の画像ファイルの撮影情報や属性情報などのファイル解析処理を行う。なお、このファイル解析処理の詳細については後述する。
【0054】
次に、ステップS805において、読み出した初期画像を表示する。さらに撮影情報や属性情報などの情報も設定に応じて表示する。また、ステップS804のファイル解析結果に応じて、ファイルの一部が壊れているなど不正なデータが存在する場合には、エラー表示も合わせて行う。この画像表示処理の詳細については後述する。
【0055】
次に、ステップS806において、記録媒体200に記録されている画像ファイルの再生対象リストを作成する処理を開始する。再生対象リストとは、例えばDCF規格に従った再生機器においてはDCFルートディレクトリのディレクトリエントリ情報を解析してその再生機器において再生可能な画像データを予め取得して管理するリストである。この再生対象リストの作成処理は非同期で行われ、完了を待たずに次の処理に進む。このようにすることによって、多くの画像ファイルが記録媒体200に記録されており、再生対象リストに基づく検索に時間が多くかかるような場合でも画像を閲覧することができる。この再生対象リストの作成処理の詳細については後述する。
【0056】
次に、ステップS807において、検索管理ファイルの作成を開始する。検索管理ファイルとは、画像ファイルに含まれている属性情報を予め取得して管理するリストである。検索管理ファイルを予め作成しておくことにより、属性ごとの再生や消去といった処理をすばやく行うことが可能となる。検索リスト作成処理も再生対象リストの作成と同様に完了を待たずに処理を終了し、入力待ち状態に移行する。また、ステップS802の判定の結果、初期画像情報の取得処理が正しく行われなかった場合は、ステップS808において、「画像がありません」等のメッセージを画像表示部28に表示し、処理を終了して入力待ち状態に移行する。
【0057】
(再生モード入力待ち状態)
図9は、再生モードにおける入力待ち状態での再生処理手順の一例を示すフローチャートである。
まず、ステップS901において、何らかの入力があるまで待機する。ここでいう入力とは、ユーザによる操作部70の各種ボタンの操作や、電池蓋に対する操作、電源の低下などを知らせるイベント、図8のステップS807で開始した検索管理ファイルの作成処理の完了通知などに伴う入力が含まれる。
【0058】
そして、何らかの入力があった場合は、ステップS902において、入力内容がユーザによる画像送りボタンの操作に伴う入力であるかどうかを判定する。この判定の結果、画像送りボタンの操作に伴う入力である場合は、ステップS903において、次の表示画像に係る画像ファイルを記録媒体200から読み出す。なお、画像送りボタンは対の方向で形成されており、その送り方向によって次の表示画像が変わる。
【0059】
次に、ステップS904において、グループ表示設定が「入」であるか否かを判定する。このグループ表示設定は、後述するステップS927で設定されるものである。この判定の結果、グループ表示設定が「切」である場合は、ステップS908において、ステップS903で読み出された画像ファイルに対して、撮影情報や属性情報などのファイル解析処理を行う。なお、このファイル解析処理は、前述した図8のステップS804と同様の処理である。
【0060】
次に、ステップS909において、代表画像選択処理を行う。この代表画像選択処理については後述する。そして、ステップS910において、読み出した画像に対して画像表示処理を行う。この画像表示処理は、前述した図8のステップS805と同様である。表示が完了すると、ステップS901の入力待ち状態へ戻る。
【0061】
一方、ステップS904の判定の結果、グループ表示設定が「入」である場合は、ステップS905において、ステップS903で読み出した画像ファイルのディレクトリが解析済みであるか否かを判定する。この判定の結果、ディレクトリが既に解析済みである場合は、ステップS909に進む。一方、ディレクトリが解析済みでない場合は、ステップS906において、ステップS903で読み出した画像ファイルのディレクトリを予約ディレクトリとしてシステムメモリ52に記憶する。そして、ステップS907において、解析中である旨を伝えるメッセージやアイコンを画像表示部28に表示する。ここで設定された予約ディレクトリは、後述する検索管理ファイル作成処理において優先的に解析される。
【0062】
一方、ステップS902の判定の結果、画像送りボタンの操作に伴う入力でない場合は、ステップS911において、終了ボタンの操作に伴う入力かどうかを判定する。この判定の結果、終了ボタンの操作に伴う入力である場合は、ステップS912において、検索管理ファイルの作成処理を終了する。このステップS912では、検索管理ファイルが作成途中であった場合は処理を中断させ、既に作成が完了している場合は何も行わない。
【0063】
続いて、ステップS913において、再生対象リストの作成処理を終了する。このステップS913でも、ステップS912の処理と同様に、再生対象リストの作成がまだ途中であった場合は作成を中断し、既に完了している場合は何も行わない。そして、処理を終了し、図3のステップS307へ進む。
【0064】
一方、ステップS911の判定の結果、終了ボタンの操作に伴う入力ではない場合は、ステップS914において、図8のステップS806で開始した再生対象リストの作成が終了しているか否かを判定する。この判定の結果、再生対象リストの作成がまだ終了していない場合は、ステップS901に戻る。このとき、まだ再生対象リストの作成が終了していない旨を伝えるメッセージやアイコンを表示してもよい。
【0065】
一方、ステップS914の判定の結果、再生対象リストの作成が終了している場合は、ステップS915において、図8のステップS807で開始した検索管理ファイルの作成処理が終了しているか否かを判定する。この判定の結果、検索管理ファイルの作成処理がまだ終了していない場合は、ステップS901に戻る。このとき、再生対象リストの作成が終了していない場合と同様に、まだ検索管理ファイルの作成処理が終了していない旨を伝えるメッセージやアイコンを表示してもよい。
【0066】
一方、ステップS915の判定の結果、検索管理ファイルの作成処理が終了している場合は、ステップS916において、入力内容が消去ボタンの操作に伴う入力であるかどうかを判定する。この判定の結果、消去ボタンの操作に伴う入力である場合は、ステップS917において、画像表示部28に現在表示されている画像を画面から消去する。
【0067】
次に、ステップS918において、消去後の総画像枚数を判定する。この判定の結果、総画像枚数が0になっている場合は、ステップS919において、図8のステップS808の処理と同様に、「画像がありません」等のメッセージを画像表示部28に表示し、ステップS901に戻る。一方、ステップS918の判定の結果、総画像枚数が1以上である場合は、ステップS920において、次の表示画像に係る画像ファイルを記録媒体200から読み出す。次のステップS921〜S923の処理はそれぞれ、ステップS908〜S910の処理と同様であるため、説明は省略する。
【0068】
一方、ステップS916の判定の結果、入力内容が消去ボタンの操作に伴う入力でない場合は、ステップS924において、入力内容が絞り込みボタンの操作に伴う入力であるか否かを判定する。この判定の結果、絞り込みボタンの操作に伴う入力である場合は、ステップS925において、ユーザが選択した絞り込み属性の情報をシステムメモリ52に記憶し、ステップS901に戻る。
【0069】
一方、ステップS924の判定の結果入力内容が絞り込みボタンの操作に伴う入力でない場合は、ステップS926において、入力内容がグループ表示ボタンの操作に伴う入力であるか否かを判定する。この判定の結果、グループ表示ボタンの操作に伴う入力である場合は、ステップS927において、グループ表示設定の「入」または「切」の状態を変更し、ステップS901に戻る。なお、複数のグループが存在し、グループ表示設定が「入」である場合は、代表画像のみを順次再生するモードで代表画像を再生するようにしてもよい。この場合、次のグループの代表画像を表示する場合には、所定の時間が経過すると、次のグループの中から代表画像を選択して表示する。
【0070】
一方、ステップS926の判定の結果、入力内容がグループ表示ボタンの操作に伴う入力でない場合は、ステップS928において、入力内容がリジューム再生ボタンの操作に伴う入力であるか否かを判定する。この判定の結果、リジューム再生ボタンの操作に伴う入力である場合は、ステップS929において、リジューム再生設定を「入」または「切」の状態に変更し、ステップS901に戻る。なお、このリジューム再生設定が「入」の場合、後述する図18のステップS1805において、前回再生した画像ファイルを取得し、表示する処理を行う。
【0071】
一方、ステップS928の判定の結果、入力内容がリジューム再生ボタンの操作に伴う入力でない場合は、ステップS930において、入力内容が分類設定ボタンの操作に伴う入力であるか否かを判定する。この判定の結果、分類設定ボタンの操作に伴う入力である場合は、ステップS931において、画像ファイルの分類情報を変更し、ステップS901に戻る。
【0072】
一方、ステップS930の判定の結果、入力内容が分類設定ボタンの操作に伴う入力ではなくそれ以外の入力である場合は、ステップS932において、それ以外の入力に応じた処理を行う。例えば、マルチ再生への切り替えや、メニューボタンによるメニュー表示などの処理を行う。そして、ステップS901に戻る。
【0073】
(ファイル解析)
図10は、図8のステップS804、図9のステップS908及びS921におけるファイル解析処理の詳細な手順の一例を示すフローチャートである。
まず、ステップS1001において、システム制御部50は、解析対象の画像ファイルに、撮影情報、分類情報等の属性情報の記載されたファイルヘッダがあるか否かを判定する。この判定の結果、ファイルヘッダがある場合は、ステップS1002において、当該ファイルヘッダから撮影情報を取得する。そして、ステップS1003において、当該ファイルヘッダから分類情報等を取得する。さらに、ステップS1004において、当該ファイルヘッダから関連情報等を取得する。
【0074】
ここで撮影情報とは、撮影日時に関する情報や、撮影時の撮影モードなどの情報である。分類情報とは、画像検索に用いるための識別情報のことであり、タグ情報などである。関連情報とは、一連の撮影、例えば単写/連写撮影やスティッチ撮影、ブラケット撮影、連写撮影モード、パノラマ撮影、3D画像撮影等において撮影された画像であることを示す情報である。
【0075】
次に、ステップS1005において、システム制御部50は、画像のファイルフォーマットに関する情報や、そのファイルフォーマットに基づき抽出される、画像本体開始位置、画像圧縮方法等の画像データ本体の情報を取得する。そして、ステップS1006において、システム制御部50は、前述した撮影情報、分類情報、画像情報等が検索管理ファイルの内容と同じか否かを判定する。
【0076】
ステップS1006の判定の結果、同じである場合は、そのまま処理を終了する。一方、ステップS1006の判定の結果、相違がある場合は、ステップS1007において、検索管理ファイルにおいて該当するファイル情報を更新する。そして、ステップS1008において、検索管理ファイルを記録媒体200に書き込み、処理を終了する。
【0077】
以上のように、画像を表示するために画像ファイルを読み出してファイルヘッダを解析した場合に、同時に検索管理ファイルのファイル単位での照合を行うことにより別途な処理時間をかけることなく検索管理ファイルの詳細な照合及び訂正が可能となる。また、検索管理ファイル自身の改竄、管理対象ファイルの変更等を検知できなかった場合においても、検索管理ファイルを正しい値に再構築することが可能となる。
【0078】
(再生対象リスト作成処理)
図11は、図8のステップS806の処理において開始される再生対象リストの作成処理手順の一例を示すフローチャートである。
まず、ステップS1101において、システム制御部50は、最新画像確定フラグを0に初期化する。そして、ステップS1102において、総ファイル数確定フラグを0に初期化し、ステップS1103において、検索許可フラグを0に初期化する。
【0079】
次に、ステップS1104において、システム制御部50は、再生対象リストを作成する。この処理は、例えばDCF規格に従った再生機器においてはDCFルートディレクトリのディレクトリエントリを解析してDCFディレクトリを検索し、再生対象リストへ追加する処理である。そして、ステップS1105において、システム制御部50は、再生対象ディレクトリが存在したか否かを判定する。この判定の結果、再生対象ディレクトリが存在しない場合は、デジタルカメラ100が取り扱い可能なディレクトリや、取り扱い可能なファイルが無い状態である。そこで、ステップS1114において、システム制御部50は、総ファイル数を0に設定するとともに、総ファイル数確定フラグを1に設定し、本処理を終了する。
【0080】
一方、ステップS1105の判定の結果、再生対象ディレクトリが存在する場合は、システム制御部50は、ステップS1106において、画像検索対象ディレクトリを初期化する。この初期化において、例えば、DCF規格の再生機器では、最大番号のDCFディレクトリが画像検索対象ディレクトリに設定される。次に、ステップS1107において、システム制御部50は、画像検索対象に設定されたディレクトリ内の画像総数を、当該ディレクトリのディレクトリエントリを解析することにより算出する。そして、そのディレクトリ内の画像総数を記録媒体200内の画像総数に加算する。
【0081】
次に、ステップS1108において、システム制御部50は、DCFルートディレクトリのディレクトリエントリに記載されているファイル情報を取得する。具体的には、最小ファイル番号、最大ファイル番号、ファイル番号総和、タイムスタンプ総和、ファイルサイズ総和、総ファイル数等の情報を取得する。そして、これらをディレクトリエントリ情報としてシステムメモリ52に記憶する。
【0082】
次に、ステップS1109において、再生対象となる画像ファイル(即ち、デジタルカメラ100が取り扱い可能なファイル)が存在するか否かを判定する。この判定の結果、再生対象となる画像ファイルが存在する場合、システム制御部50は、ステップS1110において、最新画像を決定し、最新画像確定フラグを1に設定する。また、ステップS1109の判定の結果、再生対象となる画像ファイルが存在しない場合は、ステップS1112に進み、終了ボタン等が操作され、総数計算終了の指示があったか否かを判定する。この判定の結果、総数計算終了の指示があった場合はステップS1114へ進み、処理を中断して抜ける。
【0083】
一方、ステップS1112の判定の結果、総数計算終了の指示がない場合は、ステップS1113において、未検索のディレクトリが存在するか否かを判定する。この判定の結果、未検索のディレクトリが存在する場合は、ステップS1111において、画像検索対象ディレクトリを未処理のディレクトリに設定し、ステップS1107に戻る。このようにして、ステップS1107〜S1110の処理をステップS1104で作成した再生対象リストにあるすべてのディレクトリに対して行う。
【0084】
そして、ステップS1113の判定の結果、未検索のディレクトリが存在しない場合は、ステップS1114において、システム制御部50は、最新画像確定を通知するとともに画像総数を算出し、総ファイル数確定フラグを設定し、処理を抜ける。なお、再生対象ディレクトリが存在しても、ディレクトリ内に再生対象の画像ファイルが無い場合は、画像総数0として総ファイル数確定フラグを立てて処理を抜けるものとする。
【0085】
(検索管理ファイルの作成)
図12は、図8のステップS808において開始される検索管理ファイルの作成処理手順の一例を示すフローチャートである。
まず、ステップS1201において、検索管理ファイルを作成する指示を受けるまで待機する。
【0086】
そして、検索管理ファイルを作成する指示を受けると、ステップS1202において、システム制御部50は、信頼性をまだ確認していないディレクトリが存在するか否かを確認する。この確認の結果、すべての再生対象ディレクトリに関して信頼性を確認している場合は、ステップS1203において、検索許可フラグ=1をシステムメモリ52に設定し、処理を終了する。
【0087】
一方、ステップS1202の確認の結果、信頼性をまだ確認していないディレクトリが存在する場合は、ステップS1204において、当該ディレクトリを、信頼性を確認すべき対象ディレクトリに設定する。そして、ステップS1205において、システム制御部50は、対象ディレクトリに対応する検索管理ファイルが記録媒体200に記録されているか否かを判定する。この判定の結果、記録媒体200に記録されている場合は、ステップS1206において、当該検索管理ファイルを記録媒体200から読み出してシステムメモリ52に記憶する。
【0088】
次に、ステップS1207において、システム制御部50は、ステップS1206で読み出した検索管理ファイルに対して信頼性を確認する。この信頼性を確認する処理の詳細については後述する。そして、ステップS1208において、検索管理ファイルの全てのデータに信頼性があるか否かを判定する。この判定の結果、全データに信頼性がある場合は、ステップS1214に進む。
【0089】
一方、ステップS1208の判定の結果、少なくとも一部のデータに信頼性が無い場合は、ステップS1209において、一部のデータに信頼性があるか否かを判定する。この判定の結果、全てのデータに対して信頼性がない場合は、ステップS1211において、システム制御部50は、ディレクトリ内の全データを再検査の対象とする。
【0090】
一方、ステップS1209の判定の結果、一部のデータにのみ信頼性がある場合は、ステップS1210において、システム制御部50は、信頼性の確認されていない一部のデータを再検査対象として設定する。そして、ステップS1212において、再検査対象に設定されたファイルについて検索管理ファイルを生成する。
【0091】
次に、ステップS1213において、システム制御部50は、生成した検索管理ファイルを記録媒体200に書き込む。例えば、図13(a)に示されるように、検索管理ファイルを格納するディレクトリ「XXXMSC」を生成し、そのディレクトリの中に作成した検索管理ファイル(「M100.CTG」1311、「M101.CTG」1313)を格納する。なお、本実施形態では、ディレクトリ毎に検索管理ファイルを作成する。例えば、「M100.CTG」1311をディレクトリ「100XXX」1312の検索管理ファイルとし、「M101.CTG」1313をディレクトリ「101XXX」1314の検索管理ファイルとする。
【0092】
次に、ステップS1214において、該当するディレクトリが、信頼性が確認済みであることをシステムメモリ52に記憶し、ステップS1215に進む。そして、ステップS1215において、検索管理ファイルの作成を中断する指示があったか否かを判定する。この判定の結果、中断する指示があった場合は、ステップS1201に戻り、再び検索管理ファイルを作成する指示があるまで待機する。一方、ステップS1215の判定の結果、検索管理ファイルの作成を中断する指示がない場合は、ステップS1202に進み、上記一連の処理を信頼性が未確認のディレクトリがなくなるまで続けることになる。
【0093】
(信頼性確認処理)
図14は、図12のステップS1207において信頼性を確認する詳細な処理手順の一例を示すフローチャートである。また、図13(b)は、本実施形態による検索管理ファイルの一例を示す図である。
まず、ステップS1401において、システム制御部50は、図12のステップS1206で記録媒体200からシステムメモリ52に読み出した検索管理ファイルの整合性を確認する。この整合性の確認は、図13(b)に示す管理ファイル信頼性情報1302に基づいて行われる。
【0094】
図13(b)に示すように、管理ファイル信頼性情報1302は、管理ファイルバージョン、管理ファイルサイズ、管理ファイルチェックサムのような、検索管理ファイル自身の整合性に関する情報であり、検索管理ファイル自体の改竄の有無の確認に使用される。なお、管理ファイル信頼性情報1302としては、更に、タイムスタンプ、ハッシュ値等を利用することができる。
【0095】
ステップS1401の確認の結果、整合性が確認できない場合は、ステップS1402において、データは信頼性なしと判定し、処理を終了する。このように、検索管理ファイルが改竄されたことにより正常な検索ができないという事態を防止することが可能となる。
【0096】
一方、ステップS1401の確認の結果、検索管理ファイルの整合性が確認できた場合は、ステップS1403に進む。そして、ステップS1403において、システム制御部50は、図11のステップS1108でシステムメモリ52に記憶されたディレクトリエントリ情報を取得する。そして、ステップS1404において、システム制御部50は、図12のステップS1206で記録媒体200から読み出した検索管理ファイルに記載されているディレクトリエントリ情報と、ステップS1403で取得したディレクトリエントリ情報とを比較する。
【0097】
この処理では、図13(b)に示す信頼性確認情報1301における、最小ファイル番号、最大ファイル番号、ファイル番号総和、タイムスタンプ総和、ファイルサイズ総和、総ファイル数のような対象ディレクトリの構成を示す情報を用いて比較する。なお、本実施形態では、DCF規格を想定してファイル番号をエントリ情報としているが、ファイル名やファイル名の文字コードの総和、記録媒体上のディレクトリエントリのハッシュ値等をディレクトリエントリ情報としてもよい。
【0098】
そして、ステップS1405において、両者の情報が同一であるか否かを判定する。この判定の結果、両者の情報が一致した場合は、ステップS1406において、システム制御部50は、全データが信頼性有りと判定して処理を終了する。これにより、対象ディレクトリ内のファイル自体の変更、ファイル構成の変更により正常な検索ができないという事態を防止することが可能となる。
【0099】
一方、ステップS1405の判定の結果、情報が同一でない場合は、ステップS1407に進む。そして、ステップS1407において、システム制御部50は、検索管理ファイルにしか存在しないファイルが存在するか否かを判定する。この判定の結果、検索管理ファイルにしか存在しないファイルが存在する場合は、検索管理ファイルにしか存在しないファイルが存在する場合は、前述したステップS1402に進む。
【0100】
一方、ステップS1407の判定の結果、検索管理ファイルにしか存在しないファイルが存在しない場合は、ステップS1408に進む。そして、ステップS1408において、システム制御部50は、検索管理ファイル内のディレクトリエントリ情報と、ステップS1403で取得したディレクトリエントリ情報との両方に存在する共通ファイルが存在するか否かを判定する。この判定の結果、共通ファイルが存在しない場合は、前述したステップS1402に進む。
【0101】
一方、ステップS1408の判定の結果、共通ファイルが存在する場合は、ステップS1409において、ディレクトリエントリ情報の共通ファイルの部分を記録媒体200から取得する。そして、ステップS1410において、共通ファイルの部分に関して、検索管理ファイルに記載のディレクトリエントリ情報と比較する。ここでのディレクトリエントリ情報を用いた比較においては、タイムスタンプ、ファイルサイズ、ファイル名、プロテクト属性、隠し属性、アーカイブ属性等を用いることができる。
【0102】
そして、ステップS1411において、共通ファイルにおいてディレクトリエントリ情報が同一であるか否かを判定する。この判定の結果、共通ファイルにおいて同一である場合は、ステップS1412において、システム制御部50は、一部のデータは信頼性有りと判定し、処理を終了する。例えば、外部装置で記録媒体200に画像ファイルが追加され、デジタルカメラ100における撮影画像情報の検索管理ファイルへ記録媒体200に追加された画像ファイルの撮影画像情報が反映される前に電源遮断等がなされる場合がある。このような場合には、一部のファイルのみの情報が検索管理ファイルに記載されていないようなことが生じる。本実施形態によれば、そのような場合でも、すでに信頼性があると確認されているデータは有効に使用することが可能となる。
【0103】
一方、ステップS1411の判定の結果、共通ファイルの部分の情報が同一でない場合は、前述したステップS1402においてデータは信頼性なしと判定し、処理を終了する。
【0104】
以上の検索管理処理によれば、記録媒体200に記録されている検索管理ファイルの構成を変更したり、検索管理ファイル自体を変更したりしたことを検知して検索管理ファイルを自動的に再構築することが可能となる。また、前述したように、ステップS1403及びS1404において、記録媒体200に記録されている検索管理ファイルの構成の変更、管理対象ファイルの変更の検知をディレクトリエントリ情報に基づいて検知する。このため、ファイルの内容を参照しないで高速に実行できる。
【0105】
また、検索管理ファイルの再構築では、記録媒体200に記録されている検索管理ファイルの構成の変更、または検索管理ファイルの変更を検知したディレクトリに対してのみ再構築が行われる。このため、図12のステップS1204〜S1213に示すように、変更しないディレクトリに対しては検索管理ファイルを再構築する必要がない。
【0106】
また、図12のステップS1210及びS1212、及び図14のステップS1409〜S1412に示すように、共通ファイルについて変更がない場合は、共通ファイルの検索管理ファイルの情報はそのまま利用される。このため、外部装置でディレクトリにファイルが追加された場合や、本装置でディレクトリにファイルを追加して検索管理ファイルを更新する前に本装置の電源を落とした場合等においても、構築済みの検索管理ファイルを有効に使用することができる。また、検索管理ファイルの再構築では、共通ファイルに変化がなければ、記録媒体200内の検索管理ファイルの構成、または検索管理ファイル自体の変更を検知したディレクトリのうち、重複しない検索管理ファイルに対してのみ行われる。このため、すでに構築済みのファイル情報については再構築する必要が無く、追加が検出されたファイルのみ再検査を行うことができる。
【0107】
また、信頼性の確認では、図13(b)の管理ファイル信頼性情報1302に示すように、検索管理ファイルにファイル属性を記載し、これを照合することも行われる(図14のステップS1401)。これにより、検索管理ファイル自身の改竄を検知することが可能となり、誤った管理を行うことを防止できる。また、検索管理ファイル自身の改竄の確認は検索管理ファイル自身のディレクトリエントリ上の情報で行われるため、ファイル単位で高速に確認を行うことができる。
【0108】
(検索管理ファイル生成)
図15は、図12のステップS1212における検索管理ファイルの生成処理手順の一例を示すフローチャートである。以下、図15に示すフローチャートと、図13(b)に示す検索管理ファイルとを参照しながら検索管理ファイルの生成処理について説明する。
【0109】
まず、ステップS1501において、システム制御部50は、解析対象のファイルを設定する。設定の対象となるファイルは、前述の図12に示した検索管理ファイル作成処理により設定されたディレクトリ内の全ファイルもしくは信頼性の確認ができなかった一部のファイルのうち、未解析のファイルである。
【0110】
次に、ステップS1502において、システム制御部50は、解析対象のファイルの属性情報を取得する。なお、この属性情報を取得する処理の詳細については後述する。次に、ステップS1503において、検索管理ファイルに記載する情報を生成し、検索管理ファイルに登録する。これは、図13のファイル1303に示すように、分類情報、撮影情報、被写体情報等を含み、ファイルを特定する情報と関連付けて記憶される。なお、ファイルを特定する情報として、ファイル名、ファイル番号等をリスト内に記載してもよい。また、リストの並び順によってファイルと関連付けるようにしてもよい。一方、後述する属性情報取得処理でファイルヘッダが無いと判断された場合も、システム制御部50は、その旨の情報を検索管理ファイルに記載する。
【0111】
以上のようにして、ステップS1503で解析対象のファイルの属性情報が検索管理ファイルに登録される。そして、ステップS1504において、システム制御部50は、未解析ファイルの有無を確認する。この確認の結果、未解析ファイルがある場合はステップS1501に戻り、未解析ファイルがない場合は、処理を終了する。
【0112】
以上のように、属性情報を記録媒体200内のファイルを読み出して解析することをしないので、高速に検索管理ファイルの構築が可能となる。
【0113】
また、上述した信頼性確認処理によれば、例えば、信頼性確認がなされる前に図9に示す分類情報設定処理(ステップS931)や画像消去処理(ステップS917)が行われた場合に、対象の画像ファイルを管理対象から外すことが可能になる。即ち、ファイル管理処理において、対象の画像ファイルは本システムにおいて管理される画像ファイルの対象から外される。
【0114】
また、記録媒体200内の画像ファイルを検索して総枚数が確定すると、分類情報設定処理(ステップS932)及び画像消去処理(ステップS918)が可能となる。その間、記録媒体200内の検索管理ファイルの信頼性確認処理(ステップS1207)が並行して動作している。
【0115】
まず、信頼性確認がなされる前に画像ファイルが消去された場合について説明する。この場合、画像ファイルの消去に伴って当該画像ファイルが属するディレクトリのディレクトリエントリが更新される。したがって、検索管理ファイルに記載されている信頼性確認情報1301と上記ディレクトリエントリとの間に不整合が生じ、図14の信頼性確認処理において、処理はステップS1405からステップS1407へ進む。また、消去された画像ファイルはディレクトリエントリに存在しないので、当該画像ファイルは検索管理ファイルにのみ存在することになる。このため、検索管理ファイルのデータは信頼性なしと判定され(ステップS1209)、全データが再検査対象に設定されて検索管理ファイルの生成が行われる(ステップS1211及びS1212)。
【0116】
次に、信頼性確認がなされる前に画像ファイルについて分類情報が変更された場合について説明する。この場合も、画像ファイルの分類情報の変更に伴って当該画像ファイルが属するディレクトリのディレクトリエントリ(タイムスタンプ等)が更新される。したがって、検索管理ファイルに記載の信頼性確認情報1301と上記ディレクトリエントリとの間に不整合が生じ、図14の信頼性確認処理において、処理はステップS1405からステップS1407へ進む。分類情報の変更では画像ファイルは消去されていないので、検索管理ファイルにのみ存在する画像ファイルは発生しない。しかしながら、分類情報が変更されているため、当該画像ファイルに関してはディレクトリエントリと検索管理ファイルに共通に存在する画像ファイルとの間で不整合が生じる。そのため、処理はステップS1411からステップS1402へ進み、検索管理ファイルのデータは信頼性なしと判定される。その結果、全データが再検査対象に設定されて検索管理ファイルの生成が行われる(ステップS1211及びS1212)。
【0117】
以上のようにして、信頼性確認の前に画像の削除または分類情報の変更が行われた場合は、本システムにおいて管理される画像ファイルの対象から外される。
【0118】
(属性情報取得)
図16は、図15のステップS1502における属性情報を取得する処理手順の一例を示すフローチャートである。
まず、ステップS1601において、システム制御部50は、図15のステップS1501で解析対象として設定されたファイルの属性情報がシステムメモリ52内のキャッシュ領域に存在するか否かを判定する。この属性情報は例えば画像を撮影する時においてシステムメモリ52のキャッシュ領域に保持されるものである。この判定の結果、属性情報が存在する場合は、ステップS1602において、キャッシュ領域から検索管理ファイルに記載する属性情報を取得する。
【0119】
一方、ステップS1601の判定の結果、キャッシュ領域に属性情報が存在しない場合は、ステップS1603において、システム制御部50は、解析対象であるファイルを記録媒体200から読み出す。そして、ステップS1604において、当該ファイルに属性情報の記載されたファイルヘッダが存在するか否かを判定する。この判定の結果、ファイルヘッダが存在しない場合は、そのまま処理を終了する。
【0120】
一方、ステップS1604の判定の結果、ファイルヘッダが存在する場合は、ステップS1605において、ファイルヘッダから撮影情報を取得する。そして、ステップS1606において、分類情報を取得し、ステップS1607において、関連情報を取得する。
【0121】
(画像表示処理)
図17は、図8のステップS805、図9のステップS910及びS923において、画像を表示する処理手順の一例を示すフローチャートである。
まず、ステップS1701において、システム制御部50は、システムメモリ52からグループ表示設定の情報を取得し、グループ表示設定が有効かどうか判定する。この判定の結果、グループ表示設定が無効である場合は、ステップS1702において、システム制御部50は、メモリ32から現在の画像ファイルを選択し、ステップS1704において、その画像を表示する。
【0122】
一方、ステップS1701の判定の結果、グループ表示設定が有効である場合は、ステップS1703において、システム制御部50は、後述する図19の処理により決定された代表画像データをメモリ32から選択する。そして、ステップS1704においてその代表画像を表示する。
【0123】
(初期画像情報取得処理)
図18は、図8のステップS801における初期画像情報を取得する処理手順の一例を示すフローチャートである。
まず、ステップS1801において、システム制御部50は、初期画像情報を既に取得済みであるか否かを判定する。この判定の結果、初期画像情報を既に取得済みである場合は、システム制御部50はそのまま本処理を終了する。
【0124】
一方、ステップS1801の判定の結果、初期画像情報をまだ取得していない場合は、ステップS1802において、システム制御部50は、記録媒体200からルートディレクトリエントリを読み出す。次に、ステップS1803において、ステップS1802で読み出されたルートディレクトリを解析し、"/DCIM"ディレクトリの有無を判定する。この判定の結果、"/DCIM"ディレクトリが存在しない場合は、システム制御部50は再生画像は無いものと判断し、この本処理を抜ける。一方、ステップS1803の判定の結果、"/DCIM"ディレクトリが存在する場合は、ステップS1804において、システム制御部50は、リジューム再生設定が「入」であるか否かを判定する。この処理では、前述した図9のステップS929において設定されたリジューム再生設定に基づいて判定する。
【0125】
この判定の結果、リジューム再生設定が「入」である場合は、ステップS1805において、システム制御部50は前回再生した画像ファイルを検索する。そして、ステップS1806において、システム制御部50は前回再生した画像ファイルを検索できたか否かを判定する。この判定の結果、画像ファイルを検索できた場合はその画像ファイルを読み出してステップS1814に進み、画像ファイルを検索できなかった場合は、ステップS1807に進む。
【0126】
一方、ステップS1804の判定の結果、リジューム再生設定が「切」である場合は、ステップS1807において、システム制御部50は"/DCIM"のディレクトリを読み出し、検索ディレクトリ番号をDCF規格上の最大値である999に設定する。
【0127】
次に、ステップS1808において、対応するディレクトリ/DCIM/ "DirNumxxxxx"が存在するか否かを判定する。この判定の結果、対応するディレクトリが存在する場合は、ステップS1809において、システム制御部50はこのディレクトリエントリを読み出し、ステップS1810において、再生可能な画像ファイルの有無を判定する。なお、/DCIM/ "DirNumxxxxx"は、例えばDirNumが100の場合、/DCIM/ 100xxxxxとなり、xxxxxは、5文字のASCII半角英数字となる。
【0128】
ステップS1810の判定の結果、再生可能な画像ファイルが存在しない場合は、ステップS1811において、システム制御部50はDirNumがDCF規格上の最小値である100であるか否かを判定する。この判定の結果、DirNumが100であった場合は、システム制御部50は検索を終了する。また、ステップS1811の判定の結果、DirNumが100以外であった場合は、DirNumの1つ小さいディレクトリを検索する。
【0129】
一方、ステップS1810の判定の結果再生可能な画像ファイルが存在する場合は、ステップS1813において、システム制御部50は該当するディレクトリ内から再生可能な画像ファイルのうち、最大番号の画像ファイルを検出し、その画像ファイルを読み出す。そして、ステップS1814において、グループ表示設定が「入」であるか否かを判定する。この判定は、前述した図9のステップS927においてシステム制御部50が設定したグループ表示設定に基づいて判定する。この判定の結果、グループ表示設定が「入」である場合は、ステップS1815において、システム制御部50は代表画像選択処理を行う。なお、この処理は、図9のステップS909と同様の処理である。そして、ステップS1816において、選択した代表画像を初期画像として設定し、本処理を終了する。
【0130】
一方、ステップS1814の判定の結果、グループ表示設定が「切」である場合は、ステップS1816において、システム制御部50はステップS1813で検出した最大番号の画像ファイルを初期画像として設定し、本処理を終了する。
【0131】
(代表画像選択処理)
図19は、本実施形態において、図9のステップS909、S922、及び図18のステップS1815における代表画像を選択する処理手順の一例を示すフローチャートである。
まず、ステップS1900において、システム制御部50は、現在読み出している画像ファイルについて、撮影情報、分類情報及び関連情報を属性情報として取得する。
【0132】
ここで、現在読み出している画像ファイルとは、ステップS909の処理の場合は、画像送りによりステップS903で読み出した画像ファイルであり、ステップS922の処理の場合は、画像の削除後にステップS920で読み出した画像ファイルである。また、ステップS1818の処理の場合は、リジューム再生された画像ファイルとして前回再生された画像ファイル、または最大ディレクトリの最大番号ファイルの画像ファイルである。
【0133】
また、属性情報には、前述した撮影情報、分類情報、関連情報が含まれている。撮影情報は、図7(b)のDateTime706に格納されている撮影日時情報や、その他の情報710として撮影時の撮影モードなどの情報である。分類情報とは、図7(b)のClassInformation708に格納されている画像検索に用いるための識別情報のことであり、タグ情報などである。また、関連情報は、図7(b)に示すRelationInformation709に相当する情報であり、例えば、画像間の関連を示す画像番号など、一連の撮影により撮影された画像であることを示す情報である。一連の撮影とは、例えば単写/連写撮影やスティッチ撮影、ブラケット撮影、連写撮影モード、パノラマ撮影、3D画像撮影等である。
【0134】
次に、ステップS1901において、システム制御部50は、ステップS1900で取得した属性情報をシステムメモリ52に一時記憶する。そして、ステップS1902において、システム制御部50は、読み出している画像ファイルの画像番号が最小番号であるか否かを判定する。この判定の結果、最小番号である場合は、ステップS1907において、システム制御部50は、現在読み出している画像番号の画像ファイルを代表画像データとしてメモリ32に記憶し、本処理を終了する。
【0135】
一方、ステップS1902の判定の結果、最小番号でない場合は、ステップS1903において、システム制御部50は、画像番号を示すカウンターを1つ減らし、ステップS1904において、直近で画像番号がより小さい画像ファイルを読み出す。そして、ステップS1905において、ステップS1900と同様にその属性情報を取得する。
【0136】
次に、ステップS1906において、システム制御部50は、1つ前に読み出した画像ファイルが、ステップS1904で直前に読み出した画像ファイルと関連しているか否かを判定する。この判定は、前述したように画像間で関連情報に記載されている関連を示す画像番号により判定してもよいし、撮影情報の撮影モード情報により判定してもよい。また、撮影情報における撮影モード、分類情報、及び関連情報が全て一致する場合にのみ、関連していると判定してもよい。
【0137】
この判定の結果、関連している場合は、ステップS1901に戻り、システム制御部50は、ステップS1904で現在読み出している画像ファイルの属性情報をシステムメモリ52に記憶する。このように、ステップS1902で画像番号が最小番号になるかもしくは関連画像でない画像ファイルを検出するまで処理を繰り返す。
【0138】
ステップS1906の判定の結果、関連していない場合は、ステップS1907において、システム制御部50は、ステップS1901でシステムメモリ52に記憶した属性情報を持つ画像ファイルを代表画像データとしてメモリ32に記憶する。そして、本処理を終了する。
【0139】
以上のように本実施形態によれば、画像間の属性情報を比較することにより代表画像データを検出する。図18のステップS1815で以上の処理が行われると、システム制御部50は、ステップS1816において、この代表画像データを初期画像として設定する。そして、図8のステップS805でその代表画像が表示されることになる。
【0140】
(第2の実施形態)
以下、本発明の第2の実施形態について説明する。本実施形態では、代表画像を選択する処理が第1の実施形態と異なる。なお、それ以外の処理及び構成については、第1の実施形態で説明した図1〜図18と同様であるため、説明は省略する。
【0141】
(代表画像選択処理)
図20は、本実施形態において、図9のステップS909、S922及び図18のステップS1815における代表画像を選択する処理手順の一例を示すフローチャートである。
まず、ステップS2001において、システム制御部50は、グループ表示設定が「入」であるか否かを判定する。この判定の結果、グループ表示設定が「切」である場合は、システム制御部50は、代表画像データを記憶しないため、そのまま代表画像選択処理を終了する。
【0142】
一方、ステップS2001の判定の結果、グループ表示設定が「入」である場合は、ステップS2002において、システム制御部50は、メモリ32に代表画像データが既に記憶されているか否かを判定する。例えば、図9のステップS917で画像の削除処理が実行された場合に、代表画像データが記憶されたままになっている。また、図9のステップS902で画像送りボタンにより画像送りが指示されたと判定した場合も、前に表示されていた代表画像に係る代表画像データが記憶されたままになっている。
【0143】
この判定の結果、代表画像データが記憶されていない場合は、ステップS2014において、システム制御部50は、現在読み出している画像ファイルを代表画像データとしてメモリ32に記憶し、代表画像選択処理を終了する。なお、現在読み出している画像ファイルとは、図19のステップS1900で説明したものと同様である。
【0144】
一方、ステップS2002の判定の結果、代表画像データが既に記憶されている場合は、ステップS2003において、システム制御部50は、メモリ32から代表画像データを読み出す。次に、ステップS2004において、システム制御部50は、代表画像データの属性情報を取得する。そして、ステップS2005において、システム制御部50は、現在読み出している画像ファイルを代表画像データとしてメモリ32に記憶する。
【0145】
次に、ステップS2006において、図19のステップS1900と同様の処理により現在読み出している画像ファイルの属性情報を取得する。そして、ステップS2007において、システム制御部50は、ステップS2004で取得した属性情報とステップS2006で取得した属性情報とを比較する。そして、もともと記憶されていた代表画像データと現在読み出している画像ファイルとにおける属性情報の類似数の情報を取得する。類似数を算出する際には、前述した属性情報の中で、一致又は類似するものの数を算出する。なお、図9のステップ925において、絞り込み属性の情報が記憶された場合には、ユーザによって絞り込まれた属性における類似数の情報を取得する。
【0146】
次に、ステップS2008において、既に類似数の情報がシステムメモリ52に記憶されているか否かを判定する。この判定の結果、類似数の情報が記憶されていない場合は、ステップS2010に進み、既に類似数の情報が記憶されている場合は、ステップS2009に進む。そして、ステップS2009において、ステップS2007で取得した類似数が、システムメモリ52に記憶されている類似数より大きいか否かを判定する。この判定の結果、ステップS2007で取得した類似数が、システムメモリ52に記憶されている類似数より大きくない場合は、ステップS2011に進む。
【0147】
一方、ステップS2009の判定の結果、ステップS2007で取得した類似数が、システムメモリ52に記憶されている類似数より大きい場合は、ステップS2010において、現在読み出している画像ファイルを代表画像データとしてメモリ32に記憶する。そして、ステップS2011において、ステップS2007で取得した類似数の情報をシステムメモリ52に記憶する。
【0148】
次に、ステップS2012において、次の画像ファイルを記録媒体200から読み出し、読み出した画像ファイルの属性情報を取得する。そして、ステップS2013において、システム制御部50は、ステップS2012で読み出した画像ファイルが、その前に読み出した画像ファイルと関連しているか否かを判定する。この判定方法については、図19のステップS1906の場合と同様の方法である。この判定の結果、関連している場合は、ステップS2007に戻り、ステップS2012で読み出した画像ファイルと、もともと記憶されていた代表画像データとで属性情報の類似度の情報を取得する。一方、ステップS2013の判定の結果、関連していない場合は、現在記憶している代表画像データを選択することとなるため、処理を終了する。
【0149】
以上のように本実施形態によれば、属性情報における類似数が最も多い代表画像データを選択するので、画像が消去された場合であっても適切に代表画像を選択することができる。
【0150】
(その他の実施形態)
前述した実施形態では、グループ内に含まれる複数の画像は、連写などの一連の撮影で得られた画像以外に、カメラ以外で生成された複数の画像であってもよい。また、代表画像を新たに選択する場合に参照する属性情報の種類としては、撮影情報以外にも、何らかの優先度情報でもよく、代表画像を選択するときに画像データ自体を解析して、解析の結果得られる画像の特徴量でもよい。
【0151】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0152】
50 システム制御部
70 操作部

【特許請求の範囲】
【請求項1】
複数の画像のそれぞれの属性情報を解析する解析手段と、
複数の画像で構成されるグループから、当該グループを代表する代表画像を削除する削除手段と、
前記解析手段により解析された属性情報に基づいて、前記削除手段により削除された代表画像の代わりに、前記削除された代表画像が含まれていたグループ内の画像から、前記グループを代表する代表画像を選択する選択手段とを有することを特徴とする画像処理装置。
【請求項2】
前記選択手段は、前記削除手段により削除された代表画像の属性に最も近い画像を選択することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記解析手段により前記削除された代表画像が複数の属性を有していることが解析された場合に、前記選択手段は、前記削除手段により削除された代表画像と一致または類似する属性が最も多い画像を選択することを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記選択手段は、前記削除手段により削除された代表画像の属性の全てに一致する画像を選択することを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記選択手段は、属性を絞り込む設定がなされている場合は、前記削除手段により削除された代表画像が有する属性のうち、絞り込まれた属性の中で、一致または類似する属性が最も多い画像を選択することを特徴とする請求項3に記載の画像処理装置。
【請求項6】
前記削除手段及び前記選択手段は、各グループの代表画像を順次再生するモードにおいて動作することを特徴とする請求項1〜5の何れか1項に記載の画像処理装置。
【請求項7】
前記解析手段による解析の結果、前記削除手段により削除された代表画像の属性を有する画像が存在しない場合には、前記選択手段は、前記削除された代表画像の次に記録された画像を選択することを特徴とする請求項1〜6の何れか1項に記載の画像処理装置。
【請求項8】
前記グループに含まれる前記複数の画像は、連写、ブラケット撮影、パノラマ撮影、または3D画像撮影により一連に撮影された画像であることを特徴とする請求項1〜7の何れか1項に記載の画像処理装置。
【請求項9】
複数の画像のそれぞれの属性情報を解析する解析工程と、
複数の画像で構成されるグループから、当該グループを代表する代表画像を削除する削除工程と、
前記解析工程において解析された属性情報に基づいて、前記削除工程において削除された代表画像の代わりに、前記削除された代表画像が含まれていたグループ内の画像から、前記グループを代表する代表画像を選択する選択工程とを有することを特徴とする画像処理方法。
【請求項10】
複数の画像のそれぞれの属性情報を解析する解析工程と、
複数の画像で構成されるグループから、当該グループを代表する代表画像を削除する削除工程と、
前記解析工程において解析された属性情報に基づいて、前記削除工程において削除された代表画像の代わりに、前記削除された代表画像が含まれていたグループ内の画像から、前記グループを代表する代表画像を選択する選択工程とをコンピュータに実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2012−239028(P2012−239028A)
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願番号】特願2011−106559(P2011−106559)
【出願日】平成23年5月11日(2011.5.11)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】