(57)【特許請求の範囲】
【請求項１】
顔画像を含む視覚クエリを処理する、コンピュータによって実施される方法であって、
１個または複数個のプロセッサ、および前記方法を実行するために前記１個または複数個のプロセッサが実行するための１つまたは複数のプログラムを記憶するメモリを有するサーバシステム上で実行される、コンピュータによって実施される方法であり、
要求者から、１つまたは複数の顔画像を含む視覚クエリを受け取るステップと、
視覚的類似性基準に応じて、前記１つまたは複数の顔画像のそれぞれに潜在的に一致する複数の潜在的な画像の一致を特定するステップであって、前記複数の潜在的な画像の一致は、前記要求者に関するデータに応じて特定される１つまたは複数の画像源からの複数の画像を含む、特定するステップと、
前記複数の潜在的な画像の一致に関連する１人または複数の人物を特定するステップであって、
前記要求者の現在地を表す第１の情報を得ることと、
前記複数の潜在的な画像の一致における１つの潜在的な画像の一致に関連する人物の最新の既知の一時的な位置を表す第２の情報を得ることと、
（ｉ）前記要求者の現在地および（ｉｉ）前記人物の最新の既知の一時的な位置に基づいて人物を特定することと
によって特定するステップと、
特定した人物ごとに、通信アプリケーション、ソーシャルネットワーキングアプリケーション、カレンダアプリケーション、および共同アプリケーションからなる群から選択される複数のアプリケーションから得られる、前記要求者に対する社会的なつながりについての社会的つながりメトリクスを含む人物固有データを取得するステップと、
前記１つまたは複数の顔画像と前記複数の潜在的な画像の一致との間の視覚的類似性についての１つまたは複数のメトリクスに応じて、および少なくとも前記社会的つながりメトリクスを含むランク付け情報に応じて前記１人または複数の特定した人物をランク付けすることにより、順序付き人物一覧を生成するステップと、
前記社会的なつながりについての前記社会的つながりメトリクスに応じて前記要求者と前記１人または複数の特定した人物のうちの少なくとも１人との間の間接的な社会的なつながりを特定することと、
（ａ）前記少なくとも１人に対応する少なくとも１つの人物識別子および（ｂ）前記特定された間接的な社会的なつながりを前記要求者に送るステップと
を含む、コンピュータによって実施される方法。
【請求項２】
前記複数のアプリケーションには、ソーシャルネットワーキングアプリケーション、ソーシャルマイクロブログ、電子メールアプリケーション、およびインスタントメッセージングアプリケーションからなる群から選択される１つまたは複数の通信アプリケーションが含まれ、
前記方法が、
前記１つまたは複数の通信アプリケーション上での個別の人物と前記要求者との間の通信量を求めるステップと、
前記個別の人物のランク付けスコアを決定するステップであって、前記個別の人物の前記ランク付けスコアを決定する際の要素は、前記１つまたは複数の通信アプリケーション上での前記個別の人物と前記要求者との間の前記求めた通信量である、決定するステップと
をさらに含む、請求項１に記載のコンピュータによって実施される方法。
【請求項３】
前記１つまたは複数の通信アプリケーション上での前記個別の人物と前記要求者との間の前記通信量が閾値を超えるかどうかを判定するステップ
を含み、
前記個別の人物の前記ランク付けスコアを決定する際の要素は、前記１つまたは複数の通信アプリケーション上での前記個別の人物と前記要求者との間の前記通信量が前記閾値を超えるかどうかについての前記判定である、
請求項２に記載のコンピュータによって実施される方法。
【請求項４】
それぞれのソーシャルネットワーキングアプリケーション内で前記要求者と個別の人物とが直接つながっているかどうかを判定するステップと、
前記個別の人物のランク付けスコアを決定するステップであって、前記個別の人物の前記ランク付けスコアを決定する際の要素は、それぞれのソーシャルネットワーキングアプリケーション内で前記要求者と前記個別の人物とが直接つながっているかどうかの前記判定である、決定するステップと
をさらに含む、請求項１に記載のコンピュータによって実施される方法。
【請求項５】
個別の人物に関する前記人物固有データが、前記個別の人物の他の画像に由来する特徴をさらに含み、
前記ランク付けが、前記受け取ったクエリと前記個別の人物の他の画像に由来する前記特徴との間の類似性にさらに準拠する、
請求項１〜４のいずれか一項に記載のコンピュータによって実施される方法。
【請求項６】
前記個別の人物の他の画像に由来する前記特徴には、画像取込日時情報が含まれ、
前記方法は、
前記受け取ったクエリが、前記個別の人物の前記他の画像の前記日時情報と類似の画像取込日時情報を有する程度に応じて、１つまたは複数の類似性メトリクスを決定するステップと、
前記個別の人物のランク付けスコアを決定するステップであって、前記個別の人物の前記ランク付けスコアを決定する際の１つまたは複数の要素は、前記１つまたは複数の類似性メトリクスである、決定するステップと
をさらに含む、請求項５に記載のコンピュータによって実施される方法。
【請求項７】
前記個別の人物の他の画像に由来する前記特徴には、
前記１つまたは複数の画像源からの画像内に前記個別の人物が出現する量に関する出現情報が含まれ、
前記個別の人物の前記ランク付けスコアを決定する際の要素は、前記個別の人物の前記出現情報である、
請求項５または６に記載のコンピュータによって実施される方法。
【請求項８】
前記個別の人物の他の画像に由来する前記特徴には、屋内環境要素、屋外環境要素、性別要素、人種要素、眼鏡要素、顔ひげ要素、頭髪要素、帽子要素、洋服要素、および眼の色要素のうちの１つまたは複数を含む、視覚的要素が含まれ、
前記個別の人物の前記ランク付けスコアを決定する際の要素は、前記個別の人物の前記視覚的要素を含む、
請求項５〜７のいずれか一項に記載のコンピュータによって実施される方法。
【請求項９】
前記視覚クエリが、少なくとも前記１つまたは複数の顔画像と第２の顔画像とを含む複数の顔画像を含み、
前記方法が、
視覚的類似性基準に従って前記第２の顔画像に潜在的に一致する複数の第２の潜在的な画像の一致を特定するステップであって、前記複数の第２の潜在的な画像の一致は、前記要求者に関するデータに応じて特定される１つまたは複数の画像源からの画像を含む、特定するステップと、
前記複数の第２の顔画像の一致に関連する第２の人物を特定するステップと、
特定した人物ごとに、前記複数のアプリケーションから得られる、前記第２の人物に対する社会的なつながりについての第２の社会的つながりメトリクスを含む人物固有データを取得するステップと、
少なくとも前記第２の社会的つながりメトリクスを含むランク付け情報にさらに準拠して１人または複数の前記特定した人物をランク付けすることにより、前記順序付き人物一覧を生成するステップと
をさらに含む、請求項１〜８のいずれか一項に記載のコンピュータによって実施される方法。
【請求項１０】
個別の人物の前記人物固有データが、
前記個別の人物の他の画像に由来する特徴、前記１つまたは複数の画像源からの画像内に前記個別の人物と前記第２の人物とが同時に出現する量に関する情報が含まれる、前記個別の人物の他の画像に由来する前記特徴をさらに含み、
前記方法が、
前記個別の人物のランク付けスコアを決定するステップであって、前記個別の人物の前記ランク付けスコアを決定する際の要素は、前記１つまたは複数の画像源からの画像内に前記人物と前記第２の人物とが同時に出現する前記量である、決定するステップ
をさらに含む、請求項９に記載のコンピュータによって実施される方法。
【請求項１１】
少なくとも１つの人物識別子を前記要求者に送る前にオプトインリストを確認し、前記人物識別子を前記要求者に公開できると判定するステップ
をさらに含む、請求項１〜１０のいずれか一項に記載のコンピュータによって実施される方法。
【請求項１２】
特定した個別の人物について、前記人物固有データが、前記個別の人物の名前、住所、職業、グループの帰属関係、関心、年齢、出身地、個人的統計、および仕事情報のうちの１つまたは複数をさらに含み、
前記方法が、
前記個別の人物の名前、住所、職業、グループの帰属関係、関心、年齢、出身地、個人的統計、および仕事情報のうちの１つまたは複数を同じく含む、前記要求者の人物固有データを取得するステップと、
前記要求者の前記人物固有データが、前記特定した個別の人物の前記人物固有データに類似する程度に応じて、１つまたは複数の個人類似性メトリクスを決定するステップと、
前記特定した個別の人物のランク付けスコアを決定するステップであって、前記特定した個別の人物の前記ランク付けスコアを決定する際の１つまたは複数の要素は、前記１つまたは複数の個人類似性メトリクスである、決定するステップと
をさらに含む、請求項１、５、７、８、９および１１のいずれか一項に記載のコンピュータによって実施される方法。
【請求項１３】
前記送るステップの後、前記要求者から人物識別子の選択を受け取るステップと、
前記選択された人物識別子に対応する個別の人物の追加画像として前記視覚クエリの前記１つまたは複数の顔画像を記憶するステップと
をさらに含む、請求項１〜１２のいずれか一項に記載のコンピュータによって実施される方法。
【請求項１４】
前記視覚クエリが、少なくとも前記１つまたは複数の顔画像と第２の顔画像とを含む複数の顔画像を含み、
前記方法が、
潜在的な画像の一致を特定する前に、前記１つまたは複数の顔画像の選択を前記要求者から受け取るステップ
をさらに含む、請求項１〜８、１１〜１３のいずれか一項に記載のコンピュータによって実施される方法。
【請求項１５】
顔画像を含む視覚クエリを処理するためのサーバシステムであって、
プログラムを実行するための１個または複数個のプロセッサと、
前記１個または複数個のプロセッサが実行するための１つまたは複数のプログラムを記憶するメモリと
を含み、
前記１つまたは複数のプログラムが、
要求者から、１つまたは複数の顔画像を含む視覚クエリを受け取ることと、
視覚的類似性基準に応じて、前記１つまたは複数の顔画像のそれぞれに潜在的に一致する複数の潜在的な画像の一致を特定することであって、前記複数の潜在的な画像の一致は、前記要求者に関するデータに応じて特定される１つまたは複数の画像源からの複数の画像を含む、特定することと、
前記潜在的な画像の一致に関連する１人または複数の人物を特定することであって、
前記要求者の現在地を表す第１の情報を得ることと、
前記複数の潜在的な画像の一致における１つの潜在的な画像の一致に関連する人物の最新の既知の一時的な位置を表す第２の情報を得ることと、
（ｉ）前記要求者の現在地および（ｉｉ）前記人物の最新の既知の一時的な位置に基づいて人物を特定することと
によって特定することと、
特定した人物ごとに、通信アプリケーション、ソーシャルネットワーキングアプリケーション、カレンダアプリケーション、および共同アプリケーションからなる群から選択される複数のアプリケーションから得られる、前記要求者に対する社会的なつながりについての社会的つながりメトリクスを含む人物固有データを取得することと、
前記１つまたは複数の顔画像と前記複数の潜在的な画像の一致との間の視覚的類似性についての１つまたは複数のメトリクスに応じて、および少なくとも前記社会的つながりメトリクスを含むランク付け情報に応じて前記１人または複数の特定した人物をランク付けすることにより、順序付き人物一覧を生成することと、
前記社会的なつながりについての前記社会的つながりメトリクスに応じて前記要求者と前記１人または複数の特定した人物のうちの少なくとも１人との間の間接的な社会的なつながりを特定することと、
（ａ）前記少なくとも１人に対応する少なくとも１つの人物識別子および（ｂ）前記特定された間接的な社会的なつながりを前記要求者に送ることと
を行うための命令を含む、サーバシステム。
【請求項１６】
コンピュータが実行するように構成される１つまたは複数のプログラムを記憶する持続性コンピュータ可読記憶媒体であって、前記１つまたは複数のプログラムが、
要求者から、１つまたは複数の顔画像を含む視覚クエリを受け取ることと、
視覚的類似性基準に応じて、前記１つまたは複数の顔画像のそれぞれに潜在的に一致する複数の潜在的な画像の一致を特定することであって、前記複数の潜在的な画像の一致は、前記要求者に関するデータに応じて特定される１つまたは複数の画像源からの複数の画像を含む、特定することと、
前記複数の潜在的な画像の一致に関連する１人または複数の人物を特定することであって、
前記要求者の現在地を表す第１の情報を得ることと、
前記複数の潜在的な画像の一致における１つの潜在的な画像の一致に関連する人物の最新の既知の一時的な位置を表す第２の情報を得ることと、
（ｉ）前記要求者の現在地および（ｉｉ）前記人物の最新の既知の一時的な位置に基づいて人物を特定することと
によって特定するステップと、
特定した人物ごとに、通信アプリケーション、ソーシャルネットワーキングアプリケーション、カレンダアプリケーション、および共同アプリケーションからなる群から選択される複数のアプリケーションから得られる、前記要求者に対する社会的なつながりについての社会的つながりメトリクスを含む人物固有データを取得することと、
前記１つまたは複数の顔画像と前記複数の潜在的な画像の一致との間の視覚的類似性についての１つまたは複数のメトリクスに応じて、および少なくとも前記社会的つながりメトリクスを含むランク付け情報に応じて前記１人または複数の特定した人物をランク付けすることにより、順序付き人物一覧を生成することと、
前記社会的なつながりについての前記社会的つながりメトリクスに応じて前記要求者と前記１人または複数の特定した人物のうちの少なくとも１人との間の間接的な社会的なつながりを特定することと、
（ａ）前記少なくとも１人に対応する少なくとも１つの人物識別子および（ｂ）前記特定された間接的な社会的なつながりを前記要求者に送ることと
を行うための命令を含む、コンピュータ可読記憶媒体。
【請求項１７】
顔画像を含む視覚クエリを処理するためのサーバシステムであって、
プログラムを実行するための１個または複数個のプロセッサと、
前記１個または複数個のプロセッサが実行するための１つまたは複数のプログラムを記憶するメモリであって、前記１つまたは複数のプログラムが、請求項１〜１４のいずれか一項に記載の方法を実施するための命令を含む、メモリと
を含む、サーバシステム。
【請求項１８】
コンピュータが実行するように構成される１つまたは複数のプログラムを記憶する持続性コンピュータ可読記憶媒体であって、前記１つまたは複数のプログラムが、請求項１〜１４のいずれか一項に記載の方法を実施するための命令を含む、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
開示する諸実施形態は、一般に、ソーシャルネットワークの情報および特定される１人または複数の人物の他の写真から得られた情報を利用して、最も良く一致する１人または複数の人物を特定することを促進することにより、画像クエリ内の顔に潜在的に一致する１人または複数の人物を特定することに関する。
【背景技術】
【０００２】
ユーザが語または語句を検索エンジンに入力し、様々な結果を受け取るテキストベースの検索または用語ベースの検索は、検索を行うための有用なツールである。しかし用語ベースのクエリでは、ユーザが関連語を入力できることが必要である。ときとして、ユーザは画像に関する情報を知りたい場合がある。例えば、ユーザは写真の中の人物の名前を知りたい場合がある。人は、写真内の人物の連絡先情報など、他の情報を知りたい場合もある。したがって、顔画像クエリを受け取り、その顔画像クエリ内の特定される人物に関係する様々な検索結果を提供することができるシステムが望ましい。
【発明の概要】
【課題を解決するための手段】
【０００３】
一部の実施形態によれば、顔画像を含む視覚クエリを処理する、コンピュータによって実施される方法が、１個または複数個のプロセッサと、その１個または複数個のプロセッサが実行するための１つまたは複数のプログラムを記憶するメモリとを有するサーバシステム上で実行される。この方法は、以下に概説するプロセスを含む。要求者から、それぞれの顔画像を含む１つまたは複数の顔画像を含む視覚クエリを受け取る。視覚的類似性基準に応じて、それぞれの顔画像に潜在的に一致する潜在的な画像の一致を特定する。その潜在的な画像の一致は、要求者に関するデータに応じて特定される１つまたは複数の画像源からの画像を含む。潜在的な画像の一致に関連する１人または複数の人物を特定する。特定した人物ごとに、複数のアプリケーションから得られる、要求者に対する社会的なつながりについての社会的つながりメトリクスを含む人物固有データを取得する。その複数のアプリケーションは、通信アプリケーション、ソーシャルネットワーキングアプリケーション、カレンダアプリケーション、および共同アプリケーションからなる群から選択される。それぞれの顔画像と潜在的な画像の一致との間の視覚的類似性についての１つまたは複数のメトリクスに応じて、および少なくとも社会的つながりメトリクスを含むランク付け情報にも応じて１人または複数の特定した人物をランク付けすることにより、順序付き人物一覧を生成する。次いで、その順序付き一覧からの少なくとも１つの人物識別子を要求者に送る。こうした方法は、以下の節の中で論じる追加のオプションを実行するためのプログラム命令を含んでもよい。
【０００４】
一部の実施形態によれば、顔画像を含む視覚クエリを処理するためのサーバシステムが提供される。このサーバシステムは、プログラムを実行するための１個または複数個のプロセッサと、その１個または複数個のプロセッサが実行するための１つまたは複数のプログラムを記憶するメモリとを含む。その１つまたは複数のプログラムは、以下に概説するプロセスのための命令を含む。要求者から、それぞれの顔画像を含む１つまたは複数の顔画像を含む視覚クエリを受け取る。視覚的類似性基準に応じて、それぞれの顔画像に潜在的に一致する潜在的な画像の一致を特定する。その潜在的な画像の一致は、要求者に関するデータに応じて特定される１つまたは複数の画像源からの画像を含む。潜在的な画像の一致に関連する１人または複数の人物を特定する。特定した人物ごとに、複数のアプリケーションから得られる、要求者に対する社会的なつながりについての社会的つながりメトリクスを含む人物固有データを取得する。その複数のアプリケーションは、通信アプリケーション、ソーシャルネットワーキングアプリケーション、カレンダアプリケーション、および共同アプリケーションからなる群から選択される。それぞれの顔画像と潜在的な画像の一致との間の視覚的類似性についての１つまたは複数のメトリクスに応じて、および少なくとも社会的つながりメトリクスを含むランク付け情報にも応じて１人または複数の特定した人物をランク付けすることにより、順序付き人物一覧を生成する。次いで、その順序付き一覧からの少なくとも１つの人物識別子を要求者に送る。こうしたシステムは、以下の節の中で論じる追加のオプションを実行するためのプログラム命令を含んでもよい。
【０００５】
一部の実施形態によれば、顔画像を含む視覚クエリを処理するための持続性コンピュータ可読記憶媒体が提供される。このコンピュータ可読記憶媒体は、コンピュータが実行するように構成される１つまたは複数のプログラムを記憶し、その１つまたは複数のプログラムは以下のことを実行するための命令を含む。要求者から、それぞれの顔画像を含む１つまたは複数の顔画像を含む視覚クエリを受け取る。視覚的類似性基準に応じて、それぞれの顔画像に潜在的に一致する潜在的な画像の一致を特定する。その潜在的な画像の一致は、要求者に関するデータに応じて特定される１つまたは複数の画像源からの画像を含む。潜在的な画像の一致に関連する１人または複数の人物を特定する。特定した人物ごとに、複数のアプリケーションから得られる、要求者に対する社会的なつながりについての社会的つながりメトリクスを含む人物固有データを取得する。その複数のアプリケーションは、通信アプリケーション、ソーシャルネットワーキングアプリケーション、カレンダアプリケーション、および共同アプリケーションからなる群から選択される。それぞれの顔画像と潜在的な画像の一致との間の視覚的類似性についての１つまたは複数のメトリクスに応じて、および少なくとも社会的つながりメトリクスを含むランク付け情報にも応じて１人または複数の特定した人物をランク付けすることにより、順序付き人物一覧を生成する。次いで、その順序付き一覧からの少なくとも１つの人物識別子を要求者に送る。こうしたコンピュータ可読記憶媒体は、以下の節の中で論じる追加のオプションを実行するためのプログラム命令を含んでもよい。
【０００６】
図面全体を通して、同様の参照番号は一致する部分を指す。
【図面の簡単な説明】
【０００７】
【図１】視覚クエリサーバシステムを含むコンピュータネットワークを示すブロック図である。
【図２】一部の実施形態による、視覚クエリに応答するプロセスを示すフローチャートである。
【図３】一部の実施形態による、対話型結果ドキュメントにより視覚クエリに応答するプロセスを示すフローチャートである。
【図４】一部の実施形態による、クライアントと視覚クエリサーバシステムとの間の通信を示すフローチャートである。
【図５】一部の実施形態によるクライアントシステムを示すブロック図である。
【図６】一部の実施形態によるフロントエンド視覚クエリ処理サーバシステムを示すブロック図である。
【図７】一部の実施形態による、視覚クエリを処理するために利用する並列検索システムの汎用システムを示すブロック図である。
【図８】一部の実施形態による、視覚クエリを処理するために利用するＯＣＲ検索システムを示すブロック図である。
【図９】一部の実施形態による、視覚クエリを処理するために利用する顔認識検索システムを示すブロック図である。
【図１０】一部の実施形態による、視覚クエリを処理するために利用する画像−用語検索システムを示すブロック図である。
【図１１】一部の実施形態による、例示的な視覚クエリのスクリーンショットを有するクライアントシステムを示す図である。
【図１２Ａ】一部の実施形態による、境界ボックスを伴う対話型結果ドキュメントのスクリーンショットを有するクライアントシステムを示す図である。
【図１２Ｂ】一部の実施形態による、境界ボックスを伴う対話型結果ドキュメントのスクリーンショットを有するクライアントシステムを示す図である。
【図１３】一部の実施形態による、タイプごとにコード化された対話型結果ドキュメントのスクリーンショットを有するクライアントシステムを示す図である。
【図１４】一部の実施形態による、ラベルを伴う対話型結果ドキュメントのスクリーンショットを有するクライアントシステムを示す図である。
【図１５】一部の実施形態による、結果一覧と同時に表示される対話型結果ドキュメントおよび視覚クエリのスクリーンショットを示す図である。
【図１６Ａ】一部の実施形態による、顔画像を含む視覚クエリに応答するプロセスを示すフローチャートである。
【図１６Ｂ】一部の実施形態による、顔画像を含む視覚クエリに応答するプロセスを示すフローチャートである。
【図１７】一部の実施形態による、視覚クエリ内の顔画像に潜在的に一致する人物の順序付き一覧を生成する際に使用する、様々な要素および特徴を示すフローチャートである。
【図１８Ａ】一部の実施形態による、顔認識検索システムが利用する顔画像データベースのデータ構造の一部分を示すブロック図である。
【図１８Ｂ】一部の実施形態による、ソーシャルネットワークアプリケーションや通信アプリケーションなどの複数のアプリケーションにわたる人間同士の関係を示す図である。
【図１８Ｃ】一部の実施形態による、画像に由来する一部の特徴を示すブロック図である。
【発明を実施するための形態】
【０００８】
次に、その例を添付図面に示す諸実施形態について詳しく言及する。以下の詳細な説明では、本発明の完全な理解を与えるために数多くの具体的詳細を記載する。しかし、本発明はそれらの具体的詳細なしに実施され得ることが当業者には明らかであろう。他の例では、実施形態の諸側面を無用に不明瞭にしないように、よく知られている方法、手法、コンポーネント、回路、およびネットワークについて詳しくは記載していない。
【０００９】
本明細書では様々な要素を説明するために第１の、第２のなどの語を使用する場合があるが、これらの要素はこれらの語によって限定されるべきではないことも理解されたい。これらの語は、単にある要素を別の要素と区別するために使用する。例えば、本発明の範囲から逸脱せずに第１の接点を第２の接点と称することができ、同様に第２の接点を第１の接点と称することもできる。第１の接点および第２の接点はいずれも接点だが、同じ接点ではない、
【００１０】
本明細書の本発明の説明の中で使用する用語は、特定の実施形態を説明するためのものに過ぎず、本発明を限定するように意図されていない。本発明の説明および特許請求の範囲の中で使用するとき、単数形「ａ」、「an」および「the」は、特に明確な指示がない限り複数形も含むことを意図する。本明細書で使用するとき、用語「および／または」は、列挙する関連項目の１つまたは複数の任意のおよびあり得るすべての組合せを指し、包含することも理解されたい。さらに本明細書で使用するとき、用語「備える(comprises)」および／または「備えている(comprising)」は、述べた特徴、完全体、ステップ、動作、要素、および／またはコンポーネントが存在することを規定するが、１つもしくは複数の他の特徴、完全体、ステップ、動作、要素、コンポーネント、および／またはそれらのグループが存在すること、もしくは追加されることを除外しないことも理解されたい。
【００１１】
本明細書で使用するとき、用語「もし(if)」は、文脈に応じて「場合(when)」もしくは「とき(upon)」、または「決定することに応答して(in response to determining)」もしくは「検出することに応答して(in response to detecting)」を意味するものと解釈されてもよい。同様に、語句「決定する場合(if it is determined)」または「（述べた条件または事象を）検出する場合(if (a stated condition or event) it is detected)」は、文脈に応じて「決定するとき(upon determining)」もしくは「決定することに応答して(in response to determining)」、または「（述べた条件または事象を）検出するとき(upon detecting)」もしくは「（述べた条件または事象を）検出することに応答して(in response to detecting)」を意味するものと解釈されてもよい。
【００１２】
図１は、一部の実施形態による視覚クエリサーバシステムを含むコンピュータネットワークを示すブロック図である。コンピュータネットワーク１００は、１つまたは複数のクライアントシステム１０２および視覚クエリサーバシステム１０６を含む。これらのコンポーネントを１つまたは複数の通信ネットワーク１０４が相互接続する。通信ネットワーク１０４は、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、無線ネットワーク、有線ネットワーク、インターネット、またはそうしたネットワークの組合せを含む、様々なネットワークのうちの任意のものとしてもよい。
【００１３】
クライアントシステム１０２は、視覚クエリ（例えば図１１の視覚クエリ１１０２）を受け取るためにクライアントシステムが実行するクライアントアプリケーション１０８を含む。視覚クエリとは、検索エンジンまたは検索システムにクエリとしてサブミットされる画像である。視覚クエリの非限定的な例には、写真、スキャンドキュメントおよびスキャン画像、ならびに絵図が含まれる。一部の実施形態では、クライアントアプリケーション１０８は、検索アプリケーション、ブラウザアプリケーション用の検索エンジンプラグイン、およびブラウザアプリケーション用の検索エンジン拡張機能からなる組から選択される。一部の実施形態では、クライアントアプリケーション１０８は、視覚クエリとして使用する任意形式の画像をユーザが検索ボックスの中にドラッグアンドドロップすることを可能にする「手当たり次第の(omnivorous)」検索ボックスである。
【００１４】
クライアントシステム１０２は、視覚クエリサーバシステム１０６にクエリを送り、視覚クエリサーバシステム１０６からデータを受け取る。クライアントシステム１０２は、視覚クエリサーバシステム１０６と通信することができる任意のコンピュータまたは他の装置としてもよい。非限定的な例には、デスクトップコンピュータおよびノートブックコンピュータ、メインフレームコンピュータ、サーバコンピュータ、携帯電話や携帯情報端末などのモバイル機器、ネットワーク端末、およびセットトップボックスが含まれる。
【００１５】
視覚クエリサーバシステム１０６は、フロントエンド視覚クエリ処理サーバ１１０を含む。フロントエンドサーバ１１０はクライアント１０２から視覚クエリを受け取り、その視覚クエリを同時処理用の複数の並列検索システム１１２に送る。検索システム１１２は互いに異なる視覚クエリ検索処理をそれぞれ実施し、自らの別個の検索処理により視覚クエリを処理するために、必要に応じて自らの対応するデータベース１１４にアクセスする。例えば顔認識検索システム１１２−Ａは、画像クエリに対する顔の一致を探すために顔画像データベース１１４−Ａにアクセスする。図９に関してより詳細に説明するように、視覚クエリが顔を含む場合、顔認識検索システム１１２−Ａは顔画像データベース１１４−Ａから１つまたは複数の検索結果（例えば名前、一致する顔等）を返す。別の例では、光学的文字認識（ＯＣＲ）検索システム１１２−Ｂが、視覚クエリ内の任意の認識可能テキストを、１つまたは複数の検索結果として返すためのテキストへと変換する。光学的文字認識（ＯＣＲ）検索システム１１２−Ｂでは、図８に関してより詳細に説明するように、特定のフォントまたはテキストパターンを認識するためにＯＣＲデータベース１１４−Ｂにアクセスすることができる。
【００１６】
任意の数の並列検索システム１１２を使用してもよい。一部の例には、顔認識検索システム１１２−Ａ、ＯＣＲ検索システム１１２−Ｂ、（オブジェクトまたはオブジェクトカテゴリを認識し得る）画像−用語検索システム１１２−Ｃ、（本の表紙やＣＤなどの２Ｄ画像を認識するように構成してもよく、家具などの３Ｄ画像を認識するように構成してもよい）製品認識検索システム、（１Ｄおよび２Ｄ形式のバーコードを認識する）バーコード認識検索システム、固有表現認識検索システム、（エッフェル塔のような特定の有名な名所を認識するように構成することができ、ビルボードなど、特定の画像のコーパスを認識するように構成してもよい）ランドマーク認識、クライアントシステム１０２内のＧＰＳ受信機または携帯電話網が提供する地理位置情報によって支援される場所認識、色認識検索システム、および（視覚クエリに似た画像を検索して特定する）類似画像検索システムが含まれる。図１のシステム１１２−Ｎによって示す、さらなる検索システムを追加の並列検索システムとして加えることができる。ＯＣＲ検索システムを除くすべての検索システムを、画像一致処理を実行する検索システムとして本明細書では集合的に定義する。ＯＣＲ検索システムを含むすべての検索システムを、画像によるクエリ検索システムと集合的に呼ぶ。一部の実施形態では、視覚クエリサーバシステム１０６が、顔認識検索システム１１２−Ａ、ＯＣＲ検索システム１１２−Ｂ、および少なくとも１つの他の画像によるクエリ検索システム１１２を含む。
【００１７】
並列検索システム１１２は視覚検索クエリを個々に処理し、自らの結果をフロントエンドサーバシステム１１０に返す。一部の実施形態では、フロントエンドサーバ１００は、結果を複合ドキュメントへと集約すること、表示するための結果の一部を選択すること、および結果をランク付けすることのうちの１つまたは複数など、図６に関してより詳細に説明するように検索結果に対して１つまたは複数の解析を行ってもよい。フロントエンドサーバ１１０は、検索結果をクライアントシステム１０２に伝える。
【００１８】
クライアントシステム１０２は、１つまたは複数の検索結果をユーザに提供し得る。それらの結果はディスプレイ上に、音声スピーカにより、またはユーザに情報を伝えるために使用する他の任意の手段によって提供することができる。ユーザは、様々な方法で検索結果と対話してもよい。一部の実施形態では、ユーザの選択、注釈、および検索結果との他の対話を視覚クエリサーバシステム１０６に伝送し、視覚クエリとともにクエリ／注釈データベース１１６内に記録する。クエリ／注釈データベース内の情報は、視覚クエリの結果を改善するために使用することができる。一部の実施形態では、クエリ／注釈データベース１１６からの情報を並列検索システム１１２に周期的にプッシュし、並列検索システム１１２はその情報の任意の関連部分を個々のデータベース１１４内に取り入れる。
【００１９】
コンピュータネットワーク１００は、用語クエリに応答して検索を行うための用語クエリサーバシステム１１８を場合により含んでもよい。用語クエリとは、画像を含む視覚クエリとは対照的に、１つまたは複数の用語を含むクエリである。用語クエリサーバシステム１１８は、視覚クエリサーバシステム１０６内の様々な検索エンジンによってもたらされる情報を補足する検索結果を生成するために使用してもよい。用語クエリサーバシステム１１８から返される結果は、任意の形式を含み得る。用語クエリサーバシステム１１８は、テキストドキュメント、画像、映像等を含み得る。図１では用語クエリサーバシステム１１８を別個のシステムとして図示するが、場合により視覚クエリサーバシステム１０６が用語クエリサーバシステム１１８を含んでもよい。
【００２０】
視覚クエリサーバシステム１０６の動作に関するさらなる情報は、図２〜４のフローチャートに関して以下に示す。
【００２１】
図２は、本発明の特定の実施形態による、視覚クエリに応答するための視覚クエリサーバシステムの方法を示すフローチャートである。図２に示す操作のそれぞれは、コンピュータメモリまたはコンピュータ可読記憶媒体の中に記憶される命令に対応し得る。
【００２２】
視覚クエリサーバシステムが、クライアントシステムから視覚クエリを受け取る（２０２）。図１に関して説明したように、このクライアントシステムは、例えばデスクトップコンピューティング装置、モバイル機器、または別の同様の装置としてもよい（２０４）。図１１に、クライアントシステムの一例上の視覚クエリの一例を示す。
【００２３】
視覚クエリは、任意の適切な形式の画像ドキュメントである。例えば視覚クエリは、写真、スクリーンショット、スキャン画像、または映像の複数のフレームのうちの１フレームもしくはシーケンスとすることができる（２０６）。一部の実施形態では、視覚クエリはコンテンツオーサリングプログラム（図５、７３６）が作成する絵図である。そのため、一部の実施形態ではユーザが視覚クエリを「描く」のに対し、他の実施形態ではユーザが視覚クエリをスキャンしまたは撮影する。一部の視覚クエリは、Acrobat、写真編集プログラム、描画プログラム、画像編集プログラムなどの画像生成アプリケーションを使用して作成される。例えば視覚クエリは、ユーザが自身の携帯電話上で友人の写真を撮り、その写真を視覚クエリとしてサーバシステムにサブミットすることから生じることができる。視覚クエリは、ユーザが雑誌のページをスキャンし、またはデスクトップコンピュータ上でウェブページのスクリーンショットをとり、そのスキャンまたはスクリーンショットを視覚クエリとしてサーバシステムにサブミットすることから生じることもできる。一部の実施形態では、視覚クエリはブラウザアプリケーションの検索エンジン拡張機能により、ブラウザアプリケーション用のプラグインにより、またはクライアントシステム１０２が実行する検索アプリケーションによりサーバシステム１０６にサブミットされる。視覚クエリは、クライアントシステムが遠隔設置されたサーバに伝送可能な画像をサポートするか、または生成する、（クライアントシステムが実行する）他のアプリケーションプログラムによってサブミットしてもよい。
【００２４】
視覚クエリは、テキスト要素と非テキスト要素との組合せとすることができる（２０８）。例えばクエリは、道路標識の隣に立っている人物など、画像およびテキストを含む雑誌ページのスキャンとすることができる。視覚クエリは、クライアントシステム内に埋め込まれるカメラによって撮影されたか、またはクライアントシステムによって、スキャンもしくは他の方法で受け取られたドキュメントからの人物の顔の画像を含むことができる。視覚クエリは、テキストだけを含むドキュメントのスキャンとすることもできる。視覚クエリは、森の中にいる数羽の鳥、人物とオブジェクト（例えば車、公園のベンチ等）、人物と動物（例えばペット、家畜、蝶等）など、数多くの別個のサブジェクトの画像とすることもできる。視覚クエリは、２つ以上の別個の要素を有してもよい。例えば視覚クエリは、バーコードと、製品の画像または製品パッケージ上の製品名とを含むことができる。例えば視覚クエリは、本のタイトル、表紙絵、およびバーコードを含む本の表紙の写真とすることができる。以下により詳細に論じるように、一部の例では１つの視覚クエリが、その視覚クエリの様々な部分に対応する２つ以上の別個の検索結果をもたらす。
【００２５】
サーバシステムは、以下のように視覚クエリを処理する。フロントエンドサーバシステムが、同時処理用の複数の並列検索システムに視覚クエリを送る（２１０）。各検索システムは互いに異なる視覚クエリ検索処理を実施し、すなわち個々の検索システムは独自の処理スキームにより視覚クエリを処理する。
【００２６】
一部の実施形態では、処理するために視覚クエリが送られる検索システムの１つが光学的文字認識（ＯＣＲ）検索システムである。一部の実施形態では、処理するために視覚クエリが送られる検索システムの１つが顔認識検索システムである。一部の実施形態では、互いに異なる視覚クエリ検索処理を実行する複数の検索システムは、少なくとも光学的文字認識（ＯＣＲ）、顔認識、ならびにＯＣＲおよび顔認識以外の別の画像によるクエリ処理を含む（２１２）。他の画像によるクエリ処理は、これだけに限定されないが、製品認識、バーコード認識、オブジェクトまたはオブジェクトカテゴリ認識、固有表現認識、および色認識が含まれる１組の処理から選択される（２１２）。
【００２７】
一部の実施形態では、ＯＣＲ検索システムの後処理として固有表現認識が行われ、有名な人物、位置、オブジェクトなどがあるかどうかＯＣＲのテキスト結果を解析し、固有表現であると特定した用語を用語クエリサーバシステム（図１、１１８）内で検索する。他の実施形態では、画像−用語検索システムが、有名な名所、ロゴ、人物、アルバムカバー、商標等の画像を認識する。他の実施形態では、画像−用語検索システムとは別に、独特の固有表現の画像によるクエリ処理を利用する。オブジェクトまたはオブジェクトカテゴリ認識システムは、「車」のような総称的な結果の種類を認識する。一部の実施形態では、このシステムは製品ブランド、特定の製品モデルなども認識し、「ポルシェ」のようなより具体的な説明を提供する。検索システムの一部は、特別なユーザに固有の検索システムとすることができる。例えば、色認識および顔認識の特定のバージョンを、目の不自由な人が使用する専用の検索システムとすることができる。
【００２８】
フロントエンドサーバシステムが、並列検索システムから結果を受け取る（２１４）。一部の実施形態では、それらの結果に検索スコアが付随する。一部の視覚クエリでは、検索システムの一部は関連する結果を見出さない。例えば視覚クエリが花の写真であった場合、顔認識検索システムおよびバーコード検索システムは関連する結果を一切見出さない。一部の実施形態では、関連する結果が見出されない場合、ヌルまたはゼロの検索スコアをその検索システムから受け取る（２１６）。一部の実施形態では、あらかじめ定めた期間（例えば０．２秒、０．５秒、１秒、２秒、または５秒）を過ぎてもフロントエンドサーバが検索システムから結果を受け取らない場合、フロントエンドサーバは、あたかもそのタイムアウトしたサーバがヌルの検索スコアを生成したかのように受け取られる結果を処理し、他の検索システムから受け取る結果を処理する。
【００２９】
場合により、受け取った検索結果の少なくとも２つが所定の基準を満たすとき、それらの検索結果をランク付けする（２１８）。一部の実施形態では、所定の基準の１つが無効な結果を除去する。所定の基準は、結果が無効ではないことである。一部の実施形態では、所定の基準の１つが、所定の最小スコアを下回る（例えば適合率に関する）数値スコアを有する結果を除去する。場合により、複数の検索結果をフィルタする（２２０）。一部の実施形態では、結果の総数が定義済み閾値を上回る場合にのみ結果をフィルタする。一部の実施形態ではすべての結果をランク付けするが、所定の最小スコアを下回る結果は除外する。一部の視覚クエリでは、結果のコンテンツをフィルタする。例えば、結果の一部が個人情報または個人が保護する情報を含む場合、それらの結果をフィルタにかけて除去する。
【００３０】
場合により、視覚クエリサーバシステムは複合検索結果を作成する（２２２）。複合検索結果を作成することの一実施形態は、図３に関して説明するように、対話型結果ドキュメント内に複数の検索システムの結果を埋め込む場合である。用語クエリサーバシステム（図１、１１８）は、用語検索の結果を用いて並列検索システムのうちの１つからの結果を増補してもよく、その追加の結果はドキュメントもしくは情報源へのリンク、または視覚クエリに関連し得る追加情報を含むテキストおよび／もしくは画像である。したがって、例えば複合検索結果は、ＯＣＲの結果とＯＣＲドキュメント内の固有表現へのリンクとを含んでもよい（２２４）。
【００３１】
一部の実施形態では、ＯＣＲ検索システム（図１、１１２−Ｂ）またはフロントエンド視覚クエリ処理サーバ（図１、１１０）が、テキスト内の関連しそうな語を認識する。例えば、有名な人物や場所などの固有表現を認識し得る。固有表現は、クエリ用語として用語クエリサーバシステム（図１、１１８）にサブミットされる。一部の実施形態では、用語クエリサーバシステムがもたらす用語クエリの結果を、視覚クエリの結果の中に「リンク」として埋め込む。一部の実施形態では、用語クエリの結果が別個のリンクとして返される。例えば本の表紙の写真が視覚クエリである場合、その本についてオブジェクト認識検索システムが高スコアのヒットをもたらす可能性が高い。そのため、その本のタイトルを得るための用語クエリが用語クエリサーバシステム１１８上で実行され、視覚クエリの結果とともに用語クエリの結果が返される。一部の実施形態では、用語クエリの結果をラベル付けしたグループ内に提示して、それらを視覚クエリの結果と区別する。結果は個々に検索してもよく、または特に関連のある追加の検索結果をもたらすために、検索クエリ内で認識されるすべての固有表現を使用して検索を行ってもよい。例えば、視覚クエリがパリに関するスキャンされた旅行パンフレットである場合、返される結果は、用語クエリ「ノートルダム」についての検索を開始するための、用語クエリサーバシステム１１８へのリンクを含むことができる。同様に、複合検索結果は、一般に認められた有名な画像に関するテキスト検索の結果を含む。例えば同じ旅行パンフレットにおいて、「エッフェル塔」や「ルーブル」のようにパンフレット内に写真として示されている有名な目的地についての用語クエリの結果へのライブリンクも（たとえ用語「エッフェル塔」および「ルーブル」がパンフレット自体に登場しなくても）示してもよい。
【００３２】
次いで、視覚クエリサーバシステムが少なくとも１つの結果をクライアントシステムに送る（２２６）。典型的には、視覚クエリ処理サーバが複数の検索システムの少なくとも一部から複数の検索結果を受け取る場合、視覚クエリ処理サーバは、その複数の検索結果のうちの少なくとも１つをクライアントシステムに送る。一部の視覚クエリでは、１つの検索システムだけが関連する結果を返す。例えば、テキストの画像だけを含む視覚クエリでは、ＯＣＲサーバの結果だけが関連する場合がある。一部の視覚クエリでは、１つの検索システムからの１つの結果だけが関連する場合がある。例えば、スキャンしたバーコードに関係する製品だけが関連する場合がある。これらの例では、フロントエンド視覚処理サーバは、関連する１つまたは複数の検索結果だけを返す。一部の視覚クエリでは、複数の検索結果がクライアントシステムに送られ、その複数の検索結果は並列検索システムのうちの複数からの検索結果を含む（２２８）。これは、視覚クエリの中に複数の別個の画像がある場合に起こり得る。例えば、視覚クエリが馬に乗っている人物の写真であった場合、馬に関するオブジェクト認知結果とともに、その人物の顔認識の結果を表示することができる。一部の実施形態では、特定の画像によるクエリ検索システムのすべての結果をグループ化し、まとめて提供する。例えば、上位Ｎ個の顔認識結果を見出し「顔認識結果」の下に表示し、上位Ｎ個のオブジェクト認識結果を見出し「オブジェクト認識結果」の下にまとめて表示する。あるいは、以下に論じるように、特定の画像検索システムからの検索結果を画像領域によってグループ化することができる。例えば視覚クエリが２つの顔を含む場合、その両方が顔認識結果をもたらし、それぞれの顔についての結果が別個のグループとして提示される。一部の視覚クエリ（例えばテキストおよび１つまたは複数のオブジェクトの両方の画像を含む視覚クエリ）では、検索結果はＯＣＲの結果と１つまたは複数の画像一致の結果とを含み得る（２３０）。
【００３３】
一部の実施形態では、ユーザが特定の検索結果についてもっと詳しく知りたい場合がある。例えば、視覚クエリがイルカの写真であり、「画像−用語」検索システムが用語「水」、「イルカ」、「青」、および「ひれ足」を返す場合、ユーザは「ひれ足」についてのテキストベースクエリ用語検索を実行したい場合がある。ユーザが（例えば検索結果内の対応するリンクをクリックし、または他の方法で選択することにより指示するように）用語クエリによる検索を実行したい場合、クエリ用語サーバシステム（図１、１１８）にアクセスし、選択した１つまたは複数の用語による検索を実行する。対応する検索語の結果が、別個にまたは視覚クエリの結果と併せてクライアントシステム上に表示される（２３２）。一部の実施形態では、フロントエンド視覚クエリ処理サーバ（図１、１１０）が、自動で（すなわち最初の視覚クエリ以外のユーザコマンドを一切受け取ることなしに）視覚クエリについての１つまたは複数の最も可能性があるテキスト結果を選択し、用語クエリサーバシステム１１８上でそれらのテキスト結果を実行し、少なくとも１つの検索結果をクライアントシステムに送ることの一部として、視覚クエリの結果とともにそれらの用語クエリの結果をクライアントシステムに返す（２３２）。上記の例では、「ひれ足」がイルカの視覚クエリ写真についての第１の用語結果であった場合、フロントエンドサーバは「ひれ足」による用語クエリを実行し、視覚クエリの結果とともにそれらの用語クエリの結果をクライアントシステムに返す。視覚クエリの検索結果をユーザに送る前に、ユーザが選択するのではないかと思われる用語結果を自動で実行するこの実施形態は、ユーザの時間を節約する。一部の実施形態では、上記で説明したようにこれらの結果を複合検索結果として表示する（２２２）。他の実施形態では、結果は、複合検索結果の代わりに、または複合検索結果に加えて、検索結果一覧の一部である。
【００３４】
図３は、対話型結果ドキュメントにより視覚クエリに応答するプロセスを示すフローチャートである。最初の３つの動作（２０２、２１０、２１４）は図２に関して上述した。並列検索システムから受け取った検索結果から（２１４）、対話型結果ドキュメントを作成する（３０２）。
【００３５】
次に対話型結果ドキュメントを作成すること（３０２）について詳しく説明する。一部の視覚クエリでは、対話型結果ドキュメントが、視覚クエリのそれぞれの副部分の１つまたは複数の視覚的識別子を含む。それぞれの視覚的識別子は、検索結果の少なくとも１つへの少なくとも１つのユーザ選択可能リンクを有する。視覚的識別子は、視覚クエリのそれぞれの副部分を識別する。一部の視覚クエリでは、対話型結果ドキュメントが、１つまたは複数の結果への１つのユーザ選択可能リンクを有する１つの視覚的識別子しか有さない。一部の実施形態では、検索結果の１つまたは複数へのそれぞれのユーザ選択可能リンクが活性化領域を有し、その活性化領域は、対応する視覚的識別子に関連する視覚クエリの副部分に対応する。
【００３６】
一部の実施形態では、視覚的識別子が境界ボックスである（３０４）。一部の実施形態では、その境界ボックスは、図１２Ａに示すように視覚クエリの副部分を囲む。境界ボックスは正方形または長方形のボックス型である必要はなく、図１２Ｂに示すように円形、楕円形、（例えば視覚クエリ内のオブジェクトに、視覚クエリ内のエンティティに、または視覚クエリの領域に）準拠する形、不整形、または他の任意の形を含む任意の種類の形とすることができる。一部の視覚クエリでは、境界ボックスが視覚クエリの副部分内の識別可能エンティティの境界の輪郭を描く（３０６）。一部の実施形態では、各境界ボックスが１つまたは複数の検索結果へのユーザ選択可能リンクを含み、そのユーザ選択可能リンクは、境界ボックスによって囲まれる、視覚クエリの副部分に対応する活性化領域を有する。ユーザが境界ボックス内の空間（ユーザ選択可能リンクの活性化領域）を選択すると、輪郭が描かれた副部分の中の画像に対応する検索結果が返される。
【００３７】
一部の実施形態では、図１４に示すように視覚的識別子がラベルである（３０７）。一部の実施形態では、ラベルは、視覚クエリのそれぞれの副部分内の画像に関連する少なくとも１つの用語を含む。各ラベルは、それぞれの副部分上またはその付近において対話型結果ドキュメント内で提示するためにフォーマットされる。一部の実施形態ではラベルを色分けする。
【００３８】
一部の実施形態では、視覚クエリのそれぞれの副部分内で認識されるエンティティの種類に応じて、視覚的に区別できる方法で提示するためにそれぞれの視覚的識別子をフォーマットする。例えば図１３に示すように、製品、人物、商標、および２つのテキスト領域を取り囲む境界ボックスを、各様に特色を与えられた透明な境界ボックスを表す互いに異なるクロスハッチングパターンを使ってそれぞれ提示する。一部の実施形態では、オーバーレイの色、オーバーレイパターン、ラベルの背景色、ラベルの背景パターン、ラベルのフォントの色、枠線色など、視覚的に区別できる方法で提示するために視覚的識別子をフォーマットする。
【００３９】
一部の実施形態では、対話型結果ドキュメント内のユーザ選択可能リンクは、視覚クエリの対応する副部分に関係する１つまたは複数の結果を含むドキュメントもしくはオブジェクトへのリンクである（３０８）。一部の実施形態では、少なくとも１つの検索結果が視覚クエリの対応する副部分に関係するデータを含む。そのため、ユーザがそれぞれの副部分に関連する選択可能リンクを選択すると、ユーザは視覚クエリのそれぞれの副部分内で認識されるエンティティに対応する検索結果に導かれる。
【００４０】
例えば、視覚クエリがバーコードの写真であった場合、そのバーコードが添付された包装の無関連部分である写真の部分があり得る。対話型結果ドキュメントは、バーコードだけを取り囲む境界ボックスを含んでもよい。ユーザが、輪郭が描かれたバーコードの境界ボックス内を選択すると、そのバーコードの検索結果が表示される。バーコードの検索結果は、１つの結果、そのバーコードに対応する製品名を含んでもよく、またはバーコードの結果は、その製品を購入、吟味等できる様々な場所など、いくつかの結果を含んでもよい。
【００４１】
一部の実施形態では、それぞれの視覚的識別子に対応する視覚クエリの副部分が１つまたは複数の語からなるテキストを含む場合、それぞれの視覚的識別子に対応する検索結果は、そのテキスト内の語の少なくとも１つによる用語クエリ検索の結果を含む。一部の実施形態では、それぞれの視覚的識別子に対応する視覚クエリの副部分が、所定の信頼性（または他の）基準を満たす少なくとも１つの一致（すなわち検索結果）が見出される人物の顔を含む場合、それぞれの視覚的識別子に対応する検索結果は、選択可能な副部分内に顔が含まれている人物、選択可能な副部分内に顔が含まれている人物の他の画像、およびその人物の顔に関する潜在的な画像の一致に関連する名前、ハンドル、連絡先情報、アカウント情報、アドレス情報、かかわりのあるモバイル機器の現在地のうちの１つまたは複数を含む。一部の実施形態では、それぞれの視覚的識別子に対応する視覚クエリの副部分が、所定の信頼性（または他の）基準を満たす少なくとも１つの一致（すなわち検索結果）が見出される製品を含む場合、それぞれの視覚的識別子に対応する検索結果は、製品情報、製品レビュー、その製品の購入を開始するオプション、その製品に対する入札を開始するオプション、同様の製品の一覧、および関連製品の一覧のうちの１つまたは複数を含む。
【００４２】
場合により、対話型結果ドキュメント内のそれぞれのユーザ選択可能リンクは、リンクを活性化する必要なしにドキュメント内に表示されるアンカーテキストを含む。アンカーテキストは、リンクを活性化するときに得られる情報に関係する主要語や重要語などの情報を提供する。アンカーテキストは、ラベルの一部として（３０７）、または境界ボックスの一部の中に（３０４）、またはユーザが１秒などの所定期間にわたりユーザ選択可能リンク上にカーソルを乗せるときに表示される追加情報として表示されてもよい。
【００４３】
場合により、対話型結果ドキュメント内のそれぞれのユーザ選択可能リンクは、テキストベースクエリ（本明細書では用語クエリと呼ぶこともある）に対応する情報またはドキュメントを検索するための検索エンジンへのリンクである。リンクを活性化することは検索エンジンによる検索の実行を引き起こし、クライアントシステムに結果が返されることを伴い、クエリおよび検索エンジンはリンクによって指定される（例えば検索エンジンはリンク内のＵＲＬによって指定され、テキストベースの検索クエリはリンクのＵＲＬパラメータによって指定される）。場合により、この例におけるリンクは、検索クエリ内のテキストまたは語に特性をもたせるアンカーテキストを含んでもよい。
【００４４】
一部の実施形態では、視覚クエリに応答して生成される対話型結果ドキュメントが、同じ検索システムからの結果に対応する複数のリンクを含むことができる。例えば、視覚クエリを人の集団の画像または写真としてもよい。対話型結果ドキュメントは、それぞれの人物を取り囲む境界ボックスを含んでもよく、その境界ボックスは活性化されると、その集団の中の顔ごとに顔認識検索システムからの結果を返す。一部の視覚クエリでは、対話型結果ドキュメント内の複数のリンクが、複数の検索システムからの検索結果に対応する（３１０）。例えば、人物と犬の写真が視覚クエリとしてサブミットされた場合、対話型結果ドキュメント内の境界ボックスは、その人物と犬とで別々に輪郭を描いてもよい。（対話型結果ドキュメント内の）人物を選択すると、顔認識検索システムからの検索結果が返され、（対話型結果ドキュメント内の）犬を選択すると、画像−用語検索システムからの結果が返される。一部の視覚クエリでは、対話型結果ドキュメントがＯＣＲの結果と画像一致の結果とを含む（３１２）。例えば、標識の隣に立っている人物の写真が視覚クエリとしてサブミットされた場合、対話型結果ドキュメントは、その人物の視覚的識別子とその標識内のテキストの視覚的識別子とを含んでもよい。同様に、雑誌のスキャンが視覚クエリとして使用された場合、対話型結果ドキュメントは、そのページ上の広告内の写真または商標の視覚的識別子、ならびに同じくそのページ上の記事のテキストの視覚的識別子を含んでもよい。
【００４５】
対話型結果ドキュメントを作成した後、その対話型結果ドキュメントをクライアントシステムに送る（３１４）。一部の実施形態では、対話型結果ドキュメント（例えば図１５、ドキュメント１２００）を、図２に関して上記で論じたように１つまたは複数の並列検索システムからの検索結果一覧と併せて送る。一部の実施形態では、図１５に示すように、対話型結果ドキュメントを、１つまたは複数の並列検索システムからの検索結果一覧の上にあるいはその一覧に隣接してクライアントシステムにおいて表示する（３１５）。
【００４６】
場合により、ユーザは、結果ドキュメント内の視覚的識別子を選択することにより結果ドキュメントと対話する。サーバシステムは、対話型結果ドキュメント内の視覚的識別子についてのユーザ選択に関する情報をクライアントシステムから受け取る（３１６）。上記で論じたように、一部の実施形態では、リンクは境界ボックス内の活性化領域を選択することによって活性化される。他の実施形態では、リンクは、境界ボックスではない視覚クエリの副部分の視覚的識別子をユーザが選択することによって活性化される。一部の実施形態では、リンクされた視覚的識別子は、ホットボタン、副部分の近くに位置するラベル、テキスト内の下線を引いた語、または視覚クエリ内のオブジェクトもしくはサブジェクトの他の表現である。
【００４７】
検索結果一覧が対話型結果ドキュメントとともに提示される実施形態では（３１５）、ユーザがユーザ選択可能リンクを選択すると（３１６）、選択されたリンクに対応する検索結果一覧内の検索結果が特定される。一部の実施形態では、選択されたリンクに対応する最初の結果にカーソルがジャンプし、または自動的に移動する。対話型結果ドキュメントおよび全検索結果一覧の両方を表示するにはクライアント１０２のディスプレイが小さすぎる一部の実施形態では、対話型結果ドキュメント内のリンクを選択することが、選択されたリンクに対応する少なくとも最初の結果を表示するように、検索結果一覧をスクロールまたはジャンプさせる。他の一部の実施形態では、対話型結果ドキュメント内のリンクをユーザが選択することに応答し、そのリンクに対応する最初の結果が結果一覧の最も上に表示されるように結果一覧を並べ替える。
【００４８】
一部の実施形態では、ユーザがユーザ選択可能リンクを選択すると（３１６）、視覚クエリサーバシステムが、視覚クエリの対応する副部分に関係する結果の少なくとも一部をユーザに表示するためにクライアントに送る（３１８）。一部の実施形態では、ユーザは複数の視覚的識別子を同時に選択することができ、選択した視覚的識別子のすべての結果の一部を同時に受け取る。他の実施形態では、対話型結果ドキュメント内の１つまたは複数のリンクをユーザが選択することに応答してほぼ瞬時に検索結果をユーザに提供するために、ユーザ選択可能リンクのいずれかをユーザが選択する前に、ユーザ選択可能リンクに対応する検索結果をクライアント上にあらかじめロードしておく。
【００４９】
図４は、クライアントと視覚クエリサーバシステムとの間の通信を示すフローチャートである。クライアント１０２が、ユーザ／クエリ／要求者側から視覚クエリを受け取る（４０２）。一部の実施形態では、視覚クエリシステムにサインアップし、または「オプトイン」しているユーザからのみ視覚クエリを受け付けることができる。一部の実施形態では、顔認識の一致を得るための検索は顔認識視覚クエリシステムにサインアップしているユーザに対してのみ実行される一方で、他の種類の視覚クエリは、顔認識部分に「オプトイン」しているかいないかに関係なく誰に対しても実行される。
【００５０】
上記で説明したように、視覚クエリの形式は多くの形態をとることができる。視覚クエリは、視覚クエリドキュメントの副部分内に位置する１つまたは複数のサブジェクトを含む可能性が高い。一部の視覚クエリでは、クライアントシステム１０２が視覚クエリに対してタイプ認識事前処理を実行する（４０４）。一部の実施形態では、クライアントシステム１０２が、この事前処理システム内で特定の認識可能パターンを検索する。例えば一部の視覚クエリでは、クライアントが色を認識し得る。一部の視覚クエリでは、クライアントは特定の副部分が（その領域が淡い空間によって囲まれる小さな濃い文字で構成されている等の理由で）テキストを含む可能性が高いと認識し得る。クライアントは、任意の数の事前処理タイプ認識器またはタイプ認識モジュールを含み得る。一部の実施形態では、クライアントが、バーコードを認識するためのタイプ認識モジュール（バーコード認識４０６）を有する。クライアントは、長方形領域内の特有の縞模様を認識することによってバーコードを認識し得る。一部の実施形態では、クライアントは、視覚クエリの特定のサブジェクトまたは副部分が顔を含む可能性が高いことを認識するためのタイプ認識モジュール（顔検出４０８）を有する。
【００５１】
一部の実施形態では、認識した「タイプ」を検証するためにユーザに返す。例えばクライアントシステム１０２は、「あなたの視覚クエリの中にバーコードが見つかりました。バーコードのクエリ結果を受け取りたいですか？」と述べるメッセージを返すことができる。一部の実施形態では、メッセージは、そのタイプが見つかった視覚クエリの副部分さえも示し得る。一部の実施形態では、この提示は図３に関して論じた対話型結果ドキュメントに似ている。例えばこの提示は、視覚クエリの副部分の輪郭を描いてもよく、その副部分が顔を含む可能性が高いことを示してもよく、ユーザに顔認識結果を受け取りたいかどうか尋ねてもよい。
【００５２】
クライアント１０２が視覚クエリのオプションの事前処理を実行した後、クライアントは、その視覚クエリを視覚クエリサーバシステム１０６、とりわけフロントエンド視覚クエリ処理サーバ１１０に送る。一部の実施形態では、事前処理が関連する結果をもたらした場合、すなわちタイプ認識モジュールの１つが、クエリまたはクエリの副部分が特定のタイプ（顔、テキスト、バーコード等）のものである可能性が高いことを示す一定の閾値を上回る結果をもたらした場合、クライアントは事前処理の結果に関する情報を伝える。例えばクライアントは、視覚クエリの特定の副部分が顔を含むと顔認識モジュールが７５％確信していることを示し得る。より一般には、事前処理の結果が、もしあれば、１つまたは複数のサブジェクトタイプ値（例えばバーコード、顔、テキスト等）を含む。場合により、視覚クエリサーバシステムに送られる事前処理の結果は、事前処理結果内の各サブジェクトタイプ値について、そのサブジェクトタイプ値に対応する視覚クエリの副部分を特定する情報、ならびに事前処理結果内の各サブジェクトタイプ値について、そのサブジェクトタイプ値の信頼水準を示す信頼値および／または視覚クエリの対応する副部分の特定についての信頼水準を示す信頼値のうちの１つまたは複数を含む。
【００５３】
フロントエンドサーバ１１０が、クライアントシステムから視覚クエリを受け取る（２０２）。受け取られる視覚クエリは、上記で論じた事前処理情報を含み得る。上記で説明したように、フロントエンドサーバが視覚クエリを複数の並列検索システムに送る（２１０）。特定の種類のサブジェクトを副部分が含んでいた可能性に関する事前処理情報をフロントエンドサーバ１１０が受け取る場合、フロントエンドサーバは、この情報を並列検索システムの１つまたは複数に伝えてもよい。例えばフロントエンドサーバは、特定の副部分が顔である可能性が高いという情報を伝えてもよく、それにより、顔認識検索システム１１２−Ａは視覚クエリのその小区分を最初に処理することができる。同様に、その副部分を無視するために、または他の副部分を最初に解析するために、他の並列検索システムは（特定の副部分が顔である可能性が高いという）同一情報を送ることを使用してもよい。一部の実施形態では、フロントエンドサーバは、事前処理情報を並列検索システムに伝えないが、代わりにこの情報を使用して、並列検索システムから受け取る結果を自らが処理する方法を増強する。
【００５４】
図２に関して説明したように、一部の視覚クエリに関しては、フロントエンドサーバ１１０が並列検索システムから複数の検索結果を受け取る（２１４）。次いで、図２および図３に関して説明したように、フロントエンドサーバは、様々なランク付けおよびフィルタリングを実行してもよく、対話型検索結果ドキュメントを作成してもよい。特定の種類のサブジェクトを副部分が含んでいた可能性に関する事前処理情報をフロントエンドサーバ１１０が受け取る場合、フロントエンドサーバは、事前処理され認識されたサブジェクトタイプに一致する結果を優先することにより、フィルタおよび順序付けしてもよい。特定の種類の結果を要求したことをユーザが示した場合、フロントエンドサーバは結果を処理する際にユーザの要求を考慮に入れる。例えばフロントエンドサーバは、ユーザがバーコード情報だけを要求した場合、他のすべての結果をフィルタにかけて除去してもよく、または他の結果を列挙する前に要求された種類に関連するすべての結果を列挙する。対話型視覚クエリドキュメントが返される場合、サーバは、ユーザが関心をもっていると示した結果の種類に関連するリンクを事前に検索し得る一方で、対話型結果ドキュメント内に示される他のサブジェクトについては、関係する検索を行うためのリンクを提供するに過ぎない。次いで、フロントエンドサーバ１１０が、検索結果をクライアントシステムに送る（２２６）。
【００５５】
クライアント１０２が、サーバシステムから結果を受け取る（４１２）。該当する場合、これらの結果は事前処理段階で見つかる結果の種類に一致する結果を含む。例えば一部の実施形態では、これらの結果は、１つもしくは複数のバーコードの結果（４１４）、または１つもしくは複数の顔認識の結果（４１６）を含む。特定の種類の結果が見込まれることをクライアントの事前処理モジュールが示し、その結果が見つかった場合、その種類の見つかった結果を目立つように列挙する。
【００５６】
場合により、ユーザが結果の１つまたは複数を選択し、または注釈を付ける（４１８）。ユーザは、１つの検索結果を選択してもよく、特定の種類の検索結果を選択してもよく、かつ／または対話型結果ドキュメントの一部を選択してもよい（４２０）。結果が選択されることは、返した結果がクエリに関連していたという暗黙のフィードバックである。そのようなフィードバック情報は、将来のクエリ処理操作で利用することができる。注釈は返された結果に関する明示的なフィードバックを提供し、同じく将来のクエリ処理操作で利用することができる。注釈は、（誤ってＯＣＲされた語を訂正するように）返された結果の一部を訂正すること、または（自由な形式のまたは構造化された）別個の注釈の形をとる。
【００５７】
ユーザが１つの検索結果を選択すること、一般にいくつかの同じ種類から「正しい」結果を選択すること（例えば顔認識サーバからの正しい結果を選択すること）は、解釈の中での選択(selection among interpretations)と呼ばれるプロセスである。ユーザが特定の種類の検索結果を選択すること、一般にいくつかの異なる種類の返される結果から関心のある結果の「種類」を選択すること（例えば雑誌の中の広告の視覚的結果ではなく、やはり同じページ上の記事のＯＣＲされたテキストを選択すること）は、意図の曖昧性除去と呼ばれるプロセスである。図８に関して詳しく説明するように、ユーザは、ＯＣＲされたドキュメント内の特定のリンクされた語（認識されている固有表現など）を同様に選択してもよい。
【００５８】
ユーザは、代わりにまたは加えて、特定の検索結果に注釈を付けたいことがある。この注釈を付けることは、自由形式スタイルで、または構造化された形式で行ってもよい（４２２）。注釈は、結果の説明としてもよく、または結果のレビューとしてもよい。例えば注釈は、結果内の１つもしくは複数のサブジェクトの名前を示してもよく、または「これは良書だ」や「この製品は購入してから１年以内に壊れた」ことを示すことができる。注釈の別の例は、視覚クエリの副部分を取り囲むユーザによって描かれる境界ボックス、および境界ボックス内のオブジェクトまたはサブジェクトを特定するユーザによって提供されるテキストである。ユーザの注釈については図５に関してより詳細に説明する。
【００５９】
検索結果のユーザ選択および他の注釈をサーバシステムに送る（４２４）。フロントエンドサーバ１１０がその選択および注釈を受け取り、それらをさらに処理する（４２６）。この情報が、対話型結果ドキュメント内のオブジェクト、副領域、または用語の選択であった場合、その選択に関するさらなる情報を必要に応じて要求してもよい。例えば選択が１つの視覚的結果についての選択であった場合、その視覚的結果に関するさらなる情報が要求される。選択が（ＯＣＲサーバまたは画像−用語サーバからの）語であった場合、その語のテキスト検索が用語クエリサーバシステム１１８に送られる。選択が顔画像認識検索システムからの人物についての選択であった場合、その人物のプロファイルが要求される。選択が対話型検索結果ドキュメントの特定の部分についてのものであった場合、基礎をなす視覚クエリの結果が要求される。
【００６０】
サーバシステムが注釈を受け取る場合、図５に関して説明するように、その注釈はクエリ／注釈データベース１１６内に記憶される。その後、図７〜１０に関して以下で論じるように、注釈データベース１１６からの情報を、並列サーバシステムの１つまたは複数のための個々の注釈データベースに周期的にコピーする。
【００６１】
図５は、本発明の一実施形態によるクライアントシステム１０２を示すブロック図である。クライアントシステム１０２は、典型的には１個または複数個の処理ユニット（ＣＰＵ）７０２、１つまたは複数のネットワークインターフェイスもしくは他の通信インターフェイス７０４、メモリ７１２、およびこれらのコンポーネントを相互接続するための１つまたは複数の通信バス７１４を含む。クライアントシステム１０２は、ユーザインターフェイス７０５を含む。ユーザインターフェイス７０５は、ディスプレイ装置７０６を含み、場合によりキーボード、マウス、他の入力ボタン７０８などの入力手段を含む。あるいは、またはそれに加えて、ディスプレイ装置７０６はタッチセンス表面７０９を含み、その場合、ディスプレイ７０６／７０９はタッチセンスディスプレイである。タッチセンスディスプレイ７０６／７０９を有するクライアントシステムでは、物理的なキーボードはオプションである（例えばキーボード入力が必要な場合はソフトキーボードを表示してもよい）。さらに、一部のクライアントシステムは、マイクロフォンおよび音声認識を使用してキーボードを補足しまたは置換する。場合により、クライアント１０２は、自らの位置を求めるためのＧＰＳ（地球投影位置決定衛星）受信機または他の位置検出機器７０７を含む。一部の実施形態では、クライアントシステム１０２の位置を示す位置情報をクライアントシステム１０２が視覚クエリサーバシステムに提供することを必要とする、視覚クエリ検索サービスが提供される。
【００６２】
クライアントシステム１０２は、カメラやスキャナなどの画像取込装置７１０も含む。メモリ７１２には、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリが含まれ、１つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶デバイスなどの不揮発性メモリが含まれ得る。メモリ７１２には、１個または複数個のＣＰＵ７０２から離れて位置する１つまたは複数の記憶装置が場合により含まれ得る。メモリ７１２あるいはメモリ７１２内の１つまたは複数の不揮発性メモリ装置は、持続性コンピュータ可読記憶媒体を含む。一部の実施形態では、メモリ７１２またはメモリ７１２のコンピュータ可読記憶媒体が、以下のプログラム、モジュール、およびデータ構造またはその一部を記憶する。
・  様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム７１６。
・  クライアントシステム１０２を、１つまたは複数の通信ネットワークインターフェイス７０４（有線または無線）、およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの１つまたは複数の通信ネットワークを介して他のコンピュータに接続するために使用するネットワーク通信モジュール７１８。
・  画像取込装置／カメラ７１０が取り込んだそれぞれの画像を処理するための画像取込モジュール７２０であって、それぞれの画像は（例えばクライアントアプリケーションモジュールにより）、視覚クエリとして視覚クエリサーバシステムに送ってもよい。
・  これだけに限定されないが、視覚クエリサーバシステムに視覚クエリをサブミットするための画像によるクエリサブミットモジュール７２４、場合により、画像内の関心領域が選択されたこと（タッチセンスディスプレイ７０６／７０９上でのジェスチャなど）を検出し、その関心領域を視覚クエリとして準備する関心領域選択モジュール７２５、視覚クエリの結果を表示するための結果ブラウザ７２６、および場合により、フォームに記入するなどの構造化された注釈テキスト入力のためのオプションモジュール７３０を有し、または様々な形式からの注釈を受け付けることができる自由形式の注釈テキスト入力のためのオプションモジュール７３２を有し、ユーザが注釈用に画像の特定の副部分を選択することを可能にする画像領域選択モジュール７３４（本明細書では結果選択モジュールと呼ぶこともある）を有する注釈モジュール７２８を含む、画像によるクエリを行う様々な側面を処理するための１つまたは複数のクライアントアプリケーションモジュール７２２。
・  画像取込装置７１０により単に画像を取り込むのではなく、画像を作成しまたは編集することによりユーザが視覚クエリを作成することを可能にする、１つまたは複数のオプションのコンテンツオーサリングアプリケーション７３６、場合により、そのようなアプリケーション７３６の１つは、視覚クエリとして使用するための画像の副部分をユーザが選択できるようにする命令を含んでもよい。
・  視覚クエリサーバシステムに送る前に視覚クエリを事前処理する、オプションのローカル画像解析モジュール７３８。ローカル画像解析は、特定の種類の画像または画像内の副領域を認識し得る。そのようなモジュール７３８が認識し得る画像の種類の例には、顔タイプ（視覚クエリ内で認識される顔画像）、バーコードタイプ（視覚クエリ内で認識されるバーコード）、およびテキストタイプ（視覚クエリ内で認識されるテキスト）のうちの１つまたは複数が含まれる。
・  電子メールアプリケーション、電話アプリケーション、ブラウザアプリケーション、マッピングアプリケーション、インスタントメッセージングアプリケーション、ソーシャルネットワーキングアプリケーションなど、さらなるオプションのクライアントアプリケーション７４０。一部の実施形態では、作動可能検索結果を選択すると、該当する作動可能検索結果に対応するアプリケーションを起動し、またはそのアプリケーションにアクセスすることができる。
【００６３】
場合により、ユーザが注釈用に画像の特定の副部分を選択することを可能にする画像領域選択モジュール７３４は、ユーザが、必ずしもさらなる注釈を付けることなく検索結果を「正しい」ヒットとして選択することも可能にする。例えば、ユーザに上位Ｎ個の顔認識の一致を提示してもよく、ユーザがその結果一覧から正しい人物を選択してもよい。一部の検索クエリでは、複数の種類の結果が提示され、ユーザは結果の種類を選択する。例えば、画像クエリが木の隣に立っている人物を含むが、ユーザはその人物に関する結果だけに興味がある場合がある。したがって画像選択モジュール７３４は、ユーザが、どの画像の種類が「正しい」種類であるか、すなわちそのユーザが受け取りたいと思う種類であるかを指示することを可能にする。ユーザは、（フォームに記入するための）注釈テキスト入力モジュール７３０または自由形式注釈テキスト入力モジュール７３２のいずれかを使用し、個人的なコメントまたは説明的な言葉を加えることにより検索結果に注釈を付けたい場合もある。
【００６４】
一部の実施形態では、オプションのローカル画像解析モジュール７３８がクライアントアプリケーション（図１、１０８）の一部である。さらに一部の実施形態では、オプションのローカル画像解析モジュール７３８が、視覚クエリまたは視覚クエリの一部を事前処理しもしくは分類するためのローカル画像解析を実行するための、１つまたは複数のプログラムを含む。例えばクライアントアプリケーション７２２は、検索エンジンに視覚クエリをサブミットする前に画像がバーコード、顔、またはテキストを含むことを認識し得る。一部の実施形態では、視覚クエリが特定の種類の画像を含むとローカル画像解析モジュール７３８が検出する場合、そのモジュールは、対応する種類の検索結果に興味があるかどうかをユーザに尋ねる。例えば、ローカル画像解析モジュール７３８は、その一般的特徴に基づいて（すなわち誰の顔かを決定することなしに）顔を検出し得、視覚クエリサーバシステムにクエリを送る前にユーザに即時フィードバックを提供する。ローカル画像解析モジュール７３８は、「顔を検出しました。この顔について顔認識の一致を得たいですか？」のような結果を返してもよい。このようにすることで、視覚クエリサーバシステム（図１、１０６）の時間を節約し得る。一部の視覚クエリでは、フロントエンド視覚クエリ処理サーバ（図１、１１０）は、ローカル画像解析モジュール７３８が認識した画像の種類に対応する検索システム１１２にしか視覚クエリを送らない。他の実施形態では、検索システム１１２への視覚クエリは、検索システム１１２Ａ〜Ｎのすべてに視覚クエリを送ってもよいが、ローカル画像解析モジュール７３８が認識した画像の種類に対応する、検索システム１１２からの結果をランク付けする。一部の実施形態では、視覚クエリサーバシステムの動作にローカル画像解析が影響を及ぼす様式は、クライアントシステムの構成、またはユーザもしくはクライアントシステムに関連する構成または処理パラメータによって決まる。さらに、任意の特定の視覚クエリの実際のコンテンツおよびローカル画像解析によってもたらされる結果は、クライアントシステムおよび視覚クエリサーバシステムのいずれかまたは両方において異なるように処理すべき異なる視覚クエリをもたらす場合がある。
【００６５】
一部の実施形態では、バーコード認識を２つのステップで行い、視覚クエリがバーコードを含むかどうかの解析を、ローカル画像解析モジュール７３８においてクライアントシステム上で実行する。次いで、視覚クエリがバーコードを含む可能性が高いとクライアントが判断する場合にのみ、視覚クエリをバーコード検索システムに渡す。他の実施形態では、バーコード検索システムがすべての視覚クエリを処理する。
【００６６】
場合により、クライアントシステム１０２は、追加のクライアントアプリケーション７４０を含む。
【００６７】
図６は、本発明の一実施形態によるフロントエンド視覚クエリ処理サーバシステム１１０を示すブロック図である。フロントエンドサーバ１１０は、典型的には１個または複数個の処理ユニット（ＣＰＵ）８０２、１つまたは複数のネットワークインターフェイスもしくは他の通信インターフェイス８０４、メモリ８１２、およびこれらのコンポーネントを相互接続するための１つまたは複数の通信バス８１４を含む。メモリ８１２には、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリが含まれ、１つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶デバイスなどの不揮発性メモリが含まれ得る。メモリ８１２には、１個または複数個のＣＰＵ８０２から離れて位置する１つまたは複数の記憶装置が場合により含まれ得る。メモリ８１２あるいはメモリ８１２内の１つまたは複数の不揮発性メモリ装置は、持続性コンピュータ可読記憶媒体を含む。一部の実施形態では、メモリ８１２またはメモリ８１２のコンピュータ可読記憶媒体が、以下のプログラム、モジュール、およびデータ構造またはその一部を記憶する。
・  様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム８１６。
・  フロントエンドサーバシステム１１０を、１つまたは複数の通信ネットワークインターフェイス８０４（有線または無線）、およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの１つまたは複数の通信ネットワークを介して他のコンピュータに接続するために使用するネットワーク通信モジュール８１８。
・  クライアントシステム１０２から来る視覚クエリを処理し、それらの視覚クエリを複数の並列検索システムに送るためのクエリマネージャ８２０であって、本明細書のいたるところに記載するように、視覚クエリがクライアントによって生成された命令（例えば「顔認識検索のみ」）を含む場合など、一部の特別な状況では視覚クエリを検索システムのうちの１つだけに導くことがある。
・  １つまたは複数の並列検索システムからの結果を場合によりフィルタし、提示するために最上位のまたは「関連する」結果をクライアントシステム１０２に送るための結果フィルタリングモジュール８２２。
・  １つまたは複数の並列検索システムからの結果を場合によりランク付けし、提示するために結果をフォーマットするための結果ランク付け／フォーマットモジュール８２４。
・  結果ドキュメント作成モジュール８２６は、対話型検索結果ドキュメントを作成するために適切な場合に使用し、モジュール８２６は、これだけに限定されないが、境界ボックス作成モジュール８２８およびリンク作成モジュール８３０を含むサブモジュールを含んでもよい。
・  視覚クエリのそれぞれの副部分の視覚的識別子であるラベルを作成するための、ラベル作成モジュール８３１。
・  ユーザから注釈を受け取り、それらの注釈を注釈データベース１１６に送るための注釈モジュール８３２。
・  視覚クエリに応答し、クライアント側のアクションを起動するようにそれぞれが構成される、１つまたは複数の作動可能検索結果要素を生成するための作動可能検索結果モジュール８３８であって、作動可能検索結果要素の例は、通話を開始するためのボタン、電子メールメッセージを開始するためのボタン、住所の地図を描くためのボタン、レストランを予約するためのボタン、および製品を購入するオプションを提供するためのボタンである。
・  データベース自体８３４およびデータベースの索引８３６を含む、クエリ／注釈データベース１１６。
【００６８】
結果ランク付け／フォーマットモジュール８２４は、１つまたは複数の並列検索システム（図１、１１２−Ａ〜１１２−Ｎ）から返される結果をランク付けする。既に上記で述べたように、一部の視覚クエリでは、１つの検索システムからの結果しか関連しない場合がある。そのような場合、その１つの検索システムからの関連する検索結果だけをランク付けする。一部の視覚クエリでは、数種類の検索結果が関連することがある。これらの例では、一部の実施形態において、結果ランク付け／フォーマットモジュール８２４は、より関連性が低い検索システムの結果に優先して、最も関連する結果（例えば最も高い関連性スコアを有する結果）を有する検索システムからの結果のすべてをランク付けする。他の実施形態では、結果ランク付け／フォーマットモジュール８２４が、関連する各検索システムからの最上位の結果を残りの結果に優先してランク付けする。一部の実施形態では、結果ランク付け／フォーマットモジュール８２４が、検索結果のそれぞれについて計算される関連性スコアに従って結果をランク付けする。一部の視覚クエリでは、並列視覚検索システムによる検索に加えて拡張(augmented)テキストクエリを実行する。一部の実施形態では、テキストクエリも実行する場合、それらの結果を視覚検索システムの結果と視覚的に区別できる方法で提示する。
【００６９】
結果ランク付け／フォーマットモジュール８２４はさらに、結果をフォーマットする。一部の実施形態では、結果が一覧形式で提示される。一部の実施形態では、結果が対話型結果ドキュメントによって提示される。一部の実施形態では、対話型結果ドキュメントおよび結果一覧の両方が提示される。一部の実施形態では、クエリの種類が、結果を提示する方法を決定づける。例えば、視覚クエリ内で複数の検索可能サブジェクトが検出される場合、対話型結果ドキュメントが作成されるのに対し、検索可能サブジェクトが１つしか検出されない場合、結果は一覧形式でのみ表示される。
【００７０】
結果ドキュメント作成モジュール８２６は、対話型検索結果ドキュメントを作成するために使用する。対話型検索結果ドキュメントは、１つまたは複数の検出済みおよび検索済みサブジェクトを有し得る。境界ボックス作成モジュール８２８は、検索済みサブジェクトのうちの１つまたは複数を取り囲む境界ボックスを作成する。境界ボックスは長方形のボックスとしてもよく、または１つもしくは複数のサブジェクトの１つもしくは複数の形の輪郭を描いてもよい。リンク作成モジュール８３０は、対話型検索結果ドキュメント内のそれぞれのサブジェクトに関連する検索結果へのリンクを作成する。一部の実施形態では、境界ボックス領域内でクリックすることは、リンク作成モジュールが挿入した対応するリンクを活性化する。
【００７１】
クエリ／注釈データベース１１６は、視覚クエリの結果を改善するために使用することができる情報を含む。一部の実施形態では、視覚クエリの結果が提示された後、ユーザは画像に注釈を付けてもよい。さらに一部の実施形態では、ユーザは、画像に注釈を付けてからその画像を視覚クエリ検索システムに送ってもよい。事前に注釈を付けることは、結果の的を絞ることにより、または視覚クエリ検索に並列して注釈が付けられた語に対するテキストベース検索を実行することにより、視覚クエリの処理を促進し得る。一部の実施形態では、潜在的な画像一致ヒットとして返されるように、注釈を付けたバージョンの写真を（例えばその画像および１つまたは複数の注釈を非公開ではないと指定することにより、例えばユーザに公開する許可が与えられている場合）公開することができる。例えば、ユーザが花の写真を撮り、その花に関する詳細な属および種の情報を与えることによりその画像に注釈を付ける場合、ユーザは、その花を探している視覚クエリ調査を行うすべての人にその画像を提示したい場合がある。一部の実施形態では、クエリ／注釈データベース１１６からの情報を並列検索システム１１２に周期的にプッシュし、並列検索システム１１２はその情報の関連部分を（もしあれば）個々のデータベース１１４内に取り入れる。
【００７２】
図７は、視覚クエリを処理するために利用する並列検索システムのうちの１つを示すブロック図である。図７は、本発明の一実施形態による「汎用」サーバシステム１１２−Ｎを示す。このサーバシステムは、視覚クエリ検索サーバ１１２−Ｎのうちのいずれか１つを表すという点でのみ汎用である。汎用サーバシステム１１２−Ｎは、典型的には１個または複数個の処理ユニット（ＣＰＵ）５０２、１つまたは複数のネットワークインターフェイスもしくは他の通信インターフェイス５０４、メモリ５１２、およびこれらのコンポーネントを相互接続するための１つまたは複数の通信バス５１４を含む。メモリ５１２には、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリが含まれ、１つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶デバイスなどの不揮発性メモリが含まれ得る。メモリ５１２には、１個または複数個のＣＰＵ５０２から離れて位置する１つまたは複数の記憶装置が場合により含まれ得る。メモリ５１２あるいはメモリ５１２内の１つまたは複数の不揮発性メモリ装置は、持続性コンピュータ可読記憶媒体を含む。一部の実施形態では、メモリ５１２またはメモリ５１２のコンピュータ可読記憶媒体が、以下のプログラム、モジュール、およびデータ構造またはその一部を記憶する。
・  様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム５１６。
・  汎用サーバシステム１１２−Ｎを、１つまたは複数の通信ネットワークインターフェイス５０４（有線または無線）、およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの１つまたは複数の通信ネットワークを介して他のコンピュータに接続するために使用するネットワーク通信モジュール５１８。
・  特定のサーバシステムに固有の検索アプリケーション５２０であって、検索アプリケーション５２０は、例えばバーコード検索アプリケーション、色認識検索アプリケーション、製品認識検索アプリケーション、オブジェクトまたはオブジェクトカテゴリ検索アプリケーション等としてもよい。
・  特定の検索アプリケーションが索引を利用する場合は、オプションの索引５２２。
・  特定の検索アプリケーションに関連する画像を記憶するためのオプションの画像データベース５２４であって、記憶される画像データは、もしあれば、検索処理の種類に依拠する。
・  検索アプリケーションからの結果にランク付けするためのオプションの結果ランク付けモジュール５２６（関連性スコアリングモジュールと呼ぶこともある）であって、このランク付けモジュールは、検索アプリケーションからの結果ごとに関連性スコアを割り当ててもよく、所定の最小スコアに達する結果がない場合、このサーバシステムの結果が関連しないことを示すヌルまたはゼロ値スコアをフロントエンド視覚クエリ処理サーバに返してもよい。
・  注釈データベース（図１、１１６）から注釈情報を受け取り、注釈情報のいずれかが特定の検索アプリケーションに関連するかどうかを判定し、注釈情報のうちの決定した任意の関連部分をそれぞれの注釈データベース５３０内に取り入れるための注釈モジュール５２８。
【００７３】
図８は、本発明の一実施形態による、視覚クエリを処理するために利用するＯＣＲ検索システム１１２−Ｂを示すブロック図である。ＯＣＲ検索システム１１２−Ｂは、典型的には１個または複数個の処理ユニット（ＣＰＵ）６０２、１つまたは複数のネットワークインターフェイスもしくは他の通信インターフェイス６０４、メモリ６１２、およびこれらのコンポーネントを相互接続するための１つまたは複数の通信バス６１４を含む。メモリ６１２には、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリが含まれ、１つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶デバイスなどの不揮発性メモリが含まれ得る。メモリ６１２には、１個または複数個のＣＰＵ６０２から離れて位置する１つまたは複数の記憶装置が場合により含まれ得る。メモリ６１２あるいはメモリ６１２内の１つまたは複数の不揮発性メモリ装置は、持続性コンピュータ可読記憶媒体を含む。一部の実施形態では、メモリ６１２またはメモリ６１２のコンピュータ可読記憶媒体が、以下のプログラム、モジュール、およびデータ構造またはその一部を記憶する。
・  様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム６１６。
・  ＯＣＲ検索システム１１２−Ｂを、１つまたは複数の通信ネットワークインターフェイス６０４（有線または無線）、およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの１つまたは複数の通信ネットワークを介して他のコンピュータに接続するために使用するネットワーク通信モジュール６１８。
・  視覚クエリ内のテキストを認識しようと試み、文字画像を文字へと変換する光学的文字認識（ＯＣＲ）モジュール６２０。
・  ＯＣＲモジュール６２０が特定のフォント、テキストパターン、および文字認識に固有の他の特徴を認識するために利用する、オプションのＯＣＲデータベース１１４−Ｂ。
・  変換された語を辞書と突き合わせて確認し、さもなければ辞書の語に一致する語の中のもしかしたら誤変換された文字を置換することにより、文字画像の文字への変換を改善するオプションのスペルチェックモジュール６２２。
・  変換されたテキスト内で固有表現を探し、認識した固有表現を用語クエリ内の用語として用語クエリサーバシステム（図１、１１８）に送り、用語クエリサーバシステムからの結果を、認識した固有表現に関連するＯＣＲ済みテキスト内に埋め込まれたリンクとして提供する、オプションの固有表現認識モジュール６２４。
・  変換されたセグメント（変換された文や段落など）をテキストセグメントのデータベースと突き合わせて確認し、さもなければテキスト一致アプリケーションのテキストセグメントに一致するＯＣＲ済みテキストセグメントの中のもしかしたら誤変換された文字を置換することにより、文字画像の文字への変換を改善するオプションのテキスト一致アプリケーション６３２であって、一部の実施形態では、テキスト一致アプリケーションが見つけるテキストセグメントがリンクとしてユーザに提供される（例えばユーザがNew York Timesの１ページをスキャンした場合、テキスト一致アプリケーションはNew York Timesのウェブサイト上に投稿されたすべての記事へのリンクを提供してもよい）。
・  ＯＣＲされた結果を提示するためにフォーマットし、固有表現へのオプションのリンクをフォーマットし、さらにテキスト一致アプリケーションからの関係する任意の結果を場合によりランク付けするための結果ランク付け／フォーマットモジュール６２６。
・  注釈データベース（図１、１１６）から注釈情報を受け取り、注釈情報のいずれかがＯＣＲ検索システムに関連するかどうかを判定し、注釈情報のうちの決定した任意の関連部分をそれぞれの注釈データベース６３０内に取り入れるためのオプションの注釈モジュール６２８。
【００７４】
図９は、本発明の一実施形態による、少なくとも１つの顔画像を有する視覚クエリを処理するために利用する顔認識検索システム１１２−Ａを示すブロック図である。顔認識検索システム１１２−Ａは、典型的には１個または複数個の処理ユニット（ＣＰＵ）９０２、１つまたは複数のネットワークインターフェイスもしくは他の通信インターフェイス９０４、メモリ９１２、およびこれらのコンポーネントを相互接続するための１つまたは複数の通信バス９１４を含む。メモリ９１２には、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリが含まれ、１つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶デバイスなどの不揮発性メモリが含まれ得る。メモリ９１２には、１個または複数個のＣＰＵ９０２から離れて位置する１つまたは複数の記憶装置が場合により含まれ得る。メモリ９１２あるいはメモリ９１２内の１つまたは複数の不揮発性メモリ装置は、持続性コンピュータ可読記憶媒体を含む。一部の実施形態では、メモリ９１２またはメモリ９１２のコンピュータ可読記憶媒体が、以下のプログラム、モジュール、およびデータ構造またはその一部を記憶する。
・  様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム９１６。
・  顔認識検索システム１１２−Ａを、１つまたは複数の通信ネットワークインターフェイス９０４（有線または無線）、およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの１つまたは複数の通信ネットワークを介して他のコンピュータに接続するために使用するネットワーク通信モジュール９１８。
・  クエリ内の顔画像に潜在的に一致する潜在的な画像の一致を特定するための視覚的識別モジュール９２４と、潜在的な画像の一致に関連する人物を特定するための個人識別モジュール９２６と、要求者（および／または画像内の別の人物）に対する社会的なつながりについてのメトリクスを含む人物固有データを取得するための社会的つながりメトリクスモジュール９２８と、顔画像と潜在的な一致との間の視覚的類似性についてのメトリクスに応じて、ならびに社会的つながりメトリクスに応じて、特定した人物のランク付けした一覧を生成するためのランク付けモジュール９３０とを含む、顔認識検索アプリケーション９２０。
・  クエリ内の顔画像に潜在的に一致する画像を探すために検索する顔画像データベース１１４−Ａは、ソーシャルネットワークの画像９３２、ウェブアルバムの画像９３４、写真共有の画像９３６、前回のクエリの画像９３８など、１つまたは複数の画像源を含む。特定のクエリに応答して使用する画像源は、要求者に関するデータに応じて特定する。一部の実施形態では、それらの画像源は、要求者のソーシャルネットワーキングアカウント、要求者のウェブアルバムなど、要求者に属しまたは関連するアカウント内の画像しか含まない。他の実施形態では、これらの情報源は、要求者と社会的につながりがある他の人々、例えばソーシャルグラフ上で要求者と直接つながりがある人々に属しまたは関連する画像を含む。場合により、顔画像データベース１１４−Ａは有名人の画像９４０を含む。一部の実施形態では、この顔画像データベースは、パブリックドメイン内で適法な顔画像の供給業者など、外部の情報源から得た顔画像を含む。
・  画像特徴エクストラクタ９４２は、顔画像データベース１１４−Ａ内の画像に由来する特徴を抽出し、その情報を人物固有データのデータベース９６４内に記憶する。一部の実施形態では、視覚的特徴エクストラクタ９４４を使い、屋内環境要素、屋外環境要素、性別要素、人種要素、眼鏡要素、顔ひげ要素、頭髪要素、帽子要素、眼の色要素、出現情報、同時出現情報などの視覚的特徴を抽出する。一部の実施形態では、メタデータ特徴エクストラクタ９４６を使い、日付情報、時間情報、位置情報などのメタデータの特徴を抽出する。
・  公開データベース９４８は、潜在的な画像の一致に関連する人物と要求者との間の、社会的なつながりについてのつながりメトリクスを含む人物固有データの情報源である。データは、これだけに限定されないが、ソーシャルネットワークデータベース９２２、ソーシャルマイクロブログデータベース９５０、ブログデータベース９５２、電子メールデータベース９５４、ＩＭデータベース９５６、カレンダデータベース９５８、連絡先一覧９６０、および／または公開ＵＲＬ９６２を含む、複数のアプリケーションから得られる。
・  特定の人物に固有の情報を記憶する、人物固有データのデータベース９６４。人物固有データの一部またはすべてを公開データベースから得る。人物固有データについては、図１８Ａ〜Ｃに関してより詳細に説明する。
・  提示するために結果をフォーマットするための結果フォーマットモジュール９６６であって、一部の実施形態では、フォーマットされる結果が、潜在的な画像の一致および人物固有データのデータベース９６４からの情報の一部を含む。
・  注釈データベース（図１、１１６）から注釈情報を受け取り、注釈情報のいずれかが顔認識検索システムに関連するかどうかを判定し、注釈情報のうちの決定した任意の関連部分をそれぞれの注釈データベース９７０内に記憶するための注釈モジュール９６８。
・  人物位置モジュール９７２は、要求者、および視覚クエリ内の顔画像への潜在的な一致として特定される１人または複数の人物の現在地に関する位置情報を取得する。人物位置モジュール９７２により位置情報を取得すること、および位置情報を使用して検索アプリケーション９２０による顔画像に対する人物の突き合わせを改善することについては、図１６Ａ、１７、１８Ａ、および１８Ｃに関して以下に論じる。
【００７５】
図１０は、本発明の一実施形態による、視覚クエリを処理するために利用する画像−用語検索システム１１２−Ｃを示すブロック図である。一部の実施形態では、この画像−用語検索システムは視覚クエリ内のオブジェクトを認識する（インスタンス認識）。他の実施形態では、この画像−用語検索システムは視覚クエリ内のオブジェクトカテゴリを認識する（タイプ認識）。一部の実施形態では、この画像−用語システムは、オブジェクトおよびオブジェクトカテゴリの両方を認識する。この画像−用語検索システムは、視覚クエリ内の画像に関する潜在的な用語の一致を返す。画像−用語検索システム１１２−Ｃは、典型的には１個または複数個の処理ユニット（ＣＰＵ）１００２、１つまたは複数のネットワークインターフェイスもしくは他の通信インターフェイス１００４、メモリ１０１２、およびこれらのコンポーネントを相互接続するための１つまたは複数の通信バス１０１４を含む。メモリ１０１２には、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリが含まれ、１つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶デバイスなどの不揮発性メモリが含まれ得る。メモリ１０１２には、１個または複数個のＣＰＵ１００２から離れて位置する１つまたは複数の記憶装置が場合により含まれ得る。メモリ１０１２あるいはメモリ１０１２内の１つまたは複数の不揮発性メモリ装置は、持続性コンピュータ可読記憶媒体を含む。一部の実施形態では、メモリ１０１２またはメモリ１０１２のコンピュータ可読記憶媒体が、以下のプログラム、モジュール、およびデータ構造またはその一部を記憶する。
・  様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム１０１６。
・  画像−用語検索システム１１２−Ｃを、１つまたは複数の通信ネットワークインターフェイス１００４（有線または無線）、およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの１つまたは複数の通信ネットワークを介して他のコンピュータに接続するために使用するネットワーク通信モジュール１０１８。
・  画像検索データベース１１４−Ｃ内で、視覚クエリ内の１つまたは複数のサブジェクトに一致する画像を検索する、画像−用語検索アプリケーション１０２０。
・  視覚クエリの１つまたは複数のサブジェクトに似た画像を探すために、検索アプリケーション１０２０によって検索され得る画像検索データベース１１４−Ｃ。
・  テキストベースクエリ検索エンジン１００６を使用して画像を検索する際にユーザが使用するテキスト用語を記憶する、用語−画像逆索引１０２２。
・  潜在的な画像の一致をランク付けし、かつ／または用語−画像逆索引１０２２内で確認される、潜在的な画像の一致に関連する用語をランク付けするための、結果ランク付け／フォーマットモジュール１０２４。
・  注釈データベース（図１、１１６）から注釈情報を受け取り、注釈情報のいずれかが画像−用語検索システム１１２−Ｃに関連するかどうかを判定し、注釈情報のうちの決定した任意の関連部分をそれぞれの注釈データベース１０２８内に記憶するための注釈モジュール１０２６。
【００７６】
図５〜図１０は、本明細書に記載の諸実施形態の構造上の概略図であるよりも、むしろ１組のコンピュータシステム内にあり得る様々な機能についての機能上の説明であることを意図する。実際には、および当業者によって理解されているように、別々に図示した項目を組み合わせることができ、一部の項目を分けてもよい。例えば、これらの図面の中で別々に示した一部の項目を単一のサーバ上に実装することができ、単一の項目を１つまたは複数のサーバによって実装することができる。視覚クエリの処理を実施するために使用するシステムの実際の数、およびそれらのシステム間でどのように機能を割り振るのかは実施形態ごとに異なる。
【００７７】
本明細書に記載の方法のそれぞれは、持続性コンピュータ可読記憶媒体の中に記憶され、１つまたは複数のサーバもしくはクライアントの１個または複数個のプロセッサによって実行される命令に準拠し得る。上記に特定したモジュールまたはプログラム（すなわち命令のセット）は、必ずしも別個のソフトウェアプログラム、プロシージャ、またはモジュールとして実装する必要はなく、よって様々な実施形態において、これらのモジュールの様々なサブセットを組み合わせ、またさもなければ再編成してもよい。図５〜図１０に示す操作のそれぞれは、コンピュータメモリまたは持続性コンピュータ可読記憶媒体の中に記憶される命令に対応し得る。
【００７８】
図１１は、例示的な視覚クエリ１１０２のスクリーンショットを有するクライアントシステム１０２を示す。図１１に示すクライアントシステム１０２は、携帯電話、携帯型音楽プレーヤ、携帯型電子メール装置などのモバイル機器である。クライアントシステム１０２は、ディスプレイ７０６、およびこの図面の中に示すボタンのような１つまたは複数の入力手段７０８を含む。一部の実施形態では、ディスプレイ７０６がタッチセンスディスプレイ７０９である。タッチセンスディスプレイ７０９を有する実施形態では、ディスプレイ７０９上に表示されるソフトボタンが電気機械的ボタン７０８の一部またはすべてを場合により置換してもよい。以下により詳細に説明するように、タッチセンスディスプレイは、視覚クエリの結果と対話する際にも役立つ。クライアントシステム１０２は、カメラ７１０などの画像取込機構も含む。
【００７９】
図１１は、店の棚の上にあるパッケージの写真または映像フレームである視覚クエリ１１０２を示す。ここに記載する実施形態では、視覚クエリは、２つの次元のそれぞれにおいて視覚クエリのサイズに画素単位で対応する解像度を有する、二次元画像である。この例における視覚クエリ１１０２は、三次元オブジェクトの二次元画像である。視覚クエリ１１０２は、背景要素、製品パッケージ１１０４、ならびに人物の画像１１０６、商標の画像１１０８、製品の画像１１１０および様々なテキスト要素１１１２を含む、パッケージ上の様々な種類のエンティティを含む。
【００８０】
図３に関して説明したように、視覚クエリ１１０２をフロントエンドサーバ１１０に送り、フロントエンドサーバ１１０は視覚クエリ１１０２を複数の並列検索システム（１１２Ａ〜Ｎ）に送り、結果を受け取って対話型結果ドキュメントを作成する。
【００８１】
図１２Ａおよび図１２Ｂは、対話型結果ドキュメント１２００の一実施形態のスクリーンショットを有するクライアントシステム１０２をそれぞれ示す。対話型結果ドキュメント１２００は、視覚クエリ１１０２のそれぞれの副部分についての１つまたは複数の視覚的識別子１２０２を含み、その副部分は、検索結果の一部へのユーザ選択可能リンクをそれぞれ含む。図１２Ａおよび図１２Ｂは、境界ボックス１２０２（例えば境界ボックス１２０２−１、１２０２−２、１２０２−３）である視覚的識別子を有する対話型結果ドキュメント１２００を示す。図１２Ａおよび図１２Ｂに示す実施形態では、ユーザは、境界ボックス１２０２によって輪郭が描かれる空間内の活性化領域上でタップすることにより、特定の副部分に対応する検索結果の表示を活性化する。例えばユーザは、人物の画像を取り囲んでいる境界ボックス１３０６（図１３）上でタップすることにより、その人物の画像に対応する検索結果を活性化することになる。他の実施形態では、タッチセンスディスプレイではなく、マウスまたはキーボードを使用して選択可能リンクを選択する。一部の実施形態では、ユーザが境界ボックス１２０２をプレビューするとき（すなわちユーザが境界ボックス上でシングルクリックし、一度タップし、またはポインタを乗せるとき）、第１の対応する検索結果を表示する。ユーザがその境界ボックスを選択するとき（すなわちユーザがダブルクリックし、二度タップし、または別の機構を使用して選択したことを示すとき）、そのユーザは複数の対応する検索結果の表示を活性化する。
【００８２】
図１２Ａおよび図１２Ｂでは、視覚的識別子は、視覚クエリの副部分を取り囲んでいる境界ボックス１２０２である。図１２Ａは、正方形または長方形の境界ボックス１２０２を示す。図１２Ｂは、ドリンクボトルの境界ボックス１２０２−３など、視覚クエリの副部分内の特定可能エンティティの境界の輪郭を描く境界ボックス１２０２を示す。一部の実施形態では、それぞれの境界ボックス１２０２が、その中により小さな境界ボックス１２０２を含む。例えば、図１２Ａおよび図１２Ｂでは、パッケージを識別する境界ボックス１２０２−１が、商標を識別する境界ボックス１２０２−２および残りの境界ボックス１２０２のすべてを取り囲む。テキストを含む一部の実施形態では、テキスト用語の一部のためのアクティブホットリンク１２０４も含まれる。図１２Ｂは、「Active Drink」および「United States」がホットリンク１２０４として表示されている一例を示す。これらの用語に対応する検索結果は、用語クエリサーバシステム１１８から受け取る結果であるのに対し、境界ボックスに対応する結果は、画像によるクエリ検索システムからの結果である。
【００８３】
図１３は、視覚クエリ内で認識されたエンティティのタイプごとにコード化された対話型結果ドキュメント１２００のスクリーンショットを有するクライアントシステム１０２を示す。図１１の視覚クエリは、人物の画像１１０６、商標の画像１１０８、製品の画像１１１０、および様々なテキスト要素１１１２を含む。そのため、図１３内に表示される対話型結果ドキュメント１２００は、人物１３０６、商標１３０８、製品１３１０、および２つのテキスト領域１３１２を取り囲む複数の境界ボックス１２０２を含む。図１３の境界ボックスは、各様に特色を与えられた透明な境界ボックス１２０２を表す別個のクロスハッチングを使ってそれぞれ提示する。一部の実施形態では、オーバーレイの色、オーバーレイパターン、ラベルの背景色、ラベルの背景パターン、ラベルのフォントの色、境界ボックスの枠線色など、視覚的に区別できる方法で提示するために境界ボックスの視覚的識別子（および／または対話型結果ドキュメント１２００内のラベルもしくは他の視覚的識別子）をフォーマットする。認識される特定のエンティティについてのタイプコード化を図１３の境界ボックスに関して図示するが、タイプごとのコード化は、ラベルである視覚的識別子にも適用することができる。
【００８４】
図１４は、ラベル１４０２が図１１の視覚クエリ１１０２のそれぞれの副部分の視覚的識別子である、対話型結果ドキュメント１２００のスクリーンショットを有するクライアント装置１０２を示す。ラベルの視覚的識別子１４０２は、対応する検索結果の一部へのユーザ選択可能リンクをそれぞれ含む。一部の実施形態では、その選択可能リンクは、ラベル１４０２の領域内に表示される説明的テキストによって識別される。一部の実施形態は、１つのラベル１４０２の中に複数のリンクを含む。例えば図１４では、飲み物を飲んでいる女性の上にあるラベルが、その女性に関する顔認識の結果へのリンクと、その特定の写真に関する画像認識の結果（例えば同じ写真を使用する他の製品や広告の画像）へのリンクとを含む。
【００８５】
図１４では、ラベル１４０２が、対話型結果ドキュメントのそれぞれの副部分上に位置する、テキストを有する部分的に透明な領域として表示される。他の実施形態では、それぞれのラベルが、対話型結果ドキュメントのそれぞれの副部分上には位置しないが、その付近に配置される。一部の実施形態では、図１３に関して論じたのと同じ方法でラベルをタイプごとにコード化する。一部の実施形態では、ユーザは、ラベル１３０２の縁または外周縁によって輪郭が描かれる空間内の活性化領域上でタップすることにより、ラベル１３０２に対応する特定の副部分に対応する検索結果の表示を活性化する。図１２Ａおよび図１２Ｂの境界ボックスに関して上記で論じたのと同じプレビュー機能および選択機能が、ラベルである視覚的識別子１４０２にも当てはまる。
【００８６】
図１５は、結果一覧１５００と同時に表示される対話型結果ドキュメント１２００および元の視覚クエリ１１０２のスクリーンショットを示す。図１２〜図１４に示すように、一部の実施形態では対話型結果ドキュメント１２００を単独で表示する。図１５に示すように、他の実施形態では対話型結果ドキュメント１２００を元の視覚クエリと同時に表示する。一部の実施形態では、視覚クエリの結果一覧１５００を、元の視覚クエリ１１０２および／または対話型結果ドキュメント１２００とともに同時に表示する。結果一覧１５００を対話型結果ドキュメント１２００と同時に表示するかどうかは、クライアントシステムの種類およびディスプレイ７０６上の空間量によって決まり得る。一部の実施形態では、クライアントシステム１０２は、（視覚クエリサーバシステムにサブミットする視覚クエリに応答して）結果一覧１５００および対話型結果ドキュメント１２００の両方を受け取るが、ユーザが対話型結果ドキュメント１２００の下方にスクロールする場合、結果一覧１５００だけを表示する。クライアントシステム１０２は、視覚クエリに応答して結果一覧１５００を受け取り、クライアントシステム１０２において局所的に記憶するので、これらの実施形態の一部では、クライアントシステム１０２は、ユーザが選択する視覚的識別子１２０２／１４０２に対応する結果を再度サーバにクエリする必要なしに表示する。
【００８７】
一部の実施形態では、結果一覧１５００を複数のカテゴリ１５０２へと編成する。各カテゴリは少なくとも１つの結果１５０３を含む。一部の実施形態では、結果１５０３と区別するためにカテゴリのタイトルを強調表示する。カテゴリ１５０２は、その計算されたカテゴリウェイトに応じて順序付けられる。一部の実施形態では、カテゴリウェイトは、そのカテゴリ内の最上位のＮ個の結果の重みの組合せである。そのため、より関連性のある結果をもたらした可能性が高いカテゴリを最初に表示する。認識された同一エンティティについて複数のカテゴリ１５０２（図１５に示す顔画像認識の一致および画像の一致など）が返される実施形態では、最初に表示されるカテゴリがより高いカテゴリウェイトを有する。
【００８８】
図３に関して説明したように、一部の実施形態では、クライアントシステム１０２のユーザが対話型結果ドキュメント１２００内の選択可能リンクを選択すると、カーソルが適切なカテゴリ１５０２またはそのカテゴリ内の最初の結果１５０３に自動的に移動する。あるいは、クライアントシステム１０２のユーザが対話型結果ドキュメント内の選択可能リンクを選択すると、選択されたリンクに関連する１つまたは複数のカテゴリが最初に表示されるように、結果一覧１５００が並べ替えられる。これは、例えば対応する検索結果を識別する情報を使って選択可能リンクをコード化することにより、または対応する選択可能リンクを示すように、もしくは対応する結果カテゴリを示すように検索結果をコード化することによって達成される。
【００８９】
一部の実施形態では、検索結果のカテゴリが、それらの検索結果をもたらす画像によるクエリ検索システムに対応する。例えば図１５では、カテゴリの一部は、製品の一致１５０６、ロゴの一致１５０８、顔認識の一致１５１０、画像の一致１５１２である。元の視覚クエリ１１０２および／または対話型結果ドキュメント１２００も、クエリ１５０４などのカテゴリタイトルにより同様に表示してもよい。同様に、用語クエリサーバが行う任意の用語検索の結果も、ウェブの結果１５１４などの別個のカテゴリとして表示してもよい。他の実施形態では、視覚クエリ内の複数のエンティティが、同じ画像によるクエリ検索システムからの結果をもたらす。例えば視覚クエリは、顔認識検索システム１１２−Ａからの別個の結果を返すことになる２つの異なる顔を含むことができる。そのため一部の実施形態では、カテゴリ１５０２を、検索システムごとにではなく、認識するエンティティごとに分ける。一部の実施形態では、認識したエンティティの画像を認識エンティティカテゴリヘッダ１５０２の中に表示し、それにより、たとえ両方の結果が同じ画像によるクエリ検索システムによってもたらされても、認識したそのエンティティの結果を認識した別のエンティティの結果と区別することができる。例えば図１５では、製品の一致カテゴリ１５０６が２つのエンティティ製品のエンティティを含み、そのため、それぞれが複数の対応する検索結果１５０３を有する、箱入りの製品１５１６およびボトル入りの製品１５１８である２つのエンティティカテゴリ１５０２を含む。一部の実施形態では、カテゴリを、認識するエンティティおよび画像によるクエリシステムの種類ごとに分けることができる。例えば図１５では、製品の一致カテゴリの製品の下で、関連する結果を返した２つの別個のエンティティがある。
【００９０】
一部の実施形態では、結果１５０３がサムネイル画像を含む。例えば、図１５の顔認識の一致結果について示すように、「女優Ｘ」および「ソーシャルネットワークの友人Ｙ」に関する顔の一致写真の小さなバージョン（サムネイル画像とも呼ぶ）が、その画像内の人物の名前などの何らかのテキスト記述とともに表示される。
【００９１】
図１６Ａ〜図１６Ｂは、一部の実施形態による、顔画像を含む視覚クエリに応答するプロセスを示すフローチャートである。これらの図面に示す操作のそれぞれは、コンピュータメモリまたは持続性コンピュータ可読記憶媒体の中に記憶される命令に対応することができる。顔認識検索システム１１２−Ａが、１つまたは複数の顔画像をその中に有する視覚クエリを要求者から受け取る（１６０２）。一部の実施形態では、視覚クエリが少なくとも１つの顔を含むことを、フロントエンド視覚クエリ処理サーバ１１０が判定する。つまり、視覚クエリが顔認識検索システム１１２−Ａによって処理される場合、その視覚クエリの画像の少なくとも一部が潜在的な顔を含むと判定されている。一部の状況では、複数の友人の写真や数人の集合写真など、視覚クエリが複数の顔を含む。視覚クエリが複数の顔画像を含む一部の事例では、要求者がそれらの顔のうちの１つにしか興味がない場合がある。そのため一部の実施形態では、視覚クエリが少なくともそれぞれの顔画像と第２の顔画像とを含む場合、潜在的な画像の一致を特定する前に、システムが、それぞれの顔画像の選択を要求者から受け取る。例えば一部の実施形態では、システムがそれぞれの潜在的な顔を特定し、クエリ内のどの１つまたは複数の顔が特定されることを要求者が望むのかに関する確認を要求する。
【００９２】
それぞれの顔画像に潜在的に一致する画像を特定する（１６０４）。これらの画像を、潜在的な画像の一致と呼ぶ。潜在的な画像の一致は、視覚的類似性基準に応じて特定される。さらに、潜在的な画像の一致は、要求者に関するデータに応じて特定される１つまたは複数の画像源から特定される（１６０６）。一部の実施形態では、要求者に関するデータを要求者のプロファイル情報から得る。一部の実施形態では、要求者のプロファイル情報を要求者から直接得る。あるいは、またはそれに加えて、要求者のプロファイル情報をソーシャルネットワークから受け取る。潜在的な画像の一致は、タグ付き画像、すなわち画像内の１人または複数の人物に関する個人識別子を含む画像を含む。一部の実施形態では、１つまたは複数の画像源には、要求者の１つまたは複数のソーシャルネットワーキングデータベース、１つまたは複数のウェブアルバム、１つまたは複数の写真共有データベース、およびその要求者に関連する他の画像源からの画像が含まれる。さらに一部の実施形態では、潜在的な画像の一致を得るために検索される画像源には、有名人の画像のデータベース（図９、９４０）も含まれる。一部の実施形態では、潜在的な画像の一致を得るために検索される画像源には、要求者の友人のまたは知人の、１つまたは複数のソーシャルネットワーキングデータベース、１つまたは複数のウェブアルバム、１つまたは複数の写真共有データベース、およびその要求者に関連する他の画像源からの画像も含まれる。要求者の友人のまたは知人のデータベースからの画像を含む実施形態では、どのデータベースを含めるのかについての決定を行う。例えば一部の実施形態では、所定の最大数の友人または知人のデータベースを含める。他の実施形態では、ソーシャルネットワーキングの直接の友人のデータベースだけを含める。
【００９３】
次いで、潜在的な画像の一致に関連する１人または複数の人物を特定する（１６０８）。一部の実施形態では、特定した画像の一致に関連する個人識別タグから１人または複数の人物を特定する。例えばこのシステムは、Bob Smith、Joe Jones、およびPeter Johnsonが、男の友人の画像を含むクエリに対する潜在的な画像の一致に関連する人物であると特定することができ、その理由は、これらの３人の人物が要求者に関連する他の画像内でタグ付けされており、これらの３人の人物がクエリ内の顔画像に視覚的に類似しているからである。
【００９４】
特定した人物ごとに、複数のアプリケーションから得られる社会的つながりメトリクスを含む人物固有データを取得する（１６１０）。その複数のアプリケーションには、通信アプリケーション、ソーシャルネットワーキングアプリケーション、カレンダアプリケーション、および共同アプリケーションが含まれる（１６１２）。例えばこれらのアプリケーションには、Facebook、Twitter、Buzz、G-mail（電子メールおよびＩＭ）、ウェブカレンダ、「LiveJournal」などのブログ、個人の公開ＵＲＬ、およびこれらに関連する任意の連絡先一覧などのアプリケーションが含まれ得る。一部の実施形態では、これらのアプリケーション上の「公の」公表情報からのみデータを得る。他の実施形態では、データが要求者に属しまたは要求者と明確に共有されている場合、そのデータを得る。一部の実施形態では、人物固有データは、（図１８Ａに関してさらに詳細に論じるように）特定した個別の人物の名前、住所、職業、グループの帰属関係、関心、年齢、出身地、個人的統計、および仕事情報を含む。一部の実施形態では、この情報を上述したアプリケーションの１つまたは複数から収集する。
【００９５】
人物固有データは、特定した個別の人物と要求者との間の社会的なつながりについてのメトリクスである、社会的つながりメトリクスを含む（１６１４）。一部の実施形態では、この社会的つながりメトリクスは、上述したアプリケーションの１つまたは複数にわたる社会的なつながりについてのメトリクスを含む。例えば、この社会的つながりメトリクスは、特定した個別の人物と要求者とがソーシャルネットワーキングウェブサイト上で友人であるのかどうか、（もしあれば）要求者と特定した個別の人物とにより交換された電子メールおよび／またはＩＭメッセージの数、ならびに要求者と特定した個別の人物とが互いのソーシャルマイクロブログの投稿をフォローするかどうか等の１つまたは複数を考慮に入れることができる。
【００９６】
一部の実施形態では、特定した個別の人物に関する人物固有データは、その個別の人物の他の画像に由来する特徴も含む（１６１６）。一部の実施形態では、これらの特徴には、日付情報、時間情報、位置情報など、画像のメタデータ情報が含まれる。他の実施形態では、個別の人物の他の画像に由来する特徴には、屋内環境要素、屋外環境要素、性別要素、人種要素、眼鏡要素、顔ひげ要素、頭髪要素、帽子要素、眼の色要素などの視覚的要素が含まれる。さらに他の実施形態では、個別の人物の他の画像に由来する特徴には、１つまたは複数の画像源内で個別の人物が出現する量に関する出現情報、ならびに／または１つもしくは複数の画像源からの画像内で個別の人物が同時に出現する量、および第２の人物と同時に出現する量に関する情報が含まれる。
【００９７】
場合により、一部の実施形態では、人物位置モジュール９７２（図９）が、要求者の現在地情報および特定した個別の人物の現在地情報を得る（１６１８）。例えば、要求者または特定した個別の人物の現在地は、モバイル機器内に位置するＧＰＳ受信機から、その人物が使用するデスクトップ装置のＩＰアドレスから、その人物の自宅住所もしくは勤務先住所から、または（「私は現在ボストンの会議にいます」など）その人物について公開されている位置から得ることができる。
【００９８】
次いで、それぞれの顔画像と潜在的な画像の一致との間の視覚的類似性についての１つまたは複数のメトリクスに応じて、および少なくとも社会的つながりメトリクスを含むランク付け情報にも応じて１人または複数の特定した人物をランク付けすることにより、順序付き人物一覧を生成する（１６２０）。ランク付けに影響を及ぼすこれらのおよび他の要素については、図１７に関して以下により詳細に論じる。
【００９９】
図１６Ｂに示すようにこのプロセスは続く。場合により、オプトインリストを確認し、１つまたは複数の人物識別子を要求者に公開できるかどうかについての判定を行う（１６２２）。一部の実施形態では、この確認は、潜在的に一致する１つまたは複数の画像が、要求者自身の１つまたは複数のアカウント以外の情報源からのものである場合、または特定した個別の人物のタグ付き画像を要求者自身のアカウントが含まない場合に行う。
【０１００】
次いで、その順序付き一覧からの少なくとも１つの人物識別子を要求者に送り（１６２４）、それにより１人または複数の人物を特定する。一部の実施形態では、人物識別子が名前である。他の実施形態では、人物識別子がハンドル、電子メールアドレス、ニックネーム等である。一部の実施形態では、プロファイル写真、視覚クエリに最も良く一致する特定した人物の画像などの代表的な写真を人物識別子とともに送る。そのような実施形態では、潜在的な一致として複数の人物を特定した場合、特定した個別の人物の代表的な写真を画像クエリに対する応答とともに送る。一部の実施形態では、連絡先情報や最近の公の投稿の抜粋などの追加情報も人物識別子とともに送る。他の実施形態では、人物識別子に加え、要求者と画像内の人物との間に見つかるつながりも返す。例えばJoe Smithについてのランク付けされた結果は、「Joe Smithはあなたのアカウントの複数において知人としてリストアップされています」や、「あなたもJoe SmithもPalo Alto Tennis Clubのメンバです」や、「あなたもJoe SmithもKaren Jonesと友人です」という一文を含むことができる。要求者に返す結果には、その人物の連絡先情報、グループへの所属、ソーシャルグラフによる要求者と一致画像内の人物との間の人々の名前など、さらなる情報を含めることができる。一部の実施形態では、要求者に提示される増補された情報は、その要求者が（例えば自身のプロファイル内の構成値により、または視覚クエリ内のパラメータにより、または視覚クエリの種類により）明示的にまたは黙示的に指定する。一部の実施形態では、要求者に複数の人物識別子が送られる場合、特定される下位の人物よりも、特定される上位の人物に関するより多くの情報を提供する。
【０１０１】
一部の実施形態では、１つまたは複数の人物識別子とともに、視覚クエリのコピー（またはそれぞれの顔画像を有するクエリの一部）も送る（１６２６）。元の視覚クエリの中に複数の顔画像があり、１つまたは複数の顔画像が明確に特定される場合、一部の実施形態では、特定される視覚クエリ内の人々の１人または複数にも視覚クエリのコピーを送る。したがって、集合写真を撮り、複数の人がその写真のコピーをほしい場合、要求者はその人たちの連絡先情報を探し、その写真のコピーをその人たちに手動で送る必要はない。一部の実施形態では、コピーを送る前に、特定した人々の１人または複数にそのコピーを送るべきことを要求者が最初に確認しなければならない。
【０１０２】
一部の実施形態では、要求者から個人識別子の選択を受け取る（１６２８）。次いでその選択に応答して、選択された人物識別子に対応するデータを要求者に送る（１６３０）。一部の実施形態では、このデータは、人物識別子に関連する１つまたは複数の画像、人物識別子に関連する連絡先情報、人物識別子に関連する公開プロファイル情報等を含む。一部の実施形態では、この情報の一部またはすべてを要求者の連絡先一覧内に記憶するオプション、または特定した人物について要求者の連絡先情報を更新するオプションを要求者に与える。一部の実施形態では、この情報は要求者の視覚クエリに関連し、または人物識別子に対応する顔画像を有するクエリの一部を連絡先一覧情報とともに記憶する。
【０１０３】
さらに一部の実施形態では、選択された人物識別子に対応する個別の人物の追加画像として視覚クエリの顔画像を記憶する（１６３２）。一部の実施形態では、その画像を、画像源の前回のクエリ部分（図９、９３８）の中に記憶する。一部の実施形態では、追加のデータを含めるために画像に注釈を付ける機会を要求者に与える。要求者が注釈データを入力する例では、顔認識検索システム１１２−Ａがその注釈データを受け取り、記憶する（１６３４）。注釈モジュール（図９、９６８）は、注釈を受け付けて将来の顔認識検索を改善する。例えば、ユーザがある人物の写真にその人物の名前により注釈を付ける場合、将来の顔認識クエリでその写真を使用してその人物を認識することができる。一部の実施形態では、プライバシ上の理由から、その追加の注釈付き人物写真は、顔認識処理を補強するために顔認識検索システム１１２−Ａによって使用され得るが、元の要求者を除く誰にも画像結果として返されない。一部の実施形態では、視覚クエリ内の特定される実際の人物だけが、画像を公開する（または要求者以外の人々が入手できるようにする）ことを許可される。一部の実施形態では、人物を明確に特定すると、その人物のソーシャルネットワーク内の人々のために、その画像を将来のクエリの結果として返すことを許可するかどうかを尋ねる要求をその人物に送る。
【０１０４】
一部の実施形態では、ステップ１６０４で、同一人物の複数の画像を取得することがある。潜在的な一致画像を取得し、それらの画像が同一人物のものであると判定すると（この判定は、画像がどちらも同じ個人ＩＤを有し、同じもしくは同様の人物固有データ（名前、住所等）を有し、または同じもしくは同様の社会的つながりを有することに気付くことによって行うことができる）、それらの画像を同じデータに関連付け、残りの処理ステップの間、単一ユニットのように扱う。場合により、ステップ１６２４において同じ人物識別子により２つ以上の画像が返される場合、画像クエリに対する応答の中で、同じ人物識別子の複数の取得画像が返される。
【０１０５】
図１７は、視覚クエリ内の顔画像に潜在的に一致する人物の順序付き一覧を生成する際に使用する、諸要素および特徴を示すフローチャートである。このフローチャートは、上記で論じたステップ１６２０に関するさらなる情報を提供する。
【０１０６】
一部の実施形態では、ソーシャルネットワークのつながりメトリクスに応じて順序付き人物一覧内の個別の人物のランク付けスコアを決定する際、様々な要素を使用する（１７０２）。一部の実施形態では、１つまたは複数の通信アプリケーション上での個別の人物と要求者との間の通信量を求め、その後個別の人物のランク付けスコアを決定し、個別の人物のランク付けスコアを決定する際の要素は、１つまたは複数の通信アプリケーション上での個別の人物と要求者との間の求めた通信量である（１７０４）。通信アプリケーションには、ソーシャルネットワーキングアプリケーション、ソーシャルマイクロブログ、電子メールアプリケーション、および／またはインスタントメッセージングアプリケーションが含まれ得る。例えば、個別の人物が１つまたは複数の通信アプリケーションにより要求者と大量に通信している場合（例えば電子メールやソーシャルネットワークの投稿による大量の通信）、要求者はその個別の人物を非常によく知っている可能性が高く、よって視覚クエリ内の顔画像は、その個別の人物である可能性が高い。一部の実施形態では、この要素は通信量が所定の閾値（例えば設定した通信回数、一定期間内の通信回数、または全通信のうちの一定の割合）を上回る場合にのみ使用する。一部の実施形態では、１つまたは複数の通信アプリケーション上での個別の人物と要求者との間の通信量が閾値を超えるかどうかを顔認識検索システム１１２−Ａが判定し、個別の人物のランク付けスコアを決定する際の要素は、１つまたは複数の通信アプリケーション上での個別の人物と要求者との間の通信量が閾値を超えるかどうかについての判定である。
【０１０７】
一部の実施形態では、それぞれのソーシャルネットワーキングアプリケーション内で要求者と個別の人物とが直接つながっているかどうかの判定を行い、その後個別の人物のランク付けスコアを決定し、個別の人物のランク付けスコアを決定する際の要素は、それぞれのソーシャルネットワーキングアプリケーション内で要求者と個別の人物とが直接つながっているかどうかの判定である（１７０６）。例えば、要求者と個別の人物とが友人として直接つながっている場合、要求者はその個別の人物を非常によく知っている可能性が高く、よって視覚クエリ内の顔画像は、その個別の人物である可能性が高い。
【０１０８】
個別の人物に関する人物固有データが、個別の人物の名前、住所、職業、グループの帰属関係、関心、年齢、出身地、個人的統計、および／または仕事情報のうちの２つ以上など、複数の特徴を含む場合、要求者についても同じ情報を、顔認識検索システム１１２−Ａがそのような情報を入手できる範囲内で取得する。次いで、要求者の人物固有データが、特定した個別の人物の人物固有データに類似する程度に応じて、１つまたは複数の個人類似性メトリクス(personal similarity metrics)を決定する。特定した個別の人物のランク付けスコアを決定し、特定した個別の人物のランク付けスコアを決定する際の１つまたは複数の要素は、１つまたは複数の個人類似性メトリクスである（１７０８）。例えば要求者と個別の人物とが同様の年齢、同様の職業、および同様のグループのメンバである場合、両者は友人である可能性が高く、よって視覚クエリ内の顔画像は、その個別の人物である可能性が高い。
【０１０９】
要求者および特定した人物の両方の現在地情報を成功裏に得る状況において、特定した個別の人物のランク付けスコアを決定し、特定した個別の人物のランク付けスコアを決定する際の要素は、要求者の現在地情報が特定した個別の人物の現在地情報に一致するかどうかである（１７１０）。例えば、要求者および個別の人物の両者が同じ場所にいると判定される場合、その近接性は、視覚クエリ内の顔画像がその個別の人物である可能性を高める。要求者および個別の人物が同じ場所にいないと判定される場合はなおさら、近接性がないことは、視覚クエリ内の顔画像がその個別の人物である可能性を著しく低下させる。さらに一部の実施形態では、要求者および特定した人物の両者の位置履歴または位置ログを取得し、一致がないか互いに比較する。一部の実施形態では、要求者および特定した人物の位置ログを、クエリ画像自体に由来する位置（および／または日時）的特徴とさらに比較する。例えば、画像が７月２日にSanta Cruz, CAで撮られたことをクエリの位置情報が示し、要求者および特定した人物の両者の位置ログも、２人が７月２日にSanta Cruz, CAにいたことを示す場合、この場所の一致は、視覚クエリ内の顔画像がその個別の人物の顔画像である可能性を高める。
【０１１０】
個別の人物の人物固有データが、個別の人物の他の画像に由来する特徴も含む実施形態では（この実施形態についてはステップ１６１６に関して論じた）、ランク付けは、受け取ったクエリと個別の人物の他の画像に由来する特徴との間の類似性にさらに準拠する（１７１２）。個別の人物のランク付けスコアを決定する際は様々な要素を使用し、それらの要素は、個別の人物の他の画像に由来するこれらの特徴に準拠する（１７１４）。
【０１１１】
一部の実施形態では、個別の人物の他の画像に由来する特徴には、画像取込日情報（例えば曜日、日付、および／または完全な日付）および画像取込時間情報が含まれる。次いで、受け取ったクエリが、個別の人物の１つまたは複数の他の画像の日時情報と同様の画像取込日時情報を有する程度に応じて、１つまたは複数の類似性メトリクスを決定する。個別の人物のランク付けスコアを決定し、個別の人物のランク付けスコアを決定する際の１つまたは複数の要素は、１つまたは複数の類似性メトリクスである（１７１６）。一部の実施形態では、この類似性メトリクスはブール値である（例えば、はい／いいえや１／０）。他の実施形態では、類似性メトリクスはブール値のベクトルである（例えば同じ日、はい／いいえ、１時間以内、はい／いいえ、５時間以内、はい／いいえ等）。類似性メトリクスは、類似性を測る（例えば０から１の）数値とすることができる。一部の実施形態では、個別の人物の他の画像ごとに類似性メトリクスを決定するが、実施形態によっては、個別の人物の画像のすべてについての階級値(group value)を決定する。一部の実施形態では、画像に由来するもう１つの特徴は場所／位置情報であり、この場所／位置情報は、上記で論じたように追加のまたは代わりの類似性メトリクスとして使用することができる。例えば、視覚クエリが１つまたは複数の他の画像と同様の日付、時間、および／または位置情報を有する場合、その類似性は、視覚クエリ内の顔画像が、同様の日付、時間、および／または位置情報を有する１つまたは複数の他の画像内にいた個別の人物である可能性を高める。
【０１１２】
一部の実施形態では、個別の人物の他の画像に由来する特徴には、１つまたは複数の画像源からの画像内に個別の人物が出現する量に関する出現情報が含まれる。これらの実施形態の一部では、個別の人物のランク付けスコアを決定する際の要素は、個別の人物の出現情報である（１７１８）。例えば、他の多数の画像が個別の人物を含む場合、要求者はその個別の人物を非常によく知っている可能性が高く、そのことは、視覚クエリ内の顔画像がその個別の人物の顔画像である可能性を高める。
【０１１３】
一部の実施形態では、個別の人物の他の画像に由来する特徴には、屋内環境要素、屋外環境要素、性別要素、人種要素、眼鏡要素、顔ひげ要素、頭髪要素、帽子要素、洋服要素、および眼の色要素のうちの１つまたは複数を含む、視覚的要素が含まれる。これらの実施形態の一部では、個別の人物のランク付けスコアを決定する際の１つまたは複数の要素は、個別の人物の視覚的要素を含む（１７２０）。
【０１１４】
場合によっては、視覚クエリが複数の顔画像を含む。視覚クエリ内に複数の顔画像がある場合、それらの顔画像間の相互のつながりが、それらの顔画像を正しく特定するのに役立つ場合がある。例えば、それらの顔画像が強い社会的つながりを有しまたは他の画像内に一緒に登場する場合、そうした事実は、それらの顔画像がクエリ画像内でも一緒である可能性を高める。一部の実施形態では、視覚クエリが少なくともそれぞれの顔画像と第２の顔画像とを含む。視覚的類似性基準に従って第２の顔画像に潜在的に一致する、（本明細書では第２の潜在的な画像の一致と呼ぶ）画像を特定する。この第２の潜在的な画像の一致は、要求者に関するデータに応じて特定される１つまたは複数の画像源からの画像である。次いで、第２の潜在的な画像の一致に関連する第２の人物を特定する。この決定のために、第２の人物が高い確度で特定されると仮定する。それぞれの顔画像に対する潜在的な一致として特定した人物ごとに、第２の人物に対する社会的なつながりについての第２の社会的つながりメトリクスを含む、人物固有データを複数のアプリケーションから得る。次いで、少なくとも第２の社会的つながりメトリクスを含むランク付け情報にさらに準拠して１人または複数の特定した人物をランク付けすることにより、順序付き人物一覧を生成する。そのため、個別の人物のランク付けは、クエリ内の第２の人物に対する社会的なつながりについてのメトリクスを含む、第２の社会的つながりメトリクスにさらに準拠する（１７２２）。つまり一部の実施形態では、順序付き人物一覧を生成する際、要求者に対する社会的なつながりおよび第２の人物に対する社会的なつながりの両方を使用する。
【０１１５】
他の実施形態では、最良の一致を見出すために、第２の人物と潜在的な一致として特定した個別の人物との間で、上記で論じた他の要素の１つまたは複数を比較する。例えば、第２の人物と個別の人物とが同じ会社に雇われ、同様の日付／時間情報を有する他の画像内に登場し、または互いに大量に通信する場合、この２人を正しく特定する際にこれらの要素を使用することができる。別の例では、個別の人物の他の画像に由来する特徴には、１つまたは複数の画像源からの画像内に個別の人物と第２の人物とが同時に出現する量に関する情報が含まれ、個別の人物のランク付けスコアを決定するとき、個別の人物のランク付けスコアを決定する際の要素は、１つまたは複数の画像源からの画像内にその人物と第２の人物とが同時に出現する量である（１７２４）。
【０１１６】
図１８Ａは、顔認識検索システム１１２−Ａが利用する顔画像データベース１１４−Ａのデータ構造の一部分を示すブロック図である。一部の実施形態では、顔画像データベースは、要求者に関するデータに応じて特定される１つまたは複数の画像源から得る、ある人物の１つまたは複数の画像１８０２を含む。一部の実施形態では、顔画像データベース１１４−Ａは、その人物の固有ＩＤ１８０４または人物識別子も含む。その人物に関する追加情報は人物識別子１８０４に関連付けられ、人物固有データのデータベース９６４内に記憶される。視覚クエリ内の顔画像についての潜在的な一致を決定する際、その追加情報の一部またはすべてを使用する。例えば一致するグループの帰属関係１８１２や強い社会的つながり１８１４など、要求者に対する社会的なつながりについてのメトリクスに応じて人物をランク付けすることにより、潜在的な画像の一致に関連する特定した人物の順序付き一覧を生成する。特定した人物の順序付き一覧を決定するとき、視覚クエリ内の顔画像に視覚的に類似している潜在的な画像に加え、人物固有データのデータベース９６４からのデータも使用する。人物固有データのデータベース９６４は、これだけに限定されないが、固有ＩＤ１８０４によって特定される人物の名前１８０６、住所１８０８、職業１８１０、グループの帰属関係１８１２、（図１８Ｂに関してより詳細に説明する）ソーシャルネットワークのつながり１８１４、現在地１８１６、共有設定１８１８、関心１８２０、年齢１８２２、出身地１８２４、個人的統計１８２６、仕事情報１８２８のうちのいずれかを含むことができる。この情報は、通信アプリケーション、ソーシャルネットワーキングアプリケーション、カレンダアプリケーション、共同アプリケーションなど、複数のアプリケーションから得られる。一部の実施形態では、図１８Ｃに関して論じるように、人物固有データが人物の１つまたは複数の画像に由来する特徴１８３０も含む。
【０１１７】
図１８Ｂは、ソーシャルネットワークのつながり１８１４の一例を示す。一部の実施形態では、特定した人物の人物固有データが、複数のアプリケーションから得られる、要求者（図１８Ｂではクエリ者とする）に対する社会的なつながりについての社会的つながりメトリクスを含む。この図面の中の人々の間の線は、（電子メール、インスタントメッセージ、およびソーシャルネットワーキングウェブサイトによるつながりなど）互いの社会的つながりの１つまたは複数を表す。一部の実施形態では、潜在的な画像の一致のランク付けスコアを決定する際の要素として、２人の人物間の社会的距離を使用する。例えば、潜在的に一致するある画像が人物Ｃの画像であり、潜在的に一致する別の画像が人物Ｙの画像であった場合、一部の実施形態では、人物Ｃの潜在的に一致する画像に人物Ｙよりも高い（ランク付けスコアを計算する際に使用する）社会的つながりランク付け係数が与えられ、その理由は、他のすべての要素を無視し、要求者は、ソーシャルネットワークで３「ホップ」離れている人物（人物Ｙ）よりも、自身と直接つながりがある人物（人物Ｃ）の写真を撮っていた可能性が高いからである。同様に、人物Ｗは要求者からソーシャルネットワークで２「ホップ」離れているのに対し、人物Ａは要求者からソーシャルネットワークで３「ホップ」離れているため、人物Ｗには人物Ａよりも高い社会的つながりランク付け係数が与えられる。一部の実施形態では、要求者の視覚クエリに応答する際にどの画像源を検索するのか決定するために、要求者に対するソーシャルネットワークのつながりも使用する。例えば一部の実施形態では、視覚クエリ内の顔画像に一致する画像を得るために検索される画像源に、ソーシャルネットワークで直接つながりがある人に属するアカウント内の画像が含まれるのに対し、要求者に対するソーシャルネットワークの直接のつながりがない人に属するアカウント内の画像は、視覚クエリ内の顔画像に一致する画像を得るために検索される画像源に含まれない。
【０１１８】
一部の視覚クエリでは、図１８Ａの人物固有データのデータベース９６４からの他の情報を、図１８Ｂのソーシャルネットワークつながりグラフ上の距離または「ホップ」と併せて使用する。例えば、要求者と個別の人物とが互いに近くに住む場合、同じ業界内で働く場合、同じソーシャルネットワーク「グループ」内にいる場合、および両者が（例えば両者のモバイル機器内のＧＰＳ受信機によって測定される）同じ位置に現在あるモバイル機器を有する場合、たとえその個別の人物がソーシャルネットワークつながりグラフ上で要求者から数「ホップ」離れていても、その個別の人物のランク付けスコアは依然として高い可能性がある。別の例では、潜在的に一致する画像内の個別の人物が、ソーシャルネットワークつながりグラフ上で要求者から１「ホップ」しか離れていない場合、人物固有データのデータベース９６４によって求められる弱いつながりにもかかわらず（宗教や政党を共有することのように、両者が多数の会員がいるグループのメンバであることなど）、その個別の人物は高くランク付けされる可能性がある。
【０１１９】
一部の実施形態では、要求者が、人物固有データのデータベース９６４からの一定の情報を、人物固有データのデータベース９６４からの他の情報よりも重要であると特定することができる。例えば要求者が仕事関連の会合に出席し、よってクエリ画像は要求者と同じ業界内で働く他の人々の顔画像を含む可能性が高いため、その要求者は、人物が働く業界に関する情報に他の人物固有データよりも高い重みを与えることを指定することができる。他の例では、要求者が、全員または主に同年齢の人々が出席するパーティー（または他の会合）からのクエリ画像を提出するため、その要求者は、年齢に関する情報に他の人物固有データよりも高い重みを与えることを指定することができる。
【０１２０】
図１８Ｃは、要求者に関連する個別の人物の画像に由来する、画像に由来する一部の特徴１８３０を示すブロック図である。一部の実施形態では、（人物の少なくとも１つの画像に由来する）これらの由来する特徴は、データベース内に人物識別子ごとに記憶される。これらの由来する特徴には、屋内環境要素１８３２、屋外環境要素１８３４、性別要素１８３６、人種要素１８３８、眼鏡要素１８４０、顔ひげ要素１８４２、頭髪要素１８４４、帽子要素１８４６、洋服要素１８４７、および眼の色要素１８４８、ならびに１つまたは複数の画像源内で個別の人物が出現する量に関する出現情報１８５０、ならびに１つまたは複数の画像源からの画像内で個別の人物が同時に出現する量、および様々なさらなる人々と同時に出現する量に関する情報１８５２のうちの１つまたは複数（典型的には２つ以上）が含まれる。一部の実施形態では、それらの由来する特徴には、各画像についての日付情報１８５４、時間情報１８５６、位置情報１８５８など、画像のメタデータ情報も含まれる。個別の人物の他の画像に由来する、それぞれの由来する特徴に値および重みを与え、その値および重みは、個別の人物のランク付けスコアを決定する際にその由来する特徴を使用する場合に使用される。
【０１２１】
上記の記載は、説明目的で特定の実施形態に関して記載してきた。しかし上記の実例的な解説は、網羅的であることも本発明を開示した厳密な形態に限定することも意図しない。上記の教示に照らし、多くの修正形態および改変形態があり得る。本発明の原理およびその実用的応用を最も良く説明して、それにより当業者が本発明、および考えられる特定の用法に適合される様々な修正が加えられる様々な実施形態を最も良く利用できるようにするために実施形態を選択して説明した。
【図１】
0005557911.tif 000002
【図２】
0005557911.tif 000003
【図３】
0005557911.tif 000004
【図４】
0005557911.tif 000005
【図５】
0005557911.tif 000006
【図６】
0005557911.tif 000007
【図７】
0005557911.tif 000008
【図８】
0005557911.tif 000009
【図９】
0005557911.tif 000010
【図１０】
0005557911.tif 000011
【図１１】
0005557911.tif 000012
【図１２Ａ】
0005557911.tif 000013
【図１２Ｂ】
0005557911.tif 000014
【図１３】
0005557911.tif 000015
【図１４】
0005557911.tif 000016
【図１５】
0005557911.tif 000017
【図１６Ａ】
0005557911.tif 000018
【図１６Ｂ】
0005557911.tif 000019
【図１７】
0005557911.tif 000020
【図１８Ａ】
0005557911.tif 000021
【図１８Ｂ】
0005557911.tif 000022
【図１８Ｃ】
0005557911.tif 000023