(57)【特許請求の範囲】
【請求項１】
文字を含む画像を取得するステップと、
前記取得される画像に含まれる文字ごとに、該文字に対する文字候補を要素とし該文字との類似度の順序を保持する文字候補群を生成する文字候補群生成ステップと、
前記生成される文字候補群を要素とし前記取得される画像内における文字の順序を保持する画像検索用のインデックスを生成するインデックス生成ステップと、
前記生成されるインデックスを前記取得される画像に関連付けて記憶手段に記憶させるステップと、を含み、
前記インデックス生成ステップにおいて、前記画像内において外観上連続しない文字にそれぞれ対応する２つの文字候補群の間に所定値から成る文字候補群を追加する、
ことを特徴とする、コンピュータによる画像検索インデックス生成方法。
【請求項２】
前記取得される画像に含まれる文字ごとに、該画像内における該文字の配置領域を特定する配置領域特定手段をさらに含み、
前記インデックス生成ステップにおいて、前記特定される配置領域を示すデータをそれぞれ対応する前記文字候補群に関連付けてさらに保持する前記インデックスを生成する、
ことを特徴とする請求項１に記載の画像検索インデックス生成方法。
【請求項３】
前記取得される画像に含まれる文字ごとの文字属性情報の差異に基づき、前記取得される画像において１又は複数の文字をそれぞれ含む複数の文字領域を特定する文字領域特定ステップをさらに含み、
前記インデックス生成ステップにおいて、前記画像内において外観上連続しない文字にそれぞれ対応する２つの文字候補群がそれぞれ属する前記文字領域が互いに異なる場合に限り、該２つの文字候補群の間に前記所定値から成る文字候補群を追加する、
ことを特徴とする請求項１又は請求項２に記載の画像検索インデックス生成方法。
【請求項４】
前記インデックス生成ステップにおいて、前記画像内における位置とサイズの少なくとも一方の差分が所定の又は計算により求まるしきい値以内に収まらない文字にそれぞれ対応する２つの文字候補群の間に所定値から成る文字候補群を追加する、
ことを特徴とする請求項１又は請求項２に記載の画像検索インデックス生成方法。
【請求項５】
文字を含む画像を取得する機能と、
前記取得される画像に含まれる文字ごとに、該文字に対する文字候補を要素とし該文字との類似度の順序を保持する文字候補群を生成する文字候補群生成機能と、
前記生成される文字候補群を要素とし前記取得される画像内における文字の順序を保持する画像検索用のインデックスを生成するインデックス生成機能と、
前記生成されるインデックスを前記取得される画像に関連付けて記憶手段に記憶させる機能と、
をコンピュータに実現させるための画像検索インデックス生成プログラムにおいて、
前記インデックス生成機能が、前記画像内において外観上連続しない文字にそれぞれ対応する２つの文字候補群の間に所定値から成る文字候補群を追加する、
ことを特徴とする画像検索インデックス生成プログラム。
【請求項６】
文字を含む画像を取得する手段と、
前記取得される画像に含まれる文字ごとに、該文字に対する文字候補を要素とし該文字との類似度の順序を保持する文字候補群を生成する文字候補群生成手段と、
前記生成される文字候補群を要素とし前記取得される画像内における文字の順序を保持する画像検索用のインデックスを生成するインデックス生成手段と、
前記生成されるインデックスを前記取得される画像に関連付けて記憶手段に記憶させる手段と、を備える画像検索インデックス生成装置において、
前記インデックス生成手段が、前記画像内において外観上連続しない文字にそれぞれ対応する２つの文字候補群の間に所定値から成る文字候補群を追加する、
ことを特徴とする画像検索インデックス生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像検索用のインデックスを生成する仕組みに関するものである。
【背景技術】
【０００２】
＜先行技術１＞
Ｗｅｂページ内に表示される画像を検索するサービスがインターネット上で提供されている（例えば、非特許文献１，２等参照）。
従来の画像検索サービスには、例えば次のような特徴がある（非特許文献３の「画像検索はどのように使用しますか？」及び「画像検索の仕組みは？」，非特許文献４の「ヒント」，非特許文献５等参照）。なお、個々の画像検索サービスが下記の特徴を全て備えているとは限らない。
【０００３】
（ａ）検索語入力欄にキーワードを入力し、「検索」ボタンをクリックするか、キーボードで「Enter」を押すと、検索結果ページが表示される。
（ｂ）画像のファイル名，画像の代替テキスト（ａｌｔ属性の値），画像に隣接するテキスト等に使用される文字情報を検索対象とする。
（ｃ）複数のキーワードを指定することができる。また、画像のサイズ，画像のファイル形式等の検索条件を指定することができる。
（ｄ）検索結果ページには、縮小画像（サムネイル）や当該画像に関する情報が、何らかの順序で一覧表示される。このとき、画像の重複は排除される。
【０００４】
＜先行技術２＞
キーワードの含まれた画像データを高い精度で抽出する手法が知られている（例えば、特許文献１参照）。
具体的には、検索の対象とする文書の検索データを生成し、記憶装置に予め登録しておく。検索データとは、スキャナで読み取った文書のテキスト領域に対する文字認識処理により候補となった複数のテキストデータ（検索用テキスト）と、当該文書の全体を圧縮した画像データとのペアにヘッダ情報を付加したものである（同文献図２〜図４等参照）。
その上で、登録されている全ての検索データを対象として、概ね下記（ａ）及び（ｂ）の要領でキーワードとのマッチング処理を実行する（同文献図７のＳ２０３，図８，段落００１７〜００２６等参照）。
【０００５】
（ａ）キーワードの１番目の文字に一致する文字を、検索データの全検索用テキストを対象として検索する（図８のＳ３０１〜Ｓ３０９，段落００２１〜００２２）。
（ｂ）いずれかの検索テキスト中のｎ番目の文字がキーワードのｊ番目の文字に一致するとき、いずれかの検索テキスト中の（ｎ＋１）番目の文字がキーワードの（ｊ＋１）番目の文字に一致するか否かを判定する（図８のＳ３１０〜Ｓ３１９，段落００２３〜００２５）。以降、（ｂ）を繰り返す。
【０００６】
＜先行技術３＞
検索キーワードとの相関度の高い画像を検索し、検索結果を当該相関度の高い順に表示する手法が知られている（例えば、特許文献２参照）。
具体的には、まず、次の手順により検索用のインデックス行列を生成する（同文献図９，図８等参照）。
（１）入力された画像文書中にある文字画像を複数の文字よりなる文字列単位で切り出す。
（２）切り出された文字列の文字画像を１文字ごとに分割し、Ｍ個の文字画像の画像特徴をそれぞれ抽出する。
（３）抽出された文字画像の画像特徴を基に、画像特徴の適合度が高い順にＮ個の文字画像を候補文字として選択し、Ｍ行Ｎ列のインデックス行列を作成する。
（４）インデックス行列の各要素に、位置に応じた相関値を設定しておく。
【０００７】
その上で、次の手順により検索キーワードとインデックス行列との相関度を算出する（同文献図１０，図１１等参照）。
（５）検索キーワードを構成する１検索文字単位にインデックス行列を検索し、検索文字を含むインデックス行列を検出する。
（６）インデックス行列内における検索文字の適合位置の情報を、インデックス行列を有する画像文書の情報と共に格納する。
（７）格納された適合位置の情報より、各検索文字の相関値を累積して、検索キーワードとインデックス行列との相関度を算出する。
【０００８】
その他、同文献には、次の各点が開示されている。
（ａ）検索キーワードをキーボードから入力する構成であれば、候補文字を文字コード等の情報で格納する（同文献［０１１４］）。
（ｂ）「相関値」は、検索文字とインデックス行列内の候補文字との相関値であり、候補文字の順に応じて設定され、通常は列番号の若い要素ほど大きい値に設定される（同文献［００３９］）。
（ｃ）相関度の算出において、適合位置の情報よりインデックス行列における隣接する行に適合していると判断すると、隣接する各行の相関値を行の相関度加重因子にて加重した上で累積する。これにより、検索キーワードの各検索文字が連続して含まれるような場合には、そのインデックス行列を有する画像文書の検索結果が上位となる（同文献［００４３］〜［００４４］）。
【０００９】
＜先行技術４＞
ロボット型検索エンジンの仕組みが知られている（例えば、非特許文献６の第１章等参照）。
同文献によれば、ロボット型検索エンジンの主要な構成要素は、（１）「検索サーバ」（利用者からのリクエストに応えて検索を行うコンピュータ），（２）「検索バックエンド」（インターネットから情報を集めて整理するコンピュータ）及び（３）「インデックス」（「検索サーバ」及び「検索バックエンド」の間で利用されるデータベース）の３つである（同文献図１．３）。
【００１０】
（１）「検索サーバ」の役割は、（１ａ）通信の管理，（１ｂ）リクエストの解析，（１ｃ）インデックスの検索，（１ｄ）検索結果の送信等である（同文献図１．５）。
（２）「検索バックエンド」の役割は、主として、（２ａ）クローリング（インターネット上のあらゆるＷｅｂページを収集する処理），（２ｂ）インデックス生成（検索用のインデックスを作成する処理）である（同文献図１．６）。
（３）「インデックス」の役割は、（３ａ）データの格納，（３ｂ）データの抽出である（同文献図１．７）。
【００１１】
＜先行技術５＞
文書をスキャンした画像に含まれる文字の認識精度を高めるため、予め限定した一定範囲の文字候補群に対して高精度な文字認識処理を実行する手法が知られている（例えば、特許文献３参照）。
具体的には、文字の特徴ベクトルを定義する「辞書」と、当該「辞書」に登録されている各文字に対する所定数の類似文字（平均ベクトル距離の小さい文字）を定義する「類似文字種テーブル」とを用いて、次の手順により文字ごとの文字候補群を決定する（同文献図２，段落０００３〜０００５，段落００２７〜００３１，段落００３８，段落００４２等参照）。
【００１２】
（１）画像データを２値化し、１文字ごとの領域（文字領域）を取り出す。
（２）文字領域を一定数（縦８×横８＝計６４）の小領域に分割し、当該小領域内の黒画素数を集計して、特徴ベクトルを生成する。
（３）生成した特徴ベクトルとの平均ベクトル距離が小さい所定数の文字（第１の候補文字）を「辞書」より抽出する。
（４）第１の候補文字のうち、生成した特徴ベクトルとの平均ベクトル距離が小さい方から所定数の文字（又は生成した特徴ベクトルとの平均ベクトル距離が所定範囲内の文字）に対応する類似文字（第２の候補文字）を「類似文字種テーブル」より抽出する。
（５）第１の候補文字と第２の候補文字のうち少なくともいずれかに含まれる文字を文字認識処理の対象とする。
【００１３】
＜先行技術６＞
文書をスキャンした画像に含まれる文字列の認識率を高めるため、文字ごとに記憶している誤認識しやすい類似文字，異字体（旧字・俗字・人名漢字等）の文字集合を利用する手法が知られている（例えば、特許文献４参照）。
上記の手法では、入力した文字列を構成する文字ごとに複数の候補文字を得て、これらの候補文字を組み合わせて辞書に登録されている単語と照合する。このとき、候補文字に対応付けられた文字集合（同文献段落００１１の第１表，第２表）を当該候補文字と等価とみなして辞書に登録されている単語と照合することにより、認識対象の文字列と同一の単語が辞書内に記憶されていなくても、これと類似する単語が辞書内に発見される可能性が高まる（同文献図７のＳ２０等参照）。
【００１４】
＜先行技術７＞
製品又はその梱包に印刷された文字（製造番号等）の良否判定に利用する文字候補を、検査対象の文字との類似度の高い順に整列する手法が知られている（例えば、特許文献５参照）。
具体的には、検査対象の文字を撮像して得られる画像に対して認識処理を実行し、１文字ごとに基準文字データベースを検索し、検査対象の文字との類似度の値が大きい方から所定数の候補文字をピックアップし、類似度の値の降順に整列する（同文献図８のＳ２，図９のＳ２３〜Ｓ２４及び段落００２９，図１９及び段落００４１〜００６７等参照）。
なお、類似度は、ユークリッド距離計算を用いて算出される（同文献段落００６６の［数３］等参照）。
【００１５】
＜先行技術８＞
検索エンジンを構成する各要素を複数のコンピュータで構成し、分散処理を実行する手法が知られている（例えば、非特許文献６の第２章，図２．１２等参照）。
例えば、次の手法が知られている。
（ａ）検索エンジンの各構成要素を「クラスタ」とする（同文献図２．４）。「クラスタ」とは、複数の「ラック」（複数のＰＣに相当する部品を組み込んだもの）を結合したものであり、互いに強調して動作し１の機能を提供するコンピュータの集まりをいう。
（ｂ）一定数のページごとに検索用のインデックスを分割する（同文献図２．１０）。これにより、１回の検索を全てのインデックスに分散することが可能となる（同文献図２．１１）。また、検索にかかる時間や負荷が予測可能になる。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開平０８−２７２８１１号公報
【特許文献２】特開２００８−１７１３７９号公報
【特許文献３】特開平０８−０１６７２８号公報
【特許文献４】特開２００４−２７２３９６号公報
【特許文献５】特開２００２−１６３６３７号公報
【非特許文献】
【００１７】
【非特許文献１】Google, Inc.、「Google画像検索」、[online]、インターネット<URL: http://images.google.co.jp/>
【非特許文献２】ヤフー株式会社、「Yahoo!画像検索」、[online]、インターネット<URL:http://image-search.yahoo.co.jp/>
【非特許文献３】Google, Inc.、「Googleイメージ検索に関するFAQ」、[online]、インターネット<URL:http://images.google.co.jp/intl/ja/help/faq_images.html>
【非特許文献４】ヤフー株式会社、「Yahoo!検索ヘルプ−画像を検索するには」、[online]、インターネット<URL:http://help.yahoo.co.jp/help/jp/search/multimedia/multimedia-01.html>
【非特許文献５】ヤフー株式会社、「Yahoo!検索ヘルプ−画像検索の結果の見方」、[online]、インターネット<URL:http://help.yahoo.co.jp/help/jp/search/multimedia/multimedia-02.html>
【非特許文献６】西田圭介著、「Googleを支える技術−巨大システムの内側の世界」、第１版、株式会社技術評論社、平成２０年４月２５日第１刷発行、第１章・第２章等
【発明の概要】
【発明が解決しようとする課題】
【００１８】
上記＜先行技術１＞の画像検索サービスは、画像のファイル名，画像の代替テキスト（ａｌｔ属性の値），画像に隣接するテキスト等にキーワードが含まれている画像を検索結果ページに表示する。
したがって、画像中に文字が含まれていても、検索結果には全く反映されない。
【００１９】
上記＜先行技術２＞の検索手法は、照合処理（マッチング処理）により、検索キーワードを構成する各文字が、画像中の文字情報から生成した複数の検索用テキストのうちいずれかに含まれるか否かを判定する（特許文献１の図８参照）。
しかしながら、特許文献１には、検索結果の出力に関する具体的な記載がない。
【００２０】
上記＜先行技術３＞の検索手法は、検索キーワードを構成する１検索文字単位にインデックス行列を検索した上で、インデックス行列内における検索文字の適合位置ごとに設定された相関値を累積することにより検索キーワードとインデックス行列との相関度を算出する（特許文献２の図１０，図１１参照）。
したがって、検索キーワードの構成文字を連続する文字列として含まないインデックス行列が、検索結果の中に常に含まれてしまう。
【００２１】
本発明が解決しようとする課題は、キーワードと関連性の高い文字を含む画像を当該キーワードとの関連性の高い順に並べて出力する画像検索システムにおける検索精度を向上させる、という点である。
【課題を解決するための手段】
【００２２】
上記課題を解決するため、本発明は、文字を含む画像を取得するステップと、前記取得される画像に含まれる文字ごとに、該文字に対する文字候補を要素とし該文字との類似度の順序を保持する文字候補群を生成する文字候補群生成ステップと、前記生成される文字候補群を要素とし前記取得される画像内における文字の順序を保持する画像検索用のインデックスを生成するインデックス生成ステップと、前記生成されるインデックスを前記取得される画像に関連付けて記憶手段に記憶させるステップと、を含み、前記インデックス生成ステップにおいて、前記画像内において外観上連続しない文字にそれぞれ対応する２つの文字候補群の間に所定値から成る文字候補群を追加する、ことを特徴とする、コンピュータによる画像検索インデックス生成方法である。
【００２３】
前記取得される画像に含まれる文字ごとに、該画像内における該文字の配置領域を特定する配置領域特定手段をさらに含み、前記インデックス生成ステップにおいて、前記特定される配置領域を示すデータをそれぞれ対応する前記文字候補群に関連付けてさらに保持する前記インデックスを生成してもよい。
【００２４】
前記取得される画像に含まれる文字ごとの文字属性情報の差異に基づき、前記取得される画像において１又は複数の文字をそれぞれ含む複数の文字領域を特定する文字領域特定ステップをさらに含み、前記インデックス生成ステップにおいて、前記画像内において外観上連続しない文字にそれぞれ対応する２つの文字候補群がそれぞれ属する前記文字領域が互いに異なる場合に限り、該２つの文字候補群の間に前記所定値から成る文字候補群を追加してもよい。
前記インデックス生成ステップにおいて、前記画像内における位置とサイズの少なくとも一方の差分が所定の又は計算により求まるしきい値以内に収まらない文字にそれぞれ対応する２つの文字候補群の間に所定値から成る文字候補群を追加してもよい。
【００２５】
また、上記課題を解決するため、本発明は、文字を含む画像を取得する機能と、前記取得される画像に含まれる文字ごとに、該文字に対する文字候補を要素とし該文字との類似度の順序を保持する文字候補群を生成する文字候補群生成機能と、前記生成される文字候補群を要素とし前記取得される画像内における文字の順序を保持する画像検索用のインデックスを生成するインデックス生成機能と、前記生成されるインデックスを前記取得される画像に関連付けて記憶手段に記憶させる機能と、をコンピュータに実現させるための画像検索インデックス生成プログラムにおいて、前記インデックス生成機能が、前記画像内において外観上連続しない文字にそれぞれ対応する２つの文字候補群の間に所定値から成る文字候補群を追加する、ことを特徴とする画像検索インデックス生成プログラムである。
【００２６】
また、上記課題を解決するため、本発明は、文字を含む画像を取得する手段と、前記取得される画像に含まれる文字ごとに、該文字に対する文字候補を要素とし該文字との類似度の順序を保持する文字候補群を生成する文字候補群生成手段と、前記生成される文字候補群を要素とし前記取得される画像内における文字の順序を保持する画像検索用のインデックスを生成するインデックス生成手段と、前記生成されるインデックスを前記取得される画像に関連付けて記憶手段に記憶させる手段と、を備える画像検索インデックス生成装置において、前記インデックス生成手段が、前記画像内において外観上連続しない文字にそれぞれ対応する２つの文字候補群の間に所定値から成る文字候補群を追加する、ことを特徴とする画像検索インデックス生成装置である。
【発明の効果】
【００２７】
本発明により生成されるインデックスを画像検索に用いれば、画像内において外観上連続しない文字どうしが連続する文字として認識される不具合が発生しにくくなる。そのため、キーワードと関連性の高い文字を含む画像を当該キーワードとの関連性の高い順に並べて出力する画像検索システムにおいて検索精度の向上が期待できる。
【図面の簡単な説明】
【００２８】
【図１】文字候補群の特徴の説明図である。（実施形態１，２）
【図２】スコア算出の特徴の説明図である。（実施形態１，２）
【図３】ハードウェア構成を示すブロック図である。（実施形態１，２）
【図４】データ項目の説明図である。（実施形態１）
【図５】画像の検索手順を示すシーケンス図である。（実施形態１）
【図６】スコア算出処理の手順を示すフロー図である。（実施形態１）
【図７】スコア算出処理の手順を示すフロー図である。（実施形態１）
【図８】データ項目の説明図である。（実施形態１，２）
【図９】検索結果ページの表示例を示す図である。（実施形態１，２）
【図１０】スコアインデックスの生成手順を示すシーケンス図である。（実施形態２）
【図１１】画像の検索手順を示すシーケンス図である。（実施形態２）
【図１２】データ項目の説明図である。（変形例１）
【図１３】文字候補群及び合計スコアの特徴の説明図である。（変形例２）
【図１４】データ項目の説明図である。（変形例２）
【図１５】スコア算出処理の手順を示すフロー図である。（変形例３）
【図１６】スコア算出処理の手順を示すフロー図である。（変形例３）
【図１７】スコア算出処理の手順を示すフロー図である。（変形例３）
【図１８】データ項目の説明図である。（補足等）
【発明を実施するための形態】
【００２９】
＜実施形態＞
［１．概要］
［１−１．検索エンジンの特徴］
本実施形態の検索エンジンの主要な特徴を、図１及び図２を参照して説明する。
本実施形態の検索エンジンは、インターネット上で画像検索サービスを提供する画像検索エンジンである。本実施形態の検索エンジンは、例えば次のような特徴を有しており、キーワードと関連性の高い文字を含む画像を当該キーワードとの関連性の高い順に検索結果ページに表示させることができる。
【００３０】
［（ａ）文字候補群］
本実施形態の検索エンジンは、画像内で一定の範囲を占める領域中の文字ごとに当該文字との類似度の高い方から順に所定数の文字候補が類似度の高い順に整列されている文字候補群を記憶している。
例えば、図１に示すように、画像１００内に領域１１０，領域１２０及び領域１３０があるとする。このとき、「眼」，「限」，「眠」，「阻」，「咀」，「服」，「隈」，…が、領域１１０の１番目の文字に対する文字候補群１１１である。他の文字に対応する文字候補群も同様である。
【００３１】
［（ｂ）合計スコア］
本実施形態の検索エンジンは、連続する文字候補群中にキーワード（単語）の構成文字が１文字ずつ同順で含まれることを選出条件として、当該選出条件を満たす領域ごとに、各文字候補群中における各構成文字の順位の合計スコアを算出する。
例えば、図２に示すように、キーワード「眼精疲労」，「疲れ目」，「眼病予防」との関係で、画像１００中の領域１１０，１２０，１３０の合計スコアはそれぞれ４，４，７となる（下表参照）。
【００３２】
【表１】
0005462917.tif 000002
【００３３】
［（ｃ）検索結果］
「文字候補群」は、対応する文字との類似度の高い文字を類似度の高い順に並べたデータである。したがって、「合計スコア」が小さいほど、画像とキーワードとの関連性が高いといえる。
本実施形態の検索エンジンは、特定のキーワードが与えられたとき、当該キーワードとの関係で算出された合計スコアを利用して、各領域に対応する画像が合計スコアの昇順に配置されるように検索結果ページを生成する。この点において、キーワードと関連性の高い画像を当該キーワードと関連性の高い順に並べて表示することができる。
【００３４】
［１−２．実施形態の特徴］
［（ａ）実施形態１の検索エンジン］
実施形態１の検索エンジンは、画像を検索するためのキーワードを入力したとき、所定の選出条件を満たす領域ごとに当該キーワードに対する合計スコアをリアルタイムで算出し、当該領域に対応する画像の識別情報を合計スコアの昇順となるように整列し、検索結果ページに配置する。
このように、実施形態１の検索エンジンは、キーワードを入力した後で合計スコアを算出する点に特徴がある。
【００３５】
［（ｂ）実施形態２の検索エンジン］
実施形態２の検索エンジンは、所定の単語辞書から単語を読み出し、所定の選出条件を満たす領域ごとに当該単語に対する合計スコアを算出し、単語の識別情報に対応させて画像ごとに合計スコアを記憶しておく。その上で、画像を検索するためのキーワードを入力したとき、当該キーワード（単語）に対応する合計スコアを用いて、画像の識別情報を合計スコアの昇順となるように整列し、検索結果ページに配置する。
このように、実施形態２の検索エンジンは、キーワードを入力する前に予め合計スコアを算出しておく点に特徴がある。
【００３６】
［１−３．画像検索サービスを提供するための前提事項］
本実施形態の検索エンジンは、いわゆるロボット型である。すなわち、画像検索サービスを提供する前提として、インターネット上を巡回して種々のＷｅｂページを収集し（クローリング）、当該Ｗｅｂページに含まれる画像から画像検索用のデータを生成している（インデックス生成）。
これらは、先行技術として開示されている技術的事項を組み合わせることにより、実現可能である（例えば、上記＜先行技術３＞〜＜先行技術７＞参照）。
【００３７】
［２．システム構成］
図３に示すように、本実施形態の検索エンジンは、全体として、画像検索サーバ１１ａ，インデックス生成サーバ１１ｂ，ＤＢサーバ１２ａ，文字候補サーバ１２ｂ，スコアサーバ１２ｃ及びユーザ端末２０により構成される。また、図示しないクローラ（インターネット上を巡回してＷｅｂページをダウンロードするサーバ），リポジトリ（クローラがダウンロードしたＷｅｂページを記憶するデータベース）等を含む。
ＤＢサーバ１２ａ，文字候補サーバ１２ｂ，スコアサーバ１２ｃは、それぞれ画像検索ＤＢ１３ａ，文字候補ＤＢ１３ｂ，スコアインデックス１３ｃを有している。
【００３８】
画像検索サーバ１１ａ，インデックス生成サーバ１１ｂ，ＤＢサーバ１２ａ，文字候補サーバ１２ｂ及びスコアサーバ１２ｃは、通信回線により又は通信ネットワークを介してそれぞれ互いに接続し、画像検索エンジン１０を構成している。
画像検索サーバ１１ａとユーザ端末２０とは、通信ネットワーク（本実施形態では、インターネット３０）を介して互いに接続している。
なお、画像検索エンジン１０を構成する各要素はそれぞれクラスタを形成しており、図示しないロードバランサにより適切に負荷分散がなされるものとする（上記＜先行技術８＞等参照）。
【００３９】
［２−１．画像検索サーバ］
図３において、画像検索サーバ１１ａは、画像検索サービスを提供するＷｅｂサーバである。画像検索サーバ１１ａは、例えば、ユーザ端末２０から画像検索要求（リクエスト）を受信すると、ＤＢサーバ１２ａ，文字候補サーバ１２ｂ，スコアサーバ１２ｃと協働して画像を検索し、検索結果ページ（レスポンス）をユーザ端末２０に送信する。
なお、画像検索サーバ１１ａが単独で画像を検索するように構成してもよい。この場合、画像検索サーバ１１ａと画像検索ＤＢ１３ａ，文字候補ＤＢ１３ｂ及びスコアインデックス１３ｃとを直接接続しておくとよい。
【００４０】
［２−２．インデックス生成サーバ］
図３において、インデックス生成サーバ１１ｂは、画像検索用のインデックスを生成するアプリケーションサーバである。インデックス生成サーバ１１ｂは、例えば、ＤＢサーバ１２ａ，文字候補サーバ１２ｂ，スコアサーバ１２ｃと協働して、文字候補ＤＢ１３ｂの文字候補テーブルからスコアインデックス１３ｃのスコアテーブルを生成する。
なお、インデックス生成サーバ１１ｂが単独でインデックスを生成するように構成してもよい。この場合、インデックス生成サーバ１１ｂと画像検索ＤＢ１３ａ，文字候補ＤＢ１３ｂ及びスコアインデックス１３ｃとを直接接続しておくとよい。
【００４１】
［２−３．ＤＢサーバ及び画像検索ＤＢ］
図３において、ＤＢサーバ１２ａは、画像検索ＤＢ１３ａに記憶しているデータの検索等を行うデータベースサーバである。例えば、ＤＢサーバ１２ａは、画像検索サーバ１１ａ又はインデックス生成サーバ１１ｂからクエリを受けると、条件を満たすデータを画像検索ＤＢ１３ａより抽出し、画像検索サーバ１１ａ又はインデックス生成サーバ１１ｂに返す。
画像検索ＤＢ１３ａは、画像検索に利用されるデータを記憶するデータベースである。本実施形態では、画像情報及び単語情報をそれぞれ複数件ずつ記憶している。
【００４２】
図４（ａ）に、画像情報の主要な項目を示す。
図４（ａ）に示すように、１件の画像情報は、「画像ＩＤ」，「画像ＵＲＬ」，「サムネイルＵＲＬ」及び「画像掲載ページＵＲＬ」を含んでいる。
ここで、「サムネイルＵＲＬ」は、その画像を縮小した画像（サムネイル）のＵＲＬである。サムネイルは、画像検索サーバ１１ａ又はその他のＷｅｂサーバに接続された所定の記憶装置に記憶されているものとする。
【００４３】
図４（ｂ）に、単語情報の項目を示す。
図４（ｂ）に示すように、１件の単語情報は、「単語ＩＤ」と「単語」とを対応させたものである。
なお、単語情報として記憶する単語は、市販の単語辞書・用語辞書等から抽出するとよい。また、記憶していないキーワードを指定した検索要求を受けたときに、当該キーワードを新たな単語として単語情報に追加してもよい。
【００４４】
［２−４．文字候補サーバ及び文字候補ＤＢ］
図３に戻り、文字候補サーバ１２ｂは、文字候補ＤＢ１３ｂを管理するアプリケーションサーバである。文字候補サーバ１２ｂは、例えば、画像検索サーバ１１ａからキーワードを受け取ると、文字候補ＤＢ１３ｂに記憶している文字候補テーブルを利用して、当該キーワードに対する各画像の合計スコアを算出する。
文字候補ＤＢ１３ｂは、文字候補テーブルを記憶するデータベースである。
【００４５】
図４（ｃ）に、文字候補テーブルの項目を示す。
図４（ｃ）に示すように、文字候補テーブルは、「画像ＩＤ」，「領域番号」，「文字番号」及び「文字候補群」を主要な項目とする。
ここで、「文字候補群」は、その文字番号に対応する文字との類似度の高い方から順に所定数の文字候補が類似度の高い順に整列されている文字列である。例えば、その文字とのユークリッド距離が小さいほうから順に所定数の文字候補を当該距離の昇順に整列しておくとよい。
【００４６】
本実施形態において、「領域番号」は、その画像内において一定範囲を占める領域に付された当該画像内において一意の識別情報（数値）である。また、「文字番号」は、その領域中の文字に付された当該領域内において一意の識別情報（数値）である。このように、「領域番号」や「文字番号」を相対的な番号とすることにより、桁数を抑え、データ量を削減している。なお、「領域番号」（図４（ｃ））に代えて、全ての領域において一意の識別情報（「領域ＩＤ」）を記憶しておいてもよい。
「領域番号」は、その画像内で領域の出現する順（例えば、画像の左上から右方向・下方向に解析したときに出現する順）に付すとよい。同様に、「文字番号」は、その領域中で文字の出現する順（例えば、領域の左上から右方向・下方向に解析したときに出現する順）に付すとよい。
【００４７】
［２−５．スコアサーバ及びスコアインデックス］
図３に戻り、スコアサーバ１２ｃは、スコアインデックス１３ｃを管理するアプリケーションサーバである。スコアサーバ１２ｃは、例えば、インデックス生成サーバ１１ｂから単語ＩＤを受け取ると、当該単語ＩＤに対応するデータをスコアインデックス１３ｃより抽出し、画像検索サーバ１１ａに返す。
スコアインデックス１３ｃは、スコアテーブルを記憶するデータベースである。
【００４８】
図４（ｄ）に、スコアテーブルの主要な項目を示す。
図４（ｄ）に示すように、スコアテーブルは、「単語ＩＤ」，「画像ＩＤ」，「合計スコア」及び「キーワード出現数」を主要な項目とする。
ここで、「キーワード出現数」は、その画像における「単語ＩＤ」に対応する単語（キーワード）を含む領域の個数である。
【００４９】
［２−６．ユーザ端末］
図３に戻り、ユーザ端末２０は、画像検索サービスの提供を受けるユーザが使用する端末である。ユーザ端末２０は、Ｗｅｂブラウザを有しており、画像検索サーバ１１ａから受信したＷｅｂページ（ＨＴＭＬ形式のデータ等）をディスプレイに表示することができる。
ユーザ端末２０は、通信機能を有する既存の情報処理端末（例えば、パソコン等の電子計算機，携帯電話端末等）でよい。なお、ユーザ端末２０が有するＷｅｂブラウザは、Ｗｅｂページが参照する画像を自動的に読み込むように設定されているのが好ましい。
【００５０】
［３．画像の検索手順］
［３−１．実施形態１］
実施形態１の検索エンジンによる画像の検索手順を、図４〜図９（特に、図５のシーケンス図，図６及び図７のフロー図）を参照して説明する。
なお、図５には、参照すべき他の図面の番号が付記されている。必要に応じて、当該他の図面を参照されたい。
【００５１】
［（ａ）画像の検索手順］
図５に示すように、実施形態１の検索エンジンは、概ね下記〔手順１１〕〜〔手順１３〕により画像を検索する。
〔手順１１〕ユーザ端末２０は、ユーザの操作に応じて、キーワードを含む検索要求を画像検索サーバ１１ａに送信する（Ｓ５０５ａ）。画像検索サーバ１１ａは、ユーザ端末２０から検索要求を受信する（Ｓ５０５ｂ）と、キーワードを指定して文字候補サーバ１２ｂにスコア情報を要求する（Ｓ５２０ｂ）。文字候補サーバ１２ｂは、画像検索サーバ１１ａからスコア情報の要求を受信する（Ｓ５２０ｃ）と、スコア算出処理を実行し（Ｓ５２５ｃ，図６）、スコア情報Ａを画像検索サーバ１１ａに送信する（Ｓ５３０ｃ，図８（ａ））。
【００５２】
〔手順１２〕画像検索サーバ１１ａは、文字候補サーバ１２ｂから受信したスコア情報Ａを抽出し（Ｓ５３０ｂ）、画像ＩＤを合計スコアの昇順に整列した上で（Ｓ５３５ｂ）、画像ＩＤを指定してＤＢサーバ１２ａに画像情報を要求する（Ｓ５４０ｂ）。ＤＢサーバ１２ａは、画像検索サーバ１１ａから画像情報の要求を受信する（Ｓ５４０ｄ）と、指定された画像ＩＤに対応する画像情報を画像検索ＤＢ１３ａより抽出し（Ｓ５４５ｄ）、画像検索サーバ１１ａに送信する（Ｓ５５０ｄ，図４（ａ））。
【００５３】
〔手順１３〕画像検索サーバ１１ａは、ＤＢサーバ１２ａから受信した画像情報を抽出する（Ｓ５５０ｂ）と、検索結果ページを生成し（Ｓ５５５ｂ）、ユーザ端末２０に送信する（Ｓ５６０ｂ）。ユーザ端末２０は、画像検索サーバ１１ａから検索結果ページを受信し（Ｓ５６０ａ）、ディスプレイに表示する（Ｓ５６５ａ，図９）。
【００５４】
［（ｂ）〔手順１１〕スコア算出処理について］
上記〔手順１１〕において、文字候補サーバ１２ｂはスコア算出処理を実行する（図５のＳ５２５ｃ）。
図６に、スコア算出処理の手順を示す。なお、文字候補サーバ１２ｂは、文字候補テーブルを文字候補ＤＢ１３ｂより読み出してメモリ上に展開しているものとし、テーブルの先頭から１レコードごとに処理していくものとする。
〔処理１１１〕受け取ったキーワードを変数ｗｒｄに代入し（Ｓ６０５）、変数ｗｒｄに格納している文字列の文字数を変数ｎに代入する（Ｓ６１０）。
〔処理１１２〕画像ＩＤを変数ｉｄに代入する（Ｓ６１５）。
【００５５】
〔処理１１３〕領域番号を変数ｎｕｍに代入し（Ｓ６２０）、領域内の文字数（画像ＩＤがｉｄ，領域番号がｎｕｍであるレコードの数）を変数ｍに代入する（Ｓ６２５）。
〔処理１１４〕判定式「ｍ≧ｎ」の真偽を判定する（Ｓ６３０）。判定式が真のとき（Ｓ６３０でＹｅｓ）、合計スコアを算出し（図７）、下記〔処理１１５〕に進む。一方、判定式が偽のとき（Ｓ６３０でＮｏ）、合計スコアを算出せず、下記〔処理１１５〕に進む。なお、判定式「ｍ≧ｎ」が偽であれば、その領域にはキーワードが含まれないことが分かる。
【００５６】
〔処理１１５〕最後の領域か否かを判定する（Ｓ６３５）。最後の領域であるとき（Ｓ６３５でＹｅｓ）、下記〔処理１１６〕に進む。一方、最後の領域でないとき（Ｓ６３５でＮｏ）、次の領域について上記〔処理１１３〕以降を繰り返す。
〔処理１１６〕最後の画像か否かを判定する（Ｓ６４０）。最後の画像であるとき（Ｓ６４０でＹｅｓ）、下記〔処理１１７〕に進む。一方、最後の画像でないとき（Ｓ６４０でＮｏ）、次の画像について上記〔処理１１２〕以降を繰り返す。
〔処理１１７〕画像ＩＤと領域番号との組に対応させて合計スコアを返戻する（Ｓ６４５）。
【００５７】
［（ｃ）〔処理１１４〕合計スコアの算出について］
上記〔処理１１４〕において、文字候補サーバ１２ｂは合計スコアを算出する。
図７に、スコア算出処理における合計スコアの算出手順を示す。
〔処理１２１〕変数ｋ（マッチングの先頭位置の文字番号を示すカウンタ）に１を代入する（Ｓ７０１）。
〔処理１２２〕変数ｉ（領域中の文字番号を示すカウンタ）に変数ｋの値を代入し（Ｓ７０６）、変数ｊ（キーワード中の文字位置を示すカウンタ）に１を代入し（Ｓ７０８）、変数ｓ（合計スコアが格納される変数）に０を代入する（Ｓ７１０）。
【００５８】
〔処理１２３〕変数ｙに変数ｗｒｄ中のｊ番目の文字を代入し（Ｓ７１２）、変数ｘに文字番号ｉの文字候補群（文字列）を代入し（Ｓ７１４）、変数ｉｄｘに変数ｘ中の変数ｙに当たる文字の位置番号を代入する（Ｓ７１６）。
〔処理１２４〕判定式「ｉｄｘ＝ｎｕｌｌ」の真偽を判定する（Ｓ７１８）。判定式が偽のとき（Ｓ７１８でＮｏ）、下記〔処理１２５〕に進む。一方、判定式が真のとき（Ｓ７１８でＹｅｓ）、下記〔処理１２６〕に進む。なお、判定式「ｉｄｘ＝ｎｕｌｌ」が真となるのは、変数ｘ（文字番号ｉの文字候補群（文字列））の中に変数ｙ（キーワード中のｊ番目の文字）が存在しない場合である。
【００５９】
〔処理１２５〕変数ｓに変数ｉｄｘの値を加算し（Ｓ７２０）、判定式「ｊ＝ｎ」の真偽を判定する（Ｓ７２２）。判定式が偽のとき（Ｓ７２２でＮｏ）、変数ｊに１を加算する（Ｓ７２４）とともに、変数ｉに１を加算し（Ｓ７２６）、上記〔処理１２３〕に戻る。一方、判定式が真のとき（Ｓ７２２でＹｅｓ）、下記〔処理１２７〕に進む。なお、判定式「ｊ＝ｎ」が真となるのは、その領域にキーワードが含まれる場合である。
〔処理１２６〕判定式「（ｍ−ｋ）＜ｎ」の真偽を判定する（Ｓ７２８）。判定式が偽のとき（Ｓ７２８でＮｏ）、変数ｋに１を加算し（Ｓ７３０）、上記〔処理１２２〕に戻る。一方、判定式が真のとき（Ｓ７２８でＹｅｓ）、上記〔処理１１５〕（図６のＳ６３５）に戻る。なお、判定式「（ｍ−ｋ）＜ｎ」が真であれば、その領域にはキーワードが含まれないことが分かる。
〔処理１２７〕変数ｓの値を、その領域（画像ＩＤ＝ｉｄ，領域番号＝ｎｕｍの領域）の合計スコアとする（Ｓ７４４）。なお、ｉｄ，ｎｕｍ，ｓ（ｉｄ，ｎｕｍ）は、画像ＩＤ，領域番号，合計スコアを要素とする配列等に格納して対応付けておくとよい。
【００６０】
［（ｄ）〔手順１１〕スコア情報Ａについて］
上記〔手順１１〕において、文字候補サーバ１２ｂはスコア情報Ａを画像検索サーバ１１ａに送信する（図５のＳ５３０ｃ）。
図８（ａ）に、スコア情報Ａの項目を示す。
図８（ａ）に示すように、１件のスコア情報Ａは、「画像ＩＤ」，「領域番号」及び「合計スコア」（ユーザ端末２０から検索要求を受けた後に算出される合計スコア）を含んでいる。
【００６１】
［（ｅ）〔手順１２〕画像ＩＤの整列について］
上記〔手順１２〕において、画像検索サーバ１１ａは、画像ＩＤを合計スコアの昇順に整列する（図５のＳ５３５ｂ）。
このとき、画像ＩＤごとに対応する合計スコアの最小値を選択し、画像ＩＤの重複を排除する。
また、画像ＩＤ間で合計スコアが同一となるときは、当該画像ＩＤ間の順序をキーワードを含む領域の数（すなわち、受信したスコア情報における画像ＩＤの重複数）の降順とする。これにより、検索結果画面における画像の整列順序に、画像内に出現するキーワードの数を反映させることができる。
【００６２】
［（ｆ）〔手順１２〕画像情報の要求について］
上記〔手順１２〕において、画像検索サーバ１１ａは、画像ＩＤを指定してＤＢサーバ１２ａに画像情報を要求する（図５のＳ５４０ｂ）。
このとき、画像検索サーバ１１ａは、ランクの高い（合計スコアの小さい）方から所定数（例えば、検索結果ページに配置する画像（サムネイル）の数の初期値等）の画像ＩＤを指定するとよい。このように、予め画像ＩＤを整列して重複を排除した上で（図５のＳ５３５ｂ）、画像情報を検索結果ページへの表示に必要な限度で要求することにより、画像検索サービスの応答速度を向上させることができる。
【００６３】
［（ｇ）〔手順１３〕検索結果ページについて］
上記〔手順１３〕において、ユーザ端末２０は、検索結果ページをディスプレイに表示する（図５のＳ５６５ａ）。
図９に、検索結果ページの表示例を示す。検索結果ページ９００は、テキストボックス９１１にキーワードを入力し、「検索」ボタン９１２をクリックしたときの検索結果の表示例である。
【００６４】
検索結果ページ９００内の１画像分の表示領域は、ＤＢサーバ１２ａから受信した１件分の画像情報（図４（ａ））の項目を用いて構成されている。例えば、最上位の画像の表示領域には、画像ＩＤ９２１ａ，画像ＵＲＬ９２２ａ及びサムネイル９２３ａが表示される。また、サムネイル９２３ａは、「画像掲載ページＵＲＬ」をリンク先とするリンクになっている。
なお、検索結果ページは、検索結果ページ９００に示した形態に限定されない。例えば、画像ＩＤや画像ＵＲＬは表示しなくてもよい。また、画像タグ（<img>タグ）の参照先として「画像ＵＲＬ」を設定し、サムネイルではなくオリジナルの画像が表示されるようにしてもよい。
【００６５】
［３−２．実施形態２］
実施形態２の検索エンジンによる画像の検索手順を、図４，図６〜図１１（特に、図１０及び図１１のシーケンス図）を参照して説明する。
なお、図１０，図１１には、参照すべき他の図面の番号が付記されている。必要に応じて、当該他の図面を参照されたい。
また、図１０又は図１１中、図５と同一の符号が付されている処理ステップは、同内容のものである。
【００６６】
［３−２−１．スコアインデックスの生成］
［（ａ）スコアインデックスの生成手順］
図１０に示すように、実施形態２の検索エンジンは、概ね下記〔手順２１〕〜〔手順２４〕によりスコアインデックスを生成する。
〔手順２１〕インデックス生成サーバ１１ｂは、ＤＢサーバ１２ａに単語情報を要求する（Ｓ１０１０ａ）。ＤＢサーバ１２ａは、インデックス生成サーバ１１ｂから単語情報の要求を受信する（Ｓ１０１０ｂ）と、指定件数又は所定件数の単語情報を画像検索ＤＢ１３ａより抽出し、インデックス生成サーバ１１ｂに送信する（Ｓ１０１５ｂ，図４（ｂ））。
〔手順２２〕インデックス生成サーバ１１ｂは、ＤＢサーバ１２ａから受信した単語情報を抽出する（Ｓ１０１５ａ）と、単語（キーワード）を指定して文字候補サーバ１２ｂにスコア情報を要求する（Ｓ１０２０ａ）。文字候補サーバ１２ｂは、インデックス生成サーバ１１ｂからスコア情報の要求を受信する（Ｓ５２０ｃ）と、スコア算出処理を実行し（Ｓ５２５ｃ，図６）、スコア情報Ａをインデックス生成サーバ１１ｂに送信する（Ｓ５３０ｃ，（図８（ａ）））。
【００６７】
〔手順２３〕インデックス生成サーバ１１ｂは、文字候補サーバ１２ｂから受信したスコア情報Ａを抽出し（Ｓ１０３０ａ）、スコアテーブルのレコードを生成し（Ｓ１０３５ａ）、レコード項目をスコアサーバ１２ｃに送信する（Ｓ１０４０ａ）。スコアサーバ１２ｃは、インデックス生成サーバ１１ｂからレコード項目を受信する（Ｓ１０４０ｄ）と、スコアインデックス１３ｃに格納する（Ｓ１０４５ｄ，図４（ｄ））。
〔手順２４〕インデックス生成サーバ１１ｂは、最後の単語か否かを判定する（Ｓ１０５０ａ）。最後の単語でないとき（Ｓ１０５０ａでＮｏ）、次の単語（キーワード）を指定して上記〔手順２２〕以降を繰り返す。一方、最後の単語であるとき（Ｓ１０５０ａでＹｅｓ）、処理を終了する。
【００６８】
［（ｂ）〔手順２１〕単語情報の要求について］
上記〔手順２１〕において、インデックス生成サーバ１１ｂは、ＤＢサーバ１２ａから単語情報を抽出する（図１０のＳ１０１０ａ，Ｓ１０１５ａ）。
単語情報の抽出処理は、スコアインデックス１３ｃに記憶するスコアテーブルを最新の状態に保つため、定期的に又は所定の条件に基づいて継続的に実行するとよい。
【００６９】
［（ｃ）〔手順２３〕レコードの生成について］
上記〔手順２３〕において、インデックス生成サーバ１１ｂは、スコアテーブルのレコードを生成する（Ｓ１０３５ａ）。
具体的には、指定した単語（キーワード）に対応する「単語ＩＤ」に、「画像ＩＤ」，「合計スコア」及び「キーワード出現数」を対応付ける。
なお、スコアテーブルの項目は、図４（ｄ）に示した通りである。また、「合計スコア」及び「キーワード出現数」は、画像ＩＤを整列する処理（図５のＳ５３５ｂ）と同様に求めるものとする。すなわち、「合計スコア」は画像ＩＤごとの最小の合計スコアであり、「キーワード出現数」は画像ＩＤごとに集計したキーワードを含む領域の数（画像ＩＤの重複数）である。
【００７０】
［（ｄ）〔手順２３〕レコードの格納について］
上記〔手順２３〕において、スコアサーバ１２ｃは、インデックス生成サーバ１１ｂから受信したスコアテーブルのレコードをスコアインデックス１３ｃに格納する（Ｓ１０４５ｄ）。
このとき、「単語ＩＤ」と「画像ＩＤ」が一致するレコードは上書きし、上書きされないレコードには削除された旨を示すフラグ（削除フラグ）を立てておくとよい。その他、インデックス生成サーバ１１ｂから受信したレコードに共通して含まれる「単語ＩＤ」に対応付けられている各レコードを、スコアインデックス１３ｃから予め削除しておいてもよい。
これらにより、スコアインデックス１３ｃに記憶するスコアテーブルを最新の状態に保つことができる。
【００７１】
［３−２−２．スコアインデックスを利用した検索］
［（ａ）画像の検索手順］
図１１に示すように、実施形態２の検索エンジンは、上記〔手順２１〕〜〔手順２４〕により生成したスコアテーブル（図４（ｄ））を用いて、概ね下記〔手順２５〕〜〔手順２８〕により画像を検索する。
〔手順２５〕ユーザ端末２０は、ユーザの操作に応じて、キーワードを含む検索要求を画像検索サーバ１１ａに送信する（Ｓ５０５ａ）。画像検索サーバ１１ａは、ユーザ端末２０から検索要求を受信する（Ｓ５０５ｂ）と、キーワードを指定してＤＢサーバ１２ａに単語ＩＤを要求する（Ｓ１１１０ｂ）。ＤＢサーバ１２ａは、画像検索サーバ１１ａから単語ＩＤの要求を受信する（Ｓ１１１０ｄ）と、指定されたキーワードに対応する単語ＩＤを画像検索ＤＢ１３ａより抽出し、画像検索サーバ１１ａに送信する（Ｓ１１１５ｄ）。
〔手順２６〕画像検索サーバ１１ａは、ＤＢサーバ１２ａから受信した単語ＩＤを抽出する（Ｓ１１１５ｂ）と、当該単語ＩＤを指定してスコアサーバ１２ｃにスコア情報を要求する（Ｓ１１２０ｂ）。スコアサーバ１２ｃは、画像検索サーバ１１ａからスコア情報の要求を受信する（Ｓ１１２０ｃ）と、指定された単語ＩＤに対応するすべてのレコードをスコアインデックス１３ｃのスコアテーブルより抽出し（Ｓ１１２５ｃ）、スコア情報Ｂを画像検索サーバ１１ａに送信する（Ｓ１１３０ｃ，図８（ｂ））。
【００７２】
〔手順２７〕画像検索サーバ１１ａは、スコアサーバ１２ｃから受信したスコア情報Ｂを抽出し（Ｓ１１３０ｂ）、画像ＩＤを合計スコアの昇順に整列した上で（Ｓ１１３５ｂ）、画像ＩＤを指定してＤＢサーバ１２ａに画像情報を要求する（Ｓ５４０ｂ）。ＤＢサーバ１２ａは、画像検索サーバ１１ａから画像情報の要求を受信する（Ｓ５４０ｄ）と、指定された画像ＩＤに対応する画像情報を画像検索ＤＢ１３ａより抽出し（Ｓ５４５ｄ）、画像検索サーバ１１ａに送信する（Ｓ５５０ｄ，図４（ａ））。
〔手順２８〕画像検索サーバ１１ａは、ＤＢサーバ１２ａから受信した画像情報を抽出する（Ｓ５５０ｂ）と、検索結果ページを生成し（Ｓ５５５ｂ）、ユーザ端末２０に送信する（Ｓ５６０ｂ）。ユーザ端末２０は、画像検索サーバ１１ａから検索結果ページを受信し（Ｓ５６０ａ）、ディスプレイに表示する（Ｓ５６５ａ，図９）。
【００７３】
［（ｂ）〔手順２６〕スコア情報Ｂについて］
上記〔手順２６〕において、スコアサーバ１２ｃはスコア情報Ｂを画像検索サーバ１１ａに送信する（図１１のＳ１１３０ｃ）。
図８（ｂ）に、スコア情報Ｂの項目を示す。
図８（ｂ）に示すように、１件のスコア情報Ｂは、「画像ＩＤ」，「合計スコア」（ユーザ端末２０から検索要求を受ける前に算出された合計スコア）及び「キーワード出現数」を含んでいる。
なお、スコア情報Ｂは、スコアテーブルの項目（図４（ｄ））から単語ＩＤを除外したものである。
【００７４】
［（ｃ）〔手順２７〕画像ＩＤの整列について］
上記〔手順２７〕において、画像検索サーバ１１ａは、画像ＩＤを合計スコアの昇順に整列する（図１１のＳ１１３５ｂ）。
画像ＩＤ間で合計スコアが同一となるときに、画像ＩＤごとに集計したキーワードを含む領域の数（スコア情報Ｂ（図８（ｂ））の「キーワード出現数」）の降順に整列する点は実施形態１と同様である。
なお、画像ＩＤの重複はスコアインデックスを生成する段階（図１０のＳ１０３５ａ）で排除されているから、ここでは考慮していない。
【００７５】
［（ｄ）〔手順２８〕検索結果ページの生成について］
上記〔手順２８〕において、画像検索サーバ１１ａは、検索結果ページを生成し（図１１のＳ５５５ｂ）、ユーザ端末２０に送信する（図１１のＳ５６０ｂ）。
なお、画像検索サーバ１１ａは、上記〔手順２５〕においてＤＢサーバ１２ａから単語ＩＤが得られないとき、上記〔手順２６〕〜〔手順２８〕中の一連の処理（図１１のＳ１１２０ｂ〜Ｓ５５０ｂ）を省略し、「キーワードに関連する画像がない」旨等を表示する検索結果ページを生成してユーザ端末２０に送信してもよい。
【００７６】
［３−３．実施形態３（実施形態１，２の組み合わせ）］
実施形態２による画像検索手順と実施形態１による画像検索手順とを組み合わせて画像検索サービスを提供してもよい。
例えば、通常は実施形態２の検索手順（図１１）により画像を検索し、例外的に（例えば、上記〔手順２５〕においてＤＢサーバ１２ａから単語ＩＤが得られない場合）実施形態１の検索手順（図５）により画像を検索することとするとよい。これにより、平均的な応答速度を維持しつつ、画像検索サーバ１１ａがＤＢサーバ１２ａから単語ＩＤが得られない場合（例えば、ユーザ端末２０から受信したキーワードが単語情報（図４（ｂ））に含まれない場合）にも検索結果を返すことができる。
【００７７】
［３−４．その他の実施形態］
検索結果ページを予め生成しておき、検索要求を受けたときに当該検索結果ページを送信するようにしてもよい。これにより、応答速度がさらに向上する。
例えば、次の手順により検索結果ページを送信するとよい。
（１）画像検索サーバ１１ａ又はその他の図示しないサーバが、ＤＢサーバ１２ａから定期的に単語情報（図４（ｂ））を取得し、上記〔手順２６〕〜〔手順２８〕中の一連の処理（図１１のＳ１１２０ｂ〜Ｓ５５５ｂ）を実行し、生成した検索結果ページを単語ＩＤに対応させて所定の記憶装置に予め記憶しておく。
【００７８】
（２）画像検索サーバ１１ａは、ユーザ端末２０から検索要求を受信すると、キーワードに対応する単語ＩＤをＤＢサーバ１２ａから取得する（上記〔手順２５〕（図１１のＳ５０５ｂ〜Ｓ１１１５ｂ）と同様）。
（３）画像検索サーバ１１ａは、取得した単語ＩＤに対応する検索結果ページを所定の記憶装置より読み出し、ユーザ端末２０に送信する。
【００７９】
＜変形例＞
［１．変形例１］
上述の各実施形態では、画像内の領域に対し画像ごとに一意の番号を付与し（図４（ｃ）の「領域番号」）、画像ＩＤと領域番号との組により領域を特定している。
これに対し、全ての領域に一意の識別情報を付与し、当該識別情報のみにより領域を特定してもよい。
【００８０】
［（ａ）データ項目の変更］
変形例１では、データ項目を次のように変更するとよい（図１２）。なお、画像情報（図１２（ａ）），単語情報（図１２（ｂ）），スコアテーブル（図１２（ｅ）），スコア情報Ｂ（図１２（ｇ））の項目は、上述の各実施形態に係る項目と同様である。
・「領域ＩＤ」と「画像ＩＤ」とを対応付ける領域情報（図１２（ｃ））を文字候補ＤＢ１３ｂ又はその他の記憶装置に記憶する。
・文字候補テーブルの「画像ＩＤ」と「領域番号」との組を、「領域ＩＤ」に変更する（図１２（ｄ））。
・スコア情報Ａの「画像ＩＤ」と「領域番号」との組を、「領域ＩＤ」に変更する（図１２（ｆ））。
【００８１】
［（ｂ）処理手順の変形］
変形例１では、処理手順を次のように変更するとよい。
・スコア算出処理（図５のＳ５２５ｃ，図１０のＳ５２５ｃ，図６〜図７）において、領域ＩＤごとに合計スコアを算出する。
・画像ＩＤを整列する処理（図５のＳ５３５ｂ）において、文字候補サーバ１２ｂより取得したスコア情報Ａ（図１２（ｆ））中の「領域ＩＤ」に対応する「画像ＩＤ」を文字候補ＤＢ１３ｂの領域情報（図１２（ｃ））から取得し、両者を対応付ける。
・スコアテーブルのレコードを生成する処理（図１０のＳ１０３５ａ）において、文字候補サーバ１２ｂより取得したスコア情報Ａ（図１２（ｆ））中の「領域ＩＤ」に対応する「画像ＩＤ」を文字候補ＤＢ１３ｂの領域情報（図１２（ｃ））から取得し、両者を対応付ける。
【００８２】
［２．変形例２］
上述の各実施形態では、各画像を領域という単位に分割し（図１及び図２の１１０，１２０，１３０等参照）、当該領域単位で合計スコアを算出している（図６，図７）。変形例１も同様である。
これに対し、画像単位で合計スコアを算出してもよい。なお、次のいずれかのように文字候補ＤＢが生成されていれば、領域を設けた場合と同様に、外観上連続しない文字どうしが連続する文字として認識されてしまう不具合は発生しない（図１３参照）。
・領域の境界となるべき位置に所定の値（例えば、ｎｕｌｌ値，スペース１字等）から成る文字候補群を設定する。
・領域の境界となるべき位置の前後で、文字番号を１つ以上飛ばす。
【００８３】
［（ａ）データ項目の変更］
変形例２では、データ項目を次のように変更するとよい（図１４）。なお、画像情報（図１４（ａ）），単語情報（図１４（ｂ）），スコアテーブル（図１４（ｄ））の項目は、上述の各実施形態に係る項目と同様である。
・文字候補テーブルにおいて、「領域番号」を設けない（図１４（ｃ））。
・スコア情報Ａにおいて、「領域番号」を設けない（図１４（ｅ））。
・スコア情報Ａ及びＢに「キーワード出現数」を追加する（図１４（ｅ）（ｆ））。
【００８４】
［（ｂ）処理手順の変形］
変形例２では、処理手順を次のように変更するとよい。
・スコア算出処理（図５のＳ５２５ｃ，図１０のＳ５２５ｃ，図６〜図７）において、画像ＩＤごとに合計スコアを算出する。
・スコア算出処理（図５のＳ５２５ｃ，図１０のＳ５２５ｃ，図６〜図７）において、画像ＩＤごとにキーワードの出現回数をカウントする（後述の変形例３参照）。
【００８５】
［３．変形例３］
上述の各実施形態では、画像内の領域ごとに合計スコアを算出した上で（図６〜図７）、画像ＩＤごとにキーワードを含む領域数（画像ＩＤの重複数）を集計し、当該領域数を「キーワード出現数」としている（図５のＳ５３５ｂ，図１０のＳ１０３５ａ，図４（ｄ），図８（ｂ）等）。
これに対し、スコア算出処理において、領域又は画像ごとにキーワードの出現回数（ヒット数）そのものをカウントし、当該出現回数を当該領域又は画像の「キーワード出現数」としてもよい。これにより、キーワードの出現回数をより正確に検索結果の出力に反映させることができる。なお、キーワードの出現数が複数であれば、領域又は画像ごとに合計スコアの最小値を選択するとよい。
【００８６】
［（ａ）スコア算出処理について］
図１５に、スコア算出手順の変形例を示す。
図１５は、上記変形例２（領域を設けない形態）においてキーワードの出現回数そのものをカウントする場合の例である。
なお、図１５中、図６と同一の符号が付されている処理ステップは、同内容のものである。また、文字候補サーバ１２ｂは、文字候補テーブルを文字候補ＤＢ１３ｂより読み出してメモリ上に展開しているものとし、テーブルの先頭から１レコードごとに処理していくものとする。
【００８７】
〔処理２１１〕受け取ったキーワードを変数ｗｒｄに代入し（Ｓ６０５）、変数ｗｒｄに格納している文字列の文字数を変数ｎに代入する（Ｓ６１０）。
〔処理２１２〕画像ＩＤを変数ｉｄに代入する（Ｓ６１５）。
〔処理２１３〕画像内の文字数（画像ＩＤがｉｄであるレコードの数）を変数ｍに代入する（Ｓ１５２５）。
〔処理２１４〕判定式「ｍ≧ｎ」の真偽を判定する（Ｓ１５３０）。判定式が真のとき（Ｓ１５３０でＹｅｓ）、合計スコアを算出し（図１６，１７）、下記〔処理２１５〕に進む。一方、判定式が偽のとき（Ｓ１５３０でＮｏ）、合計スコアを算出せず、下記〔処理２１５〕に進む。なお、判定式「ｍ≧ｎ」が偽であれば、その領域にはキーワードが含まれないことが分かる。
【００８８】
〔処理２１５〕最後の画像か否かを判定する（Ｓ６４０）。最後の画像であるとき（Ｓ６４０でＹｅｓ）、下記〔処理２１６〕に進む。一方、最後の画像でないとき（Ｓ６４０でＮｏ）、次の画像について上記〔処理２１２〕以降を繰り返す。
〔処理２１６〕画像ＩＤに対応させて合計スコア（最小値）及びキーワードのヒット数を返戻する（Ｓ１５４５）。
【００８９】
［（ｂ）〔処理２１４〕合計スコア算出処理について］
上記〔処理２１４〕において、文字候補サーバ１２ｂは合計スコアを算出する。
図１６〜図１７に、合計スコアの算出手順を示す。
なお、図１６又は図１７中、図７と同一の符号が付されている処理ステップは、同内容のものである。
【００９０】
〔処理２２１〕変数ｋ（マッチングの先頭位置の文字番号を示すカウンタ）に１を代入する（Ｓ７０１）。また、変数ｍｉｎ（合計スコアの最小値が格納される変数）に０を代入し（Ｓ１６０２）、変数ｈｉｔ（キーワードのヒット数が格納される変数）に０を代入する（Ｓ１６０４）。
〔処理２２２〕変数ｉ（画像中の文字番号を示すカウンタ）に変数ｋの値を代入し（Ｓ７０６）、変数ｊ（キーワード中の文字位置を示すカウンタ）に１を代入し（Ｓ７０８）、変数ｓ（合計スコアが格納される変数）に０を代入する（Ｓ７１０）。
〔処理２２３〕変数ｙに変数ｗｒｄ中のｊ番目の文字を代入し（Ｓ７１２）、変数ｘに文字番号ｉの文字候補群（文字列）を代入し（Ｓ７１４）、変数ｉｄｘに変数ｘ中の変数ｙに当たる文字の位置番号を代入する（Ｓ７１６）。
【００９１】
〔処理２２４〕判定式「ｉｄｘ＝ｎｕｌｌ」の真偽を判定する（Ｓ７１８）。判定式が偽のとき（Ｓ７１８でＮｏ）、下記〔処理２２５〕に進む。一方、判定式が真のとき（Ｓ７１８でＹｅｓ）、下記〔処理２２６〕に進む。なお、判定式「ｉｄｘ＝ｎｕｌｌ」が真となるのは、変数ｘ（文字番号ｉの文字候補群（文字列））の中に変数ｙ（変数ｗｒｄ中のｊ番目の文字）が存在しないときである。
〔処理２２５〕変数ｓに変数ｉｄｘの値を加算し（Ｓ７２０）、判定式「ｊ＝ｎ」の真偽を判定する（Ｓ７２２）。判定式が偽のとき（Ｓ７２２でＮｏ）、変数ｊに１を加算する（Ｓ７２４）とともに、変数ｉに１を加算し（Ｓ７２６）、上記〔処理２２３〕に戻る。一方、判定式が真のとき（Ｓ７２２でＹｅｓ）、下記〔処理２２７〕に進む。なお、判定式「ｊ＝ｎ」が真となるのは、その画像内でキーワードが検出された場合である。
【００９２】
〔処理２２６〕判定式「（ｍ−ｋ）＜ｎ」の真偽を判定する（Ｓ７２８）。判定式が偽のとき（Ｓ７２８でＮｏ）、変数ｋに１を加算し（Ｓ７３０）、上記〔処理２２２〕に戻る。一方、判定式が真のとき（Ｓ７２８でＹｅｓ）、判定式「ｈｉｔ＝０」が真であれば（Ｓ１６３２でＹｅｓ）、上記〔処理２１５〕（図１５のＳ６４０）に戻る。判定式「ｈｉｔ＝０」が偽であれば（Ｓ１６３２でＮｏ）、下記〔処理２２９〕に進む。なお、判定式「（ｍ−ｋ）＜ｎ」が真であれば、その画像の残りの文字内にはキーワードが含まれないことが分かる。
〔処理２２７〕変数ｈｉｔに１を加算し（Ｓ１６３４）、判定式「ｈｉｔ≧２」の真偽を判定する（Ｓ１６３６）。判定式「ｈｉｔ≧２」が真のとき（Ｓ１６３６でＹｅｓ）、さらに判定式「ｓ＜ｍｉｎ」の真偽を判定する（Ｓ１６３８）。判定式「ｈｉｔ≧２」が偽のとき（Ｓ１６３６でＮｏ）、又は、「判定式ｓ＜ｍｉｎ」が真のとき（Ｓ１６３８でＹｅｓ）、変数ｍｉｎに変数ｓの値を代入し（Ｓ１６４０）、下記〔処理２２８〕に進む。一方、判定式「ｓ＜ｍｉｎ」が偽のとき（Ｓ１６３８でＮｏ）、下記〔処理２２８〕に進む。
【００９３】
〔処理２２８〕判定式「ｉ＝ｍ」の真偽を判定する（Ｓ１６４２）。判定式が真のとき（Ｓ１６４２でＹｅｓ）、下記〔処理２２９〕に進む。一方、判定式が偽のとき（Ｓ１６４２でＮｏ）、変数ｋに１を加算し（図１６のＳ７３０）、上記〔処理２２２〕に戻る。
〔処理２２９〕変数ｍｉｎの値を、その画像（画像ＩＤ＝ｉｄの画像）の合計スコアとする（Ｓ１６４４）。また、変数ｈｉｔの値を、その画像（画像ＩＤ＝ｉｄの画像）のキーワード出現数とする（Ｓ１６４６）。なお、ｉｄ，ｓ（ｉｄ），ｈ（ｉｄ）は、画像ＩＤ，合計スコア，キーワード出現数を要素とする配列等に格納して対応付けておくとよい。
【００９４】
［４．変形例４］
上述の各実施形態におけるスコア算出処理は、領域内で最初のキーワードが検出された時点でマッチング処理のループから抜けて（図７のＳ７２２でＹｅｓ）、合計スコアを確定する（図７のＳ７４４）。
一方、上述の変形例３に例示しているスコア算出処理は、画像ごとにキーワードの出現数をカウントしつつ（図１７のＳ１６３４等）、合計スコアの最小値を選択する（図１７のＳ１６３６〜Ｓ１６４０）。
これに対し、領域ごとに又は画像ごとにキーワードの出現数をカウントせずに、領域ごとに又は画像ごとに合計スコアの最小値を選択してもよい。これにより、画像と当該画像中の文字との関連性を、より正確に検索結果に反映させることができる。
【００９５】
［５．変形例５］
上述の各実施形態における文字候補群は、対応する文字との類似度の高い方から順に所定数の文字候補が類似度の高い順に整列されている文字列である（図４（ｃ））。
これに対し、文字候補群は、単に対応する文字との類似度の高い複数の文字候補が類似度の高い順に整列されているだけでもよい。例えば、１次元の配列に各文字候補を類似度の高い順に格納しておけば、配列の添字が類似度の順位となる。
また、文字候補群を構成する各文字候補を類似度の値と対応付けて記憶しておいてもよい。例えば、２次元の配列に文字候補と類似度の値とを格納する。この場合、文字候補群を整列しておかなくてもよい。
なお、変形例５のいずれかの場合には、各文字候補群中における各構成文字の類似度の順位の合計値又は類似度の値の合計値を「合計スコア」として算出するとよい。
【００９６】
［６．変形例６］
［（ａ）他のＷｅｂサーバに検索結果を出力する形態］
上述の各実施形態の検索エンジンは、ユーザ端末２０から検索要求を受信し、ユーザ端末２０に検索結果ページを送信している（図３，図５，図１１等参照）。
これに対し、通信ネットワーク又は通信回線を介して接続された他のＷｅｂサーバ（例えば、電子商取引を管理するＷｅｂサーバ等）から検索要求を入力（受信）し、当該Ｗｅｂサーバに検索結果を出力（送信）してもよい。この場合、検索結果（例えば、整列済みの画像ＩＤのリスト等）は、所定の形式（例えば、ＸＭＬ形式等）で送信するとよい。
【００９７】
［（ｂ）デスクトップ検索を実行する形態］
上述の各実施形態の検索エンジン及び上記（ａ）の形態では、他のデータ処理装置から検索要求を受信し、当該データ処理装置に検索結果を出力している（図３，図５，図１１等参照）。
これに対し、スタンドアロンのデータ処理装置（例えば、パソコン等の電子計算機）上に画像検索エンジンを構成すれば、デスクトップ検索を実行することができる。
【００９８】
＜補足等＞
［１．画像内の領域について］
上述の各実施形態では、各画像を領域に区分し（図１及び図２の１１０，１２０，１３０等）、当該領域ごとに合計スコアを算出している（図６，図７）。
領域の確定には、画像中の文字の範囲を特定するための情報を利用するとよい。例えば、画像内における各文字の範囲（位置及び大きさ）を特定し、文字どうしの範囲を比較すれば、画像をいくつかの領域に区分することができる。
【００９９】
［（ａ）文字属性情報］
図１８（ａ）に、文字属性情報の主要な項目を示す。
図１８（ａ）に示すように、１件の文字属性情報は、「画像ＩＤ」，「領域番号」，「文字番号」，「横位置（ｘ座標）」，「縦位置（ｙ座標）」，「幅（ピクセル）」，「高さ（ピクセル）」を含んでいる。「横位置」，「縦位置」，「幅」，「高さ」の４つにより、各文字の画像内での範囲（各文字の外接矩形の輪郭）を特定することができる。
文字属性情報は、実施形態の検索エンジンがインターネット上で収集したＷｅｂページ中の画像を解析する際に生成するとよい。
【０１００】
［（ｂ）領域の形成］
具体的には、次のような文字をグループ化して１つの領域を形成するとよい。
・縦位置及び／又は横位置の差分が所定の又は計算により求まるしきい値以内である１又は複数の文字。
・幅及び／又は高さの差分が所定の又は計算により求まるしきい値以内である１又は複数の文字。
【０１０１】
［（ｃ）領域属性情報］
図１８（ｂ）に、領域属性情報の主要な項目を示す。
図１８（ｂ）に示すように、１件の領域属性情報は、「画像ＩＤ」，「領域番号」，「横位置（ｘ座標）」，「縦位置（ｙ座標）」，「幅（ピクセル）」，「高さ（ピクセル）」を含んでいる。「横位置」，「縦位置」，「幅」，「高さ」の４つにより、各領域の画像内での範囲（各領域の外接矩形の輪郭）を特定することができる。
領域属性情報も、実施形態の検索エンジンがインターネット上で収集したＷｅｂページ中の画像を解析する際に生成するとよい。なお、領域の外接矩形が１の画像内で部分的に重なっていてもよい。
【０１０２】
［２．画像中の文字の強調表示］
検索結果ページにおいて、キーワードに対応する文字等を強調してもよい。
例えば、次のような強調の態様が考えられる。
・キーワードに対応する文字を強調する。
・キーワードに対応する文字を含む領域を強調する。
図９に示す検索結果ページでは、画像を検索するためのキーワード（「楽天」）に対応する文字が画像中で強調されている。
【０１０３】
［（ａ）文字を強調する場合］
（１）検索結果ページに表示されるべき画像（サムネイル，オリジナル画像）中の、キーワードの構成文字に対応する各文字の範囲を文字属性情報（図１８（ａ））を用いて特定する。
（２）検索結果ページ内の当該画像が表示されるべき領域の前面に、当該特定した範囲に相当するオブジェクト（例えば、外接矩形）を配置する。オブジェクトの色は任意に設定してよい。
【０１０４】
［（ｂ）領域を強調する場合］
（１）検索結果ページに表示されるべき画像（サムネイル，オリジナル画像）中の、キーワードに対応する文字を含む領域の範囲を領域属性情報（図１８（ｂ））を用いて特定する。
（２）検索結果ページ内の当該画像が表示されるべき領域の前面に、当該特定した範囲に相当するオブジェクト（例えば、外接矩形）を配置する。オブジェクトの色は任意に設定してよい。
【０１０５】
［３．キーワードが複数の場合のＡＮＤ検索］
複数のキーワードを入力したとき、ＡＮＤ検索を実行してもよい。
例えば、所定のデータ（例えば、スペース，「＊」等）により連結された複数のキーワードを入力したとき、画像検索サーバ１１ａは、次のように画像ＩＤを整列するとよい。
（１）入力した文字列を上記所定のデータの前後で分割して各キーワードを抽出し、文字候補サーバ１２ｂ又はスコアサーバ１２ｃより各キーワードに対する合計スコアを領域ごとに又は画像ごとに得る。
（２）全てのキーワードを含む画像ＩＤのみを対象として、各キーワードに対する合計スコアの和を算出し、画像ＩＤをその和の昇順に整列する。
【０１０６】
［４．インデックスに格納する情報の性質について］
文字候補ＤＢ１３ｂに記憶する文字候補テーブル（図４（ｃ））及びスコアインデックス１３ｃに記憶するスコアテーブル（図４（ｄ））は、いずれも画像検索の処理を実行する装置（画像検索サーバ１１ａ等）に直ちに用いることが可能な状態にされた情報である。したがって、これらはいずれも、当該装置による画像検索の処理の用に供する情報である。
また、文字候補テーブル（図４（ｃ））及びスコアテーブル（図４（ｄ））は、当該装置に対する直接の指令ではないが、これらの情報が有する構造により当該装置による画像検索の処理を規定するものという点でプログラムに類似する性質を有するものである。したがって、これらはいずれも、プログラムに準ずるものである。
なお、文字候補テーブルの変形例（図１２（ｄ），図１３（ｃ）），スコアテーブルの変形例（図１２（ｅ），図１３（ｄ））についても同様である。
【符号の説明】
【０１０７】
１０    画像検索エンジン
１１ａ    画像検索サーバ
１１ｂ    インデックス生成サーバ
１２ａ    ＤＢサーバ
１２ｂ    文字候補サーバ
１２ｃ    スコアサーバ
１３ａ    画像検索ＤＢ
１３ｂ    文字候補ＤＢ
１３ｃ    スコアインデックス
２０      ユーザ端末
３０      インターネット
９００    検索結果ページ
【図３】
0005462917.tif 000003
【図４】
0005462917.tif 000004
【図５】
0005462917.tif 000005
【図６】
0005462917.tif 000006
【図７】
0005462917.tif 000007
【図８】
0005462917.tif 000008
【図１０】
0005462917.tif 000009
【図１１】
0005462917.tif 000010
【図１２】
0005462917.tif 000011
【図１４】
0005462917.tif 000012
【図１５】
0005462917.tif 000013
【図１６】
0005462917.tif 000014
【図１７】
0005462917.tif 000015
【図１８】
0005462917.tif 000016
【図１】
0005462917.tif 000017
【図２】
0005462917.tif 000018
【図９】
0005462917.tif 000019
【図１３】
0005462917.tif 000020