JP4585742B2 - 画像表示装置、画像表示方法、プログラム及び記録媒体 - Google Patents
画像表示装置、画像表示方法、プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP4585742B2 JP4585742B2 JP2003029667A JP2003029667A JP4585742B2 JP 4585742 B2 JP4585742 B2 JP 4585742B2 JP 2003029667 A JP2003029667 A JP 2003029667A JP 2003029667 A JP2003029667 A JP 2003029667A JP 4585742 B2 JP4585742 B2 JP 4585742B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- image
- region
- search
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、コンピュータや情報処理機器等において、静止画像や動画像等を検索し、検索された画像中の所望の領域を選択する画像検索技術に関する。
【0002】
【従来の技術】
近年、さまざまな情報がデジタル化され、デジタル化された情報がコンピュータや情報処理機器等によって管理されている。例えば、JPEGやMPEG−1、MPEG−2、MPEG−4の出現により、静止画像や動画像等の画像コンテンツが、デジタル化された情報として、効率よく圧縮符号化できるようになった。そして、それらの画像コンテンツは、ハードディスクの大容量化と低価格化に伴って、コンピュータや情報処理機器のハードディスク上に大量に蓄積され、管理されるようになってきている。そこで、このように大量の画像コンテンツがハードディスク等に蓄積された場合、大量の画像コンテンツの中から所望の画像を探し出すための検索をどのように実現するかが問題になってくる。
【0003】
一般に、大量に蓄積された画像コンテンツの中から所望の画像を検索するための手法として、個々の画像コンテンツに予めキーワードを付与しておき、画像に付与されたキーワードを検索することによって、対応する画像を検索結果としてモニタ等に表示し、オペレータが表示された画像の中から所望の画像を目視で捜し出すという手法が用いられている。
【0004】
このようなキーワードを用いた検索手法は、インターネットが普及した現在においては、大量の画像コンテンツを有するコンテンツプロバイダーが、消費者に画像を配信するために用意したインターネット上の画像検索システムにおいても、一般的に行われている。
【0005】
また、同様に、WWW(World Wide Web)の検索システムが提供するWWWの各ページに存在する画像の検索システムにおいても、HTMLファイル中のimgタグのsrc属性のファイル名や、alt属性の値の文字列等から求めたキーワードを、src属性のファイル名が示す画像と対応付けることによって、同様の手法で画像を検索する手段を提供している。
【0006】
図7は、従来の画像検索システムにおける検索操作画面の一例を示す図である。図7に示すように、画像検索ウィンドウ701は、大きく分けて、検索指示エリア702と検索結果表示エリア705から構成されている。検索指示エリア702の中には、キーワードを入力するためのキーワード入力エリア703と検索の指示を出すための検索ボタン704が表示されている。そして、オペレータは、キーワード入力エリア703に対してキーボードを用いてキーワードを入力し、マウスで検索ボタン704をクリックする。このような操作によって、キーワード入力エリア703に入力された文字列と同じキーワードと対応付けられた画像が検索され、検索結果表示エリア705中に検索した結果得られた画像のサムネイル(縮小画像)が、サムネイル画像706、707からサムネイル画像708の順に一覧表示される。
【0007】
上述したようなキーワードを用いた検索方法は、一般的に行われているものの、キーワードを毎回入力しなければならいというわずらわしさがある。この問題を解決するために、画像中のキーワードの対象となる領域を示す情報とキーワードとを対応付けて記憶しておき、この画像を画面に表示した状態でマウス等を用いて領域を選択する。そして、領域に対応付けられたキーワードを用いて、画像に対応付けられたキーワードを検索することにより、キーワード入力を行わないで画像を検索するという方法が開示されている(例えば、特許文献1参照)。
【0008】
【特許文献1】
特開平1−233670号公報
【0009】
【発明が解決しようとする課題】
しかしながら、上記特許文献1で開示されている方法では、画像中に設定できる領域として1階層しか想定しておらず、単純に設定された領域内のいずれかの位置をマウスでクリックして画像中のある領域を選択する手法しか示されていない。図8は、画像データベースに登録されている静止画像の一例を示す図である。例えば、図8に示される画像の中では、符号801で示す「木」や、「家」802や「車」803をそれぞれ領域として設定し、これらのいずれかの領域内の一部をマウスでクリックして選択する。これによって、選択された領域に対応付けられたキーワードを用いて所望の画像を検索することができる。
【0010】
しかしながら、キーワードが付与される領域は、物体或いはオブジェクトであることが多く、通常、オブジェクトは複数の領域や複数のオブジェクトから構成されることが多い。そのため、上記従来例では、一番大きな単位でのオブジェクトを選択し、選択されたオブジェクトに対応付けられたキーワード検索が可能であるが、そのオブジェクトを構成する単位のオブジェクトを選択することができず、また、検索を行うこともできないという欠点があった。
【0011】
例えば、図8に示すように、「家」802は、さらに、「屋根」と「壁」から構成され、「壁」の中にはさらに「窓」が含まれている。したがって、上記従来例では、「家」802を選択して「家」を検索することはできるが、「家」を構成する単位の「屋根」や「壁」や「窓」を選択することはできない。これにより、この画像を用いた「屋根」や「壁」や「窓」の検索を行うことができない。
【0012】
仮に、従来技術を用いて1階層で全ての領域を扱おうとすると、オペレータが階層中のどの階層の領域を意図して指定しているのかを判定できないという場合が生じるという問題があった。例えば、「家」802の場合、「屋根」や「壁」や「窓」も領域として登録されることになるが、「屋根」の領域をマウスでクリックした場合に、それが「家」の選択を意図したものなのか、「屋根」の選択を意図したものかは自動的に判定はできず、オペレータにしかわからない。従って、いずれが選択されたのかを装置側で勝手に判定してしまうと、オペレータの予期しない処理が行われてしまう可能性がある。
【0013】
これまでに、例えば、マイクロソフト社のWord2000に付属する描画機能には、領域若しくは描画のパーツを選択する機能が備えられている。しかし、その階層関係はグループ化という機能によって実現されており、グループ化された領域(描画パーツ)を選択しようとすると、目的の領域(描画パーツ)にたどり着くまで、グループ化を解除する操作を階層数分実行することによって目的の領域(描画パーツ)を選択する操作を行わなければならず、操作が非常に煩雑であるという欠点があった。
【0014】
一方、動画像の検索においても、動画像のシーンの変わり目で分割し、各シーンの代表画像の静止画像を上述したような方法と同様に検索することで、所望の動画像のシーンの検索が行われている。
【0015】
しかしながら、このような画像検索方法では、画像全体にキーワードが付与されているので、検索結果として出力される画像候補が非常に多くなってしまう。特に、検索したい画像の構図が検索者の頭の中にある場合は、この構図にマッチしない大量の画像候補の中に所望の画像が埋もれてしまい、検索の効率が悪いという問題がある。
【0016】
この問題を解決するために、特開平8−335223号公報では、次のような方法が開示されている。すなわち、画像内の領域を示す情報とキーワードとを対応付けて画像データベースに格納する。そこで、検索者は、検索の構図の条件を入力するための表示エリアの所望の位置に所望の大きさや形の条件を閉領域として入力する。そして、この閉領域と対応付けたキーワードを入力し、マッチングを行って、キーワードと入力された領域の位置や面積を比較することによって、検索条件に類似する画像を求めている。
【0017】
また、画像を色やエッジやテクスチャ等の情報を用いて、領域に分割してオブジェクトを抽出し、オブジェクトの色や形等の特徴量をインデックスとして、画像に対応付けてデータベースに格納する。そして、検索時に、上記インデックスに対応したオブジェクトの部分画像を選択することで、オブジェクトの特徴量を比較して類似度を求めている。そして、類似度の高いオブジェクトに対応した画像から順に、前述した方法と同様にして、検索結果表示エリア705の中に検索結果の画像のサムネイル(縮小画像)を、706、707から708へ示されるように一覧表示することも行われている。
【0018】
ところで、特開平8−335223号公報で開示されている方法では、閉領域の指定として矩形の入力方法も開示されているが、多角形の項点を入力する方法も示されている。ここで、矩形領域を指定した場合は、閉領域の指定方法としては容易ではあるが、オブジェクトの形状を類似度の算出に用いる場合に、類似度が下がってしまうので、検索の条件の精度が低いという欠点がある。一方、多角形の頂点を入力する場合は、オブジェクトの形状を正確に表せるのでオブジェクトの形状の類似度の信頼性が高くなり、検索の条件の精度が向上するが、閉領域の指定の仕方が複雑になるという欠点がある。
【0019】
本発明は、上記課題を解決するためになされたものであり、画像内の領域が階層的に構成されている場合に、より簡単な操作で所望の階層の領域を選択することができる技術を提供することを目的とする。また、画像内の選択された領域を用いてより簡易にかつ精度よく画像を検索することができる技術を提供することを目的とする。
【0020】
【課題を解決するための手段】
上記課題を解決するため、本発明に係る画像表示装置は、画像データを表示装置上に表示するよう制御する表示制御手段と、前記画像データ内の一部の領域であるオブジェクト領域を下位領域とし、前記画像データ内の一部の領域であるオブジェクト領域であって該下位領域を表示上包含する領域を上位領域として、前記画像データ内に含まれるオブジェクト領域に関する下位領域と上位領域との階層関係を階層データとして記憶する階層データ記憶手段と、前記画像データ内の特定のオブジェクト領域を強調表示するよう前記表示制御手段を制御する強調表示制御手段と、前記強調表示制御手段によって強調表示する第1のオブジェクト領域を決定する第1の領域決定手段と、前記表示制御手段によって表示された前記画像データ内に対する位置の指定をユーザから受け付ける受付手段と、前記受付手段によって受け付けた指定位置が前記強調表示制御手段によって強調表示されている前記第1のオブジェクト領域であるか否かを判定する判定手段と、前記判定手段により前記指定位置が前記第1のオブジェクト領域内であると判定された場合に、前記第1のオブジェクト領域に代えて前記強調表示制御手段によって強調表示するオブジェクト領域を、前記階層データを用いて、前記第1のオブジェクト領域の下位領域であって前記指定位置を含む第2のオブジェクト領域に決定する第2の領域決定手段と、前記判定手段により前記指定位置が前記第1のオブジェクト領域ではないと判定された場合に、前記第1のオブジェクト領域に代えて前記強調表示制御手段によって強調表示するオブジェクト領域を、前記階層データを用いて、第1のオブジェクト領域の上位領域であって前記指定位置を含む第3のオブジェクト領域に決定する第3の領域決定手段を有することを特徴とする。
【0021】
【発明の実施の形態】
以下、図面を参照して、本発明の好適な実施形態について詳細に説明する。
【0022】
<第1の実施形態>
まず、本発明の第1の実施形態に係る画像検索装置の概要について説明する。
図1は、本発明の第1の実施形態に係る画像検索装置の概念図である。図1において、画像記憶部101には、選択・検索処理の対象となる画像データが格納されている。尚、画像記憶部101において個々の画像データは、それぞれの画像データに対応するファイル名等とともに記憶されている。画像記憶部101は、領域情報記憶部102と画像表示部103に接続されている。
【0023】
領域情報記憶部102は、画像記憶部101に格納された個々の画像中の特定の領域を示す情報が格納されている。領域情報記憶部102は、さらに画像表示部103と領域選択部105と領域階層記憶部107に接続されている。
【0024】
画像表示部103は、画像記憶部101に記憶された画像等を表示する。画像表示部103は、さらに領域選択部105と選択領域記憶部106に接続されている。
【0025】
一方、画像位置指定部104は、領域選択部105に接続されており、画像表示部103によって表示された画像においてオペレータ等が所望する位置を指定する。そして、領域選択部105は、画像位置指定部104によって指定された位置から領域情報記憶部102に記憶されている領域を検索し、指定された位置を含む領域を選択する。領域選択部105は、さらに選択領域記憶部106と領域階層記憶部107に接続されている。
【0026】
尚、選択領域記憶部106は、領域選択部105によって選択された領域を記憶する。また、領域階層記憶部107は、領域情報記憶部102に記憶されている領域間の階層関係を記憶する。これによって、領域選択部105は、選択領域記憶部106に記憶されている領域の内部が画像位置指定部104によって指定された場合、領域階層記憶部107を用いてその領域の子供の領域のみを検索して、指定された位置を含む領域を選択することが可能となる。
【0027】
一方、領域選択部105は、選択領域記憶部106に記憶されている領域の外部が画像位置指定部104によって指定された場合、領域階層記憶部107を用いてその領域の親の領域を階層の下から検索し、最初に見つかった指定された位置を含む親の領域を選択する。
【0028】
また、領域選択部105は、画像位置指定部104によって選択領域記憶部106に記憶されている領域の外部が指定された場合であって、親の領域を見つけることができなかった場合は、領域階層記憶部107に記憶されている指定された領域のルートの直下の第一階層の領域のみを検索し、指定された位置を含むその領域を選択する。
【0029】
また、図1に示す画像検索装置から画像位置指定部104を除いた実施形態であってもよい。この場合、領域選択部105は、領域情報記憶部102に記憶されている領域の中から所望の領域を選択する。また、画像表示部103は、領域情報記憶部102と領域階層記憶部107を用いて、領域情報記憶部102に記憶されている領域の画像を階層的に表示する。そして、領域選択部105は、画像表示部103によって表示されている領域を選択する。尚、画像表示部103は、各領域の大きさが同じ若しくはほぼ同じ大きさになるようにそれらの領域を表示する。
【0030】
また、領域情報記憶部102に記憶されている領域と対応付けて領域を言語で表すキーワードを記憶するキーワード記憶部を備え、画像表示部103は、領域情報記憶部102に記憶されている領域と対応させて、キーワード記憶部に記憶されているキーワードを表示するようにすることもできる。
【0031】
さらに、次に示すような画像検索装置であってもよい。すなわち、画像記憶部101は、複数の画像が記憶可能であり、領域情報記憶部102によって記憶されている領域の特徴を該領域と対応付けて記憶する領域特徴記憶部108をさらに備えている。そして、選択領域記憶部106によって記憶されている領域に対応した領域特徴記憶部108によって記憶されている特徴と、領域特徴記憶部108によって記憶されている他の特徴を比較し、比較された特徴が一致若しくは類似している領域を含む画像記憶部101に記憶された画像を検索する画像検索部109とを備える。
【0032】
以下、本実施形態の画像検索装置について詳細に説明する。
【0033】
図2は、第1の実施形態による画像検索装置を実現するための各種機器の接続構成を示すブロック図である。図2において、CPU201は、ROM202或いはRAM203に格納された制御プログラムを実行することにより、以下で説明する処理を含む本装置における各種制御を実現する。図4は、図2におけるROM202内に記憶されているデータ構成の一例を説明するための図である。ROM202には、図4に示されるように、制御手順プログラム401が格納されている。一方、図6は、処理プログラム実行時におけるRAM203上のデータ構成の一例を説明するための図である。RAM203には、図6に示されるように、画像登録プログラム603、画像検索プログラム604、画像データベース605、領域データベース606、検索条件リスト607、領域比較バッファ608及び検索結果リスト609等が格納されている。
【0034】
図2において、CD−ROMドライブ204は、CD−ROM205に記憶されている制御プログラムや各種データを読み取り、本画像検索装置に提供する。図3は、CD−ROM205から制御プログラム等がコンピュータシステムに供給されることを示す概念図である。また、図5は、可搬記録媒体であるCD−ROM205に記憶された画像登録プログラム501及び画像検索プログラム502等のデータ構成を示す図である。
【0035】
CD−ROMドライブ204を介してCD−ROM205から画像登録プログラム501及び画像検索プログラム502がRAM203にロードされることによって、CPU201による実行が可能となる。すなわち、図6に示されたRAM203上のデータ構成は、CD−ROM205に格納されている画像登録プログラム501及び画像検索プログラム502がRAM203にロードされ実行可能となった状態のメモリマップを示している。
【0036】
尚、実行可能となった状態では、画像登録プログラム501(メモリマップ上では画像登録プログラム603)及び画像検索プログラム502(メモリマップ上では画像検索プログラム604)以外に、メモリマップ上には、画像データベース605及び領域データベース606等が、ハードディスクドライブ206よりロードされ初期化される。
【0037】
図2においてハードディスクドライブ206は、本画像検索装置内において大容量の記憶領域を提供している。従って、上述したCD−ROM205に格納されている制御プログラムは、ハードディスクドライブ206にインストールされて、必要に応じてRAM203へロードされるという形態を用いてもよい。また、キーボード207、ディスプレイ208、マウス209、ネットワークカード210がシステムバス211を介して上述した各構成を相互に通信可能に接続している。また、本画像検索装置は、ネットワークカード210経由でネットワーク212に接続され、ネットワーク212に接続されている他のコンピュータ機器213等と通信することが可能である。
【0038】
次に、上述した構成の画像検索装置の動作手順について説明する。図14は、第1の実施形態に係る画像検索装置の全体の動作手順を説明するためのフローチャートである。
【0039】
まず、CD−ROM205に格納された画像登録プログラム501及び画像検索プログラム502等をCD−ROMドライブ204からRAM203にロードし、さらに、ハードディスクドライブ206から画像データベース605及び領域データベース606等をRAM203にロードし、必要な初期化を行う。(ステップS101)。
【0040】
次に、オペレータからのキーボード207又はマウス209による指示によって処理を分岐させる(ステップS102)。その結果、「画像登録」の指示が行われた場合は、ステップS103へ分岐し、「画像検索」の指示が行われた場合はステップS104へ分岐し、他の指示が行われた場合はステップS105へ分岐する。
【0041】
ステップS103では、画像登録プログラム603が起動され、画像データベース605に画像の登録が行われる。さらに、登録された画像中の領域の情報が領域データベース606に登録される。尚、ステップS103の詳細な処理手順については図15を用いて後述する。
【0042】
また、ステップS104では、画像の検索を行う画像検索プログラム604が起動され、オペレータの操作によって領域データベース606を参照して、画像データベース605に登録されている画像の検索が行われる。尚、ステップS105の詳細な処理手順については図17を用いて後述する。
【0043】
さらに、ステップS105は、画像登録及び画像検索以外の処理を行うステップであり、本発明に係る実施形態とは直接には関係がない部分である。
【0044】
ここで、ステップS103で実行される画像登録プログラム501(メモリマップ上では画像登録プログラム603)による処理について説明する。図15は、第1の実施形態に係る画像登録プログラムの詳細な処理手順を説明するためのフローチャートである。
【0045】
図15に示すように、まず、画像データベース605に対してオペレータが指定した画像を登録する(ステップS201)。図9は、画像データベース605におけるデータ構成の一例を示す図である。図9に示すように、画像データベース605には、各画像に関する情報(以降、「画像情報」と称す。)として、画像を識別するための「画像ID」、画像データを格納しているファイルを示す「ファイル名」、画像の横方向の画素数を指し示す「横サイズ」、画像の縦方向の画素数を示す「縦サイズ」が、それぞれ対応して格納されている。また、各画像情報は、画像IDによって昇順にソートされているものとする。
【0046】
例えば、図9に示される画像データベース605には、横サイズが1200、縦サイズが900、ファイル名がImg100.jpgという画像が、画像IDの値が100として格納されている。
【0047】
そこで、ステップS201では、オペレータが、登録する画像のファイル名を指定し、指定されたファイル名から得られる画像データから横サイズと縦サイズを求めて、未使用の画像IDの値を画像IDとして生成する。そして、これらの画像情報を画像IDによって昇順に並ぶように画像データベース605に追加される。尚、このような処理手順は、同種の画像データベースを扱う情報検索装置等において一般に行われている処理であり、公知であるので、これ以上の詳細な説明は省略する。
【0048】
図15において、ステップS202からステップS211までの処理は、ステップS201で登録した画像中の領域に関する情報を領域データベース606へ登録する処理である。図10は、領域データベース606におけるデータ構成の一例を示す図である。図10に示すように、領域データベース606には、各領域に関する情報(以降、「領域情報」と称す。)として、領域を識別するための「領域ID」、領域が属する画像を示すための「画像ID」、画像中の領域の場所を表すための「領域座標」、対象となる領域が属する親の領域を示す「親領域」、領域の内容を言葉で表現した「キーワード」及び領域の色の特徴を表す「色特徴量」が、それぞれ対応して格納されている。また、各領域情報は、領域IDによって昇順にソートされているものとする。
【0049】
ここで、本実施形態では「領域ID」として、同一画像の中での領域を識別するための3桁の値を下3桁とし、上位の桁には、領域が属する画像の画像IDの値を組み合わせた値を用いた。これによって、同じ画像に対する領域情報は、図10に示されるように、領域データベース606中で、一つにまとめられることになる。
【0050】
また、「領域座標」は、対象となる領域を多角形とみなし、多角形の頂点の座標のリストで対象となる領域を表現するものである。各座標は、対象となる画像の左上を原点とし、右方向にx座標軸、下方向にy座標軸を取った座標系で表現する。例えば、図8における「車」に対応する部分画像803の領域座標は、図10に示される領域IDが100001の領域情報の中で、((780,720),(780,720),..)のように示されている。ここで、図8に示される部分画像803の頂点804に対応する座標は(780,720)であり、頂点805に対応する座標は(780,720)に対応している。
【0051】
また、例えば、ある画像において犬の前に人が立っているために、犬の領域が2つの領域に分断される場合のように、本来、一つであるべき領域が、他の領域によって分断される場合に対応するために、本実施形態では、座標領域には、複数の領域を格納することが可能である。例えば、図10に示されるように、領域IDが101001に対応した領域座標には、((300,420),..),((240,360),..)と示されているが、これは、この領域が、((300,420),..)の領域と((240,360),..)の領域の2つの領域から構成されていることを示している。
【0052】
一方、図10に示される「親領域」は、領域間の親子関係又は包含関係を示すためのものである。例えば、図8に示される画像の中で、「家」に対応する部分画像802の領域は、「屋根」及び「壁」に対応する部分画像806と「窓」に対応する部分画像807の2つの領域から構成されている。また、「窓」に対応する部分画像807の領域は、「壁」に対応する部分画像806の領域に含まれている。これらの関係を言い換えると、「窓」に対応する部分画像807の領域の親は「壁」に対応する部分画像806の領域に含まれ、「屋根」及び「壁」に対応する部分画像806の領域の親は、「家」に対応する部分画像802の領域である。図10に示される領域データベース606では、これらの関係が「親領域」において示されている。
【0053】
例えば、領域ID「100006」によって示される「窓」に対応する部分画像807の親領域には、「壁」に対応する部分画像806に対応した領域ID「100005」が格納されており、さらに、領域ID「100005」によって示される「壁」に対応する部分画像806の親領域には、「家」に対応する部分画像802に対応した領域ID「100002」が格納されている。尚、「家」に対応する部分画像802の親領域は存在しないので、それに対応する領域ID「100002」に対する親領域には、領域IDとしての無効値「−1」が格納されている。
【0054】
また、「キーワード」には、対象となる領域の内容を表現するキーワード等の文字列が格納される。これらの文字列は1単語で構成される必要はなく、自然な文章で表現することも可能である。「キーワード」には、複数の内容を格納することが可能であり、その場合は、内容を表現する文字列を「,」によって区切ることにより、内容を切り分けることができる。
【0055】
さらに、「色特徴量」には、「領域座標」によって示される領域の色の特徴量として、色のヒストグラムが格納される。色のヒストグラムは、RGB色空間を各色3ビットで均等に量子化した結果得られる量子箱に、「領域座標」によって示される領域に含まれる各画素の色を集計し、さらに、ヒストグラムの度数の合計が1000になるように正規化して求めることができる。そして、「色特徴量」には、この結果得られたヒストグラムの各量子箱の値を、所定の順番で「,」で区切って並べて格納されている。
【0056】
以上説明した領域データベース606に、ステップS201で登録した画像中の領域を登録する手順をステップS202からステップS211に沿って、以下に説明する。
【0057】
まず、領域データベース606に登録する領域が設定される(ステップS202)。この領域設定処理は、ステップS201で登録した画像をディスプレイ208中のウィンドウに表示し、ウィンドウ中の画像上で、オペレータがマウス209を用いて、登録する領域の頂点にマウスカーソルを合わせて、一つ一つ順番にクリックすることによって多角形の頂点を指定し、最後に、最初に指定した頂点をクリックすることにより、一つの領域の多角形を指定することができる。また、複数の領域を指定する場合は、同様の操作を行うことによって、別の領域の多角形を指定することができる。ここで設定した座標のリストは、図10における領域情報の「領域座標」に格納される内容になる。そして、オペレータが登録する領域を設定し終えると、オペレータの設定終了の指示により、ステップS203へ進む。
【0058】
ステップS203は、ステップS202で設定された領域に対して、領域情報の「キーワード」に格納する内容を設定する処理である。このキーワード設定処理は、キーボード207から、「キーワード」に格納する文字列を入力していく。設定する内容が複数ある場合は、キーボード207から、「,」を入力することにより、複数の内容を切り分けて入力することが可能である。設定が終わると、オペレータの設定終了の指示により、ステップS204へ進む。
【0059】
ステップS204は、ステップS202で設定された領域に対して、領域情報の「色特徴量」に格納する内容を設定する処理である。「色特徴量」に格納する内容の求め方は、図10を用いた領域データベース606の説明ですでに述べた通りであり、オペレータが介在しなくても自動的に求めることができる。そして、この特徴量設定処理を終えるとステップS205へ進む。
【0060】
ステップS205では、ステップS202で設定した領域に対する親領域が存在するかどうかによって次の処理を分岐する。すなわち、親領域が存在しないとオペレータが判断した場合(No)、ステップS206へ進む。一方、親領域が存在するとオペレータが判断した場合(Yes)、ステップS207へ進む。通常、領域を登録し始めた段階では、親となる領域が登録されていない場合が多いので、そのような場合は、ステップS206へ進み、すでに親の領域が登録されている場合には、ステップS207へ進む。このような領域の登録方法を用いるためには、子の領域よりも先に親の領域を登録しておく必要がある。
【0061】
ステップS206は、親の領域が存在しない場合の処理であり、図10に示すように領域情報の「親領域」の値として、「−1」を設定する。そして、処理を終えると、ステップS210へ進む。
【0062】
一方、ステップS207は、ステップS208において親の領域を選択するために、領域を選択するための領域選択ウィンドウをディスプレイ208に表示し、この領域選択ウィンドウ中にステップS201で登録された画像を表示する。
そして、処理を終えると、ステップS208へ進む。
【0063】
ステップS208は、領域データベース606にすでに登録されている親となる領域を選択する領域選択処理である。そして、選択された親領域の領域情報から、親領域の領域IDを求めることができる。尚、領域選択処理の詳細については、図16を用いて後述する。そして、処理を終えるとステップS209へ進む。
【0064】
ステップS209において、ステップS208で求めた親の領域の領域IDを領域情報の「親領域」の値として設定する。そして、処理を終えるとステップS210へ進む。
【0065】
ステップS210は、ステップS202からステップS209において設定した領域情報に基づいて、設定された領域を領域データベース606へ登録する処理である。上述したステップS202からステップS209までの処理によって、「領域座標」、「キーワード」、「色特徴量」及び「親領域」が設定される。そこで、領域情報の「画像ID」には、ステップS201で画像を画像データベース605に登録する際に得られた画像IDの値を用いる。また、「領域ID」には、この画像IDを用いて、領域データベース606に登録されている領域情報の領域IDに使用されていない値を生成して設定する。そして、得られた領域情報を、図10に示すように、領域IDの値が領域データベース606の中で昇順に並ぶように登録する。ステップS210における処理を終えると、ステップS211へ進む。
【0066】
ステップS211では、続けて領域を登録するかどうかによって次の処理を分岐する。すなわち、領域を続けて登録する場合(No)、ステップS202へ戻って上述した各処理を行い、領域の登録を終える場合(Yes)、画像登録プログラムを終了する。
【0067】
続いて、図16と図23を用いて、図15におけるステップS208及び後述する図18におけるステップS504で行われる「領域選択処理」の詳細について説明する。ここで、領域データベースの状態は、図10に示されるような状態であるとする。図16は、画像検索プログラム及び検索条件指定処理における領域選択処理の手順を説明するためのフローチャートである。また、図23は、領域選択処理を説明するための画面表示例を示す図である。
【0068】
領域選択処理では、図23(a)に示されるような領域選択ウィンドウ2300に対して、マウス209を用いて領域を選択する。図23(a)に示される領域選択ウィンドウ2300には、領域選択の対象となる画像2301が表示されている。ここで、図15に示されるフローチャートのステップS208における領域選択ウィンドウ2300は、ステップS207で表示したウィンドウであり、ステップS504における領域選択ウィンドウ2300は、ステップS503において強調されたウィンドウである。
【0069】
まず、図6に示される選択した領域の領域データベース606中の領域IDを格納することによって、選択した領域を示す「選択領域」に、初期値として「−1」を格納する(ステップS301)。すなわち、「選択領域」に「−1」が格納されている場合は、画像全体が選択されているものとみなす。
【0070】
次に、領域選択ウィンドウ2300の表示を更新する(ステップS302)。すなわち、「選択領域」によって示される領域が目視で確認できるようにするために、例えば、図8における「家」の領域802が選択されている場合には、図23(b)の符号2303に示されるように、選択された領域の輪郭を太線で表示する。また、別の方法として、図23(f)の符号2311に示されるように、選択された領域は通常通り表示し、選択された領域以外の領域の表示について、表示する画像の画素を1ドットおきに黒で置換して間引いて表示する等、選択された領域と選択されていない領域とで表示形態を変えて表示したりすることも可能である。
【0071】
選択された領域の輪郭や、選択された領域と選択されていない領域との境界は、ステップS208における領域選択の場合は領域データベース606の「領域座標」を、また、ステップ504における領域選択の場合は検索結果リスト609の「領域座標」中の領域の座標を直線で結ぶことによって、容易に求めることが可能である。また、「選択領域」に「−1」が格納されている場合には、画像全体が選択されていることになるので、図23(a)の符号2301に示されるように、画像の外枠が太線で表示される。
【0072】
次に、ステップS303において、マウス209によって選択領域ウィンドウ中のマウスカーソルが示す1点がクリックされたかどうかによって以降の処理を分岐する。すなわち、クリックされた場合(Yes)、ステップS304へ進み、クリックされていない場合(No)、ステップS316へ進む。
【0073】
また、ステップS304において、クリックされたマウスカーソルが示す位置が領域選択ウィンドウ中の図23(a)の符号2301に示されるような画像の内側であるかどうかによって以降の処理をさらに分岐する。すなわち、マウスカーソルが示す位置が画像の内側の場合(Yes)、ステップS305へ進む。一方、図23(f)の符号2312に示されるように、マウスカーソルの位置が画像の外側の場合(No)、ステップS301へ戻って画像全体を選択した状態に移行する。例えば、図23(b)の状態で、画像の外側が選択された場合は、ステップS301及びステップS302の処理を経て、図23(a)の状態になる。
【0074】
さらに、ステップS305において、「選択領域」の値によって以降の処理を分岐する。すなわち、「選択領域」の値が−1の場合(Yes)、画像全体が選択されているものとしてステップS306へ進む。一方、「選択領域」の値が−1でない場合(No)、特定の領域が選択されているものとしてステップS309へ進む。
【0075】
ステップS306では、領域選択の対象となる画像2301の中で、ステップS303においてクリックされた位置を含む、親領域を持たない領域が検索される。検索の範囲となる画像の画像IDは、領域選択処理がステップS208の場合は、ステップS201において登録された画像の画像IDであり、領域選択処理がステップS504の場合は、ステップS503で強調された画像に対する画像IDである。ステップS503で強調された画像に対する画像IDは、後述する検索結果リスト609から求めることができる。そして、領域データベース606の中から、この画像IDを持ち、クリックされた位置(座標)を含む「領域座標」に格納された多角形領域を持ち、かつ、「親領域」の値が−1である領域IDを検索する。
【0076】
ここで、領域IDに対応した「領域座標」が、クリックされた位置(座標)を含むかどうかは、領域選択処理がステップS208の場合、若しくは、ステップS503において切替ボタン2110により画像全体が表示されている場合は、領域データベース606を検索し、「領域座標」を用いることにより確認できる。また、ステップS503において、ステップS406で作成されたサムネイル画像を表示している場合は、検索結果リスト609を検索し、「領域座標」を用いることにより確認でき、対応する領域IDを求めることができる。
【0077】
ステップS307では、ステップS306において検索した領域が見つかったかどうかによって以降の処理を分岐する。すなわち、領域が見つかった場合(Yes)、ステップS308へ進む。一方、領域が見つからなかった場合(No)、ステップS302へ戻る。
【0078】
そして、ステップS308において、「選択領域」にステップS306で見つかった領域に対する領域IDの値を格納し、処理を終えるとステップS302へ進む。
【0079】
例えば、ステップS302における処理の後、図23(a)の状態で符号2302で示される位置をクリックすると、ステップS303、ステップS304及びステップS305の処理を経て、ステップS306へ進む。そして、ステップS306において、図10に示される領域データベース606を検索した結果、領域ID「100004」の屋根ではなく、領域ID「100002」の家が選択される。次いで、ステップS307、ステップS308及びステップS302を経て図23(b)の状態になり、符号2303に示されるように、家の輪郭が太線で表示されるようになる。
【0080】
一方、ステップS309では、クリックされたマウスカーソルが示す位置(座標)が、「選択領域」に格納されている領域IDに対応した領域に含まれているかどうかによって以降の処理を分岐する。ここで、クリックされたマウスカーソルが示す位置(座標)が、「選択領域」に格納されている領域IDに対応した領域に含まれているかどうかは、領域選択処理がステップS208の場合、若しくは、ステップS503において切替ボタン2110により画像全体が表示されている場合は、この領域IDに対応した領域データベース606の「領域座標」に格納された多角形の座標と比較することにより、容易に判定することができる。また、ステップS503において、ステップS406で作成されたサムネイル画像を表示している場合は、検索結果リスト609の「領域座標」に格納された対象の領域IDに対応した多角形の座標と比較することにより、容易に判定することができる。その結果、選択領域に含まれている場合(Yes)、ステップS310へ進み、含まれていない場合(No)、ステップS313へ進む。
【0081】
ステップS310では、領域データベース606中で、ステップS303においてクリックされた位置を含み、かつ、「選択領域」に格納されている領域IDに対応する領域の子の領域を検索する。検索の範囲となる領域情報は、領域データベース606中で、「親領域」に「選択領域」に等しい領域IDを持つ領域情報である。そして、領域データベース606の中のこれらの領域情報の中から、クリックされた位置(座標)を含む「領域座標」に格納された多角形領域を持つ領域情報を検索する。
【0082】
また、クリックされた位置(座標)を含むかどうかを判定する前に、ステップS503においてステップS406で作成されたサムネイル画像を表示している場合は、「選択領域」に格納されている領域IDに対応した検索結果リスト609の「領域座標」中の多角形の座標と、この領域IDの領域データベース606の「領域座標」の関係から、ステップS303においてクリックされた座標を、画像データベース605に格納された画像上の座標に変換する。そして、クリックされた位置(座標)を含むかどうかは、クリックされた座標と、領域データベース606の「領域座標」に格納された多角形の座標と比較することにより、容易に判定することができる。
【0083】
ステップS311では、ステップS310において検索した領域情報が見つかったかどうかによって次の処理を分岐する。すなわち、領域情報が見つかった場合(Yes)、ステップS312へ進み、領域情報が見つからなかった場合(No)、ステップS302へ進む。
【0084】
そして、ステップS312において、「選択領域」にステップS310で見つかった「選択領域」の子の領域に対する領域情報の「領域ID」の値を格納し、処理を終えるとステップS302へ戻る。
【0085】
例えば、ステップS302の後、図23(b)の状態で符号2304で示される位置をクリックすると、ステップS303、ステップS304、ステップS305及びステップS309を経て、ステップS310へ進む。そして、ステップS310において、図10に示される領域データベース606を検索した結果、領域ID「100006」の窓ではなく、領域ID「100005」の壁が選択される。さらに、ステップS311、ステップS312及びステップS302を経て、図23(c)の状態になり、符号2305に示されるように、壁の輪郭が太線で表示される。
【0086】
また、ステップS313では、「選択領域」に格納されている領域IDに対応する領域の親の領域を辿っていき、ステップS303においてクリックされた位置を含む親領域を検索する。そして、検索を行う前に、ステップS503においてステップS406で作成されたサムネイル画像を表示している場合は、「選択領域」に格納されている領域IDに対応した検索結果リスト609の「領域座標」中の多角形の座標と、この領域IDの領域データベース606の「領域座標」の関係から、ステップS303においてクリックされた座標を、画像データベース605に格納された画像上の座標に変換する。
【0087】
その後、領域データベース606中で、「選択領域」に格納された値に等しい領域IDを持つ領域情報の「親領域」を対象の親領域とし、その値を「領域ID」とする領域情報の「領域座標」に格納された多角形領域が、クリックされた座標を含むかどうかを判定する。その結果、対象の親領域に含まれず、対象の親領域がさらに親領域を持っている場合、すなわち、対象の親領域の領域情報の「親領域」が「−1」でない場合は、対象の親領域の領域情報の「親領域」を対象の親領域とし、親領域がなくなるまで、クリックされた座標を含む親領域を検索する。
【0088】
ステップS314では、ステップS313において検索した結果によって以降の処理を分岐する。すなわち、クリックされた位置を含む親領域が見つかった場合(Yes)、ステップS315へ進み、親領域が見つからなかった場合(No)、ステップS306へ進む。
【0089】
例えば、ステップS302の後、図23(d)の状態で符号2309で示される位置をクリックすると、ステップS303、ステップS304、ステップS305及びステップS309を経て、ステップS313へ進む。そして、ステップS313において、親領域が見つからないと判定され、ステップS314を経てステップS306へ進む。さらに、ステップS306において、図10に示される領域データベース606を検索した結果、領域ID「100003」の木が選択される。その後、ステップS311、ステップS312及びステップS302を経て、図23(e)の状態になり、符号2310に示されるように、木の輪郭が太線で表示される。
【0090】
ステップS315では、「選択領域」に、ステップS313で見つかった親領域の領域情報の「領域ID」の値を格納する。そして、処理を終えるとステップS302へ進む。
【0091】
例えば、ステップS302の後、図23(d)の状態で符号2308で示される位置をクリックすると、ステップS303、ステップS304、ステップS305及びステップS309を経て、ステップS313へ進む。そして、ステップS313において、親領域として領域ID「100002」の家が検索される。さらに、ステップS314、ステップS315及びステップS302を経て、図23(b)の状態になり、符号2303に示されるように、家の輪郭が太線で表示される。
【0092】
一方、ステップS316においては、「選択領域」に対応した領域にマウスカーソルが置かれ、マウス209を用いて、「選択領域」に対応した領域が領域選択ウィンドウの外側にドラッグされたかどうかによって以降の処理が分岐する。すなわち、ドラッグされた場合(Yes)、領域選択処理を終了し、そうでなければ(No)、ステップS317へ進む。
【0093】
ステップS317では、オペレータの指示により、領域選択処理を終了するかどうかによって以降の処理を分岐する。すなわち、領域選択処理を続行する場合(No)、ステップS303へ戻り、領域選択処理の終了が指示された場合(Yes)、領域選択処理を終了する。
【0094】
すなわち、本発明に係る画像検索装置は、画像データを画面上に表示し、表示された画像データ内の任意の部分を指定し、画像データ内の所定のオブジェクト領域を下位領域とし、その下位領域を含む所定領域を上位領域として、画像データ内に含まれるオブジェクト領域に関する下位領域と上位領域との階層関係を示す階層データを用いて、指定された部分を含む第1のオブジェクト領域を決定し、決定された第1のオブジェクト領域を強調表示する。そして、強調表示された第1のオブジェクト領域内の任意の部分を指定し、階層データを用いて、第1のオブジェクト領域の下位領域であって、指定された部分を含む第2のオブジェクト領域を決定し、第1のオブジェクト領域に代えて第2のオブジェクト領域を強調表示することを特徴とする。
【0095】
また、本発明に係る画像検索装置は、強調表示された第2のオブジェクト領域外の任意の部分を指定し、階層データを用いて、第2のオブジェクト領域の上位領域であって、指定された部分を含む第3のオブジェクト領域を決定し、第2のオブジェクト領域に代えて第3のオブジェクト領域を強調表示することを特徴とする。
【0096】
さらに、本発明に係る画像検索装置は、画像データを記憶する画像記憶部101と、画像データに含まれるオブジェクト領域に関する情報を記憶する領域情報記憶部102と、オブジェクト領域とその下位領域又は上位領域との階層関係を階層データとして記憶する領域階層記憶部107と、画像データを表示する画像表示部103とを備える。そして、表示された画像データ内の任意の位置を指定し、領域情報記憶部107に記憶されたオブジェクト領域に関する情報の中から、指定された位置を含む第1のオブジェクト領域を決定し、決定された第1のオブジェクト領域を強調表示する。さらに、第1のオブジェクト領域の内部の任意の位置を指定し、階層データに基づいて、領域情報記憶部102から第1のオブジェクト領域の下位領域であって指定された位置を含む第2のオブジェクト領域を決定し、決定された第2のオブジェクト領域を強調表示することを特徴とする。
【0097】
さらにまた、本発明に係る画像検索装置は、第2のオブジェクト領域の外部の任意の位置を指定し、階層データに基づいて、第2のオブジェクト領域の上位領域であって指定された位置を含む第3のオブジェクト領域を決定し、決定された第3のオブジェクト領域を強調表示することを特徴とする。
【0098】
さらにまた、本発明に係る画像検索装置は、第1のオブジェクト領域の上位領域であって指定された位置を含む領域がない場合、そのオブジェクト領域についての最上位領域を第3のオブジェクト領域として決定することを特徴とする。
【0099】
さらにまた、本発明に係る画像検索装置は、強調表示が、決定されたオブジェクト領域の輪郭を強調することである。或いは、強調表示が、画像データにおいて決定されたオブジェクト領域以外の部分について所定パターンを用いて塗りつぶすことである。
【0100】
次に、図14のステップS104における画像検索プログラム(図5における画像検索プログラム502、図6における画像検索プログラム604)による処理について説明する。
【0101】
図21は、図14のステップS104の画像検索において表示されるディスプレイ208の画面表示例を示す図である。図21において、符号2102で示されるエリアは、検索の様々な指示を行う検索指示エリアであり、符号2103で示されるエリアは、検索結果を表示する検索結果表示エリアである。
【0102】
検索指示エリア2102中には、所望の画像の特徴を設定する画像条件エリア2104、所望の画像のキーワードを設定するキーワードエリア2106、画像条件エリア2104に手書で画像の特徴を入力するための指示を行う手書ボタン2105、検索条件エリア2104とキーワードエリア2106に入力された条件を満たす画像の検索を指示する検索ボタン2107、検索結果表示エリア2103に表示される検索結果の表示形態を切り替える切替ボタン2110が表示されている。
【0103】
一方、検索結果表示エリア2103中には、符号2008及び符号2009に示されるように、検索された結果の画像のサムネイルの一覧が表示される。尚、サムネイル2008、2009は、それぞれ、検索された結果の画像のサムネイルである。
【0104】
図17は、図14のステップS104における画像検索プログラムの動作を詳細に説明するためのフローチャートである。まず、所望の画像を検索するための条件の設定を行う検索条件設定処理が行われる(ステップS401)。本処理により、図6に示される検索条件リスト607が作成される。尚、本検索条件設定処理及び検索条件リスト607の詳細については、図18及び図11を用いて後述する。
【0105】
次に、画像データベース605の中から、ステップS401で設定された検索条件と比較するための対象となる画像を一つ一つ取り出す(ステップS402)。具体的には、画像データベース605の先頭から「画像ID」を、一つ一つ順番に取り出していく。対象となる画像を取り出せた場合はステップS403においてステップS404へ進み、全ての画像を取り出し終えた場合は、ステップS403を経てステップS408へ進む。
【0106】
ステップS404は、ステップS402で取り出した画像に対して、ステップS401で設定した検索条件との類似度を算出する類似度算出処理である。本処理により、ステップS402で取り出した画像IDを基に、領域データベース606を参照し、検索条件リスト607と照らし合わせて演算を行うことにより、領域比較バッファ608が作成され、ステップS402で取り出した画像の類似度が求まる。尚、本類似度算出に係る処理の詳細は図19を用いて後述する。
【0107】
また、ステップS405においては、ステップS404で求めた類似度が所定のしきい値よりも高いかどうかによって以降の処理を分岐する。すなわち、類似度が所定のしきい値よりも高い場合(Yes)、ステップS402で取り出した画像は、ステップS401で設定した検索条件を満たしたものとして、ステップS406へ進む。一方、類似度が所定のしきい値よりも低い場合(No)、ステップS402で取り出した画像は、ステップS401で設定した検索条件を満たさないものとして、ステップS402へ進む。
【0108】
ステップS406では、検索結果表示エリア2103に表示する検索結果の画像のサムネイル画像を作成するサムネイル作成処理が行われる。本処理では、画像データベース605、領域データベース606及び領域比較バッファ608を用いてサムネイル画像を作成し、さらに、検索条件リスト607中の各条件に対応したサムネイル画像中の各領域を表すための「領域座標」が求められる。本処理の詳細については図20を用いて後述する。
【0109】
また、ステップS407は、ステップS401で設定した条件を満たした画像に関する情報を、検索結果リスト609へ追加する処理である。ここで、図13は、検索結果リストのデータ構成例を示す図である。図13に示すように、本実施形態においては、ステップS401で設定された条件を満たす画像に関する情報(以降、「検索結果情報」と称す。)は、「画像ID」、「領域ID」、「条件番号」、「サムネイル画像」、「領域座標」及び「類似度」から構成される。
【0110】
まず、「画像ID」は、ステップS402で取り出した画像の画像IDである。次に、「領域ID」は、検索条件リスト607の各条件を満たす画像中の領域に対する領域データベース606中の領域IDであり、ステップS404において作成した領域比較バッファ608に格納されている領域IDから求めることができる。尚、複数の領域IDが存在する場合は、基本的に、領域比較バッファ608に格納された順番で、「,」で区切って格納される。また、領域比較バッファ608に複数の同一の領域が存在する場合には、一つのみが格納され、その領域に対応する条件番号は個別条件類似度が最も高い条件番号が選ばれる。
【0111】
また、「条件番号」には、「領域ID」が満たしている条件の番号が格納され、領域比較バッファ608から求めることができる。さらに、「サムネイル画像」には、ステップS406で作成したサムネイル画像のファイル名が格納される。さらにまた、「領域座標」には、ステップS406で作成したサムネイル画像中で「領域ID」に格納された領域を示す多角形の頂点の座標が格納される。
【0112】
「領域座標」中の一つの領域に対する表現は、領域データベース606の領域座標と同じように表現される。一方、検索結果リスト609の「領域座標」には、複数の領域IDに対応した領域が格納されるので、各領域IDに対応した領域に関する情報は、「,」で区切って格納され、「領域ID」に格納された領域IDと同じ順番で格納される。そして、「類似度」には、ステップS404で求めた類似度が格納される。ステップS407では、これらの検索結果情報が、検索結果リスト609の末尾に追加される。上述した処理を終えるとステップS402へ進む。
【0113】
ステップS408は、検索結果をディスプレイ208へ表示する処理である。
図21における検索結果表示エリア2103には、検索結果リスト609の先頭から順番に、「サムネイル画像」で示される画像を左上から右と順番に表示される。また、検索指示エリア2102中のキーワードエリア2106に表示されているキーワードの色の変更を行う。後述するように、ステップS406のサムネイル作成処理において、ステップS401で作成した検索条件リスト607の各条件を満たす各領域の輪郭は、条件番号毎に決められた異なる色の太線で縁取られているようにする。ここで、図21の符号2109で示されるサムネイル画像中では、色ではなく「点で輪郭強調」、「輪郭強調なし」、「太線で輪郭強調」によって表現しているが、このような表現であってもよい。
【0114】
また、キーワードエリア2106に表示されているキーワードの文字の色も、これと同様に、条件番号毎に決められた色で表示する。或いは、キーワード文字列の周りを条件番号毎に決められた異なる色の太線で縁取ってもよい。また、検索指示エリア2102中の画像条件エリア2104に表示されている各領域の縁取りの太線の色の変更又は追加を行う。この場合もキーワードの場合と同じように、条件番号毎に決められた色で、画像条件エリア2104に表示されている各領域を太線で縁取る。
【0115】
後述するように、すでに、画像条件エリア2104に表示されている領域には、すでに特定の色で縁取られている場合がある。その場合には、縁取りの太線の色は変更になり、そうでなければ、縁取りの太線が追加されることになる。このようにすることによって、個々の画像の特徴としての条件と、キーワードとしての条件と、検索結果中の領域が満たした条件との対応関係が容易に把握できるようになるので、ユーザは検索結果の確認を簡単に行うことができるようになる。
そして、処理を終えると、ステップS409へ進む。
【0116】
ステップS409は、検索結果の確認を行うために表示を切り替える処理である。図21の切替ボタン2110をマウス209でクリックすることによって、検索結果表示エリア2103に表示されているサムネイルを、検索結果リスト609の「サムネイル画像」が示す画像から、画像データベース605の「ファイル名」が示す画像の縮小画像の表示に切り替えられる。さらに、切替ボタン2110をクリックすることによって、再び、検索結果表示エリア2103に表示されているサムネイルを、検索結果リスト609の「サムネイル画像」が示す画像の表示に戻す。
【0117】
そして、続いて領域比較バッファ608内の条件番号1に対する領域の太線をブリンク(blink)させ、また、検索指示エリア2102の中で、検索条件リスト607の条件番号1に対する画像条件エリア2104中の領域の太線、及び、キーワードエリア2106中のキーワードの文字列をブリンクさせる。ここで「条件番号」とは、個々の条件情報を識別するための番号であり、検索条件リスト607の先頭の条件情報の条件番号を1とする連番になっているものである。この検索条件リスト607については後述する。
【0118】
さらに、切替ボタン2110のクリックを繰り返すと、同様の処理を検索条件リスト607の条件番号2、条件番号3へと順次繰り返していき、ブリンクさせる条件に対応した領域及びキーワードを切り替えていく。そして、検索条件リスト607の全ての検索条件に対しての処理を終えると、最初に切替ボタン2110をクリックする前の状態、すなわち、ステップS408の処理を終えた直後の状態に戻る。尚、ブリンクさせる対象の太線は、検索結果リスト609及び検索条件リスト607の「領域座標」を用いて、容易に求めることができる。
【0119】
また、切替ボタン2110をクリックしない場合は、キーワードエリア2106に表示されているキーワード、若しくは、画像条件エリア2104に表示されている領域をマウス209でクリックする。これによって、クリックされたマウスカーソルが示す座標から、対象となるキーワード文字列、若しくは、領域を検索条件リスト607を検索して求め、それに対応する条件番号を求めることによって、条件番号に対応した画像条件エリア2104中の領域の太線、及び、キーワードエリア2106中のキーワードの文字列をブリンクすることができる。さらに、検索結果表示エリア2103に表示されているサムネイル中の条件番号に対する領域比較バッファ608内の領域に対応した太線をブリンクする。
【0120】
ステップS410は、オペレータの指示によって処理の終了の実行を分岐する。すなわち、マウス209によって終了ボタン2112がクリックされた場合(Yes)、画像検索処理の終了が指示されたものとみなして画像検索処理を終了する。一方、クリアボタン2111がクリックされた場合(No)、再度画像検索を行うものとみなして画像条件エリア2104の表示とキーワードエリア2106の表示をクリアし、検索条件リスト607を初期化して、ステップS401へ進む。
【0121】
次に、ステップS401における検索条件指定処理について、図11と図18を用いて説明する。この検索条件指定処理によって、検索条件リスト607に画像を検索するための検索条件が格納される。
【0122】
図11は、第1の実施形態における検索条件リスト607のデータ構成例を示す図である。図11において、各行は、所望の画像を検索するための一つ一つの条件を示しており、個々の条件に関する各行の情報を以降では「条件情報」と称す。本実施形態における条件情報は、図11に示されるように、「条件番号」、「領域座標」、「キーワード」、「色特徴量」及び「親領域」から構成される。
【0123】
まず、「条件番号」は、個々の条件情報を識別するための番号であり、検索条件リスト607の先頭の条件情報の条件番号を1とする連番である。また、「領域座標」は、画像条件エリア2104において、検索の条件となる部分画像、すなわち、領域を入力した場合に、その領域を多角形の頂点で表現したものであり、頂点の座標のリストを格納する。その表現方法は、領域データベース606の領域座標と同じである。図11における条件番号1に対する条件情報におけるように、検索の条件となる画像が指定されない場合は、「領域座標」には何も格納されない。
【0124】
一方、「キーワード」には、キーワードエリア2106において、検索の条件となる内容を表現するキーワード等の言葉が入力された場合に,これらの言葉の文字列が格納される。これらの文字列は、1単語で構成される必要はなく、自然な文章で表現することも可能である。「キーワード」には、複数の内容を格納することが可能であり、その場合は、内容を表現する文字列を「,」によって区切ることにより、内容を切り分けることができる。図11における条件番号3に対する条件情報のように、検索の条件となるキーワードが指定されない場合は、「キーワード」には何も格納されない。
【0125】
また、「色特徴量」には、画像条件エリア2104において、検索の条件となる部分画像、すなわち、領域を入力した場合に、その領域の色特徴量が格納される。その表現方法は、領域データベース606の色特徴量と同じである。図11における条件番号1に対する条件情報のように、検索の条件となる画像が指定されない場合は、「色特徴量」には何も格納されない。
【0126】
さらに、「親領域」には、後述するように、検索結果表示エリア2103に表示されているサムネイル中の領域情報が、画像条件エリア2104にコピーされた場合の有効な値が格納される。後述するように、コピーされる領域が領域データベース606の中で、子の領域を持つ場合は、子孫の領域も辿って、それらの領域の情報もコピーされる。このような場合は、親の領域を持つ検索情報の「親領域」には、親の検索情報の「条件番号」が格納される。親の領域を持たない条件情報の「親領域」には、無効値である「−1」が格納される。
【0127】
図18は、図17の画像検索プログラムの処理におけるステップS401の検索条件指定処理の手順を詳細に説明するためのフローチャートである。まず、オペレータの操作によって以降の処理を分岐する(ステップS501)。すなわち、図21における手書ボタン2105がマウス209によってクリックされるとステップS502へ進む。また、検索結果表示エリア2103に表示されているサムネイル画像がマウス209によってクリックされるとステップS503へ進む。さらに、画像エリア2104がマウス209によってクリックされるとステップS506へ進む。さらにまた、キーワードエリア2106がマウス209によってクリックされるとステップS508へ進む。そして、検索ボタン2107がマウス209によってクリックされると検索条件指定処理が終了する。
【0128】
ステップS502は、手書ボタン2105がマウス209によってクリックされた場合の処理であり、マウス209を用いた手書入力によって画像条件エリア2104に検索の条件となる図形等の部分画像が入力される。そして、入力された部分画像、すなわち、領域に対して「領域座標」を取り出し、また、この領域の「色特徴量」を取り出す。マウスを用いた図形の入力に関する技術は、例えば、マイクロソフト社のWord2000の中の描画アプリケーション等で一般的に行われている処理であり、公知であるので詳細な説明は省略する。
【0129】
ここで、入力された領域の「領域座標」は、入力された領域に外接する多角形を求めることによって、多角形の頂点を求めることができる。また、領域の「特徴量」の求め方は、前述した方法と同様の方法を用いる。このようにして求められた「領域座標」と「色特徴量」は、検索条件リスト607に格納されている有効な条件情報の直後に追加される。これによって、「条件番号」も自動的に算出されて格納される。この結果、「キーワード」がクリアされ、「親領域」には「−1」が格納される。そして、処理を終えると、ステップS501へ進む。例えば、ステップS502を終えた状態では、図11の条件番号3に対する条件情報のようになる。
【0130】
また、ステップS503は、検索結果表示エリア2103に表示されているサムネイルがマウス209によってクリックされた場合の処理である。サムネイルがクリックされると、クリックされたサムネイルを表示する領域が太線で縁取られて強調される。また、検索結果表示エリア2103に表示されているサムネイル画像の中の領域が太線で縁取られている場合は、その縁取りは取り除かれる。
【0131】
例えば、図21におけるサムネイル2109をクリックすると、図22に示される検索結果表示エリア2103の符号2201で示されるようになる。図22は、画像検索プログラムにおいて領域選択処理を行うために、検索結果表示エリアの画像を選択した状態を説明するための画面表示例を示す図である。そして、処理を終えると、ステップS504へ進む。
【0132】
ステップS504は、ステップS504で強調されたサムネイル画像の中から、領域を選択する領域選択処理である。本処理の詳細については、図16を用いて上述した通りである。本処理の中で領域を選択し、マウス209を用いて選択した領域をドラッグし、画像条件エリア2104の所望の位置にドロップすることによってステップS505へ進む。
【0133】
ステップS505では、ステップS504で選択した領域並びにその領域の子孫の領域を、画像条件エリア2104の中のドロップされた位置に表示する。さらに、ステップS505は、ステップS504で選択した領域に関する情報及びその領域の全ての子孫の領域に関する情報に基づいて、検索条件リスト607の検索条件として追加する処理である。
【0134】
ここで、ステップS504で選択した領域の領域IDが、検索結果リスト609に存在しない場合は、領域データベース605の「親領域」を辿っていき、検索結果リスト609に存在する親領域の領域IDを求める。この領域ID、若しくは、ステップS504で選択した領域の領域IDの検索結果リスト609の「領域座標」に格納された対応する多角形の座標と、領域データベース606の中の「領域座標」の多角形の座標の関係から、検索結果リスト609中の多角形の領域と領域データベース606の多角形の領域の縮小率を求めることができる。
【0135】
この縮小率に基づいて、ステップS504で選択した領域並びにその領域の子孫の領域の多角形の座標を、それぞれ縮小した座標に変換する。また、ステップS504で選択した領域の画像条件エリア2104の中のドロップされた位置の多角形の座標と、前述したようにして求められた縮小された多角形の座標の関係から、領域の移動量を求めることができる。そこで、ステップS504で選択した領域並びにその領域の子孫の領域の多角形の縮小座標を、画像条件エリア2104の中の座標にシフトする。このようにして得られた縮小された領域座標を検索条件リスト607の「領域座標」に、ステップS504で選択した領域から順番に、順次、個別の条件として追加していく。
【0136】
検索条件リスト607の「キーワード」と「色特徴量」は、領域データベース606の各領域に対応した「キーワード」と「色特徴量」をそれぞれコピーする。検索条件リスト607の「親領域」には、ステップS504で選択した領域に対しては、「−1」を格納し、それ以外の領域に対しては、領域データベース606の「親領域」の値を参照し、検索条件リスト607の「条件番号」を用いて、同じ親子関係が維持されるように格納する。
【0137】
例えば、図23(c)の状態で、壁2305をドラッグして、画像条件エリア2104へドロップすると、図11の検索条件リスト607の条件番号4、5に示されるように、壁の領域だけでなく、窓の領域の情報も条件として登録される。また、ステップS504において、画像全体を選択すると、ステップS505において、選択された画像に含まれる全ての領域の情報が、検索条件リスト607へ追加される。
【0138】
検索条件リスト607へ検索情報を追加した後、画像条件エリア2104のドロップされた位置に、ステップS504で選択した領域を表示し、また、キーワードエリア2106に、今回追加された検索条件の「キーワード」に格納された文字列を表示する。その際、個々の検索条件ごとに改行を行って表示を行う。そして、処理を終えると、ステップS501へ進む。
【0139】
ステップS506は、マウス209によって、画像条件エリア2104がクリックされた場合の処理である。すなわち、マウス209を用いて、画像条件エリア2104に表示されている領域を選択する処理である。ここでは、検索条件リスト607の「条件番号」、「座標領域」及び「親領域」を参照して、ステップS208と同じようにして、領域の選択を行う。この場合、親子関係は、領域IDの代わりに条件番号を用いて把握する。選択された領域は、画像条件エリア2104の中では、ステップS208と同じように、太線で輪郭が縁取りされて表示される。また、検索条件リスト607の中で、選択された領域に対するキーワードが存在する場合は、キーワードエリア2106に表示されるキーワードが、他のキーワードとは異なる色で表示される。そして、処理を終えると、ステップS507へ進む。
【0140】
ステップS507は、必要に応じて、ステップS506で選択した領域のサイズや位置や色を変更する処理である。ここで、マウスを用いた図形(領域)のサイズや位置や色の変更は、マイクロソフト社のWord 2000の中の描画アプリケーションで一般的に行われている処理であり、公知であるので詳細な説明は省略する。これらの変更にしたがって、検索条件リスト607中の「領域座標」と「色特徴量」の値が変更される。また、選択された領域が子の領域を持つ場合は、その子孫を辿って、同様の変更が行われる。そして、処理を終えるとステップS501へ進む。
【0141】
ステップS508は、キーワードエリア2106がクリックされたときの処理であり、キーワードの入力又は編集を行う。画像条件エリア2104に何も入力されていない場合、或いは、画像条件エリア2104の中の領域が選択されていない場合、或いは、画像条件エリア2104全体が選択されている場合は、画像条件エリア2104中の領域とは無関係に、キーワードを入力することができる。そして、キーワードエリア2106に表示されている文字列が存在している場合は、これらの文字列を黒色で表示する。さらに、キーワードエリア2106に表示されている末尾の文字列の行を改行し、新たな末尾の行の先頭にカーソルを表示する。
【0142】
また、キーワードをキーボード207から入力すると、入力された文字列は赤色で表示される。マウス209でキーワードエリア2106以外の場所をクリックすると、キーワード入力が終了し、赤色で新たに入力されたキーワードが検索条件リスト607へ格納される。例えば、図11の条件番号1に示すように、この場合は、「領域座標」や「色特徴量」はクリアされ、「親領域」に「−1」を格納する。画像条件エリア2104の中の領域が選択されており、その領域に対する検索条件リスト607の「キーワード」に文字列が格納されている場合は、対応するキーワードエリア2106中の文字列の色を赤色で表示し、他の文字列を黒色で表示して両者の識別ができるようにし、これらの文字列の先頭にカーソルを表示し、これらの文字列の編集及び新たなキーワードの入力が行えるようになる。新たに入力される文字列は、例えば赤色で表示される。
【0143】
画像条件エリア2104の中の領域が選択されており、その領域に対する検索条件リスト607の「キーワード」に文字列が格納されていない場合は、キーワードエリア2106に表示されている文字列を黒色で表示する。また、キーワードエリア2106に表示されている末尾の文字列の行を改行し、新たな末尾の行の先頭にカーソルを表示する。これによって、新たなキーワードの入力が行えるようになる。尚、新たに入力される文字列は、例えば赤色で表示される。
【0144】
また、マウス209でキーワードエリア2106以外の場所をクリックすると、キーワードの入力/編集が終了し、赤色で入力/編集されたキーワードが、画像条件エリア2104の中の選択されている領域に対する検索条件リスト607中の条件情報の「キーワード」へ格納される。そして、処理を終えるとステップS501へ進む。尚、キーワードの内容が複数ある場合は、内容を表現する文字列を「,」によって区切って入力を行う。尚、上述した実施形態では、一例として赤と黒を用いているが、本発明の適用はこの色の組み合わせ以外であってもよい。また、色の異同に関わらず、通常の文字と下線付きの文字や影付文字等の区別を用いてもよい。
【0145】
次いで、ステップS404における類似度算出処理について、図12と図19を用いて説明する。
【0146】
図12は、ステップS402で取り出した画像中の領域に対して、ステップS401で指定した検索条件と比較した結果を格納する領域比較バッファ608のデータ構成例を示す図である。図12に示されるように、検索条件リスト607の各条件情報に対して類似度が最も高い領域の領域IDが「領域ID」に格納され、その類似度が「個別条件類似度」に格納され、条件情報の条件番号が「条件番号」に格納されている。
【0147】
一方、図19は、ステップS404における類似度算出処理を説明するためのフローチャートである。まず、検索条件リスト607とステップS402で取り出した画像の類似度を格納する「類似度」の値に「0」を格納し初期化する(ステップS601)。また、領域バッファ608の内容についてもクリアして初期化する。
【0148】
次に、検索条件リスト607中の条件情報とステップS402で取り出した画像中の領域の類似度を格納する「個別類似度」の値に「0」を格納して初期化し、検索条件リスト607の先頭から一つずつ条件情報を取り出す(ステップS602)。そして、条件情報が取り出せたかどうかによって以降の処理を分岐する(ステップS603)。その結果、条件情報を取り出すことができた場合(Yes)、ステップS604へ進む。一方、検索条件リスト607から全ての条件情報を取り出し終えた場合(No)、ステップS609へ進む。
【0149】
ステップS604では、領域データベース606の中からステップS402で取り出した画像に対する領域情報を一つずつ順番に取り出す。そして、ステップS605において、領域情報が取り出せた場合(No)、ステップS606へ進む。一方、ステップS402で取り出した画像に対する領域情報を全て取り出し終えた場合(Yes)、ステップS607へ進む。
【0150】
ステップS606は、ステップS602において取り出した条件情報と、ステップS604で取り出した領域情報の類似度Simを算出し、算出された類似度Simの値が「個別類似度」に格納されている値よりも大きかった場合は、算出された類似度Simの値で「個別類似度」の値を置き換える。尚、「個別類似度」を置き換える際に、ステップS604で取り出した領域情報の領域IDを「領域候補」として記憶しておく。
【0151】
ここで、類似度Simの算出方法として、ステップS602において取り出した条件情報に格納されているタイプにしたがって、以下の3つの場合に分けて算出する。
【0152】
(1)全ての情報が格納されている場合
Sim = ((w1×S1)+(w2×S2)+(w3×S3)+(w4×S4))/(w1+w2+w3+w4)
(2)「キーワード」の情報が格納されていない場合
Sim = ((w2×S2)+(w3×S3)+(w4×S4))/(w2+w3+w4)
(3)「領域座標」の情報が格納されていない場合
Sim = S1
ここで、S1、S2、S3、S4は、それぞれ、キーワード類似度、色特徴量類似度、サイズ類似度、位置類似度であり、w1、w2、w3、w4は、それぞれの類似度に対する重みである。
【0153】
キーワード類似度S1は、ステップS602において取り出した条件情報中の「キーワード」とステップS604で取り出した領域情報中の「キーワード」から算出する。それぞれ、「,」によって、複数の文字列が格納されているので、全ての組み合わせを比較する。その結果、完全に一致する文字列があれば、S1の値を「1.0」とする。また、自然な文章で文字列が構成されている場合があるので、完全に一致する文字列が見つからない場合は、文字列に形態素解析を行い、文字列を単語に分割し、名詞と形容詞と動詞の単語のみを取り出し、これらの単語の文字列を比較する。このようにして比較して一致する単語の個数を比較するために使用した単語の個数で割った値をS1の値とする。
【0154】
また、色特徴量類似度S2は、ステップS602において取り出した条件情報中の「色特徴量」とステップS604で取り出した領域情報中の「色特徴量」から算出する。ヒストグラムの合計の度数が1000で正規化されているので、色特徴量類似度S2を以下の式に示すように、各「色特徴量」の要素の差の絶対値の和から求めることができる。
【0155】
S2=1−(Σ|h1i−h2i|)/2000
ここで、h1iは、ステップS602において取り出した条件情報中の「色特徴量」のi番目の要素、h2iは、ステップS604で取り出した領域情報中の「色特徴量」のi番目の要素である。
【0156】
さらに、サイズ類似度S3は、ステップS602において取り出した条件情報中の「領域座標」とステップS604で取り出した領域情報中の「領域座標」から算出する。サイズの類似度を算出するために、領域の多角形の面積から算出する方法も公知技術として挙げられるが、ここでは簡単のため、領域の外接矩形を求め、外接矩形の面積から算出する方法で行う。
【0157】
外接矩形を求めるためには、それぞれの「領域座標」の中から、最小、最大のx座標、y座標を求めることによって、簡単に求めることができる。ステップS602において取り出した条件情報中の「領域座標」は、画像条件エリア2104の中での座標であり、画像データベース605に格納されている画像とはスケールが異なるので、画像条件エリア2104の縦と横の画素数をそれぞれ、120とすると、領域情報の面積を以下のようにしてスケールを合わせる。
【0158】
(領域情報の面積) ← (領域情報の面積)×((120×120)/((画像の縦サイズ)×(画像の横サイズ)))
画像の縦サイズと画像の横サイズは、画像データベース605から求めることができる。
【0159】
その後、サイズ類似度S3を以下のようにして算出することができる。
【0160】
(1)領域情報の面積のほうが条件情報の面積よりも大きい場合
S3=1−((条件情報の面積)/(領域情報の面積))
(2)領域情報の面積のほうが条件情報の面積よりも小さい場合
S3=1−((領域情報の面積)/(条件情報の面積))
さらにまた、位置類似度S4も、ステップS602において取り出した条件情報中の「領域座標」とステップS604で取り出した領域情報中の「領域座標」から算出する。位置類似度S4を算出するために、領域の多角形の重心から算出する方法も公知技術として挙げられるが、ここでも簡単のために、領域の外接矩形を求め、外接矩形の重心から算出する方法で行う。
【0161】
外接矩形は、前述のように簡単に求めることができる。サイズ類似度を求めたときと同様に、スケールを合わせるために、領域情報の重心の座標を以下のように補正する。
【0162】
(領域情報のx座標) ← (領域情報のx座標)×(120 /(画像の横サイズ))
(領域情報のy座標) ← (領域情報のy座標)×(120 /(画像の縦サイズ))
その後、位置類似度S4を以下のようにして算出することができる。
【0163】
S4= 1− ((条件情報と領域情報の重心の距離)/ (120×√2))
ステップS606の処理を終えるとステップS604へ進む。
【0164】
ステップS607は、ステップS604からステップS606までにおいて比較した結果を領域比較バッファ608へ登録する処理である。すなわち、「個別類似度」の値が0でなければ、ステップS602で取り出した条件情報の条件番号の値を「条件番号」に、「領域候補」の値を「領域ID」に、「個別類似度」の値を「個別条件類似度」にそれぞれ格納する。一方、「個別類似度」の値が0であれば、領域比較バッファ608への登録は行わない。そして、処理を終えるとステップS608へ進む。ステップS608では、「類似度」に「個別類似度」の値を加算し、ステップS602へ進む。
【0165】
一方、ステップS609では、「類似度」に格納された値を、検索条件リスト607に格納された条件情報の個数で正規化する処理である。ここでは、「類似度」に格納された値を条件上のほうの個数で割った値で、「類似度」の値を置き換える。処理を終えると類似度算出処理を終了する。
【0166】
次いで、ステップS406におけるサムネイル作成処理について、図20を用いて説明する。図20は、ステップS406におけるサムネイル作成処理の詳細を説明するためのフローチャートである。
【0167】
まず、ステップS402で取り出した画像上で、領域比較バッファ608に格納された領域の中から、検索条件リスト607の中で親領域を持たない領域を取り囲む矩形領域を作成する(ステップS701)。具体的には、領域比較バッファ608に格納された領域IDを一つずつ取り出し、対応する条件番号をもとに、検索条件リスト607の対応する「親領域」の値が「−1」である領域に対してのみ、領域データベース606中の対応するの領域座標から、最小のx座標、y座標、並びに、最大のx座標、y座標を求めることによって、領域に外接する矩形領域を求めることができる。ここで、矩形領域を合成してサムネイルを作成する関係上、外接する矩形領域よりも大きい矩形領域を作成する。そのためには、最小のx座標、y座標の値から所定の値を引き、最大のx座標、y座標に所定の値を加えることによって、目的の矩形領域を作成することができる。これらの計算により、座標の値が画像内の値に収まるようにすることは言うまでもない。
【0168】
例えば、図8に示される画像に対して、領域比較バッファ608の中に、領域ID100001、100002の領域が存在する場合は、図10に示される領域データベース606から、図24(a)に示されるように、車と家を取り囲む矩形領域を求めることができる。図24は、サムネイル作成処理の一実施形態の様子を説明するための図である。同様に、領域比較バッファ608の中に、領域ID100001、100003の領域が存在する場合は、図25(a)に示されるように、車と木を取り囲む矩形領域を求めることができる。また、図25は、サムネイル作成処理の別の実施形態の様子を説明するための図である。
【0169】
ステップS702においては、ステップS701で求めた矩形領域が重なっているものに対して、矩形領域を統合する。2つの矩形領域が重なっているかどうかは、2つの矩形領域の最小のx座標、y座標、並びに、最大のx座標、y座標を比較することによって、容易に判定できる。2つの矩形領域が重なっている場合は、2つの最小のx座標、y座標のうち小さいほうの値を、それぞれ新たな矩形領域の最小のx座標、y座標とし、同様に、2つの最大のx座標、y座標のうち大きいほうの値を、それぞれ新たな矩形領域の最大のx座標、y座標とすればよい。
【0170】
このようにして、2つの領域を比較を繰り返すことによって、領域の統合を進めていく。領域の統合ができなくなれば、ステップS703へ進む。例えば、図24(a)に示される2つの矩形領域が存在する場合は、統合された結果、図24(b)に示される矩形領域が作成される。
【0171】
ステップS703において、ステップS702までにおいて求められた各矩形領域のサムネイル画像上での配置位置を決定する。最も簡単な方法としては、ステップS702までにおいて求められた全ての矩形領域を包含する最小の矩形領域を求め、それをサムネイル画像とすることである。このような矩形領域を求めるためには、各矩形領域の中から、最小のx座標、y座標を求め、これを矩形領域の左上の座標とし、最大のx座標、y座標を求め、これを矩形領域の右下の座標とすればよい。
【0172】
本実施形態では、サムネイル画像の最大の横サイズと縦サイズは、それぞれ、120画素としているので、この矩形領域の縦横どちらかが長いほうのサイズが120画素となるように、矩形領域を縮小或いは拡大すればよい。これによって、サムネイル画像上では、全てを包含する矩形領域の左上の座標の値がx、yともに0になり、右下の座標のx、yのどちらか、或いは、両方が120になる。このような処理により、例えば、ステップS702で、図24(b)に示される矩形領域が得られた場合は、サムネイル画像での矩形領域の配置は図24(c)のようになり、図25(a)に示される矩形領域が得られた場合は、サムネイル画像での矩形領域の配置は図27のようになる。処理を終えると、ステップS704へ進む。図27は、サムネイル作成処理によるサムネイル画像の作成結果を説明するための図である。
【0173】
ステップS704では、サムネイル画像上での領域比較バッファ608に格納された領域を表す座標を、領域データベース606に格納された領域座標を変換することによって求める。ステップS703で得られた全ての矩形領域を包含する最小の矩形領域が、横長である場合、この矩形領域の左上のx座標の値をx0、y座標の値をy0とし、横サイズをx1とし、領域データベース606に格納された領域座標のx座標をx、y座標をyとすると、変換後のサムネイル上での領域座標のx座標x'、y座標y'は、以下の式によって求めることができる。
【0174】
x'= (120/x1)x − x0
y'= (120/x1)y − y0
縦長である場合も、同様にして変換することができる。ここで求めた領域座標の値は、検索結果リスト609の「領域座標」に格納される。処理を終えるとステップS705へ進む。
【0175】
ステップS705では、サムネイル画像を合成する処理である。上述した矩形領域の配置方法では、全ての矩形領域を包含する最小の矩形領域そのものがサムネイル画像になる。さらに、ステップS704で求めたサムネイル画像上での各領域の「領域座標」をもとにして、領域比較バッファ608に格納された領域に対して、検索番号によって決められた色の太線で、サムネイル画像上で各領域の輪郭を縁取る。
【0176】
例えば、図24(c)では、車に対しては実線で縁取り、家に対しては点線で縁取っているが、これは、色が異なっていることを意味している。もちろん、条件番号毎に色を変えるのではなく、実線や点線や二重線のように、線の種類を変えて縁取ることも可能であり、条件番号毎に対応した領域の区別が付けられるように領域の表示の形態を変えれば、同じ効果が得られる。処理を終えるとサムネイル作成処理を終了する。
【0177】
以上述べたサムネイル作成方法では、例えば図27に示すように、領域比較バッファ608に格納された領域が両端に存在する場合は、検索結果として表示されるサムネイル画像においても、検索の条件を満たした領域が小さく表示されるという場合がある。このような場合を改善するための別のサムネイル作成方法を以下に述べる。
【0178】
基本的には、図20に示されるフローチャートと同じ手順をとるが、ステップS703においてステップS701で作成した矩形領域の配置を決定する際、矩形領域によって使用されていないx座標、y座標の値に対応した領域を取り除いて、矩形領域を配置する。矩形領域によって使用されていないx座標、y座標の値を求めるためには、全ての矩形領域をx軸、y軸に射影し、矩形領域のx軸、y軸上での包含関係を考慮することによって、容易に求めることができる。
【0179】
例えば、ステップS701において、図24(a)に示す矩形領域が作成された場合では、図24(b)のドット表示を用いて表示されている領域が、矩形領域によって使用されていないx座標、y座標の値に対応した領域である。このような領域を取り除いて矩形領域を配置すると、図24(c)に示されるように配置される。ステップS704の領域座標変換処理では、サムネイル画像上における各矩形領域の左上の座標がわかるので、前述の説明と同じようにして、簡単に領域座標を変換することができる。
【0180】
ステップS705のサムネイル画像合成処理は、ステップS703で決定した各矩形領域の配置を元に、サムネイル画像上に矩形領域を配置し、また、矩形領域以外で、ステップS703において取り除かれなかった領域も同様にしてサムネイル画像上に配置して合成を行う。例えば、図24(a)の画像は、サムネイル画像として、図24(c)のようになる。
【0181】
以上述べたサムネイル作成方法では、領域比較バッファ608に格納された領域のサイズが差異が大きいと、小さい領域に対しては、大きく表示されないので、目視で確認しにくいという場合がある。このような場合を改善するための別のサムネイル作成方法を以下に述べる。
【0182】
基本的には、図20に示されるフローチャートと同じ手順をとるが、ステップS701で領域比較バッファ608に格納された領域を取り囲む矩形領域を作成した後、矩形領域が複数存在する場合は、ステップS702における矩形領域の統合は行わずに、代わりに、各矩形領域の面積が同じになるように、矩形領域の拡大又は縮小を行う。
【0183】
例えば、一番大きい矩形領域の面積を求めて、他の矩形領域の面積が同じになるように拡大する。この際、各矩形領域に含まれる多角形の領域の頂点の座標に対して、領域データベース606に格納されている「領域座標」の値を、各矩形領域の左上を原点とする座標に変換しておく。これは、前述のステップS704において述べた方法と同様の方法をとることによって実現できる。もちろん、矩形領域の面積が同じ大きさになるようにするのではなく、対象となる各領域自体の面積が同じになるようにしてもよいことは言うまでもない。
【0184】
その後、ステップS703と同様に、サムネイル画像における矩形領域の配置を決定する。ステップS701で作成した矩形領域の左上の頂点の座標のx座標、y座標の値が小さい矩形領域から順番に面積を同じにした矩形領域を取り出し、合成する画像の左上から順番に、最終的に出来上がる合成画像の面積ができるだけ小さくなるように配置していく。
【0185】
例えば、一番最初の矩形領域を配置した後、2番目以降の矩形領域は、すでに配置済みの矩形領域によって合成された多角形の左上の点を原点とし、原点以外でx座標の値が0の頂点からy座標の値が0の頂点までを探索し、これから配置しようとする矩形領域の左上、右上、左下を探索している頂点に合わせていき、配置しようとする矩形の頂点の座標の値が0以上の値をとり、かつ、すでに配置済みの矩形領域によって合成された多角形と重複せず、配置後に合成される多角形に外接する矩形の面積が最小になる配置位置を求める。
【0186】
例えば、図25(a)に示される木と車の矩形領域は、図26に示されるように面積をそろえて配置される。図26は、複数の矩形領域の面積を揃えた場合のサムネイル画像作成処理の様子を説明するための図である。このようにして配置された矩形領域を外接する矩形がサムネイル画像の元となり、外接する矩形の長い辺の長さが120画素になるように、画像を縮小又は拡大することによって、サムネイル画像が出来上がる。
【0187】
続いて、ステップ704において、領域比較バッファ608に格納された領域を表す座標を、ステップS701で求めた矩形の中での領域の領域座標を元に求める。このように各領域を取り囲む矩形領域のサムネイル画像上における左上の頂点の座標を簡単に求めることができるので、前述のステップS704で述べた方法と同じようにして、簡単に求めることができる。その後、前述のステップS705で述べた方法と同じようにして、サムネイル画像を合成していく。
【0188】
以上述べたサムネイル作成方法では、領域比較バッファ608に格納された領域のみが表示され、画像全体が表示されないため、画像全体のイメージがつかめない場合がある。例えば、図24(c)のようなサムネイルが作成されると、図24(a)からわかるように木が表示されなくなる。また、図26に示されるサムネイルが作成されると、家が表示されなくなる。このような問題を改善するための別のサムネイル作成方法を以下に述べる。
【0189】
従来、作成されるサムネイル画像が一つだけであったのに対し、ここでは複数のサムネイル画像を作成する。一つのサムネイル画像は、画像データベース605中の画像を縮小した画像であり、縦サイズ、横サイズのとどちらか長い辺のサイズが120画素になるように縮小する。ステップS704と同様に、領域比較バッファ608に格納された領域に対して、検索番号によって決められた色の太線で、サムネイル画像上で各領域の輪郭を縁取る。他のサムネイル画像として、領域比較バッファ608に格納された領域の中から、検索条件リスト607の中で親領域を持たない領域に対して、一つずつサムネイル画像を作成する。これらのサムネイル画像の作成方法は、基本的には、図20に示されるフローチャートと同じ手順をとるが、ステップS702の矩形領域の統合を行なう必要はない。
【0190】
ステップS703の矩形領域配置決定処理において、作成されるサムネイル画像の縦横のアスペクト比は、画像データベース605中の画像と同じになるようにする。このサムネイル画像の矩形の縦、横どちらかの両辺が、ステップS701で作成した矩形領域の対応する両辺と重なるように配置する。ただし、この位置関係によるサムネイル画像の矩形でデータベース605中の画像を切り出したときに、データベース605中の画像の外側を切り出す場合は、内側に収まるようにサムネイル画像の矩形の位置と、ステップS701で作成した矩形領域の位置をずらして補正する。
【0191】
ステップS704では、前述と同様にして、矩形領域の座標を変換することができる。ステップS705では、データベース605中の画像上において、ステップS701で作成した矩形領域とステップS703で決定したサムネイル画像の矩形との位置関係を用いて、データベース605中の画像からサムネイル画像を切り出し、縦横どちらか長い辺のサイズが120になるように縮小する。そして、前述述べたように、検索番号によって決められた色の太線で、サムネイル画像上で領域の輪郭を縁取る。
【0192】
例えば、図8に示される画像に対して、領域比較バッファ608の中に、領域ID100001、100003の領域が存在する場合は、画像データベース605中の画像を縮小したサムネイル画像は図28(a)のようになる。図28は、一画像に対して複数のサムネイルを作成するサムネイル作成処理の実施形態を説明するための図である。また、領域ID「100001」に対するサムネイル画像は、図28(b)のようになり、領域ID「100003」に対するサムネイル画像は、図28(c)のようになる。
【0193】
このようにして、一つの画像に対して複数のサムネイル画像を作成する場合は、検索結果リスト609の「サムネイル画像」に、複数のサムネイル画像が作成されるように拡張する。例えば、ファイル名を「”」ではさみ、「”」ではさまれたファイル名を、「,」で区切ることによって、複数のサムネイル画像を格納することができる。「サムネイル画像」の中でのファイル名の順番は、画像データベース605中の画像を縮小したサムネイル画像を先頭にし、続いて、領域比較バッファ608中の先頭の領域IDに対応するサムネイル画像から順番に格納していく。
【0194】
ここで、ステップS408において、サムネイル画像を検索結果表示エリア2103に表示する際に、スライドショーのように複数のサムネイル画像を自動的に順次表示を切り替えるようにしてもよい。また、ステップS409において、マウス209による切替ボタン2110のクリックが繰り返された場合、検索指示エリア2103の表示は前述のステップS409の説明で述べた表示方法と同じである。ここで、検索結果表示エリア2103に表示するサムネイルは、自動的に表示を切り替えることを中止し、最初は画像データベース605中の画像を縮小したサムネイル画像を表示し、切替ボタン2110のクリックされる毎に、対象となっている条件番号に対応した領域比較バッファ608中の領域IDが示す領域を含むサムネイルを表示し、同様に領域の太線をブリンクする。全ての条件番号に対するサムネイル画像の表示の切り替えが終了した場合は、また、サムネイル画像を自動的に順次表示切り替えする状態に復帰する。
【0195】
尚、このようにして、一つの画像に対して複数のサムネイル画像を作成する場合は、検索結果表示エリア2103に、これらのサムネイル画像を同時に隣り合わせて表示するようにしてもよい。この場合は、同じ画像に対するサムネイルであることがわかるように、隣り合わせたサムネイル画像の周りを太線で囲むようにする必要がある。
【0196】
尚、本実施形態では、外部記憶装置としてCD−ROMから画像登録プログラムと画像検索プログラムを直接RAM203にロードして実行させる例を示したが、この他に、CD−ROMから画像登録プログラムと画像検索プログラムをいったんハードディスクドライブ206に格納(インストール)しておき、画像登録プログラムと画像検索プログラムを動作させる時点で、ハードディスクドライブ206からRAM203にロードするようにしてもよい。
【0197】
また、画像登録プログラムと画像検索プログラムを記録する媒体は、CD−ROM以外にFD(フレキシブルディスク)、ICメモリカード等であってもよい。
【0198】
更に、画像登録プログラムと画像検索プログラムを、ROM202に記録しておき、これをメモリマップの一部となるように構成し、直接CPU201で実行することも可能である。
【0199】
更に、画像登録プログラムと画像検索プログラムを、ネットワーク上のサーバに記憶しておき、必要に応じて、ネットワークカード210を介してネットワーク上のサーバからRAM203にダウンロードするようにしてもよい。
【0200】
また、本実施形態では、画像データベース605に格納された静止画像を検索する実施形態を示したが、画像データベース605以外に、動画像データベースを用意し、各動画像データに対して、複数のキーフレームの静止画像を対応付け、この静止画像を画像データベース605に格納することにより、前述で述べた方法により画像データベース605に格納されたキーフレームを検索することで、対応する動画像を検索するようにしてもよい。この場合、動画像データベースには、キーフレームと共に、キーフレームに対応した動画像の先頭からの時間軸上の位置を格納しておき、キーフレームを検索した後に対応する時間軸上の位置から動画像を再生するようにしてもよい。
【0201】
また、本実施形態では、領域の画像特徴として、色と領域のサイズと位置を用いて、検索の条件との類似度を算出していたが、領域データベース606に格納されている領域座標自体が領域の形状を表しているので、領域の形状を検索の条件との類似度の算出に用いてもよい。
【0202】
また、本実施形態では、領域データベース606の領域座標に、領域の輪郭を多角形で表現し、多角形の頂点の座標を格納していたが、領域に外接する矩形で領域を示し、領域に外接する矩形の左上の座標と右下の座標のみを格納するようにしてもよい。このようにすることにより、領域データベース606の領域座標の記憶容量を削減することが可能になる。
【0203】
また、本実施形態では、領域データベース606中の領域情報の中に、領域の内容を表現するために「キーワード」を格納していたが、キーワードに代えて領域の内容に対応した概念コードを格納するようにしてもよい。ここで、概念コードとは、例えば、概念の体系をツリー構造で表したシソーラス辞書における各ノードに割り振られたユニークな番号である。
【0204】
すなわち、ステップS203のキーワード設定の処理において、シソーラス辞書のノード(概念)の一覧を表示し、所望の概念を選択することによって、領域データベース606に格納する。或いは、ステップS203のキーワード設定の処理において入力されたキーワードをキーとしてシソーラス辞書を検索し、キーワードに対応した概念コードを求めて領域データベース606に格納してもよい。そして、検索条件リスト607の条件情報のキーワードの代わりに、概念コードを格納するようにする。ステップS508において入力又は編集されたキーワードも、前述と同様にして概念コードに置き換え、検索条件リスト607に格納することができる。そして、ステップS606において類似度Simを算出する場合は、キーワード類似度の代わりに、概念コード類似度を使用する。概念コードが一致すれば、概念コード類似度の値を「1.0」とする。
【0205】
すなわち、本発明に係る画像検索装置では、領域特徴として、領域の画像から得られる概念を表現した概念情報、概念を言語によって表現した言語情報、領域の画像の特徴を表現した画像特徴、又は、概念情報と言語情報と画像特徴の組み合わせを特徴としてもよい。
【0206】
また、本実施形態では、基本的に、常に、ステップS402で取り出した画像に対するサムネイルとして、その画像を単純に縮小した画像ではなく、その画像の部分画像、或いは、領域を合成した画像をサムネイル画像として作成していた。そこで、その画像の面積に対して、領域比較バッファ608に格納された領域の面積が所定の割合以上であれば、その画像を単純に縮小した画像をサムネイル画像としてもよい。
【0207】
また、本実施形態では、ステップS705において、対象となる画像に対して、領域に外接する矩形の部分画像を用いてサムネイル画像を合成することにより、領域の外側の部分画像もサムネイル画像に含まれていた。そこで、領域内の画像のみを用い、領域の外側の部分画像を用いずサムネイル画像を合成するようにしてもよい。
【0208】
また、本実施形態では、ステップS406において、サムネイル画像を作成していたが、複雑な領域の合成を行わない場合は、対象となる画像に対して、検索結果表示エリア2103に表示する矩形領域の座標のみを記憶しておき、ステップS408において検索結果表示エリア2103にサムネイル画像を表示する時に、その座標に基づいて対象となる画像の部分画像のみを表示するようにしてもよい。
【0209】
また、本実施形態では、ステップS406において、サムネイル画像を作成していたが、ステップS211を終えて、画像登録プログラムを終了する前に、登録された全ての領域の組み合わせに対して、サムネイル画像をあらかじめ作成しておき、ステップS406の代わりに、領域比較バッファ608に格納されている領域に対するサムネイル画像を検索して求めるようにしてもよい。
【0210】
また、上記実施形態では、領域比較バッファ608には、検索条件リスト607の各条件情報に対して類似度が最も高い領域を、それぞれ、一つだけしか登録できない例を示したが、一つの条件情報に対して、特定のしきい値以上の領域を複数登録できるようにしてもよい。このようにするためには、ステップS404における類似度算出処理において用いた、「個別類似度」と「領域候補」を配列として複数持てるようにし、ステップS606において算出した類似度Simの値が、特定のしきい値よりも大きければ、「個別類似度」と「領域候補」の配列に、Simの値と領域IDを格納するようにする。そして、ステップS607において、「個別類似度」と「領域候補」の配列に、格納されている情報を領域比較バッファ608に登録すればよい。
【0211】
<第2の実施形態>
上述したように、本実施形態では、画像記憶部101を画像データベース605及びファイルシステムを用いて実現し、領域情報記憶部102と領域階層記憶部107とを領域データベース606を用いて実現し、複数の画像データの中から所望の画像データを検索する画像検索装置の例について示したが、単一の画像データを扱うことも可能である。
【0212】
すなわち、基本的には上述した画像検索装置と同じであるが、画像記憶部101をファイルシステム中の画像ファイルとして実現し、領域データベース606に格納されている領域情報のうち、一つの画像に対する領域情報のみを、例えば、XML(eXtensible Markup Language)で記述したファイルとして、領域情報記憶部102と領域階層記憶部107とを実現する。この場合、画像IDの代わりにURI(Universal Resource Identifier)を用いて、対象となる画像を特定するようにしてもよい。或いは、このXMLで記述した領域情報記憶部102と領域階層記憶部107とを、画像ファイルの中に格納するようにしてもよい。
【0213】
このような実施形態では、例えば、画像の編集を行うプログラム等において画像ファイルを読み込む場合に、領域情報記憶部102と領域階層記憶部107を実現したXMLのデータを、領域データベース606の形式に変換して読み込むことにより、図16に示すフローチャートによる領域選択処理を行うことができる。このような画像編集プログラム等においては、ステップS316のドラッグの代わりに、キーボードからコピーボタンが押された場合、いわゆるクリップボードに選択された領域に対する画像データを記憶し、クリップボード経由で画像内の他の場所に貼り付けを行ったり、別のアプリケーションで選択された領域の画像データを再利用したりすることが可能である。
【0214】
また、図16と図18には図示していないが、ステップS316の後、領域がダブルクリックされたかどうかを判定し、ダブルクリックされた場合は、ステップS504を終了し、ステップS505と同様に、選択された領域及びその子孫に対応した領域の領域情報を領域データベース606及び検索結果リスト609から求めて、検索条件リスト607に必要な情報を格納し、ステップS401の検索条件設定処理を終了し、画像の検索を行うようにしてもよい。
【0215】
ステップS505と異なる部分は、ステップS505が検索条件リスト607に検索条件を追加することであるのに対して、この場合は、検索条件リスト607の内容をクリアしてから検索条件を格納することである。これにより、選択された領域及びその子孫の領域のみが検索の条件として設定されることになる。
【0216】
また、図16及び図23を用いて説明した領域選択処理の別の実施形態として、図29に示されるように、領域データベース606若しくは検索結果リスト609に基づいて、領域データベース606に格納されている画像の領域の親子関係(階層関係)をツリー構造を示す形で表示し、表示された領域をマウスを用いて選択するようにしてもよい。
【0217】
図29は、図10に示される図8の静止画像に関する領域データベース606の例に基づいて図8の静止画像に含まれる領域を階層的に表示した図である。図29において、符号2901はツリーのルートである図8に示される静止画像を示している。また、2902及び2906は、それぞれツリーの各ノードの子供の階層の表示/非表示の切り替えを指示するためのスイッチである。そして、マウス209でスイッチ2902、2906をクリックする毎に、子供の階層の表示/非表示が切り替えられる。
【0218】
図29において、スイッチ2902の「−」は表示状態にあることを示しており、スイッチ2906の「+」は、非表示状態にあることを示している。スイッチ2902が表示状態であるので、画像全体の直下にある領域2903の「木」、2904の「家」、2905の「車」が表示されている。また、表示されているそれぞれの領域の横には、領域データベース606の「キーワード」に格納されている文字列が表示される。
【0219】
また、表示される各領域は、ほぼ同じ大きさになるように表示される。例えば、表示する領域の縦と横の最大の長さを決めておき、領域の縦又は横のどちらかの長さがこの最大長と等しくなるように表示する。これにより、小さい領域であっても、その領域が何であるのかが用意に把握することができ、細部まで確認できるようになる。そして、マウス209で表示されている領域をクリックすることによって領域を選択することができる。選択された領域は、符号2907に示されるように太線で輪郭を縁取って、他の領域と区別できるようにする。
【0220】
すなわち、本発明は、画像記憶部101が複数の画像データを記憶する画像検索装置である。そして、複数の画像データに含まれるオブジェクト領域に関する特徴をオブジェクト領域と対応付けて記憶する領域特徴記憶部と、決定された領域に関する特徴と領域特徴記憶部に記憶された他の画像データに含まれるオブジェクト領域に関する特徴とを比較して、比較された特徴が一致するオブジェクト領域を含む画像データを検索する画像検索部とを備えることを特徴とする。
【0221】
また、本発明に係る画像検索装置では、画像検索部が、決定された領域に関する特徴と領域特徴記憶部に記憶された他の画像データに含まれるオブジェクト領域に関する特徴とを比較して、比較された特徴が類似するオブジェクト領域を含む画像データを検索することを特徴とする。
【0222】
さらに、本発明に係る画像検索装置は、画像データを記憶する画像記憶部101と、画像データに含まれるオブジェクト領域に関する情報を記憶する領域情報記憶部102と、オブジェクト領域とその下位領域又は上位領域との階層関係を階層データとして記憶する領域階層記憶部107と、領域情報記憶部102に記憶されたオブジェクト領域に関する情報と階層データとに基づいて、画像データに含まれるオブジェクト領域の下位領域又は上位領域に関する画像を階層的に表示する画像表示部103とを備える。そして、画像表示部103に階層的に表示されたオブジェクト領域の下位領域又は上位領域の画像の中から一の領域が決定される。
【0223】
さらにまた、本発明に係る画像検索装置は、画像表示部103に階層的に表示される領域の画像が所定の大きさに統一されたことを特徴とする。
【0224】
さらにまた、本発明に係る画像検索装置は、オブジェクト領域の下位領域又は上位領域に対応付けられたキーワードを記憶するキーワード記憶部をさらに備える。そして、画像表示部103が、オブジェクト領域の下位領域又は上位領域の画像と前記キーワード記憶部に記憶されているキーワードとを対応させて表示させてもよい。
【0225】
本実施形態によれば、領域選択部105は、画像位置指定部104によって選択領域記憶部106に記憶されている領域の内部が指定された場合は、領域階層記憶部107を用いて、該領域の子供の領域のみを検索して指定された位置を含む領域を選択した。また、選択領域記憶部106に記憶されている領域の外部が指定された場合は、領域階層記憶部107を用いて、該領域の先祖の領域を階層の下から検索し、最初に見つかった該位置を含む先祖の領域を選択し、見つからなかった場合は、領域階層記憶部107のルートの直下の第一階層の領域のみを検索した。さらに、画像表示部103は、選択領域記憶部106に記憶されている領域の表示形態を変えることによって現在選択されている領域を識別することができるので、画像内の領域が階層的に構成されている場合でも、直感的にわかりやすい操作で容易に所望の領域を選択できるようになった。
【0226】
また、画像表示部103は、領域情報記憶部102と領域階層記憶部107を用いて、領域情報記憶部102に記憶されている領域の画像を階層的に表示する。そして、領域選択部105は、画像表示部103によって表示されている領域を選択するので、画像内の領域が階層的に構成されている場合でも、直感的にわかりやすい操作で容易に所望の領域を選択できるようになった。
【0227】
さらに、画像記憶部101は、複数の画像を記憶可能で、領域情報記憶部102によって記憶されている領域の特徴を該領域と対応付けて記憶する領域特徴記憶部を備え、選択領域記憶部106によって記憶されている領域に対応した前記領域特徴記憶部によって記憶されている特徴と、該領域特徴記憶部によって記憶されているほかの特徴を比較し、比較された特徴が一致若しくは類似している領域を含む画像記憶部に記憶された画像を検索する画像検索部を備えているので、選択された領域を用いて検索することができる。従って、選択された領域を用いて検索できることにより、キーワードを必要としない簡単な画像検索を実現することができる。
【0228】
<第3の実施形態>
図30は、本発明の第3の実施形態に係る画像検索装置の概念図である。図30において、画像記憶部1101には、画像検索の対象となる個々の画像データ及びそれぞれの画像データに対応するファイル名等が記憶される。領域情報記憶部1102は、画像記憶部1101に格納された個々の画像データ中の特定の領域を示す情報と、画像記憶部1101に格納された画像データが対応付けて格納される。
【0229】
領域特徴記憶部1103は、領域情報記憶部1102に格納された領域の特徴が格納される。そして、領域特徴記憶部1103では、領域の特徴と領域情報記憶部1102に格納された領域を示す情報とが対応付けて格納される。ここで、領域の特徴としては、領域に対応したオブジェクトを表すキーワード等の言語情報や、領域の色や形状や位置等の画像特徴情報等が挙げられる。
【0230】
画像特徴入力部1104は、検索したい画像の特徴を入力する。入力する特徴としては、キーワード等の言語、情報や、画像中の特定の領域の色や形状や位置等の画像特徴情報等が挙げられる。
【0231】
また、画像特徴表示部105は画像特徴入力部104によって入力された画像の特徴を特徴表示領域に表示する。そして、候補画像決定部106は、画像特徴入力部104で入力された特徴と領域特徴記憶部103に格納された特徴とを比較し、両特徴が一致若しくは類似している特徴に対応した領域を含む画像を検索結果の候補画像として決定する。さらに、画像表示部107は、画像記憶部101に記憶された画像を表示する。
【0232】
領域選択部108は、領域情報記憶部102に記憶されている領域の中から前記画像表示部107によって表示されている画像中の所望の領域を選択する。そして、画像特徴入力部104は、領域選択部108によって選択された領域に対応付けられた該領域の特徴を領域特徴記憶部103から求め、画像特徴表示部105の特徴表示領域の所望の場所に複写することで画像の特徴の入力を行う。
【0233】
また、図30には示されていないが、領域情報記憶部1102に記憶されている領域聞の階層関係を記憶する領域階層記憶部を備える場合について説明する。この場合、画像特徴入力部1104は、領域階層記憶部を用いて領域選択部1108によって選択された領域の全ての子孫の領域を求め、選択された領域を含めた該領域に対応付けられた特徴を領域特徴記憶部1103から求める。そして、画像特徴表示部1105の特徴表示領域の所望の場所に複写することで画像の特徴の入力を行うようにしてもよい。また、画像特徴入力部1104は、前記複写された画像の特徴を編集することができる。
【0234】
第3の実施形態に係る画像検索装置のその他の部分の動作等については、第1及び第2の実施形態で述べた通りである。
【0235】
すなわち、本発明に係る画像検索装置は、複数の画像データを記憶する画像記憶部1101と、画像記憶部1101に記憶された画像データ内の所定のオブジェクト領域に関する情報を画像データと対応付けて記憶する領域情報記憶部1102と、領域情報記憶部1102に記憶されたオブジェクト領域の特徴をオブジェクト領域と対応付けて記憶する領域特徴記憶部1103と、検索対象となる画像データの特徴を入力する画像特徴入力部1104と、入力された特徴と領域特徴記憶部1103に記憶されたオブジェクト領域の特徴とが一致する場合、画像記憶部1101に記憶された画像データのうちオブジェクト領域を含む画像データを検索候補画像として決定する候補画像決定部1106と、画像記憶部1101に記憶された画像データを表示する画像表示部1107とを備える。そして、画像表示部1107で表示された画像データ上の任意の部分が指定されると、指定された部分を含むオブジェクト領域の特徴が検索対象となる画像データの特徴として入力される。
【0236】
また、本発明に係る画像検索装置は、オブジェクト領域とその下位領域又は上位領域との階層関係を階層データとして記憶する領域階層記憶部をさらに備えている。そして、階層データを用いて、指定された部分を含むオブジェクト領域に関する全ての下位領域の特徴が検索対象となる画像データの特徴として入力される。
【0237】
さらに、本発明に係る画像検索装置は、画像特徴入力部1104が、検索対象となる画像データの特徴を編集可能であることを特徴とする。
【0238】
以上に説明したように、第3の実施形態によれば、検索条件である領域の指定が容易になると同時に、領域の特徴をオペレータが直接入力せずに、精度の高い領域の特徴を検索の条件として指定することができ、検索の精度を向上させることができる。
【0239】
また、画像の特徴の入力を行うので、検索の条件である領域の指定が容易になると同時に、領域の特徴をオペレータが直接入力せずに、選択された領域の子孫の領域の特徴も利用するので、精度の高い領域の特徴を検索の条件として指定することができ、検索の精度を向上させることができる。
【0240】
さらに、画像特徴入力部1104は、前記複写された画像の特徴を編集することができるので、検索の条件となる領域の特徴を、より所望の特徴に変更することができるので、検索の精度を向上させることができる。
【0241】
<その他の実施形態>
また、上記実施形態では、スタンド・アローンの形態で実現していたが、ネットワーク上のサーバのサービスとして本発明を実施し、クライアント・マシーンで本発明の機能を利用する形態にすることも可能である。
【0242】
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0243】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0244】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0245】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0246】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0282】
【発明の効果】
以上説明したように、本発明によれば、画像内の領域が階層的に構成されている場合に、より簡単な操作で所望の階層の領域を選択することができる。また、画像内の選択された領域を用いてより簡易にかつ精度よく画像を検索することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る画像検索装置の概念図である。
【図2】第1の実施形態による画像検索装置を実現するための各種機器の接続構成を示すブロック図である。
【図3】CD−ROM205から制御プログラム等がコンピュータシステムに供給されることを示す概念図である。
【図4】図2におけるROM202内に記憶されているデータ構成の一例を説明するための図である。
【図5】可搬記録媒体であるCD−ROM205に記憶された画像登録プログラム501及び画像検索プログラム502等のデータ構成を示す図である。
【図6】処理プログラム実行時におけるRAM203上のデータ構成の一例を説明するための図である。
【図7】従来の画像検索システムにおける検索操作画面の一例を示す図である。
【図8】画像データベースに登録されている静止画像の一例を示す図である。
【図9】画像データベース605におけるデータ構成の一例を示す図である。
【図10】領域データベース606におけるデータ構成の一例を示す図である。
【図11】第1の実施形態における検索条件リスト607のデータ構成例を示す図である。
【図12】ステップS402で取り出した画像中の領域に対して、ステップS401で指定した検索条件と比較した結果を格納する領域比較バッファ608のデータ構成例を示す図である。
【図13】検索結果リストのデータ構成例を示す図である。
【図14】第1の実施形態に係る画像検索装置の全体の動作手順を詳細に説明するためのフローチャートである。
【図15】第1の実施形態に係る画像登録プログラムの詳細な処理手順を説明するためのフローチャートである。
【図16】画像検索プログラム及び検索条件指定処理における領域選択処理の手順を説明するためのフローチャートである。
【図17】図14のステップS104における画像検索プログラムの動作を説明するためのフローチャートである。
【図18】図17の画像検索プログラムの処理におけるステップS401の検索条件指定処理の手順を詳細に説明するためのフローチャートである。
【図19】ステップS404における類似度算出処理を説明するためのフローチャートである。
【図20】ステップS406におけるサムネイル作成処理の詳細を説明するためのフローチャートである。
【図21】図14のステップS104の画像検索において表示されるディスプレイ208の画面表示例を示す図である。
【図22】画像検索プログラムにおいて領域選択処理を行うために、検索結果表示エリアの画像を選択した状態を説明するための画面表示例を示す図である。
【図23】領域選択処理を説明するための画面表示例を示す図である。
【図24】図24は、サムネイル作成処理の一実施形態の様子を説明するための図である。
【図25】サムネイル作成処理の別の実施形態の様子を説明するための図である。
【図26】複数の矩形領域の面積を揃えた場合のサムネイル画像作成処理の様子を説明するための図である。
【図27】サムネイル作成処理によるサムネイル画像の作成結果を説明するための図である。
【図28】一画像に対して複数のサムネイルを作成するサムネイル作成処理の実施形態を説明するための図である。
【図29】図10に示される図8の静止画像に関する領域データベース606の例に基づいて図8の静止画像に含まれる領域を階層的に表示した図である。
【図30】本発明の第3の実施形態に係る画像検索装置の概念図である。
【符号の説明】
101、1101 画像記憶部
102、1102 領域情報記憶部
103、1107 画像表示部
104 画像位置指定部
105、1108 領域選択部
106 選択領域記憶部
107 領域階層記憶部
1103 領域特徴記憶部
1104 画像特徴入力部
1105 画像特徴表示部
1106 候補画像決定部
Claims (5)
- 画像データを表示装置上に表示するよう制御する表示制御手段と、
前記画像データ内の一部の領域であるオブジェクト領域を下位領域とし、前記画像データ内の一部の領域であるオブジェクト領域であって該下位領域を表示上包含する領域を上位領域として、前記画像データ内に含まれるオブジェクト領域に関する下位領域と上位領域との階層関係を階層データとして記憶する階層データ記憶手段と、
前記画像データ内の特定のオブジェクト領域を強調表示するよう前記表示制御手段を制御する強調表示制御手段と、
前記強調表示制御手段によって強調表示する第1のオブジェクト領域を決定する第1の領域決定手段と、
前記表示制御手段によって表示された前記画像データ内に対する位置の指定をユーザから受け付ける受付手段と、
前記受付手段によって受け付けた指定位置が前記強調表示制御手段によって強調表示されている前記第1のオブジェクト領域であるか否かを判定する判定手段と、
前記判定手段により前記指定位置が前記第1のオブジェクト領域内であると判定された場合に、前記第1のオブジェクト領域に代えて前記強調表示制御手段によって強調表示するオブジェクト領域を、前記階層データを用いて、前記第1のオブジェクト領域の下位領域であって前記指定位置を含む第2のオブジェクト領域に決定する第2の領域決定手段と、
前記判定手段により前記指定位置が前記第1のオブジェクト領域ではないと判定された場合に、前記第1のオブジェクト領域に代えて前記強調表示制御手段によって強調表示するオブジェクト領域を、前記階層データを用いて、第1のオブジェクト領域の上位領域であって前記指定位置を含む第3のオブジェクト領域に決定する第3の領域決定手段を有することを特徴とする画像表示装置。 - 前記第3の領域決定手段は、前記第1のオブジェクト領域の上位領域であって前記指定位置を含む領域がない場合、前記第1のオブジェクト領域に代えて前記強調表示制御手段によって強調表示するオブジェクト領域を、前記階層データを用いて、前記指定位置を含むオブジェクト領域のうち最上位のオブジェクト領域に決定することを特徴とする請求項1記載の画像表示装置。
- 画像表示装置の画像表示方法であって、
前記画像表示装置の表示制御手段が、画像データを表示装置上に表示するよう制御する表示制御ステップと、
前記画像表示装置の階層データ記憶手段が、前記画像データ内の一部の領域であるオブジェクト領域を下位領域とし、前記画像データ内の一部の領域であるオブジェクト領域であって該下位領域を表示上包含する領域を上位領域として、前記画像データ内に含まれるオブジェクト領域に関する下位領域と上位領域との階層関係を階層データとして記憶する階層データ記憶ステップと、
前記画像表示装置の強調表示制御手段が、前記画像データ内の特定のオブジェクト領域を強調表示するよう前記表示制御手段を制御する強調表示制御ステップと、
前記画像表示装置の第1の領域決定手段が、前記強調表示制御ステップによって強調表示する第1のオブジェクト領域を決定する第1の領域決定ステップと、
前記画像表示装置の受付手段が、前記表示制御ステップによって表示された前記画像データ内に対する位置の指定をユーザから受け付ける受付ステップと、
前記画像表示装置の判定手段が、前記受付ステップによって受け付けた指定位置が前記強調表示制御ステップによって強調表示されている前記第1のオブジェクト領域であるか否かを判定する判定ステップと、
前記画像表示装置の第2の領域決定手段が、前記判定ステップにより前記指定位置が前記第1のオブジェクト領域内であると判定された場合に、前記第1のオブジェクト領域に代えて前記強調表示制御ステップによって強調表示するオブジェクト領域を、前記階層データを用いて、前記第1のオブジェクト領域の下位領域であって前記指定位置を含む第2のオブジェクト領域に決定する第2の領域決定ステップと、
前記画像表示装置の第3の領域決定手段が、前記判定ステップにより前記指定位置が前記第1のオブジェクト領域ではないと判定された場合に、前記第1のオブジェクト領域に代えて前記強調表示制御ステップによって強調表示するオブジェクト領域を、前記階層データを用いて、第1のオブジェクト領域の上位領域であって前記指定位置を含む第3のオブジェクト領域に決定する第3の領域決定ステップを有することを特徴とする画像表示方法。 - コンピュータを、
画像データを表示装置上に表示するよう制御する表示制御手段、
前記画像データ内の一部の領域であるオブジェクト領域を下位領域とし、前記画像データ内の一部の領域であるオブジェクト領域であって該下位領域を表示上包含する領域を上位領域として、前記画像データ内に含まれるオブジェクト領域に関する下位領域と上位領域との階層関係を階層データとして記憶する階層データ記憶手段、
前記画像データ内の特定のオブジェクト領域を強調表示するよう前記表示制御手段を制御する強調表示制御手段、
前記強調表示制御手段によって強調表示する第1のオブジェクト領域を決定する第1の領域決定手段、
前記表示制御手段によって表示された前記画像データ内に対する位置の指定をユーザから受け付ける受付手段、
前記受付手段によって受け付けた指定位置が前記強調表示制御手段によって強調表示されている前記第1のオブジェクト領域であるか否かを判定する判定手段、
前記判定手段により前記指定位置が前記第1のオブジェクト領域内であると判定された場合に、前記第1のオブジェクト領域に代えて前記強調表示制御手段によって強調表示するオブジェクト領域を、前記階層データを用いて、前記第1のオブジェクト領域の下位領域であって前記指定位置を含む第2のオブジェクト領域に決定する第2の領域決定手段、
前記判定手段により前記指定位置が前記第1のオブジェクト領域ではないと判定された場合に、前記第1のオブジェクト領域に代えて前記強調表示制御手段によって強調表示するオブジェクト領域を、前記階層データを用いて、第1のオブジェクト領域の上位領域であって前記指定位置を含む第3のオブジェクト領域に決定する第3の領域決定手段
として機能させるためのプログラム。 - コンピュータを、
画像データを表示装置上に表示するよう制御する表示制御手段、
前記画像データ内の一部の領域であるオブジェクト領域を下位領域とし、前記画像データ内の一部の領域であるオブジェクト領域であって該下位領域を表示上包含する領域を上位領域として、前記画像データ内に含まれるオブジェクト領域に関する下位領域と上位領域との階層関係を階層データとして記憶する階層データ記憶手段、
前記画像データ内の特定のオブジェクト領域を強調表示するよう前記表示制御手段を制御する強調表示制御手段、
前記強調表示制御手段によって強調表示する第1のオブジェクト領域を決定する第1の領域決定手段、
前記表示制御手段によって表示された前記画像データ内に対する位置の指定をユーザから受け付ける受付手段、
前記受付手段によって受け付けた指定位置が前記強調表示制御手段によって強調表示されている前記第1のオブジェクト領域であるか否かを判定する判定手段、
前記判定手段により前記指定位置が前記第1のオブジェクト領域内であると判定された場合に、前記第1のオブジェクト領域に代えて前記強調表示制御手段によって強調表示するオブジェクト領域を、前記階層データを用いて、前記第1のオブジェクト領域の下位領域であって前記指定位置を含む第2のオブジェクト領域に決定する第2の領域決定手段、
前記判定手段により前記指定位置が前記第1のオブジェクト領域ではないと判定された場合に、前記第1のオブジェクト領域に代えて前記強調表示制御手段によって強調表示するオブジェクト領域を、前記階層データを用いて、第1のオブジェクト領域の上位領域であって前記指定位置を含む第3のオブジェクト領域に決定する第3の領域決定手段
として機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003029667A JP4585742B2 (ja) | 2003-02-06 | 2003-02-06 | 画像表示装置、画像表示方法、プログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003029667A JP4585742B2 (ja) | 2003-02-06 | 2003-02-06 | 画像表示装置、画像表示方法、プログラム及び記録媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004240749A JP2004240749A (ja) | 2004-08-26 |
JP2004240749A5 JP2004240749A5 (ja) | 2006-03-09 |
JP4585742B2 true JP4585742B2 (ja) | 2010-11-24 |
Family
ID=32956779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003029667A Expired - Fee Related JP4585742B2 (ja) | 2003-02-06 | 2003-02-06 | 画像表示装置、画像表示方法、プログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4585742B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11526793B2 (en) * | 2018-10-04 | 2022-12-13 | Intel Corporation | Quantum state imaging for memory optimization |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7755646B2 (en) * | 2006-10-17 | 2010-07-13 | Hewlett-Packard Development Company, L.P. | Image management through lexical representations |
JP4993578B2 (ja) * | 2007-01-15 | 2012-08-08 | オリンパスイメージング株式会社 | 画像ファイル再生装置,画像ファイル加工編集装置 |
JP5528121B2 (ja) * | 2010-01-05 | 2014-06-25 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
-
2003
- 2003-02-06 JP JP2003029667A patent/JP4585742B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11526793B2 (en) * | 2018-10-04 | 2022-12-13 | Intel Corporation | Quantum state imaging for memory optimization |
Also Published As
Publication number | Publication date |
---|---|
JP2004240749A (ja) | 2004-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004240750A (ja) | 画像検索装置 | |
US5278946A (en) | Method of presenting multimedia data in a desired form by comparing and replacing a user template model with analogous portions of a system | |
JP4890851B2 (ja) | 意味論的文書スマートネール | |
JP4781924B2 (ja) | 文書画像のコンテント適応スケーリング用ホワイトスペースグラフ及びツリー | |
KR100554430B1 (ko) | 윈도우 표시장치 | |
US5945982A (en) | Data administration apparatus that can search for desired image data using maps | |
US7737966B2 (en) | Method, apparatus, and system for processing geometric data of assembled parts | |
JP5665125B2 (ja) | 画像処理方法、及び、画像処理システム | |
US20060110073A1 (en) | Image processing apparatus, image processing method, program, and storage medium | |
CN102902807A (zh) | 使用多个视觉输入模态的视觉搜索 | |
JP2005528681A (ja) | 統合的マルチスケール3d画像文書化およびナビゲーションのための方法および装置 | |
KR20070014295A (ko) | 좌석 예매/판매를 위한 공연장 맵 생성 방법 및 이를이용한 좌석 예매 서비스 제공 방법 | |
JP2001125917A (ja) | 画像検索方法および装置 | |
JP2004240751A (ja) | 画像検索装置 | |
JP4585742B2 (ja) | 画像表示装置、画像表示方法、プログラム及び記録媒体 | |
KR100609022B1 (ko) | 공간관계와 주석을 이용한 이미지 검색 방법 | |
JP3369734B2 (ja) | 3次元計算機支援設計装置及び方法 | |
US11430166B1 (en) | Facilitating generation of number-bullet objects | |
JPH08194716A (ja) | 画像処理方法及びその装置 | |
JP3249902B2 (ja) | 画像データ検索装置 | |
JPWO2002065339A1 (ja) | マルチメディア情報分類配置装置および分類配置方法 | |
JP2008181515A (ja) | 物体領域情報記述方法、映像情報処理方法及び情報処理装置 | |
JP2000305933A (ja) | 情報検索装置、情報検索方法、及び記憶媒体 | |
JP2006277155A (ja) | Cadシステムにおけるモデル選択プログラム | |
JPH1153398A (ja) | 文書処理装置、文書処理プログラムが記憶された記憶媒体、及び文書処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060125 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071019 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071218 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080116 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080313 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080407 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080425 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100809 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100906 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130910 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |