(57)【要約】  ビデオから典型的モーションフローを抽出するための技術が、本明細書において概ね説明される。典型的モーションフローを使用してビデオを検索するための技術もまた、本明細書において概ね説明される。典型的モーションフローは、興味深いモーションフローを生成するためにスライディングウィンドウの手法を使用して抽出されてもよい。典型的モーションフローは、興味深いモーションフローに基づいて生成されてもよい。
2013540377.tif 000002
【特許請求の範囲】
【請求項１】
ビデオから典型的モーションフローを抽出するためのコンピュータ実施の方法であって、
プロセッサおよびメモリを有するコンピュータを通じて、複数のフレームを備えるビデオファイルを受信することと、
前記コンピュータを通じて、前記ビデオファイルを複数のスライディングウィンドウに分割することであって、前記複数のスライディングウィンドウの各々は前記複数のフレームのうちの少なくとも２つを備えることと、
前記複数のスライディングウィンドウの各々に対して、
前記コンピュータを通じて、モーションフローを生成することと、
前記コンピュータを通じて、類似する特性を有する前記モーションフローを第１の複数のクラスタにクラスタ化することと、
前記コンピュータを通じて、第１の有意味のクラスタを前記第１の複数のクラスタから抽出することと、
前記コンピュータを通じて、前記複数のスライディングウィンドウの現在のスライディングウィンドウの前記第１の有意味のクラスタ内の前記モーションフローを、前記複数のスライディングウィンドウの以前のスライディングウィンドウの前記第１の有意味のクラスタ内の前記モーションフローと照合して、興味深いモーションフローを生成することと、
前記コンピュータを通じて、前記興味深いモーションフローに基づいて典型的モーションフローを決定することとを備える方法。
【請求項２】
前記コンピュータを通じて、前記複数のフレームからグローバルモーションベクトルを抽出することと、
前記コンピュータを通じて、前記複数のフレーム内のコーナーポイントを検出することと、
前記コンピュータを通じて、前記グローバルモーションベクトルに基づいてローカルモーションベクトルを抽出することとをさらに備える請求項１に記載のコンピュータ実施の方法。
【請求項３】
モーションフローを生成することは、前記コンピュータを通じて、前記ローカルモーションベクトルおよび前記コーナーポイントに基づいて前記モーションフローを生成することを備える請求項２に記載のコンピュータ実施の方法。
【請求項４】
前記複数のフレームの各々は複数のブロックを備え、前記ローカルモーションベクトルの各々は前記複数のブロックの１つに対応し、前記ローカルモーションベクトルおよび前記コーナーポイントに基づいてモーションフローを生成することは、前記コンピュータを通じて、前記複数のフレームの隣接するフレーム内に同じコーナーポイントを含む前記ブロック内の前記ローカルモーションベクトルを照合することを備える請求項３に記載のコンピュータ実施の方法。
【請求項５】
前記ビデオファイルはＭｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）規格のビデオファイルを備え、前記複数のフレームはＢフレームおよびＰフレームを備え、前記複数のフレームからグローバルモーションベクトルを抽出することは、前記コンピュータを通じて、前記ＭＰＥＧ規格のビデオファイル内の前記Ｂフレームおよび前記Ｐフレームから前記グローバルモーションベクトルを抽出することを備える請求項２に記載のコンピュータ実施の方法。
【請求項６】
前記複数のフレームからグローバルモーションベクトルを抽出することは、前記コンピュータを通じて、オプティカルフロー抽出技法を用いて前記ビデオファイルから前記グローバルモーションベクトルを抽出することを備える請求項２に記載のコンピュータ実施の方法。
【請求項７】
前記複数のフレームのコーナーポイントを検出することは、前記コンピュータを通じて、Ｈａｒｒｉｓコーナー検出技法を用いて前記複数のフレームのコーナーポイントを検出することを備える請求項２に記載のコンピュータ実施の方法。
【請求項８】
前記グローバルモーションベクトルに基づいてローカルモーションベクトルを抽出することは、
前記コンピュータを通じて、前記グローバルモーションベクトルがカメラの動きを含むかどうかを決定することと、
前記グローバルモーションベクトルが前記カメラの動きを含むと決定することに応答して、前記コンピュータを通じて、前記ローカルモーションベクトルを生成するために、前記グローバルモーションベクトルにおける前記カメラの動きを補償することと、
前記グローバルモーションベクトルが前記カメラの動きを含まないと決定することに応答して、前記コンピュータを通じて、前記グローバルモーションベクトルを前記ローカルモーションベクトルとして使用することとを備える請求項２に記載のコンピュータ実施の方法。
【請求項９】
前記グローバルモーションベクトルがカメラの動きを含むかどうかを決定することは、
前記コンピュータを通じて、前記複数のフレームの各々の複数のフレーム内の前記コーナーポイントの数を決定することと、
前記コンピュータを通じて、前記各々の複数のフレーム内の前記コーナーポイントの前記数が、前記複数のフレームのうちの１つまたは複数において大幅な減少を含むかどうかを決定することと、
前記各々の複数のフレーム内の前記コーナーポイントの前記数が、前記複数のフレームのうちの１つまたは複数において大幅な減少を含むと決定することに応答して、前記コンピュータを通じて、前記グローバルモーションベクトルが前記カメラの動きを含むと決定することと、
前記各々の複数のフレーム内の前記コーナーポイントの前記数が、前記複数のフレームのうちの１つまたは複数において大幅な減少を含まないと決定することに応答して、前記コンピュータを通じて、前記グローバルモーションベクトルが前記カメラの動きを含まないと決定することとを備える請求項８に記載のコンピュータ実施の方法。
【請求項１０】
前記グローバルモーションベクトルがカメラの動きを含むかどうかを決定することは、
前記コンピュータを通じて、前記グローバルモーションベクトルに対応する前記コーナーポイントの数を決定することと、
前記コンピュータを通じて、前記グローバルモーションベクトルに対応する前記コーナーポイントの前記数がしきい値を超えるかどうかを決定することと、
前記グローバルモーションベクトルに対応する前記コーナーポイントの前記数が前記しきい値を超えると決定することに応答して、前記コンピュータを通じて、前記グローバルモーションベクトルが前記カメラの動きを含むと決定することと、
前記グローバルモーションベクトルに対応する前記コーナーポイントの前記数が前記しきい値を超えないと決定することに応答して、前記コンピュータを通じて、前記グローバルモーションベクトルが前記カメラの動きを含まないと決定することとを備える請求項８に記載のコンピュータ実施の方法。
【請求項１１】
前記グローバルモーションベクトルがカメラの動きを含むかどうかを決定することは、
前記コンピュータを通じて、前記グローバルモーションベクトルに基づいて平均モーションベクトルを決定することと、
前記コンピュータを通じて、前記平均モーションベクトルがしきい値を超えるかどうかを決定することと、
前記平均モーションベクトルが前記しきい値を超えると決定することに応答して、前記コンピュータを通じて、前記グローバルモーションベクトルが前記カメラの動きを含むと決定することと、
前記平均モーションベクトルが前記しきい値を超えないと決定することに応答して、前記コンピュータを通じて、前記グローバルモーションベクトルが前記カメラの動きを含まないと決定することとを備える請求項８に記載のコンピュータ実施の方法。
【請求項１２】
前記グローバルモーションベクトルがカメラの動きを含むかどうかを決定することは、前記コンピュータを通じて、前記グローバルモーションベクトルが４パラメータ推定モデルによりトレーニングされたサポートベクトルマシン（ＳＶＭ）を使用してカメラの動きを含むかどうかを決定することを備える請求項８に記載のコンピュータ実施の方法。
【請求項１３】
複数のスライディングウィンドウの各々は、前記複数のフレームの指定された数の隣接フレームを備える請求項１に記載のコンピュータ実施の方法。
【請求項１４】
類似する特性を有する前記モーションフローを第１の複数のクラスタにクラスタ化することは、
前記コンピュータを通じて、前記モーションフローが単位長さを有するように、前記モーションフローを正規化することと、
前記モーションフローが単位長さを有するように前記モーションフローを正規化すると、前記コンピュータを通じて、前記モーションフローに離散コサイン変換（ＤＣＴ）を適用することと、
前記モーションフローに離散コサイン変換（ＤＣＴ）を適用すると、前記コンピュータを通じて、前記モーションフローから多次元ベクトルを抽出することであって、各多次元ベクトルが前記モーションフローの対応する１つのパターンおよび位置を表すことと、
前記コンピュータを通じて、前記対応する多次元ベクトルが前記類似するパターンおよび前記類似する位置を有する場合に前記モーションフローをクラスタ化することとを備える請求項１に記載のコンピュータ実施の方法。
【請求項１５】
前記興味深いモーションフローに基づいて前記典型的モーションフローを決定することは、
前記コンピュータを通じて、前記類似する特性を有する前記興味深いモーションフローを第２の複数のクラスタにクラスタ化することと、
前記コンピュータを通じて、第２の有意味のクラスタを前記第２の複数のクラスタから抽出することと、
前記コンピュータを通じて、前記第２の有意味のクラスタ内の前記モーションフローをマージして、少なくとも前記典型的モーションフローを生成することとを備える請求項１に記載のコンピュータ実施の方法。
【請求項１６】
前記類似する特性を有する前記興味深いモーションフローを第２の複数のクラスタにクラスタ化することは、前記コンピュータを通じて、前記対応する多次元ベクトルが前記類似するパターンおよび前記類似する位置を有する場合の前記興味深いモーションフローをクラスタ化することを備える請求項１５に記載のコンピュータ実施の方法。
【請求項１７】
前記第２の有意味のクラスタ内の前記モーションフローをマージして典型的モーションフローを生成することは、前記コンピュータを通じて、前記第２の有意味のクラスタ内の冗長である前記モーションフローを削除して、前記典型的モーションフローを生成することを備える請求項１５に記載のコンピュータ実施の方法。
【請求項１８】
第１の有意味のクラスタを前記第１の複数のクラスタから抽出することは、前記コンピュータを通じて、前記第１の複数のクラスタからノイズを表すクラスタをフィルタリング除去することを備える請求項１に記載のコンピュータ実施の方法。
【請求項１９】
前記第１の複数のクラスタからノイズを表すクラスタをフィルタリング除去することは、前記コンピュータを通じて、前記複数のクラスタからしきい値を下回るサイズを有するクラスタをフィルタリング除去することを備える請求項１８に記載のコンピュータ実施の方法。
【請求項２０】
コンピュータ可読ストレージ媒体であって、コンピュータによって実行されるときに前記コンピュータに、
複数のフレームを備えるビデオファイルを受信することと、
前記複数のフレームからグローバルモーションベクトルを抽出することと、
前記複数のフレーム内のコーナーポイントを検出することと、
前記グローバルモーションベクトルに基づいてローカルモーションベクトルを抽出することと、
前記ビデオファイルを複数のスライディングウィンドウに分割することであって、前記複数のスライディングウィンドウの各々は前記複数のフレームのうちの少なくとも２つを備えることと、
前記複数のスライディングウィンドウの各々に対して、
前記ローカルモーションベクトルおよび前記コーナーポイントに基づいてモーションフローを生成することと、
類似する特性を有する前記モーションフローを第１の複数のクラスタにクラスタ化することと、
第１の有意味のクラスタを前記第１の複数のクラスタから抽出することと、
前記複数のスライディングウィンドウの現在のスライディングウィンドウの前記第１の有意味のクラスタ内の前記モーションフローを、前記複数のスライディングウィンドウの以前のスライディングウィンドウの前記第１の有意味のクラスタ内の前記モーションフローと照合して、興味深いモーションフローを生成することと、
前記類似する特性を有する前記興味深いモーションフローを第２の複数のクラスタにクラスタ化することと、
第２の有意味のクラスタを前記第２の複数のクラスタから抽出することと、
前記第２の有意味のクラスタ内の前記モーションフローをマージして、典型的モーションフローを生成することとを行わせるコンピュータ実行可能命令を格納したコンピュータ可読ストレージ媒体。
【請求項２１】
プロセッサと、
前記プロセッサに接続されたメモリと、
前記メモリから前記プロセッサ内で実行するビデオ検索アプリケーションであって、前記プロセッサによって実行されるとき、コンピュータシステムに、
クエリビデオファイルを受信することと、
前記クエリビデオファイルから典型的モーションフローを抽出することと、
前記典型的モーションフローを複数のセグメントに分割することと、
記号のセットを前記複数のセグメントの各々にマップして前記典型的モーションフローのクエリ記号表現を生成することであって、記号の前記セット内の各記号は前記対応するセグメントの方向を表し、記号の前記セット内の記号の数は前記セグメントの長さを表すことと、
前記クエリ記号表現と類似する候補の記号表現を有する対応する候補のモーションフローを伴う候補のビデオファイルを検索することとを行うことによって、ビデオを検索させるビデオ検索アプリケーションとを備えるコンピュータシステム。
【請求項２２】
前記クエリビデオファイルは複数のフレームを備え、前記クエリビデオファイルから典型的モーションフローを抽出することは、
前記クエリビデオファイルを複数のスライディングウィンドウに分割することであって、前記複数のスライディングウィンドウの各々は前記複数のフレームのうちの少なくとも２つを備えることと、
前記複数のスライディングウィンドウの各々に対して、
モーションフローを生成することと、
類似する特性を有する前記モーションフローを第１の複数のクラスタにクラスタ化することと、
第１の有意味のクラスタを前記第１の複数のクラスタから抽出することと、
前記複数のスライディングウィンドウの現在のスライディングウィンドウの前記第１の有意味のクラスタ内の前記モーションフローを、前記複数のスライディングウィンドウの以前のスライディングウィンドウの前記第１の有意味のクラスタ内の前記モーションフローと照合して、興味深いモーションフローを生成することと、
前記興味深いモーションフローに基づいて少なくとも前記典型的モーションフローを決定することとを備える請求項２１に記載のコンピュータシステム。
【請求項２３】
前記ビデオ検索アプリケーションは、前記プロセッサによって実行されるとき、前記コンピュータシステムに、
前記複数のフレームからグローバルモーションベクトルを抽出することと、
前記複数のフレーム内のコーナーポイントを検出することと、
前記グローバルモーションベクトルに基づいてローカルモーションベクトルを抽出することとを行うことによって、前記ビデオをさらに検索させる請求項２２に記載のコンピュータシステム。
【請求項２４】
モーションフローを生成することは、前記ローカルモーションベクトルおよび前記コーナーポイントに基づいて前記モーションフローを生成することを備える請求項２３に記載のコンピュータシステム。
【請求項２５】
前記興味深いモーションフローに基づいて少なくとも前記典型的モーションフローを決定することは、
前記類似する特性を有する前記興味深いモーションフローを第２の複数のクラスタにクラスタ化することと、
第２の有意味のクラスタを前記第２の複数のクラスタから抽出することと、
前記第２の有意味のクラスタ内の前記モーションフローをマージして、少なくとも前記典型的モーションフローを生成することとを備える請求項２２に記載のコンピュータシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
本明細書において特に指示のない限り、この節において説明される題材は、本願における特許請求の範囲に対する従来技術ではなく、この節に含有することにより従来技術であると是認されるものではない。
【０００２】
一部のコンテンツベースビデオ検索（「ＣＢＶＲ：ｃｏｎｔｅｎｔ−ｂａｓｅｄ  ｖｉｄｅｏ  ｒｅｔｒｉｅｖａｌ」）システムは、ビデオを特徴付けるために、ビデオからコンテンツ特徴を抽出することができる。ユーザが所望の特徴を含むクエリを提示する場合、ＣＢＶＲシステムは、ユーザが提示した所望の特徴と一致するコンテンツ特徴を抽出した関連するビデオを検索することができる。これらの抽出されたコンテンツ特徴は、ビデオ内の１つまたは複数のフレームから抽出される低レベルの静的特徴を含むことができる。低レベルの静的特徴の一部の例は、ビデオ内のオブジェクトの色、テクスチャ、および形状を含むことができる。低レベルの静的特徴に加えて、抽出されたコンテンツ特徴はまた、ビデオ内のオブジェクトの移動を説明するモーション特徴を含むこともできる。しかし、モーション特徴を抽出する従来の手法は、ビデオ検索アプリケーションには効果的または効率的ではない場合もある。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示は概して、ビデオから典型的モーションフローを抽出するためのコンピュータ実施による方法を説明する。一部の例示的な方法によれば、プロセッサおよびメモリを有するコンピューティングデバイスは、以下の操作のうちの１つまたは複数を実行するように構成されてもよい。コンピューティングデバイスは、複数のフレームを含むビデオファイルを受信するように構成される。コンピューティングデバイスは、ビデオファイルを複数のスライディングウィンドウに分割するように構成される。スライディングウィンドウは各々、少なくとも２つのフレームを含むことができる。スライディングウィンドウの各々に対して、コンピューティングデバイスは、モーションフローを生成し、類似する特性を有するモーションフローを第１の複数のクラスタにクラスタ化し、第１の有意味のクラスタを、第１の複数のクラスタから抽出し、複数のスライディングウィンドウの現在のスライディングウィンドウの第１の有意味のクラスタ内のモーションフローを、複数のスライディングウィンドウの以前のスライディングウィンドウの第１の有意味のクラスタ内のモーションフローと照合して、興味深いモーションフローを生成するように構成される。コンピューティングデバイスは、興味深いモーションフローに基づいて典型的モーションフローを決定するように構成される。
【０００４】
本開示は概して、一部のコンピュータストレージ媒体を説明する。一部の例示的なコンピュータストレージ媒体は、コンピュータによって実行されるとき、典型的モーションフローをビデオから抽出するようコンピュータを適合させる方法のために格納されているコンピュータ実行可能命令を含むことができる。一部の例示的な方法によれば、コンピュータは、以下の操作のうちの１つまたは複数を実行するように構成されてもよい。コンピュータは、複数のフレームを含むビデオファイルを受信するように構成される。コンピュータは、複数のフレームからグローバルモーションベクトルを抽出するように構成される。コンピュータは、複数のフレーム内のコーナーポイントを検出するように構成される。コンピュータは、グローバルモーションベクトルに基づいて、ローカルモーションベクトルを抽出するように構成される。コンピュータは、ビデオファイルを複数のスライディングウィンドウに分割するように構成される。スライディングウィンドウは各々、複数のフレームのうちの少なくとも２つを含むことができる。スライディングウィンドウの各々に対して、コンピュータは、ローカルモーションベクトルおよびコーナーポイントに基づいてモーションフローを生成し、類似する特性を有するモーションフローを第１の複数のクラスタにクラスタ化し、第１の有意味のクラスタを、第１の複数のクラスタから抽出し、複数のスライディングウィンドウの現在のスライディングウィンドウの第１の有意味のクラスタ内のモーションフローを、複数のスライディングウィンドウの以前のスライディングウィンドウの第１の有意味のクラスタ内のモーションフローと照合して、興味深いモーションフローを生成するように構成される。コンピュータは、類似する特性を有する興味深いモーションフローを第２の複数のクラスタにクラスタ化するように構成される。コンピュータは、第２の有意味のクラスタを、第２の複数のクラスタから抽出するように構成される。コンピュータは、第２の有意味のクラスタ内のモーションフローをマージして、典型的モーションフローを生成するように構成される。
【０００５】
本開示は概して、ビデオを検索するように構成された一部のコンピュータシステムを説明する。一部の例示的なコンピュータシステムは、プロセッサと、プロセッサに結合されたメモリと、ビデオ検索アプリケーションとを含むように構成されてもよい。ビデオ検索アプリケーションは、メモリからプロセッサ内で実行し、プロセッサによって実行されるとき、コンピュータシステムに以下の操作のうちの１つまたは複数を実行することによりビデオを検索させるように適合されてもよい。コンピュータシステムは、クエリビデオファイルを受信するように構成される。コンピュータシステムは、典型的モーションフローを、クエリビデオファイルから抽出するように構成される。コンピュータシステムは、典型的モーションフローを複数のセグメントに分割するように構成される。コンピュータシステムは、複数のセグメントの各々に記号のセットをマップして、典型的モーションフローのクエリ記号表現を生成するように構成される。記号のセット内の各記号は、対応するセグメントの方向を表すことができる。記号のセット内の記号の数は、セグメントの長さを表すことができる。コンピュータシステムは、クエリ記号表現と類似する候補の記号表現を有する対応する候補のモーションフローを伴う候補のビデオファイルを検索するように構成される。
【０００６】
前述の課題を解決するための手段は、例示的なものに過ぎず、限定的であることは全く意図されていない。上記で説明される例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴は、図面および後段の詳細な説明を参照することにより明らかとなろう。
【０００７】
本開示の前述およびその他の特徴は、付属の図面と併せて以下の説明と添付の特許請求の範囲を読めばさらに十分に明らかとなろう。これらの図面は開示によるいくつかの実施形態を示すに過ぎず、したがってその範囲を限定すると見なされるものではないことを理解し、開示は添付の図面を用いてさらに具体的および詳細に説明される。
【図面の簡単な説明】
【０００８】
【図１】ビデオから典型的モーションフローを抽出して、類似するモーションフローを有するビデオを検索するための例示の動作環境を示す機能ブロック図である。
【図２Ａ】ビデオから典型的モーションフローを抽出するための例示のプロセスを示す流れ図である。
【図２Ｂ】ビデオから典型的モーションフローを抽出するための例示のプロセスを示す流れ図である。
【図３】ビデオを検索するための例示のプロセスを示す流れ図である。
【図４Ａ】例示的なビデオファイルの例示の３フレームシーケンスを示す図である。
【図４Ｂ】例示的なビデオファイルの例示の３フレームシーケンスを示す図である。
【図４Ｃ】例示的なビデオファイルの例示の３フレームシーケンスを示す図である。
【図４Ｄ】図４Ａ〜図４Ｃのシーケンスに基づいて抽出される例示の典型的モーションフローを示す図である。
【図５Ａ】例示的なビデオの例示の３フレームシーケンスを示す図である。
【図５Ｂ】例示的なビデオの例示の３フレームシーケンスを示す図である。
【図５Ｃ】例示的なビデオの例示の３フレームシーケンスを示す図である。
【図５Ｄ】図５Ａ〜図５Ｃのシーケンスに基づいて抽出される例示の典型的モーションフローを示す図である。
【図６】例示的なコンピューティングシステムを示すブロック図である。
【図７Ａ】提示される少なくとも一部の実施形態によりすべて配置された、コンピュータプログラム製品を示す概略図である。
【図７Ｂ】提示される少なくとも一部の実施形態によりすべて配置された、コンピュータプログラム製品を示す概略図である。
【図７Ｃ】提示される少なくとも一部の実施形態によりすべて配置された、コンピュータプログラム製品を示す概略図である。
【発明を実施するための形態】
【０００９】
以下の詳細な説明において、本明細書の一部を形成する付属の図面が参照される。図面において、文脈に特に指示がない限り、類似する符号は概して、類似するコンポーネントを識別する。発明を実施するための形態、図面、および特許請求の範囲において説明される例示的な実施形態は、限定的であることを意図されていない。本明細書において提示される主題の精神または範囲を逸脱することなく、その他の実施形態が使用されてもよく、その他の変更が行われてもよい。本明細書において概ね説明され、図面に示される本開示の態様が、多岐にわたるさまざまな構成において配置され、代替され、組み合わされ、分離され、設計されてもよく、それらすべてが本明細書において明示的に検討されることは容易に理解されよう。
【００１０】
本開示は概して、とりわけビデオ分類プロセスおよびビデオ検索プロセスを対象としている。例示的な実施態様において、ビデオ検索アプリケーションは、ビデオから１つまたは複数の典型的モーションフローを抽出するために、ビデオ分類プロセスを実行することができる。それぞれの典型的モーションフローは、ビデオの複数のフレームを通じてオブジェクトの動きを正確に示すことができる。ビデオ検索アプリケーションは、対応する典型的モーションフローに従ってビデオストア内の候補のビデオを分類するために、ビデオ分類プロセスを実行することができる。
【００１１】
ビデオ検索アプリケーションは、クエリビデオを含むクエリを受信するように構成されてもよい。ビデオ検索アプリケーションは、クエリビデオから１つまたは複数の典型的モーションフローを抽出するために、ビデオ分類プロセスをさらに実行することができる。次いで、ビデオ検索アプリケーションは、クエリビデオと類似する典型的モーションフローを有するビデオストアから任意の候補のビデオを検索するために、ビデオ検索プロセスを実行することができる。ビデオ検索アプリケーションは、クエリに応答して、類似する候補のビデオを返すことができる。
【００１２】
次に、図１を参照すると、機能ブロック図は、本明細書において提示される少なくとも一部の実施形態による、ビデオから典型的モーションフローを抽出して、類似するモーションフローを有するビデオを検索するための例示的な動作環境１００を示す。動作環境１００は、サーバコンピュータ１０２およびクライアントコンピュータ１０４を含むことができる。サーバコンピュータ１０２およびクライアントコンピュータ１０４は、ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、インターネットなどのような、ネットワーク１０６を介して結合されてもよい。サーバコンピュータ１０２は、Ｗｅｂサーバ１０８、抽出モジュール１１０、検索モジュール１１２、およびビデオストア１１４を含むことができる。クライアントコンピュータ１０４は、Ｗｅｂブラウザ１１６を含むことができる。
【００１３】
Ｗｅｂサーバ１０８は、ビデオ検索Ｗｅｂサイト１１８を提供するように構成されてもよい。ユーザまたは人間以外のプロセスは、クライアントコンピュータ１０４上のＷｅｂブラウザ１１６を使用することにより、ビデオ検索Ｗｅｂサイト１１８にアクセスすることができる。ビデオ検索Ｗｅｂサイト１１８は、クエリサブミッションインターフェイス（図示せず）で構成されてもよく、これによりユーザはクエリビデオファイル１２０を提示することができる。サーバコンピュータ１０２がクエリビデオファイル１２０を受信すると、抽出モジュール１１０は、クエリビデオファイル１２０に基づいて少なくとも１つのクエリの典型的モーションフロー１２２を抽出するように構成されてもよい。クエリの典型的モーションフロー１２２は、クエリビデオファイル１２０内の順次フレームを通じて１つまたは複数のオブジェクトの軌道を示すことができる。
【００１４】
抽出モジュール１１０がクエリの典型的モーションフロー１２２を抽出すると、検索モジュール１１２は、類似する典型的モーションフローを有するその他のビデオファイルを検索するように構成されてもよい。ビデオストア１１４は、ビデオファイル１２４および対応する候補の典型的モーションフロー１２６を格納するように構成されてもよい。ビデオファイル１２４は各々、候補の典型的モーションフロー１２６のうちの１つまたは複数に対応することができる。抽出モジュール１１０は、ビデオファイル１２４に基づいて候補の典型的モーションフロー１２６を以前抽出している場合もある。
【００１５】
検索モジュール１１２は、クエリの典型的モーションフロー１２２と類似する候補の典型的モーションフロー１２６を有する類似するビデオファイル１２８を検索するように構成されてもよい。次いで、検索モジュール１１２は、ビデオ検索Ｗｅｂサイト１１８を通じて、類似するビデオファイル１２８または類似するビデオファイル１２８へのハイパーリンク（「リンク」）をユーザに返すことができる。ビデオ検索Ｗｅｂサイト１１８は、任意の適切なフォーマットおよび／またはレイアウトで、類似するビデオファイル１２８を表示することができる。たとえば、ビデオ検索Ｗｅｂサイト１１８は、類似するビデオファイル１２８へのリンクの順位付けリスト、および各々の類似するビデオファイル１２８を説明する短いキャプションを含む検索エンジン結果ページ（「ＳＥＲＰ：ｓｅａｒｃｈ  ｅｎｇｉｎｅ  ｒｅｓｕｌｔｓ  ｐａｇｅ」）に、類似するビデオファイル１２８を表示することができる。
【００１６】
次に、図２Ａおよび図２Ｂを参照すると、流れ図は、本明細書において説明される少なくとも一部の実施形態による、ビデオから典型的モーションフローを抽出するための例示的なプロセス２００Ａ〜２００Ｂを示す。一部の実施形態において、抽出モジュール１１０は、プロセス２００Ａ〜２００Ｂを使用して、クエリビデオファイル１２０に基づいてクエリの典型的モーションフロー１２２を抽出することができる。一部のその他の実施形態において、抽出モジュール１１０は、プロセス２００Ａ〜２００Ｂを使用して、ビデオファイル１２４に基づいて候補の典型的モーションフロー１２６を抽出することができる。
【００１７】
プロセス２００Ａ〜２００Ｂは、ブロック２０２〜２２６の１つまたは複数により示されるさまざまな操作、機能、またはアクションを含むことができる。プロセス２００Ａ〜２００Ｂは、ブロック２０２（ビデオファイルを受信する）において開始することができ、ここで抽出モジュール１１０および／または検索モジュール１１２のようなプログラムモジュールは、クエリビデオファイル１２０および／またはビデオファイル１２４のようなビデオファイルを受信するように構成されてもよい。ビデオファイルは、複数のフレームを含むことができる。ビデオレンダリングアプリケーション（図示せず）は、フレームを所与のシーケンスでレンダリングすることによってビデオを表示するように構成されてもよい。ビデオファイルはまた、使用される特定の符号化および／または圧縮方式に応じて、さまざまなタイプのフレームを含むことができる。たとえば、Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（「ＭＰＥＧ」）ビデオファイルは、Ｉフレーム、Ｐフレーム、および／またはＢフレームを含むことができる。ビデオファイルは、ＭＰＥＧ、Ａｕｄｉｏ  Ｖｉｄｅｏ  Ｉｎｔｅｒｌｅａｖｅ（「ＡＶＩ」）、ＱＵＩＣＫＴＩＭＥファイル形式、ＲＥＡＬＭＥＤＩＡファイル形式、またはｖｉｄｅｏを生成するように適合されたその他の適切なビデオコーディング技術を含む、任意の適切なビデオコーディング技術で具現されてもよい。ブロック２０２の後には、ブロック２０４が続いてもよい。
【００１８】
ブロック２０４（グローバルモーションベクトルを抽出する）において、プログラムモジュールは、ビデオファイル内のフレームからグローバルモーションベクトルを抽出するように構成されてもよい。グローバルモーションベクトルは、フレーム内のオブジェクトがあるフレームから別のフレームに移動される方向および距離を指定することができる。ビデオ内のフレームの１つまたは複数は、グローバルモーションベクトルを含むことができる。具体的な例において、ＭＰＥＧビデオファイルは、Ｂフレーム、Ｐフレーム、および／またはＩフレームを含むことができる。Ｉフレームは、画像を完全に指定するように構成されてもよい。Ｉフレームは、色、形状、サイズ、位置、方向、および／または所与のフレーム内のさまざまなオブジェクトに関するその他の適切な情報に関する完全な像情報を含むことができる。ビデオファイルのサイズを縮小するため、Ｐフレームは、以前のフレームからのデータを使用するように構成されてもよく、Ｂフレームは、以前および先方のフレームからのデータを使用するように構成されてもよい。
【００１９】
例の説明を続けると、ＩフレームおよびＰフレームは、ビデオファイル内の２つの連続するフレームであってもよい。Ｉフレームは、背景に配置された自動車を示す画像情報を含むことができる。ビデオファイルにおいて、自動車は、Ｉフレーム内の第１の位置からＰフレーム内の第２の位置へと移動することができるが、背景は不変であり、自動車は同じ形状、大きさ、および色のままである。この場合、Ｐフレームは、第１の位置から第２の位置への自動車の移動を示す１つまたは複数のベクトルを単に含むことができる。自動車の形状、大きさ、および色は同じままであり、背景は不変であるため、ビデオレンダリングアプリケーションは、Ｐフレームをレンダリングする場合に、Ｉフレームからの画像情報の多くを使用することができる。Ｐフレームは、Ｉフレームに含まれる類似の画像情報を繰り返すことはしないので、ビデオファイルのサイズは大幅に縮小されうる。
【００２０】
プログラムモジュールは、ＢフレームおよびＰフレームからそれらのベクトル（本明細書においてグローバルモーションベクトルと称される）を抽出するように構成されてもよい。一部のその他のビデオコーディング技術はまた、複数の画像にわたるオブジェクトの移動を示すベクトルを含むこともできる。たとえば、ビデオコーディング技術がベクトルを本質的に含まない場合であっても、プログラムモジュールは、オプティカルフロー抽出技法、またはビデオファイルからモーションベクトルを抽出するように適合されたその他の適切な技術を通じて、モーションベクトルを取得するように構成されてもよい。ブロック２０４の後には、ブロック２０６が続いてもよい。
【００２１】
ブロック２０６（コーナーポイントを検出する）において、プログラムモジュールは、フレーム内のコーナーポイントを検出するように構成されてもよい。コーナーポイントは、少なくとも２つの非平行のエッジが接する点として定義されてもよい。コーナーポイントは、フレーム内のさまざまなオブジェクトを識別することができる。一部の実施形態において、プログラムモジュールは、コーナーポイントを検出するためにＨａｒｒｉｓコーナー検出技法を使用するように構成されてもよい。一部のその他の実施形態において、プログラムモジュールは、フレーム内のコーナーポイントを検出するように適合されたその他の適切な技法を使用するように構成されてもよい。
【００２２】
Ｈａｒｒｉｓコーナー検出技法は、ローカル関心点（「ＬＩＰ：ｌｏｃａｌ  ｉｎｔｅｒｅｓｔ  ｐｏｉｎｔ」）またはキーポイント検出技法の一例を表すことができる。Ｈａｒｒｉｓコーナー検出技法に加えて、ＬＩＰまたはキーポイントを検出して追跡するためのその他の技法は、スケール不変特徴変換（「ＳＩＦＴ：ｓｃａｌｅ−ｉｎｖａｒｉａｎｔｅ  ｆｅａｔｕｒｅ  ｔｒａｎｓｆｏｒｍ」）技法を含む。ＳＩＦＴ技法は、スケール空間に不変の特徴を含むキーポイントを検出するように適合されてもよい。ＳＩＦＴ技法は、不変の特徴（「ＳＩＦＴ特徴」とも称される）を使用してキーポイントを説明するようにさらに適合されてもよい。ＳＩＦＴ技法は、画像処理操作において実施されてもよい。しかし、ＳＩＦＴ技法は、Ｈａｒｒｉｓコーナーポイント技法に比べて、さらに複雑で時間を要する場合もある。ブロック２０６の後には、ブロック２０８が続いてもよい。
【００２３】
ブロック２０８（ローカルモーションベクトルを抽出する）において、プログラムモジュールは、グローバルモーションベクトルに基づいてローカルモーションベクトルを抽出するように構成されてもよい。ユーザがビデオカメラを通じて移動オブジェクトを記録すると、ユーザはそれに応じて、移動オブジェクトが記録対象フレームの中央または中央付近に常時位置するように、ビデオカメラの位置を調整することができる。たとえば、ユーザは、ビデオカメラを使用してトラックで短距離走をする選手を記録することができる。ユーザは、選手がトラックに沿って走る際に選手を追うため、ビデオカメラの位置を調整することができる。この場合、ビデオカメラが選手を追っているので、対応するグローバルモーションベクトルは、対象となるオブジェクト（たとえば、選手）ではなく、背景オブジェクト（たとえば、トラック）の移動を示す場合がある。しかし、ユーザがビデオカメラを、三脚、または固定位置にビデオカメラを保持する何らかの他のデバイスに載せる場合、背景オブジェクトは、対象となるオブジェクトがフレームを横断する間、不変のままであってもよい。ビデオカメラが移動しない場合は、グローバルモーションベクトルは、対象となるオブジェクトの移動を適正に示すことができる。
【００２４】
一部の実施形態において、プログラムモジュールは、４パラメータ推定モデルによりトレーニングされたサポートベクトルマシン（「ＳＶＭ：ｓｕｐｐｏｒｔ  ｖｅｃｔｏｒ  ｍａｃｈｉｎｅ」）を使用することによって、カメラの動きを検出するように構成されてもよい。一部のその他の実施形態において、プログラムモジュールは、グローバルモーションベクトルにおけるカメラの動きの存在を検出するように適合された、後段において説明される第１、第２、および第３の追加の技法を含む、その他の適切な技法を使用して、カメラの動きを検出するように構成されてもよい。プログラムモジュールがカメラの動きを検出する場合、プログラムモジュールは、ローカルモーションベクトルを生成するために、グローバルモーションベクトルにおけるカメラの動きを補償するように構成されてもよい。プログラムモジュールがカメラの動きを検出しない場合、プログラムモジュールは、グローバルモーションベクトルをローカルモーションベクトルとして使用することができる。
【００２５】
第１の追加の技法において、プログラムモジュールは、各フレーム内のコーナーポイントの数に基づいて、カメラの動きを検出するように構成されてもよい。プログラムモジュールは、フレームの１つまたは複数において各フレーム内のコーナーポイントの数が著しく減少している（たとえば、しきい値よりも大きい量が減少する）かどうかを決定するように構成されてもよい。プログラムモジュールが、フレームの１つまたは複数において各フレーム内のコーナーポイントの数が著しく減少していると決定する場合、プログラムモジュールは、グローバルモーションベクトルがカメラの動きを含むと決定するように構成されてもよい。プログラムモジュールが、フレームの１つまたは複数において各フレーム内のコーナーポイントの数が著しく減少していないと決定する場合、プログラムモジュールは、グローバルモーションベクトルがカメラの動きを含まないと決定するように構成されてもよい。たとえば、カメラの動きは、ビデオカメラが焦点を合わせる前にフレームの１つまたは複数において歪み（たとえば、ぶれ）を生じることがあるので、コーナーポイントの数は、カメラが動いている間にフレーム間で減少することがある。プログラムモジュールがこのような歪みのあるフレームで検出するコーナーポイントは、より焦点の合ったフレーム（たとえば、歪みのないフレーム）と比較して少ない場合もある。
【００２６】
第２の追加の技法において、プログラムモジュールは、グローバルモーションベクトルに対応するコーナーポイントの数に基づいて、カメラの動きを検出するように構成されてもよい。プログラムモジュールは、グローバルモーションベクトルに対応するコーナーポイントの数がしきい値を超えるかどうかを決定するように構成されてもよい。プログラムモジュールが、グローバルモーションベクトルに対応するコーナーポイントの数がしきい値を超えると決定する場合、プログラムモジュールは、グローバルモーションベクトルがカメラの動きを含むと決定するように構成されてもよい。プログラムモジュールが、グローバルモーションベクトルに対応するコーナーポイントの数がしきい値を超えないと決定する場合、プログラムモジュールは、グローバルモーションベクトルがカメラの動きを含まないと決定するように構成されてもよい。たとえば、グローバルモーションベクトルに対応するコーナーポイントの数が多いことは、対象となるオブジェクトではなく背景オブジェクトが移動していることを示すことができる。カメラの動きが存在しない場合、対象となるオブジェクトが動いている間に背景オブジェクトは不変である場合もあるので、グローバルモーションベクトルに対応するコーナーポイントの数を減らすことができる。
【００２７】
第３の追加の技法において、プログラムモジュールは、グローバルモーションベクトルに基づく平均モーションベクトルに基づいてカメラの動きを検出するように構成されてもよい。プログラムモジュールは、グローバルモーションベクトルの合計に基づいて平均モーションベクトルを計算するように構成されてもよい。プログラムモジュールは、平均モーションベクトルがしきい値を超えるかどうかを決定するように構成されてもよい。平均モーションベクトルがしきい値を超えるとプログラムモジュールが決定する場合、プログラムモジュールは、グローバルモーションベクトルがカメラの動きを含むと決定するように構成されてもよい。平均モーションベクトルがしきい値を超えないとプログラムモジュールが決定する場合、プログラムモジュールは、グローバルモーションベクトルがカメラの動きを含まないと決定するように構成されてもよい。たとえば、カメラの動きは、カメラのジッタを表す複数の方向を有するグローバルモーションベクトルを作り出すことがある。このカメラのジッタはさらに、カメラの動きがない場合に比べて、平均モーションベクトルを大きくさせる原因となりうる。第１、第２、第３の追加の技法は、個別に、相互の技法と併せて、またはカメラの動きを検出するように適合されたその他の適切な技法と併せて使用されてもよい。
【００２８】
第１、第２、および第３の追加の技法における前述の３つのしきい値は、ＳＶＭを使用して決定されてもよい。例示的な実施形態において、カメラの動きの存在または不在が既知であるトレーニングセットが使用されてもよい。３つのしきい値は、トレーニングセット内でフレームごとに決定され、各フレームのブロックの数を除算することにより０−１のスケールで正規化されてもよい。各フレームに対して、３つの値が、３次元ベクトルとして表されてもよい。３次元ベクトルが複数のフレームに対して決定された後、３次元ベクトル、およびカメラの動きが存在するかどうかについての認識された結果は、ＳＶＭをトレーニングするために使用されてもよい。ＳＶＭがトレーニングされた場合、ＳＶＭは、３つのしきい値のうちの１つまたは複数で提示されるときにカメラの動きを予測するように適合されてもよい。しきい値は、ＳＶＭのさまざまな「カーネル」に基づく高次元ベクトルの形態であってもよい。カメラの動きを決定するために使用されるこのベクトルは、カーネル空間のハイパープレーンを表すことができ、さまざまなトレーニングセットに基づく任意の値であってもよい。ブロック２０８の後には、ブロック２１０が続いてもよい。
【００２９】
ブロック２１０（ビデオファイルをスライディングウィンドウに分割する）において、プログラムモジュールは、ビデオファイルを複数のスライディングウィンドウに分割するように構成されてもよい。各スライディングウィンドウは、２つ以上のフレームを含むことができる。一部の実施形態において、スライディングウィンドウは各々、同数のフレームを含む固定のサイズを有する。一部の実施形態において、スライディングウィンドウは、１つまたは複数のスライディングウィンドウが異なる数のフレームを含むことができる可変のサイズを有する。プロセス２００Ａのブロック２１０の後には、プロセス２００Ｂのブロック２１２〜２２０が続いてもよい。ブロック２１２〜２２０は、スライディングウィンドウが評価されるまで、連続するスライディングウィンドウについて実行されてもよい。
【００３０】
ブロック２１２（モーションフローを生成する）において、プログラムモジュールは、所与のスライディングウィンドウに対し、ローカルベクトルおよびコーナーポイントに基づいてモーションフローを生成するように構成されてもよい。各フレームは、複数の等しいサイズのブロックに分割されてもよい。たとえば、各フレームは、３×５ブロック、５×７ブロック、７×７ブロック、８×８ブロック、またはその他の適切な構成に分割されてもよい。スライディングウィンドウの隣接するフレーム内の同じブロックが、同じコーナーポイントを有し、各ブロックがモーションベクトルに対応する場合、プログラムモジュールは、モーションフローを生成するために、ブロック内のローカルモーションベクトルを照合して接続するように構成されてもよい。ブロック２１２の後には、ブロック２１４が続いてもよい。
【００３１】
ブロック２１４（モーションフローをクラスタ化する）において、プログラムモジュールは、所与のスライディングウィンドウに対し、類似する特性を有するモーションフローを第１の複数のクラスタにクラスタ化するように構成されてもよい。プログラムモジュールは、モーションフローを標準の単位長さに正規化するように構成されてもよい。プログラムモジュールがモーションフローを単位長さに正規化すると、プログラムモジュールは、離散コサイン変換（「ＤＣＴ：ｄｉｓｃｒｅｔｅ  ｃｏｓｉｎｅ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ」）をモーションフローに適用するように構成されてもよい。プログラムモジュールがＤＣＴを適用すると、プログラムモジュールは、モーションフローから多次元ベクトルを抽出するように構成されてもよい。各多次元ベクトルは、対応するモーションフローのパターンおよび位置を表すことができる。プログラムモジュールは、類似するパターンおよび／または位置を持つ多次元ベクトルを有するモーションフローを第１の複数のクラスタにクラスタ化するように構成されてもよい。ブロック２１４の後には、ブロック２１６が続いてもよい。
【００３２】
ブロック２１６（有意味クラスタを抽出する）において、プログラムモジュールは、所与のスライディングウィンドウに対して、第１の有意味クラスタを第１の複数のクラスタから抽出するように構成されてもよい。プログラムモジュールは、第１の有意味クラスタを識別するために、第１の複数のクラスタからノイズを表すクラスタを除去するように構成されてもよい。ノイズを表すクラスタは、より少ない数のモーションフローを有することがある。その結果、プログラムモジュールは、第１の有意味クラスタを識別するために、所与のしきい値を下回る数のモーションフローを有するクラスタをフィルタリング除去するように構成されてもよい。ブロック２１６の後には、ブロック２１８が続いてもよい。
【００３３】
ブロック２１８（現在の有意味クラスタを以前の有意味クラスタと照合する）において、プログラムモジュールは、所与のスライディングウィンドウに対して、現在のスライディングウィンドウの有意味クラスタ内のモーションフローを以前のスライディングウィンドウの有意味クラスタ内のモーションフローと照合して接続し、興味深いモーションフローを生成するように構成されてもよい。これらの興味深いモーションフローは、モーションフローをクラスタ化した後、有意味クラスタを抽出した（ノイズをフィルタリング除去した）後、および／またはスライディングウィンドウ間の有意味クラスタを照合した後のモーションフローを表しうるので、本明細書において「興味深い」と称されてもよい。プログラムモジュールは、一致するクラスタ間でモーションフローを付き合わせて接続するように構成されてもよい。クラスタは、対応するモーションフローが、類似するパターンおよび／または位置を持つ多次元ベクトルを有する場合に、一致することができる。興味深いモーションフローは、複数のスライディングウィンドウに対するブロック２１２〜２２０の繰り返しを通じて継続的に増加されてもよい。ブロック２１８の後には、ブロック２２０が続いてもよい。
【００３４】
ブロック２２０（追加のスライディングウィンドウが引き続き評価されるべきであるか決定する）において、プログラムモジュールは、任意の追加のスライディングウィンドウが引き続き評価されるべきであるかどうかを決定するように構成されてもよい。追加のスライディングウィンドウが引き続き評価されるべきであるとプログラムモジュールが決定する場合、追加のスライディングウィンドウを評価するために、ブロック２２０はブロック２１２に戻ることができる。各々のスライディングウィンドウがすでに評価されたとプログラムモジュールが決定する場合、ブロック２２０の後にはブロック２２２が続いてもよい。
【００３５】
ブロック２２２（興味深いモーションフローをクラスタ化する）において、プログラムモジュールは、類似する特性を有する興味深いモーションフローを第２の複数のクラスタにクラスタ化するように構成されてもよい。プログラムモジュールは、類似するパターンおよび／または位置を持つ多次元ベクトルを有する興味深いモーションフローをクラスタ化するように構成されてもよい。ブロック２２２の後には、ブロック２２４が続いてもよい。
【００３６】
ブロック２２４（第２の有意味クラスタを抽出する）において、プログラムモジュールは、第２の有意味クラスタを第２の複数のクラスタから抽出するように構成されてもよい。プログラムモジュールは、第２の有意味クラスタを識別するために、第２の複数のクラスタからノイズを表すクラスタを除去するように構成されてもよい。プログラムモジュールは、第２の有意味クラスタを識別するために、所与のしきい値を下回る数のモーションフローを有するクラスタをフィルタリング除去するように構成されてもよい。ブロック２２４のしきい値は、ブロック２１６のしきい値と同じであっても、異なっていてもよい。ブロック２２４の後には、ブロック２２６が続いてもよい。
【００３７】
ブロック２２６（典型的モーションフローを生成するために興味深いモーションフローをマージする）において、プログラムモジュールは、第２の有意味クラスタの興味深いモーションフローをマージして典型的モーションフローを生成するように構成されてもよい。プログラムモジュールは、冗長な興味深いモーションフローを削除することにより興味深いモーションフローをマージして典型的モーションフローを生成するように構成されてもよい。たとえば、短距離走をする選手の記録を含むビデオファイルにおいて、プログラムモジュールは、選手の移動に対応する複数の興味深いモーションフローを抽出することができる。第１の例示の興味深いモーションフローは、短距離走中の選手の頭部の移動を示すことができる。第２の例示の興味深いモーションフローは、短距離走中の選手の胸部の移動を示すことができる。第３の例示の興味深いモーションフローは、短距離走中の選手の足の移動を示すことができる。これらの３つの興味深いモーションフローは同じ選手に対応する同じ移動を示すので、プログラムモジュールは、３つの冗長な興味深いモーションフローのうちの２つを削除するように構成されてもよい。この場合、残りの興味深いモーションフローは、短距離走中の選手の移動を示す典型的モーションフローになってもよい。ブロック２２６の後、プロセス２００Ａ〜２００Ｂは、（たとえば、定期的に、継続的に、または随時要求に応じて）繰り返すか、または終了することができる。
【００３８】
次に、図３を参照すると、流れ図は、本明細書において説明される少なくとも一部の実施形態による、ビデオを検索するための例示的なプロセス３００を示す。プロセス３００は、ブロック３０２〜３１２の１つまたは複数により示されるさまざまな操作、機能、またはアクションを含むことができる。プロセス３００は、ブロック３０２（クエリビデオファイルを受信する）において開始することができ、ここで抽出モジュール１１０および／または検索モジュール１１２のようなプログラムモジュールは、ユーザから、クエリビデオファイル１２０のようなビデオファイルを受信するように構成されてもよい。たとえば、ユーザは、ビデオ検索Ｗｅｂサイト１１８を介して、クエリビデオファイル１２０をアップロードすることができる。ブロック３０２の後には、ブロック３０４が続いてもよい。
【００３９】
ブロック３０４（クエリ典型的モーションフローを抽出する）において、プログラムモジュールは、クエリビデオファイル１２０から、クエリ典型的モーションフロー１２２のような典型的モーションフローを抽出するように構成されてもよい。プログラムモジュールは、上記で説明されているプロセス２００Ａ〜２００Ｂを実行することにより、クエリ典型的モーションフロー１２２を抽出するように構成されてもよい。典型的モーションフローは、軌道Ｓとして表されてもよい。軌道Ｓは、２次元時系列であってもよい、ただしＳ＝［（ｔ１、ｓ１）、（ｔ２、ｓ２）、．．．（ｔｎ、ｓｎ）］である。各ペア（ｔ、ｓ）は、軌道Ｓの要素を表すことができる、ただしｔは時間を表し、ｓは移動の距離および方向を示すベクトルを表すことができる。ブロック３０４の後には、ブロック３０６が続いてもよい。
【００４０】
ブロック３０６（クエリ典型的モーションフローをセグメントに分割する）において、プログラムモジュールは、クエリ典型的モーション１２２を複数のセグメントに分割するように構成されてもよい。プログラムモジュールは、ボトムアップ式セグメント化技法を使用して、クエリ典型的モーションフロー１２２を複数のセグメントに分割するように構成されてもよい。各セグメントは、軌道Ｓの要素のうちの少なくとも１つに対応することができる。ブロック３０６の後には、ブロック３０８が続いてもよい。
【００４１】
ブロック３０８（記号のセットを各セグメントにマップしてクエリ記号表現を生成する）において、プログラムモジュールは、１つまたは複数の記号のセットを各セグメントにマップして、クエリ典型的モーションフロー１２２のクエリ記号表現を生成するように構成されてもよい。上記で説明されているように、各セグメントは要素（ｔ、ｓ）に対応することができる、ただしｓは移動の距離および方向を示すベクトルである。複数のセグメント内の各ベクトルは、記号のセットにマップすることができる。セット内の記号の内容は、移動の方向を示すことができる。セット内の記号の数は、移動の長さを示すことができる。一部のその他の手法もまた、記号の内容を使用して移動の長さを示すことができる。しかし、記号の内容ではなく、セット内の記号の数を通じて移動の長さを示すことにより、ベクトルの各々可能な順列にマップするために使用される記号の合計数（たとえば、記号のアルファベット）が大幅に減少する可能性もある。ブロック３０８の後には、ブロック３１０が続いてもよい。
【００４２】
ブロック３１０（クエリ記号表現と類似する候補の記号表現を有するビデオファイルを検索する）において、プログラムモジュールは、クエリ記号表現と類似する対応する記号表現を有する、類似するビデオファイル１２８のようなビデオファイルを検索するように構成されてもよい。プログラムモジュールは、任意の適切な照合のレベル（たとえば、完全一致、相当な一致、部分的一致など）に従って、所与の候補の記号表現が、クエリ記号表現と類似するかどうかを決定するように構成されてもよい。類似するビデオファイル１２８は、ビデオファイル１２４のような候補のビデオファイルを含むデータベースから検索されてもよい。ビデオファイル１２４は、候補の典型的モーションフロー１２６のような、典型的モーションフローに対応することができる。候補の典型的モーションフロー１２６は各々、候補の記号表現に対応することができる。ブロック３１０の後には、ブロック３１２が続いてもよい。
【００４３】
ブロック３１２において、プログラムモジュールは、類似するビデオファイル１２８をユーザに返すように構成されてもよい。たとえば、プログラムモジュールは、類似するビデオファイル１２８を、ビデオ検索Ｗｅｂサイト１１８を介してユーザに返すように構成されてもよい。ブロック３１２の後、プロセス３００は、（たとえば、定期的に、継続的に、または随時要求に応じて）繰り返すか、または終了することができる。
【００４４】
次に、図４Ａ〜図４Ｄおよび図５Ａ〜５Ｄを参照すると、例示的なビデオフレームおよびそれらの対応する典型的モーションフローが示される。図４Ａ〜図４Ｃは、本明細書において説明される少なくとも一部の実施形態による例示的なビデオファイルの例示の３フレームシーケンス４００Ａ〜４００Ｃを示す。図４Ｄは、本明細書において説明される少なくとも一部の実施形態によるシーケンス４００Ａ〜４００Ｃに基づいて抽出される例示の典型的モーションフロー４０２を示す。図５Ａ〜図５Ｃは、本明細書において説明される少なくとも一部の実施形態によるもう１つの例示的なビデオファイルの例示の３フレームシーケンス５００Ａ〜５００Ｃを示す。図５Ｄは、本明細書において説明される少なくとも一部の実施形態によるシーケンス５００Ａ〜５００Ｃに基づいて抽出される例示の典型的モーションフロー５０２を示す。
【００４５】
図４Ａ〜図４Ｄにおいて、第１のフレーム４００Ａは、バスケットボールのゴールに向かってバスケットボールをドリブルする選手を示す。第２のフレーム４００Ｂは、ジャンプして、バスケットボールのゴールにバスケットボールをダンクシュートする選手を示す。第３のフレーム４００Ｃは、ダンクシュートを終えた後に着地する選手を示す。典型的モーションフロー４０２は、バスケットボールゴールに向かい、ジャンプして、着地する選手の対応する軌道を示す。
【００４６】
図５Ａ〜図５Ｄにおいて、第１のフレーム５００Ａは、障害物に近づいてゆく馬を示す。第２のフレーム５００Ｂは、障害物を越えるジャンプを開始する馬を示す。第３のフレーム５００Ｃは、障害物を越えるジャンプを終える馬を示す。典型的モーションフロー５０２は、障害物に向かい、障害物を越えるジャンプを開始して、障害物を越えるジャンプを終える馬の移動の対応する軌道を示す。
【００４７】
図６は、本明細書に提示される少なくとも一部の実施形態を実施することができる例示のコンピューティングシステムの例示的なコンピュータハードウェアアーキテクチャを示すコンピュータアーキテクチャ図である。図６は、プロセッサ６１０、メモリ６２０、および１つまたは複数のドライブ６３０を含むコンピュータ６００を含む。コンピュータ６００は、標準的なコンピュータシステム、組み込み型制御コンピュータ、ラップトップ、またはサーバコンピュータ、モバイルデバイス、セットトップボックス、キオスク、車両情報システム、携帯電話、カスタマイズマシン、またはその他のハードウェアプラットフォームとして実施されてもよい。
【００４８】
ドライブ６３０およびその関連するコンピュータストレージ媒体は、コンピュータ６００のコンピュータ可読命令、データ構造体、プログラムモジュール、およびその他のデータのストレージを提供する。ドライブ６３０は、オペレーティングシステム６４０、アプリケーションプログラム６５０、プログラムモジュール６６０、およびデータベース６８０を含むことができる。プログラムモジュール６６０は、抽出モジュール１１０、および／または検索モジュール１１２を含むことができる。抽出モジュール１１０および／または検索モジュール１１２は、図２Ａおよび図２Ｂを参照して上記でより詳細に説明されているように、ビデオから典型的モーションフローを抽出するためのプロセス２００Ａ〜２００Ｂを実行するように適合されてもよい。さらに、抽出モジュール１１０および／または検索モジュール１１２は、図３を参照して上記でより詳細に説明されているように、ビデオを検索するためのプロセス３００を実行するように適合されてもよい。コンピュータ６００は、ユーザがコマンドおよびデータを入力することができるユーザ入力デバイス６９０をさらに含む。入力デバイスは、電子デジタイザ、マイクロフォン、キーボード、および一般にマウス、トラックボールまたはタッチパッドと呼ばれるポインティングデバイスを含むことができる。その他の入力デバイスは、ジョイスティック、ゲームパッド、衛星放送用パラボラアンテナ、スキャナなどを含むことができる。
【００４９】
上記およびその他の入力デバイスは、システムバスに接続されるユーザ入力インターフェイスを通じてプロセッサ６１０に接続されてもよいが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（「ＵＳＢ」）のようなその他のインターフェイスおよびバス構造によって接続されてもよい。コンピュータ６００のようなコンピュータはまた、出力周辺インターフェイス６９４などを通じて接続されうるスピーカのようなその他の周辺出力デバイスを含むこともできる。
【００５０】
コンピュータ６００は、ネットワークインターフェイス６９６に接続されたリモートコンピュータのような、１つまたは複数のコンピュータへの論理接続を使用するネットワーク化された環境において動作することができる。リモートコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、またはその他の共通ネットワークノードであってもよく、上記でコンピュータ６００に関連して説明される要素の多くまたはすべてを含むことができる。ネットワーク環境は、オフィス、企業ワイドエリアネットワーク（「ＷＡＮ」）、ローカルエリアネットワーク（「ＬＡＮ」）、イントラネット、およびインターネットで一般化している。
【００５１】
ＬＡＮまたはＷＬＡＮネットワーク環境に使用される場合、コンピュータ６００は、ネットワークインターフェイス６９６またはアダプタを通じてＬＡＮに接続されてもよい。ＷＡＮネットワーク環境に使用される場合、コンピュータ６００は通常、モデム、もしくはインターネットまたはネットワーク６０８のようなＷＡＮを介して通信を確立するためのその他の手段を含む。ＷＡＮは、インターネット、例示されているネットワーク６０８、さまざまなその他のネットワーク、またはその任意の組み合わせを含むことができる。コンピュータ間の通信リンク、リング、メッシュ、バス、クラウド、またはネットワークを確立するその他の手段が使用されてもよいことが理解されるであろう。
【００５２】
一部の実施形態において、コンピュータ６００は、ネットワーク環境に接続されてもよい。コンピュータ６００は、ドライブ６３０に関連付けられている物理コンピュータ可読ストレージ媒体またはその他のストレージデバイス（複数可）の１つまたは複数の例を含むことができる。システムバスは、プロセッサ６１０が、コンピュータ可読ストレージ媒体との間でコードおよび／またはデータを読み取ることができるようにする。媒体は、半導体、磁性材料、光媒体、電気ストレージ、電気化学的ストレージ、または任意の他のそのようなストレージ技術を非限定的に含む任意の適切な技術を使用して実施されるストレージ要素の形態の装置を表すことができる。媒体は、ＲＡＭ、ＲＯＭ、フラッシュ、もしくは揮発性または不揮発性メモリ技術の他のタイプとして特徴付けられるメモリ６２０に関連付けられているコンポーネントを表すことができる。媒体はまた、ストレージドライブ６３０またはそれ以外として実施される、第２のストレージを表すことができる。ハードドライブの実施態様は、ソリッドステートとして特徴付けられてもよいか、または磁気符号化された情報を格納する回転媒体を含むことができる。
【００５３】
ストレージ媒体は、１つまたは複数のプログラムモジュール６６０を含むことができる。プログラムモジュール６６０は、プロセッサ６１０にロードされ実行されるとき、汎用コンピューティングシステムを特殊用途コンピューティングシステムに変えるソフトウェア命令を含むことができる。この説明全体を通じて詳述されているように、プログラムモジュール６６０は、コンピュータ６００が、本明細書において説明されるコンポーネント、論理フロー、および／またはデータ構造体を使用して全システムまたは稼働環境内に関与することができるさまざまなツールまたは技法を提供することができる。
【００５４】
プロセッサ６１０は、任意の数のトランジスタまたはその他の回路素子で構成されてもよく、これらは個別または集合的に任意の数の状態を呈することができる。さらに具体的には、プロセッサ６１０は、状態機械または有限状態機械として動作することができる。そのような機械は、プログラムモジュール６６０内に含まれる実行可能命令をロードすることにより、第２の機械、または特定の機械に変換されてもよい。これらのコンピュータ実行可能命令は、プロセッサ６１０が状態間をどのように遷移するかを指定し、それによりプロセッサ６１０を構成するトランジスタまたはその他の回路素子を第１の機械から第２の機械に変換することによって、プロセッサ６１０を変換することができる。いずれかの機械の状態はまた、１つまたは複数のユーザ入力デバイス６９０、ネットワークインターフェイス６９６、その他の周辺機器、その他のインターフェイス、もしくは１つまたは複数のユーザまたはその他のアクターからの入力を受信することにより変換されてもよい。いずれかの機械はまた、状態、もしくはプリンタ、スピーカ、ビデオディスプレイなどのようなさまざまな出力デバイスのさまざまな物理的特性を変換することもできる。
【００５５】
プログラムモジュール６６０をエンコードすることはまた、ストレージ媒体の物理的構造を変換することができる。物理的構造の特定の変換は、この説明のさまざまな実施態様において、さまざまな要因に依存する場合がある。そのような要因の例は、ストレージ媒体を実施するために使用される技術、ストレージ媒体が１次または２次ストレージとして特徴付けられるかどうかなどを含むことができるが、これらに限定されることはない。たとえば、ストレージ媒体が半導体ベースのメモリとして実施される場合、プログラムモジュール６６０は、ソフトウェアがエンコードされると半導体メモリ６２０の物理的状態を変換することができる。たとえば、ソフトウェアは、トランジスタ、コンデンサ、または半導体メモリ６２０を構成するその他の個別回路素子の状態を変換することができる。
【００５６】
もう１つの例として、ストレージ媒体は、ドライブ６３０のような磁気または光技術を使用して実施されてもよい。そのような実施態様において、プログラムモジュール６６０は、ソフトウェアがエンコードされるとき、磁気または光媒体の物理的状態を変換することができる。これらの変換は、所与の磁気媒体内の特定の場所の磁気特性を変更することを含むことができる。これらの変換はまた、所与の光媒体内の特定の場所の物理的特徴または特性を変更して、それらの場所の光学特性を変更することを含むことができる。本発明の説明の範囲および精神を逸脱することなく、物理媒体のさまざまな他の変換が可能であることが理解されよう。
【００５７】
次に、図７Ａ〜図７Ｃを参照すると、概略図は、本明細書において提示される少なくとも一部の実施形態による、コンピューティングデバイスでコンピュータプロセスを実行するためのコンピュータプログラムを含むコンピュータプログラム製品７００の部分図を示す。例示のコンピュータプログラム製品７００の例示的な実施形態は、７０４Ａの少なくとも１つの命令および／または７０４Ｂの少なくとも１つの命令を含むことができる信号搬送媒体７０２を使用して提供される。図７Ｂに示される命令７０４Ａは、複数のフレームを備えるビデオファイルを受信するための１つまたは複数の命令と、複数のフレームからグローバルモーションベクトルを抽出するための１つまたは複数の命令と、複数のフレーム内のコーナーポイントを検出するための１つまたは複数の命令と、グローバルモーションベクトルに基づいてローカルモーションベクトルを抽出するための１つまたは複数の命令と、ビデオファイルを複数のスライディングウィンドウに分割するための１つまたは複数の命令であって、複数のスライディングウィンドウの各々は複数のフレームのうちの少なくとも２つを備える命令と、複数のスライディングウィンドウの各々に対して、ローカルモーションベクトルおよびコーナーポイントに基づいてモーションフローを生成するための１つまたは複数の命令と、類似する特性を有するモーションフローを第１の複数のクラスタにクラスタ化するための１つまたは複数の命令と、第１の有意味のクラスタを第１の複数のクラスタから抽出するための１つまたは複数の命令と、または複数のスライディングウィンドウの現在のスライディングウィンドウの第１の有意味のクラスタ内のモーションフローを、複数のスライディングウィンドウの以前のスライディングウィンドウの第１の有意味のクラスタ内のモーションフローと照合して、興味深いモーションフローを生成するための１つまたは複数の命令と、類似する特性を有する興味深いモーションフローを第２の複数のクラスタにクラスタ化するための１つまたは複数の命令と、第２の有意味のクラスタを第２の複数のクラスタから抽出するための１つまたは複数の命令と、または第２の有意味のクラスタ内のモーションフローをマージして、典型的モーションフローを生成するための１つまたは複数の命令とを含むことができる。
【００５８】
図７Ｃに示される命令７０４Ｂは、クエリビデオファイルを受信するための１つまたは複数の命令、クエリビデオファイルから典型的モーションフローを抽出するための１つまたは複数の命令、典型的モーションフローを複数のセグメントに分割するための１つまたは複数の命令、記号のセットを複数のセグメントの各々にマップして典型的モーションフローのクエリ記号表現を生成するための１つまたは複数の命令であって、記号のセット内の各記号は対応するセグメントの方向を表し、記号のセット内の記号の数はセグメントの長さを表す命令、または、クエリ記号表現と類似する候補の記号表現を有する対応する候補のモーションフローを伴う候補のビデオファイルを検索するための１つまたは複数の命令を含むことができる。１つまたは複数の命令は、たとえば、コンピュータ実行可能および／または論理実施の命令であってもよい。一部の実施形態において、１つまたは複数のコンピュータプログラム製品７００の信号搬送媒体７０２は、コンピュータ可読媒体７０６、記録可能媒体７０８、および／または通信媒体７１０を含むことができる。
【００５９】
本明細書において説明される主題は、コンピュータシステム上のオペレーティングシステムおよびアプリケーションプログラムの実行と併せて実行するプログラムモジュールの一般的コンテキストにおいて提示されているが、当業者であれば、その他の実施態様がその他のタイプのプログラムモジュールと組み合わせて実行されうることを理解するであろう。一般に、プログラムモジュールは、ルーチン、プログラム、コンポーネント、データ構造、および特定のタスクを実行するかまたは特定の抽象データタイプを実施するその他のタイプの構造体を含む。さらに、当業者であれば、本明細書において説明される主題が、ハンドヘルドデバイス、マルチコアプロセッサシステム、マイクロプロセッサベースまたはプログラマブル家庭用電化製品、マイクロコンピュータ、メインフレームコンピュータなどを含むその他のコンピュータシステム構成で実施されてもよいことを理解するであろう。
【００６０】
本開示は、本出願において説明される特定の実施形態に関して限定されるべきではなく、実施形態はさまざまな態様を例示することを目的としている。当業者には明らかであるように、その精神および範囲を逸脱することなく多くの変更および変形が行われてもよい。本明細書において列挙される方法および装置に加えて、本開示の範囲内の機能的に等価の方法および装置は、上記の説明から当業者には明らかとなるであろう。そのような変更および変形は、添付の特許請求の範囲内に含まれることが意図される。本開示は、添付の特許請求の範囲の条項、ならびにそのような特許請求の範囲が権利を有する等価物の全範囲によってのみ限定されるものとする。本開示が、当然変化しうるものである特定の方法、試薬、化合物組成、または生態系に限定されないことを理解されたい。また、本明細書において使用される用語が、特定の実施形態を説明することのみを目的としており、限定的であることは意図されていないことも理解されたい。
【００６１】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。さまざまな単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００６２】
通常、本明細書において、特に添付の特許請求の範囲（たとえば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（たとえば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない（たとえば、「ａ」および／または「ａｎ」は、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（たとえば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、少なくとも２つの記載、または２つ以上の記載を意味する）。さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。「Ａ、Ｂ、またはＣのうちの少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ、Ｂ、ｏｒ  Ｃ）など」と類似した表記規約が使用される例において、一般に、そのような構文は当業者が表記規約を理解するような意味において意図されている（たとえば、「Ａ、Ｂ、またはＣのうちの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、および／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、これらに限定されることはない）。実質的に任意の離接語および／または２つ以上の代替用語を表す句は、説明、特許請求の範囲、または図面のいずれにおいてであっても、用語のうちの１つ、用語のいずれか、または両方の用語を含む可能性を考慮するものと理解されるべきであることを、当業者はさらに理解するであろう。たとえば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」または「ＡおよびＢ」の可能性を含むものと理解されよう。
【００６３】
加えて、本開示の特徴または態様がマーカッシュ形式のグループに関して説明される場合、それにより本開示はまた、マーカッシュ形式のグループの構成要素の任意の個々の構成要素または構成要素のサブグループに関しても説明されることを当業者は、理解するであろう。
【００６４】
書面による説明を行うことに関してなど、任意およびすべての目的のため、当業者によって理解されるであろうように、本明細書において開示されるあらゆる範囲はまた、任意およびすべての可能な下位範囲およびその下位範囲の組み合わせを網羅する。任意の一覧される範囲は、同範囲が少なくとも等価の２分の１、３分の１、４分の１、５分の１、１０分の１などに分割されることを十分に説明および可能にするものと容易に理解されてもよい。非限定的な例として、本明細書において説明される各範囲は、下３分の１、中３分の１、および上３分の１などに容易に分解されてもよい。さらに当業者によって理解されるであろうように、「最大（ｕｐ  ｔｏ）」、「少なくとも（ａｔ  ｌｅａｓｔ）」、「よりも大きい（ｇｒｅａｔｅｒ  ｔｈａｎ）」、「よりも小さい（ｌｅｓｓ  ｔｈａｎ）」などのようなすべての表現は、列挙される数を含み、引き続き上記で説明されている下位範囲に分解されてもよい範囲を示す。最後に、当業者には理解されるように、範囲は各々個別の構成要素を含む。したがって、たとえば、１〜３の要素を有するグループは、１、２、または３の要素を有するグループと称される。同様に、１〜５の要素を有するグループは、１、２、３、４、または５の要素を有するグループと称される、というようになる。
【００６５】
本明細書においてさまざまな態様および実施形態が開示されたが、当業者にはその他の態様および実施形態が明らかとなろう。本明細書において開示されるさまざまな態様および実施形態は、説明のためのものであって、限定的であることを意図しておらず、真の範囲および精神は後段の特許請求の範囲により示される。
【図１】
2013540377.tif 000003
【図２Ａ】
2013540377.tif 000004
【図２Ｂ】
2013540377.tif 000005
【図３】
2013540377.tif 000006
【図４Ａ】
2013540377.tif 000007
【図４Ｂ】
2013540377.tif 000008
【図４Ｃ】
2013540377.tif 000009
【図４Ｄ】
2013540377.tif 000010
【図５Ａ】
2013540377.tif 000011
【図５Ｂ】
2013540377.tif 000012
【図５Ｃ】
2013540377.tif 000013
【図５Ｄ】
2013540377.tif 000014
【図６】
2013540377.tif 000015
【図７Ａ】
2013540377.tif 000016
【図７Ｂ】
2013540377.tif 000017
【図７Ｃ】
2013540377.tif 000018
【国際調査報告】
2013540377.tif 000019
2013540377.tif 000020