クライアントデバイスがクエリデータをネットワークを介して視覚探索デバイスに送信するネットワークシステムにおいて視覚探索を実行するための方法であって、前記クライアントデバイスにより、クエリ画像の少なくとも1つの特徴を定義する画像特徴記述子のセットをクエリ画像から抽出することと、第1の量子化レベルで量子化された前記画像特徴記述子のセットを表す第1のクエリデータを生成するために、前記クライアントデバイスにより、前記第1の量子化レベルで前記画像特徴記述子のセットを量子化することと、前記クライアントデバイスにより、前記第1のクエリデータを前記ネットワークを介して前記視覚探索デバイスに送信することと、前記第1のクエリデータが第2のクエリデータでアップデートされると、前記アップデートされた第1のクエリデータが第2の量子化レベルで量子化された前記画像特徴記述子のセットを表すように、前記クライアントデバイスにより、前記第1のクエリデータを拡張することと、前記第2の量子化レベルは、前記第1の量子化レベルで量子化するときより正確な前記画像特徴記述子のセットの表現を達成し、前記第1のクエリデータを精製するために、前記クライアントデバイスにより、前記第2のクエリデータを前記ネットワークを介して前記視覚探索デバイスに送信することと、を備える方法。前記第2のクエリデータを送信することは、前記視覚探索デバイスが前記第1の量子化レベルで量子化された前記画像特徴記述子を表す前記第1のクエリデータを使用して前記視覚探索を実行することと同時に、前記第2のクエリデータを送信することを備える、請求項1に記載の方法。第1の量子化レベルで前記画像特徴記述子を量子化することは、前記再構成点のそれぞれが、前記画像特徴記述子に対して定義されたボロノイセルの異なるそれぞれの中心に位置するように再構成点を決定することを含み、前記ボロノイセルは、前記ボロノイセル間に境界を画定する面と、2つ以上の前記面が交差する交点とを含み、第2のクエリデータを求めることは、追加の再構成点のそれぞれが前記面のそれぞれの中心に位置するように、追加の再構成点を決定することと、前に決定された再構成点のそれぞれからのオフセットベクトルとして前記追加の再構成点を指定することと、前記オフセットベクトルを含むように前記第2のクエリデータを生成することと、を含む請求項1に記載の方法。第1の量子化レベルで前記画像特徴記述子を量子化することは、前記再構成点のそれぞれが、前記画像特徴記述子に対して定義されたボロノイセルの異なるそれぞれの中心に位置するように再構成点を決定することを含み、前記ボロノイセルは、前記ボロノイセル間に前記境界を画定する面と、2つ以上の前記面が交差する交点とを含み、第2のクエリデータを求めることは、前記追加の再構成点のそれぞれが前記ボロノイセルの前記交点に位置するように、追加の再構成点を決定することと、前記前に決定された再構成点のそれぞれからのオフセットベクトルとして前記追加の再構成点を指定することと、前記オフセットベクトルを含むように前記第2のクエリデータを生成することと、を含む請求項1に記載の方法。前記画像特徴記述子のそれぞれは、前記画像内の特徴位置の周辺でサンプリングされた勾配のヒストグラムを備え、前記画像特徴記述子を第1の量子化レベルで量子化することは、勾配のヒストグラムに対して最近のタイプを決定することと、前記タイプは、所与の共通分母を有する有理数のセットであり、前記有理数のセットの合計は1に等しい、前記決定されたタイプを、前記所与の共通分母を有するすべての可能なタイプに対して前記決定されたタイプの辞書式配列を一意に識別するインデックスにマッピングすることと、を含み、前記第1のクエリデータは前記タイプのインデックスを含む、請求項1に記載の方法。前記第2のクエリデータを送信する前に、前記視覚探索デバイスで維持されるデータベース内を探索した結果として得られた、前記視覚探索デバイスからの識別データを受信することと、前記第2のクエリデータを送ることなく前記視覚探索を終わらせることと、前記識別データを視覚探索アプリケーションの中で使用することと、をさらに備える、請求項1に記載の方法。前記第2のクエリデータで拡張された後の前記第1のクエリデータが第3のクエリデータでアップデートされると、連続してアップデートされた前記第1のクエリデータが、第3の量子化レベルで量子化された前記画像特徴記述子を表すように、前記第1および第2のクエリデータをさらに拡張する第3のクエリデータを決定することと、前記第3のレベルは、前記第2の量子化レベルで量子化するときよりも一層正確な前記画像特徴記述子データの表現を達成し、前記第2のクエリデータで拡張された後の前記第1のクエリデータを連続的に精製するために、前記第3のクエリデータを前記ネットワークを介して前記視覚探索デバイスに送信することと、をさらに備える、請求項1に記載の方法。クライアントデバイスがクエリデータをネットワークを介して視覚探索デバイスに送信するネットワークシステムにおいて視覚探索を実行するための方法であって、前記視覚探索デバイスにより、第1のクエリデータを使用して前記視覚探索を実行することと、前記第1のクエリデータは、画像から抽出され、第1の量子化レベルでの量子化により圧縮された画像特徴記述子のセットを表し、前記視覚探索デバイスにより、第2のクエリデータを前記クライアントデバイスから前記ネットワークを介して受信することと、前記第2のクエリデータは、前記第1のクエリデータが第2のクエリデータでアップデートされると、前記アップデートされた前記第1のクエリデータが、第2の量子化レベルで量子化された前記画像特徴記述子のセットを表すように前記第1のデータを拡張し、前記第2の量子化レベルは、前記第1の量子化レベルで量子化するときより正確な前記画像特徴記述子の表現を達成し、前記第2の量子化レベルで量子化された前記画像特徴記述子を表す、アップデートされた第1のクエリデータを生成するために、前記視覚探索デバイスにより、前記第1のクエリデータを前記第2のクエリデータでアップデートすることと、前記視覚探索デバイスにより、前記アップデートされた第1のクエリデータを使用して前記視覚探索を実行することと、を備える方法。前記第1のクエリデータを使用して前記視覚探索を実行することは、前記第2のクエリデータを前記クライアントデバイスから前記ネットワークを介して前記視覚探索デバイスに送信することと同時に、前記第1のクエリデータを使用して前記視覚探索を実行することを備える、請求項8に記載の方法。前記第1のクエリデータは、前記再構成点のそれぞれが、前記画像特徴記述子に対して定義されたボロノイセルの異なるそれぞれの中心に位置するように再構成点を定義し、前記ボロノイセルは、前記ボロノイセル間に前記境界を画定する面と、2つ以上の前記面が交差する交点とを含み、前記第2のクエリデータは、前に定義された再構成点のそれぞれに対する追加の再構成点の位置を指定するオフセットベクトルを含み、前記追加の再構成点はそれぞれ前記面のそれぞれの中心に位置し、前記アップデートされた第1のクエリデータを生成するために、前記第1のクエリデータを前記第2のクエリデータでアップデートすることは、前記オフセットベクトルに基づいて前記追加の再構成点を前記前に定義された再構成点に追加することを含む、請求項8に記載の方法。前記第1のクエリデータは、前記再構成点がそれぞれ前記画像特徴記述子に対して定義されたボロノイセルの異なるそれぞれの中心に位置するように再構成点を定義し、前記ボロノイセルは、前記ボロノイセル間に前記境界を画定する面と、2つ以上の前記面が交差する交点とを含み、前記第2のクエリデータは、前に定義された再構成点のそれぞれに対する追加の再構成点の位置を指定するオフセットベクトルを含み、前記追加の再構成点はそれぞれ前記ボロノイセルの交点に位置し、前記アップデートされた第1のクエリデータを生成するために、前記第1のクエリデータを前記第2のクエリデータでアップデートすることは、前記オフセットベクトルに基づいて前記追加の再構成点を前記前に定義された再構成点に追加することを含む、請求項8に記載の方法。前記画像特徴記述子のそれぞれは、前記画像内の特徴位置の周辺でサンプリングされた勾配のヒストグラムを備え、前記第1のクエリデータは、タイプインデックスを含み、前記タイプインデックスは、所与の共通分母を有するタイプの辞書式配列内の1つのタイプを一意に識別し、前記タイプのそれぞれは、前記所与の共通分母を有する有理数のセットを備え、各タイプの有理数の前記セットを合計すると1になり、前記方法は、さらに、前記タイプインデックスを前記タイプにマッピングすることと、前記タイプから前記勾配のヒストグラムを再構成することと、をさらに備え、前記第1のクエリデータを使用して前記視覚探索を実行することは、前記再構成された勾配のヒストグラムを使用して前記視覚探索を実行することを含む、請求項8に記載の方法。前記第1のクエリデータをアップデートすることは、アップデートされたタイプを生成するために、前記タイプを前記第2のクエリデータでアップデートすることと、前記アップデートされたタイプに基づいて前記画像特徴記述子を前記第2の量子化レベルで再構成することと、を備える請求項12に記載の方法。前記第2のクエリデータを受信する前に、前記第1のクエリデータを使用して前記視覚探索デバイスによって維持されているデータベースの中で前記視覚探索を実行することの結果として、識別データを決定することと、前記視覚探索を効果的に終わらせるために、前記第2のクエリデータを受信する前に前記識別データを送信することと、をさらに備える請求項8に記載の方法。前記第2のクエリデータで拡張された後の前記第1のクエリデータが第3のクエリデータでアップデートされると、連続してアップデートされた前記第1のクエリデータが、第3の量子化レベルで量子化された前記画像特徴記述子を表すように、前記第1および第2のクエリデータをさらに拡張する第3のクエリデータを受信することと、前記第3の量子化レベルは、前記第2の量子化レベルで量子化するときより正確な前記画像特徴記述子データの表現を達成し、前記第3の量子化レベルで量子化された前記画像特徴記述子を表す、2回アップデートされた第1のクエリデータを生成するために、前記アップデートされた第1のクエリデータを前記第3のクエリデータでアップデートすることと、前記視覚探索を前記2回アップデートされた第1のクエリデータを使用して実行することと、をさらに備える請求項8に記載の方法。視覚探索を実行するために、クエリデータをネットワークを介して視覚探索デバイスに送信するクライアントデバイスであって、画像を定義するデータを記憶するメモリと、画像特徴記述子のセットを前記画像から抽出する特徴抽出ユニットと、前記画像特徴記述子は前記画像の少なくとも1つの特徴を定義し、第1の量子化レベルで量子化された前記画像特徴記述子を表す第1のクエリデータを生成するために、前記画像特徴記述子を前記第1の量子化レベルで量子化する特徴圧縮ユニットと、前記第1のクエリデータを前記ネットワークを介して前記視覚探索デバイスに送信するインターフェースと、を備え、前記特徴圧縮ユニットは、前記第1のクエリデータが第2のクエリデータでアップデートされると、前記アップデートされた第1のクエリデータが、第2の量子化レベルにおいて量子化された前記画像特徴記述子を表すように、前記第1のクエリデータを拡張し、前記第2の量子化レベルは、前記第1の量子化レベルにおいて量子化するときより正確な前記画像特徴記述子の表現を達成し、前記インターフェースは、前記第1のクエリデータを連続的に精製するために、前記第2のクエリデータを前記ネットワークを介して前記視覚探索デバイスに送信する、クライアントデバイス。前記視覚探索デバイスが、前記第1の量子化レベルで量子化された前記画像特徴記述子を表す前記第1のクエリデータを使用して前記視覚探索を実行することと同時に、前記インターフェースが前記第2のクエリデータを送信する、請求項16に記載のクライアントデバイス。前記特徴圧縮ユニットは、前記再構成点のそれぞれが、前記画像特徴記述子に対して定義されたボロノイセルの異なるそれぞれの中心に位置するように再構成点を決定し、前記ボロノイセルは、前記ボロノイセル間に境界を画定する面と、2つ以上の前記面が交差する交点とを含み、前記特徴圧縮ユニットは、追加の再構成点のそれぞれが前記面のそれぞれの中心に位置するように、追加の再構成点を決定し、前に決定された再構成点のそれぞれからのオフセットベクトルとして前記追加の再構成点を指定し、前記オフセットベクトルを含むように前記第2のクエリデータを生成する、請求項16に記載のクライアントデバイス。前記特徴圧縮ユニットは、前記再構成点のそれぞれが、前記画像特徴記述子に対して定義されたボロノイセルの異なるそれぞれの中心に位置するように再構成点を決定し、前記ボロノイセルは、前記ボロノイセル間に前記境界を画定する面と、2つ以上の前記面が交差する交点とを含み、前記特徴圧縮ユニットは、追加の再構成点のそれぞれが前記ボロノイセルの前記交点に位置するように追加の再構成点をさらに決定し、前に決定された再構成点のそれぞれからのオフセットベクトルとして前記追加の再構成点を指定し、前記オフセットベクトルを含むように前記第2のクエリデータを生成する、請求項16に記載のクライアントデバイス。前記画像特徴記述子のそれぞれは、前記画像内の特徴位置の周辺でサンプリングされた勾配のヒストグラムを備え、前記特徴圧縮ユニットは、前記勾配のヒストグラムに対して最近のタイプを決定し、前記タイプは所与の共通分母を有する有理数のセットであり、前記有理数のセットの合計は1に等しい、前記特徴圧縮ユニットは、さらに、前記決定されたタイプを、前記所与の共通分母を有するすべての可能なタイプに対して前記決定されたタイプの辞書式配列を一意に識別するタイプインデックスにマッピングし、前記第1のクエリデータは、前記タイプインデックスを含む、請求項16に記載のクライアントデバイス。前記インターフェースは、前記第2のクエリデータを送信する前に、前記視覚探索デバイスで維持されるデータベース内を探索した結果として得られた、前記視覚探索デバイスからの識別データを受信し、前記クライアントデバイスは、前記識別データを受信することに応答して前記第2のクエリデータを送ることなく前記視覚探索を終了し、前記クライアントデバイスは、前記識別データを使用する視覚探索アプリケーションを実行するプロセッサを含む、請求項16に記載のクライアントデバイス。前記第2のクエリデータで拡張された後の前記第1のクエリデータが前記第3のクエリデータでアップデートされると、前記連続的にアップデートされた第1のクエリデータが、第3の量子化レベルで量子化された前記画像特徴記述子を表すように、前記第1および第2のクエリデータをさらに拡張する第3のクエリデータを決定し、前記第3のレベルは、前記第2の量子化レベルで量子化するときよりも一層正確な前記画像特徴記述子データの表現を達成し、前記インターフェースは、前記第2のクエリデータで拡張された後の前記第1のクエリデータを連続的に精製するために、前記第3のクエリデータを前記ネットワークを介して前記視覚探索デバイスに送信する、請求項16に記載のクライアントデバイス。クライアントデバイスがクエリデータをネットワークを介して視覚探索デバイスに送信するネットワークシステムにおいて視覚探索を実行するための視覚探索デバイスであって、画像から抽出され、第1の量子化レベルでの量子化により圧縮された画像特徴記述子のセットを表す第1のクエリデータを、前記クライアントデバイスから前記ネットワークを介して受信するインターフェースと、前記第1のクエリデータを使用して前記視覚探索を実行する特徴マッチングユニットと、を備え、前記インターフェースは、第2のクエリデータを前記クライアントデバイスから前記ネットワークを介してさらに受信し、前記第2のクエリデータは、前記第1のクエリデータが前記第2のクエリデータでアップデートされると、前記アップデートされた第1のクエリデータが、第2の量子化レベルにおいて量子化された画像特徴記述子を表すように前記第1のデータを拡張し、前記第2の量子化レベルは、前記第1の量子化レベルで量子化するときより正確な前記画像特徴記述子の表現を達成し、前記視覚探索デバイスは、さらに、第2の量子化レベルで量子化された前記画像特徴記述子を表す、アップデートされた第1のクエリデータを生成するために、前記第1のクエリデータを前記第2のクエリデータでアップデートする特徴再構成ユニットを備え、前記特徴マッチングユニットは、前記アップデートされた第1のクエリデータを使用して前記視覚探索を実行する、視覚探索デバイス。前記特徴マッチングユニットは、前記第2のクエリデータを前記クライアントデバイスから前記ネットワークを介して前記視覚探索デバイスに送信することと同時に、前記第1のクエリデータを使用して前記視覚探索を実行する、請求項23に記載の視覚探索デバイス。前記第1のクエリデータは、前記再構成点のそれぞれが、前記画像特徴記述子に対して定義されたボロノイセルの異なるそれぞれの中心に位置するように再構成点を定義し、前記ボロノイセルは、前記ボロノイセル間に境界を画定する面と、2つ以上の前記面が交差する交点とを含み、前記第2のクエリデータは、前に定義された再構成点のそれぞれ対する追加の再構成点の位置を指定するオフセットベクトルを含み、前記追加の再構成点はそれぞれ前記面のそれぞれの中心に位置し、前記特徴再構成ユニットは、前記オフセットベクトルに基づいて前記追加の再構成点を前記前に定義された再構成点に追加する、請求項23に記載の視覚探索デバイス。前記第1のクエリデータは、前記再構成点がそれぞれ前記画像特徴記述子に対して定義されたボロノイセルの異なるそれぞれの中心に位置するように再構成点を定義し、前記ボロノイセルは、前記ボロノイセル間に前記境界を画定する面と、2つ以上の前記面が交差する交点とを含み、前記第2のクエリデータは、前に定義された再構成点のそれぞれに対する追加の再構成点の位置を指定するオフセットベクトルを含み、前記追加の再構成点はそれぞれ前記ボロノイセルの交点に位置し、前記特徴再構成ユニットは、前記オフセットベクトルに基づいて前記追加の再構成点を前記前に定義された再構成点に追加する、請求項23に記載の視覚探索デバイス。前記画像特徴記述子のそれぞれは、前記画像内の特徴位置の周辺でサンプリングされた勾配のヒストグラムを備え、前記第1のクエリデータはタイプインデックスを含み、前記タイプインデックスは、所与の共通分母を有するタイプの辞書式配列内の1つのタイプを一意に識別し、前記タイプのそれぞれは、前記所与の共通分母を有する有理数のセットを備え、各タイプの有理数の前記セットを合計すると1になり、前記特徴再構成ユニットは、前記タイプインデックスを前記タイプにマッピングし、前記タイプから前記勾配のヒストグラムを再構成し、前記特徴マッチングユニットは、前記再構成された勾配のヒストグラムを使用して前記視覚探索を実行する、請求項23に記載の視覚探索デバイス。前記特徴再構成ユニットは、アップデートされたタイプを生成するために、前記タイプを前記第2のクエリデータでさらにアップデートし、前記アップデートされたタイプに基づいて前記画像特徴記述子を前記第2の量子化レベルで再構成する、請求項27に記載の視覚探索デバイス。前記特徴マッチングユニットは、前記第2のクエリデータを受信する前に、前記第1のクエリデータを使用して前記視覚探索デバイスによって維持されているデータベースの中で前記視覚探索を実行することの結果として、識別データを決定し、前記インターフェースは、前記視覚探索を効果的に終了するために、前記第2のクエリデータを受信する前に前記識別データを送信する、請求項23に記載の視覚探索デバイス。前記インターフェースは、前記第2のクエリデータで拡張された後の前記第1のクエリデータが第3のクエリデータでアップデートされると、連続してアップデートされた前記第1のクエリデータが、第3の量子化レベルで量子化された前記画像特徴記述子を表すように、前記第1および第2のクエリデータをさらに拡張する第3のクエリデータを受信し、前記第3の量子化レベルは、前記第2の量子化レベルにおいて量子化するときより正確な前記画像特徴記述子データの表現を達成し、前記特徴再構成ユニットは、前記第3の量子化レベルで量子化された前記画像特徴記述子を表す、2回アップデートされた第1のクエリデータを生成するために、前記アップデートされた第1のクエリデータを前記第3のクエリデータでアップデートし、前記特徴マッチングユニットは、前記2回アップデートされた第1のクエリデータを使用して前記視覚探索を実行する、請求項23に記載の視覚探索デバイス。クエリデータをネットワークを介して視覚探索デバイスに送信するデバイスであって、クエリ画像を定義するデータを記憶する手段と、画像特徴記述子のセットを前記クエリ画像から抽出する手段と、前記画像特徴記述子は前記クエリ画像の少なくとも1つの特徴を定義し、第1の量子化レベルで量子化された前記画像特徴記述子のセットを表す第1のクエリデータを生成するために、第1の量子化レベルで前記画像特徴記述子のセットを量子化する手段と、前記第1のクエリデータを前記ネットワークを介して前記視覚探索デバイスに送信する手段と、前記第1のクエリデータが第2のクエリデータでアップデートされると、前記アップデートされた第1のクエリデータが、第2の量子化レベルで量子化された画像特徴記述子の前記セットを表すように、前記第1のクエリデータを拡張する第2のクエリデータを決定する手段と、前記第2の量子化レベルは、前記第1の量子化レベルで量子化するときより正確な前記画像特徴記述子のセットの表現を達成し、前記第1のクエリデータを精製するために、前記第2のクエリデータを前記ネットワークを介して前記視覚探索デバイスに送信する手段と、を備えるデバイス。前記第2のクエリデータを送信する手段は、前記視覚探索デバイスが前記第1の量子化レベルで量子化された前記画像特徴記述子を表す前記第1のクエリデータを使用して前記視覚探索を実行するのと同時に、前記第2のクエリデータを送信する手段を備える、請求項31に記載のデバイス。前記第1の量子化レベルで前記画像特徴記述子を量子化する手段は、前記再構成点のそれぞれが、前記画像特徴記述子に対して定義された異なるボロノイセルのそれぞれの中心に位置するように再構成点を決定する手段を含み、前記ボロノイセルが、前記ボロノイセル間に境界を画定する面と、2つ以上の前記面が交差する交点とを含み、前記第2のクエリデータを決定する手段は、追加の再構成点のそれぞれが前記面のそれぞれの中心に位置するように、追加の再構成点を決定する手段と、前に決定された再構成点のそれぞれからのオフセットベクトルとして前記追加の再構成点を指定する手段と、前記オフセットベクトルを含むように前記第2のクエリデータを生成する手段と、を含む請求項31に記載のデバイス。前記第1の量子化レベルで前記画像特徴記述子を量子化する手段は、前記再構成点にそれぞれが、前記画像特徴記述子に対して定義された異なるボロノイセルのそれぞれの中心に位置するように再構成点を決定する手段を含み、前記ボロノイセルは、前記ボロノイセル間に境界を画定する面と、2つ以上の前記面が交差する交点とを含み、前記第2のクエリデータを決定する手段は、前記追加の再構成点のそれぞれが前記ボロノイセルの前記交点に位置するように追加の再構成点を決定する手段と、前に決定された再構成点のそれぞれからのオフセットベクトルとして前記追加の再構成点を指定する手段と、前記オフセットベクトルを含むように前記第2のクエリデータを生成する手段と、を含む請求項31に記載のデバイス。前記画像特徴記述子のそれぞれは、前記画像内の特徴位置の周辺でサンプリングされた勾配のヒストグラムを備え、前記画像特徴記述子を第1の量子化レベルで量子化する手段は、勾配のヒストグラムに対して最近のタイプを決定する手段と、前記タイプは所与の共通分母を有する有理数のセットであり、前記有理数のセットの合計は1に等しい、前記決定されたタイプを、前記所与の共通分母を有するすべての可能なタイプに対して前記決定されたタイプの辞書式配列を一意に識別するタイプインデックスにマッピングする手段と、を含み、前記第1のクエリデータは前記タイプインデックスを含む、請求項31に記載のデバイス。前記第2のクエリデータを送信する前に、前記視覚探索デバイスで維持されるデータベース内を探索した結果として得られた、前記視覚探索デバイスからの識別データを受信する手段と、前記第2のクエリデータを送ることなく前記視覚探索を終了する手段と、視覚探索アプリケーション中に、前記識別データを使用する手段と、をさらに備える、請求項31に記載のデバイス。前記第2のクエリデータで拡張された後の前記第1のクエリデータが第3のクエリデータでアップデートされると、前記連続してアップデートされた前記第1のクエリデータが、第3の量子化レベルで量子化された前記画像特徴記述子を表すように、前記第1および第2のクエリデータをさらに拡張する第3のクエリデータを決定する手段と、前記第3の量子化レベルは、前記第2の量子化レベルで量子化するときより正確な前記画像特徴記述子データの表現を達成し、前記第2のクエリデータで拡張された後の前記第1のクエリデータを連続的に精製するために、前記第3のクエリデータを前記ネットワークを介して前記視覚探索デバイスに送信する手段と、をさらに備える請求項31に記載のデバイス。クライアントデバイスがクエリデータをネットワークを介して視覚探索デバイスに送信するネットワークシステムにおいて視覚探索を実行するためのデバイスであって、画像から抽出され、第1の量子化レベルでの量子化により圧縮された画像特徴記述子のセットを表す第1のクエリデータを、前記クライアントデバイスから前記ネットワークを介して受信する手段と、前記第1のクエリデータを使用して前記視覚探索を実行する手段と、前記第2のクエリデータを、前記クライアントデバイスから前記ネットワークを介して受信する手段と、前記第2のクエリデータは、前記第1のクエリデータが第2のクエリデータでアップデートされると、前記アップデートされた前記第1のクエリデータが、第2の量子化レベルにおいて量子化された画像特徴記述子の前記セットを表すものとなるように前記第1のデータを拡張し、前記第2の量子化レベルは、前記第1の量子化レベルで量子化するときより正確な前記画像特徴記述子の表現を達成し、前記第2の量子化レベルで量子化された前記画像特徴記述子を表す、アップデートされた第1のクエリデータを生成するために、前記第1のクエリデータを前記第2のクエリデータでアップデートする手段と、前記視覚探索を、前記アップデートされた第1のクエリデータを使用して前記視覚探索を実行する手段と、を備えるデバイス。前記第1のクエリデータを使用して前記視覚探索を実行する手段は、前記第2のクエリデータを前記クライアントデバイスから前記ネットワークを介して前記視覚探索デバイスに送信することと同時に、前記第1のクエリデータを使用して前記視覚探索を実行する手段を備える、請求項38に記載のデバイス。前記第1のクエリデータは、前記再構成点のそれぞれが、前記画像特徴記述子に対して定義された異なるボロノイセルのそれぞれの中心に位置するように再構成点を定義し、前記ボロノイセルは、前記ボロノイセル間に境界を画定する面と、2つ以上の前記面が交差する交点とを含み、前記第2のクエリデータは、前に定義された再構成点のそれぞれに対する追加の再構成点の位置を指定するオフセットベクトルを含み、前記追加の再構成点はそれぞれ前記面のそれぞれの中心に位置し、前記アップデートされた第1のクエリデータを生成するために前記第1のクエリデータを前記第2のクエリデータでアップデートする手段は、前記オフセットベクトルに基づいて前記追加の再構成点を前記前に定義された再構成点に追加する手段を含む、請求項38に記載のデバイス。前記第1のクエリデータは、前記再構成点がそれぞれ前記画像特徴記述子に対して定義されたボロノイセルの異なるそれぞれの中心に位置するように再構成点を定義し、前記ボロノイセルは、前記ボロノイセル間に前記境界を画定する面と、2つ以上の前記面が交差する交点とを含み、前記第2のクエリデータは、前に定義された再構成点のそれぞれに対する追加の再構成点の位置を指定するオフセットベクトルを含み、前記追加の再構成点はそれぞれ前記ボロノイセルの交点に位置し、前記アップデートされた第1のクエリデータを生成するために前記第1のクエリデータを前記第2のクエリデータでアップデートする手段は、前記オフセットベクトルに基づいて前記追加の再構成点を前記前に定義された再構成点に追加する手段を含む、請求項38に記載のデバイス。前記画像特徴記述子のそれぞれは、前記画像内の特徴位置の周辺でサンプリングされた勾配のヒストグラムを備え、前記第1のクエリデータはタイプインデックスを含み、前記タイプインデックスは、所与の共通分母を有するタイプの辞書式配列内の1つのタイプを一意に識別し、前記タイプのそれぞれは、前記所与の共通分母を有する有理数のセットを備え、各タイプの有理数の前記セットを合計すると1になり、前記デバイスは、前記タイプインデックスを前記タイプにマッピングする手段と、前記タイプから前記勾配のヒストグラムを再構成する手段と、をさらに備え、前記第1のクエリデータを使用して前記視覚探索を実行するための手段は、前記再構成された勾配のヒストグラムを使用して前記視覚探索を実行する手段を含む、請求項38に記載のデバイス。前記第1のクエリデータをアップデートする手段は、アップデートされたタイプを生成するために、前記タイプを前記第2のクエリデータでアップデートする手段と、前記アップデートされたタイプに基づいて前記画像特徴記述子を前記第2の量子化レベルで再構成する手段と、を備える請求項42に記載のデバイス。前記第2のクエリデータを受信する前に、前記第1のクエリデータを使用して前記視覚探索デバイスによって維持されているデータベースの中で前記視覚探索を実行することの結果として、識別データを決定する手段と、前記視覚探索を効果的に終わらせるために、前記第2のクエリデータを受信する前に前記識別データを送信する手段と、をさらに備える請求項38に記載のデバイス。前記第2のクエリデータで拡張された後の前記第1のクエリデータが第3のクエリデータでアップデートされると、連続してアップデートされた前記第1のクエリデータが、第3の量子化レベルで量子化された前記画像特徴記述子を表すように、前記第1および第2のクエリデータをさらに拡張する第3のクエリデータを受信する手段と、前記第3の量子化レベルは、前記第2の量子化レベルにおいて量子化するときより正確な前記画像特徴記述子データの表現を達成し、前記第3の量子化レベルで量子化された前記画像特徴記述子を表す、2回アップデートされた第1のクエリデータを生成するために、前記アップデートされた第1のクエリデータを前記第3のクエリデータでアップデートする手段と、前記2回アップデートされた第1のクエリデータを使用して前記視覚探索を実行する手段と、をさらに備える、請求項38に記載のデバイス。命令を備える非一時的コンピュータ可読媒体であって、実行されたとき、1つまたは複数のプロセッサに、クエリ画像を定義するデータを記憶させ、前記クエリ画像の特徴を定義する画像特徴記述子を前記クエリ画像から抽出させ、第1の量子化レベルで量子化された前記画像特徴記述子を表す第1のクエリデータを生成するために、前記画像特徴記述子を第1の量子化レベルで量子化させ、前記第1のクエリデータを前記ネットワークを介して前記視覚探索デバイスに送信させ、前記第1のクエリデータが第2のクエリデータでアップデートされると、前記アップデートされた第1のクエリデータが、第2の量子化レベルで量子化された前記画像特徴記述子を表すように、前記第1のクエリデータを拡張する前記第2のクエリデータを求めさせ、ここで、前記第2の量子化レベルは、前記第1の量子化レベルで量子化するときより正確な前記画像特徴記述子の表現を達成し、前記第1のクエリデータを連続的に精製するために、前記第2のクエリデータを前記ネットワークを介して前記視覚探索デバイスに送信させる、命令を備える非一時的コンピュータ可読媒体。命令を備える非一時的コンピュータ可読媒体であって、実行されたとき、1つまたは複数のプロセッサに、画像から抽出され、第1の量子化レベルで量子化により圧縮された画像特徴記述子を表す第1のクエリデータを、前記クライアントデバイスから前記ネットワークを介して受信させ、前記第1のクエリデータを使用して前記視覚探索を実行させ、前記第1のクエリデータが第2のクエリデータでアップデートされると、前記アップデートされた前記第1のクエリデータが、前記第1の量子化レベルで量子化するときより正確な前記画像特徴記述子の表現を達成する第2の量子化レベルで量子化された画像特徴記述子を表すように前記第1のデータを拡張する前記第2のクエリデータを、前記クライアントデバイスから前記ネットワークを介して受信させ、第2の量子化レベルで量子化された前記画像特徴記述子を表す、アップデートされた第1のクエリデータを生成するために、前記第1のクエリデータを前記第2のクエリデータでアップデートさせ、前記アップデートされた第1のクエリデータを使用して前記視覚探索を実行させる命令を備える、非一時的コンピュータ可読媒体。視覚探索を実行するためのネットワーク0025一般に、本開示は、クライアントデバイスとも呼ばれるモバイル、ポータブルまたは他の電力依存型デバイス、ならびに視覚探索サーバを含むネットワーク環境内で視覚探索を実行するための技法を説明する。画像をそっくりそのまま視覚探索サーバに送るのではなく、いわゆる特徴記述子の形式でクライアントデバイス上に記憶されている画像から特徴を抽出するために、クライアントデバイスは特徴抽出を局所的に実行する。いくつかの例では、これらの特徴記述子は、ヒストグラムを備える。本開示で説明する技法によれば、クライアントデバイスは、これらの特徴記述子やはり、ヒストグラムの形態であることが多いを連続的に精製可能な方式で量子化することができる。このようにして、クライアントデバイスは、第1の粗い量子化レベルで量子化された特徴記述子に基づく視覚探索を開始するが、視覚探索がこの特徴記述子に関して追加の情報を必要とする場合は、特徴記述子の量子化を精製する。結果として、視覚探索を実行するために、クライアントデバイスとサーバの両方が同時に動作するので、いくらかの量の並行処理が発生し得る。0026たとえば、クライアントデバイスは、特徴記述子を、最初に第1の粗い量子化レベルで量子化する。この粗く量子化された特徴記述子は次に第1のクエリデータとして視覚探索サーバに送られ、視覚探索サーバは、続いて、この第1のクエリデータに基づいて視覚探索を実行し得る。この視覚探索を粗く量子化された特徴記述子を用いて実行している間に、クライアントデバイスは、第1のクエリデータが第2のクエリデータでアップデートされると、アップデートされた第1のクエリデータが、第2の量子化レベルで量子化されたヒストグラム特徴記述子を表すように第1のクエリデータを拡張する追加のまたは第2のクエリデータを決定し得る。0027このようにして、本技法は、視覚探索サーバが視覚探索を実行しているのと同時に、クエリデータがクライアントデバイスによって繰返し決定および視覚探索サーバに提供されることで、視覚探索の実行に関連する待ち時間を低減することができる。したがって、全画像を送信し、その送信でかなりの量の帯域幅を費やし、さらに視覚探索サーバが視覚探索を完了するのを待つのではなく、本技法は特徴記述子を送り、それにより帯域幅を節約する。その上、本技法は、画像特徴記述子をそっくりそのまま送ることを回避し、かつ待ち時間を低減する方式で画像特徴記述子を連続的に精製する方法を提供することができる。本技法は、アップデートされたクエリデータが、より精細でより完全または正確な量子化レベルで量子化された画像特徴記述子をもたらすように、前に送られたクエリデータをアップデート可能にする方式で、ビットストリームまたはクエリデータを綿密に構成することによってこの待ち時間の低減を達成し得る。0028図1は、本開示で説明する連続的に精製可能な量子化技法を実装する画像処理システム10を示すブロック図である。図1の例では、画像処理システム10は、クライアントデバイス12と、視覚探索サーバ14と、ネットワーク16とを含む。クライアントデバイス12は、この例において、ラップトップ、いわゆるネットブック、携帯情報端末PDA、セルラーもしくはモバイルの電話もしくはハンドセットいわゆるスマートフォンを含む、全地球測位システムGPSデバイス、デジタルカメラ、デジタルメディアプレーヤ、ゲームデバイス、または視覚探索サーバ14と通信可能な任意の他のモバイルデバイスのようなモバイルデバイスを表す。本開示では、モバイルクライアントデバイス12に関して説明するが、本開示で説明する技法は、この点についてモバイルクライアントデバイスに限定されるべきではない。代わりに、本技法は、ネットワーク16または任意の他の通信媒体を介して視覚探索サーバ14と通信可能な任意のデバイスによって実装されてよい。0029視覚探索サーバ14は、一般的には伝送制御プロトコルTCP接続の形態で接続を受け、クエリデータを受信して識別データを供給するためのTCPセッションを形成するためにそれ自体のTCP接続で応答するサーバデバイスを表す。視覚探索サーバ14は、視覚探索サーバは、画像内の1つもしくは複数の特徴または対象物を識別するための視覚探索アルゴリズムを実行するかあるいは実装するという点で、視覚探索サーバデバイスを代表し得る。いくつかの例では、視覚探索サーバ14は、モバイルクライアントデバイスをパケット交換ネットワークまたはデータネットワークに相互接続するセルラーアクセスネットワークの基地局の中に配置され得る。0030ネットワーク16は、クライアントデバイス12と視覚探索サーバ14とを相互接続するインターネットのような公衆ネットワークを表す。通常、ネットワーク16は、クライアントデバイス12と視覚探索サーバ14との間で通信またはデータを転送することを可能にするために、OSIopensysteminterconnectionモデルの様々な層を実装する。ネットワーク16は、一般的には、クライアントデバイス12と視覚探索サーバ14との間のデータの転送を可能にするスイッチ、ハブ、ルータ、サーバなど、任意の数のネットワークデバイスを含む。単一のネットワークとして示しているが、ネットワーク16は、ネットワーク16を形成するために相互接続される、1つまたは複数のサブネットワークを備えてもよい。これらのサブネットワークは、ネットワーク16全体を介してデータの転送を提供するために公衆ネットワーク内で共通に使用される、サービスプロバイダネットワーク、アクセスネットワーク、バックエンドネットワーク、または任意の他の種類のネットワークを備えてよい。本例では公衆ネットワークとして説明するが、ネットワーク16は、一般に公衆がアクセスできないプライベートネットワークを備えてもよい。0031図1の例に示すように、クライアントデバイス12は、特徴抽出ユニット18と、特徴圧縮ユニット20と、インターフェース22と、ディスプレイ24とを含む。特徴抽出ユニット18は、圧縮勾配ヒストグラムCHoG:compressedhistogramofgradientsアルゴリズム、または特徴をヒストグラムの形式で抽出し、これらのヒストグラムをタイプとして量子化する任意の他の特徴記述抽出アルゴリズムなどの特徴抽出アルゴリズムによる特徴抽出を実行するユニットを表す。一般に、特徴抽出ユニット18は、クライアントデバイス12の中に含まれるカメラまたは他の画像キャプチャデバイス図1の例に示さずを使用してローカルにキャプチャされ得る画像データ26上で動作する。代替として、クライアントデバイス12は、この画像データ26をネットワーク16からダウンロードする方法によってこの画像データ自体をキャプチャすることなく、別のコンピューティングデバイスとのワイヤード接続を介して、または任意の他のワイヤードもしくはワイヤレスの形態の通信を介して、ローカルに画像データ26を記憶し得る。0032以下により詳細に説明するが、要約すれば、特徴抽出ユニット18は、2つの連続するガウスぼけ画像Gaussianblurredimageを生成するためにガウスぼかし画像Gaussianblurringimageデータ26によって特徴記述子28を抽出し得る。ガウスぼかしは、一般に、定義されたスケールで、ガウスぼかし関数Gaussianblurfunctionを用いて画像データ26を畳み込むことを伴う。特徴抽出ユニット18は画像データ26を増加的に畳み込み、得られた複数のガウスぼけ画像は、スケール空間内の定数によって互いに分離される。次いで、特徴抽出ユニット18は、ガウシアンピラミッドまたはガウシアンピラミッドの差分とも呼ばれるものを形成するために、これらのガウスぼけ画像を積み重ねる。次いで、特徴抽出ユニット18は、ガウシアン差分DoG画像を生成するために、2つの連続して積み重ねられたガウスぼけ画像を比較する。DoG画像は、DoG空間と呼ばれるものを形成し得る。0033このDoG空間に基づいて、特徴抽出ユニット18は、キーポイントを検出し得、キーポイントは、画像データ26の中の幾何学的観点から潜在的に関心のある特定のサンプル点または画素の周りの画素の領域またはパッチのことをいう。一般に、特徴抽出ユニット18は、キーポイントを、構成されたDoG空間内の局所的最大値および/または局所的最小値として識別する。次いで、特徴抽出ユニット18は、キーポイントが検出されたパッチに対する局所画像の勾配の方向に基づいて、1つまたは複数の方向orientationまたは方向をこれらのキーポイントに割り当てる。これらの方向orientationを特徴付けるために、特徴抽出ユニット18は、勾配方向ヒストグラムの観点から方向orientationを定義し得る。次いで、特徴抽出ユニット18は、特徴記述子28を、位置および方向としてたとえば、勾配方向ヒストグラムによって定義する。特徴記述子28を定義した後、特徴抽出ユニット18は、この特徴記述子28を特徴圧縮ユニット20に出力する。特徴抽出ユニット18は、このプロセスを使用して特徴記述子28のセットを出力し得る。0034特徴圧縮ユニット20は、特徴記述子28のような特徴記述子を定義するために使用されるデータの量を、これらの特徴記述子を定義するために特徴抽出ユニット18によって使用されるデータの量に対して圧縮または低減するユニットを表す。特徴記述子を圧縮するために、特徴圧縮ユニット20は、タイプ量子化typequantizationと呼ばれる量子化の形態を実行して、特徴記述子28を圧縮する。この点において、特徴記述子28によって定義されたヒストグラムをそのまま送るのではなく、特徴圧縮ユニット20はタイプ量子化を実行して、ヒストグラムをいわゆるタイプとして表す。一般に、タイプは、ヒストグラムの圧縮された表現であるたとえば、タイプは、ヒストグラム全体ではなくヒストグラムの形状を表す。タイプは、一般に、シンボルの度数のセットを表し、ヒストグラムのコンテキストにおいて、ヒストグラムの勾配分布の度数を表し得る。言い換えれば、タイプは、対応する1つの特徴記述子28を作り出したソースの真の分布の推定を表す。この点において、タイプは、特定のサンプルに基づいて推定されうるので、タイプの符号化および送信は、分布の形状を符号化し送信することと等価であるものと見なされ得るすなわち、タイプは、この例では対応する1つの特徴記述子28で定義されるヒストグラムである。0035特徴記述子28および量子化レベル本明細ではnで数学的に示され得るが与えられれば、特徴圧縮ユニット20は、特徴記述子28の各々に対してパラメータk1、...、kmここでmは次元の数を示すを有するタイプを計算する。各タイプは、所与の共通分母を有する有理数のセットを表し得、ここで有理数の合計は1である。次いで、特徴記述子28は、このタイプを、辞書式列挙を用いてインデックスとして符号化し得る。言い換えれば、所与の共通分母を有するすべての可能なタイプに対して、特徴圧縮ユニット28は、これらのタイプの辞書式順序付けに基づいてこれらのタイプの各々にインデックスを有効に割り当てる。それにより、特徴圧縮ユニット28は、特徴記述子28を単一の辞書式に配列されたインデックスに圧縮し、これらの圧縮された特徴記述子をクエリデータ30A、30Bの形態でインターフェース22に出力する。0036辞書式配列に関して説明するが、本技法は、そのような配列がクライアントデバイスと視覚探索サーバの両方に提供される限り、任意の他の種類の配列に対して使用されてよい。いくつかの例では、クライアントデバイスは、配列モードを視覚探索サーバに通知し得、クライアントデバイスと視覚探索サーバとは配列モードをネゴシエートし得る。他の例では、この配列モードは、視覚探索を実行することに関する通知および他のオーバーヘッドを回避するために、クライアントデバイスと視覚探索サーバの両方において静的に構成されてよい。0037インターフェース22は、ワイヤレスインターフェースとワイヤードインターフェースとを含むネットワーク16を介して視覚探索サーバ14と通信可能な任意の種類のインターフェースを表す。インターフェース22は、ワイヤレスセルラーインターフェースを表し得、必要なハードウェア、または、アンテナ、変調器などの他の構成要素を含み、ワイヤレスセルラーネットワークを介してネットワーク16と通信し、ネットワーク16を介してかつ視覚探索サーバ14と通信する。この例では、図1の例に示していないが、ネットワーク16はワイヤレスセルラーアクセスネットワークを含み、それによって、ワイヤレスセルラーインターフェース22は、ネットワーク16と通信する。ディスプレイ24は、画像データ26または任意の他の種類のデータなどの画像を表示可能な任意の種類のディスプレイユニットを表す。ディスプレイ24は、たとえば、発光ダイオードLEDディスプレイデバイス、有機LEDOLEDディスプレイデバイス、液晶ディスプレイLCDデバイス、プラズマディスプレイデバイス、または任意の他の種類のディスプレイデバイスを表し得る。0038視覚探索サーバ14は、インターフェース32と、特徴再構成ユニット34と、特徴マッチングユニット36と、特徴記述子データベース38とを含む。インターフェース32は、それが、ネットワーク16などのネットワークと通信可能な任意の種類のインターフェースを表し得るという点で、インターフェース22に類似し得る。特徴再構成ユニット34は、圧縮された特徴記述子から特徴記述子を再構成するために、圧縮された特徴記述子を解凍するユニットを表す。特徴再構成ユニット34は、それが、圧縮された特徴記述子から特徴記述子を再構成するために量子化の逆しばしば、再構成と呼ばれるを実行することで、特徴圧縮ユニット20によって実行される動作と逆の動作を実行し得る。特徴マッチングユニット36は、再構成された特徴記述子に基づいて画像データ26内の1つまたは複数の特徴または対象物を識別するために特徴マッチングを実行するユニットを表す。特徴マッチングユニット36は、この特徴識別を実行するために特徴記述子データベース38にアクセスし、特徴記述子データベース38は、特徴記述子を定義し、これらの特徴記述子のうちの少なくともいくつかを画像データ26から抽出された、対応する特徴または対象物を識別する識別データと関連付けるデータを記憶する。再構成された特徴記述子40A本明細ではクエリデータ40Aとも呼ばれ、このデータは視覚探索またはクエリを実行するために使用される視覚探索クエリデータを表すのような再構成された特徴記述子に基づいて画像データ26から抽出された特徴または対象物を首尾よく識別すると、特徴マッチングユニット36は、この識別データを識別データ42として返す。0039最初に、クライアントデバイス12のユーザが、視覚探索を開始するためにクライアントデバイス12と対話する。ユーザは、画像データ26を選択するためにユーザインターフェースまたはディスプレイ24によって提示される他の種類のインターフェースと対話し、次いで、視覚探索を開始して、画像データ26として記憶された画像の焦点である1つまたは複数の特徴または対象物を識別する。たとえば、画像データ26は、1個の有名なアートワークの画像を示す。ユーザは、この画像を、クライアントデバイス12の画像キャプチャユニットたとえば、カメラを使用してキャプチャし、または代替として、この画像を、ネットワーク16から、または別のコンピューティングデバイスとのワイヤードもしくはワイヤレス接続を介してローカルにダウンロードしている。いずれの場合も、画像データ26を選択したのち、ユーザは、この例では、1個の有名なアートワークを、たとえば名前、アーティスト、および完成日によって識別するために、視覚探索を開始する。0040視覚探索を開始したことに応答して、クライアントデバイス12は、特徴抽出ユニット18を起動して、画像データ26の分析を介して発見された、いわゆるキーポイントのうちの1つを表現する少なくとも1つの特徴記述子28を抽出する。特徴抽出ユニット18は、この特徴記述子28を特徴圧縮ユニット20に転送し、特徴圧縮ユニット20は、続いて、特徴記述子28を圧縮し、クエリデータ30Aを生成する。特徴圧縮ユニット20は、クエリデータ30Aをインターフェース22に出力し、インターフェース22は、クエリデータ30Aをネットワーク16を介して視覚探索サーバ14に転送する。0041視覚探索サーバ14のインターフェース32は、クエリデータ30Aを受信する。クエリデータ30Aを受信したことに応答して、視覚探索サーバ14は、特徴再構成ユニット34を起動する。特徴再構成ユニット34は、クエリデータ30Aに基づいて特徴記述子28を再構成することを試み、再構成された特徴記述子40Aを出力する。特徴マッチングユニット36は、再構成された特徴記述子40Aを受信し、特徴記述子40Aに基づいて特徴マッチングを実行する。特徴マッチングユニット36は、特徴記述子データベース38にアクセスし、特徴記述子データベース38によってデータとして記憶されている特徴記述子をトラバースして実質的にマッチする特徴記述子を識別することによって特徴マッチングを実行する。再構成された特徴記述子40Aに基づいて画像データ26から抽出された特徴を首尾よく識別すると、特徴マッチングユニット36は、再構成された特徴記述子40Aにある程度しばしば、閾値で表されるマッチする、特徴記述子データベース38内に記憶されている特徴記述子に関連付けられた識別データ42を出力する。インターフェース32は、この識別データ42を受信し、識別データ42をネットワーク16を介してクライアントデバイス12に転送する。0042クライアントデバイス12のインターフェース22は、この識別データ42を受信し、この識別データ42をディスプレイ24で提示する。すなわち、インターフェース22は、識別データ42をディスプレイ24に転送し、次いでディスプレイ24は、この識別データ42を、画像データ26に対する視覚探索を開始するために使用されるユーザインターフェースなどのユーザインターフェースを介して提示または表示する。この例では、識別データ42は、1個のアートワークの名前と、アーティストの名前と、1個のアートワークの完成日と、この1個のアートワークに関連する任意の他の情報とを備え得る。いくつかの例では、インターフェース22は、識別データを、クライアントデバイス12内で実行している視覚探索アプリケーションに転送し、次いで、クライアントデバイス12は、この識別データをたとえば、この識別データをディスプレイ24を介して提示することによって使用する。0043本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、これらのユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、様々なユニットが、コンピュータ可読媒体に記憶されている好適なソフトウェアおよび/またはファームウェアとともに、上記で説明したように1つまたは複数のプロセッサを含んで、ハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。この点において、本開示におけるユニットを参照することは、個別のハードウェアユニットならびに/またはハードウェアおよびソフトウェアユニットとして実装されてもされなくてもよい異なる機能ユニットを示唆することが意図されている。0044この形態のネットワーク視覚探索を実行することにおいて、クライアントデバイス12は、電力またはエネルギーを消費するが、これらのデバイスが、携帯性と、特徴記述子28を抽出することと、次いでこれらの特徴記述子28を圧縮してクエリデータ30Aを生成することとを可能にするために、バッテリまたは他のエネルギー貯蔵デバイスを使用するという意味におけるモバイルデバイスまたはポータブルデバイスコンテキストにおいて、電力またはエネルギーは、しばしば制限される。いくつかの例では、特徴圧縮ユニット20は、特徴記述子28を圧縮するために起動されなくてもよい。たとえば、クライアントデバイス12は、利用可能な電力またはエネルギーが、利用可能電力の20など、利用可能電力の一定の閾値より低いことを検出すると、特徴圧縮ユニット20を起動しない。クライアントデバイス12は、帯域幅消費と電力消費とのバランスをとるために、これらの閾値を設けることができる。0045通常、帯域幅消費は、ワイヤレスセルラーアクセスネットワークとインターフェースするモバイルデバイスにとって重要であり、なぜなら、これらのワイヤレスセルラーアクセスネットワークは、固定料金に対して限定された量の帯域幅しか提供され得ず、またはいくつかの例では、消費される帯域幅のキロバイトごとに課金されるからである。上記の閾値を超えるときなど、圧縮が可能でない場合、クライアントデバイス12は、最初に特徴記述子28を圧縮することなくクエリデータ30Aとして特徴記述子28を送る。圧縮を回避することで電力が節約される一方で、圧縮されていない特徴記述子28をクエリデータ30Aとして送ることで、消費される帯域幅の量が増加し、その結果、視覚探索を実行することに関連するコストが増加する可能性がある。この意味で、電力消費と帯域幅消費の両方が、ネットワーク視覚探索を実行するときに重要となる。0046ネットワーク視覚探索に関する別の重要な点は待ち時間である。通常、特徴記述子28は、それぞれが8ビンbinを有する16のヒストグラムからから導出された128要素のベクトルとして定義される。特徴記述子28の圧縮は、少ないデータを通信することが、概して比較的より多くのデータを通信することよりもかかる時間は少ないという点で、待ち時間を低減し得る。圧縮は、特徴記述子28を送る合計時間に関して待ち時間を低減する一方で、ネットワーク16は、特徴記述子28をクライアントデバイス12から視覚探索サーバ14に送信するためにネットワーク16がかかる時間の量に関する待ち時間をもたらす。この待ち時間は、特に、画像の1つまたは複数の対象物を確実に識別するために多くの特徴記述子が必要とされるとのような多くの待ち時間がもたらされる場合に、ユーザのエクスペリエンスを低減するか、またはそれに悪影響を及ぼす可能性がある。いくつかの例では、追加の遅延を挿入する追加の特徴記述子を要求することによって視覚探索の実行を継続するのではなく、視覚探索サーバ14は、視覚探索を停止または休止して、探索が失敗したことを示す情報データ42を返す。0047本開示で説明する技法によれば、クライアントデバイス12の特徴圧縮ユニット20は、特徴記述子28を連続的に精製可能な量子化を伴う形態の特徴記述子圧縮を実行する。言い換えれば、画像データ26をそのまま、圧縮されていない特徴記述子28、またはさらに所与の所定の量子化レベルで量子化された特徴記述子28を送るのではなく通常、実験として到達する、本技法は、第1の量子化レベルで量子化された特徴記述子28を表すクエリデータ30Aを生成する。この第1の量子化レベルは、一般に、特徴記述子28などの特徴記述子を量子化するために従来から使用されている所与の所定の量子化レベルよりも精細でなくまたは完全でない。0048次いで、特徴圧縮ユニット20は、クエリデータ30Aがクエリデータ30Bでアップデートされると、アップデートされた第1のクエリデータ30Aが、第1の量子化レベルで量子化されるときに達成されるよりもより完全な特徴記述子28を表現するすなわち、より低い量子化の程度第2の量子化レベルで量子化された特徴記述子28を表すように、クエリデータ30Aを拡張する方式でクエリデータ30Bを決定し得る。この意味で、特徴圧縮ユニット20は、第1のクエリデータ30Aが生成され、次いで特徴記述子28のより完全な表現となるように第2のクエリデータ30Bで引き続いて更新されることで、特徴記述子28の量子化を連続的に精製することができる。0049クエリデータ30Aが、概して、従来特徴記述子を量子化するために使用されるレベルほど精細でない第1の量子化レベルにおいて量子化された特徴記述子28を表すことを考慮すると、本技法によって編成されたクエリデータ30Aは、従来量子化された特徴記述子より小さいサイズであり得、そのことで、帯域幅消費が低減され、同時に待ち時間が改善され得る。その上、クライアントデバイス12は、クエリデータ30Bを拡張するクエリデータ30Bを決定する間に、クエリデータ30Aを送信し得る。次いで、クライアントデバイス12によるクエリデータ30Bの決定と同時に、視覚探索サーバ16は、クエリデータ30Aを受信し、視覚探索を開始し得る。このようにして、クエリデータ30Aを拡張するクエリデータ30Bを決定する間に視覚探索を実行するという同時性の性質によって、待ち時間が大幅に低減され得る。0050動作時、クライアントデバイス12は、上記のようにクエリ画像を定義する画像データ26を記憶する。特徴抽出ユニット18は、クエリ画像の特徴を定義する画像データ26から画像特徴記述子28を抽出する。次いで、特徴圧縮ユニット20は、第1の量子化レベルで特徴記述子28を量子化して、第1の量子化レベルで量子化された特徴記述子28を表す第1のクエリデータ30Aを生成するために、本開示で説明する技法を実装する。第1のクエリデータ30Aは、第2のクエリデータ30Bでアップデートされると第1のクエリデータ30Aを引き続いて拡張することが可能になるように定義される。特徴圧縮ユニット20は、このクエリデータ30Aをインターフェース22に転送し、インターフェース22は、クエリデータ30Aを視覚探索サーバ14に送信する。視覚探索サーバ14のインターフェース32は、クエリデータ30Aを受信し、その後、視覚探索サーバ14は、特徴記述子28を再構成するために特徴再構成ユニット34を起動する。次いで、特徴再構成ユニット34は、再構成された特徴記述子40Aを出力する。次いで、特徴マッチングユニット36が、再構成された特徴記述子40Aに基づいて特徴記述子データベース38にアクセスすることによって視覚探索を実行する。0051特徴マッチングユニット36が、再構成された特徴記述子40Aを使用して視覚探索を実行するのと並行して、特徴圧縮ユニット20は、第1のクエリデータ30Aが第2のクエリデータ30Bでアップデートされると、アップデートされた第1のクエリデータ30Aが、第2の量子化レベルで量子化された特徴記述子28を表すように第1のクエリデータ30Aを拡張する第2のクエリデータ30Bを決定する。再び、この第2の量子化レベルは、第1の量子化レベルで量子化するときに達成されるものより精細かまたはより完全な特徴記述子28の表現を達成する。次いで、特徴圧縮ユニット20は、クエリデータ30Bをインターフェース22に出力し、インターフェース22は、第1のクエリデータ30Aを連続的に精製するために、第2のクエリデータ30Bをネットワーク16を介して視覚探索サーバ14に送信する。0052視覚探索サーバ14のインターフェース32は第2のクエリデータ30Bを受信し、その後、視覚探索サーバ14は特徴再構成ユニット34を起動する。次いで、特徴再構成ユニット34は、第1のクエリデータ30Aを第2のクエリデータ30Bでアップデートすることによってより精細なレベルで特徴記述子28を再構成し、再構成された特徴記述子40Bを生成し得る特徴記述子40Bは、再び、アップデートされたクエリデータ40Bと呼ばれ、このデータは、視覚探索、または視覚探索もしくはクエリを実行するために使用される視覚探索またはクエリデータに関連する。次いで、特徴マッチングユニット36は、クエリデータ40Aではなくアップデートされたクエリデータ40Bを使用して視覚探索を再開し得る。0053図1の例に示さないが、より精細な量子化レベルを使用して特徴記述子28を連続的に精製し、次いで視覚探索を再開するこのプロセスは、特徴マッチングユニット36が、画像データ26から抽出された1つまたは複数の対象物もしくは特徴を確実に識別するか、この特徴もしくは対象物が識別できないと決定するか、または視覚探索プロセスを終了させ得る電力消費、待ち時間、または他の閾値に到達するまで、継続し得る。たとえば、クライアントデバイス12は、例として、現在決定された電力量を電力の閾値と比較することによって、さらなる時間特徴記述子28を精製するための十分な電力を有すると決定することができる。0054この決定に応答して、クライアントデバイス12は、クエリデータ40Bがこの第3のクエリデータでアップデートされると、このアップデートされた第2のクエリデータが、第2の量子化レベルより一層精細な第3の量子化レベルで量子化された再構成された特徴記述子をもたらすように、第2のクエリデータ30Bを拡張する第3のクエリデータを、この再開された視覚探索と並行して決定するために、特徴圧縮ユニット20を起動する。視覚探索サーバ14は、この第3のクエリデータを受信し、この同じ特徴記述子ではあるが第3の量子化レベルにおいて量子化された特徴記述子に対して視覚探索を再開し得る。0055したがって、特徴記述子の第1のセットに基づき視覚探索を実行した後、引き続いて異なる特徴記述子それらは一般的には、第1の特徴記述子とは異なるか、または、全く異なる画像から抽出され、それゆえまったく異なる画像を表現するに基づいて視覚探索を実行する従来のシステムとは異なり、本開示で説明する技法は、第1の量子化レベルにおいて量子化された特徴記述子に対して視覚探索を開始し、次いで、同じ特徴記述子であるが、第2の異なる、通常より精細またはより完全な量子化レベルにおいて量子化された特徴記述子に対して視覚探索を再開する。このプロセスは、上述のように反復ベースで継続され得、それにより、同じ特徴記述子の連続するバージョンが、連続的に小さくなる度合いで、すなわち粗い特徴記述子データから、より精細な特徴記述子データで、量子化される。いくつかの例では、視覚探索の再開しかし、第1のクエリデータ40Aより精細にまたはより完全に量子化されたクエリデータ40Bに対してを可能にする第2のクエリデータ30Bを決定しながら、同時に、視覚探索を開始するのに十分に詳細なクエリデータ30Aを送信することによって、本技法は、視覚探索が量子化と同時に実行されることを考えると、待ち時間を改善する。0056いくつかの例では、本技法は、視覚探索サーバが、この粗く量子化された第1のクエリデータに基づいて特徴を何らかの許容できる程度に識別することができるものと仮定すると、粗く量子化された第1のクエリデータを視覚探索サーバに供給するだけで、その後終了することができる。この例では、クライアントデバイスは、視覚探索サーバが第2のより精細な量子化の程度で特徴記述子を再構成することを可能にするのに十分なデータを定義する第2のクエリデータを提供するために、特徴記述子を引き続き量子化する必要はない。このようにして、本技法は、従来のシステムと共通のより精細に量子化された特徴記述子を決定するよりも少ない時間で決定できる、より粗く量子化された特徴記述子を提供することで、従来の技法に対して待ち時間を改善し得る。結果として、視覚探索サーバは、従来のシステムに対してより速やかに特徴を識別し得る。0057その上、クエリデータ30Bは、その後、視覚探索を実行するための基礎として使用されるクエリデータ30Aからのデータを繰り返さない。言い換えれば、クエリデータ30Bはクエリデータ30Aを拡張し、かつクエリデータ30Aのいかなる部分も置き換えることはない。この点において、本技法は、本技法で使用される第2の量子化レベルが従来使用されるものとほぼ等しいものと仮定すると従来、量子化された特徴記述子28を送るよりもはるかに多くの帯域幅を、ネットワーク16内で消費するものではない。帯域幅消費の増加は、クエリデータ30Aと30Bの両方が、ネットワーク12を横断するためのパケットヘッダと、従来、所与の特徴記述子は量子化され、一度送られるだけであるので必要ではなかった他のごく少量のメタデータとを必要とするために、発生するのみである。しかも、この帯域幅の増加は、本開示で説明する技法のアプリケーションを通して可能となる待ち時間の減少と比較すると、一般的にはささいなものである。0058図2は、図1の特徴圧縮ユニット20をより詳細に示すブロック図である。図2の例に示すように、特徴圧縮ユニット20は、精製可能な格子量子化ユニット50とインデックスマッピングユニット52とを含む。精製可能な格子量子化ユニット50は、特徴記述子の連続的な精製を提供するために本開示で説明する技法を実装するユニットを表す。本開示で説明する技法を実装することに加えて、精製可能な格子量子化ユニット50はまた、上記で説明したタイプを決定する形態の格子量子化を実行する。0059格子量子化を実行するとき、精製可能な格子量子化ユニット50は、最初に基底の量子化レベル54数学的にnと呼ばれてよいと特徴記述子28とに基づいて、格子点k1、...、kmを計算する。次いで、精製可能な格子量子化ユニット50は、これらの点を合計して、nを求め、nをnと比較する。nがnに等しい場合、精製可能な格子量子化ユニット50は、kiここでi=1、...、mをkiにセットする。nがnに等しくない場合、精製可能な格子量子化ユニット50は、kiと、nと、特徴記述子28との関数として誤差を計算し、次いでこれらの誤差をソートする。その後、精製可能な格子量子化ユニット50は、nマイナスnがゼロより大きいかどうかを判定する。nマイナスnがゼロより大きい場合、精製可能な格子量子化ユニット50は、最大の誤差を有するKi値を1だけ減分する。nマイナスnがゼロより大きい場合、精製可能な格子量子化ユニット50は、最小の誤差を有するKi値を1だけ増分する。この方式で増分または減分される場合、精製可能な格子量子化ユニット50は、kiを調整されたki値にセットする。次いで、精製可能な格子量子化ユニット50は、これらのki値をタイプ56としてインデックスマッピングユニット52に出力する。0060インデックスマッピングユニット52は、タイプ56をインデックスに一意にマッピングするユニットを表す。タイプ56が決定された次元と同じ次元の特徴記述子やはり、ヒストグラムの形態の確率分布として表現されるに対して計算されたすべての可能なタイプの辞書式配列においてタイプ56を識別するインデックスとして、インデックスマッピングユニット52は、このインデックスを数学的に計算し得る。インデックスマッピングユニット52は、タイプ56に対してこのインデックスを計算し、クエリデータ30Aとしてこのインデックスを出力し得る。0061動作時、精製可能な格子量子化ユニット50は、特徴記述子28を受信し、k1、...、kmのパラメータを有するタイプ56を計算する。次いで、精製可能な格子量子化ユニット50は、タイプ56をインデックスマッピングユニット52に出力する。インデックスマッピングユニット52は、次元数mを有する特徴記述子に対して可能なすべてのタイプのセットの中でタイプ56を一意に識別するインデックスに、タイプ56をマッピングする。次いで、インデックスマッピングユニット52は、このインデックスをクエリデータ30Aとして出力する。このインデックスは、図9Aおよび図9Bに関連してより詳細に図示され、説明されるように、確率分布上に一様に定義されたボロノイセルVoronoicellsの中心に位置する再構成点の格子を表すものと見なされ得る。上記のように、視覚探索サーバ14は、クエリデータ30Aを受信し、再構成された特徴記述子40Aを求め、再構成された特徴記述子40Aに基づいて視覚探索を実行する。ボロノイセルに対して説明したが、本技法は、類似の種類のインデックスマッピングを可能にするために空間のセグメント化を容易にすることができる、任意の他の種類の一様なまたは一様でないセルに対して実装されうる。0062一般的に、クエリデータ30Aがクライアントとサーバ14との間で伝送途中にある間、および/または、視覚探索サーバ14が再構成された特徴記述子40Aを決定し、および/または再構成された特徴記述子40Aに基づいて視覚探索を実行している間、精製可能な格子量子化ユニット50は、クエリデータ30Aがクエリデータ30Bで拡張されると、拡張またはアップデートされたクエリデータ30Aが、基底または第1の量子化レベルよりも精細な量子化レベルで量子化された特徴記述子28を表すような方式で、クエリデータ30Bを決定するために、本開示で説明する技法を実装する。精製可能な格子量子化ユニット50は、タイプパラメータ再構成点k1、...、kmの関数である再構成点q1、...、qmからオフセットを識別する1つまたは複数のオフセットベクトルとしてクエリデータ30Bを求める。0063精製可能な格子量子化ユニット50は、2つの方法のうちの一方でクエリデータ30Bを決定する。第1の方法では、精製可能な格子量子化ユニット50は、クエリデータ30Aで特徴記述子28を表すために使用される再構成点の数を2倍にすることによってクエリデータ30Bを決定する。この点において、第2の量子化レベルは、第1のまたは基底の量子化レベル54の2倍のレベルであるものと見なされ得る。図9Aの例に示す例示的な格子に関して、これらのオフセットベクトルは、追加の再構成点を、ボロノイセルの各々の面の中心として識別し得る。以下でより詳細に説明するように、再構成点の数を2倍にし、それによってより粒度の高い特徴記述子28を定義するが、連続的に量子化される特徴記述子28のこの第1の方法は、2番目に高い量子化レベルにおける再構成点の格子を単に送ることと比較して、これらのベクトルを送るために必要なビットの数に関してあまりに多くのオーバーヘッドおよびそれによる帯域幅消費をもたらすことを回避するために、基底の量子化レベル54は、それが、この例のヒストグラムとして表される確率分布の次元数より十分に大きいすなわち、nがmより大きく定義されるように定義されることが必要である。0064たいていのまたは少なくともいくつかの例では、基底の量子化レベル54は確率分布またはこの例ではヒストグラムの次元数より大きく定義され得るが、いくつかの例では、基底の量子化レベル54は、確率分布の次元性より十分に大きく定義され得ない。これらの例では、精製可能な格子量子化ユニット50は、代替として、二重格子duallatticeを使用して第2の方法によってオフセットベクトルを計算することができる。すなわち、クエリデータ30Aで定義された再構成点の数を2倍にするのではなく、精製可能な格子量子化ユニット50は、インデックスマッピングユニット52でマッピングされたインデックスによって、クエリデータ30Aとして表される再構成点の格子の中の穴を埋めるようにオフセットベクトルを求める。ここでも、この拡張を、図9Bの例に関してより詳細に図示し説明する。これらのオフセットベクトルがボロノイセルの交差部または交点に入る再構成点の追加の格子を定義することを考慮すると、クエリデータ30Bとして表されるこれらのオフセットベクトルは、クエリデータ30Aで表される再構成点の格子に加えて、再構成点のさらに別の格子を定義するものと見なされ、したがってこのことは、この第2の方法が二重格子を使用するという特性に導く。0065特徴記述子28の量子化レベルを連続的に精細可するこの第2の方法は、基底の量子化レベル54が、基礎をなすunderlying確率分布の次元数より実質的に大きく定義される必要がない一方で、この第2の方法は、オフセットベクトルを計算するために必要な動作の数に関してより複雑になる可能性がある。いくつかの例では、追加の動作を実行することで、電力消費が増加する可能性があることを考慮すると、特徴記述子28の量子化を連続的に精製するこの第2の方法は、十分な電力が利用できるときにだけ使用され得る。電力の充足度powersufficiencyが、ユーザ定義、アプリケーション定義、または静的に定義された電力閾値に対して決定されてよく、それにより、精製可能な格子量子化ユニット50は、現在の電力がこの閾値を超えるときだけ、この第2の方法を使用する。他の例では、精製可能な格子量子化ユニット50は、基底レベルの量子化は、確率分布の次元数と比較して十分に大きく定義され得ないこれらの例において、オーバーヘッドがもたらされるのを回避するために、この第2の方法を常に使用し得る。代替的に、精製可能な格子量子化ユニット50は、実装形態の複雑性と、その結果としての第2の方法に関連する電力消費とを回避するために、常に第1の方法を使用し得る。0066図3は、図1の特徴再構成ユニット34をより詳細に示すブロック図である。図3の例に示すように、特徴再構成ユニット34は、タイプマッピングユニット60と、特徴復元ユニット62と、特徴拡張ユニット64とを含む。タイプマッピングユニット60は、クエリデータ30Aのインデックスをタイプ56に戻すマッピングをするために、インデックスマッピングユニット52の逆を実行するユニットを表す。特徴復元ユニット62は、再構成された特徴記述子40Aを出力するために、タイプ56に基づいて特徴記述子28を復元するユニットを表す。特徴復元ユニット62は、特徴記述子28をタイプ56に縮小するreduceするときに精製可能な格子量子化ユニット50に対して上記で説明した動作と逆の動作を実行する。特徴拡張ユニット64は、クエリデータ30Bのオフセットベクトルを受信し、オフセットベクトルに基づいてタイプ56で定義された再構成点の格子に対する再構成の追加によりタイプ56を拡張する。特徴拡張ユニット64は、追加の再構成点を決定するために、クエリデータ30Bのオフセットベクトルを、タイプ56で定義された再構成点の格子に適用する。次いで、特徴拡張ユニット64は、タイプ56をこれらの決定された追加の再構成点でアップデートし、アップデートされたタイプ58を特徴復元ユニット62に出力する。次いで、特徴復元ユニット62は、再構成された特徴記述子40Bを出力するために、アップデートされたタイプ58から特徴記述子28を復元する。0067図4は、本開示で説明する連続的に精製可能な量子化技法の実装において、図1の例に示すクライアントデバイス12などの視覚探索クライアントデバイスの例示的な動作を示すフローチャートである。特定のデバイス、すなわちクライアントデバイス12に関して説明したが、本技法は、視覚探索を実行するためなど、この確率分布のさらなる使用において待ち時間を低減するために、確率分布に対する数学演算を実行することができる任意のデバイスによって実装され得る。加えて、視覚探索のコンテキストにおいて説明するが、本技法は、確率分布の連続的な精製を可能にする他のコンテキストにおいて実装されてもよい。0068最初に、クライアントデバイス12は、画像データ26を記憶し得る。クライアントデバイス12は、画像データ26をキャプチャするために画像またはビデオカメラなど、キャプチャデバイスを含み得る。代替として、クライアントデバイス12は、画像データ26を、ダウンロードまたは場合によっては受信し得る。クライアントデバイス12のユーザまたは他のオペータは、画像データ26に対する視覚探索を開始するために、クライアントデバイス12図示を容易にするために図1の例に示さずによって提供されるユーザインターフェースと対話し得る。このユーザインターフェースは、グラフィカルユーザインターフェースGUI、コマンドラインインターフェースCLI、またはデバイスのユーザもしくはオペレータとインターフェースするために使用される任意の他の種類のユーザインターフェースを備えることができる。0069視覚探索の開始に応答して、クライアントデバイス12は特徴抽出ユニット18を起動する。起動すると、特徴抽出ユニット18は、本開示で説明する方式で画像データ26から特徴記述子28を抽出する70。特徴抽出ユニット18は、特徴記述子28を特徴圧縮ユニット20に転送する。図2Aの例により詳細に示す特徴圧縮ユニット20は、精製可能な格子量子化ユニット50を起動する。精製可能な格子量子化ユニット50は、基底の量子化レベル54における特徴記述子28の量子化を介して特徴記述子28をタイプ56に縮小する。上記のように、この特徴記述子28は、より一般的な確率分布の具体例である勾配のヒストグラムを表す。特徴記述子28は、変数pとして数学的に表され得る。0070特徴圧縮ユニット20は、抽出された特徴記述子28に対するタイプを求めるために、タイプ格子typelattice量子化の形態を実行する72。このタイプは、変数Qで数学的に表される再生可能reproducible分布のセットの中の再構成点または中心のセットを表し得、ここでQは、別個の事象Aのセットに対する確率分布Ωmのセットのサブセットと見なされ得る。ここでも、変数mは、確率分布の次元数を指す。Qは、再構成点の格子と見なされてよい。変数Qは、Qnに到達するために変数nで修正され、Qnは、格子内の点の密度ある程度まで量子化のレベルと見なされ得るを定義するパラメータnを有する格子を表す。Qnは、次式1で数学的に表され得る。式1において、Qnの要素はq1、...、qmとして示される。変数Zは、すべての正の整数を表す。0071所与のmとnとを有する格子に対して、格子Qnは、次式2で数学的に表される点の数を含み得る。また、Lノルムベースの最大距離に関して表される、このタイプの格子のカバレージ半径は、次式3~5で表される半径である。上式3~5では、変数aは、次式6で数学的に表され得る。加えて、タイプインデックスのダイレクト非スケーラブルまたは精製不可能な伝送transmissionは、次式7~9で数学的に表されるように、量子化器の以下の半径/レートradiusrate特性をもたらす。0072所与の基底の量子化レベル54上述の変数nを表し得るにおいて再構成点またはいわゆるタイプのこのセットを生成するために、精製可能な格子量子化ユニット50は、最初に、下式10によって値kiを計算する。式10の変数iは、値1、...、mのセットを表す。nがnに等しい場合、最近のタイプは、ki=kiで与えられる。そうではなく、nがnに等しくない場合、精製可能な格子量子化ユニット50は、次式11によって誤差δiを計算し、次式12が満たされるようにこれらの誤差を分類する。次いで、精製可能な格子量子化ユニット50は、nとnとの間の差分を求め、そのような差分は変数Δで示され得、下式13で表される。0073Δがゼロより大きい場合、精製可能な格子量子化ユニット50は、それらの最大の誤差を有するkiの値を減分し、それらの値は、次式14で数学的に表され得る。しかしながら、Δがゼロより小さいと判断される場合、精製可能な格子量子化ユニット50は、最小の誤差を有するkiの値を増分し、それらの値は、次式15で数学的に表され得る。基底の量子化レベルすなわちnが既知であると仮定すれば、タイプをq1、...、qmに関して表すのではなく、精製可能な格子量子化ユニット50は、上述の3つの方法のうちの1つによって計算されるk1、...、kmの関数としてタイプ56を表す。精製可能な格子量子化ユニット50は、このタイプ56をインデックスマッピングユニット52に出力する。0074インデックスマッピングユニット52は、このタイプ56を、クエリデータ30Aに含まれるインデックスにマッピングする74。このタイプ56をインデックスにマッピングするために、インデックスマッピングユニット52は、次元数mを有する確率分布に対するすべてのタイプのセットの中でのタイプ56の辞書式配列を示すタイプ56に割り当てられたインデックスζk1、...、kmを計算する次式16を実装し得る。インデックスマッピングユニット56は、予め計算された二項係数の配列を使用してこの式を実装し得る。次いで、インデックスマッピングユニット52は、決定されたインデックスを含むクエリデータ30Aを生成する76。次いで、クライアントデバイス12は、このクエリデータ30Aをネットワーク16を介して視覚探索サーバ14に送信する78。0075インデックスマッピングユニット52がインデックスを決定すること、および/またはクライアントデバイス12がクエリデータ30Aを送信すること、および/または視覚探索サーバ14がクエリデータ30Aに基づいて視覚探索を実行することと同時に、精製可能な格子量子化ユニット50は、タイプ56がオフセットベクトル30Bでアップデートされると、このアップデートまたは拡張されたタイプ56が、クエリデータ30A内に含まれていたときのタイプ56の量子化に使用された量子化レベルよりも精細な量子化レベルでの特徴記述子28を表し得るように、前に決定されたタイプ56を拡張するオフセットベクトル30Bを決定する80。上述のように、精製可能な格子量子化ユニット50は、最初にタイプ56の形態で格子Qnを受信する。精製可能な格子量子化ユニット50は、オフセットベクトル30Bを計算する2つの方法の一方または両方を実装し得る。0076第1の方法では、精製可能な格子量子化ユニット50は、基底の量子化レベル54すなわちnを2倍にして、数学的に2nで表され得る第2のより精細な量子化レベルを得る。この第2のより精細な量子化レベルを使用して生成された格子は、Q2nで示され、ここで格子Q2nの点は、次式17で定義されるように格子Qnの点に関連する。ここでδ1...δm=0であるように、δ1、...、δm∈{-1、0、1}。オフセットベクトル30Bを計算するこの方法の評価は、元の格子Qnの中の点の周りに挿入され得る点の数を検討することによって始まる。点の数は、次式18によって計算され得、ここでk1、k0、k1は、変位ベクトル[δ1、...、δm]の要素の中で値-1、0、1が発生する回数を示す。δ1...δm=0がk1=k1を意味するという条件を与えると、点の数は、下式18で計算され得る。式18から、漸近的に大きなmに対してこの点の数はηm~αmになると判断できる。ここでである。0077格子Qnに関して格子Q2n内のタイプの位置を指定するために必要なベクトル[δ1、...、δm]を符号化するために、せいぜい必要なビットの数は、次式19を使用して導出され得る。オフセットベクトルを送るために必要なビット数のこの測定値measureを、Q2n内の点の直接符号化を送るために必要なビット数と比較すると、次式20となる。式を概括的に考察すると、タイプインデックスの漸増的送信に対して小さなオーバーヘッドを確保するために、この第1の方法は、nがmよりはるかに大きい≫格子Qnからインデックスを直接送信することで開始すべきであることに気づく。第1の方法を実装することにおけるこの条件は、常に実用的であるとは限らない。0078代替として、精製可能な格子量子化ユニット50は、この条件に縛られない第2の方法を実装し得る。この第2の方法は、ボロノイセルの穴または交点に設置される点によってQnを拡張することを伴い、ここで得られた格子はで示され、これは次式21によって定義される。この格子は、本開示では二重タイプ格子dualtypelatticeと呼ばれ得る。変数νiは、ボロノイセルの交点に対するオフセットを示すベクトルを表し、変数νiは次式22によって数学的に表され得る。各ベクトルνiは、その値のを可能にする。この転置の数が与えられれば、Qnを二重タイプ格子に変換することによってQn内の点の周りに挿入される点の総数は、次式23で示す式を満たす。式23が与えられれば、格子Qn内の点の既知の位置に対する、二重タイプ格子内の点の符号化は、せいぜい次式24で表されるビットの数を送信することによって達成され得る。0079オフセットベクトル30Bを決定するこの第2の方法を評価することにおいて、格子Qnからに切り替えるときに、カバー半径coveringradiusにおける縮小の推定値が必要になる。タイプ格子Qnに対して、次式25は半径カバレージradiuscoverageを表す。一方、二重タイプ格子に対して、次式26が半径カバレージを表す。これら2つの異なる半径カバレージの値を比較すると、格子Qnからへの遷移でカバー半径がファクタだけ縮小し、一方、約mビットレートのオーバーヘッドを生じると決定され得る。精製不可能なQn格子ベースの符号化と比較したこの第2の符号化の方法の効率は、次式27によって推定できる。式27から、符号化のこの第2の方法は、開始の格子すなわち、この例におけるパラメータnで定義されるの基底の量子化レベルに対して減少していることがみてとれるが、このパラメータnは、次元数mに対して比較的大きくなくてもよい。精製可能な格子量子化ユニット50は、前に決定されたタイプ56に対してオフセットベクトル30Bを決定するこれら2つの方法の一方または両方を利用することができる。0080次いで、精製可能な格子量子化ユニット50は、これらのオフセットベクトルを含む追加のクエリデータ30Bを生成する82。クライアントデバイス12は、上記で説明した方式でクエリデータ30Bを視覚探索サーバ12に送信する84。次いで、クライアントデバイス12は、識別データ42を受信したかどうかを決定し得る86。クライアントデバイス12は、識別データ42を未だに受信していないと決定する場合86のNO、クライアントデバイス12は、いくつかの例では、上記で説明した2つの方法のうちのいずれかを使用してすでに拡張されているタイプ56を拡張する追加のオフセットベクトルを決定することによって、拡張されたタイプ56をさらに精細にし、これらの追加のオフセットベクトルを含む第3のクエリデータを生成し、この第3のクエリデータを視覚探索サーバ14に送信することを継続し得る80~84。このプロセスは、いくつかの例では、クライアントデバイス12が識別データ42を受信するまで継続し得る。いくつかの例では、クライアントデバイス12は、第1の精製の後、タイプ56を精製することを、クライアントデバイス12が、上述のように、この追加の精製を実行するために十分な電力を有しているときだけ継続する。いずれにしても、クライアントデバイス12が識別データ42を受信する場合、クライアントデバイス12は、この識別データ42をディスプレイ24を介してユーザに提示する88。0081図5は、本開示で説明する連続的に精製可能な量子化技法を実装することにおいて、図1の例に示す視覚探索サーバ14ようのよう視覚探索サーバの例示的な動作を示すフローチャートである。特定のデバイス、すなわち視覚探索サーバ14に関して説明したが、本技法は、視覚探索を実行するためなど、この確率分布のさらなる使用において待ち時間を低減するために、確率分布に対する数学演算を実行することができる任意のデバイスによって実装され得る。加えて、視覚探索のコンテキストを説明するが、本技法は、確率分布の連続的な精製を可能にする他のコンテキストで実装されてもよい。0082最初に、視覚探索サーバ14は、上記で説明したように、インデックスを含むクエリデータ30Aを受信する100。クエリデータ30Aの受信に応答して、視覚探索サーバ14は、特徴再構成ユニット34を起動する。図3を参照すると、特徴再構成ユニット34は、上記で説明した方式で、クエリデータ30Aのインデックスをタイプ56にマッピングするために、タイプマッピングユニット60を起動する102。タイプマッピングユニット60は、決定されたタイプ56を特徴復元ユニット62に出力する。次いで、特徴復元ユニット62は、上記で説明したように、タイプ56に基づいて特徴記述子28を再構成し、再構成された特徴記述子40Aを出力する104。次いで、視覚探索サーバ14は、特徴マッチングユニット36を起動し、特徴マッチングユニット36は、上記で説明した方式で、再構成された特徴記述子40Aを使用して視覚探索を実行する106。0083特徴マッチングユニット36で実行される視覚探索が特徴の確実な識別をもたらさない場合108のNO、特徴マッチングユニット62は、識別データを生成せず、次いでそのデータをクライアントデバイス12に送ることはない。この識別データを受信しなかった結果として、クライアントデバイス12は、クエリデータ30Bの形態のオフセットベクトルを生成して送る。視覚探索サーバ14は、これらのオフセットベクトルを含むこの追加のクエリデータ30Bを受信する110。視覚探索サーバ14は、受信したクエリデータ30Bを処理するために特徴再構成ユニット34を起動する。特徴再構成ユニット34は、起動されると次に、特徴拡張ユニット64を起動する。特徴拡張ユニット64は、特徴記述子28を粒度のより精細なレベルで再構成するために、そのオフセットベクトルに基づいてタイプ54を拡張する112。0084特徴拡張ユニット64は、拡張またはアップデートされたタイプ58を特徴復元ユニット62に出力する。次いで、特徴復元ユニット62は、アップデートされたタイプ58に基づいて特徴記述子28を復元して再構成された特徴記述子40Bを出力し、ここで再構成された特徴記述子40Bは、特徴記述子40Aで表されるレベルより精細なレベルにおいて量子化された特徴記述子28を表す113。次いで、特徴復元ユニット62は、再構成された特徴記述子40Bを特徴マッチングユニット36に出力する。次いで、特徴マッチングユニット36は、特徴記述子40Bを使用して視覚探索を再開する106。このプロセスは、特徴が識別されるまで106~113またはクライアントデバイス12がもはや追加のオフセットベクトルを供給しなくなるまで継続し得る。識別されれば108のYES、特徴マッチングユニット36は、識別データ42を生成し、それを視覚探索クライアント、すなわちこの例ではクライアントデバイス12に送信する114。0085図6は、特徴記述子抽出における使用のために求められたガウシアン差分DoGピラミッド204を示す図である。図1の特徴抽出ユニット18は、ガウシアンピラミッド202内の任意の2つの連続するガウスぼけ画像の差分を計算することによってDoGピラミッド204を構築し得る。図1の例では画像データ26として示される入力画像Ix、yが、ガウシアンピラミッド202を構築するために、徐々にガウスぼかしされるGaussianblurred。ガウスぼかしは、一般に、ガウスぼけ関数GaussianblurredfunctionLx、y、cσがと定義されるように、元の画像Ix、yをスケールcσでガウスぼけ関数GaussianblurfunctionGx、y、cσで畳み込むことを伴う。ここで、Gはガウスカーネルであり、cσは画像Ix、yをぼかすために使用されるガウス関数の標準偏差を示す。cは変えられるc0<c1<c2<c3<c4ので、標準偏差cσは変化し、漸進的なぼかしが得られる。シグマσは、ベーススケール変数本質的にはガウスカーネルの幅である。ぼけ画像Lを生成するために初期画像Ix、yがガウシアンGで増分的に畳み込まれるとき、ぼけ画像Lは、スケール空間において一定ファクタcだけ分離される。0086DoG空間またはDoGピラミッド204において、Dx、y、a=Lx、y、cnσ-Lx、y、cn1σ。DoG画像Dx、y、σは、スケールがcnσおよびcn1σにおける2つの隣接するガウスぼけ画像Lの間の差分である。Dx、y、σのスケールは、cnσとcn1σとの間のどこかに存在する。ガウスぼけ画像Lの数が増加し、ガウシアンピラミッド202のために与えられる近似が連続的空間に近づくにつれて、2つのスケールもまた1つのスケールに近づく。畳み込まれた画像Lはオクターブによってグループ化され得、ここでオクターブは、標準偏差σの値の2倍に対応する。さらに、乗数kたとえば、c0<c1<c2<c3<c4の値は、固定数の畳み込まれた画像Lが、オクターブごとに取得されるように選択される。次いで、DoG画像Dが、オクターブごとに隣接するガウスぼけ画像Lから取得され得る。各オクターブの後、ガウス画像が2分の1にダウンサンプリングされ、次いでプロセスが繰り返される。0087次いで、特徴抽出ユニット18は、画像Ix、yに対するキーポイントを識別するためにDoGピラミッド204を使用し得る。キーポイント検出を実行することにおいて、特徴抽出ユニット19は、画像内の特定のサンプル点または画素の周りの局所領域またはパッチが、幾何学的に言って潜在的に関心のあるパッチであるかどうかを決定する。一般に、特徴抽出ユニット18は、DoG空間204内に局所的最大値および/または局所的最小値を識別し、これらの極大値および極小値の位置をDoG空間204内のキーポイントの位置として使用する。図6に示す例では、特徴抽出ユニット18は、パッチ206内にキーポイント208を識別する。局所的最大値および最小値を発見すること局所的極値検出としても知られるが、DoG空間204内の各画素たとえば、キーポイント208に対する画素を、同じスケールでそれに隣接する8つの画素と、および、両側に隣接するスケールの各々で隣接するパッチ210および212内の隣接する9つの画素と、の合計26画素9×28=26に対して比較することによって達成され得る。キーポイント206に対する画素値が、パッチ206、210および208内の26個の比較された画素のすべての中の極大値または極小値であれば、特徴抽出ユニット18は、この画素をキーポイントとして選択する。特徴抽出ユニット18は、キーポイントを、それらの位置がより正確に識別されるように、さらに処理し得る。いくつかの例では、特徴抽出ユニット18は、低コントラストのキーポイントおよびエッジキーポイントなど、キーポイントのうちのいくつかを破棄することがある。0088図7は、キーポイントの検出をより詳細に示す図である。図7の例では、パッチ206、210および212の各々は3×3の画素領域を含む。特徴抽出ユニット18は、最初に、関心のある画素たとえば、キーポイント208を、同じスケールたとえば、パッチ206においてそれに隣接する8つの画素302と比較し、および、キーポイント208の両側の隣接するスケールの各々内の隣接するパッチ210および212内の隣接する9つの画素304および306と比較する。0089特徴抽出ユニット18は、局所画像勾配の方向に基づいて、各キーポイントに1つまたは複数の方向orientations、または方向を割り当て得る。局所画像属性に基づいて各キーポイントに一定の方向を割り当てることによって、特徴抽出ユニット18は、この方向に対するキーポイント記述子を表し得、したがって画像回転に対する不変性を達成する。次いで、特徴抽出ユニット18は、ガウスぼけ画像L内でおよび/またはキーポイントスケール内のキーポイント208の周りの隣接する領域内の各画素に対して大きさと方向とを計算する。x、yに位置するキーポイント208に対する勾配の大きさは、mx、yとして表され、x、yにおけるキーポイントに対する勾配の方向または方向は、Γx、yとして表され得る。0090次いで、特徴抽出ユニット18は、すべての計算がスケール不変方式で実行されるように、キーポイント208のスケールに最も近いスケールで、ガウス平滑画像Lを選択するために、キーポイントのスケールを使用する。各画像サンプルLx、yに対して、このスケールで、特徴抽出ユニット18は、勾配の大きさmx、yと方向Γx、yとを、画素差分を使用して計算する。たとえば、大きさmx、yは、次式28によって計算され得る。0091特徴抽出ユニット18は、方向または方向Γx、yを、次式29によって計算し得る。式において、Lx、yは、キーポイントのスケールでもあるスケールにおける、ガウスぼけ画像Lx、y、のサンプルを表す。0092特徴抽出ユニット18は、DoG空間内のキーポイントの平面より上に、より高いスケールで存在するガウシアンピラミッド内の平面、またはキーポイントより下に、より低いスケールで存在するガウシアンピラミッドの平面内のいずれかに対して、キーポイントに対する勾配を常に計算し得る。どちらにしても、各キーポイントに対して、特徴抽出ユニット18は、同じスケールにおいて、キーポイントを取り囲む矩形領域たとえば、パッチ内で勾配を計算する。さらに、画像信号の周波数が、ガウスぼけ画像のスケールにおいて反映される。しかも、圧縮勾配ヒストグラムCHoGアルゴリズムのようなSIFTおよび他のアルゴリズムは、単に、パッチたとえば、矩形領域内のすべての画素における勾配値を使用する。パッチがキーポイントの周りで定義され、サブブロックがブロック内で定義され、サンプルがサブブロック内で定義され、この構成は、キーポイントのスケールが異なるときでさえ、すべてのキーポイントに対して同じままである。したがって、画像信号の周波数が、同じオクターブ内の次に続くガウス平滑化フィルタのアプリケーションによって変化するが、異なるスケールにおいて識別されたキーポイントは、スケールで表される画像信号の周波数の変化にかかわらず、同じサンプル数でサンプリングされ得る。0093キーポイントの方向を特徴付けるために、特徴抽出ユニット18は、たとえば圧縮勾配ヒストグラムCHoGを使用することによって勾配方向ヒストグラムgradientorientationhistogram図4参照を生成し得る。隣接する各画素の寄与は、勾配の大きさおよびガウス窓によって重み付けされ得る。ヒストグラムのピークは支配的な方向に対応する。特徴抽出ユニット18は、キーポイントの方向に対するキーポイントのすべての属性を測定し、このことが、回転に対する不変性をもたらす。0094一例では、特徴抽出ユニット18は、各ブロックに対するガウス重み付け勾配Gaussianweightedgradientの分布を計算し、ここで各ブロックは、2サブブロック×2サブブロックで合計4サブブロックである。ガウス重み付け勾配の分布を計算するために特徴抽出ユニット18は、それぞれがキーポイントの周りの領域の一部をカバーするいくつかのビンで方向ヒストグラムを形成する。たとえば、方向ヒストグラムは36のビンを有し、各ビンは360度の方向領域のうちの10度をカバーする。代替として、ヒストグラムは8つのビンを有し、それぞれが360度の領域のうちの45度をカバーする。本明細書で説明するヒストグラム符号化技法は、任意の数のビンのヒストグラムにも適用可能であることは明らかである。0095図8は、特徴抽出ユニット18のような特徴抽出ユニットが勾配分布と方向ヒストグラムとを求めるプロセスを示す図である。ここで、2次元勾配分布dx、dyたとえば、ブロック406が1次元分布たとえば、ヒストグラム414に変換される。キーポイント208は、キーポイント208を取り囲むパッチ406セルまたは領域とも呼ばれるの中心に位置する。各レベルのピラミッドに対して予め計算された勾配が、各サンプル位置408において小さい矢として示される。図示のように、サンプル408の領域が、ビン410とも呼ばれるサブブロック410を形成する。特徴抽出ユニット18は、サブブロックすなわちビン410内の各サンプル408に重みを割り当てるために、ガウス重み付け関数を使用し得る。ガウス重み付け関数によってサンプル408の各々に割り当てられた重みは、ビン410の図心centroid209A、209Bおよびキーポイント208図心でもあるから滑らかに離れ落ちる。ガウス重み付け関数の目的は、窓の位置の小さな変化によって記述子が突然変化することを回避し、記述子の中心から遠い勾配にあまり重要視しないことである。特徴抽出ユニット18は、ヒストグラムの各ビン内に8つの方向を有する方向ヒストグラム412の配列を決定し、次元特徴記述子を得る。たとえば、方向ヒストグラム413は、サブブロック410に対する勾配分布に対応する。0096いくつかの例では、特徴抽出ユニット18は、勾配分布を得るために、他の種類の量子化ビンコンステレーションたとえば、異なるボロノイセル構成を有するを使用する。これらの他の種類のビンコンステレーションは、同様に、ソフトビニングsoftbinningの形態を使用し得、ソフトビニングは、いわゆるデイジーDAISY構成が使用されるときに定義されるものなどの重複ビンoverlappingbinを指す。図8の例では、3つのソフトビンが定義されるが、9つまたはそれ以上が、一般にキーポイント208の周りに円形構成で配置された図心とともに使用されてもよい。すなわち、ビンの中心または図心208、209A、209B。0097本明細書で使用するヒストグラムは、ビンとして知られている様々な独立したカテゴリーに分類される観測、サンプルまたは発生たとえば、勾配の数をカウントするマッピングkiである。ヒストグラムのグラフは、ヒストグラムを表すための単なる一方法である。したがって、kが観測、サンプルまたは発生の総数であり、mがビンの総数である場合、ヒストグラムkiにおける度数は、式30で表される下記の条件を満足する。ここでΣは加算演算である。0098特徴抽出ユニット18は、ヒストグラム412に追加された各サンプルを、キーポイントのスケールの1.5倍である標準偏差を有するガウス重み付け関数で定義されるその勾配の大きさによって重み付けすることができる。得られた方向ヒストグラム414内のピークは、局所勾配の支配的な方向に対応する。次いで、特徴抽出ユニット18は、ヒストグラム内の最高のピークを検出し、次いで、最高のピークの80など、あるパーセンテージ内にある任意の他の局所ピークそれはまた、その方向を有するキーポイントを生成するために使用され得るを検出する。したがって、類似の大きさの複数のピークを有する場所に対して、特徴抽出ユニット18は、同じ場所およびスケールであるが異なる方向において生成される複数のキーポイントを抽出する。0099次いで、特徴抽出ユニット18は、ヒストグラムをタイプとして表すタイプ量子化と呼ばれる量子化の形態を使用して、ヒストグラムを量子化する。このようにして、特徴抽出ユニット18は、各キーポイントに対する記述子を抽出することができ、そのような記述子は、場所x、yと、方向orientationと、タイプの形態でガウス重み付け勾配の分布の記述子とによって特徴付けられ得る。このようにして、画像は、1つまたは複数のキーポイント記述子画像記述子とも呼ばれるによって特徴付けられ得る。0100図9Aおよび図9Bは、本開示で説明する技法によって決定された特徴記述子502A、502Bの各々と再構成点504~508とを示すグラフ500A、500Bである。図9Aおよび図9B内の軸p1、p2およびp3で示すは、特徴記述子空間のパラメータを指し、その空間は、上述のヒストグラムのセルの確率を定義する。最初に図9Aの例を参照すると、特徴記述子502Aがボロノイセル512A~512Fに分割されている。各ボロノイセルの中心において、特徴圧縮ユニット20が、基底の量子化レベル54図2の例に示すが2に等しいときの再構成点504を決定する。次いで、再構成点504が追加の再構成点506でアップデートされると、その結果得られる特徴記述子500Aがより高い量子化レベルすなわち、この例ではn=4で再構成されるように、これらの追加の再構成点を求める上述の第1の方法によって再構成点504を拡張する追加の再構成点506図9Aの例では白/黒の点で示すを、本開示で説明する技法によって特徴圧縮ユニット20が決定する。この第1の方法では、追加の再構成点506は、ボロノイセル512の各面の中心に存在するように決定される。0101次に図9Bの例を参照すると、特徴記述子502Bがボロノイセル512A~512Fに分割されている。各ボロノイセルの中心に、特徴圧縮ユニット20は、基底の量子化レベル54図2の例に示すが2に等しいときの再構成点504を決定する。次いで、再構成点504が追加の再構成点508でアップデートされると、その結果得られる特徴記述子500Aがより高い量子化レベルすなわち、この例ではn=4において再構成されるように、これらの追加の再構成点を決定する上述の第2の方法によって再構成点504を拡張する追加の再構成点508図9Bの例では白/黒の点で示すを、本開示で説明する技法によって特徴圧縮ユニット20が決定する。この第2の方法では、追加の再構成点508は、ボロノイセル512の各々の交点に存在するように決定される。0102図10は、本開示で説明する技法を実装する図1の例に示すシステム10などのシステムに関する待ち時間を示す時間図600である。底の線は、ユーザによる探査の開始ゼロで示すから特徴記述子の確実な識別この例では6番目の時間ユニットまでに発生するまでの経過時間を示す。クライアントデバイス12は、最初に、特徴記述子を抽出し、特徴記述子を基底レベルで量子化し、特徴記述子を送ることに、1ユニットの待ち時間をもたらす。しかしながら、クライアントデバイス12は、ネットワーク16がクエリデータ30Aを中継し、視覚探索サーバ14がクエリデータ30Aに対して視覚探索を実行している間に、本開示の技法によって特徴記述子をさらに精製するために次に続くオフセットベクトルを計算するので、この例では、さらなる待ち時間をもたらさない。その後、ネットワーク16と視覚探索サーバ14だけが待ち時間に寄与するが、そのような寄与は、ネットワーク16がオフセットベクトルを配信している間にサーバ14はクエリデータ30Aに対する視覚探索を実行していることで、オーバーラップする。その後、各アップデートはネットワーク16とサーバ14との同時実行をもたらし、それにより、特にクライアントデバイス12とサーバ14との同時実行を考慮すれば、待ち時間は、従来のシステムと比較すると大幅に低減され得る。01031つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装する場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶するか、あるいはコンピュータ可読媒体を介して送信することができ得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータデータ記憶媒体または通信媒体を含み得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく、例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。同様に、いかなる接続も適切にコンピュータ可読媒体と称される。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスクdiskおよびディスクdiscは、コンパクトディスクdiscCD、レーザディスクdisc、光ディスクdisc、デジタル多用途ディスクdiscDVD、フロッピー登録商標ディスクdiskおよびブルーレイ登録商標ディスクdiscを含み、ディスクdiskは、通常、データを磁気的に再生し、ディスクdiscは、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。0104コードは、1つまたは複数のデジタル信号プロセッサDSPなどの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路ASIC、フィールドプログラマブル論理アレイFPGA、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用するプロセッサという用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に提供され得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。0105本開示の技法は、ワイヤレスハンドセット、集積回路ICまたはICのセットたとえば、チップセットを含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、一時的または非一時的のいずれかのコンピュータ可読媒体に記憶されている好適なソフトウェアおよび/またはファームウェアとともに、上記で説明したように1つまたは複数のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。