(57)【要約】 【課題】検索しようとする画像のキーワードが不確かであっても、検索しようとする画像を正確に検索すること。【解決手段】上位下位の関係が互いに付けられた複数のキーワードを記憶する記憶部と、検索目的の画像データを検索するための複数のキーワードを受けると、これらキーワードに関係付けられるキーワードを記憶部から上位下位の関係を辿って選択し、当該選択されたキーワードを用いて検索対象の画像データを検索する画像検索部とを具備する画像検索装置である。【選択図】図１
2013242640.tif 000002
【特許請求の範囲】
【請求項１】
上位下位の関係が互いに付けられた複数のキーワードを記憶する記憶部と、
検索目的の画像データを検索するための複数のキーワードを受けると、これらキーワードに関係付けられる前記キーワードを前記記憶部から前記上位下位の関係を辿って選択し、当該選択された前記キーワードを用いて前記検索対象の画像データを検索する画像検索部と、
を具備することを特徴とする画像検索装置。
【請求項２】
前記複数のキーワードには、優先順位が付与され、
前記画像検索部は、前記優先順位に従って前記キーワードを前記上位下位の関係を辿って選択する、
ことを特徴とする請求項１に記載の画像検索装置。
【請求項３】
前記画像検索部は、先ず、前記優先順位の高い前記キーワードに対応する前記層の前記キーワードの候補を選択し、
次に、前記キーワードの候補を選択した前記層の下位となる前記各層ごとに前記検索目的の画像データに関連する前記キーワードの候補を順次選択することを繰り返し、
次に、最下位の前記層に到達すると、前記優先順位の低い前記キーワードに対応し、前記検索目的の画像データを特定するための前記キーワードを選択する、
ことを特徴とする請求項２に記載の画像検索装置。
【請求項４】
画像表示部を有し、
前記画像検索部は、前記上位下位の関係を有する前記層ごとに、前記キーワードの候補のリストを前記画像表示部に表示し、当該リストから前記キーワードを選択することを促進することを繰り返す、
ことを特徴とする請求項３に記載の画像検索装置。
【請求項５】
前記複数のキーワードの優先順位は、前記検索目的の画像データを特定するために信頼度の高い前記キーワードの優先順位を高く設定することを特徴とする請求項２に記載の画像検索装置。
【請求項６】
前記複数のキーワードを入力し、これらキーワードを前記画像検索部に送るキーワード入力部を有することを特徴とする請求項１に記載の画像検索装置。
【請求項７】
前記画像データの特徴量に応じた前記キーワードを前記画像データに付与するキーワード付与部を有することを特徴とする請求項１に記載の画像検索装置。
【請求項８】
前記キーワード付与部は、前記画像データの特徴量を抽出する特徴量抽出部と、
前記特徴量抽出部により抽出された前記特徴量に基づいて前記画像データから主要被写体を検出する被写体検出部と、
前記被写体検出部により検出された前記主要被写体の構成要素を解析する構成要素解析部と、
前記構成要素解析部の解析結果に対応する前記キーワードを前記画像データに付与する付与部と、
を有することを特徴とする請求項７に記載の画像検索装置。
【請求項９】
前記構成要素解析部は、前記主要被写体を構成する部位の少なくとも形状、向き、大きさ又は色のうちいずれか１つを解析することを特徴とする請求項８に記載の画像検索装置。
【請求項１０】
上位下位の関係が互いに付けられた複数のキーワードを記憶する記憶部に対して画像検索部により読み出し可能とし、
前記画像検索部により、検索目的の画像データを検索するための複数のキーワードを受けると、これらキーワードに関係付けられる前記キーワードを前記記憶部から前記上位下位の関係を辿って選択し、当該選択された前記キーワードを用いて前記検索対象の画像データを検索する、
ことを特徴とする画像検索方法。
【請求項１１】
コンピュータに、
上位下位の関係が互いに付けられた複数のキーワードを複数の層を成して記憶する記憶部に対して読み出し可能とし、かつ検索目的の画像データを検索するための複数のキーワードを受けると、これらキーワードに関係付けられる前記キーワードを前記記憶部から前記上位下位の関係を辿って選択し、当該選択された前記キーワードを用いて前記検索対象の画像データを検索する画像検索機能、
を実現させる画像検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばキーワードを用いて、複数枚の画像からユーザの所望する画像を検索する画像検索装置及びその方法、画像検索プログラムに関する。
【背景技術】
【０００２】
デジタルカメラで撮影した複数の画像からキーワードを用いてユーザの所望する画像を検索する画像検索技術がある。この画像検索技術である例えば特許文献１は、画像から特徴量を抽出してこの特徴量から被写体の名前や色、位置などを検出し、それらを示すキーワードを画像に関連付けて記憶し、被写体の種類や性質などの詳細なデータを上位概念から下位概念に分類することによってキーワードを管理し、ユーザが画像検索する場合には、ユーザが画像に関連付けされたキーワードを入力することにより所望の画像を検索することを開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１７６４７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ユーザがキーワードを入力して画像検索する場合、ユーザが検索しようとする画像のキーワードを正確に記憶しておらず、ユーザが不確かなキーワードを入力すると、検索しようとする画像とは相違する画像を検索してしまうおそれが十分にある。又、不確かなキーワードであれば、検索する画像をある程度絞り込むことができるが、ユーザが検索しようとする画像を確実に検索できるとは限らない。さらに、画像に関連付けて記憶されるキーワードは、被写体の種類や性質などの詳細なデータを含んでいるために、これら詳細なデータも含む大量のキーワードから検索したい画像に関するキーワードを選択することは非常に困難である。
【０００５】
本発明は、検索しようとする画像のキーワードが不確かであっても、検索しようとする画像を正確に検索できる画像検索装置及びその方法、画像検索プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の主要な局面に係る画像検索装置は、上位下位の関係が互いに付けられた複数のキーワードを複数の層を成して記憶する記憶部と、検索目的の画像データを検索するための複数のキーワードを受けると、これらキーワードに関係付けられる前記キーワードを前記記憶部から前記上位下位の関係を辿って選択し、当該選択された前記キーワードを用いて前記検索対象の画像データを検索する画像検索部とを具備する。
【０００７】
本発明の主要な局面に係る画像検索方法は、上位下位の関係が互いに付けられた複数のキーワードを複数の層を成して記憶する記憶部に対して画像検索部により読み出し可能とし、前記画像検索部により、検索目的の画像データを検索するための複数のキーワードを受けると、これらキーワードに関係付けられる前記キーワードを前記記憶部から前記上位下位の関係を辿って選択し、当該選択された前記キーワードを用いて前記検索対象の画像データを検索する。
【０００８】
本発明の主要な局面に係る画像検索プログラムは、コンピュータに、上位下位の関係が互いに付けられた複数のキーワードを複数の層を成して記憶する記憶部に対して読み出し可能とし、かつ検索目的の画像データを検索するための複数のキーワードを受けると、これらキーワードに関係付けられる前記キーワードを前記記憶部から前記上位下位の関係を辿って選択し、当該選択された前記キーワードを用いて前記検索対象の画像データを検索する画像検索機能を実現させる。
【発明の効果】
【０００９】
本発明によれば、検索しようとする画像のキーワードが不確かであっても、検索しようとする画像を正確に検索できる画像検索装置及びその方法、画像検索プログラムを提供できる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係る画像検索装置の一実施形態を示すブロック構成図。
【図２】同装置における画像を検索するときに形成されるキーワードの階層構造の一例を示す模式図。
【図３】同装置におけるキーワード付与部を示す具体的なブロック構成図。
【図４】同装置における画像検索部を示すブロック構成図。
【図５】同装置におけるキーワード付与部の動作を示すキーワード付与フローチャート。
【図６】同装置におけるキーワード付与部の動作を示す他のキーワード付与フローチャート。
【図７】同装置における画像検索部の画像検索動作を示す画像検索フローチャート。
【図８】同装置における画像検索部の画像検索動作の流れを示す画像検索流れ図。
【図９】同装置における画像検索部の画像検索動作の流れを示す別の画像検索流れ図。
【発明を実施するための形態】
【００１１】
以下、本発明の一実施の形態について図面を参照して説明する。  
図１は画像検索装置のブロック構成図を示す。本装置は、ＣＰＵ１００を搭載し、このＣＰＵ１００にバスＢを介してメモリ制御部１０１と、画像データベース（画像ＤＢ）制御部１０２と、キーワードデータベース（キーワードＤＢ）制御部１０３と、画像入力部１０７と、キーワード付与部１０８と、キーワード入力部１０９と、画像検索部１１０と、画像表示部１１１との各部が接続されている。ＣＰＵ１００は、上記各部にそれぞれ指令を発して画像検索の全体の動作を制御する。
【００１２】
メモリ制御部１０１には、例えばＲＯＭやＲＡＭなどを含むメモリ１０４が接続されている。このＲＯＭには、画像検索を行うための画像検索プログラムなどが記憶されている。なお、画像検索プログラムは、本装置が製造された後にＲＯＭに記憶するようにしてもよい。  
この画像検索プログラムは、ＣＰＵ１００に、上位下位の関係が互いに付けられた複数のキーワード、ここではキーワードを複数の層を成して記憶するキーワードデータベース（キーワードＤＢ）１０６に対して読み出し可能とし、かつ検索対象の画像データを検索するための複数のキーワード、ここではキーワードを受けると、これらキーワードに関係付けられるキーワードをキーワードＤＢ１０６から上位下位の関係を辿って選択し、当該選択されたキーワードを用いて検索対象の画像データを検索する画像検索機能を実現させる。  
ＲＡＭには、例えば画像検索の動作時のデータが一時的に記憶される。
【００１３】
画像ＤＢ制御部１０２には、複数の画像データを記憶するための画像データベース（画像ＤＢ）１０５が接続されている。この画像ＤＢ制御部１０２は、画像ＤＢ１０５に対して画像データの書き込み、読み出しの制御を行う。  
キーワードＤＢ制御部１０３には、画像検索部１１０によって検索対象の画像データを検索するためのキーワードを記憶するための記憶部としてのキーワードデータベース（キーワードＤＢ）１０６が接続されている。このキーワードＤＢ制御部１０３は、キーワードＤＢ１０６に対してキーワードの書き込み、読み出しの制御を行う。
【００１４】
キーワードＤＢ１０６には、複数のキーワード、例えば「被写体」「場所」「撮影日」「花」「ラベンダ」等が記憶されている。これらキーワードは、互いに上位下位の関係、例えば「花」は、「被写体」の下位でかつ「色」の上位にある関係が付けられている。これらキーワードは、検索目的の画像データを検索するときに、ユーザにより選択され上位のキーワードから下位のキーワードに絞り込むことにより、キーワードの階層構造が形成される。
【００１５】
図２は画像を検索するときに形成されるキーワードの階層構造の一例の模式図を示す。このキーワードの階層構造は、第１階層として「被写体」「場所」「撮影日」をキーワードとして検索目的である青色のラベンダの画像データを検索したときに形成された階層構造の一例を示す。このキーワードの階層構造では、第１階層として「被写体」がユーザによって選択されている。このキーワードの階層構造では、第１階層の「被写体」の下位である第２階層に「人」「動物」「花」等が関係付けられ、このうち「花」の下位である第３階層に「名前」「色」等が関係付けられている。さらに、「名前」の下位である第４階層に「アジサイ」「ラベンダ」等が関係付けられ、「色」の下位である同第４階層に「赤」「青」等が関係付けられている。
【００１６】
なお、ユーザが上記のように第１階層として「被写体」がユーザによって選択するのでなく、同第１階層として例えば「花」を選択すると、この「花」の下位である第２階層に「名前」「色」等が関係付けられ、さらに、「名前」の下位である第３階層に「アジサイ」「ラベンダ」等が関係付けられ、かつ「色」の下位である同第３階層に「赤」「青」等が関係付けられるキーワードの階層構造が形成される。  
従って、キーワードＤＢ１０６には、互いに上位下位の関係が付けられた複数のキーワードが記憶され、画像検索部１１０によって検索目的の画像データを検索する結果としてキーワードの階層構造が形成される。  
なお、キーワードの階層構造は、第１階層のキーワードとして「被写体」「場所」「撮影日」を設定し、図２に示すような階層構造を予め構築しておいてもよい。
【００１７】
画像入力部１０７は、例えば外部装置からの画像データを入力する。外部装置としては、例えばカメラ等の撮像装置、ＣＤＲＡＭ又はＵＳＢ等の記憶媒体が挙げられる。この画像入力部１０７により入力された画像データは、画像ＤＢ制御部１０２の制御により画像ＤＢ１０５に記憶される。  
キーワード付与部１０８は、画像入力部１０７から入力された画像データに対してキーワード、すなわち検索対象の画像データを検索するためのキーワードを付与する。この画像データに付与されたキーワードデータは、キーワードＤＢ制御部１０３によりキーワードＤＢ１０６に記憶される。  
キーワード入力部１０９は、検索対象の画像データを検索するためのキーワードを入力するもので、例えばキーボードや、画像表示部１１１に設けられるタッチパネルである。
【００１８】
画像検索部１１０は、キーワード入力部１０９から入力されたキーワードを用いて、画像入力部１０７から入力された複数の画像データの中からキーワードに関連する画像データを検索する。この画像データの検索では、検索対象の画像データを絞り込むように複数のキーワード、例えば「被写体」→「花」→「色」→「青」→「ラベンダ」が用いられる。これにより検索された画像データは、画像ＤＢ制御部１０２によって画像データベース１０５に記憶される。この検索に用いられた複数のキーワードデータは、キーワードＤＢ制御部１０３によってキーワードとしてキーワードＤＢ１０６に記憶される。これらキーワードデータは、当該キーワードデータ間の階層関係を示すキーワード階層データ、例えば「花」は、「被写体」の下位でかつ「色」の上位の関係を有することを示すキーワード階層データと共にキーワードＤＢ１０６に記憶される。  
画像表示部１１１は、画像検索部１１０により画像データベース１０５から検索された画像データを表示するもので、例えば液晶ディスプレイを有する。
【００１９】
図３はキーワード付与部１０８の具体的なブロック構成図を示す。このキーワード付与部１０８は、特徴量抽出部２００と、被写体検出部２０１と、被写体構成要素解析部２０２と、主付与部２０３とを有する。  
特徴量抽出部２００は、画像入力部１０７から入力された画像データの特徴量、例えば輝度、色度等を抽出する。  
被写体検出部２０１は、特徴量抽出部２００により抽出された画像データの特徴量に基づいて当該画像データから被写体を検出し、当該検出された被写体の位置や大きさ等の被写体データを取得する。
【００２０】
被写体構成要素解析部２０２は、被写体検出部２０１により検出された被写体の位置や大きさ等の被写体データから被写体の色や状態などの被写体の構成要素を解析する。この被写体の構成要素は、例えば人体の顔部であれば、眼、鼻、口であり、花であれば、色、形状等でもよい。具体的に、被写体構成要素解析部２０２は、例えば画像データ中の被写体が「ラベンダ」であれば、当該「ラベンダ」に関連付けられて「色」が「青」であり、かつ「花」であることの情報を予め記憶し、この情報に基づいて画像データ中の被写体が「花」であり、「色」が「青」であり、名前が「ラベンダ」であることを解析する。
【００２１】
主付与部２０３は、被写体構成要素解析部２０２による解析結果を受け取り、この解析結果を示すキーワード、例えば「被写体」「花」「色」「青」「ラベンダ」を取得し、このキーワードを画像入力部１０７から入力された画像データに付与する。
図４は画像検索部１１０の具体的なブロック構成図を示す。この画像検索部１１０は、検索目的の画像データを検索するための複数のキーワードをキーワード入力部１０９から順次受けると、これらキーワードに関係付けられるキーワードをキーワードＤＢ１０６から上位下位の関係に従って上位から下位に辿って選択し、最も下位で選択されたキーワードを用いて検索対象の画像データを検索する。
【００２２】
なお、キーワード入力部１０９から入力される複数のキーワードには、当該キーワード入力部１０９によって優先順位が付与される。この優先順位は、例えば複数のキーワードのうちユーザにとって検索対象の画像データを検索するのに確実性の高い順、すなわち検索目的の画像データを特定するために信頼度の高い順序に決定される。  
従って、画像検索部１１０は、優先順位の高いキーワードに関係付けられるキーワードを当該キーワードの上位下位の関係に従って選択し、最下位のキーワードの選択に到達すると、優先順位の低いキーワードに対応するキーワードを選択し、このキーワードを用いて検索目的の画像データを検索する。
【００２３】
具体的に、図２に示すキーワードの階層構造の一例を参照して説明すると、画像検索部１１０は、先ず、キーワード入力部１０９から入力されたキーワードのうち優先順位の高いキーワードに対応する層（第１階層）に属するキーワードの候補を選択し、次に、キーワードの候補を選択した層（第１階層以下の各層）ごとにその下位となる層（第２階層以下の各層）ごとにそれぞれ検索目的の画像データに関連するキーワードの候補を順次選択することを繰り返す。  
例えば、先ず、キーワード入力部１０９から入力されたキーワードが「被写体」「撮影日」であると、これら「被写体」「撮影日」を第１階層のキーワードとして選択する。なお、「場所」は、キーワード入力部１０９から入力されなかったものとする。  
次に、第１階層のキーワード「被写体」「撮影日」のうち優先順位の高いキーワードが「被写体」であれば、当該「被写体」の下位となる第２階層のキーワードの候補「人」「動物」・・・「食べ物」等を検索する。  
次に、第２階層のキーワードの候補から例えば「花」が選択されると、当該「花」の下位となる第３階層のキーワードの候補「名前」「色」等を検索する。  
以下、同様に、各階層ごとにキーワードが検索されると、当該検索されたキーワードの下位となる各階層ごとにキーワードの候補を検索することを繰り返す。  
次に、最下位の層に到達すると、優先順位の低いキーワードに対応し、かつ検索目的の画像データを特定するためのキーワードを検索する。
【００２４】
この場合、画像検索部１１０は、上位下位の関係を有する層ごとに、キーワードに対応するキーワードの候補のリストを画像表示部１１１に表示し、当該リストからキーワードを選択することを促進することを繰り返す。
図４は画像検索部１１０のブロック構成図を示す。この画像検索部１１０は、第１階層キーワード表示部３００と、キーワード選択部３０１と、下位層キーワード表示部３０２と、優先順位最高位キーワード決定部３０３と、候補キーワード決定部３０４と、候補キーワード個数算出部３０５と、キーワード階層判断部３０６と、キーワード決定部３０７と、詳細検索実行判断部３０８と、主検索部３０９とを有する。
【００２５】
画像入力部１０７から入力された画像データは、主検索部３０９に送られる。  
キーワード入力部１０９から入力されたキーワードは、第１階層キーワード表示部３００と、下位層キーワード表示部３０２とにそれぞれ送られる。
第１階層キーワード表示部３００は、キーワード入力部１０９から入力されたキーワードを第１階層となるキーワード、例えば「被写体」「場所」「撮影日」として画像表示部１１１に表示すると共に、当該キーワード「被写体」「場所」「撮影日」をキーワード選択部３０１に送る。  
キーワード選択部３０１は、送られてきたキーワード「被写体」「場所」「撮影日」からユーザの所望するキーワード「被写体」「撮影日」を選択し、これら選択したキーワード「被写体」「撮影日」を優先順位最高位キーワード決定部３０３と、候補キーワード決定部３０４と、キーワード階層判断部３０６とにそれぞれ送る。
【００２６】
又、キーワード選択部３０１は、選択したキーワード「被写体」「撮影日」に対してユーザの操作入力を受けて優先順位を付す。例えば、優先順位は、第１番目が「被写体」であり、第２番目が「撮影日」である。キーワード選択部３０１は、当該優先順位のデータを、優先順位最高位キーワード決定部３０３と、候補キーワード決定部３０４とにそれぞれキーワード「被写体」「撮影日」と共に送る。
【００２７】
優先順位最高位キーワード決定部３０３は、キーワード選択部３０１から送られてきたキーワード「被写体」「撮影日」から優先順位が最高位のキーワード、ここでは「被写体」を選出し、当該キーワード「被写体」を優先順位最高位キーワード選出部３０３と、候補キーワード決定部３０４と、キーワード階層判断部３０６とに送る。
【００２８】
候補キーワード決定部３０４は、優先順位最高位キーワード選出部３０３から送られてきた優先順位の最も高いキーワード「被写体」以外のキーワードを、キーワード選択部３０１から送られてきたキーワード「被写体」「撮影日」から除いたキーワード「被写体」を候補キーワードとして決定し、この候補キーワード「被写体」を候補キーワード個数算出部３０５に送る。  
候補キーワード個数算出部３０５は、候補キーワード決定部３０４から入力された候補キーワードの個数を算出し、個数が「０」である場合、当該候補キーワードの個数「０」のデータをキーワード決定部３０７に送る。
【００２９】
下位層キーワード表示部３０２は、キーワード入力部１０９から入力されてーワードとするキーワード、例えば「被写体」「場所」「撮影日」から、優先順位最高位キーワード選出部３０３により選出された優先順位の最も高いキーワード「被写体」の下位層にあるキーワード、例えば「人」「動物」・・・「食べ物」等を画像表示部１１１に表示すると共に、同キーワード「人」「動物」・・・「食べ物」等をキーワード選択部３０１に送る。
【００３０】
キーワード階層判断部３０６は、キーワード選択部３０１で選択されたキーワードが「撮影日」であり、このキーワード「撮影日」の階層が最下位の場合、キーワード選択部３０１により選択されたキーワード「撮影日」をキーワード決定部３０７に送る。  
又、キーワード選択部３０１により選択されたキーワードの階層が最下位でなければ、例えば「花」等の第２階層等のキーワードであれば、キーワード階層判断部３０６は、キーワード選択部３０１で選択されたキーワードを詳細検索実行判断部３０８に送る。
【００３１】
詳細検索実行判断部３０８は、キーワード階層判断部３０６から送られてきたキーワード、例えば図２に示すように第１階層の「被写体」又は第２階層の「花」等を画像表示部１１１に表示し、例えば「被写体」等のキーワードの詳細検索、すなわち「被写体」等のキーワードの下位の各階層、すなわち第２階層、第３階層等の下位の各階層を順次辿って最下位の階層のキーワード、例えば「ラベンダ」を検索する詳細検索を行うか否かを画像表示部１１１に表示し、当該詳細検索を行うか否かをユーザに尋ねる。  
ユーザが詳細検索を行う場合、詳細検索実行判断部３０８は、キーワード階層判断部３０６から送られてきたキーワード、例えば「被写体」等のキーワードを下位層キーワード表示部３０２に送る。一方、ユーザが詳細検索を行わない場合、詳細検索実行判断部３０８は、キーワード階層判断部３０６から送られてきたキーワード、例えば「ラベンダ」等のキーワードをキーワード決定部３０７に送る。
【００３２】
キーワード決定部３０７は、キーワード階層判断部３０６又は詳細検索実行判断部３０８から送られてきたキーワードを受け、かつ候補キーワード個数算出部３０５から送られてきた候補キーワードの個数が「０」である場合、キーワード階層判断部３０６又は詳細検索実行判断部３０８から送られてきたキーワード、例えば「ラベンダ」等のキーワードを検索キーワードとして決定し、主検索部３０９に送る。  
主検索部３０９は、キーワード決定部３０７から送られてきたキーワード、例えば「ラベンダ」等のキーワードが付与された画像を、画像入力部１０７から入力された画像データから検索し、当該検索した画像データを画像表示部１１１に送る。  
この画像表示部１１１は、主検索部３０９により検索された画像データを表示する。
【００３３】
次に、上記の如く構成された装置におけるキーワード付与部１０８のキーワード付与動作について図５に示すキーワード付与フローチャートを参照して説明する。  
キーワード付与部１０８において、特徴量抽出部２００は、ステップＳ４００において、画像入力部１０７から入力された画像データを受け取り、ステップＳ４０１において、当該画像データの特徴量、例えば輝度、色度等を抽出する。  
被写体検出部２０１は、ステップＳ４０２において、特徴量抽出部２００により抽出された画像データの特徴量、例えば輝度、色度等を受け取り、この画像データの特徴量に基づいて当該画像データ中から被写体を検出する。この検出の結果、画像データ中から被写体を検出すると、被写体検出部２０１は、検出した被写体の位置や大きさ等の被写体データを取得し、ステップＳ４０３からステップＳ４０４に移り、被写体の位置や大きさ等の被写体データを被写体構成要素解析部２０２に渡す。なお、画像データ中から被写体が検出されなければ、キーワード付与部１０８は、キーワード付与の動作を終了する。
【００３４】
被写体構成要素解析部２０２は、同ステップＳ４０４において、被写体検出部２０１から被写体の位置や大きさ等の被写体データを受け取り、当該被写体データから被写体の色や状態などの被写体の構成要素を解析する。この被写体の構成要素は、上記の通り、例えば人体の顔部であれば、眼、鼻、口であり、花であれば、色、形状等でもよい。具体的に、被写体構成要素解析部２０２は、例えば画像データ中の被写体が「ラベンダ」であれば、当該「ラベンダ」に関連付けられて「色」が「青」であり、かつ「花」であることの情報を予め記憶し、この情報に基づいて画像データ中の被写体が「花」であり、「色」が「青」であり、名前が「ラベンダ」であることを解析する。
【００３５】
主付与部２０３は、ステップＳ４０５において、被写体構成要素解析部２０２による解析結果を受け取り、この解析結果を示すキーワード、例えば「被写体」「花」「色」「青」「ラベンダ」を取得し、このキーワードを画像入力部１０７から入力された画像データに付与する。
【００３６】
なお、キーワード付与部１０８は、図６に示すキーワード付与フローチャートに従って動作してもよい。  
このキーワード付与部１０８は、被写体検出部２０１によって画像データ中から被写体を検出した後、被写体の大きさが所定の大きさ以上であるか否かを判定する。この判定の結果、被写体の大きさが所定の大きさ以上であれば、キーワード付与部１０８は、ステップＳ４０４に移り、被写体構成要素解析部２０２によって、被写体検出部２０１から被写体の位置や大きさ等の被写体データを受け取り、当該被写体データから被写体の色や状態などの被写体の構成要素を解析する。
【００３７】
被写体の大きさが所定の大きさ以上でなければ、キーワード付与部１０８は、ステップＳ４０５に移り、主付与部２０３によって、被写体構成要素解析部２０２の解析結果を示すキーワード、例えば「被写体」「花」「色」「青」「ラベンダ」を取得し、このキーワードを画像入力部１０７から入力された画像データに付与する。
【００３８】
次に、上記の如く構成された装置における画像検索部１０１の画像検索動作について図７に示す画像検索フローチャートに従い、２人のユーザＡ、Ｂがそれぞれ花の写っている画像データを検索する場合について例に取って説明する。  
ユーザＡは、青いラベンダの花が写っている画像データを検索したい要望が有るが、その画像データの撮影日が夏季であることが確かであるが、撮影日の詳細な日を思い出すことができない。  
ユーザＢは、２００９年８月１５日に撮影した花の画像データを検索したい要望があるが、その花の名前を思い出すことができない。  
ユーザＡ、Ｂの両者とも「花」の画像データを検索したいという共通点がある。「花」の画像データを検索するときのキーワードの面からは、例えば図２に示すように第１階層の「被写体」「撮影日」から検索を開始できるという共通点がある。
（ａ）先ず、ユーザＡが青いラベンダの花が写っている画像データの検索について図８に示す画像検索の流れ図を参照して説明する。  
ユーザＡは、青いラベンダの花であるとして被写体の情報が明確だが、撮影日の情報が曖昧であるので、キーワードとして「被写体」「撮影日」を選択し、優先順位は「被写体」を高く、「撮影日」を低くする順に設定されるものとする。
【００３９】
第１階層キーワード表示部３００は、ステップＳ５００において、キーワード入力部１０９から入力されたキーワードを第１階層となるキーワード、例えば図２に示すキーワード「被写体」「場所」「撮影日」として画像表示部１１１に表示する。これと共に第１階層キーワード表示部３００は、当該キーワード「被写体」「場所」「撮影日」をキーワード選択部３０１に送る。
【００４０】
キーワード選択部３０１は、ステップＳ５０１において、第１階層キーワード表示部３００から送られてきたキーワード「被写体」「場所」「撮影日」からユーザＡの選択操作を受けてキーワード「被写体」「撮影日」を選択する。この選択は、上記の通り、ユーザＡが青いラベンダの花であるという被写体の情報が明確であるが、撮影日の情報が曖昧であるためである。なお、「場所」については不明としている。
【００４１】
又、キーワード選択部３０１は、選択したキーワード「被写体」「撮影日」に対してユーザの手動操作を受けて優先順位を付す。この優先順位も、ユーザＡが青いラベンダの花であるという被写体の情報が明確であるが、撮影日の情報が曖昧であるためである。従って、例えば、優先順位は、ユーザの手動操作によって第１番目が「被写体」に付され、第２番目が「撮影日」に付される。
【００４２】
このキーワード選択部３０１は、選択されたキーワード「被写体」「撮影日」と、これら「被写体」「撮影日」の優先順位のデータとを優先順位最高位キーワード決定部３０３と、候補キーワード決定部３０４と、キーワード階層判断部３０６とにそれぞれ送る。
【００４３】
優先順位最高位キーワード決定部３０３は、ステップＳ５０２において、キーワード選択部３０１から送られてきたキーワードの個数が２個以上（個数≧２）であるか否かを判定する。この判定の結果、キーワード「被写体」「撮影日」が送られてきたので、優先順位最高位キーワード決定部３０３は、キーワードの個数が２個以上であると判定する。なお、優先順位最高位キーワード決定部３０３は、優先順位が最高位のキーワード、ここでは「被写体」を優先順位最高位キーワード選出部３０３と、候補キーワード決定部３０４と、キーワード階層判断部３０６とに送る。
【００４４】
下位層キーワード表示部３０２は、ステップＳ５０３において、キーワード選択部３０１から送られてきたキーワード「被写体」「撮影日」から優先順位が最高位のキーワード、ここでは「被写体」を選出し、当該キーワード「被写体」と、この「被写体」の下位である第２階層のキーワード、例えば図２に示す「人」「動物」「花」・・・「食べ物」等を画像表示部１１１に表示する。この下位層キーワード表示部３０２は、「被写体」の下位である第２階層のキーワード、例えば図２に示す「人」「動物」「花」・・・「食べ物」等をキーワード選択部３０１に送る。このキーワード選択部３０１は、「被写体」の下位である第２階層のキーワード、例えば図２に示す「人」「動物」「花」・・・「食べ物」を優先順位最高位キーワード選出部３０３と候補キーワード決定部３０４とに送る。
【００４５】
候補キーワード決定部３０４は、ステップＳ５０４において、優先順位最高位キーワード選出部３０３から送られてきた優先順位の最も高いキーワード「被写体」を受けると共に、キーワード選択部３０１により選択された第２階層のキーワード、例えば図２に示す「人」「動物」「花」・・・「食べ物」を受け、優先順位の最も高いキーワード「被写体」以外のキーワード、例えば第２階層のキーワードである「人」「動物」「花」・・・「食べ物」を候補キーワードとして決定し、これら候補キーワード「人」「動物」「花」・・・「食べ物」を候補キーワード個数算出部３０５に送る。
【００４６】
再び、キーワード選択部３０１は、ステップＳ５０５において、第２階層のキーワードである「人」「動物」「花」・・・「食べ物」からユーザＡの所望するキーワード、例えば「花」がユーザＡの手動操作を受けて選択する。
なお、優先順位最高位キーワード決定部３０３がステップＳ５０２において、キーワードの個数が２個以下であると判定すると、下位層キーワード表示部３０２は、ステップＳ５０６において、優先順位最高位キーワード選出部３０３により選出された優先順位の最も高いキーワード「被写体」の下位層にある第２階層のキーワード、例えば「人」「動物」「花」・・・「食べ物」を画像表示部１１１に表示すると共に、同キーワード「人」「動物」「花」・・・「食べ物」をキーワード選択部３０１に送る。  
このキーワード選択部３０１は、上記同様に、ステップＳ５０５において、第２階層のキーワードである「人」「動物」「花」・・・「食べ物」からユーザの所望するキーワード、例えば「花」がユーザの手動操作を受けて選択する。
【００４７】
キーワード階層判断部３０６は、ステップＳ５０７において、キーワード選択部３０１で選択されたキーワードが「花」であり、当該キーワード「花」の階層が最下位であるか否かを判定する。キーワード「花」の階層は、第２階層であり、当該第２階層の下位には、第２階層、第３階層のキーワードが存在するので、キーワード階層判断部３０６は、第２階層のキーワード「花」の階層が最下位でないことを判定する。  
なお、キーワード「花」の下位の階層の存在は、各キーワード間の関係が互いに上位下位の関係、例えば「花」は、「被写体」の下位でかつ「色」の上位にある関係が付けられているので、当該関係付けから判定できる。  
又、キーワード「花」の階層が最下位でなければ、キーワード階層判断部３０６は、キーワード「花」を詳細検索実行判断部３０８に送る。
【００４８】
詳細検索実行判断部３０８は、キーワード階層判断部３０６から送られてきたキーワード、例えば図２に示すように第２階層の「花」を画像表示部１１１に表示し、この「花」のキーワードの詳細検索、すなわち「花」のキーワードの下位の第３階層、第４階層等を順次辿って最下位の階層のキーワードを検索する詳細検索を行うか否かを画像表示部１１１に表示し、当該詳細検索を行うか否かをユーザＡに尋ねる。  
ユーザＡが詳細検索を行う操作を入力すると、詳細検索実行判断部３０８は、キーワード階層判断部３０６から送られてきたキーワード、例えばキーワード「花」をキーワード選択部３０１に送る。
【００４９】
キーワード選択部３０１は、再び、ステップＳ５０１において、送られてきたキーワード「花」の下位の第３階層のキーワード「名前」「色」を選択し、これら選択したキーワード「名前」「色」を優先順位最高位キーワード決定部３０３と、候補キーワード決定部３０４と、キーワード階層判断部３０６とにそれぞれ送る。  
又、キーワード選択部３０１は、選択したキーワード「名前」「色」に対してユーザの操作入力を受けて優先順位を付す。例えば、優先順位は、第１番目が「色」であり、第２番目が「名前」である。この優先順位は、ユーザＡが青いラベンダの花であるという被写体の情報が明確であるが、撮影日の情報が曖昧であるためである。従って、例えば、優先順位は、ユーザの手動操作によって第１番目が「色」に付され、第２番目が「名前」に付される。キーワード選択部３０１は、当該優先順位のデータを、優先順位最高位キーワード決定部３０３と、候補キーワード決定部３０４とにそれぞれキーワード「色」「名前」と共に送る。
【００５０】
これ以降、上記同様に、優先順位最高位キーワード決定部３０３は、ステップＳ５０２において、キーワード選択部３０１から送られてきたキーワードの個数が２個以上（個数≧２）であるか否かを判定し、個数が２個以上であれば、ステップＳ５０３に移り、キーワード選択部３０１から送られてきたキーワード「色」「名前」から優先順位が最高位のキーワード、ここでは「色」を選出し、当該キーワード「色」と、この「色」の下位である第４階層のキーワード、例えば図２に示す「赤」「青」・・・「白」を画像表示部１１１に表示する。  
候補キーワード決定部３０４は、ステップＳ５０４において、優先順位最高位キーワード選出部３０３から送られてきた優先順位の高いキーワード「色」以外のキーワード、例えば第４階層のキーワードである例えば図２に示す「赤」「青」・・・「白」を候補キーワードとして決定し、これら候補キーワード「赤」「青」・・・「白」を候補キーワード個数算出部３０５に送る。
【００５１】
再び、キーワード選択部３０１は、ステップＳ５０５において、第４階層のキーワードである「赤」「青」・・・「白」等からユーザＡの所望するキーワード、例えば「青」がユーザＡの手動操作を受けて選択する。
キーワード階層判断部３０６は、ステップＳ５０７において、キーワード選択部３０１で選択されたキーワードが「青」であり、このキーワード「青」の階層が最下位であるか否かを判定する。キーワード「青」の階層は、第４階層であり、当該第４階層の下位には、キーワードが存在しないので、キーワード階層判断部３０６は、第４階層のキーワード「青」の階層が最下位であると判定する。
【００５２】
候補キーワード個数算出部３０５は、ステップＳ５０９において、上記候補キーワード決定部３０４から入力された候補キーワードの個数が「０」であるか否かを判定する。ここでは第４階層のキーワードである「青」と、優先順位の低いキーワード、ここでは「名前」が存在するので、候補キーワード個数算出部３０５は、候補キーワードの個数が「０」でないと判定し、再び、ステップＳ５０３に戻る。
【００５３】
優先順位最高位キーワード決定部３０３は、ステップＳ５０３において、優先順位の低いキーワード、ここでは「青」の下位である第５階層のキーワード、例えば図２に示す「アジサイ」「キキョウ」・・・「ラベンダ」を画像表示部１１１に表示する。  
候補キーワード決定部３０４は、ステップＳ５０４において、第５階層のキーワードである例えば図２に示す「アジサイ」「キキョウ」・・・「ラベンダ」を候補キーワードとして決定し、これら候補キーワード「赤」「青」・・・「白」を候補キーワード個数算出部３０５に送る。
【００５４】
再び、キーワード選択部３０１は、ステップＳ５０５において、第５階層のキーワードである「アジサイ」「キキョウ」・・・「ラベンダ」からユーザの所望するキーワード、例えば「ラベンダ」がユーザの手動操作を受けて選択する。
キーワード階層判断部３０６は、ステップＳ５０７において、キーワード選択部３０１で選択されたキーワードが「ラベンダ」であり、このキーワード「ラベンダ」の階層が最下位であるか否かを判定する。  
ここで、キーワード選択部３０１は、キーワード「被写体」に関するキーワードの検索が終了であることを判定する。
【００５５】
一方、キーワード「ラベンダ」の階層は、第５階層であるが、上記キーワード選択部３０１によって画像検索の当初に付された優先順位の低いキーワード「撮影日」が存在する。  
従って、キーワード選択部３０１は、再び、ステップＳ５０３において、キーワード「撮影日」の下位の階層の第６階層のキーワード「２００９年４月２８日」「２００９年８月１５日」を選択し、これら選択したキーワード「２００９年４月２８日」「２００９年８月１５日」を画像表示部１１１に表示する。  
候補キーワード決定部３０４は、ステップＳ５０４において、第６階層のキーワードである例えば図２に示す「２００９年４月２８日」「２００９年８月１５日」を候補キーワードとして決定し、これら候補キーワード「２００９年４月２８日」「２００９年８月１５日」を候補キーワード個数算出部３０５に送る。
【００５６】
再び、キーワード選択部３０１は、ステップＳ５０５において、第６階層のキーワードである「２００９年４月２８日」「２００９年８月１５日」からユーザＡの所望するキーワード、例えば「２００９年８月１５日」がユーザＡの手動操作を受けて選択する。
【００５７】
キーワード階層判断部３０６は、ステップＳ５０７において、キーワード選択部３０１で選択されたキーワードが「２００９年８月１５日」であり、このキーワード「２００９年８月１５日」の階層が最下位であるか否かを判定する。キーワード「２００９年８月１５日」の階層は、第６階層であり、当該第６階層の下位には、キーワードが存在しないので、キーワード階層判断部３０６は、第６階層のキーワード「２００９年８月１５日」の階層が最下位であると判定する。
【００５８】
候補キーワード個数算出部３０５は、ステップＳ５０９において、上記候補キーワード決定部３０４から入力された候補キーワードの個数が「０」であるか否かを判定する。ここでは、第５階層以下にキーワードが存在しないので、候補キーワード個数算出部３０５は、候補キーワードの個数が「０」であると判定する。
【００５９】
主検索部３０９は、ステップＳ５１０において、キーワード決定部３０７から送られてきたキーワード、例えば「ラベンダ」「２００９年８月１５日」のキーワードが付与された画像を、画像入力部１０７から入力された画像データから検索し、当該検索した画像データを画像表示部１１１に送る。  
この結果、画像表示部１１１は、主検索部３０９により検索された画像データを表示する。
（ｂ）次に、ユーザＢが２００９年８月１５日に撮影した花が写っている画像データの検索について図９に示す画像検索の流れ図を参照して説明する。  
ユーザＢは、２００９年８月１５日に撮影したことの情報が明確だが、被写体の情報が曖昧であるので、キーワードとして「撮影日」「被写体」を選択し、優先順位は「撮影日」を高く、「被写体」を低くする順に設定されるものとする。
【００６０】
第１階層キーワード表示部３００は、ステップＳ５００において、上記同様に、例えば図２に示すキーワード「被写体」「場所」「撮影日」として画像表示部１１１に表示する。  
キーワード選択部３０１は、ステップＳ５０１において、上記同様に、ユーザＢの選択操作を受けてキーワード「被写体」「撮影日」を選択し、かつ当該キーワード「被写体」「撮影日」に対してユーザＢの手動操作を受けて優先順位、ここでは、第１番目が「撮影日」であり、第２番目が「被写体」に付される。このキーワード選択部３０１は、選択されたキーワード「撮影日」「被写体」と、これら「撮影日」「被写体」の優先順位のデータとを優先順位最高位キーワード決定部３０３と、候補キーワード決定部３０４と、キーワード階層判断部３０６とにそれぞれ送る。
【００６１】
優先順位最高位キーワード決定部３０３は、ステップＳ５０２において、上記同様に、キーワード選択部３０１から送られてきたキーワードが「被写体」「撮影日」であるので、キーワードの個数が２個以上（個数≧２）であると判定する。  
下位層キーワード表示部３０２は、ステップＳ５０３において、キーワード選択部３０１から送られてきたキーワード「撮影日」「被写体」から優先順位が最高位のキーワード、ここでは「撮影日」を選出し、当該キーワード「撮影日」と、この「撮影日」の下位である第２階層のキーワード、例えば図２に示す「２００８年１月１日」「２００８年１０月１１日」・・・「２００９年８月１５日」を画像表示部１１１に表示すると共に、これら「２００８年１月１日」「２００８年１０月１１日」・・・「２００９年８月１５日」をキーワード選択部３０１に送る。このキーワード選択部３０１は、当該「２００８年１月１日」「２００８年１０月１１日」・・・「２００９年８月１５日」を優先順位最高位キーワード選出部３０３と候補キーワード決定部３０４とに送る。
【００６２】
候補キーワード決定部３０４は、ステップＳ５０４において、優先順位最高位キーワード選出部３０３から送られてきた優先順位の最も高いキーワード「撮影日」を受けると共に、キーワード選択部３０１により選択された第２階層のキーワード、例えば図２に示す「２００８年１月１日」「２００８年１０月１１日」・・・「２００９年８月１５日」を受け、優先順位の最も高いキーワード「撮影日」以外のキーワード、例えば第２階層のキーワードである「２００８年１月１日」「２００８年１０月１１日」・・・「２００９年８月１５日」を候補キーワードとして決定し、これら候補キーワード「２００８年１月１日」「２００８年１０月１１日」・・・「２００９年８月１５日」を候補キーワード個数算出部３０５に送る。
【００６３】
再び、キーワード選択部３０１は、ステップＳ５０５において、第２階層のキーワードである「２００８年１月１日」「２００８年１０月１１日」・・・「２００９年８月１５日」からユーザＢの所望するキーワード、例えば「２００９年８月１５日」がユーザＢの手動操作を受けて選択する。
【００６４】
キーワード階層判断部３０６は、ステップＳ５０７において、キーワード選択部３０１で選択されたキーワードが「２００９年８月１５日」であり、当該キーワード「２００９年８月１５日」の階層が最下位であるか否かを判定する。キーワード「２００９年８月１５日」の階層は、第２階層であり、当該第２階層の下位には、第２階層、第３階層のキーワードが存在するので、キーワード階層判断部３０６は、第２階層のキーワード「２００９年８月１５日」の階層が最下位でないことを判定する。又、キーワード「２００９年８月１５日」の階層が最下位でなければ、キーワード階層判断部３０６は、キーワード「２００９年８月１５日」を詳細検索実行判断部３０８に送る。
【００６５】
詳細検索実行判断部３０８は、キーワード階層判断部３０６から送られてきたキーワード、例えば図２に示すように第２階層の「２００９年８月１５日」を画像表示部１１１に表示し、この「２００９年８月１５日」のキーワードの詳細検索、すなわち「２００９年８月１５日」のキーワードの下位の第３階層、第４階層等を順次辿って最下位の階層のキーワードを検索する詳細検索を行うか否かを画像表示部１１１に表示し、当該詳細検索を行うか否かをユーザＢに尋ねる。  
ユーザＢが詳細検索を行う操作を入力すると、詳細検索実行判断部３０８は、キーワード階層判断部３０６から送られてきたキーワード、例えばキーワード「２００９年８月１５日」をキーワード選択部３０１に送る。
【００６６】
キーワード選択部３０１は、再び、ステップＳ５０１において、送られてきたキーワード「２００９年８月１５日」の下位の第３階層のキーワード「人」「動物」「花」を選択する。  
優先順位最高位キーワード決定部３０３は、ステップＳ５０２において、キーワード選択部３０１から送られてきたキーワードの個数が２個以上（個数≧２）であるか否かを判定し、この判定の結果、キーワード「人」「動物」「花」が送られてきたので、優先順位最高位キーワード決定部３０３は、キーワードの個数が２個以上であると判定する。
【００６７】
下位層キーワード表示部３０２は、ステップＳ５０３において、キーワード選択部３０１から送られてきたキーワード「人」「動物」「花」から「花」を選出し、当該キーワード「花」と、この「花」の下位である第５階層のキーワード、例えば図２に示す「名前」「色」等を画像表示部１１１に表示する。
【００６８】
候補キーワード決定部３０４は、ステップＳ５０４において、キーワード選択部３０１により選択された第２階層のキーワード、例えば図２に示す「名前」「色」を受け、これら候補キーワード「名前」「色」を候補キーワード個数算出部３０５に送る。  
再び、キーワード選択部３０１は、ステップＳ５０５において、第４階層のキーワードである「名前」「色」からユーザＢの所望するキーワード、例えば「名前」がユーザＢの手動操作を受けて選択する。
【００６９】
キーワード階層判断部３０６は、ステップＳ５０７において、キーワード選択部３０１で選択されたキーワードが「花」であり、当該キーワード「花」の階層が最下位であるか否かを判定する。キーワード「花」の階層は、第３階層であり、当該第３階層の下位には、第２階層、第３階層のキーワードが存在するので、キーワード階層判断部３０６は、第２階層のキーワード「花」の階層が最下位でないことを判定する。
【００７０】
詳細検索実行判断部３０８は、キーワード階層判断部３０６から送られてきたキーワード、例えば図２に示すように第３階層の「花」を画像表示部１１１に表示し、この「花」のキーワードの詳細検索、すなわち「花」のキーワードの下位の第４階層、第５階層等を順次辿って最下位の階層のキーワードを検索する詳細検索を行うか否かを画像表示部１１１に表示し、当該詳細検索を行うか否かをユーザＢに尋ねる。  
ユーザＢが詳細検索を行う操作を入力すると、詳細検索実行判断部３０８は、キーワード階層判断部３０６から送られてきたキーワード、例えばキーワード「花」をキーワード選択部３０１に送る。  
このキーワード選択部３０１は、再び、送られてきたキーワード「花」の下位の第３階層のキーワード「名前」「色」を選択し、かつ選択したキーワード「名前」「色」に対してユーザの操作入力を受けて優先順位を付す。例えば、優先順位は、第１番目が「名前」であり、第２番目が「色」である。
【００７１】
これ以降、上記同様に、優先順位最高位キーワード決定部３０３は、ステップＳ５０２において、キーワード選択部３０１から送られてきたキーワードの個数が２個以上（個数≧２）であるか否かを判定し、個数が２個以上であれば、ステップＳ５０３に移り、キーワード選択部３０１から送られてきたキーワード「色」「名前」からユーザＢの選択操作により「名前」が選出されると、当該キーワード「名前」と、この「名前」の下位である第５階層のキーワード、例えば図２に示す「ハイビスカス」「ラベンダ」等を画像表示部１１１に表示する。
【００７２】
候補キーワード決定部３０４は、ステップＳ５０４において、第５階層のキーワード、例えば図２に示す「ハイビスカス」「ラベンダ」等を候補キーワードとして決定し、これら候補キーワード「ハイビスカス」「ラベンダ」等を候補キーワード個数算出部３０５に送る。  
再び、キーワード選択部３０１は、ステップＳ５０５において、第５階層のキーワードである「ハイビスカス」「ラベンダ」等からユーザＢの所望するキーワード、例えば「ラベンダ」がユーザＢの手動操作を受けて選択する。
【００７３】
キーワード階層判断部３０６は、ステップＳ５０７において、キーワード選択部３０１で選択されたキーワードが「ラベンダ」であり、このキーワード「ラベンダ」の階層が最下位であるか否かを判定する。キーワード「ラベンダ」の階層は、第５階層であり、当該第５階層の下位には、キーワードが存在しないので、キーワード階層判断部３０６は、第５階層のキーワード「ラベンダ」の階層が最下位であると判定する。
【００７４】
ここで、キーワード選択部３０１は、キーワード「被写体」に関するキーワードの検索が終了であることを判定する。
候補キーワード個数算出部３０５は、ステップＳ５０９において、上記候補キーワード決定部３０４から入力された候補キーワードの個数が「０」であるか否かを判定する。ここでは第５階層のキーワードである「ラベンダ」と、優先順位の低いキーワード、ここでは「名前」が存在するので、候補キーワード個数算出部３０５は、候補キーワードの個数が「０」でないと判定し、再び、ステップＳ５０３に戻る。
【００７５】
優先順位最高位キーワード決定部３０３は、ステップＳ５０３において、優先順位の低いキーワード、ここでは「名前」の下位である第４階層のキーワード、例えば図２に示す「ハイビスカス」「ラベンダ」を画像表示部１１１に表示する。  
候補キーワード決定部３０４は、ステップＳ５０４において、第４階層のキーワードである例えば図２に示す「ハイビスカス」「ラベンダ」を候補キーワードとして決定し、これら候補キーワード「ハイビスカス」「ラベンダ」を候補キーワード個数算出部３０５に送る。
【００７６】
再び、キーワード選択部３０１は、ステップＳ５０５において、第４階層のキーワードである「ハイビスカス」「ラベンダ」からユーザの所望するキーワード、例えば「ラベンダ」がユーザの手動操作を受けて選択する。
キーワード階層判断部３０６は、ステップＳ５０７において、キーワード選択部３０１で選択されたキーワードが「ラベンダ」であり、このキーワード「ラベンダ」の階層が最下位であるか否かを判定する。  
ここで、キーワード選択部３０１は、キーワード「被写体」に関するキーワードの検索が終了であることを判定する。
【００７７】
主検索部３０９は、キーワード決定部３０７から送られてきたキーワード、例えば「２００９年８月１５日」「ラベンダ」のキーワードが付与された画像を、画像入力部１０７から入力された画像データから検索し、当該検索した画像データを画像表示部１１１に送る。  
この結果、画像表示部１１１は、主検索部３０９により検索された画像データを表示する。
【００７８】
このように上記一実施の形態によれば、上位下位の関係が互いに付けられた複数のキーワードをキーワードＤＢ１０６に記憶し、検索目的の画像データを検索するための複数のキーワードを受けると、これらキーワードに優先順位を付与し、この優先順位に従い、キーワードＤＢ１０６に記憶されている各キーワードの上位下位の関係を辿って該当する画像データを検索するためのキーワードを検索し、当該選択されたキーワードを用いて検索対象の画像データを検索する。これにより、検索しようとする画像のキーワードが不確かであっても、検索しようとする画像を正確に検索できる。
【００７９】
例えば、ユーザＡが青いラベンダの花が写っている画像データを検索したい要望が有るが、その画像データの撮影日が夏季であることが確かであるが、撮影日の詳細な日を思い出すことができない場合であっても、優先順位の高いキーワード「被写体」に従い、上記図８に示すように「被写体」→「花」→「色」→「青」→「ラベンダ」までのキーワードを絞り込み、さらに、優先順位の低い撮影日を用いて、例えば「２００９年８月１５日」に撮影された「ラベンダ」の画像データを容易に検索することができる。なお、この検索で、キーワード「被写体」のみであると、「ラベンダ」までのキーワードを絞り込むことができるが、これ以降、撮影日として「２００８年１月１日」「２００８年１０月１１日」・・・「２００９年８月１５日」に撮影された画像データが複数存在し、これらの画像データからは検索しようとする画像を見付け出すことが難しいが、優先順位の低いキーワード「撮影日」を用いて検索することにより、例えば「２００９年８月１５日」に撮影された「ラベンダ」の画像データを容易に検索することができる。
【００８０】
又、ユーザＢのように、２００９年８月１５日に撮影した花の画像データを検索したい要望があるが、その花の名前を思い出すことができない場合であっても、優先順位の高いキーワード「撮影日」に従い、上記図９に示すように「撮影日」→「２００９年８月１５日」までのキーワードを絞り込み、さらに、優先順位の低い「被写体」を用いて、「花」→「名前」→「ラベンダ」までのキーワードを絞り込み、「２００９年８月１５日」に撮影された「ラベンダ」の画像データを容易に検索することができる。
【００８１】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００８２】
１００：ＣＰＵ、Ｂ：バス、１０１：メモリ制御部、１０２：画像データベース（画像ＤＢ）制御部、１０３：キーワードデータベース（キーワードＤＢ）制御部、１０４：メモリ、１０７：画像入力部、１０８：キーワード付与部、１０９：キーワード入力部、１１０：画像検索部、１１１：画像表示部、１０６：キーワードデータベース（キーワードＤＢ）、１０５：画像データベース（画像ＤＢ）、１０６：キーワードデータベース（キーワードＤＢ）、２００：特徴量抽出部、２０１：被写体検出部、２０２：被写体構成要素解析部、２０３：主付与部、３００：第１階層キーワード表示部、３０１：キーワード選択部、３０２：下位層キーワード表示部、３０３：優先順位最高位キーワード決定部、３０４：候補キーワード決定部、３０５：候補キーワード個数算出部、３０６：キーワード階層判断部、３０７：キーワード決定部、３０８：詳細検索実行判断部、３０９：主検索部。
【図１】
2013242640.tif 000003
【図２】
2013242640.tif 000004
【図３】
2013242640.tif 000005
【図４】
2013242640.tif 000006
【図５】
2013242640.tif 000007
【図６】
2013242640.tif 000008
【図７】
2013242640.tif 000009
【図８】
2013242640.tif 000010
【図９】
2013242640.tif 000011