(57)【特許請求の範囲】
【請求項１】
画像データと当該画像データのメタデータとを関連づけて記憶する記憶部から、画像データを検索するデータ検索装置であって、
前記画像データの検索条件の入力を受け付ける入力受付手段と、
前記検索条件と前記メタデータとを比較して、画像データを検索する検索手段と、
前記検索手段により検索された画像データに対応した画像を表示部に一覧表示させる表示制御手段と、
前記表示部に一覧表示されている画像から、メタデータの編集対象となる画像を選択する選択手段と、
前記選択手段が選択した画像データの前記メタデータが変更された場合に、変更された前記メタデータと前記検索条件との関連性に基づいて、前記選択手段が選択した画像データのメタデータに変更が有ったことを示す通知を行うか否かを制御する制御手段と
を備え、
前記制御手段は、前記検索条件の種類と前記変更のあったメタデータの種類とが対応する場合には前記通知を行い、前記検索条件の種類と前記変更のあったメタデータの種類とが対応しない場合には前記通知を行わないように制御することを特徴とするデータ検索装置。
【請求項２】
前記通知は、前記一覧表示上の画像に特定の情報を表示することにより行われることを特徴とする請求項１に記載のデータ検索装置。
【請求項３】
前記入力受付手段は、前記一覧表示で表示する画像データの表示順を決定するためのソート条件の入力をさらに受け付け可能であって、
前記判定手段は、前記ソート条件と前記変更のあったメタデータとの関連性とにさらに基づいて、前記通知を行うか否かを判定することを特徴とする請求項１または２に記載のデータ検索装置。
【請求項４】
前記判定手段は、前記メタデータが変更された画像が、当該メタデータの変更により前記一覧表示から除外されるか否かを更に判定し、
前記判定手段が、前記一覧表示から除外されると判定した場合、前記表示制御手段は当該画像データが前記検索結果から除外される旨の通知を前記表示部に行わせることを特徴とする請求項１ないし３のいずれか１項に記載のデータ検索装置。
【請求項５】
前記記憶部は、前記入力受付手段が受け付けた過去の検索条件を更に記憶し、
前記判定手段は、前記記憶部が記憶する過去の検索条件に基づいて前記検索手段が検索を行う場合に参照することとなるメタデータに変更があった場合に、前記変更を通知すると更に判定することを特徴とする請求項１ないし４のいずれか１項に記載のデータ検索装置。
【請求項６】
画像データと当該画像データのメタデータとを関連づけて記憶する記憶部から、画像データを検索するデータ検索装置の制御方法であって、
入力受付手段が、前記画像データの検索条件の入力を受け付ける入力受付工程と、
検索手段が、前記検索条件と前記メタデータとを比較して、画像データを検索する検索工程と、
表示制御手段が、前記検索工程において検索された画像データに対応した画像を表示部に一覧表示させる表示制御工程と、
選択手段が、前記表示部に一覧表示されている画像のうちから、メタデータの編集対象となる画像を選択する選択工程と、
制御手段が、前記選択工程において選択された画像データの前記メタデータが変更された場合に、変更された前記メタデータと前記検索条件との関連性に基づいて、前記選択工程で選択された画像データのメタデータに変更が有ったことを示す通知を行うか否かを制御する制御工程と
を備え、
前記制御工程では、前記検索条件の種類と前記変更のあったメタデータの種類とが対応する場合には前記通知が行われ、前記検索条件の種類と前記変更のあったメタデータの種類とが対応しない場合には前記通知が行われないことを特徴とするデータ検索装置の制御方法。
【請求項７】
コンピュータを、請求項１乃至５のいずれか１項に記載のデータ検索装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ検索装置及びその制御方法、コンピュータプログラムに関する。
【背景技術】
【０００２】
データ検索時に、データベースに記録された過去のデータと現在のデータを照合し、変更されているデータを強調表示してユーザに通知するという技術がある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５-２５０７８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記技術を画像ブラウザに応用した場合、画像ブラウザで画像データを表示しているとき、ユーザに興味がないデータが変更された場合でも、全てユーザに通知される。そのため、必要な情報が埋もれてしまい、ユーザがわかりにくいという問題がある。
【課題を解決するための手段】
【０００５】
上記課題を解決する本発明は、画像データと当該画像データのメタデータとを関連づけて記憶する記憶部から、画像データを検索するデータ検索装置であって、
前記画像データの検索条件の入力を受け付ける入力受付手段と、
前記検索条件と前記メタデータとを比較して、画像データを検索する検索手段と、
前記検索手段により検索された画像データに対応した画像を表示部に一覧表示させる表示制御手段と、
前記表示部に一覧表示されている画像から、メタデータの編集対象となる画像を選択する選択手段と、
前記選択手段が選択した画像データの前記メタデータが変更された場合に、変更された前記メタデータと前記検索条件との関連性に基づいて、前記選択手段が選択した画像データのメタデータに変更が有ったことを示す通知を行うか否かを制御する制御手段とを備え、
前記制御手段は、前記検索条件の種類と前記変更のあったメタデータの種類とが対応する場合には前記通知を行い、前記検索条件の種類と前記変更のあったメタデータの種類とが対応しない場合には前記通知を行わないように制御することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、ユーザに興味がない情報が更新されても、それがユーザに通知されなくなるため、ユーザは必要とする情報をわかりやすく取得できる。
【図面の簡単な説明】
【０００７】
【図１】実施形態に対応するデータ検索装置の構成例を示すブロック図。
【図２】実施形態に対応する画像データのデータ構成の一例を示す図。
【図３】実施形態に対応する画像ブラウザのユーザインタフェースの一例を示す図。
【図４】実施形態に対応するデータベースのテーブルのデータ構成の一例を示す図。
【図５】実施形態１に対応する処理の一例を示すフローチャート。
【図６】実施形態１に対応する変更通知判定処理の一例を示すフローチャート。
【図７】実施形態１に対応する画像ブラウザの表示例を示す図。
【図８】実施形態１に対応する画像ブラウザの他の表示例を示す図。
【図９】実施形態１に対応する画像ブラウザのリフレッシュ時の処理の一例を示すフローチャート。
【図１０】実施形態２に対応する変更通知判定処理の一例を示すフローチャート。
【図１１】実施形態３に対応するRAW現像アプリのユーザインタフェースの一例を示す図。
【図１２】実施形態４に対応するシステム構成の一例を示す図。
【図１３】実施形態４に対応する画像管理データベース１２０５のテーブルのデータ構成の一例を示す図。
【図１４】実施形態４に対応するユーザ管理データベース１２０６のテーブルのデータ構成の一例を示す図。
【図１５】実施形態４に対応する変更通知判定処理の一例を示すフローチャート。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、発明の実施形態を説明する。
【０００９】
［実施形態１］
図１は、本実施形態におけるデータ検索装置のブロック図である。本実施形態においては、データ検索装置は、PC（パーソナルコンピュータ）上で動作する画像ブラウザアプリケーションという形態で実施される。
【００１０】
ＰＣ１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、二次記録装置１０４、ネットワークＩ／Ｆ１０５、操作部１０６、表示部１０７、バス１０８を有する。ＲＯＭ１０３は、データ処理装置１００の基本的な制御プログラムを記録し、該プログラムはデータ処理装置１００の起動時にＲＡＭ１０２に読み込まれてＣＰＵ１０１により実行される。二次記録装置１０４は、ハードディスクやメモリディスクで構成されてもよい。二次記録装置１０４は、高レベルな制御プログラム（例えばＯＳ）、画像ブラウザ、画像データに関する情報を管理するためのデータベースなどが記録されていてもよい。更には、カメラと接続して画像データをＰＣ１００に取り込むためのアプリケーションや取り込まれた画像データなどが記録されていてもよい。
【００１１】
これらのソフトウェアは、適時ＲＡＭ１０２に読み込まれ、ＣＰＵ１０１によって実行される。ネットワークＩ／Ｆ１０５は、例えばＵＳＢケーブルを接続するためのＵＳＢインタフェースとして構成可能であって、ＰＣ１００はこれを介してカメラと接続される。操作部１０６は、ユーザがデータ再生装置に入力を行うために、キーボードやマウスなどから構成される。表示部１０７は画像やグラフィカルユーザインタフェース（GUI）画面を表示し、ディスプレイモニタなどで構成される。バス１０８は、ブロック１０１乃至１０７を相互接続する。
【００１２】
図２は、本実施形態で使用する画像データのデータ構成の一例を示す図である。画像データ２００は１つのファイルであって、１枚の画像データに対応する。領域２０１は画像に関する付加的情報をメタデータ（検索用の情報）として格納するメタデータ用ヘッダ部である。メタデータは、Exifなどの規格で定められており、たとえば撮影日時・撮影時のカメラパラメータ（例えばフォーカス距離やズーム倍率など）、レーティング（お気に入り度）、画像検索用のキーワード、コメント、サムネイルなどがそれに相当する。領域２０２は、画像のデコードに必要な情報を格納するヘッダ部である。たとえば、JPEG画像の場合、領域２０２には、画像を縮小したサムネイル画像が格納される。領域２０３には、画像の実データが格納される。
【００１３】
図３（ａ）は、本実施形態に対応する画像ブラウザ３００のユーザインタフェースを表す図である。リストボックス３０１は、画像のどのメタデータを対象に検索を行うか（以下「検索条件」という）の指定をユーザから受け付ける。図３（ａ）では、デフォルトである「フリーワード」が検索対象になっている。フリーワード検索においては、画像ブラウザ３００は、画像データのメタデータのうち、例えばファイル名、キーワード、コメントを対象に部分一致検索を行うことができる。もちろん、これ以外にも、コメントのみを対象にした検索や、撮影日時を対象にした検索、レーティングを対象にした検索も可能である。
【００１４】
テキストボックス３０２は、検索に使用するキー（語句や数値など）の入力をユーザから受け付ける。例えばユーザが３０１に「フリーワード」、３０２に「パンダ」を指定した場合、画像ブラウザ３００はファイル名、キーワード、コメントのいずれかに「パンダ」という語句が含まれる画像を検索する。ボタン３０３は、検索開始の指示をユーザから受け付けるためのボタンである。二次記録装置１０４内のデータベース内のデータを検索し、表示する技術は、公知なので説明は省略する。
【００１５】
また、リストボックス３０４は、画像のどのメタデータを対象に、サムネイル一覧の表示順序を変更する処理であるソートを行うか（以下「ソート条件」という）の指定をユーザから受け付ける。図３（ａ）では、デフォルトである「ファイル名」を用いてサムネイルをソートして表示する例を示している。もちろん、これ以外にも、撮影日時やファイル更新日時などをソート条件に指定することも可能である。また、昇順・降順を指定することも可能である。画像ブラウザ３００は、ユーザからの検索が指示されると、検索を実行し、検索結果をソート条件でソートして表示する。ユーザがソート条件を変更したい場合、リストボックス３０４でソート条件を設定し、ボタン３０５を押下すればよい。ボタン３０６は反映ボタンであり、その機能については後段で詳述する。
【００１６】
サムネイル３０７から３１５は、画像ブラウザ３００が検索した画像のサムネイルの一覧である。サムネイル数が多く、ウィンドウ内に収まらない場合は、画像ブラウザ３００はスクロールバー３１６を表示する。ユーザは、画像をオリジナルのサイズで鑑賞したい場合は、サムネイル画像をダブルクリックする。すると、画像ブラウザ３００は別ウィンドウを開き、オリジナルサイズの画像を表示する。
【００１７】
また、ユーザが画像のメタデータを表示あるいは編集したい場合には、サムネイル画像上でマウスを右クリックし、コンテキストメニュー（図示せず）から「画像のプロパティ」を選択する。すると、画像ブラウザ３００は、図３（ｂ）に示すようなプロパティダイアログ３２０を表示する。簡単のために、本実施形態においては、キーワード、レーティング、コメントの３つのメタデータを表示・編集可能な場合を示す。当然のことながら、テーブル４０１の他のメタデータについて変更可能であってもよい。キーワード設定・表示部３２１は、一つまたは複数のキーワードを表示・編集するための領域である。レーティング設定・表示部３２２はレーティングを表示・編集するための領域であり、星の数が０から５までの間で設定できる。またカメラから取り込んだばかりでレーティングが設定されていない画像はレーティング「なし」となる。コメント設定・表示部３２３はコメントを表示・編集するための領域である。ＯＫボタン３２４は、各設定・表示部に入力された内容によりプロパティの変更しようとする場合に操作されるボタンである。キャンセルボタン３２５は、プロパティの変更をキャンセルする場合に操作されるボタンである。
【００１８】
画像ブラウザ３００は、画像のメタデータを管理するために、二次記録装置１０４内のデータベースを使用する。データベースを使用することによって、メタデータを検索条件とする検索が高速に行える。画像データからメタデータを読み出し、データベースに記録する技術は、公知なので省略する。もちろん、データベースを用いず、ファイルへの書き込み・ファイルからの読み込みによってメタデータを管理してもかまわない。
【００１９】
図４の本実施形態で使用するデータベースのテーブルの構成例を示す。当該テーブルは、画像データとそのメタデータを一元的に管理するために利用される。簡単のために、メタデータはひとつのテーブル４０１で管理されるものとし、また図４に書かれていないメタデータは扱わないものとする。ここに書かれていないが、実際には使用できるメタデータとして、位置情報、顔情報などが考えられるが、更に追加のメタデータを用意してもよい。このテーブル４０１により、二次記録装置１０４が記憶する画像データを、該画像データの検索用の情報であるメタデータと関連づけて記憶することができる。
【００２０】
ファイル４０２は、画像データのファイル名を示す。パス４０３は画像データが二次記録装置１０４内のデータベースのどこに置かれているかを示すファイルパスである。更新日時４０４は画像ファイルが最後に更新された日時を表す。撮影日時４０５はカメラが画像を撮影した日時を表す。画像データがカメラで撮影されたものではない場合は、この項目には代わりに前述の更新日時が記録される。キーワード４０６は検索用のキーワードである。キーワードは複数設定することが可能である。レーティング４０７はユーザにより設定されるレーティングであって、０から５までの値が記録されているか、「なし」の状態になっている。「なし」の状態は、画像の撮影後、ユーザがレーティングを決定するまでの値である。コメント４０８は、ユーザが作成するコメントである。サムネイル４０９には画像のサムネイルがJPEG形式で記録されている。サムネイルの画素数は、サムネイルデータのヘッダ部分に記述されている。サイズ４１０は、サムネイルのデータサイズである。
【００２１】
画像ブラウザ３００は、通知機能を有している。図３に示すように、ユーザが検索を行うと、画像ブラウザ３００は検索結果をサムネイル一覧の形で表示する。その後、ユーザがプロパティダイアログ３２０を用いて、画像のメタデータを修正すると、画像ブラウザ３００は画像のメタデータが変更されたことをユーザに通知するため、サムネイルを強調表示する。本実施形態においては、図３のサムネイル３１２について示すように、縁を太くして表示する。もちろん、他の強調表示方法も考えられる、例えば、サムネイルの縁の色を変えたり、アイコンをつけたり、サムネイルを点滅させたり、サムネイルを別ウィンドウに表示したりしてもかまわない。
【００２２】
このとき、従来技術では、以下の問題が発生する。たとえば、ユーザが、画像ブラウザ３００がインストールされているＰＣ１００とデジタルカメラを接続し、撮影したばかりの画像を数枚ＰＣ１００にインポートして、画像ブラウザ３００を用いてレーティングをつける場合を考える。撮影したばかりの画像は、レーティング「なし」なので、ユーザはレーティングを検索条件に指定して、レーティング「なし」の画像を検索する。次に、ユーザは、検索結果として表示されたサムネイル一覧のサムネイルごとにプロパティダイアログ３２０を開き、レーティング設定・表示部３２２を操作して、レーティングを設定する。この作業中に、ユーザがコメント設定・表示部３２３にコメントを書き込むことは十分考えられる。前述のように、レーティングまたはコメントが変更された画像のサムネイルは通知機能に基づき強調表示される。この作業が終了し、画像ブラウザ３００に表示されるサムネイルすべてが、サムネイル３１２について示すような状態になったとする。
【００２３】
ここで、あるサムネイルは、ユーザがレーティングをつけ忘れ、コメントだけが書き込まれたものであったとする。しかし、ユーザは、そのことを画像ブラウザ３００の画面から知ることはできない。結果として、このユーザインタフェースはユーザにとってわかりにくいものになっている。
【００２４】
そこで、本実施形態における画像ブラウザ３００は、図５に示すフローチャートに従って動作する。当該フローチャートに対応する処理は、ＣＰＵ１０１が二次記録装置１０４に記憶されている画像ブラウザアプリケーションを含む所定のプログラムをＲＡＭ１０２に読み出して実行することにより実現される。
【００２５】
まず、Ｓ５０１では、画像ブラウザ３００を介してユーザから検索条件と検索キーとの入力受付を行う。ここでは、併せてリストボックス３０４を利用してソート条件についても入力受付を行うことができる。Ｓ５０２で最新の検索条件をＲＡＭ１０２に記録した後、Ｓ５０３でＣＰＵ１０１が二次記録装置１０４内のテーブル４０１の検索を実行する。Ｓ５０４でＣＰＵ１０１は、検索結果として得られた画像のサムネイルを画像ブラウザ３００を利用して表示部１０７に一覧表示させるように表示制御を行う。Ｓ５０５に進み、ＣＰＵ１０１が、検索された画像またはそのメタデータが変更されたかどうかを検出する。検出方法としては、図３（ｂ）に示すようなプロパティダイアログ３２０を利用して、ＯＫボタン３２４が操作されたか否かを検出することができる。また、他のアプリケーションやＯＳのシェルなどが直接画像データファイルを変更したときは、ＣＰＵ１０１がＯＳから「ファイルに変更があった」という情報を受け取り、検出してもよい（この場合については実施形態３で説明する）。
【００２６】
変更が検出されなければＳ５０５に戻る。変更が検出されればＳ５０６に進み、ＣＰＵ１０１は、当該画像の過去のメタデータをテーブル４０１から取得する。Ｓ５０７でＣＰＵ１０１は、プロパティダイアログ３２０を介して受け付けたメタデータの情報と、取得した過去のメタデータの情報とを比較して、どのメタデータが変更されたかを判定する。Ｓ５０８に進み、ＣＰＵ１０１は、変更されたメタデータの種類に基づいて、変更をユーザに通知するかどうか判定する。Ｓ５０８の処理については図６を参照して後段で詳述する。Ｓ５０９に進み、Ｓ５０８でユーザに通知すると判定した場合、Ｓ５１０でＣＰＵ１０１は、表示部１０７の表示制御を行ってユーザに通知する。通知は、前述のように、サムネイルの縁を太くして表示することで行う。Ｓ５１１に進み、プロパティダイアログ３２０で受け付けたメタデータの内容に基づいて、テーブル４０１を更新する。
【００２７】
画像ブラウザは、ここで更新されたメタデータの内容を、次回画像データファイルの変更が起こったときに、過去のメタデータとしてＳ５０６でデータベースから取得する。続くＳ５１２では、ＣＰＵ１０１は、対応する画像データの本体の内容を変更する。即ち、ヘッダ２０１のメタデータを更新したり、ヘッダ２０２のサムネイル画像を更新したりする。次にＳ５１３に進み、ＣＰＵ１０１はユーザから再度の検索条件等の入力を受け付けたか否かを判定する。もし、受け付けた場合はＳ５０１に戻る。一方、入力を受け付けない場合Ｓ５１４に進み、画像またはメタデータの変更を検出する。変更がなければＳ５１３に戻る。変更があればＳ５０６に進み、処理を行う。
【００２８】
なお、Ｓ５０６において、画像ブラウザ３００は、過去のメタデータをデータベースのテーブル４０１から取得しているが、データベースではなくＲＡＭ１０２から取得してもかまわない。その場合、Ｓ５１１において、プロパティダイアログ３２０で受け付けたメタデータの内容をテーブル４０１に書き込んだ後も、ＲＡＭ１０２に保持しておけばよい。
【００２９】
次に、上記のＳ５０８における処理について、図６のフローチャートを用いて詳しく説明する。まず、Ｓ６０１では、Ｓ５０７における比較結果に基づき、検索条件に関連するメタデータが変更されているかどうかを調べることで、検索条件と、変更があった検索用の情報との関連性を判定する。変更されていればＳ６０５に進み、ユーザに通知することに決定する。検索条件に関連するメタデータとは、例えば、検索条件が「フリーワード」であれば、ファイル名、キーワード、コメントである。また、検索条件が「レーティング」であれば、レーティングである。もし変更されていなければＳ６０２に進み、Ｓ５０７の比較結果に基づき、ソート条件に関連するメタデータが変更されているかどうかを判定することにより、ソート条件と、変更があった検索用の情報との関連性を判定する。ソート条件には、例えば、更新日時、撮影日時、ファイル名等がある。よって、これらに該当するメタデータが変更されているかどうかを判定する。もし、変更されていればＳ６０５に進む。変更されていなければＳ６０３に進み、画像そのものまたはサムネイルが変更されているかどうかを判定する。画像の変更は、例えばパスが変更されたかどうか、或いは実施形態３に記載するようにファイル形式が変更されたかどうかにより判定できる。サムネイルの変更は、データそのものの変更や、サイズの変更により判定することができる。変更されていればＳ６０５に進む。変更されていなければＳ６０４に進み、ユーザに通知しないことに決定する。
【００３０】
以上の処理によって、画像ブラウザ３００は、ユーザが興味を持っているメタデータである、検索条件に関連するメタデータが変更された場合に、ユーザに通知する。また、ソート条件に関連するメタデータが変更された場合、サムネイル一覧のならびに変更が生じる可能性があるので、ユーザに通知する。また、画像およびサムネイルは、画像データの中で最も重要なデータであるので、これに変更が生じた際もユーザに通知する。
【００３１】
もちろん、他の実施形態として、ソート条件に関連するメタデータが変更されたときは特にユーザに通知しないなどの動作にしてもよい。あるいは、あらかじめユーザに興味のあるメタデータ（例えばコメント）を設定させておき、そのメタデータに変更が生じた際にもユーザに通知するようにしてもよい。
【００３２】
ここで、検索条件に「関連する」と述べているのは、必ずしも検索条件と変更されたメタデータが同一である必要がないからである。たとえば、前述のように、ユーザが検索条件としてフリーワードを指定すると、画像ブラウザ３００は、画像のうちキーワード、コメント、ファイル名のいずれかがユーザが指定した語句と部分一致するものを検索・取得する。このとき、ある画像のコメントが変更された場合、画像ブラウザ３００はユーザに通知する。別の例としては、前述のように画像データに撮影日時が含まれていない場合、画像ブラウザ３００はファイルの更新日時を撮影日時の代わりに使用する。ここで、ユーザが検索条件として撮影日時を指定したとする。ここで、撮影日時がない画像の更新日時が変更された場合も、画像ブラウザ３００はユーザに通知する。
【００３３】
また、図７に示すように、検索条件と、メタデータの変更内容によっては、検索結果のサムネイル一覧表示からメタデータが変更されたサムネイルが除外されることもある。たとえば、ユーザがレーティングが「３」の画像を検索した場合、画像ブラウザ３００はレーティングが「３」の画像をテーブル４０１から取得し、サムネイル一覧を画面７００のように表示する。ここで、ユーザが画像７０１のレーティングを「４」に変更すると、その画像は、次に同条件で検索したときに一覧に表示されなくなる。そこで、画像ブラウザ３００は、画像が一覧から消えることを示すアイコン７０２を画面７００上に表示して、ユーザに通知するようにする。もちろん、アイコンではなく、サムネイルの縁の色を変えたり、サムネイルを半透明表示するなどの方法でユーザに通知してもかまわない。
【００３４】
また、図８に示すように、ソート条件と、メタデータの変更内容によっては、サムネイル一覧上でサムネイルが移動することもある。たとえば、画面８００に示すように、画像ブラウザ３００が、検索結果をファイル名でソートし、その順序にサムネイルを並べて表示しているとする。ここで、ユーザがＯＳの機能などを使って、画像８０１の名前を"zzz.jpg"から"aaa.jpg"に変更したとする。この場合、ユーザが同条件で検索を行ってファイル名に基づきソートが再実行されれば、画像８０１はサムネイル一覧の先頭に表示されることになる。そこで画像ブラウザ３００は、実際の検索の実行に先だって、当該サムネイルの表示位置が変更されることをユーザに通知するようにしてもよい。たとえば、ユーザが画像８０１のファイル名を上記のように変更した後、ユーザがマウスカーソルを画像８０１の上に移動すると、画像ブラウザ３００は、８０２のように、画像８０１を強調表示する。また、８０３のように画像８０１の移動先を表示するようにしてもよい。
【００３５】
これまで述べてきたように、画像のメタデータが変更されると、画像ブラウザ３００はそれを示す様々な情報を表示する。そこで、画像ブラウザ３００は、あるタイミングで、それらの情報をサムネイル一覧に反映させ、画面をリフレッシュする。本実施形態においては、ユーザが図３に示す反映ボタン３０６を押したタイミングで、リフレッシュを行う。
【００３６】
図９のフローチャートを用いて、リフレッシュの動作を説明する。Ｓ９０１で、ＣＰＵ１０１は、反映ボタン３０６が押されたかどうかを判定する。押されていなければＳ９０１に戻る。反映ボタン３０６が押されれば、Ｓ９０２に進む。画像ブラウザ３００は、図５のフローチャートのＳ５１１において、最新の情報をデータベースのテーブル４０１に記録しているので、Ｓ９０２では、その情報を取得する。そしてＳ９０３に進み、サムネイル一覧を更新する。
【００３７】
リフレッシュのタイミングとしては、ユーザがいったん画像ブラウザ３００を終了し、再起動した時点でもよい。また、ユーザが再検索を行ったときでもよい。あるいは、メタデータやサムネイルが一定回数変更されたときや、一定時間経過ごとにリフレッシュが行われるようにしてもよい。
【００３８】
以上の説明では、画像ブラウザ３００が画像またはメタデータの変更をユーザに通知する時は、画像またはメタデータが変更されたサムネイルを強調表示するだけだった。しかし、ポップアップウインドウなどを使用して、メタデータがどのように変更されたかをユーザに知らせるようにしてもよい。また、変更前・変更後のメタデータを表示してもよい。さらに、変更履歴や変更時刻をデータベースで管理し、それを表示するようにしてもよい。
【００３９】
以上により、ユーザは、画像やサムネイル、自分が興味を持っているメタデータが変更されたときのみ、画像ブラウザ３００に通知されるので、ユーザは必要な情報をわかりやすく得ることができる。
【００４０】
よって、あるサムネイルにレーティングをつけ忘れ、コメントだけが書き込まれた上述の状況下でも、検索条件が「レーティング」であれば、レーティングは変更されず、コメントのみ変更があった画像は強調表示されない。よって、ユーザはレーティングを付け忘れた画像を直ちに把握することができる。
【００４１】
［実施形態２］
実施形態１で説明した画像ブラウザは、検索条件によりデータベースを検索して検索結果のサムネイル一覧を取得後、検索条件に関連するメタデータが変更されたことを検出して、ユーザに通知するものだった。本実施形態では、検索条件の履歴を記録し、記録されたいずれかの検索条件に関連するメタデータが変更されたとき、ユーザに通知する画像ブラウザについて説明する。
【００４２】
実施形態１と同様に、本実施形態で述べる画像ブラウザは、ＰＣ上で動作するアプリケーションとして実現される。ＰＣのブロック図は、実施形態１の図１と同一なので省略する。また、本実施形態で述べる画像ブラウザのユーザインタフェースも、実施形態１の図３と同一なので省略する。
【００４３】
本実施形態で述べる画像ブラウザの動作をフローチャートを用いて説明する。この動作は、実施形態１で述べた画像ブラウザの動作とほぼ同一なので、図５を用い、相違点を中心に説明する。
【００４４】
まず、Ｓ５０２で、ＣＰＵ１０１は入力された検索条件をＲＡＭ１０２に記録するが、最新の検索条件だけを記録する実施形態１と異なり、過去の検索条件を履歴としてＲＡＭ１０２に記録する。この履歴は、画像ブラウザ終了時に消去するようにしてもよい。あるいは、画像ブラウザが終了しても消去されないよう、データベースのテーブル４０１に記録してもよいし、画像データ２００のヘッダ２０１に記録してもよい。画像ブラウザがＷｉｎｄｏｗｓ（登録商標） OS上で動作しているなら、レジストリに記録してもかまわない。
【００４５】
また、Ｓ５０８における処理も実施形態１と異なるので、図１０を用いて詳述する。まずＳ１００１で、履歴として記録されている検索条件すべてを判定に用いたかどうかを調べる。判定に用いていない検索条件があればＳ１００２に進み、履歴から検索条件を取得する。Ｓ１００３に進み、取得した検索条件に関連するメタデータが変更されたかどうかを判定する。例えば、履歴の検索条件として、「フリーワード」、「レーティング」などが指定されている場合、これらの検索条件に関連するメタデータが変更されたか否かを判定する。変更されていればＳ１００４に進み、ユーザに通知することに決定する。変更されていなければＳ１００１に戻る。そして、Ｓ１００１で履歴にあるすべての検索条件を判定に用いたと判断すれば、Ｓ１００５に進み、ユーザに通知しないことに決定する。
【００４６】
上記の例では、ユーザに通知するかどうかを判定する条件として、検索条件の履歴のみを用いている。しかし、実施形態１に示したように、ソート条件を用いて判定してもよいし、画像またはサムネイルが変更されればユーザに通知することに決定するようにしてもよい。
【００４７】
上記の説明では、画像ブラウザは、検索に用いた検索条件すべてを履歴として管理しているが、他の方法も考えられる。たとえば、履歴に登録されてから一定時間あるいは一定検索回数が経過した検索条件を消去するようにしてもよい。また、それぞれの検索条件が何度検索に使用されたかをカウントし、一定回数以上使用された検索条件のみ判定に使用するようにしてもよい。そうすることで、ユーザがあまり使用しない（あまり興味がない）検索条件はユーザ通知の判定に用いないことができる。あるいは、検索履歴（検索条件でもよいし、検索条件および検索に引っかかった画像数でもよい）をユーザに提示し、どの検索条件を判定に用いるかユーザに選択させるようにしてもよい。
【００４８】
以上により、ユーザは、自分が興味を持っている複数種類のメタデータが変更されたときに、画像ブラウザ３００に通知されるので、ユーザは必要な情報をよりわかりやすく得ることができる。
【００４９】
［実施形態３］
実施形態１では、ユーザが画像ブラウザを用いて画像のメタデータを変更した場合の、画像ブラウザの動作を主に説明した。しかし、実際には、ユーザが画像ブラウザ以外のアプリケーションや、OSのシェルを用いて、画像のメタデータを変更する場合がある。あるいは、画像データファイルがファイルサーバなどに存在する場合などは、画像ブラウザを使用しているユーザ以外のユーザが、画像ブラウザを含むアプリケーションや、OSのシェルを用いて、画像のメタデータを変更する場合も考えられる。さらには、バックグラウンドで動作しているアプリケーションやサービスが、画像のメタデータを変更する可能性もある。そこで、本実施形態では、以上のような場合でも、本発明が有効であることを説明する。
【００５０】
本実施形態では、ユーザが画像ブラウザ以外に、RAW現像アプリを使用する例を考える。
RAW現像アプリとは、撮像素子から得られたばかりのデータ（RAW画像）に対して、ユーザがさまざまな現像パラメータを設定した上で、JPEGなどの画像データにファイル形式を変換（現像と呼ぶ）するためのアプリケーションである。ここで、現像パラメータには、色温度、彩度、色調、露出、コントラスト、トーンカーブなどが含まれる。RAW現像アプリは、画像ブラウザと同じくPCのアプリケーションとして動作する。PCのブロック図は実施形態１の図１と同じなので省略する。
【００５１】
図１１は、本実施形態で用いるRAW現像アプリのユーザインタフェースである。画面１１００はRAW現像アプリの表示画面の一例を示す。領域１１０１には、複数のRAW画像のサムネイルが並んでおり、RAW現像アプリはユーザがこの中から選んだRAW画像の現像処理を行う。ユーザインタフェース１１０２は、前述の現像パラメータを設定するためにユーザからの指示を受け付ける。本実施形態においては、現像パラメータの設定方法などは重要ではないので、詳しい説明は省略する。現像ボタン１１０３は、現像の開始指示をユーザから受け付けるためのボタンである。画像１１０４は、現像後の画像の一例である。現像には、数十秒程度の時間がかかる。現像終了後、RAW現像アプリは、ユーザによる画像の保存指示を待って、画像データをファイルとして保存する。
【００５２】
本実施形態の画像ブラウザ３００の動作をフローチャートを用いて説明する。この動作は、実施形態１で述べた画像ブラウザ３００の動作とほぼ同一なので、図５を用い、相違点を中心に説明する。
【００５３】
まず、ユーザから操作に基づいて、ＣＰＵ１０１はＳ５０１からＳ５０４までの処理を行う。続くＳ５０５では、ＣＰＵ１０１は、検索された画像またはそのメタデータが変更されたか否かを判定する。この判定方法として、いくつかの方法が考えられる。まず、ＯＳによっては、ファイルまたはフォルダに変更が生じたとき、そのファイル名またはフォルダ名とどのような変更が起こったかをアプリケーションに通知する機能がある。たとえばＷｉｎｄｏｗｓ（登録商標） OSは、この機能を有する。この場合、画像ブラウザは、画像データファイルのファイルパス（図４の４０３）を検索条件に、OSから通知されたファイルパス名あるいはフォルダパス名をキーとしてデータベースから前方一致検索し、見つかった画像のデータをＳ５０６で取得すればよい。本実施形態では、この検出方法を用いて発明を実施する。
【００５４】
なお、他の検出方法として、RAW現像アプリが画像データを保存した後、プロセス間通信を用いて、画像ブラウザに画像データを変更したことを通知するというものも考えられる。あるいは、画像ブラウザが、検索結果一覧に表示されている画像の画像データファイルの更新日時を一定時間間隔で調べ、更新日時が変わっていれば画像データに変更があったと判断する方法もある。
【００５５】
図５に戻り、Ｓ５０５においてＣＰＵ１０１がデータ変更の検出を行っている状況で、ユーザがRAW現像アプリ１１００を起動する場合を考える。ここで、画像ブラウザ３００のサムネイル一覧にある画像の１枚に対応するRAW画像を選択し、現像パラメータを調整してRAW現像を行ったとする。現像結果であるJPEG形式の画像データファイルを保存する。すると、画像ブラウザ３００は前述のように、ＯＳから、該画像データファイルが変更されたという通知を受け取る。この通知に基づいてＣＰＵ１０１は、データ変更があったことを検出する。そしてＳ５０６に進み、ＯＳから通知されたファイル名をキーにデータベースのテーブル４０１を検索する。そしてＳ５０７に進む。
【００５６】
以降の処理は基本的に実施形態１と同じであるが、Ｓ５１２における画像データ２００の更新については省略してもよい。なぜなら、画像データ自体はRAW現像アプリによってすでに更新されているからである。
【００５７】
以上により、画像やサムネイル、メタデータが他のアプリケーションやOSによって変更されても、画像ブラウザは、ユーザが興味を持っているメタデータが変更されたときのみ通知する。したがって、ユーザは必要な情報をわかりやすく得ることができる。
【００５８】
［実施形態４］
実施形態１から３では、データ検索装置がスタンドアロンの場合、即ち、検索対象となる画像が、ユーザのＰＣ１００内およびユーザのPCに接続された二次記録装置１０４に記録されている例を説明した。これに対して本実施形態では、データ検索装置をインターネット上の検索サーバとして実現した場合を説明する。本実施形態によれば、ネットワーク上にある画像を検索するときにも本発明が有効であることが理解されよう。
【００５９】
図１２は、本実施形態における、インターネットを介して構築されるシステム構成の一例を示す図である。インターネット１２０１には、ＰＣ１２０２、検索サーバ１２０４、ウェブサーバ１２０７及び１２０８が接続されている。ＰＣ１２０２上では、ウェブブラウザ１２０３が起動している。検索サーバ１２０４は、本発明に対応する機能が実装される。検索サーバ１２０４には、画像管理データベース１２０５と、ユーザ管理データベース１２０６とが接続されている。図１２では、２つのウェブサーバを含むシステム構成の例を示しているが、実際には多数のウェブサーバが接続されている。ＰＣ１２０２、検索サーバ１２０４、ウェブサーバ１２０７および１２０８のブロック図は、実施形態１の図１と同様なので省略する。なお、各装置におけるネットワークＩ／Ｆ１０５は、インターネットと接続するための通信インタフェースを含む。
【００６０】
次に、図１３を参照して画像管理データベース１２０５のテーブル構成例を説明する。簡単のために、メタデータはひとつのテーブルで管理されるものとし、また図１３に書かれていないメタデータは扱わないものとする。ここに書かれていないが、実際には使用できるメタデータとして、位置情報、顔情報などが考えられる。
【００６１】
テーブル１３０１において、ファイル１３０２は画像データのファイル名を示す。ＵＲＬ１３０３は画像データの保存先のURLを示す。更新日時１３０４は画像ファイルが最後に更新された日時を表す。撮影日時１３０５はカメラが画像を撮影した日時を表す。画像データがカメラで撮影されたものではない場合は、この項目には代わりに前述の更新日時が記録される。キーワード１３０６は検索用のキーワードを示す。キーワードは複数設定することが可能である。レーティング１３０７はユーザが設定するレーティングを表し、０から５までの値が記録されているか、「なし」の状態になっている。「なし」の状態は、画像の撮影後、ユーザがレーティングを決定するまでの値である。コメント１３０８はユーザが作成するコメントを示す。サムネイル１３０９には画像のサムネイルがJPEG形式で記録されている。サムネイルの画素数は、サムネイルデータのヘッダ部分に記述されている。サイズ１３１０は、サムネイルのデータサイズを表す。
【００６２】
次に、図１４を参照して、ユーザ管理データベース１２０６のテーブル構成例を説明する。テーブル１４０１において、アカウント１４０２は、ユーザごとに割り当てられたアカウント名を表す。検索条件１４０３は、ユーザが検索に用いている検索条件を表す。検索キー１４０４は、検索に用いる語句や数値であって、ひとつまたは複数記録できる。
【００６３】
以下、発明の実施形態に対応する検索サーバ１２０４の動作を説明する。検索サーバは、実際には同時に複数のＰＣからの要求を受け付けるが、ここでは簡単のため、特定のＰＣ１２０２のみを扱う場合について説明する。以下、図５を参照しながら、本実施形態における処理を説明する。ここでの処理は、検索サーバ１２０４のＣＰＵ１０１が二次記録装置１０４に記憶されている所定のプログラムをＲＡＭ１０２に読み出して実行することにより実現される。
【００６４】
まずＳ５０１で、検索サーバ１２０４は、ＰＣ１２０２から送信された情報に基づいてユーザを一意に識別し、ユーザからの検索条件及び検索キーの入力を受け付ける。ユーザを識別するには、ＰＣ１２０２から送信されたアカウント名とパスワードを利用して、検索サービスにログインを許可するようにしてもよいし、クッキーを用いてもよい。また、検索サーバ１２０４がウェブブラウザ１２０３と通信し、ユーザを識別するための情報を与えてもよい。続くＳ５０２では、入力された検索条件および検索キーをユーザ管理データベース１２０６に記録する。なお、ユーザ管理データベース１２０６に登録する以前に、検索サーバ１２０４内のＲＡＭ１０２に一時的に保持しておいてもよい。
【００６５】
検索サーバ１２０４は、ユーザ管理データベース１２０６を、どのユーザがどの検索条件で検索しているかを記録するために用いる。Ｓ５０３に進み、Ｓ５０１で受け付けた検索条件と検索キーを用いて、検索サーバ１２０４が画像管理データベース１２０５のテーブル１３０１を検索し、検索結果を取得する。Ｓ５０４に進んで、検索結果として得られた画像のサムネイルおよびURLを、表示用情報として検索サーバ１２０４がＰＣ１２０２に送信する。ＰＣ１２０２は、受信した表示用情報からサムネイルを、図３（ａ）に示すように画像ブラウザ３００上で一覧表示する。
【００６６】
次にＳ５０５に進み、画像およびメタデータに変更がないかどうかを検出する。具体的には、検索サーバ１２０４は、ロボットまたは検索ロボットと呼ばれるソフトウェアを用いて、ウェブサーバ１２０７、１２０８に代表されるウェブサーバが公開しているウェブページを巡回する。ロボットに関する技術は公知なので詳細は省略する。画像ファイルを発見すると、そのファイルの更新日時を取得し、画像管理データベース１２０５に記録されている前回その画像ファイルを発見したときの更新日時と照合する。更新日時が更新されていれば、検索サーバ１２０４は変更を検出したと見なす。変更を検出しなければＳ５０５に戻る。
【００６７】
変更を検出した場合はＳ５０６に進み、画像管理データベース１２０５のテーブル１３０１から、以前に取得した該画像に関する過去のメタデータを取得する。Ｓ５０７に進んで画像ファイルを取得し、サムネイルを作成した後、現在のメタデータを抽出して、過去のメタデータと比較し、どのメタデータが変更されたかを調べる。Ｓ５０８に進み、変更をユーザに通知するかどうか判定する。ここでの判定処理の詳細は、図１５を参照して後に詳述する。Ｓ５０９に進み、ユーザに通知することに決定すれば、Ｓ５１０において検索サーバ１２０４が更新情報をＰＣ１２０２に送信する。ウェブブラウザ１２０３は、ＰＣ１２０２が受信した更新情報をもとに、サムネイル一覧を変更する。この機能は、ウェブブラウザ自体に実装されていてもよいし、ウェブブラウザのプラグインという形で実装されていてもかまわない。
【００６８】
続くＳ５１１では、Ｓ５０７で取得したメタデータと作成したサムネイルを、画像管理データベース１２０５に記録する。続くＳ５１２について、本実施形態では特に何もしない。Ｓ５１３に進み、検索サーバ１２０４は、ＰＣ１２０２から新たな検索条件等を受信したかどうかを判定する。もし、新たな検索条件や検索キーを受け付けた場合は、Ｓ５０２に戻って処理を継続する。一方、新たな検索条件等を受信しない場合は、Ｓ５１４に進む。ここでは、Ｓ５０５と同様の処理を行い。画像およびメタデータに変更があればＳ５０６に移行する。変更を検出しなければ、Ｓ５１３に戻る。
【００６９】
次に、図１５のフローチャートを参照して、Ｓ５０８における検索サーバ１２０４の判定処理の詳細を説明する。まずＳ１５０１で、検索サーバ１２０４はユーザの検索条件および検索キーをユーザ管理データベース１２０６から取得する。続くＳ１５０２では、検索サーバ１２０４は、Ｓ５０７における比較結果に基づいて、検索条件に関連するメタデータが変更されているか否かを判定する。ここで検索条件に関連するメタデータとは、実施形態１と同様である。もし、変更されていればＳ１５０５に進み、ユーザに通知することに決定する。変更されていなければＳ１５０３に進み、画像、サムネイルに変更があるかどうかを更に判定する。変更されていればＳ１５０５に進む。変更されていなければＳ１５０４に進み、ユーザに通知しないことに決定する。
【００７０】
以上、ユーザが検索条件として任意のメタデータを指定したときの検索サーバ１２０４の動作を説明した。したがって、ユーザが画像をキーワード検索したときには、画像に付随しているキーワードを検索対象に検索を行う。これ以外の方法として、検索サーバ１２０４は、ユーザが入力したキーワードを含むウェブページを検索し、そのページに載っている画像をウェブブラウザ１２０３に返すという実施方法でもかまわない。
【００７１】
また、上記の例では、画像のURLが変更されたときに、画像が変更されたとみなすが、画像サイズや画像のバイト列を調べた上で画像が変更されたとみなすようにしてもよい。また、上記の例では、ユーザが検索に用いるキーワード数や、検索結果として得られる画像の枚数に制限を加えなかったが、これらに上限を設けても良い。
【００７２】
また、本実施形態では、簡単のため、ＰＣ１２０２およびウェブブラウザ１２０３は常に動作しており、検索サーバ１２０４と通信が可能であった。しかし、実際にはＰＣ１２０２の電源が切れていたり、ウェブブラウザ１２０３が起動していない場合も想定できる。そのような場合は、検索サーバ１２０４は、情報の送信に失敗した場合には一定時間後に再送信したり、次回ウェブブラウザ１２０３から接続されたときに情報を送信したりするようにすればよい。
【００７３】
以上により、ユーザは、ネット上の画像を検索したときでも、画像やサムネイル、自分が興味を持っているメタデータが変更されたときのみ、ウェブブラウザ１２０３に通知されるので、ユーザは必要な情報をわかりやすく得ることができる。
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005627332.tif 000002
【図２】
0005627332.tif 000003
【図３】
0005627332.tif 000004
【図４】
0005627332.tif 000005
【図５】
0005627332.tif 000006
【図６】
0005627332.tif 000007
【図７】
0005627332.tif 000008
【図８】
0005627332.tif 000009
【図９】
0005627332.tif 000010
【図１０】
0005627332.tif 000011
【図１１】
0005627332.tif 000012
【図１２】
0005627332.tif 000013
【図１３】
0005627332.tif 000014
【図１４】
0005627332.tif 000015
【図１５】
0005627332.tif 000016