説明

視覚クエリの複数の領域についての検索結果を提示するためのユーザインターフェイス

写真、スクリーンショット、スキャン画像、映像フレームなどの視覚クエリを、クライアントシステムから視覚クエリ検索システムにサブミットする。その検索システムは、それぞれが互いに異なる視覚クエリ検索処理を実施する複数の並列検索システムに、その視覚クエリを送ることによりその視覚クエリを処理する。並列検索システムから複数の結果を受け取る。その検索結果を利用して対話型結果ドキュメントを作成し、クライアントシステムに送る。対話型結果ドキュメントは、視覚クエリの副部分に関する少なくとも1つの検索結果への選択可能リンクを有する、その視覚クエリの副部分に関する少なくとも1つの視覚的識別子を有する。視覚的識別子は、それぞれの副部分を取り囲む境界ボックスとすることも、それぞれの副部分上の半透明ラベルとすることもできる。場合により、境界ボックスまたはラベルを結果の種類ごとに色分けしてもよい。

【発明の詳細な説明】
【技術分野】
【0001】
開示する諸実施形態は、一般に、視覚クエリを処理するための複数の並列検索システムによる検索結果の提示に関する。
【背景技術】
【0002】
ユーザが語または語句を検索エンジンに入力し、様々な結果を受け取るテキストベースの検索または用語ベースの検索は、検索を行うための有用なツールである。しかし用語ベースのクエリでは、ユーザが関連語を入力できることが必要である。ときとして、ユーザは画像に関する情報を知りたい場合がある。例えば、ユーザは写真の中の人物の名前を知りたい場合があり、または絵の中の花や鳥の名前を知りたいこともある。したがって、視覚クエリを受け取り、検索結果を提供することができるシステムが望ましい。
【発明の概要】
【課題を解決するための手段】
【0003】
一部の実施形態によれば、視覚クエリを処理する、コンピュータによって実施される方法は、1個または複数個のプロセッサと、その1個または複数個のプロセッサが実行するための1つまたは複数のプログラムを記憶するメモリとを有するサーバシステム上で以下のステップを実行することを含む。クライアントシステムからの視覚クエリを受け取る。その視覚クエリを、同時処理用の複数の並列検索システムに送ることによって処理する。その複数の検索システムのそれぞれは、複数の視覚クエリ検索処理のうちの互いに異なる視覚クエリ検索処理を実施する。次いでサーバシステムが、複数の並列検索システムの1つまたは複数から複数の検索結果を受け取る。そのサーバシステムは、視覚クエリのそれぞれの副部分についての1つまたは複数の視覚的識別子を含む対話型結果ドキュメントを作成する。各視覚的識別子は、検索結果の少なくとも1つへの少なくとも1つのユーザ選択可能リンクを有する。最後に、サーバシステムが対話型結果ドキュメントをクライアントシステムに送る。一部の実施形態では、検索結果が視覚クエリの対応する副部分に関係するデータを含む。
【0004】
一部の実施形態では、その送るステップは、対話型結果ドキュメントとともに提示するために、検索結果一覧内の複数の検索結果の一部を送るステップをさらに含む。場合によりこの方法は、少なくとも1つのユーザ選択可能リンクのユーザ選択を受け取るステップと、選択されたリンクに対応する検索結果一覧内の検索結果を特定するステップとをさらに含んでもよい。
【0005】
一部の実施形態では、視覚的識別子が、視覚クエリのそれぞれの副部分を取り囲む1つまたは複数の境界ボックスを含む。境界ボックスは正方形とすることができ、または視覚クエリのそれぞれの副部分の輪郭を描くこともできる。場合により、一部の境界ボックスは、その中により小さな境界ボックスを含んでもよい。
【0006】
一部の実施形態では、境界ボックスのそれぞれが1つまたは複数の検索結果へのユーザ選択可能リンクを含み、そのユーザ選択可能リンクは、境界ボックスによって囲まれる、視覚クエリの副部分に対応する活性化領域を有する。視覚的識別子が境界ボックスではない実施形態でさえ、それぞれのユーザ選択可能リンクは、対応する視覚的識別子に関連する、視覚クエリの副部分に対応する活性化領域を有する。
【0007】
一部の実施形態では、選択可能な副部分がテキストを含む場合、この方法は、その選択可能な副部分のテキストをテキストベースクエリ処理システムに送るステップをさらに含む。他の実施形態では、視覚クエリの副部分が、テキストを含むそれぞれの視覚的識別子に対応する場合、それぞれの視覚的識別子に対応する検索結果は、そのテキスト内の用語の少なくとも1つに対する用語クエリ検索の結果を含む。
【0008】
一部の実施形態では、それぞれの視覚的識別子に対応する視覚クエリの副部分が人物の顔を含む場合、それぞれの視覚的識別子に対応する検索結果は、選択可能な副部分内に顔が含まれている人物、選択可能な副部分内に顔が含まれている人物の他の画像、および/またはその人物の顔に関する潜在的な画像の一致に関連する名前、ハンドル、連絡先情報、アカウント情報、アドレス情報、かかわりのあるモバイル機器の現在地を含む。
【0009】
一部の実装形態では、それぞれの視覚的識別子に対応する視覚クエリの副部分が製品を含む場合、それぞれの視覚的識別子に対応する検索結果は、製品情報、製品レビュー、その製品の購入を開始するオプション、その製品に対する入札を開始するオプション、同様の製品の一覧、および/または関連製品の一覧を含む。
【0010】
一部の実施形態では、視覚クエリのそれぞれの副部分内で認識されるエンティティの種類に応じて視覚的に区別できる方法で提示するために、1つまたは複数の視覚的識別子のそれぞれの視覚的識別子をフォーマットする。それぞれの視覚的識別子は、視覚的に区別できるオーバーレイの色、オーバーレイパターン、ラベルの背景色、ラベルの背景パターン、ラベルのフォントの色、枠線色などにより、提示するためにフォーマットすることができる。
【0011】
一部の実施形態では、1つまたは複数の視覚的識別子のそれぞれの視覚的識別子が、視覚クエリのそれぞれの副部分内の画像に関連する少なくとも1つの用語からなるラベルを含む。ラベルは、それぞれの副部分上またはその付近において対話型結果ドキュメント内で提示するためにフォーマットされる。
【0012】
図面全体を通して、同様の参照番号は一致する部分を指す。
【図面の簡単な説明】
【0013】
【図1】視覚クエリサーバシステムを含むコンピュータネットワークを示すブロック図である。
【図2】一部の実施形態による、視覚クエリに応答するプロセスを示すフローチャートである。
【図3】一部の実施形態による、対話型結果ドキュメントにより視覚クエリに応答するプロセスを示すフローチャートである。
【図4】一部の実施形態による、クライアントと視覚クエリサーバシステムとの間の通信を示すフローチャートである。
【図5】一部の実施形態によるクライアントシステムを示すブロック図である。
【図6】一部の実施形態によるフロントエンド視覚クエリ処理サーバシステムを示すブロック図である。
【図7】一部の実施形態による、視覚クエリを処理するために利用する並列検索システムの汎用システムを示すブロック図である。
【図8】一部の実施形態による、視覚クエリを処理するために利用するOCR検索システムを示すブロック図である。
【図9】一部の実施形態による、視覚クエリを処理するために利用する顔認識検索システムを示すブロック図である。
【図10】一部の実施形態による、視覚クエリを処理するために利用する画像−用語検索システムを示すブロック図である。
【図11】一部の実施形態による、例示的な視覚クエリのスクリーンショットを有するクライアントシステムを示す図である。
【図12A】一部の実施形態による、境界ボックスを伴う対話型結果ドキュメントのスクリーンショットを有するクライアントシステムを示す図である。
【図12B】一部の実施形態による、境界ボックスを伴う対話型結果ドキュメントのスクリーンショットを有するクライアントシステムを示す図である。
【図13】一部の実施形態による、タイプごとにコード化された対話型結果ドキュメントのスクリーンショットを有するクライアントシステムを示す図である。
【図14】一部の実施形態による、ラベルを伴う対話型結果ドキュメントのスクリーンショットを有するクライアントシステムを示す図である。
【図15】一部の実施形態による、結果一覧と同時に表示される対話型結果ドキュメントおよび視覚クエリのスクリーンショットを示す図である。
【発明を実施するための形態】
【0014】
次に、その例を添付図面に示す諸実施形態について詳しく言及する。以下の詳細な説明では、本発明の完全な理解を与えるために数多くの具体的詳細を記載する。しかし、本発明はそれらの具体的詳細なしに実施され得ることが当業者には明らかであろう。他の例では、実施形態の諸側面を無用に不明瞭にしないように、よく知られている方法、手法、コンポーネント、回路、およびネットワークについて詳しくは記載していない。
【0015】
本明細書では様々な要素を説明するために第1の、第2のなどの語を使用する場合があるが、これらの要素はこれらの語によって限定されるべきではないことも理解されたい。これらの語は、単にある要素を別の要素と区別するために使用する。例えば、本発明の範囲から逸脱せずに第1の接点を第2の接点と称することができ、同様に第2の接点を第1の接点と称することもできる。第1の接点および第2の接点はいずれも接点だが、同じ接点ではない、
【0016】
本明細書の本発明の説明の中で使用する用語は、特定の実施形態を説明するためのものに過ぎず、本発明を限定するように意図されていない。本発明の説明および特許請求の範囲の中で使用するとき、単数形「a」、「an」および「the」は、特に明確な指示がない限り複数形も含むことを意図する。本明細書で使用するとき、用語「および/または」は、列挙する関連項目の1つまたは複数の任意のおよびあり得るすべての組合せを指し、包含することも理解されたい。さらに本明細書で使用するとき、用語「備える(comprises)」および/または「備えている(comprising)」は、述べた特徴、完全体、ステップ、動作、要素、および/またはコンポーネントが存在することを規定するが、1つもしくは複数の他の特徴、完全体、ステップ、動作、要素、コンポーネント、および/またはそれらのグループが存在すること、もしくは追加されることを除外しないことも理解されたい。
【0017】
本明細書で使用するとき、用語「もし(if)」は、文脈に応じて「場合(when)」もしくは「とき(upon)」、または「決定することに応答して(in response to determining)」もしくは「検出することに応答して(in response to detecting)」を意味するものと解釈されてもよい。同様に、語句「決定する場合(if it is determined)」または「検出する場合(if it is detected)」は、文脈に応じて「決定するとき(upon determining)」もしくは「決定することに応答して(in response to determining)」、または「(述べた条件または事象を)検出するとき(upon detecting)」もしくは「(述べた条件または事象を)検出することに応答して(in response to detecting)」を意味するものと解釈されてもよい。
【0018】
図1は、一部の実施形態による視覚クエリサーバシステムを含むコンピュータネットワークを示すブロック図である。コンピュータネットワーク100は、1つまたは複数のクライアントシステム102および視覚クエリサーバシステム106を含む。これらのコンポーネントを1つまたは複数の通信ネットワーク104が相互接続する。通信ネットワーク104は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、無線ネットワーク、有線ネットワーク、インターネット、またはそうしたネットワークの組合せを含む、様々なネットワークのうちの任意のものとしてもよい。
【0019】
クライアントシステム102は、視覚クエリ(例えば図11の視覚クエリ1102)を受け取るためにクライアントシステムが実行するクライアントアプリケーション108を含む。視覚クエリとは、検索エンジンまたは検索システムにクエリとしてサブミットされる画像である。視覚クエリの非限定的な例には、写真、スキャンドキュメントおよびスキャン画像、ならびに絵図が含まれる。一部の実施形態では、クライアントアプリケーション108は、検索アプリケーション、ブラウザアプリケーション用の検索エンジンプラグイン、およびブラウザアプリケーション用の検索エンジン拡張機能からなる組から選択される。一部の実施形態では、クライアントアプリケーション108は、視覚クエリとして使用する任意形式の画像をユーザが検索ボックスの中にドラッグアンドドロップすることを可能にする「手当たり次第の(omnivorous)」検索ボックスである。
【0020】
クライアントシステム102は、視覚クエリサーバシステム106にクエリを送り、視覚クエリサーバシステム106からデータを受け取る。クライアントシステム102は、視覚クエリサーバシステム106と通信することができる任意のコンピュータまたは他の装置としてもよい。非限定的な例には、デスクトップコンピュータおよびノートブックコンピュータ、メインフレームコンピュータ、サーバコンピュータ、携帯電話や携帯情報端末などのモバイル機器、ネットワーク端末、およびセットトップボックスが含まれる。
【0021】
視覚クエリサーバシステム106は、フロントエンド視覚クエリ処理サーバ110を含む。フロントエンドサーバ110はクライアント102から視覚クエリを受け取り、その視覚クエリを同時処理用の複数の並列検索システム112に送る。検索システム112は互いに異なる視覚クエリ検索処理をそれぞれ実施し、自らの別個の検索処理により視覚クエリを処理するために、必要に応じて自らの対応するデータベース114にアクセスする。例えば顔認識検索システム112−Aは、画像クエリに対する顔の一致を探すために顔画像データベース114−Aにアクセスする。図9に関してより詳細に説明するように、視覚クエリが顔を含む場合、顔認識検索システム112−Aは顔画像データベース114−Aから1つまたは複数の検索結果(例えば名前、一致する顔等)を返す。別の例では、光学的文字認識(OCR)検索システム112−Bが、視覚クエリ内の任意の認識可能テキストを、1つまたは複数の検索結果として返すためのテキストへと変換する。光学的文字認識(OCR)検索システム112−Bでは、図8に関してより詳細に説明するように、特定のフォントまたはテキストパターンを認識するためにOCRデータベース114−Bにアクセスすることができる。
【0022】
任意の数の並列検索システム112を使用してもよい。一部の例には、顔認識検索システム112−A、OCR検索システム112−B、(オブジェクトまたはオブジェクトカテゴリを認識し得る)画像−用語検索システム112−C、(本の表紙やCDなどの2D画像を認識するように構成してもよく、家具などの3D画像を認識するように構成してもよい)製品認識検索システム、(1Dおよび2D形式のバーコードを認識する)バーコード認識検索システム、固有表現認識検索システム、(エッフェル塔のような特定の有名な名所を認識するように構成することができ、ビルボードなど、特定の画像のコーパスを認識するように構成してもよい)ランドマーク認識、クライアントシステム102内のGPS受信機または携帯電話網が提供する地理位置情報によって支援される場所認識、色認識検索システム、および(視覚クエリに似た画像を検索して特定する)類似画像検索システムが含まれる。図1のシステム112−Nによって示す、さらなる検索システムを追加の並列検索システムとして加えることができる。OCR検索システムを除くすべての検索システムを、画像一致処理を実行する検索システムとして本明細書では集合的に定義する。OCR検索システムを含むすべての検索システムを、画像によるクエリ検索システムと集合的に呼ぶ。一部の実施形態では、視覚クエリサーバシステム106が、顔認識検索システム112−A、OCR検索システム112−B、および少なくとも1つの他の画像によるクエリ検索システム112を含む。
【0023】
並列検索システム112は視覚検索クエリを個々に処理し、自らの結果をフロントエンドサーバシステム110に返す。一部の実施形態では、フロントエンドサーバ100は、結果を複合ドキュメントへと集約すること、表示するための結果の一部を選択すること、および結果をランク付けすることのうちの1つまたは複数など、図6に関してより詳細に説明するように検索結果に対して1つまたは複数の解析を行ってもよい。フロントエンドサーバ110は、検索結果をクライアントシステム102に伝える。
【0024】
クライアントシステム102は、1つまたは複数の検索結果をユーザに提供し得る。それらの結果はディスプレイ上に、音声スピーカにより、またはユーザに情報を伝えるために使用する他の任意の手段によって提供することができる。ユーザは、様々な方法で検索結果と対話してもよい。一部の実施形態では、ユーザの選択、注釈、および検索結果との他の対話を視覚クエリサーバシステム106に伝送し、視覚クエリとともにクエリ/注釈データベース116内に記録する。クエリ/注釈データベース内の情報は、視覚クエリの結果を改善するために使用することができる。一部の実施形態では、クエリ/注釈データベース116からの情報を並列検索システム112に周期的にプッシュし、並列検索システム112はその情報の任意の関連部分を個々のデータベース114内に取り入れる。
【0025】
コンピュータネットワーク100は、用語クエリに応答して検索を行うための用語クエリサーバシステム118を場合により含んでもよい。用語クエリとは、画像を含む視覚クエリとは対照的に、1つまたは複数の用語を含むクエリである。用語クエリサーバシステム118は、視覚クエリサーバシステム106内の様々な検索エンジンによってもたらされる情報を補足する検索結果を生成するために使用してもよい。用語クエリサーバシステム118から返される結果は、任意の形式を含み得る。用語クエリサーバシステム118は、テキストドキュメント、画像、映像等を含み得る。図1では用語クエリサーバシステム118を別個のシステムとして図示するが、場合により視覚クエリサーバシステム106が用語クエリサーバシステム118を含んでもよい。
【0026】
視覚クエリサーバシステム106の動作に関するさらなる情報は、図2〜4のフローチャートに関して以下に示す。
【0027】
図2は、本発明の特定の実施形態による、視覚クエリに応答するための視覚クエリサーバシステムの方法を示すフローチャートである。図2に示す操作のそれぞれは、コンピュータメモリまたはコンピュータ可読記憶媒体の中に記憶される命令に対応し得る。
【0028】
視覚クエリサーバシステムが、クライアントシステムから視覚クエリを受け取る(202)。図1に関して説明したように、このクライアントシステムは、例えばデスクトップコンピューティング装置、モバイル機器、または別の同様の装置としてもよい(204)。図11に、クライアントシステムの一例上の視覚クエリの一例を示す。
【0029】
視覚クエリは、任意の適切な形式の画像ドキュメントである。例えば視覚クエリは、写真、スクリーンショット、スキャン画像、または映像の複数のフレームのうちの1フレームもしくはシーケンスとすることができる(206)。一部の実施形態では、視覚クエリはコンテンツオーサリングプログラム(図5、736)が作成する絵図である。そのため、一部の実施形態ではユーザが視覚クエリを「描く」のに対し、他の実施形態ではユーザが視覚クエリをスキャンしまたは撮影する。一部の視覚クエリは、Acrobat、写真編集プログラム、描画プログラム、画像編集プログラムなどの画像生成アプリケーションを使用して作成される。例えば視覚クエリは、ユーザが自身の携帯電話上で友人の写真を撮り、その写真を視覚クエリとしてサーバシステムにサブミットすることから生じることができる。視覚クエリは、ユーザが雑誌のページをスキャンし、またはデスクトップコンピュータ上でウェブページのスクリーンショットをとり、そのスキャンまたはスクリーンショットを視覚クエリとしてサーバシステムにサブミットすることから生じることもできる。一部の実施形態では、視覚クエリはブラウザアプリケーションの検索エンジン拡張機能により、ブラウザアプリケーション用のプラグインにより、またはクライアントシステム102が実行する検索アプリケーションによりサーバシステム106にサブミットされる。視覚クエリは、クライアントシステムが遠隔設置されたサーバに伝送可能な画像をサポートするか、または生成する、(クライアントシステムが実行する)他のアプリケーションプログラムによってサブミットしてもよい。
【0030】
視覚クエリは、テキスト要素と非テキスト要素との組合せとすることができる(208)。例えばクエリは、道路標識の隣に立っている人物など、画像およびテキストを含む雑誌ページのスキャンとすることができる。視覚クエリは、クライアントシステム内に埋め込まれるカメラによって撮影されたか、またはクライアントシステムによって、スキャンもしくは他の方法で受け取られたドキュメントからの人物の顔の画像を含むことができる。視覚クエリは、テキストだけを含むドキュメントのスキャンとすることもできる。視覚クエリは、森の中にいる数羽の鳥、人物とオブジェクト(例えば車、公園のベンチ等)、人物と動物(例えばペット、家畜、蝶等)など、数多くの別個のサブジェクトの画像とすることもできる。視覚クエリは、2つ以上の別個の要素を有してもよい。例えば視覚クエリは、バーコードと、製品の画像または製品パッケージ上の製品名とを含むことができる。例えば視覚クエリは、本のタイトル、表紙絵、およびバーコードを含む本の表紙の写真とすることができる。以下により詳細に論じるように、一部の例では1つの視覚クエリが、その視覚クエリの様々な部分に対応する2つ以上の別個の検索結果をもたらす。
【0031】
サーバシステムは、以下のように視覚クエリを処理する。フロントエンドサーバシステムが、同時処理用の複数の並列検索システムに視覚クエリを送る(210)。各検索システムは互いに異なる視覚クエリ検索処理を実施し、すなわち個々の検索システムは独自の処理スキームにより視覚クエリを処理する。
【0032】
一部の実施形態では、処理するために視覚クエリが送られる検索システムの1つが光学的文字認識(OCR)検索システムである。一部の実施形態では、処理するために視覚クエリが送られる検索システムの1つが顔認識検索システムである。一部の実施形態では、互いに異なる視覚クエリ検索処理を実行する複数の検索システムは、少なくとも光学的文字認識(OCR)、顔認識、ならびにOCRおよび顔認識以外の別の画像によるクエリ処理を含む(212)。他の画像によるクエリ処理は、これだけに限定されないが、製品認識、バーコード認識、オブジェクトまたはオブジェクトカテゴリ認識、固有表現認識、および色認識が含まれる1組の処理から選択される(212)。
【0033】
一部の実施形態では、OCR検索システムの後処理として固有表現認識が行われ、有名な人物、位置、オブジェクトなどがあるかどうかOCRのテキスト結果を解析し、固有表現であると特定した用語を用語クエリサーバシステム(図1、118)内で検索する。他の実施形態では、画像−用語検索システムが、有名な名所、ロゴ、人物、アルバムカバー、商標等の画像を認識する。他の実施形態では、画像−用語検索システムとは別に、独特の固有表現の画像によるクエリ処理を利用する。オブジェクトまたはオブジェクトカテゴリ認識システムは、「車」のような総称的な結果の種類を認識する。一部の実施形態では、このシステムは製品ブランド、特定の製品モデルなども認識し、「ポルシェ」のようなより具体的な説明を提供する。検索システムの一部は、特別なユーザに固有の検索システムとすることができる。例えば、色認識および顔認識の特定のバージョンを、目の不自由な人が使用する専用の検索システムとすることができる。
【0034】
フロントエンドサーバシステムが、並列検索システムから結果を受け取る(214)。一部の実施形態では、それらの結果に検索スコアが付随する。一部の視覚クエリでは、検索システムの一部は関連する結果を見出さない。例えば視覚クエリが花の写真であった場合、顔認識検索システムおよびバーコード検索システムは関連する結果を一切見出さない。一部の実施形態では、関連する結果が見出されない場合、ヌルまたはゼロの検索スコアをその検索システムから受け取る(216)。一部の実施形態では、あらかじめ定めた期間(例えば0.2秒、0.5秒、1秒、2秒、または5秒)を過ぎてもフロントエンドサーバが検索システムから結果を受け取らない場合、フロントエンドサーバは、あたかもそのタイムアウトしたサーバがヌルの検索スコアを生成したかのように受け取られる結果を処理し、他の検索システムから受け取る結果を処理する。
【0035】
場合により、受け取った検索結果の少なくとも2つが所定の基準を満たすとき、それらの検索結果をランク付けしてもよい(218)。一部の実施形態では、所定の基準の1つが無効な結果を除去する。所定の基準は、結果が無効ではないことである。一部の実施形態では、所定の基準の1つが、所定の最小スコアを下回る(例えば適合率に関する)数値スコアを有する結果を除去する。場合により、複数の検索結果をフィルタしてもよい(220)。一部の実施形態では、結果の総数が定義済み閾値を上回る場合にのみ結果をフィルタする。一部の実施形態ではすべての結果をランク付けするが、所定の最小スコアを下回る結果は除外する。一部の視覚クエリでは、結果のコンテンツをフィルタする。例えば、結果の一部が個人情報または個人が保護する情報を含む場合、それらの結果をフィルタにかけて除去する。
【0036】
場合により、視覚クエリサーバシステムは複合検索結果を作成してもよい(222)。複合検索結果を作成することの一実施形態は、図3に関して説明するように、対話型結果ドキュメント内に複数の検索システムの結果を埋め込む場合である。用語クエリサーバシステム(図1、118)は、用語検索の結果を用いて並列検索システムのうちの1つからの結果を増補してもよく、その追加の結果はドキュメントもしくは情報源へのリンク、または視覚クエリに関連し得る追加情報を含むテキストおよび/もしくは画像である。したがって、例えば複合検索結果は、OCRの結果とOCRドキュメント内の固有表現へのリンクとを含んでもよい(224)。
【0037】
一部の実施形態では、OCR検索システム(図1、112−B)またはフロントエンド視覚クエリ処理サーバ(図1、110)が、テキスト内の関連しそうな語を認識する。例えば、有名な人物や場所などの固有表現を認識し得る。固有表現は、クエリ用語として用語クエリサーバシステム(図1、118)にサブミットされる。一部の実施形態では、用語クエリサーバシステムがもたらす用語クエリの結果を、視覚クエリの結果の中に「リンク」として埋め込む。一部の実施形態では、用語クエリの結果が別個のリンクとして返される。例えば本の表紙の写真が視覚クエリである場合、その本についてオブジェクト認識検索システムが高スコアのヒットをもたらす可能性が高い。そのため、その本のタイトルを得るための用語クエリが用語クエリサーバシステム118上で実行され、視覚クエリの結果とともに用語クエリの結果が返される。一部の実施形態では、用語クエリの結果をラベル付けしたグループ内に提示して、それらを視覚クエリの結果と区別する。結果は個々に検索してもよく、または特に関連のある追加の検索結果をもたらすために、検索クエリ内で認識されるすべての固有表現を使用して検索を行ってもよい。例えば、視覚クエリがパリに関するスキャンされた旅行パンフレットである場合、返される結果は、用語クエリ「ノートルダム」についての検索を開始するための、用語クエリサーバシステム118へのリンクを含むことができる。同様に、複合検索結果は、一般に認められた有名な画像に関するテキスト検索の結果を含む。例えば同じ旅行パンフレットにおいて、「エッフェル塔」や「ルーブル」のようにパンフレット内に写真として示されている有名な目的地についての用語クエリの結果へのライブリンクも(たとえ用語「エッフェル塔」および「ルーブル」がパンフレット自体に登場しなくても)示してもよい。
【0038】
次いで、視覚クエリサーバシステムが少なくとも1つの結果をクライアントシステムに送る(226)。典型的には、視覚クエリ処理サーバが複数の検索システムの少なくとも一部から複数の検索結果を受け取る場合、視覚クエリ処理サーバは、その複数の検索結果のうちの少なくとも1つをクライアントシステムに送る。一部の視覚クエリでは、1つの検索システムだけが関連する結果を返す。例えば、テキストの画像だけを含む視覚クエリでは、OCRサーバの結果だけが関連する場合がある。一部の視覚クエリでは、1つの検索システムからの1つの結果だけが関連する場合がある。例えば、スキャンしたバーコードに関係する製品だけが関連する場合がある。これらの例では、フロントエンド視覚処理サーバは、関連する1つまたは複数の検索結果だけを返す。一部の視覚クエリでは、複数の検索結果がクライアントシステムに送られ、その複数の検索結果は並列検索システムのうちの複数からの検索結果を含む(228)。これは、視覚クエリの中に複数の別個の画像がある場合に起こり得る。例えば、視覚クエリが馬に乗っている人物の写真であった場合、馬に関するオブジェクト認知結果とともに、その人物の顔認識の結果を表示することができる。一部の実施形態では、特定の画像によるクエリ検索システムのすべての結果をグループ化し、まとめて提供する。例えば、上位N個の顔認識結果を見出し「顔認識結果」の下に表示し、上位N個のオブジェクト認識結果を見出し「オブジェクト認識結果」の下にまとめて表示する。あるいは、以下に論じるように、特定の画像検索システムからの検索結果を画像領域によってグループ化することができる。例えば視覚クエリが2つの顔を含む場合、その両方が顔認識結果をもたらし、それぞれの顔についての結果が別個のグループとして提示される。一部の視覚クエリ(例えばテキストおよび1つまたは複数のオブジェクトの両方の画像を含む視覚クエリ)では、検索結果はOCRの結果と1つまたは複数の画像一致の結果とを含み得る(230)。
【0039】
一部の実施形態では、ユーザが特定の検索結果についてもっと詳しく知りたい場合がある。例えば、視覚クエリがイルカの写真であり、「画像−用語」検索システムが用語「水」、「イルカ」、「青」、および「ひれ足」を返す場合、ユーザは「ひれ足」についてのテキストベースクエリ用語検索を実行したい場合がある。ユーザが(例えば検索結果内の対応するリンクをクリックし、または他の方法で選択することにより指示するように)用語クエリによる検索を実行したい場合、クエリ用語サーバシステム(図1、118)にアクセスし、選択した1つまたは複数の用語による検索を実行する。対応する検索語の結果が、別個にまたは視覚クエリの結果と併せてクライアントシステム上に表示される(232)。一部の実施形態では、フロントエンド視覚クエリ処理サーバ(図1、110)が、自動で(すなわち最初の視覚クエリ以外のユーザコマンドを一切受け取ることなしに)視覚クエリについての1つまたは複数の最も可能性があるテキスト結果を選択し、用語クエリサーバシステム118上でそれらのテキスト結果を実行し、少なくとも1つの検索結果をクライアントシステムに送ることの一部として、視覚クエリの結果とともにそれらの用語クエリの結果をクライアントシステムに返す(232)。上記の例では、「ひれ足」がイルカの視覚クエリ写真についての第1の用語結果であった場合、フロントエンドサーバは「ひれ足」による用語クエリを実行し、視覚クエリの結果とともにそれらの用語クエリの結果をクライアントシステムに返す。視覚クエリの検索結果をユーザに送る前に、ユーザが選択するのではないかと思われる用語結果を自動で実行するこの実施形態は、ユーザの時間を節約する。一部の実施形態では、上記で説明したようにこれらの結果を複合検索結果として表示する(222)。他の実施形態では、結果は、複合検索結果の代わりに、または複合検索結果に加えて、検索結果一覧の一部である。
【0040】
図3は、対話型結果ドキュメントにより視覚クエリに応答するプロセスを示すフローチャートである。最初の3つの動作(202、210、214)は図2に関して上述した。並列検索システムから受け取った検索結果から(214)、対話型結果ドキュメントを作成する(302)。
【0041】
次に対話型結果ドキュメントを作成すること(302)について詳しく説明する。一部の視覚クエリでは、対話型結果ドキュメントが、視覚クエリのそれぞれの副部分の1つまたは複数の視覚的識別子を含む。それぞれの視覚的識別子は、検索結果の少なくとも1つへの少なくとも1つのユーザ選択可能リンクを有する。視覚的識別子は、視覚クエリのそれぞれの副部分を識別する。一部の視覚クエリでは、対話型結果ドキュメントが、1つまたは複数の結果への1つのユーザ選択可能リンクを有する1つの視覚的識別子しか有さない。一部の実施形態では、検索結果の1つまたは複数へのそれぞれのユーザ選択可能リンクが活性化領域を有し、その活性化領域は、対応する視覚的識別子に関連する視覚クエリの副部分に対応する。
【0042】
一部の実施形態では、視覚的識別子が境界ボックスである(304)。一部の実施形態では、その境界ボックスは、図12Aに示すように視覚クエリの副部分を囲む。境界ボックスは正方形または長方形のボックス型である必要はなく、図12Bに示すように円形、楕円形、(例えば視覚クエリ内のオブジェクトに、視覚クエリ内のエンティティに、または視覚クエリの領域に)準拠する形、不整形、または他の任意の形を含む任意の種類の形とすることができる。一部の視覚クエリでは、境界ボックスが視覚クエリの副部分内の識別可能エンティティの境界の輪郭を描く(306)。一部の実施形態では、各境界ボックスが1つまたは複数の検索結果へのユーザ選択可能リンクを含み、そのユーザ選択可能リンクは、境界ボックスによって囲まれる、視覚クエリの副部分に対応する活性化領域を有する。ユーザが境界ボックス内の空間(ユーザ選択可能リンクの活性化領域)を選択すると、輪郭が描かれた副部分の中の画像に対応する検索結果が返される。
【0043】
一部の実施形態では、図14に示すように視覚的識別子がラベルである(307)。一部の実施形態では、ラベルは、視覚クエリのそれぞれの副部分内の画像に関連する少なくとも1つの用語を含む。各ラベルは、それぞれの副部分上またはその付近において対話型結果ドキュメント内で提示するためにフォーマットされる。一部の実施形態ではラベルを色分けする。
【0044】
一部の実施形態では、視覚クエリのそれぞれの副部分内で認識されるエンティティの種類に応じて、視覚的に区別できる方法で提示するためにそれぞれの視覚的識別子をフォーマットする。例えば図13に示すように、製品、人物、商標、および2つのテキスト領域を取り囲む境界ボックスを、各様に特色を与えられた透明な境界ボックスを表す互いに異なるクロスハッチングパターンを使ってそれぞれ提示する。一部の実施形態では、オーバーレイの色、オーバーレイパターン、ラベルの背景色、ラベルの背景パターン、ラベルのフォントの色、枠線色など、視覚的に区別できる方法で提示するために視覚的識別子をフォーマットする。
【0045】
一部の実施形態では、対話型結果ドキュメント内のユーザ選択可能リンクは、視覚クエリの対応する副部分に関係する1つまたは複数の結果を含むドキュメントもしくはオブジェクトへのリンクである(308)。一部の実施形態では、少なくとも1つの検索結果が視覚クエリの対応する副部分に関係するデータを含む。そのため、ユーザがそれぞれの副部分に関連する選択可能リンクを選択すると、ユーザは視覚クエリのそれぞれの副部分内で認識されるエンティティに対応する検索結果に導かれる。
【0046】
例えば、視覚クエリがバーコードの写真であった場合、そのバーコードが添付された包装の無関連部分である写真の部分があり得る。対話型結果ドキュメントは、バーコードだけを取り囲む境界ボックスを含んでもよい。ユーザが、輪郭が描かれたバーコードの境界ボックス内を選択すると、そのバーコードの検索結果が表示される。バーコードの検索結果は、1つの結果、そのバーコードに対応する製品名を含んでもよく、またはバーコードの結果は、その製品を購入、吟味等できる様々な場所など、いくつかの結果を含んでもよい。
【0047】
一部の実施形態では、それぞれの視覚的識別子に対応する視覚クエリの副部分が1つまたは複数の語からなるテキストを含む場合、それぞれの視覚的識別子に対応する検索結果は、そのテキスト内の語の少なくとも1つによる用語クエリ検索の結果を含む。一部の実施形態では、それぞれの視覚的識別子に対応する視覚クエリの副部分が、所定の信頼性(または他の)基準を満たす少なくとも1つの一致(すなわち検索結果)が見出される人物の顔を含む場合、それぞれの視覚的識別子に対応する検索結果は、選択可能な副部分内に顔が含まれている人物、選択可能な副部分内に顔が含まれている人物の他の画像、およびその人物の顔に関する潜在的な画像の一致に関連する名前、ハンドル、連絡先情報、アカウント情報、アドレス情報、かかわりのあるモバイル機器の現在地のうちの1つまたは複数を含む。一部の実施形態では、それぞれの視覚的識別子に対応する視覚クエリの副部分が、所定の信頼性(または他の)基準を満たす少なくとも1つの一致(すなわち検索結果)が見出される製品を含む場合、それぞれの視覚的識別子に対応する検索結果は、製品情報、製品レビュー、その製品の購入を開始するオプション、その製品に対する入札を開始するオプション、同様の製品の一覧、および関連製品の一覧のうちの1つまたは複数を含む。
【0048】
場合により、対話型結果ドキュメント内のそれぞれのユーザ選択可能リンクは、リンクを活性化する必要なしにドキュメント内に表示されるアンカーテキストを含んでもよい。アンカーテキストは、リンクを活性化するときに得られる情報に関係する主要語や重要語などの情報を提供する。アンカーテキストは、ラベルの一部として(307)、または境界ボックスの一部の中に(304)、またはユーザが1秒などの所定期間にわたりユーザ選択可能リンク上にカーソルを乗せるときに表示される追加情報として表示されてもよい。
【0049】
場合により、対話型結果ドキュメント内のそれぞれのユーザ選択可能リンクは、テキストベースクエリ(本明細書では用語クエリと呼ぶこともある)に対応する情報またはドキュメントを検索するための検索エンジンへのリンクであってもよい。リンクを活性化することは検索エンジンによる検索の実行を引き起こし、クライアントシステムに結果が返されることを伴い、クエリおよび検索エンジンはリンクによって指定される(例えば検索エンジンはリンク内のURLによって指定され、テキストベースの検索クエリはリンクのURLパラメータによって指定される)。場合により、この例におけるリンクは、検索クエリ内のテキストまたは語に特性をもたせるアンカーテキストを含んでもよい。
【0050】
一部の実施形態では、視覚クエリに応答して生成される対話型結果ドキュメントが、同じ検索システムからの結果に対応する複数のリンクを含むことができる。例えば、視覚クエリを人の集団の画像または写真としてもよい。対話型結果ドキュメントは、それぞれの人物を取り囲む境界ボックスを含んでもよく、その境界ボックスは活性化されると、その集団の中の顔ごとに顔認識検索システムからの結果を返す。一部の視覚クエリでは、対話型結果ドキュメント内の複数のリンクが、複数の検索システムからの検索結果に対応する(310)。例えば、人物と犬の写真が視覚クエリとしてサブミットされた場合、対話型結果ドキュメント内の境界ボックスは、その人物と犬とで別々に輪郭を描いてもよい。(対話型結果ドキュメント内の)人物を選択すると、顔認識検索システムからの検索結果が返され、(対話型結果ドキュメント内の)犬を選択すると、画像−用語検索システムからの結果が返される。一部の視覚クエリでは、対話型結果ドキュメントがOCRの結果と画像一致の結果とを含む(312)。例えば、標識の隣に立っている人物の写真が視覚クエリとしてサブミットされた場合、対話型結果ドキュメントは、その人物の視覚的識別子とその標識内のテキストの視覚的識別子とを含んでもよい。同様に、雑誌のスキャンが視覚クエリとして使用された場合、対話型結果ドキュメントは、そのページ上の広告内の写真または商標の視覚的識別子、ならびに同じくそのページ上の記事のテキストの視覚的識別子を含んでもよい。
【0051】
対話型結果ドキュメントを作成した後、その対話型結果ドキュメントをクライアントシステムに送る(314)。一部の実施形態では、対話型結果ドキュメント(例えば図15、ドキュメント1200)を、図2に関して上記で論じたように1つまたは複数の並列検索システムからの検索結果一覧と併せて送る。一部の実施形態では、図15に示すように、対話型結果ドキュメントを、1つまたは複数の並列検索システムからの検索結果一覧の上にあるいはその一覧に隣接してクライアントシステムにおいて表示する(315)。
【0052】
場合により、ユーザは、結果ドキュメント内の視覚的識別子を選択することにより結果ドキュメントと対話してもよい。サーバシステムは、対話型結果ドキュメント内の視覚的識別子についてのユーザ選択に関する情報をクライアントシステムから受け取る(316)。上記で論じたように、一部の実施形態では、リンクは境界ボックス内の活性化領域を選択することによって活性化される。他の実施形態では、リンクは、境界ボックスではない視覚クエリの副部分の視覚的識別子をユーザが選択することによって活性化される。一部の実施形態では、リンクされた視覚的識別子は、ホットボタン、副部分の近くに位置するラベル、テキスト内の下線を引いた語、または視覚クエリ内のオブジェクトもしくはサブジェクトの他の表現である。
【0053】
検索結果一覧が対話型結果ドキュメントとともに提示される実施形態では(315)、ユーザがユーザ選択可能リンクを選択すると(316)、選択されたリンクに対応する検索結果一覧内の検索結果が特定される。一部の実施形態では、選択されたリンクに対応する最初の結果にカーソルがジャンプし、または自動的に移動する。対話型結果ドキュメントおよび全検索結果一覧の両方を表示するにはクライアント102のディスプレイが小さすぎる一部の実施形態では、対話型結果ドキュメント内のリンクを選択することが、選択されたリンクに対応する少なくとも最初の結果を表示するように、検索結果一覧をスクロールまたはジャンプさせる。他の一部の実施形態では、対話型結果ドキュメント内のリンクをユーザが選択することに応答し、そのリンクに対応する最初の結果が結果一覧の最も上に表示されるように結果一覧を並べ替える。
【0054】
一部の実施形態では、ユーザがユーザ選択可能リンクを選択すると(316)、視覚クエリサーバシステムが、視覚クエリの対応する副部分に関係する結果の少なくとも一部をユーザに表示するためにクライアントに送る(318)。一部の実施形態では、ユーザは複数の視覚的識別子を同時に選択することができ、選択した視覚的識別子のすべての結果の一部を同時に受け取る。他の実施形態では、対話型結果ドキュメント内の1つまたは複数のリンクをユーザが選択することに応答してほぼ瞬時に検索結果をユーザに提供するために、ユーザ選択可能リンクのいずれかをユーザが選択する前に、ユーザ選択可能リンクに対応する検索結果をクライアント上にあらかじめロードしておく。
【0055】
図4は、クライアントと視覚クエリサーバシステムとの間の通信を示すフローチャートである。クライアント102が、ユーザ/クエリ側から視覚クエリを受け取る(402)。一部の実施形態では、視覚クエリシステムにサインアップし、または「オプトイン」しているユーザからのみ視覚クエリを受け付けることができる。一部の実施形態では、顔認識の一致を得るための検索は顔認識視覚クエリシステムにサインアップしているユーザに対してのみ実行される一方で、他の種類の視覚クエリは、顔認識部分に「オプトイン」しているかいないかに関係なく誰に対しても実行される。
【0056】
上記で説明したように、視覚クエリの形式は多くの形態をとることができる。視覚クエリは、視覚クエリドキュメントの副部分内に位置する1つまたは複数のサブジェクトを含む可能性が高い。一部の視覚クエリでは、クライアントシステム102が視覚クエリに対してタイプ認識事前処理を実行する(404)。一部の実施形態では、クライアントシステム102が、この事前処理システム内で特定の認識可能パターンを検索する。例えば一部の視覚クエリでは、クライアントが色を認識し得る。一部の視覚クエリでは、クライアントは特定の副部分が(その領域が淡い空間によって囲まれる小さな濃い文字で構成されている等の理由で)テキストを含む可能性が高いと認識し得る。クライアントは、任意の数の事前処理タイプ認識器またはタイプ認識モジュールを含み得る。一部の実施形態では、クライアントが、バーコードを認識するためのタイプ認識モジュール(バーコード認識406)を有する。クライアントは、長方形領域内の特有の縞模様を認識することによってバーコードを認識し得る。一部の実施形態では、クライアントは、視覚クエリの特定のサブジェクトまたは副部分が顔を含む可能性が高いことを認識するためのタイプ認識モジュール(顔検出408)を有する。
【0057】
一部の実施形態では、認識した「タイプ」を検証するためにユーザに返す。例えばクライアントシステム102は、「あなたの視覚クエリの中にバーコードが見つかりました。バーコードのクエリ結果を受け取りたいですか?」と述べるメッセージを返すことができる。一部の実施形態では、メッセージは、そのタイプが見つかった視覚クエリの副部分さえも示し得る。一部の実施形態では、この提示は図3に関して論じた対話型結果ドキュメントに似ている。例えばこの提示は、視覚クエリの副部分の輪郭を描いてもよく、その副部分が顔を含む可能性が高いことを示してもよく、ユーザに顔認識結果を受け取りたいかどうか尋ねてもよい。
【0058】
クライアント102が視覚クエリのオプションの事前処理を実行した後、クライアントは、その視覚クエリを視覚クエリサーバシステム106、とりわけフロントエンド視覚クエリ処理サーバ110に送る。一部の実施形態では、事前処理が関連する結果をもたらした場合、すなわちタイプ認識モジュールの1つが、クエリまたはクエリの副部分が特定のタイプ(顔、テキスト、バーコード等)のものである可能性が高いことを示す一定の閾値を上回る結果をもたらした場合、クライアントは事前処理の結果に関する情報を伝える。例えばクライアントは、視覚クエリの特定の副部分が顔を含むと顔認識モジュールが75%確信していることを示し得る。より一般には、事前処理の結果が、もしあれば、1つまたは複数のサブジェクトタイプ値(例えばバーコード、顔、テキスト等)を含む。場合により、視覚クエリサーバシステムに送られる事前処理の結果は、事前処理結果内の各サブジェクトタイプ値について、そのサブジェクトタイプ値に対応する視覚クエリの副部分を特定する情報、ならびに事前処理結果内の各サブジェクトタイプ値について、そのサブジェクトタイプ値の信頼水準を示す信頼値および/または視覚クエリの対応する副部分の特定についての信頼水準を示す信頼値のうちの1つまたは複数を含んでもよい。
【0059】
フロントエンドサーバ110が、クライアントシステムから視覚クエリを受け取る(202)。受け取られる視覚クエリは、上記で論じた事前処理情報を含み得る。上記で説明したように、フロントエンドサーバが視覚クエリを複数の並列検索システムに送る(210)。特定の種類のサブジェクトを副部分が含んでいた可能性に関する事前処理情報をフロントエンドサーバ110が受け取る場合、フロントエンドサーバは、この情報を並列検索システムの1つまたは複数に伝えてもよい。例えばフロントエンドサーバは、特定の副部分が顔である可能性が高いという情報を伝えてもよく、それにより、顔認識検索システム112−Aは視覚クエリのその小区分を最初に処理することができる。同様に、その副部分を無視するために、または他の副部分を最初に解析するために、他の並列検索システムは(特定の副部分が顔である可能性が高いという)同一情報を送ることを使用してもよい。一部の実施形態では、フロントエンドサーバは、事前処理情報を並列検索システムに伝えないが、代わりにこの情報を使用して、並列検索システムから受け取る結果を自らが処理する方法を増強する。
【0060】
図2に関して説明したように、一部の視覚クエリに関しては、フロントエンドサーバ110が並列検索システムから複数の検索結果を受け取る(214)。次いで、図2および図3に関して説明したように、フロントエンドサーバは、様々なランク付けおよびフィルタリングを実行してもよく、対話型検索結果ドキュメントを作成してもよい。特定の種類のサブジェクトを副部分が含んでいた可能性に関する事前処理情報をフロントエンドサーバ110が受け取る場合、フロントエンドサーバは、事前処理され認識されたサブジェクトタイプに一致する結果を優先することにより、フィルタおよび順序付けしてもよい。特定の種類の結果を要求したことをユーザが示した場合、フロントエンドサーバは結果を処理する際にユーザの要求を考慮に入れる。例えばフロントエンドサーバは、ユーザがバーコード情報だけを要求した場合、他のすべての結果をフィルタにかけて除去してもよく、または他の結果を列挙する前に要求された種類に関連するすべての結果を列挙する。対話型視覚クエリドキュメントが返される場合、サーバは、ユーザが関心をもっていると示した結果の種類に関連するリンクを事前に検索し得る一方で、対話型結果ドキュメント内に示される他のサブジェクトについては、関係する検索を行うためのリンクを提供するに過ぎない。次いで、フロントエンドサーバ110が、検索結果をクライアントシステムに送る(226)。
【0061】
クライアント102が、サーバシステムから結果を受け取る(412)。該当する場合、これらの結果は事前処理段階で見つかる結果の種類に一致する結果を含む。例えば一部の実施形態では、これらの結果は、1つもしくは複数のバーコードの結果(414)、または1つもしくは複数の顔認識の結果(416)を含む。特定の種類の結果が見込まれることをクライアントの事前処理モジュールが示し、その結果が見つかった場合、その種類の見つかった結果を目立つように列挙する。
【0062】
場合により、ユーザが結果の1つまたは複数を選択し、または注釈を付けてもよい(418)。ユーザは、1つの検索結果を選択してもよく、特定の種類の検索結果を選択してもよく、かつ/または対話型結果ドキュメントの一部を選択してもよい(420)。結果が選択されることは、返した結果がクエリに関連していたという暗黙のフィードバックである。そのようなフィードバック情報は、将来のクエリ処理操作で利用することができる。注釈は返された結果に関する明示的なフィードバックを提供し、同じく将来のクエリ処理操作で利用することができる。注釈は、(誤ってOCRされた語を訂正するように)返された結果の一部を訂正すること、または(自由な形式のまたは構造化された)別個の注釈の形をとる。
【0063】
ユーザが1つの検索結果を選択すること、一般にいくつかの同じ種類から「正しい」結果を選択すること(例えば顔認識サーバからの正しい結果を選択すること)は、解釈の中での選択(selection among interpretations)と呼ばれるプロセスである。ユーザが特定の種類の検索結果を選択すること、一般にいくつかの異なる種類の返される結果から関心のある結果の「種類」を選択すること(例えば雑誌の中の広告の視覚的結果ではなく、やはり同じページ上の記事のOCRされたテキストを選択すること)は、意図の曖昧性除去と呼ばれるプロセスである。図8に関して詳しく説明するように、ユーザは、OCRされたドキュメント内の特定のリンクされた語(認識されている固有表現など)を同様に選択してもよい。
【0064】
ユーザは、代わりにまたは加えて、特定の検索結果に注釈を付けたいことがある。この注釈を付けることは、自由形式スタイルで、または構造化された形式で行ってもよい(422)。注釈は、結果の説明としてもよく、または結果のレビューとしてもよい。例えば注釈は、結果内の1つもしくは複数のサブジェクトの名前を示してもよく、または「これは良書だ」や「この製品は購入してから1年以内に壊れた」ことを示すことができる。注釈の別の例は、視覚クエリの副部分を取り囲むユーザによって描かれる境界ボックス、および境界ボックス内のオブジェクトまたはサブジェクトを特定するユーザによって提供されるテキストである。ユーザの注釈については図5に関してより詳細に説明する。
【0065】
検索結果のユーザ選択および他の注釈をサーバシステムに送る(424)。フロントエンドサーバ110がその選択および注釈を受け取り、それらをさらに処理する(426)。この情報が、対話型結果ドキュメント内のオブジェクト、副領域、または用語の選択であった場合、その選択に関するさらなる情報を必要に応じて要求してもよい。例えば選択が1つの視覚的結果についての選択であった場合、その視覚的結果に関するさらなる情報が要求される。選択が(OCRサーバまたは画像−用語サーバからの)語であった場合、その語のテキスト検索が用語クエリサーバシステム118に送られる。選択が顔画像認識検索システムからの人物についての選択であった場合、その人物のプロファイルが要求される。選択が対話型検索結果ドキュメントの特定の部分についてのものであった場合、基礎をなす視覚クエリの結果が要求される。
【0066】
サーバシステムが注釈を受け取る場合、図5に関して説明するように、その注釈はクエリ/注釈データベース116内に記憶される。その後、図7〜10に関して以下で論じるように、注釈データベース116からの情報を、並列サーバシステムの1つまたは複数のための個々の注釈データベースに周期的にコピーする。
【0067】
図5は、本発明の一実施形態によるクライアントシステム102を示すブロック図である。クライアントシステム102は、典型的には1個または複数個の処理ユニット(CPU)702、1つまたは複数のネットワークインターフェイスもしくは他の通信インターフェイス704、メモリ712、およびこれらのコンポーネントを相互接続するための1つまたは複数の通信バス714を含む。クライアントシステム102は、ユーザインターフェイス705を含む。ユーザインターフェイス705は、ディスプレイ装置706を含み、場合によりキーボード、マウス、他の入力ボタン708などの入力手段を含んでもよい。あるいは、またはそれに加えて、ディスプレイ装置706はタッチセンス表面709を含み、その場合、ディスプレイ706/709はタッチセンスディスプレイである。タッチセンスディスプレイ706/709を有するクライアントシステムでは、物理的なキーボードはオプションである(例えばキーボード入力が必要な場合はソフトキーボードを表示してもよい)。さらに、一部のクライアントシステムは、マイクロフォンおよび音声認識を使用してキーボードを補足しまたは置換する。場合により、クライアント102は、自らの位置を求めるためのGPS(地球投影位置決定衛星)受信機または他の位置検出機器707を含んでもよい。一部の実施形態では、クライアントシステム102の位置を示す位置情報をクライアントシステム102が視覚クエリサーバシステムに提供することを要求する、視覚クエリ検索サービスが提供される。
【0068】
クライアントシステム102は、カメラやスキャナなどの画像取込装置710も含む。メモリ712には、DRAM、SRAM、DDR RAM、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリが含まれ、1つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶デバイスなどの不揮発性メモリが含まれ得る。メモリ712には、1個または複数個のCPU702から離れて位置する1つまたは複数の記憶装置が場合により含まれ得る。メモリ712あるいはメモリ712内の1つまたは複数の不揮発性メモリ装置は、持続性コンピュータ可読記憶媒体を含んでもよい。一部の実施形態では、メモリ712またはメモリ712のコンピュータ可読記憶媒体が、以下のプログラム、モジュール、およびデータ構造またはその一部を記憶する。
・ 様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム716。
・ クライアントシステム102を、1つまたは複数の通信ネットワークインターフェイス704(有線または無線)、およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つまたは複数の通信ネットワークを介して他のコンピュータに接続するために使用するネットワーク通信モジュール718。
・ 画像取込装置/カメラ710が取り込んだそれぞれの画像を処理するための画像取込モジュール720であって、それぞれの画像は(例えばクライアントアプリケーションモジュールにより)、視覚クエリとして視覚クエリサーバシステムに送ってもよい。
・ これだけに限定されないが、視覚クエリサーバシステムに視覚クエリをサブミットするための画像によるクエリサブミットモジュール724、場合により、画像内の関心領域が選択されたこと(タッチセンスディスプレイ706/709上でのジェスチャなど)を検出し、その関心領域を視覚クエリとして準備する関心領域選択モジュール725、視覚クエリの結果を表示するための結果ブラウザ726、および場合により、フォームに記入するなどの構造化された注釈テキスト入力のためのオプションモジュール730を有し、または様々な形式からの注釈を受け付けることができる自由形式の注釈テキスト入力のためのオプションモジュール732を有し、ユーザが注釈用に画像の特定の副部分を選択することを可能にする画像領域選択モジュール734(本明細書では結果選択モジュールと呼ぶこともある)を有する注釈モジュール728を含んでもよい、画像によるクエリを行う様々な側面を処理するための1つまたは複数のクライアントアプリケーションモジュール722。
・ 画像取込装置710により単に画像を取り込むのではなく、画像を作成しまたは編集することによりユーザが視覚クエリを作成することを可能にする、1つまたは複数のオプションのコンテンツオーサリングアプリケーション736、場合により、そのようなアプリケーション736の1つは、視覚クエリとして使用するための画像の副部分をユーザが選択できるようにする命令を含んでもよい。
・ 視覚クエリサーバシステムに送る前に視覚クエリを事前処理する、オプションのローカル画像解析モジュール738。ローカル画像解析は、特定の種類の画像または画像内の副領域を認識し得る。そのようなモジュール738が認識し得る画像の種類の例には、顔タイプ(視覚クエリ内で認識される顔画像)、バーコードタイプ(視覚クエリ内で認識されるバーコード)、およびテキストタイプ(視覚クエリ内で認識されるテキスト)のうちの1つまたは複数が含まれる。
・ 電子メールアプリケーション、電話アプリケーション、ブラウザアプリケーション、マッピングアプリケーション、インスタントメッセージングアプリケーション、ソーシャルネットワーキングアプリケーションなど、さらなるオプションのクライアントアプリケーション740。一部の実施形態では、作動可能検索結果を選択すると、該当する作動可能検索結果に対応するアプリケーションを起動し、またはそのアプリケーションにアクセスすることができる。
【0069】
場合により、ユーザが注釈用に画像の特定の副部分を選択することを可能にする画像領域選択モジュール734は、ユーザが、必ずしもさらなる注釈を付けることなく検索結果を「正しい」ヒットとして選択することも可能にする。例えば、ユーザに上位N個の顔認識の一致を提示してもよく、ユーザがその結果一覧から正しい人物を選択してもよい。一部の検索クエリでは、複数の種類の結果が提示され、ユーザは結果の種類を選択する。例えば、画像クエリが木の隣に立っている人物を含むが、ユーザはその人物に関する結果だけに興味がある場合がある。したがって画像選択モジュール734は、ユーザが、どの画像の種類が「正しい」種類であるか、すなわちそのユーザが受け取りたいと思う種類であるかを指示することを可能にする。ユーザは、(フォームに記入するための)注釈テキスト入力モジュール730または自由形式注釈テキスト入力モジュール732のいずれかを使用し、個人的なコメントまたは説明的な言葉を加えることにより検索結果に注釈を付けたい場合もある。
【0070】
一部の実施形態では、オプションのローカル画像解析モジュール738がクライアントアプリケーション(図1、108)の一部である。さらに一部の実施形態では、オプションのローカル画像解析モジュール738が、視覚クエリまたは視覚クエリの一部を事前処理しもしくは分類するためのローカル画像解析を実行するための、1つまたは複数のプログラムを含む。例えばクライアントアプリケーション722は、検索エンジンに視覚クエリをサブミットする前に画像がバーコード、顔、またはテキストを含むことを認識し得る。一部の実施形態では、視覚クエリが特定の種類の画像を含むとローカル画像解析モジュール738が検出する場合、そのモジュールは、対応する種類の検索結果に興味があるかどうかをユーザに尋ねる。例えば、ローカル画像解析モジュール738は、その一般的特徴に基づいて(すなわち誰の顔かを決定することなしに)顔を検出し得、視覚クエリサーバシステムにクエリを送る前にユーザに即時フィードバックを提供する。ローカル画像解析モジュール738は、「顔を検出しました。この顔について顔認識の一致を得たいですか?」のような結果を返してもよい。このようにすることで、視覚クエリサーバシステム(図1、106)の時間を節約し得る。一部の視覚クエリでは、フロントエンド視覚クエリ処理サーバ(図1、110)は、ローカル画像解析モジュール738が認識した画像の種類に対応する検索システム112にしか視覚クエリを送らない。他の実施形態では、検索システム112への視覚クエリは、検索システム112A〜Nのすべてに視覚クエリを送ってもよいが、ローカル画像解析モジュール738が認識した画像の種類に対応する、検索システム112からの結果をランク付けする。一部の実施形態では、視覚クエリサーバシステムの動作にローカル画像解析が影響を及ぼす様式は、クライアントシステムの構成、またはユーザもしくはクライアントシステムに関連する構成または処理パラメータによって決まる。さらに、任意の特定の視覚クエリの実際のコンテンツおよびローカル画像解析によってもたらされる結果は、クライアントシステムおよび視覚クエリサーバシステムのいずれかまたは両方において異なるように処理すべき異なる視覚クエリをもたらす場合がある。
【0071】
一部の実施形態では、バーコード認識を2つのステップで行い、視覚クエリがバーコードを含むかどうかの解析を、ローカル画像解析モジュール738においてクライアントシステム上で実行する。次いで、視覚クエリがバーコードを含む可能性が高いとクライアントが判断する場合にのみ、視覚クエリをバーコード検索システムに渡す。他の実施形態では、バーコード検索システムがすべての視覚クエリを処理する。
【0072】
場合により、クライアントシステム102は、追加のクライアントアプリケーション740を含んでもよい。
【0073】
図6は、本発明の一実施形態によるフロントエンド視覚クエリ処理サーバシステム110を示すブロック図である。フロントエンドサーバ110は、典型的には1個または複数個の処理ユニット(CPU)802、1つまたは複数のネットワークインターフェイスもしくは他の通信インターフェイス804、メモリ812、およびこれらのコンポーネントを相互接続するための1つまたは複数の通信バス814を含む。メモリ812には、DRAM、SRAM、DDR RAM、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリが含まれ、1つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶デバイスなどの不揮発性メモリが含まれ得る。メモリ812には、1個または複数個のCPU802から離れて位置する1つまたは複数の記憶装置が場合により含まれ得る。メモリ812あるいはメモリ812内の1つまたは複数の不揮発性メモリ装置は、持続性コンピュータ可読記憶媒体を含む。一部の実施形態では、メモリ812またはメモリ812のコンピュータ可読記憶媒体が、以下のプログラム、モジュール、およびデータ構造またはその一部を記憶する。
・ 様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム816。
・ フロントエンドサーバシステム110を、1つまたは複数の通信ネットワークインターフェイス804(有線または無線)、およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つまたは複数の通信ネットワークを介して他のコンピュータに接続するために使用するネットワーク通信モジュール818。
・ クライアントシステム102から来る視覚クエリを処理し、それらの視覚クエリを複数の並列検索システムに送るためのクエリマネージャ820であって、本明細書のいたるところに記載するように、視覚クエリがクライアントによって生成された命令(例えば「顔認識検索のみ」)を含む場合など、一部の特別な状況では視覚クエリを検索システムのうちの1つだけに導くことがある。
・ 1つまたは複数の並列検索システムからの結果を場合によりフィルタし、提示するために最上位のまたは「関連する」結果をクライアントシステム102に送るための結果フィルタリングモジュール822。
・ 1つまたは複数の並列検索システムからの結果を場合によりランク付けし、提示するために結果をフォーマットするための結果ランク付け/フォーマットモジュール824。
・ 結果ドキュメント作成モジュール826は、対話型検索結果ドキュメントを作成するために適切な場合に使用し、モジュール826は、これだけに限定されないが、境界ボックス作成モジュール828およびリンク作成モジュール830を含むサブモジュールを含んでもよい。
・ 視覚クエリのそれぞれの副部分の視覚的識別子であるラベルを作成するための、ラベル作成モジュール831。
・ ユーザから注釈を受け取り、それらの注釈を注釈データベース116に送るための注釈モジュール832。
・ 視覚クエリに応答し、クライアント側のアクションを起動するようにそれぞれが構成される、1つまたは複数の作動可能検索結果要素を生成するための作動可能検索結果モジュール838であって、作動可能検索結果要素の例は、通話を開始するためのボタン、電子メールメッセージを開始するためのボタン、住所の地図を描くためのボタン、レストランを予約するためのボタン、および製品を購入するオプションを提供するためのボタンである。
・ データベース自体834およびデータベースの索引836を含む、クエリ/注釈データベース116。
【0074】
結果ランク付け/フォーマットモジュール824は、1つまたは複数の並列検索システム(図1、112−A〜112−N)から返される結果をランク付けする。既に上記で述べたように、一部の視覚クエリでは、1つの検索システムからの結果しか関連しない場合がある。そのような場合、その1つの検索システムからの関連する検索結果だけをランク付けする。一部の視覚クエリでは、数種類の検索結果が関連することがある。これらの例では、一部の実施形態において、結果ランク付け/フォーマットモジュール824は、より関連性が低い検索システムの結果に優先して、最も関連する結果(例えば最も高い関連性スコアを有する結果)を有する検索システムからの結果のすべてをランク付けする。他の実施形態では、結果ランク付け/フォーマットモジュール824が、関連する各検索システムからの最上位の結果を残りの結果に優先してランク付けする。一部の実施形態では、結果ランク付け/フォーマットモジュール824が、検索結果のそれぞれについて計算される関連性スコアに従って結果をランク付けする。一部の視覚クエリでは、並列視覚検索システムによる検索に加えて拡張(augmented)テキストクエリを実行する。一部の実施形態では、テキストクエリも実行する場合、それらの結果を視覚検索システムの結果と視覚的に区別できる方法で提示する。
【0075】
結果ランク付け/フォーマットモジュール824はさらに、結果をフォーマットする。一部の実施形態では、結果が一覧形式で提示される。一部の実施形態では、結果が対話型結果ドキュメントによって提示される。一部の実施形態では、対話型結果ドキュメントおよび結果一覧の両方が提示される。一部の実施形態では、クエリの種類が、結果を提示する方法を決定づける。例えば、視覚クエリ内で複数の検索可能サブジェクトが検出される場合、対話型結果ドキュメントが作成されるのに対し、検索可能サブジェクトが1つしか検出されない場合、結果は一覧形式でのみ表示される。
【0076】
結果ドキュメント作成モジュール826は、対話型検索結果ドキュメントを作成するために使用する。対話型検索結果ドキュメントは、1つまたは複数の検出済みおよび検索済みサブジェクトを有し得る。境界ボックス作成モジュール828は、検索済みサブジェクトのうちの1つまたは複数を取り囲む境界ボックスを作成する。境界ボックスは長方形のボックスとしてもよく、または1つもしくは複数のサブジェクトの1つもしくは複数の形の輪郭を描いてもよい。リンク作成モジュール830は、対話型検索結果ドキュメント内のそれぞれのサブジェクトに関連する検索結果へのリンクを作成する。一部の実施形態では、境界ボックス領域内でクリックすることは、リンク作成モジュールが挿入した対応するリンクを活性化する。
【0077】
クエリ/注釈データベース116は、視覚クエリの結果を改善するために使用することができる情報を含む。一部の実施形態では、視覚クエリの結果が提示された後、ユーザは画像に注釈を付けてもよい。さらに一部の実施形態では、ユーザは、画像に注釈を付けてからその画像を視覚クエリ検索システムに送ってもよい。事前に注釈を付けることは、結果の的を絞ることにより、または視覚クエリ検索に並列して注釈が付けられた語に対するテキストベース検索を実行することにより、視覚クエリの処理を促進し得る。一部の実施形態では、潜在的な画像一致ヒットとして返されるように、注釈を付けたバージョンの写真を(例えばその画像および1つまたは複数の注釈を非公開ではないと指定することにより、例えばユーザに公開する許可が与えられている場合)公開することができる。例えば、ユーザが花の写真を撮り、その花に関する詳細な属および種の情報を与えることによりその画像に注釈を付ける場合、ユーザは、その花を探している視覚クエリ調査を行うすべての人にその画像を提示したい場合がある。一部の実施形態では、クエリ/注釈データベース116からの情報を並列検索システム112に周期的にプッシュし、並列検索システム112はその情報の関連部分を(もしあれば)個々のデータベース114内に取り入れる。
【0078】
図7は、視覚クエリを処理するために利用する並列検索システムのうちの1つを示すブロック図である。図7は、本発明の一実施形態による「汎用」サーバシステム112−Nを示す。このサーバシステムは、視覚クエリ検索サーバ112−Nのうちのいずれか1つを表すという点でのみ汎用である。汎用サーバシステム112−Nは、典型的には1個または複数個の処理ユニット(CPU)502、1つまたは複数のネットワークインターフェイスもしくは他の通信インターフェイス504、メモリ512、およびこれらのコンポーネントを相互接続するための1つまたは複数の通信バス514を含む。メモリ512には、DRAM、SRAM、DDR RAM、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリが含まれ、1つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶デバイスなどの不揮発性メモリが含まれ得る。メモリ512には、1個または複数個のCPU502から離れて位置する1つまたは複数の記憶装置が場合により含まれ得る。メモリ512あるいはメモリ512内の1つまたは複数の不揮発性メモリ装置は、持続性コンピュータ可読記憶媒体を含む。一部の実施形態では、メモリ512またはメモリ512のコンピュータ可読記憶媒体が、以下のプログラム、モジュール、およびデータ構造またはその一部を記憶する。
・ 様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム516。
・ 汎用サーバシステム112−Nを、1つまたは複数の通信ネットワークインターフェイス504(有線または無線)、およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つまたは複数の通信ネットワークを介して他のコンピュータに接続するために使用するネットワーク通信モジュール518。
・ 特定のサーバシステムに固有の検索アプリケーション520であって、検索アプリケーション520は、例えばバーコード検索アプリケーション、色認識検索アプリケーション、製品認識検索アプリケーション、オブジェクトまたはオブジェクトカテゴリ検索アプリケーション等としてもよい。
・ 特定の検索アプリケーションが索引を利用する場合は、オプションの索引522。
・ 特定の検索アプリケーションに関連する画像を記憶するためのオプションの画像データベース524であって、記憶される画像データは、もしあれば、検索処理の種類に依拠する。
・ 検索アプリケーションからの結果にランク付けするためのオプションの結果ランク付けモジュール526(関連性スコアリングモジュールと呼ぶこともある)であって、このランク付けモジュールは、検索アプリケーションからの結果ごとに関連性スコアを割り当ててもよく、所定の最小スコアに達する結果がない場合、このサーバシステムの結果が関連しないことを示すヌルまたはゼロ値スコアをフロントエンド視覚クエリ処理サーバに返してもよい。
・ 注釈データベース(図1、116)から注釈情報を受け取り、注釈情報のいずれかが特定の検索アプリケーションに関連するかどうかを判定し、注釈情報のうちの決定した任意の関連部分をそれぞれの注釈データベース530内に取り入れるための注釈モジュール528。
【0079】
図8は、本発明の一実施形態による、視覚クエリを処理するために利用するOCR検索システム112−Bを示すブロック図である。OCR検索システム112−Bは、典型的には1個または複数個の処理ユニット(CPU)602、1つまたは複数のネットワークインターフェイスもしくは他の通信インターフェイス604、メモリ612、およびこれらのコンポーネントを相互接続するための1つまたは複数の通信バス614を含む。メモリ612には、DRAM、SRAM、DDR RAM、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリが含まれ、1つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶デバイスなどの不揮発性メモリが含まれ得る。メモリ612には、1個または複数個のCPU602から離れて位置する1つまたは複数の記憶装置が場合により含まれ得る。メモリ612あるいはメモリ612内の1つまたは複数の不揮発性メモリ装置は、持続性コンピュータ可読記憶媒体を含む。一部の実施形態では、メモリ612またはメモリ612のコンピュータ可読記憶媒体が、以下のプログラム、モジュール、およびデータ構造またはその一部を記憶する。
・ 様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム616。
・ OCR検索システム112−Bを、1つまたは複数の通信ネットワークインターフェイス604(有線または無線)、およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つまたは複数の通信ネットワークを介して他のコンピュータに接続するために使用するネットワーク通信モジュール618。
・ 視覚クエリ内のテキストを認識しようと試み、文字画像を文字へと変換する光学的文字認識(OCR)モジュール620。
・ OCRモジュール620が特定のフォント、テキストパターン、および文字認識に固有の他の特徴を認識するために利用する、オプションのOCRデータベース114−B。
・ 変換された語を辞書と突き合わせて確認し、さもなければ辞書の語に一致する語の中のもしかしたら誤変換された文字を置換することにより、文字画像の文字への変換を改善するオプションのスペルチェックモジュール622。
・ 変換されたテキスト内で固有表現を探し、認識した固有表現を用語クエリ内の用語として用語クエリサーバシステム(図1、118)に送り、用語クエリサーバシステムからの結果を、認識した固有表現に関連するOCR済みテキスト内に埋め込まれたリンクとして提供する、オプションの固有表現認識モジュール624。
・ 変換されたセグメント(変換された文や段落など)をテキストセグメントのデータベースと突き合わせて確認し、さもなければテキスト一致アプリケーションのテキストセグメントに一致するOCR済みテキストセグメントの中のもしかしたら誤変換された文字を置換することにより、文字画像の文字への変換を改善するオプションのテキスト一致アプリケーション632であって、一部の実施形態では、テキスト一致アプリケーションが見つけるテキストセグメントがリンクとしてユーザに提供される(例えばユーザがNew York Timesの1ページをスキャンした場合、テキスト一致アプリケーションはNew York Timesのウェブサイト上に投稿されたすべての記事へのリンクを提供してもよい)。
・ OCRされた結果を提示するためにフォーマットし、固有表現へのオプションのリンクをフォーマットし、さらにテキスト一致アプリケーションからの関係する任意の結果を場合によりランク付けするための結果ランク付け/フォーマットモジュール626。
・ 注釈データベース(図1、116)から注釈情報を受け取り、注釈情報のいずれかがOCR検索システムに関連するかどうかを判定し、注釈情報のうちの決定した任意の関連部分をそれぞれの注釈データベース630内に取り入れるためのオプションの注釈モジュール628。
【0080】
図9は、本発明の一実施形態による、視覚クエリを処理するために利用する顔認識検索システム112−Aを示すブロック図である。顔認識検索システム112−Aは、典型的には1個または複数個の処理ユニット(CPU)902、1つまたは複数のネットワークインターフェイスもしくは他の通信インターフェイス904、メモリ912、およびこれらのコンポーネントを相互接続するための1つまたは複数の通信バス914を含む。メモリ912には、DRAM、SRAM、DDR RAM、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリが含まれ、1つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶デバイスなどの不揮発性メモリが含まれ得る。メモリ912には、1個または複数個のCPU902から離れて位置する1つまたは複数の記憶装置が場合により含まれ得る。メモリ912あるいはメモリ912内の1つまたは複数の不揮発性メモリ装置は、持続性コンピュータ可読記憶媒体を含む。一部の実施形態では、メモリ912またはメモリ912のコンピュータ可読記憶媒体が、以下のプログラム、モジュール、およびデータ構造またはその一部を記憶する。
・ 様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム916。
・ 顔認識検索システム112−Aを、1つまたは複数の通信ネットワークインターフェイス904(有線または無線)、およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つまたは複数の通信ネットワークを介して他のコンピュータに接続するために使用するネットワーク通信モジュール918。
・ 視覚クエリ内で提示される1つまたは複数の顔に一致する顔画像を顔画像データベース114−A内で検索し、顔画像データベース114−A内で見つかったそれぞれの一致に関連する情報を求めてソーシャルネットワークデータベース922を検索するための、顔認識検索アプリケーション920。
・ 複数のユーザの1つまたは複数の顔画像を記憶するための顔画像データベース114−Aであって、場合によりこの顔画像データベースは、家族や、ユーザおよび顔画像データベース114−A内に含まれる画像内にいると確認されている人物が知っている他者など、ユーザ以外の人物の顔画像を含み、場合によりこの顔画像データベースは、パブリックドメイン内で適法な顔画像の供給業者など、外部の情報源から得た顔画像を含んでもよい。
・ 場合により、図12Aに関してより詳細に論じるように、ソーシャルネットワークのユーザに関する名前、住所、職業、グループの帰属関係、ソーシャルネットワークのつながり、モバイル機器の現在のGPS位置、共有設定、関心、年齢、出身地、個人的統計、仕事情報などの情報を含む、ソーシャルネットワークデータベース922。
・ 顔画像データベース114−Aからの潜在的な顔の一致をランク付けし(例えば、潜在的な顔の一致に関連性スコアおよび/または一致品質スコアを割り当て)、提示するために結果をフォーマットするための結果ランク付け/フォーマットモジュール924であって、一部の実施形態では、結果のランク付けまたはスコア付けに、前述のソーシャルネットワークデータベースから取得した関連情報を利用し、一部の実施形態では、フォーマットされた検索結果が、潜在的な画像の一致ならびにソーシャルネットワークデータベースからの情報の一部を含む。
・ 注釈データベース(図1、116)から注釈情報を受け取り、注釈情報のいずれかが顔認識検索システムに関連するかどうかを判定し、注釈情報のうちの決定した任意の関連部分をそれぞれの注釈データベース928内に記憶するための注釈モジュール926。
【0081】
図10は、本発明の一実施形態による、視覚クエリを処理するために利用する画像−用語検索システム112−Cを示すブロック図である。一部の実施形態では、この画像−用語検索システムは視覚クエリ内のオブジェクトを認識する(インスタンス認識)。他の実施形態では、この画像−用語検索システムは視覚クエリ内のオブジェクトカテゴリを認識する(タイプ認識)。一部の実施形態では、この画像−用語システムは、オブジェクトおよびオブジェクトカテゴリの両方を認識する。この画像−用語検索システムは、視覚クエリ内の画像に関する潜在的な用語の一致を返す。画像−用語検索システム112−Cは、典型的には1個または複数個の処理ユニット(CPU)1002、1つまたは複数のネットワークインターフェイスもしくは他の通信インターフェイス1004、メモリ1012、およびこれらのコンポーネントを相互接続するための1つまたは複数の通信バス1014を含む。メモリ1012には、DRAM、SRAM、DDR RAM、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリが含まれ、1つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶デバイスなどの不揮発性メモリが含まれ得る。メモリ1012には、1個または複数個のCPU1002から離れて位置する1つまたは複数の記憶装置が場合により含まれ得る。メモリ1012あるいはメモリ1012内の1つまたは複数の不揮発性メモリ装置は、持続性コンピュータ可読記憶媒体を含む。一部の実施形態では、メモリ1012またはメモリ1012のコンピュータ可読記憶媒体が、以下のプログラム、モジュール、およびデータ構造またはその一部を記憶する。
・ 様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム1016。
・ 画像−用語検索システム112−Cを、1つまたは複数の通信ネットワークインターフェイス1004(有線または無線)、およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つまたは複数の通信ネットワークを介して他のコンピュータに接続するために使用するネットワーク通信モジュール1018。
・ 画像検索データベース114−C内で、視覚クエリ内の1つまたは複数のサブジェクトに一致する画像を検索する、画像−用語検索アプリケーション1020。
・ 視覚クエリの1つまたは複数のサブジェクトに似た画像を探すために、検索アプリケーション1020によって検索され得る画像検索データベース114−C。
・ テキストベースクエリ検索エンジン1006を使用して画像を検索する際にユーザが使用するテキスト用語を記憶する、用語−画像逆索引1022。
・ 潜在的な画像の一致をランク付けし、かつ/または用語−画像逆索引1022内で確認される、潜在的な画像の一致に関連する用語をランク付けするための、結果ランク付け/フォーマットモジュール1024。
・ 注釈データベース(図1、116)から注釈情報を受け取り、注釈情報のいずれかが画像−用語検索システム112−Cに関連するかどうかを判定し、注釈情報のうちの決定した任意の関連部分をそれぞれの注釈データベース1028内に記憶するための注釈モジュール1026。
【0082】
図5〜図10は、本明細書に記載の諸実施形態の構造上の概略図であるよりも、むしろ1組のコンピュータシステム内にあり得る様々な機能についての機能上の説明であることを意図する。実際には、および当業者によって理解されているように、別々に図示した項目を組み合わせることができ、一部の項目を分けてもよい。例えば、これらの図面の中で別々に示した一部の項目を単一のサーバ上に実装することができ、単一の項目を1つまたは複数のサーバによって実装することができる。視覚クエリの処理を実施するために使用するシステムの実際の数、およびそれらのシステム間でどのように機能を割り振るのかは実施形態ごとに異なる。
【0083】
本明細書に記載の方法のそれぞれは、持続性コンピュータ可読記憶媒体の中に記憶され、1つまたは複数のサーバもしくはクライアントの1個または複数個のプロセッサによって実行される命令に準拠し得る。上記に特定したモジュールまたはプログラム(すなわち命令のセット)は、必ずしも別個のソフトウェアプログラム、プロシージャ、またはモジュールとして実装する必要はなく、よって様々な実施形態において、これらのモジュールの様々なサブセットを組み合わせ、またさもなければ再編成してもよい。図5〜図10に示す操作のそれぞれは、コンピュータメモリまたは持続性コンピュータ可読記憶媒体の中に記憶される命令に対応し得る。
【0084】
図11は、例示的な視覚クエリ1102のスクリーンショットを有するクライアントシステム102を示す。図11に示すクライアントシステム102は、携帯電話、携帯型音楽プレーヤ、携帯型電子メール装置などのモバイル機器である。クライアントシステム102は、ディスプレイ706、およびこの図面の中に示すボタンのような1つまたは複数の入力手段708を含む。一部の実施形態では、ディスプレイ706がタッチセンスディスプレイ709である。タッチセンスディスプレイ709を有する実施形態では、ディスプレイ709上に表示されるソフトボタンが電気機械的ボタン708の一部またはすべてを場合により置換してもよい。以下により詳細に説明するように、タッチセンスディスプレイは、視覚クエリの結果と対話する際にも役立つ。クライアントシステム102は、カメラ710などの画像取込機構も含む。
【0085】
図11は、店の棚の上にあるパッケージの写真または映像フレームである視覚クエリ1102を示す。ここに記載する実施形態では、視覚クエリは、2つの次元のそれぞれにおいて視覚クエリのサイズに画素単位で対応する解像度を有する、二次元画像である。この例における視覚クエリ1102は、三次元オブジェクトの二次元画像である。視覚クエリ1102は、背景要素、製品パッケージ1104、ならびに人物の画像1106、商標の画像1108、製品の画像1110および様々なテキスト要素1112を含む、パッケージ上の様々な種類のエンティティを含む。
【0086】
図3に関して説明したように、視覚クエリ1102をフロントエンドサーバ110に送り、フロントエンドサーバ110は視覚クエリ1102を複数の並列検索システム(112A〜N)に送り、結果を受け取って対話型結果ドキュメントを作成する。
【0087】
図12Aおよび図12Bは、対話型結果ドキュメント1200の一実施形態のスクリーンショットを有するクライアントシステム102をそれぞれ示す。対話型結果ドキュメント1200は、視覚クエリ1102のそれぞれの副部分についての1つまたは複数の視覚的識別子1202を含み、その副部分は、検索結果の一部へのユーザ選択可能リンクをそれぞれ含む。図12Aおよび図12Bは、境界ボックス1202(例えば境界ボックス1202−1、1202−2、1202−3)である視覚的識別子を有する対話型結果ドキュメント1200を示す。図12Aおよび図12Bに示す実施形態では、ユーザは、境界ボックス1202によって輪郭が描かれる空間内の活性化領域上でタップすることにより、特定の副部分に対応する検索結果の表示を活性化する。例えばユーザは、人物の画像を取り囲んでいる境界ボックス1306(図13)上でタップすることにより、その人物の画像に対応する検索結果を活性化することになる。他の実施形態では、タッチセンスディスプレイではなく、マウスまたはキーボードを使用して選択可能リンクを選択する。一部の実施形態では、ユーザが境界ボックス1202をプレビューするとき(すなわちユーザが境界ボックス上でシングルクリックし、一度タップし、またはポインタを乗せるとき)、第1の対応する検索結果を表示する。ユーザがその境界ボックスを選択するとき(すなわちユーザがダブルクリックし、二度タップし、または別の機構を使用して選択したことを示すとき)、そのユーザは複数の対応する検索結果の表示を活性化する。
【0088】
図12Aおよび図12Bでは、視覚的識別子は、視覚クエリの副部分を取り囲んでいる境界ボックス1202である。図12Aは、正方形または長方形の境界ボックス1202を示す。図12Bは、ドリンクボトルの境界ボックス1202−3など、視覚クエリの副部分内の特定可能エンティティの境界の輪郭を描く境界ボックス1202を示す。一部の実施形態では、それぞれの境界ボックス1202が、その中により小さな境界ボックス1202を含む。例えば、図12Aおよび図12Bでは、パッケージを識別する境界ボックス1202−1が、商標を識別する境界ボックス1202−2および残りの境界ボックス1202のすべてを取り囲む。テキストを含む一部の実施形態では、テキスト用語の一部のためのアクティブホットリンク1204も含まれる。図12Bは、「Active Drink」および「United States」がホットリンク1204として表示されている一例を示す。これらの用語に対応する検索結果は、用語クエリサーバシステム118から受け取る結果であるのに対し、境界ボックスに対応する結果は、画像によるクエリ検索システムからの結果である。
【0089】
図13は、視覚クエリ内で認識されたエンティティのタイプごとにコード化された対話型結果ドキュメント1200のスクリーンショットを有するクライアントシステム102を示す。図11の視覚クエリは、人物の画像1106、商標の画像1108、製品の画像1110、および様々なテキスト要素1112を含む。そのため、図13内に表示される対話型結果ドキュメント1200は、人物1306、商標1308、製品1310、および2つのテキスト領域1312を取り囲む複数の境界ボックス1202を含む。図13の境界ボックスは、各様に特色を与えられた透明な境界ボックス1202を表す別個のクロスハッチングを使ってそれぞれ提示する。一部の実施形態では、オーバーレイの色、オーバーレイパターン、ラベルの背景色、ラベルの背景パターン、ラベルのフォントの色、境界ボックスの枠線色など、視覚的に区別できる方法で提示するために境界ボックスの視覚的識別子(および/または対話型結果ドキュメント1200内のラベルもしくは他の視覚的識別子)をフォーマットする。認識される特定のエンティティについてのタイプコード化を図13の境界ボックスに関して図示するが、タイプごとのコード化は、ラベルである視覚的識別子にも適用することができる。
【0090】
図14は、ラベル1402が図11の視覚クエリ1102のそれぞれの副部分の視覚的識別子である、対話型結果ドキュメント1200のスクリーンショットを有するクライアント装置102を示す。ラベルの視覚的識別子1402は、対応する検索結果の一部へのユーザ選択可能リンクをそれぞれ含む。一部の実施形態では、その選択可能リンクは、ラベル1402の領域内に表示される説明的テキストによって識別される。一部の実施形態は、1つのラベル1402の中に複数のリンクを含む。例えば図14では、飲み物を飲んでいる女性の上にあるラベルが、その女性に関する顔認識の結果へのリンクと、その特定の写真に関する画像認識の結果(例えば同じ写真を使用する他の製品や広告の画像)へのリンクとを含む。
【0091】
図14では、ラベル1402が、対話型結果ドキュメントのそれぞれの副部分上に位置する、テキストを有する部分的に透明な領域として表示される。他の実施形態では、それぞれのラベルが、対話型結果ドキュメントのそれぞれの副部分上には位置しないが、その付近に配置される。一部の実施形態では、図13に関して論じたのと同じ方法でラベルをタイプごとにコード化する。一部の実施形態では、ユーザは、ラベル1302の縁または外周縁によって輪郭が描かれる空間内の活性化領域上でタップすることにより、ラベル1302に対応する特定の副部分に対応する検索結果の表示を活性化する。図12Aおよび図12Bの境界ボックスに関して上記で論じたのと同じプレビュー機能および選択機能が、ラベルである視覚的識別子1402にも当てはまる。
【0092】
図15は、結果一覧1500と同時に表示される対話型結果ドキュメント1200および元の視覚クエリ1102のスクリーンショットを示す。図12〜図14に示すように、一部の実施形態では対話型結果ドキュメント1200を単独で表示する。図15に示すように、他の実施形態では対話型結果ドキュメント1200を元の視覚クエリと同時に表示する。一部の実施形態では、視覚クエリの結果一覧1500を、元の視覚クエリ1102および/または対話型結果ドキュメント1200とともに同時に表示する。結果一覧1500を対話型結果ドキュメント1200と同時に表示するかどうかは、クライアントシステムの種類およびディスプレイ706上の空間量によって決まり得る。一部の実施形態では、クライアントシステム102は、(視覚クエリサーバシステムにサブミットする視覚クエリに応答して)結果一覧1500および対話型結果ドキュメント1200の両方を受け取るが、ユーザが対話型結果ドキュメント1200の下方にスクロールする場合、結果一覧1500だけを表示する。クライアントシステム102は、視覚クエリに応答して結果一覧1500を受け取り、クライアントシステム102において局所的に記憶するので、これらの実施形態の一部では、クライアントシステム102は、ユーザが選択する視覚的識別子1202/1402に対応する結果を再度サーバにクエリする必要なしに表示する。
【0093】
一部の実施形態では、結果一覧1500を複数のカテゴリ1502へと編成する。各カテゴリは少なくとも1つの結果1503を含む。一部の実施形態では、結果1503と区別するためにカテゴリのタイトルを強調表示する。カテゴリ1502は、その計算されたカテゴリウェイトに応じて順序付けられる。一部の実施形態では、カテゴリウェイトは、そのカテゴリ内の最上位のN個の結果の重みの組合せである。そのため、より関連性のある結果をもたらした可能性が高いカテゴリを最初に表示する。認識された同一エンティティについて複数のカテゴリ1502(図15に示す顔画像認識の一致および画像の一致など)が返される実施形態では、最初に表示されるカテゴリがより高いカテゴリウェイトを有する。
【0094】
図3に関して説明したように、一部の実施形態では、クライアントシステム102のユーザが対話型結果ドキュメント1200内の選択可能リンクを選択すると、カーソルが適切なカテゴリ1502またはそのカテゴリ内の最初の結果1503に自動的に移動する。あるいは、クライアントシステム102のユーザが対話型結果ドキュメント内の選択可能リンクを選択すると、選択されたリンクに関連する1つまたは複数のカテゴリが最初に表示されるように、結果一覧1500が並べ替えられる。これは、例えば対応する検索結果を識別する情報を使って選択可能リンクをコード化することにより、または対応する選択可能リンクを示すように、もしくは対応する結果カテゴリを示すように検索結果をコード化することによって達成される。
【0095】
一部の実施形態では、検索結果のカテゴリが、それらの検索結果をもたらす画像によるクエリ検索システムに対応する。例えば図15では、カテゴリの一部は、製品の一致1506、ロゴの一致1508、顔認識の一致1510、画像の一致1512である。元の視覚クエリ1102および/または対話型結果ドキュメント1200も、クエリ1504などのカテゴリタイトルにより同様に表示してもよい。同様に、用語クエリサーバが行う任意の用語検索の結果も、ウェブの結果1514などの別個のカテゴリとして表示してもよい。他の実施形態では、視覚クエリ内の複数のエンティティが、同じ画像によるクエリ検索システムからの結果をもたらす。例えば視覚クエリは、顔認識検索システムからの別個の結果を返すことになる2つの異なる顔を含むことができる。そのため一部の実施形態では、カテゴリ1502を、検索システムごとにではなく、認識するエンティティごとに分ける。一部の実施形態では、認識したエンティティの画像を認識エンティティカテゴリヘッダ1502の中に表示し、それにより、たとえ両方の結果が同じ画像によるクエリ検索システムによってもたらされても、認識したそのエンティティの結果を認識した別のエンティティの結果と区別することができる。例えば図15では、製品の一致カテゴリ1506が2つのエンティティ製品のエンティティを含み、そのため、それぞれが複数の対応する検索結果1503を有する、箱入りの製品1516およびボトル入りの製品1518である2つのエンティティカテゴリ1502を含む。一部の実施形態では、カテゴリを、認識するエンティティおよび画像によるクエリシステムの種類ごとに分けることができる。例えば図15では、製品の一致カテゴリの製品の下で、関連する結果を返した2つの別個のエンティティがある。
【0096】
一部の実施形態では、結果1503がサムネイル画像を含む。例えば、図15の顔認識の一致結果について示すように、「女優X」および「ソーシャルネットワークの友人Y」に関する顔の一致写真の小さなバージョン(サムネイル画像とも呼ぶ)が、その画像内の人物の名前などの何らかのテキスト記述とともに表示される。
【0097】
上記の記載は、説明目的で特定の実施形態に関して記載してきた。しかし上記の実例的な解説は、網羅的であることも本発明を開示した厳密な形態に限定することも意図しない。上記の教示に照らし、多くの修正形態および改変形態があり得る。本発明の原理およびその実用的応用を最も良く説明して、それにより当業者が本発明、および考えられる特定の用法に適合される様々な修正が加えられる様々な実施形態を最も良く利用できるようにするために実施形態を選択して説明した。

【特許請求の範囲】
【請求項1】
視覚クエリを処理する、コンピュータによって実施される方法であって、
1個または複数個のプロセッサ、および前記1個または複数個のプロセッサが実行するための1つまたは複数のプログラムを記憶するメモリを有するサーバシステムにおいて、
クライアントシステムから視覚クエリを受け取るステップと、
前記視覚クエリを同時処理用の複数の並列検索システムに送ることによって前記視覚クエリを処理するステップであって、前記複数の検索システムのうちの一部が、複数の視覚クエリ検索処理のうちのそれぞれの視覚クエリ検索処理を実施する、処理するステップと、
前記複数の並列検索システムの1つまたは複数から、複数の検索結果を受け取るステップと、
前記視覚クエリのそれぞれの副部分の1つまたは複数の視覚的識別子、および視覚的識別子ごとに前記検索結果のうちの少なくとも1つへの少なくとも1つのユーザ選択可能リンクを含む、対話型結果ドキュメントを作成するステップと、
前記対話型結果ドキュメントを前記クライアントシステムに送るステップと
を含む、コンピュータによって実施される方法。
【請求項2】
少なくとも1つの検索結果が、前記視覚クエリの前記対応する副部分に関係するデータを含む、請求項1に記載のコンピュータによって実施される方法。
【請求項3】
それぞれの副部分のテキストをテキストベースクエリ処理システムに送るステップをさらに含む、請求項1または2に記載のコンピュータによって実施される方法。
【請求項4】
それぞれの視覚的識別子に対応する前記視覚クエリの前記副部分が1つまたは複数の用語を含むテキストを含む場合、前記それぞれの視覚的識別子に対応する検索結果が、前記テキスト内の前記用語の少なくとも1つに対する用語クエリ検索の結果を含む、請求項1〜3のいずれか一項に記載のコンピュータによって実施される方法。
【請求項5】
それぞれの視覚的識別子に対応する前記視覚クエリの前記副部分が人物の顔を含む場合、前記それぞれの視覚的識別子に対応する検索結果は、前記選択可能な副部分内に顔が含まれている前記人物、前記選択可能な副部分内に顔が含まれている前記人物の他の画像、および前記人物の顔に関する潜在的な画像の一致に関連する名前、ハンドル、連絡先情報、アカウント情報、アドレス情報、かかわりのあるモバイル機器の現在地のうちの1つまたは複数を含む、請求項1〜3のいずれか一項に記載のコンピュータによって実施される方法。
【請求項6】
それぞれの視覚的識別子に対応する前記視覚クエリの前記副部分が製品を含む場合、前記それぞれの視覚的識別子に対応する検索結果は、製品情報、製品レビュー、前記製品の購入を開始するオプション、前記製品に対する入札を開始するオプション、同様の製品の一覧、および関連製品の一覧のうちの1つまたは複数を含む、請求項1〜3のいずれか一項に記載のコンピュータによって実施される方法。
【請求項7】
前記視覚クエリの前記それぞれの副部分内で認識されるエンティティの種類に応じて視覚的に区別できる方法で提示するために、前記1つまたは複数の視覚的識別子のそれぞれの視覚的識別子をフォーマットする、請求項1〜6のいずれか一項に記載のコンピュータによって実施される方法。
【請求項8】
前記それぞれの視覚的識別子を、オーバーレイの色、オーバーレイパターン、ラベルの背景色、ラベルの背景パターン、ラベルのフォントの色、および枠線色からなる群から選択される視覚的に区別できる方法で提示するためにフォーマットする、請求項7に記載のコンピュータによって実施される方法。
【請求項9】
前記1つまたは複数の視覚的識別子のそれぞれの視覚的識別子が、前記視覚クエリの前記それぞれの副部分に関連する少なくとも1つの用語を含むラベルを含み、前記ラベルは、前記それぞれの副部分上またはその付近において前記対話型結果ドキュメント内で提示するためにフォーマットされる、請求項1〜8のいずれか一項に記載のコンピュータによって実施される方法。
【請求項10】
前記送信するステップが、前記対話型結果ドキュメントとともに提示するために、検索結果一覧内の前記複数の検索結果の一部を送るステップをさらに含む、請求項1〜9のいずれか一項に記載のコンピュータによって実施される方法。
【請求項11】
前記少なくとも1つのユーザ選択可能リンクのユーザ選択を受け取るステップと、
前記選択されたリンクに対応する前記検索結果一覧内の検索結果を特定するステップと
をさらに含む、請求項10に記載のコンピュータによって実施される方法。
【請求項12】
前記1つまたは複数の視覚的識別子が、前記視覚クエリのそれぞれの副部分を取り囲む1つまたは複数の境界ボックスを含む、請求項1〜11のいずれか一項に記載のコンピュータによって実施される方法。
【請求項13】
前記境界ボックスのそれぞれが、前記視覚クエリの前記それぞれの副部分の輪郭を描く、請求項12に記載のコンピュータによって実施される方法。
【請求項14】
少なくとも1つの境界ボックスが、1つまたは複数のより小さな境界ボックスを含む、請求項12または13に記載のコンピュータによって実施される方法。
【請求項15】
前記境界ボックスのそれぞれが1つまたは複数の検索結果へのユーザ選択可能リンクを含み、前記ユーザ選択可能リンクは、前記境界ボックスによって囲まれる、前記視覚クエリの前記副部分に対応する活性化領域を有する、請求項12〜14のいずれか一項に記載のコンピュータによって実施される方法。
【請求項16】
前記検索結果の1つまたは複数へのそれぞれのユーザ選択可能リンクが活性化領域を有し、前記活性化領域は、対応する視覚的識別子に関連する前記視覚クエリの前記副部分に対応する、請求項1〜11のいずれか一項に記載のコンピュータによって実施される方法。
【請求項17】
視覚クエリを処理するためのサーバシステムであって、
プログラムを実行するための1個または複数個の中央処理装置と、
前記1個または複数個の中央処理装置が実行するための1つまたは複数のプログラムを記憶するメモリと
を含み、
前記1つまたは複数のプログラムが、
クライアントシステムから視覚クエリを受け取ることと、
前記視覚クエリを、同時処理用の複数の並列検索システムに送ることによって処理することであって、前記複数の検索システムのうちの一部が、複数の視覚クエリ検索処理のうちのそれぞれの視覚クエリ検索処理を実施する、処理することと、
前記複数の並列検索システムの1つまたは複数から、複数の検索結果を受け取ることと、
前記視覚クエリのそれぞれの副部分の1つまたは複数の視覚的識別子、および視覚的識別子ごとに前記検索結果のうちの少なくとも1つへの少なくとも1つのユーザ選択可能リンクを含む、対話型結果ドキュメントを作成することと、
前記対話型結果ドキュメントを前記クライアントシステムに送ることと
を行うための命令を含む、サーバシステム。
【請求項18】
前記1つまたは複数の視覚的識別子が、前記視覚クエリのそれぞれの副部分を取り囲む1つまたは複数の境界ボックスを含む、請求項17に記載のシステム。
【請求項19】
前記境界ボックスのそれぞれが、前記視覚クエリの前記それぞれの副部分の輪郭を描く、請求項18に記載のシステム。
【請求項20】
前記境界ボックスのそれぞれが1つまたは複数の検索結果へのユーザ選択可能リンクを含み、前記ユーザ選択可能リンクは、前記境界ボックスによって囲まれる、前記視覚クエリの前記副部分に対応する活性化領域を有する、請求項18または19に記載のシステム。
【請求項21】
前記1つまたは複数の視覚的識別子のそれぞれの視覚的識別子が、前記視覚クエリの前記それぞれの副部分に関連する少なくとも1つの用語からなるラベルを含み、前記ラベルは、前記それぞれの副部分上またはその付近において前記対話型結果ドキュメント内で提示するためにフォーマットされる、請求項17〜20のいずれか一項に記載のシステム。
【請求項22】
コンピュータが実行するように構成される1つまたは複数のプログラムを記憶する持続性コンピュータ可読記憶媒体であって、前記1つまたは複数のプログラムは、
クライアントシステムから視覚クエリを受け取ることと、
前記視覚クエリを、同時処理用の複数の並列検索システムに送ることによって処理することであって、前記複数の検索システムのうちの一部が、複数の視覚クエリ検索処理のうちのそれぞれの視覚クエリ検索処理を実施する、処理することと、
前記複数の並列検索システムの1つまたは複数から、複数の検索結果を受け取ることと、
前記視覚クエリのそれぞれの副部分の1つまたは複数の視覚的識別子、および視覚的識別子ごとに前記検索結果のうちの少なくとも1つへの少なくとも1つのユーザ選択可能リンクを含む、対話型結果ドキュメントを作成することと、
前記対話型結果ドキュメントを前記クライアントシステムに送ることと
を行うための命令を含む、コンピュータ可読記憶媒体。
【請求項23】
前記1つまたは複数の視覚的識別子が、前記視覚クエリのそれぞれの副部分を取り囲む1つまたは複数の境界ボックスを含む、請求項22に記載のコンピュータ可読記憶媒体。
【請求項24】
前記境界ボックスのそれぞれが、前記視覚クエリの前記それぞれの副部分の輪郭を描く、請求項23に記載のコンピュータ可読記憶媒体。
【請求項25】
前記境界ボックスのそれぞれが1つまたは複数の検索結果へのユーザ選択可能リンクを含み、前記ユーザ選択可能リンクは、前記境界ボックスによって囲まれる、前記視覚クエリの前記副部分に対応する活性化領域を有する、請求項23または24に記載のコンピュータ可読記憶媒体。
【請求項26】
前記1つまたは複数の視覚的識別子のそれぞれの視覚的識別子が、前記視覚クエリの前記それぞれの副部分内の前記画像に関連する少なくとも1つの用語からなるラベルを含み、前記ラベルは、前記それぞれの副部分上またはその付近において前記対話型結果ドキュメント内で提示するためにフォーマットされる、請求項22〜25のいずれか一項に記載のコンピュータ可読記憶媒体。
【請求項27】
コンピュータシステムの1個または複数個のプロセッサが実行するように構成される1つまたは複数のプログラムを記憶する持続性コンピュータ可読記憶媒体であって、前記1つまたは複数のプログラムが、請求項1〜16のいずれか一項に記載の方法を実行するように前記1個または複数個のプロセッサが実行するための命令を含む、コンピュータ可読記憶媒体。
【請求項28】
1個または複数個のプロセッサと、
前記1個または複数個のプロセッサが実行するための1つまたは複数のプログラムを記憶するメモリであって、前記1つまたは複数のプログラムが、請求項1〜16のいずれか一項に記載の方法を実行するように前記1個または複数個のプロセッサが実行するための命令を含む、メモリと
を含む、サーバシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12A】
image rotate

【図12B】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公表番号】特表2013−501976(P2013−501976A)
【公表日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2012−523961(P2012−523961)
【出願日】平成22年8月5日(2010.8.5)
【国際出願番号】PCT/US2010/044604
【国際公開番号】WO2011/017558
【国際公開日】平成23年2月10日(2011.2.10)
【出願人】(502208397)グーグル インコーポレイテッド (161)