JP2013540377A - 効果的なビデオの分類および検索のための典型的モーションフローの抽出 - Google Patents

効果的なビデオの分類および検索のための典型的モーションフローの抽出 Download PDF

Info

Publication number
JP2013540377A
JP2013540377A JP2013522066A JP2013522066A JP2013540377A JP 2013540377 A JP2013540377 A JP 2013540377A JP 2013522066 A JP2013522066 A JP 2013522066A JP 2013522066 A JP2013522066 A JP 2013522066A JP 2013540377 A JP2013540377 A JP 2013540377A
Authority
JP
Japan
Prior art keywords
computer
motion
frames
motion vector
flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013522066A
Other languages
English (en)
Other versions
JP5746766B2 (ja
Inventor
ビン キュイ
ツェ ツァオ
Original Assignee
ペキン ユニバーシティ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ペキン ユニバーシティ filed Critical ペキン ユニバーシティ
Publication of JP2013540377A publication Critical patent/JP2013540377A/ja
Application granted granted Critical
Publication of JP5746766B2 publication Critical patent/JP5746766B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7847Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using low-level visual features of the video content
    • G06F16/786Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using low-level visual features of the video content using motion, e.g. object motion or camera motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching
    • G06F2218/16Classification; Matching by matching signal segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

ビデオから典型的モーションフローを抽出するための技術が、本明細書において概ね説明される。典型的モーションフローを使用してビデオを検索するための技術もまた、本明細書において概ね説明される。典型的モーションフローは、興味深いモーションフローを生成するためにスライディングウィンドウの手法を使用して抽出されてもよい。典型的モーションフローは、興味深いモーションフローに基づいて生成されてもよい。

Description

本明細書において特に指示のない限り、この節において説明される題材は、本願における特許請求の範囲に対する従来技術ではなく、この節に含有することにより従来技術であると是認されるものではない。
一部のコンテンツベースビデオ検索(「CBVR:content−based video retrieval」)システムは、ビデオを特徴付けるために、ビデオからコンテンツ特徴を抽出することができる。ユーザが所望の特徴を含むクエリを提示する場合、CBVRシステムは、ユーザが提示した所望の特徴と一致するコンテンツ特徴を抽出した関連するビデオを検索することができる。これらの抽出されたコンテンツ特徴は、ビデオ内の1つまたは複数のフレームから抽出される低レベルの静的特徴を含むことができる。低レベルの静的特徴の一部の例は、ビデオ内のオブジェクトの色、テクスチャ、および形状を含むことができる。低レベルの静的特徴に加えて、抽出されたコンテンツ特徴はまた、ビデオ内のオブジェクトの移動を説明するモーション特徴を含むこともできる。しかし、モーション特徴を抽出する従来の手法は、ビデオ検索アプリケーションには効果的または効率的ではない場合もある。
本開示は概して、ビデオから典型的モーションフローを抽出するためのコンピュータ実施による方法を説明する。一部の例示的な方法によれば、プロセッサおよびメモリを有するコンピューティングデバイスは、以下の操作のうちの1つまたは複数を実行するように構成されてもよい。コンピューティングデバイスは、複数のフレームを含むビデオファイルを受信するように構成される。コンピューティングデバイスは、ビデオファイルを複数のスライディングウィンドウに分割するように構成される。スライディングウィンドウは各々、少なくとも2つのフレームを含むことができる。スライディングウィンドウの各々に対して、コンピューティングデバイスは、モーションフローを生成し、類似する特性を有するモーションフローを第1の複数のクラスタにクラスタ化し、第1の有意味のクラスタを、第1の複数のクラスタから抽出し、複数のスライディングウィンドウの現在のスライディングウィンドウの第1の有意味のクラスタ内のモーションフローを、複数のスライディングウィンドウの以前のスライディングウィンドウの第1の有意味のクラスタ内のモーションフローと照合して、興味深いモーションフローを生成するように構成される。コンピューティングデバイスは、興味深いモーションフローに基づいて典型的モーションフローを決定するように構成される。
本開示は概して、一部のコンピュータストレージ媒体を説明する。一部の例示的なコンピュータストレージ媒体は、コンピュータによって実行されるとき、典型的モーションフローをビデオから抽出するようコンピュータを適合させる方法のために格納されているコンピュータ実行可能命令を含むことができる。一部の例示的な方法によれば、コンピュータは、以下の操作のうちの1つまたは複数を実行するように構成されてもよい。コンピュータは、複数のフレームを含むビデオファイルを受信するように構成される。コンピュータは、複数のフレームからグローバルモーションベクトルを抽出するように構成される。コンピュータは、複数のフレーム内のコーナーポイントを検出するように構成される。コンピュータは、グローバルモーションベクトルに基づいて、ローカルモーションベクトルを抽出するように構成される。コンピュータは、ビデオファイルを複数のスライディングウィンドウに分割するように構成される。スライディングウィンドウは各々、複数のフレームのうちの少なくとも2つを含むことができる。スライディングウィンドウの各々に対して、コンピュータは、ローカルモーションベクトルおよびコーナーポイントに基づいてモーションフローを生成し、類似する特性を有するモーションフローを第1の複数のクラスタにクラスタ化し、第1の有意味のクラスタを、第1の複数のクラスタから抽出し、複数のスライディングウィンドウの現在のスライディングウィンドウの第1の有意味のクラスタ内のモーションフローを、複数のスライディングウィンドウの以前のスライディングウィンドウの第1の有意味のクラスタ内のモーションフローと照合して、興味深いモーションフローを生成するように構成される。コンピュータは、類似する特性を有する興味深いモーションフローを第2の複数のクラスタにクラスタ化するように構成される。コンピュータは、第2の有意味のクラスタを、第2の複数のクラスタから抽出するように構成される。コンピュータは、第2の有意味のクラスタ内のモーションフローをマージして、典型的モーションフローを生成するように構成される。
本開示は概して、ビデオを検索するように構成された一部のコンピュータシステムを説明する。一部の例示的なコンピュータシステムは、プロセッサと、プロセッサに結合されたメモリと、ビデオ検索アプリケーションとを含むように構成されてもよい。ビデオ検索アプリケーションは、メモリからプロセッサ内で実行し、プロセッサによって実行されるとき、コンピュータシステムに以下の操作のうちの1つまたは複数を実行することによりビデオを検索させるように適合されてもよい。コンピュータシステムは、クエリビデオファイルを受信するように構成される。コンピュータシステムは、典型的モーションフローを、クエリビデオファイルから抽出するように構成される。コンピュータシステムは、典型的モーションフローを複数のセグメントに分割するように構成される。コンピュータシステムは、複数のセグメントの各々に記号のセットをマップして、典型的モーションフローのクエリ記号表現を生成するように構成される。記号のセット内の各記号は、対応するセグメントの方向を表すことができる。記号のセット内の記号の数は、セグメントの長さを表すことができる。コンピュータシステムは、クエリ記号表現と類似する候補の記号表現を有する対応する候補のモーションフローを伴う候補のビデオファイルを検索するように構成される。
前述の課題を解決するための手段は、例示的なものに過ぎず、限定的であることは全く意図されていない。上記で説明される例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴は、図面および後段の詳細な説明を参照することにより明らかとなろう。
本開示の前述およびその他の特徴は、付属の図面と併せて以下の説明と添付の特許請求の範囲を読めばさらに十分に明らかとなろう。これらの図面は開示によるいくつかの実施形態を示すに過ぎず、したがってその範囲を限定すると見なされるものではないことを理解し、開示は添付の図面を用いてさらに具体的および詳細に説明される。
ビデオから典型的モーションフローを抽出して、類似するモーションフローを有するビデオを検索するための例示の動作環境を示す機能ブロック図である。 ビデオから典型的モーションフローを抽出するための例示のプロセスを示す流れ図である。 ビデオから典型的モーションフローを抽出するための例示のプロセスを示す流れ図である。 ビデオを検索するための例示のプロセスを示す流れ図である。 例示的なビデオファイルの例示の3フレームシーケンスを示す図である。 例示的なビデオファイルの例示の3フレームシーケンスを示す図である。 例示的なビデオファイルの例示の3フレームシーケンスを示す図である。 図4A〜図4Cのシーケンスに基づいて抽出される例示の典型的モーションフローを示す図である。 例示的なビデオの例示の3フレームシーケンスを示す図である。 例示的なビデオの例示の3フレームシーケンスを示す図である。 例示的なビデオの例示の3フレームシーケンスを示す図である。 図5A〜図5Cのシーケンスに基づいて抽出される例示の典型的モーションフローを示す図である。 例示的なコンピューティングシステムを示すブロック図である。 提示される少なくとも一部の実施形態によりすべて配置された、コンピュータプログラム製品を示す概略図である。 提示される少なくとも一部の実施形態によりすべて配置された、コンピュータプログラム製品を示す概略図である。 提示される少なくとも一部の実施形態によりすべて配置された、コンピュータプログラム製品を示す概略図である。
以下の詳細な説明において、本明細書の一部を形成する付属の図面が参照される。図面において、文脈に特に指示がない限り、類似する符号は概して、類似するコンポーネントを識別する。発明を実施するための形態、図面、および特許請求の範囲において説明される例示的な実施形態は、限定的であることを意図されていない。本明細書において提示される主題の精神または範囲を逸脱することなく、その他の実施形態が使用されてもよく、その他の変更が行われてもよい。本明細書において概ね説明され、図面に示される本開示の態様が、多岐にわたるさまざまな構成において配置され、代替され、組み合わされ、分離され、設計されてもよく、それらすべてが本明細書において明示的に検討されることは容易に理解されよう。
本開示は概して、とりわけビデオ分類プロセスおよびビデオ検索プロセスを対象としている。例示的な実施態様において、ビデオ検索アプリケーションは、ビデオから1つまたは複数の典型的モーションフローを抽出するために、ビデオ分類プロセスを実行することができる。それぞれの典型的モーションフローは、ビデオの複数のフレームを通じてオブジェクトの動きを正確に示すことができる。ビデオ検索アプリケーションは、対応する典型的モーションフローに従ってビデオストア内の候補のビデオを分類するために、ビデオ分類プロセスを実行することができる。
ビデオ検索アプリケーションは、クエリビデオを含むクエリを受信するように構成されてもよい。ビデオ検索アプリケーションは、クエリビデオから1つまたは複数の典型的モーションフローを抽出するために、ビデオ分類プロセスをさらに実行することができる。次いで、ビデオ検索アプリケーションは、クエリビデオと類似する典型的モーションフローを有するビデオストアから任意の候補のビデオを検索するために、ビデオ検索プロセスを実行することができる。ビデオ検索アプリケーションは、クエリに応答して、類似する候補のビデオを返すことができる。
次に、図1を参照すると、機能ブロック図は、本明細書において提示される少なくとも一部の実施形態による、ビデオから典型的モーションフローを抽出して、類似するモーションフローを有するビデオを検索するための例示的な動作環境100を示す。動作環境100は、サーバコンピュータ102およびクライアントコンピュータ104を含むことができる。サーバコンピュータ102およびクライアントコンピュータ104は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、インターネットなどのような、ネットワーク106を介して結合されてもよい。サーバコンピュータ102は、Webサーバ108、抽出モジュール110、検索モジュール112、およびビデオストア114を含むことができる。クライアントコンピュータ104は、Webブラウザ116を含むことができる。
Webサーバ108は、ビデオ検索Webサイト118を提供するように構成されてもよい。ユーザまたは人間以外のプロセスは、クライアントコンピュータ104上のWebブラウザ116を使用することにより、ビデオ検索Webサイト118にアクセスすることができる。ビデオ検索Webサイト118は、クエリサブミッションインターフェイス(図示せず)で構成されてもよく、これによりユーザはクエリビデオファイル120を提示することができる。サーバコンピュータ102がクエリビデオファイル120を受信すると、抽出モジュール110は、クエリビデオファイル120に基づいて少なくとも1つのクエリの典型的モーションフロー122を抽出するように構成されてもよい。クエリの典型的モーションフロー122は、クエリビデオファイル120内の順次フレームを通じて1つまたは複数のオブジェクトの軌道を示すことができる。
抽出モジュール110がクエリの典型的モーションフロー122を抽出すると、検索モジュール112は、類似する典型的モーションフローを有するその他のビデオファイルを検索するように構成されてもよい。ビデオストア114は、ビデオファイル124および対応する候補の典型的モーションフロー126を格納するように構成されてもよい。ビデオファイル124は各々、候補の典型的モーションフロー126のうちの1つまたは複数に対応することができる。抽出モジュール110は、ビデオファイル124に基づいて候補の典型的モーションフロー126を以前抽出している場合もある。
検索モジュール112は、クエリの典型的モーションフロー122と類似する候補の典型的モーションフロー126を有する類似するビデオファイル128を検索するように構成されてもよい。次いで、検索モジュール112は、ビデオ検索Webサイト118を通じて、類似するビデオファイル128または類似するビデオファイル128へのハイパーリンク(「リンク」)をユーザに返すことができる。ビデオ検索Webサイト118は、任意の適切なフォーマットおよび/またはレイアウトで、類似するビデオファイル128を表示することができる。たとえば、ビデオ検索Webサイト118は、類似するビデオファイル128へのリンクの順位付けリスト、および各々の類似するビデオファイル128を説明する短いキャプションを含む検索エンジン結果ページ(「SERP:search engine results page」)に、類似するビデオファイル128を表示することができる。
次に、図2Aおよび図2Bを参照すると、流れ図は、本明細書において説明される少なくとも一部の実施形態による、ビデオから典型的モーションフローを抽出するための例示的なプロセス200A〜200Bを示す。一部の実施形態において、抽出モジュール110は、プロセス200A〜200Bを使用して、クエリビデオファイル120に基づいてクエリの典型的モーションフロー122を抽出することができる。一部のその他の実施形態において、抽出モジュール110は、プロセス200A〜200Bを使用して、ビデオファイル124に基づいて候補の典型的モーションフロー126を抽出することができる。
プロセス200A〜200Bは、ブロック202〜226の1つまたは複数により示されるさまざまな操作、機能、またはアクションを含むことができる。プロセス200A〜200Bは、ブロック202(ビデオファイルを受信する)において開始することができ、ここで抽出モジュール110および/または検索モジュール112のようなプログラムモジュールは、クエリビデオファイル120および/またはビデオファイル124のようなビデオファイルを受信するように構成されてもよい。ビデオファイルは、複数のフレームを含むことができる。ビデオレンダリングアプリケーション(図示せず)は、フレームを所与のシーケンスでレンダリングすることによってビデオを表示するように構成されてもよい。ビデオファイルはまた、使用される特定の符号化および/または圧縮方式に応じて、さまざまなタイプのフレームを含むことができる。たとえば、Moving Picture Experts Group(「MPEG」)ビデオファイルは、Iフレーム、Pフレーム、および/またはBフレームを含むことができる。ビデオファイルは、MPEG、Audio Video Interleave(「AVI」)、QUICKTIMEファイル形式、REALMEDIAファイル形式、またはvideoを生成するように適合されたその他の適切なビデオコーディング技術を含む、任意の適切なビデオコーディング技術で具現されてもよい。ブロック202の後には、ブロック204が続いてもよい。
ブロック204(グローバルモーションベクトルを抽出する)において、プログラムモジュールは、ビデオファイル内のフレームからグローバルモーションベクトルを抽出するように構成されてもよい。グローバルモーションベクトルは、フレーム内のオブジェクトがあるフレームから別のフレームに移動される方向および距離を指定することができる。ビデオ内のフレームの1つまたは複数は、グローバルモーションベクトルを含むことができる。具体的な例において、MPEGビデオファイルは、Bフレーム、Pフレーム、および/またはIフレームを含むことができる。Iフレームは、画像を完全に指定するように構成されてもよい。Iフレームは、色、形状、サイズ、位置、方向、および/または所与のフレーム内のさまざまなオブジェクトに関するその他の適切な情報に関する完全な像情報を含むことができる。ビデオファイルのサイズを縮小するため、Pフレームは、以前のフレームからのデータを使用するように構成されてもよく、Bフレームは、以前および先方のフレームからのデータを使用するように構成されてもよい。
例の説明を続けると、IフレームおよびPフレームは、ビデオファイル内の2つの連続するフレームであってもよい。Iフレームは、背景に配置された自動車を示す画像情報を含むことができる。ビデオファイルにおいて、自動車は、Iフレーム内の第1の位置からPフレーム内の第2の位置へと移動することができるが、背景は不変であり、自動車は同じ形状、大きさ、および色のままである。この場合、Pフレームは、第1の位置から第2の位置への自動車の移動を示す1つまたは複数のベクトルを単に含むことができる。自動車の形状、大きさ、および色は同じままであり、背景は不変であるため、ビデオレンダリングアプリケーションは、Pフレームをレンダリングする場合に、Iフレームからの画像情報の多くを使用することができる。Pフレームは、Iフレームに含まれる類似の画像情報を繰り返すことはしないので、ビデオファイルのサイズは大幅に縮小されうる。
プログラムモジュールは、BフレームおよびPフレームからそれらのベクトル(本明細書においてグローバルモーションベクトルと称される)を抽出するように構成されてもよい。一部のその他のビデオコーディング技術はまた、複数の画像にわたるオブジェクトの移動を示すベクトルを含むこともできる。たとえば、ビデオコーディング技術がベクトルを本質的に含まない場合であっても、プログラムモジュールは、オプティカルフロー抽出技法、またはビデオファイルからモーションベクトルを抽出するように適合されたその他の適切な技術を通じて、モーションベクトルを取得するように構成されてもよい。ブロック204の後には、ブロック206が続いてもよい。
ブロック206(コーナーポイントを検出する)において、プログラムモジュールは、フレーム内のコーナーポイントを検出するように構成されてもよい。コーナーポイントは、少なくとも2つの非平行のエッジが接する点として定義されてもよい。コーナーポイントは、フレーム内のさまざまなオブジェクトを識別することができる。一部の実施形態において、プログラムモジュールは、コーナーポイントを検出するためにHarrisコーナー検出技法を使用するように構成されてもよい。一部のその他の実施形態において、プログラムモジュールは、フレーム内のコーナーポイントを検出するように適合されたその他の適切な技法を使用するように構成されてもよい。
Harrisコーナー検出技法は、ローカル関心点(「LIP:local interest point」)またはキーポイント検出技法の一例を表すことができる。Harrisコーナー検出技法に加えて、LIPまたはキーポイントを検出して追跡するためのその他の技法は、スケール不変特徴変換(「SIFT:scale−invariante feature transform」)技法を含む。SIFT技法は、スケール空間に不変の特徴を含むキーポイントを検出するように適合されてもよい。SIFT技法は、不変の特徴(「SIFT特徴」とも称される)を使用してキーポイントを説明するようにさらに適合されてもよい。SIFT技法は、画像処理操作において実施されてもよい。しかし、SIFT技法は、Harrisコーナーポイント技法に比べて、さらに複雑で時間を要する場合もある。ブロック206の後には、ブロック208が続いてもよい。
ブロック208(ローカルモーションベクトルを抽出する)において、プログラムモジュールは、グローバルモーションベクトルに基づいてローカルモーションベクトルを抽出するように構成されてもよい。ユーザがビデオカメラを通じて移動オブジェクトを記録すると、ユーザはそれに応じて、移動オブジェクトが記録対象フレームの中央または中央付近に常時位置するように、ビデオカメラの位置を調整することができる。たとえば、ユーザは、ビデオカメラを使用してトラックで短距離走をする選手を記録することができる。ユーザは、選手がトラックに沿って走る際に選手を追うため、ビデオカメラの位置を調整することができる。この場合、ビデオカメラが選手を追っているので、対応するグローバルモーションベクトルは、対象となるオブジェクト(たとえば、選手)ではなく、背景オブジェクト(たとえば、トラック)の移動を示す場合がある。しかし、ユーザがビデオカメラを、三脚、または固定位置にビデオカメラを保持する何らかの他のデバイスに載せる場合、背景オブジェクトは、対象となるオブジェクトがフレームを横断する間、不変のままであってもよい。ビデオカメラが移動しない場合は、グローバルモーションベクトルは、対象となるオブジェクトの移動を適正に示すことができる。
一部の実施形態において、プログラムモジュールは、4パラメータ推定モデルによりトレーニングされたサポートベクトルマシン(「SVM:support vector machine」)を使用することによって、カメラの動きを検出するように構成されてもよい。一部のその他の実施形態において、プログラムモジュールは、グローバルモーションベクトルにおけるカメラの動きの存在を検出するように適合された、後段において説明される第1、第2、および第3の追加の技法を含む、その他の適切な技法を使用して、カメラの動きを検出するように構成されてもよい。プログラムモジュールがカメラの動きを検出する場合、プログラムモジュールは、ローカルモーションベクトルを生成するために、グローバルモーションベクトルにおけるカメラの動きを補償するように構成されてもよい。プログラムモジュールがカメラの動きを検出しない場合、プログラムモジュールは、グローバルモーションベクトルをローカルモーションベクトルとして使用することができる。
第1の追加の技法において、プログラムモジュールは、各フレーム内のコーナーポイントの数に基づいて、カメラの動きを検出するように構成されてもよい。プログラムモジュールは、フレームの1つまたは複数において各フレーム内のコーナーポイントの数が著しく減少している(たとえば、しきい値よりも大きい量が減少する)かどうかを決定するように構成されてもよい。プログラムモジュールが、フレームの1つまたは複数において各フレーム内のコーナーポイントの数が著しく減少していると決定する場合、プログラムモジュールは、グローバルモーションベクトルがカメラの動きを含むと決定するように構成されてもよい。プログラムモジュールが、フレームの1つまたは複数において各フレーム内のコーナーポイントの数が著しく減少していないと決定する場合、プログラムモジュールは、グローバルモーションベクトルがカメラの動きを含まないと決定するように構成されてもよい。たとえば、カメラの動きは、ビデオカメラが焦点を合わせる前にフレームの1つまたは複数において歪み(たとえば、ぶれ)を生じることがあるので、コーナーポイントの数は、カメラが動いている間にフレーム間で減少することがある。プログラムモジュールがこのような歪みのあるフレームで検出するコーナーポイントは、より焦点の合ったフレーム(たとえば、歪みのないフレーム)と比較して少ない場合もある。
第2の追加の技法において、プログラムモジュールは、グローバルモーションベクトルに対応するコーナーポイントの数に基づいて、カメラの動きを検出するように構成されてもよい。プログラムモジュールは、グローバルモーションベクトルに対応するコーナーポイントの数がしきい値を超えるかどうかを決定するように構成されてもよい。プログラムモジュールが、グローバルモーションベクトルに対応するコーナーポイントの数がしきい値を超えると決定する場合、プログラムモジュールは、グローバルモーションベクトルがカメラの動きを含むと決定するように構成されてもよい。プログラムモジュールが、グローバルモーションベクトルに対応するコーナーポイントの数がしきい値を超えないと決定する場合、プログラムモジュールは、グローバルモーションベクトルがカメラの動きを含まないと決定するように構成されてもよい。たとえば、グローバルモーションベクトルに対応するコーナーポイントの数が多いことは、対象となるオブジェクトではなく背景オブジェクトが移動していることを示すことができる。カメラの動きが存在しない場合、対象となるオブジェクトが動いている間に背景オブジェクトは不変である場合もあるので、グローバルモーションベクトルに対応するコーナーポイントの数を減らすことができる。
第3の追加の技法において、プログラムモジュールは、グローバルモーションベクトルに基づく平均モーションベクトルに基づいてカメラの動きを検出するように構成されてもよい。プログラムモジュールは、グローバルモーションベクトルの合計に基づいて平均モーションベクトルを計算するように構成されてもよい。プログラムモジュールは、平均モーションベクトルがしきい値を超えるかどうかを決定するように構成されてもよい。平均モーションベクトルがしきい値を超えるとプログラムモジュールが決定する場合、プログラムモジュールは、グローバルモーションベクトルがカメラの動きを含むと決定するように構成されてもよい。平均モーションベクトルがしきい値を超えないとプログラムモジュールが決定する場合、プログラムモジュールは、グローバルモーションベクトルがカメラの動きを含まないと決定するように構成されてもよい。たとえば、カメラの動きは、カメラのジッタを表す複数の方向を有するグローバルモーションベクトルを作り出すことがある。このカメラのジッタはさらに、カメラの動きがない場合に比べて、平均モーションベクトルを大きくさせる原因となりうる。第1、第2、第3の追加の技法は、個別に、相互の技法と併せて、またはカメラの動きを検出するように適合されたその他の適切な技法と併せて使用されてもよい。
第1、第2、および第3の追加の技法における前述の3つのしきい値は、SVMを使用して決定されてもよい。例示的な実施形態において、カメラの動きの存在または不在が既知であるトレーニングセットが使用されてもよい。3つのしきい値は、トレーニングセット内でフレームごとに決定され、各フレームのブロックの数を除算することにより0−1のスケールで正規化されてもよい。各フレームに対して、3つの値が、3次元ベクトルとして表されてもよい。3次元ベクトルが複数のフレームに対して決定された後、3次元ベクトル、およびカメラの動きが存在するかどうかについての認識された結果は、SVMをトレーニングするために使用されてもよい。SVMがトレーニングされた場合、SVMは、3つのしきい値のうちの1つまたは複数で提示されるときにカメラの動きを予測するように適合されてもよい。しきい値は、SVMのさまざまな「カーネル」に基づく高次元ベクトルの形態であってもよい。カメラの動きを決定するために使用されるこのベクトルは、カーネル空間のハイパープレーンを表すことができ、さまざまなトレーニングセットに基づく任意の値であってもよい。ブロック208の後には、ブロック210が続いてもよい。
ブロック210(ビデオファイルをスライディングウィンドウに分割する)において、プログラムモジュールは、ビデオファイルを複数のスライディングウィンドウに分割するように構成されてもよい。各スライディングウィンドウは、2つ以上のフレームを含むことができる。一部の実施形態において、スライディングウィンドウは各々、同数のフレームを含む固定のサイズを有する。一部の実施形態において、スライディングウィンドウは、1つまたは複数のスライディングウィンドウが異なる数のフレームを含むことができる可変のサイズを有する。プロセス200Aのブロック210の後には、プロセス200Bのブロック212〜220が続いてもよい。ブロック212〜220は、スライディングウィンドウが評価されるまで、連続するスライディングウィンドウについて実行されてもよい。
ブロック212(モーションフローを生成する)において、プログラムモジュールは、所与のスライディングウィンドウに対し、ローカルベクトルおよびコーナーポイントに基づいてモーションフローを生成するように構成されてもよい。各フレームは、複数の等しいサイズのブロックに分割されてもよい。たとえば、各フレームは、3×5ブロック、5×7ブロック、7×7ブロック、8×8ブロック、またはその他の適切な構成に分割されてもよい。スライディングウィンドウの隣接するフレーム内の同じブロックが、同じコーナーポイントを有し、各ブロックがモーションベクトルに対応する場合、プログラムモジュールは、モーションフローを生成するために、ブロック内のローカルモーションベクトルを照合して接続するように構成されてもよい。ブロック212の後には、ブロック214が続いてもよい。
ブロック214(モーションフローをクラスタ化する)において、プログラムモジュールは、所与のスライディングウィンドウに対し、類似する特性を有するモーションフローを第1の複数のクラスタにクラスタ化するように構成されてもよい。プログラムモジュールは、モーションフローを標準の単位長さに正規化するように構成されてもよい。プログラムモジュールがモーションフローを単位長さに正規化すると、プログラムモジュールは、離散コサイン変換(「DCT:discrete cosine transformation」)をモーションフローに適用するように構成されてもよい。プログラムモジュールがDCTを適用すると、プログラムモジュールは、モーションフローから多次元ベクトルを抽出するように構成されてもよい。各多次元ベクトルは、対応するモーションフローのパターンおよび位置を表すことができる。プログラムモジュールは、類似するパターンおよび/または位置を持つ多次元ベクトルを有するモーションフローを第1の複数のクラスタにクラスタ化するように構成されてもよい。ブロック214の後には、ブロック216が続いてもよい。
ブロック216(有意味クラスタを抽出する)において、プログラムモジュールは、所与のスライディングウィンドウに対して、第1の有意味クラスタを第1の複数のクラスタから抽出するように構成されてもよい。プログラムモジュールは、第1の有意味クラスタを識別するために、第1の複数のクラスタからノイズを表すクラスタを除去するように構成されてもよい。ノイズを表すクラスタは、より少ない数のモーションフローを有することがある。その結果、プログラムモジュールは、第1の有意味クラスタを識別するために、所与のしきい値を下回る数のモーションフローを有するクラスタをフィルタリング除去するように構成されてもよい。ブロック216の後には、ブロック218が続いてもよい。
ブロック218(現在の有意味クラスタを以前の有意味クラスタと照合する)において、プログラムモジュールは、所与のスライディングウィンドウに対して、現在のスライディングウィンドウの有意味クラスタ内のモーションフローを以前のスライディングウィンドウの有意味クラスタ内のモーションフローと照合して接続し、興味深いモーションフローを生成するように構成されてもよい。これらの興味深いモーションフローは、モーションフローをクラスタ化した後、有意味クラスタを抽出した(ノイズをフィルタリング除去した)後、および/またはスライディングウィンドウ間の有意味クラスタを照合した後のモーションフローを表しうるので、本明細書において「興味深い」と称されてもよい。プログラムモジュールは、一致するクラスタ間でモーションフローを付き合わせて接続するように構成されてもよい。クラスタは、対応するモーションフローが、類似するパターンおよび/または位置を持つ多次元ベクトルを有する場合に、一致することができる。興味深いモーションフローは、複数のスライディングウィンドウに対するブロック212〜220の繰り返しを通じて継続的に増加されてもよい。ブロック218の後には、ブロック220が続いてもよい。
ブロック220(追加のスライディングウィンドウが引き続き評価されるべきであるか決定する)において、プログラムモジュールは、任意の追加のスライディングウィンドウが引き続き評価されるべきであるかどうかを決定するように構成されてもよい。追加のスライディングウィンドウが引き続き評価されるべきであるとプログラムモジュールが決定する場合、追加のスライディングウィンドウを評価するために、ブロック220はブロック212に戻ることができる。各々のスライディングウィンドウがすでに評価されたとプログラムモジュールが決定する場合、ブロック220の後にはブロック222が続いてもよい。
ブロック222(興味深いモーションフローをクラスタ化する)において、プログラムモジュールは、類似する特性を有する興味深いモーションフローを第2の複数のクラスタにクラスタ化するように構成されてもよい。プログラムモジュールは、類似するパターンおよび/または位置を持つ多次元ベクトルを有する興味深いモーションフローをクラスタ化するように構成されてもよい。ブロック222の後には、ブロック224が続いてもよい。
ブロック224(第2の有意味クラスタを抽出する)において、プログラムモジュールは、第2の有意味クラスタを第2の複数のクラスタから抽出するように構成されてもよい。プログラムモジュールは、第2の有意味クラスタを識別するために、第2の複数のクラスタからノイズを表すクラスタを除去するように構成されてもよい。プログラムモジュールは、第2の有意味クラスタを識別するために、所与のしきい値を下回る数のモーションフローを有するクラスタをフィルタリング除去するように構成されてもよい。ブロック224のしきい値は、ブロック216のしきい値と同じであっても、異なっていてもよい。ブロック224の後には、ブロック226が続いてもよい。
ブロック226(典型的モーションフローを生成するために興味深いモーションフローをマージする)において、プログラムモジュールは、第2の有意味クラスタの興味深いモーションフローをマージして典型的モーションフローを生成するように構成されてもよい。プログラムモジュールは、冗長な興味深いモーションフローを削除することにより興味深いモーションフローをマージして典型的モーションフローを生成するように構成されてもよい。たとえば、短距離走をする選手の記録を含むビデオファイルにおいて、プログラムモジュールは、選手の移動に対応する複数の興味深いモーションフローを抽出することができる。第1の例示の興味深いモーションフローは、短距離走中の選手の頭部の移動を示すことができる。第2の例示の興味深いモーションフローは、短距離走中の選手の胸部の移動を示すことができる。第3の例示の興味深いモーションフローは、短距離走中の選手の足の移動を示すことができる。これらの3つの興味深いモーションフローは同じ選手に対応する同じ移動を示すので、プログラムモジュールは、3つの冗長な興味深いモーションフローのうちの2つを削除するように構成されてもよい。この場合、残りの興味深いモーションフローは、短距離走中の選手の移動を示す典型的モーションフローになってもよい。ブロック226の後、プロセス200A〜200Bは、(たとえば、定期的に、継続的に、または随時要求に応じて)繰り返すか、または終了することができる。
次に、図3を参照すると、流れ図は、本明細書において説明される少なくとも一部の実施形態による、ビデオを検索するための例示的なプロセス300を示す。プロセス300は、ブロック302〜312の1つまたは複数により示されるさまざまな操作、機能、またはアクションを含むことができる。プロセス300は、ブロック302(クエリビデオファイルを受信する)において開始することができ、ここで抽出モジュール110および/または検索モジュール112のようなプログラムモジュールは、ユーザから、クエリビデオファイル120のようなビデオファイルを受信するように構成されてもよい。たとえば、ユーザは、ビデオ検索Webサイト118を介して、クエリビデオファイル120をアップロードすることができる。ブロック302の後には、ブロック304が続いてもよい。
ブロック304(クエリ典型的モーションフローを抽出する)において、プログラムモジュールは、クエリビデオファイル120から、クエリ典型的モーションフロー122のような典型的モーションフローを抽出するように構成されてもよい。プログラムモジュールは、上記で説明されているプロセス200A〜200Bを実行することにより、クエリ典型的モーションフロー122を抽出するように構成されてもよい。典型的モーションフローは、軌道Sとして表されてもよい。軌道Sは、2次元時系列であってもよい、ただしS=[(t、s)、(t、s)、...(t、s)]である。各ペア(t、s)は、軌道Sの要素を表すことができる、ただしtは時間を表し、sは移動の距離および方向を示すベクトルを表すことができる。ブロック304の後には、ブロック306が続いてもよい。
ブロック306(クエリ典型的モーションフローをセグメントに分割する)において、プログラムモジュールは、クエリ典型的モーション122を複数のセグメントに分割するように構成されてもよい。プログラムモジュールは、ボトムアップ式セグメント化技法を使用して、クエリ典型的モーションフロー122を複数のセグメントに分割するように構成されてもよい。各セグメントは、軌道Sの要素のうちの少なくとも1つに対応することができる。ブロック306の後には、ブロック308が続いてもよい。
ブロック308(記号のセットを各セグメントにマップしてクエリ記号表現を生成する)において、プログラムモジュールは、1つまたは複数の記号のセットを各セグメントにマップして、クエリ典型的モーションフロー122のクエリ記号表現を生成するように構成されてもよい。上記で説明されているように、各セグメントは要素(t、s)に対応することができる、ただしsは移動の距離および方向を示すベクトルである。複数のセグメント内の各ベクトルは、記号のセットにマップすることができる。セット内の記号の内容は、移動の方向を示すことができる。セット内の記号の数は、移動の長さを示すことができる。一部のその他の手法もまた、記号の内容を使用して移動の長さを示すことができる。しかし、記号の内容ではなく、セット内の記号の数を通じて移動の長さを示すことにより、ベクトルの各々可能な順列にマップするために使用される記号の合計数(たとえば、記号のアルファベット)が大幅に減少する可能性もある。ブロック308の後には、ブロック310が続いてもよい。
ブロック310(クエリ記号表現と類似する候補の記号表現を有するビデオファイルを検索する)において、プログラムモジュールは、クエリ記号表現と類似する対応する記号表現を有する、類似するビデオファイル128のようなビデオファイルを検索するように構成されてもよい。プログラムモジュールは、任意の適切な照合のレベル(たとえば、完全一致、相当な一致、部分的一致など)に従って、所与の候補の記号表現が、クエリ記号表現と類似するかどうかを決定するように構成されてもよい。類似するビデオファイル128は、ビデオファイル124のような候補のビデオファイルを含むデータベースから検索されてもよい。ビデオファイル124は、候補の典型的モーションフロー126のような、典型的モーションフローに対応することができる。候補の典型的モーションフロー126は各々、候補の記号表現に対応することができる。ブロック310の後には、ブロック312が続いてもよい。
ブロック312において、プログラムモジュールは、類似するビデオファイル128をユーザに返すように構成されてもよい。たとえば、プログラムモジュールは、類似するビデオファイル128を、ビデオ検索Webサイト118を介してユーザに返すように構成されてもよい。ブロック312の後、プロセス300は、(たとえば、定期的に、継続的に、または随時要求に応じて)繰り返すか、または終了することができる。
次に、図4A〜図4Dおよび図5A〜5Dを参照すると、例示的なビデオフレームおよびそれらの対応する典型的モーションフローが示される。図4A〜図4Cは、本明細書において説明される少なくとも一部の実施形態による例示的なビデオファイルの例示の3フレームシーケンス400A〜400Cを示す。図4Dは、本明細書において説明される少なくとも一部の実施形態によるシーケンス400A〜400Cに基づいて抽出される例示の典型的モーションフロー402を示す。図5A〜図5Cは、本明細書において説明される少なくとも一部の実施形態によるもう1つの例示的なビデオファイルの例示の3フレームシーケンス500A〜500Cを示す。図5Dは、本明細書において説明される少なくとも一部の実施形態によるシーケンス500A〜500Cに基づいて抽出される例示の典型的モーションフロー502を示す。
図4A〜図4Dにおいて、第1のフレーム400Aは、バスケットボールのゴールに向かってバスケットボールをドリブルする選手を示す。第2のフレーム400Bは、ジャンプして、バスケットボールのゴールにバスケットボールをダンクシュートする選手を示す。第3のフレーム400Cは、ダンクシュートを終えた後に着地する選手を示す。典型的モーションフロー402は、バスケットボールゴールに向かい、ジャンプして、着地する選手の対応する軌道を示す。
図5A〜図5Dにおいて、第1のフレーム500Aは、障害物に近づいてゆく馬を示す。第2のフレーム500Bは、障害物を越えるジャンプを開始する馬を示す。第3のフレーム500Cは、障害物を越えるジャンプを終える馬を示す。典型的モーションフロー502は、障害物に向かい、障害物を越えるジャンプを開始して、障害物を越えるジャンプを終える馬の移動の対応する軌道を示す。
図6は、本明細書に提示される少なくとも一部の実施形態を実施することができる例示のコンピューティングシステムの例示的なコンピュータハードウェアアーキテクチャを示すコンピュータアーキテクチャ図である。図6は、プロセッサ610、メモリ620、および1つまたは複数のドライブ630を含むコンピュータ600を含む。コンピュータ600は、標準的なコンピュータシステム、組み込み型制御コンピュータ、ラップトップ、またはサーバコンピュータ、モバイルデバイス、セットトップボックス、キオスク、車両情報システム、携帯電話、カスタマイズマシン、またはその他のハードウェアプラットフォームとして実施されてもよい。
ドライブ630およびその関連するコンピュータストレージ媒体は、コンピュータ600のコンピュータ可読命令、データ構造体、プログラムモジュール、およびその他のデータのストレージを提供する。ドライブ630は、オペレーティングシステム640、アプリケーションプログラム650、プログラムモジュール660、およびデータベース680を含むことができる。プログラムモジュール660は、抽出モジュール110、および/または検索モジュール112を含むことができる。抽出モジュール110および/または検索モジュール112は、図2Aおよび図2Bを参照して上記でより詳細に説明されているように、ビデオから典型的モーションフローを抽出するためのプロセス200A〜200Bを実行するように適合されてもよい。さらに、抽出モジュール110および/または検索モジュール112は、図3を参照して上記でより詳細に説明されているように、ビデオを検索するためのプロセス300を実行するように適合されてもよい。コンピュータ600は、ユーザがコマンドおよびデータを入力することができるユーザ入力デバイス690をさらに含む。入力デバイスは、電子デジタイザ、マイクロフォン、キーボード、および一般にマウス、トラックボールまたはタッチパッドと呼ばれるポインティングデバイスを含むことができる。その他の入力デバイスは、ジョイスティック、ゲームパッド、衛星放送用パラボラアンテナ、スキャナなどを含むことができる。
上記およびその他の入力デバイスは、システムバスに接続されるユーザ入力インターフェイスを通じてプロセッサ610に接続されてもよいが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(「USB」)のようなその他のインターフェイスおよびバス構造によって接続されてもよい。コンピュータ600のようなコンピュータはまた、出力周辺インターフェイス694などを通じて接続されうるスピーカのようなその他の周辺出力デバイスを含むこともできる。
コンピュータ600は、ネットワークインターフェイス696に接続されたリモートコンピュータのような、1つまたは複数のコンピュータへの論理接続を使用するネットワーク化された環境において動作することができる。リモートコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、またはその他の共通ネットワークノードであってもよく、上記でコンピュータ600に関連して説明される要素の多くまたはすべてを含むことができる。ネットワーク環境は、オフィス、企業ワイドエリアネットワーク(「WAN」)、ローカルエリアネットワーク(「LAN」)、イントラネット、およびインターネットで一般化している。
LANまたはWLANネットワーク環境に使用される場合、コンピュータ600は、ネットワークインターフェイス696またはアダプタを通じてLANに接続されてもよい。WANネットワーク環境に使用される場合、コンピュータ600は通常、モデム、もしくはインターネットまたはネットワーク608のようなWANを介して通信を確立するためのその他の手段を含む。WANは、インターネット、例示されているネットワーク608、さまざまなその他のネットワーク、またはその任意の組み合わせを含むことができる。コンピュータ間の通信リンク、リング、メッシュ、バス、クラウド、またはネットワークを確立するその他の手段が使用されてもよいことが理解されるであろう。
一部の実施形態において、コンピュータ600は、ネットワーク環境に接続されてもよい。コンピュータ600は、ドライブ630に関連付けられている物理コンピュータ可読ストレージ媒体またはその他のストレージデバイス(複数可)の1つまたは複数の例を含むことができる。システムバスは、プロセッサ610が、コンピュータ可読ストレージ媒体との間でコードおよび/またはデータを読み取ることができるようにする。媒体は、半導体、磁性材料、光媒体、電気ストレージ、電気化学的ストレージ、または任意の他のそのようなストレージ技術を非限定的に含む任意の適切な技術を使用して実施されるストレージ要素の形態の装置を表すことができる。媒体は、RAM、ROM、フラッシュ、もしくは揮発性または不揮発性メモリ技術の他のタイプとして特徴付けられるメモリ620に関連付けられているコンポーネントを表すことができる。媒体はまた、ストレージドライブ630またはそれ以外として実施される、第2のストレージを表すことができる。ハードドライブの実施態様は、ソリッドステートとして特徴付けられてもよいか、または磁気符号化された情報を格納する回転媒体を含むことができる。
ストレージ媒体は、1つまたは複数のプログラムモジュール660を含むことができる。プログラムモジュール660は、プロセッサ610にロードされ実行されるとき、汎用コンピューティングシステムを特殊用途コンピューティングシステムに変えるソフトウェア命令を含むことができる。この説明全体を通じて詳述されているように、プログラムモジュール660は、コンピュータ600が、本明細書において説明されるコンポーネント、論理フロー、および/またはデータ構造体を使用して全システムまたは稼働環境内に関与することができるさまざまなツールまたは技法を提供することができる。
プロセッサ610は、任意の数のトランジスタまたはその他の回路素子で構成されてもよく、これらは個別または集合的に任意の数の状態を呈することができる。さらに具体的には、プロセッサ610は、状態機械または有限状態機械として動作することができる。そのような機械は、プログラムモジュール660内に含まれる実行可能命令をロードすることにより、第2の機械、または特定の機械に変換されてもよい。これらのコンピュータ実行可能命令は、プロセッサ610が状態間をどのように遷移するかを指定し、それによりプロセッサ610を構成するトランジスタまたはその他の回路素子を第1の機械から第2の機械に変換することによって、プロセッサ610を変換することができる。いずれかの機械の状態はまた、1つまたは複数のユーザ入力デバイス690、ネットワークインターフェイス696、その他の周辺機器、その他のインターフェイス、もしくは1つまたは複数のユーザまたはその他のアクターからの入力を受信することにより変換されてもよい。いずれかの機械はまた、状態、もしくはプリンタ、スピーカ、ビデオディスプレイなどのようなさまざまな出力デバイスのさまざまな物理的特性を変換することもできる。
プログラムモジュール660をエンコードすることはまた、ストレージ媒体の物理的構造を変換することができる。物理的構造の特定の変換は、この説明のさまざまな実施態様において、さまざまな要因に依存する場合がある。そのような要因の例は、ストレージ媒体を実施するために使用される技術、ストレージ媒体が1次または2次ストレージとして特徴付けられるかどうかなどを含むことができるが、これらに限定されることはない。たとえば、ストレージ媒体が半導体ベースのメモリとして実施される場合、プログラムモジュール660は、ソフトウェアがエンコードされると半導体メモリ620の物理的状態を変換することができる。たとえば、ソフトウェアは、トランジスタ、コンデンサ、または半導体メモリ620を構成するその他の個別回路素子の状態を変換することができる。
もう1つの例として、ストレージ媒体は、ドライブ630のような磁気または光技術を使用して実施されてもよい。そのような実施態様において、プログラムモジュール660は、ソフトウェアがエンコードされるとき、磁気または光媒体の物理的状態を変換することができる。これらの変換は、所与の磁気媒体内の特定の場所の磁気特性を変更することを含むことができる。これらの変換はまた、所与の光媒体内の特定の場所の物理的特徴または特性を変更して、それらの場所の光学特性を変更することを含むことができる。本発明の説明の範囲および精神を逸脱することなく、物理媒体のさまざまな他の変換が可能であることが理解されよう。
次に、図7A〜図7Cを参照すると、概略図は、本明細書において提示される少なくとも一部の実施形態による、コンピューティングデバイスでコンピュータプロセスを実行するためのコンピュータプログラムを含むコンピュータプログラム製品700の部分図を示す。例示のコンピュータプログラム製品700の例示的な実施形態は、704Aの少なくとも1つの命令および/または704Bの少なくとも1つの命令を含むことができる信号搬送媒体702を使用して提供される。図7Bに示される命令704Aは、複数のフレームを備えるビデオファイルを受信するための1つまたは複数の命令と、複数のフレームからグローバルモーションベクトルを抽出するための1つまたは複数の命令と、複数のフレーム内のコーナーポイントを検出するための1つまたは複数の命令と、グローバルモーションベクトルに基づいてローカルモーションベクトルを抽出するための1つまたは複数の命令と、ビデオファイルを複数のスライディングウィンドウに分割するための1つまたは複数の命令であって、複数のスライディングウィンドウの各々は複数のフレームのうちの少なくとも2つを備える命令と、複数のスライディングウィンドウの各々に対して、ローカルモーションベクトルおよびコーナーポイントに基づいてモーションフローを生成するための1つまたは複数の命令と、類似する特性を有するモーションフローを第1の複数のクラスタにクラスタ化するための1つまたは複数の命令と、第1の有意味のクラスタを第1の複数のクラスタから抽出するための1つまたは複数の命令と、または複数のスライディングウィンドウの現在のスライディングウィンドウの第1の有意味のクラスタ内のモーションフローを、複数のスライディングウィンドウの以前のスライディングウィンドウの第1の有意味のクラスタ内のモーションフローと照合して、興味深いモーションフローを生成するための1つまたは複数の命令と、類似する特性を有する興味深いモーションフローを第2の複数のクラスタにクラスタ化するための1つまたは複数の命令と、第2の有意味のクラスタを第2の複数のクラスタから抽出するための1つまたは複数の命令と、または第2の有意味のクラスタ内のモーションフローをマージして、典型的モーションフローを生成するための1つまたは複数の命令とを含むことができる。
図7Cに示される命令704Bは、クエリビデオファイルを受信するための1つまたは複数の命令、クエリビデオファイルから典型的モーションフローを抽出するための1つまたは複数の命令、典型的モーションフローを複数のセグメントに分割するための1つまたは複数の命令、記号のセットを複数のセグメントの各々にマップして典型的モーションフローのクエリ記号表現を生成するための1つまたは複数の命令であって、記号のセット内の各記号は対応するセグメントの方向を表し、記号のセット内の記号の数はセグメントの長さを表す命令、または、クエリ記号表現と類似する候補の記号表現を有する対応する候補のモーションフローを伴う候補のビデオファイルを検索するための1つまたは複数の命令を含むことができる。1つまたは複数の命令は、たとえば、コンピュータ実行可能および/または論理実施の命令であってもよい。一部の実施形態において、1つまたは複数のコンピュータプログラム製品700の信号搬送媒体702は、コンピュータ可読媒体706、記録可能媒体708、および/または通信媒体710を含むことができる。
本明細書において説明される主題は、コンピュータシステム上のオペレーティングシステムおよびアプリケーションプログラムの実行と併せて実行するプログラムモジュールの一般的コンテキストにおいて提示されているが、当業者であれば、その他の実施態様がその他のタイプのプログラムモジュールと組み合わせて実行されうることを理解するであろう。一般に、プログラムモジュールは、ルーチン、プログラム、コンポーネント、データ構造、および特定のタスクを実行するかまたは特定の抽象データタイプを実施するその他のタイプの構造体を含む。さらに、当業者であれば、本明細書において説明される主題が、ハンドヘルドデバイス、マルチコアプロセッサシステム、マイクロプロセッサベースまたはプログラマブル家庭用電化製品、マイクロコンピュータ、メインフレームコンピュータなどを含むその他のコンピュータシステム構成で実施されてもよいことを理解するであろう。
本開示は、本出願において説明される特定の実施形態に関して限定されるべきではなく、実施形態はさまざまな態様を例示することを目的としている。当業者には明らかであるように、その精神および範囲を逸脱することなく多くの変更および変形が行われてもよい。本明細書において列挙される方法および装置に加えて、本開示の範囲内の機能的に等価の方法および装置は、上記の説明から当業者には明らかとなるであろう。そのような変更および変形は、添付の特許請求の範囲内に含まれることが意図される。本開示は、添付の特許請求の範囲の条項、ならびにそのような特許請求の範囲が権利を有する等価物の全範囲によってのみ限定されるものとする。本開示が、当然変化しうるものである特定の方法、試薬、化合物組成、または生態系に限定されないことを理解されたい。また、本明細書において使用される用語が、特定の実施形態を説明することのみを目的としており、限定的であることは意図されていないことも理解されたい。
本明細書における実質的にすべての複数形および/または単数形の用語の使用に対して、当業者は、状況および/または用途に適切なように、複数形から単数形に、および/または単数形から複数形に変換することができる。さまざまな単数形/複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
通常、本明細書において、特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本体部)において使用される用語は、全体を通じて「オープンな(open)」用語として意図されていることが、当業者には理解されよう(たとえば、用語「含む(including)」は、「含むがそれに限定されない(including but not limited to)」と解釈されるべきであり、用語「有する(having)」は、「少なくとも有する(having at least)」と解釈されるべきであり、用語「含む(includes)」は、「含むがそれに限定されない(includes but is not limited to)」と解釈されるべきである、など)。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも1つの(at least one)」および「1つまたは複数の(one or more)」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「1つまたは複数の」または「少なくとも1つの」および「a」または「an」などの不定冠詞を含む場合であっても、不定冠詞「a」または「an」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に1つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない(たとえば、「a」および/または「an」は、「少なくとも1つの」または「1つまたは複数の」を意味すると解釈されるべきである)。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう(たとえば、他の修飾語なしでの「2つの記載(two recitations)」の単なる記載は、少なくとも2つの記載、または2つ以上の記載を意味する)。さらに、「A、BおよびC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(たとえば、「A、B、およびCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。「A、B、またはCのうちの少なくとも1つ(at least one of A、B、or C)など」と類似した表記規約が使用される例において、一般に、そのような構文は当業者が表記規約を理解するような意味において意図されている(たとえば、「A、B、またはCのうちの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、および/またはA、B、およびCを共に、などを有するシステムを含むが、これらに限定されることはない)。実質的に任意の離接語および/または2つ以上の代替用語を表す句は、説明、特許請求の範囲、または図面のいずれにおいてであっても、用語のうちの1つ、用語のいずれか、または両方の用語を含む可能性を考慮するものと理解されるべきであることを、当業者はさらに理解するであろう。たとえば、句「AまたはB」は、「A」または「B」または「AおよびB」の可能性を含むものと理解されよう。
加えて、本開示の特徴または態様がマーカッシュ形式のグループに関して説明される場合、それにより本開示はまた、マーカッシュ形式のグループの構成要素の任意の個々の構成要素または構成要素のサブグループに関しても説明されることを当業者は、理解するであろう。
書面による説明を行うことに関してなど、任意およびすべての目的のため、当業者によって理解されるであろうように、本明細書において開示されるあらゆる範囲はまた、任意およびすべての可能な下位範囲およびその下位範囲の組み合わせを網羅する。任意の一覧される範囲は、同範囲が少なくとも等価の2分の1、3分の1、4分の1、5分の1、10分の1などに分割されることを十分に説明および可能にするものと容易に理解されてもよい。非限定的な例として、本明細書において説明される各範囲は、下3分の1、中3分の1、および上3分の1などに容易に分解されてもよい。さらに当業者によって理解されるであろうように、「最大(up to)」、「少なくとも(at least)」、「よりも大きい(greater than)」、「よりも小さい(less than)」などのようなすべての表現は、列挙される数を含み、引き続き上記で説明されている下位範囲に分解されてもよい範囲を示す。最後に、当業者には理解されるように、範囲は各々個別の構成要素を含む。したがって、たとえば、1〜3の要素を有するグループは、1、2、または3の要素を有するグループと称される。同様に、1〜5の要素を有するグループは、1、2、3、4、または5の要素を有するグループと称される、というようになる。
本明細書においてさまざまな態様および実施形態が開示されたが、当業者にはその他の態様および実施形態が明らかとなろう。本明細書において開示されるさまざまな態様および実施形態は、説明のためのものであって、限定的であることを意図しておらず、真の範囲および精神は後段の特許請求の範囲により示される。

Claims (25)

  1. ビデオから典型的モーションフローを抽出するためのコンピュータ実施の方法であって、
    プロセッサおよびメモリを有するコンピュータを通じて、複数のフレームを備えるビデオファイルを受信することと、
    前記コンピュータを通じて、前記ビデオファイルを複数のスライディングウィンドウに分割することであって、前記複数のスライディングウィンドウの各々は前記複数のフレームのうちの少なくとも2つを備えることと、
    前記複数のスライディングウィンドウの各々に対して、
    前記コンピュータを通じて、モーションフローを生成することと、
    前記コンピュータを通じて、類似する特性を有する前記モーションフローを第1の複数のクラスタにクラスタ化することと、
    前記コンピュータを通じて、第1の有意味のクラスタを前記第1の複数のクラスタから抽出することと、
    前記コンピュータを通じて、前記複数のスライディングウィンドウの現在のスライディングウィンドウの前記第1の有意味のクラスタ内の前記モーションフローを、前記複数のスライディングウィンドウの以前のスライディングウィンドウの前記第1の有意味のクラスタ内の前記モーションフローと照合して、興味深いモーションフローを生成することと、
    前記コンピュータを通じて、前記興味深いモーションフローに基づいて典型的モーションフローを決定することとを備える方法。
  2. 前記コンピュータを通じて、前記複数のフレームからグローバルモーションベクトルを抽出することと、
    前記コンピュータを通じて、前記複数のフレーム内のコーナーポイントを検出することと、
    前記コンピュータを通じて、前記グローバルモーションベクトルに基づいてローカルモーションベクトルを抽出することとをさらに備える請求項1に記載のコンピュータ実施の方法。
  3. モーションフローを生成することは、前記コンピュータを通じて、前記ローカルモーションベクトルおよび前記コーナーポイントに基づいて前記モーションフローを生成することを備える請求項2に記載のコンピュータ実施の方法。
  4. 前記複数のフレームの各々は複数のブロックを備え、前記ローカルモーションベクトルの各々は前記複数のブロックの1つに対応し、前記ローカルモーションベクトルおよび前記コーナーポイントに基づいてモーションフローを生成することは、前記コンピュータを通じて、前記複数のフレームの隣接するフレーム内に同じコーナーポイントを含む前記ブロック内の前記ローカルモーションベクトルを照合することを備える請求項3に記載のコンピュータ実施の方法。
  5. 前記ビデオファイルはMoving Picture Experts Group(MPEG)規格のビデオファイルを備え、前記複数のフレームはBフレームおよびPフレームを備え、前記複数のフレームからグローバルモーションベクトルを抽出することは、前記コンピュータを通じて、前記MPEG規格のビデオファイル内の前記Bフレームおよび前記Pフレームから前記グローバルモーションベクトルを抽出することを備える請求項2に記載のコンピュータ実施の方法。
  6. 前記複数のフレームからグローバルモーションベクトルを抽出することは、前記コンピュータを通じて、オプティカルフロー抽出技法を用いて前記ビデオファイルから前記グローバルモーションベクトルを抽出することを備える請求項2に記載のコンピュータ実施の方法。
  7. 前記複数のフレームのコーナーポイントを検出することは、前記コンピュータを通じて、Harrisコーナー検出技法を用いて前記複数のフレームのコーナーポイントを検出することを備える請求項2に記載のコンピュータ実施の方法。
  8. 前記グローバルモーションベクトルに基づいてローカルモーションベクトルを抽出することは、
    前記コンピュータを通じて、前記グローバルモーションベクトルがカメラの動きを含むかどうかを決定することと、
    前記グローバルモーションベクトルが前記カメラの動きを含むと決定することに応答して、前記コンピュータを通じて、前記ローカルモーションベクトルを生成するために、前記グローバルモーションベクトルにおける前記カメラの動きを補償することと、
    前記グローバルモーションベクトルが前記カメラの動きを含まないと決定することに応答して、前記コンピュータを通じて、前記グローバルモーションベクトルを前記ローカルモーションベクトルとして使用することとを備える請求項2に記載のコンピュータ実施の方法。
  9. 前記グローバルモーションベクトルがカメラの動きを含むかどうかを決定することは、
    前記コンピュータを通じて、前記複数のフレームの各々の複数のフレーム内の前記コーナーポイントの数を決定することと、
    前記コンピュータを通じて、前記各々の複数のフレーム内の前記コーナーポイントの前記数が、前記複数のフレームのうちの1つまたは複数において大幅な減少を含むかどうかを決定することと、
    前記各々の複数のフレーム内の前記コーナーポイントの前記数が、前記複数のフレームのうちの1つまたは複数において大幅な減少を含むと決定することに応答して、前記コンピュータを通じて、前記グローバルモーションベクトルが前記カメラの動きを含むと決定することと、
    前記各々の複数のフレーム内の前記コーナーポイントの前記数が、前記複数のフレームのうちの1つまたは複数において大幅な減少を含まないと決定することに応答して、前記コンピュータを通じて、前記グローバルモーションベクトルが前記カメラの動きを含まないと決定することとを備える請求項8に記載のコンピュータ実施の方法。
  10. 前記グローバルモーションベクトルがカメラの動きを含むかどうかを決定することは、
    前記コンピュータを通じて、前記グローバルモーションベクトルに対応する前記コーナーポイントの数を決定することと、
    前記コンピュータを通じて、前記グローバルモーションベクトルに対応する前記コーナーポイントの前記数がしきい値を超えるかどうかを決定することと、
    前記グローバルモーションベクトルに対応する前記コーナーポイントの前記数が前記しきい値を超えると決定することに応答して、前記コンピュータを通じて、前記グローバルモーションベクトルが前記カメラの動きを含むと決定することと、
    前記グローバルモーションベクトルに対応する前記コーナーポイントの前記数が前記しきい値を超えないと決定することに応答して、前記コンピュータを通じて、前記グローバルモーションベクトルが前記カメラの動きを含まないと決定することとを備える請求項8に記載のコンピュータ実施の方法。
  11. 前記グローバルモーションベクトルがカメラの動きを含むかどうかを決定することは、
    前記コンピュータを通じて、前記グローバルモーションベクトルに基づいて平均モーションベクトルを決定することと、
    前記コンピュータを通じて、前記平均モーションベクトルがしきい値を超えるかどうかを決定することと、
    前記平均モーションベクトルが前記しきい値を超えると決定することに応答して、前記コンピュータを通じて、前記グローバルモーションベクトルが前記カメラの動きを含むと決定することと、
    前記平均モーションベクトルが前記しきい値を超えないと決定することに応答して、前記コンピュータを通じて、前記グローバルモーションベクトルが前記カメラの動きを含まないと決定することとを備える請求項8に記載のコンピュータ実施の方法。
  12. 前記グローバルモーションベクトルがカメラの動きを含むかどうかを決定することは、前記コンピュータを通じて、前記グローバルモーションベクトルが4パラメータ推定モデルによりトレーニングされたサポートベクトルマシン(SVM)を使用してカメラの動きを含むかどうかを決定することを備える請求項8に記載のコンピュータ実施の方法。
  13. 複数のスライディングウィンドウの各々は、前記複数のフレームの指定された数の隣接フレームを備える請求項1に記載のコンピュータ実施の方法。
  14. 類似する特性を有する前記モーションフローを第1の複数のクラスタにクラスタ化することは、
    前記コンピュータを通じて、前記モーションフローが単位長さを有するように、前記モーションフローを正規化することと、
    前記モーションフローが単位長さを有するように前記モーションフローを正規化すると、前記コンピュータを通じて、前記モーションフローに離散コサイン変換(DCT)を適用することと、
    前記モーションフローに離散コサイン変換(DCT)を適用すると、前記コンピュータを通じて、前記モーションフローから多次元ベクトルを抽出することであって、各多次元ベクトルが前記モーションフローの対応する1つのパターンおよび位置を表すことと、
    前記コンピュータを通じて、前記対応する多次元ベクトルが前記類似するパターンおよび前記類似する位置を有する場合に前記モーションフローをクラスタ化することとを備える請求項1に記載のコンピュータ実施の方法。
  15. 前記興味深いモーションフローに基づいて前記典型的モーションフローを決定することは、
    前記コンピュータを通じて、前記類似する特性を有する前記興味深いモーションフローを第2の複数のクラスタにクラスタ化することと、
    前記コンピュータを通じて、第2の有意味のクラスタを前記第2の複数のクラスタから抽出することと、
    前記コンピュータを通じて、前記第2の有意味のクラスタ内の前記モーションフローをマージして、少なくとも前記典型的モーションフローを生成することとを備える請求項1に記載のコンピュータ実施の方法。
  16. 前記類似する特性を有する前記興味深いモーションフローを第2の複数のクラスタにクラスタ化することは、前記コンピュータを通じて、前記対応する多次元ベクトルが前記類似するパターンおよび前記類似する位置を有する場合の前記興味深いモーションフローをクラスタ化することを備える請求項15に記載のコンピュータ実施の方法。
  17. 前記第2の有意味のクラスタ内の前記モーションフローをマージして典型的モーションフローを生成することは、前記コンピュータを通じて、前記第2の有意味のクラスタ内の冗長である前記モーションフローを削除して、前記典型的モーションフローを生成することを備える請求項15に記載のコンピュータ実施の方法。
  18. 第1の有意味のクラスタを前記第1の複数のクラスタから抽出することは、前記コンピュータを通じて、前記第1の複数のクラスタからノイズを表すクラスタをフィルタリング除去することを備える請求項1に記載のコンピュータ実施の方法。
  19. 前記第1の複数のクラスタからノイズを表すクラスタをフィルタリング除去することは、前記コンピュータを通じて、前記複数のクラスタからしきい値を下回るサイズを有するクラスタをフィルタリング除去することを備える請求項18に記載のコンピュータ実施の方法。
  20. コンピュータ可読ストレージ媒体であって、コンピュータによって実行されるときに前記コンピュータに、
    複数のフレームを備えるビデオファイルを受信することと、
    前記複数のフレームからグローバルモーションベクトルを抽出することと、
    前記複数のフレーム内のコーナーポイントを検出することと、
    前記グローバルモーションベクトルに基づいてローカルモーションベクトルを抽出することと、
    前記ビデオファイルを複数のスライディングウィンドウに分割することであって、前記複数のスライディングウィンドウの各々は前記複数のフレームのうちの少なくとも2つを備えることと、
    前記複数のスライディングウィンドウの各々に対して、
    前記ローカルモーションベクトルおよび前記コーナーポイントに基づいてモーションフローを生成することと、
    類似する特性を有する前記モーションフローを第1の複数のクラスタにクラスタ化することと、
    第1の有意味のクラスタを前記第1の複数のクラスタから抽出することと、
    前記複数のスライディングウィンドウの現在のスライディングウィンドウの前記第1の有意味のクラスタ内の前記モーションフローを、前記複数のスライディングウィンドウの以前のスライディングウィンドウの前記第1の有意味のクラスタ内の前記モーションフローと照合して、興味深いモーションフローを生成することと、
    前記類似する特性を有する前記興味深いモーションフローを第2の複数のクラスタにクラスタ化することと、
    第2の有意味のクラスタを前記第2の複数のクラスタから抽出することと、
    前記第2の有意味のクラスタ内の前記モーションフローをマージして、典型的モーションフローを生成することとを行わせるコンピュータ実行可能命令を格納したコンピュータ可読ストレージ媒体。
  21. プロセッサと、
    前記プロセッサに接続されたメモリと、
    前記メモリから前記プロセッサ内で実行するビデオ検索アプリケーションであって、前記プロセッサによって実行されるとき、コンピュータシステムに、
    クエリビデオファイルを受信することと、
    前記クエリビデオファイルから典型的モーションフローを抽出することと、
    前記典型的モーションフローを複数のセグメントに分割することと、
    記号のセットを前記複数のセグメントの各々にマップして前記典型的モーションフローのクエリ記号表現を生成することであって、記号の前記セット内の各記号は前記対応するセグメントの方向を表し、記号の前記セット内の記号の数は前記セグメントの長さを表すことと、
    前記クエリ記号表現と類似する候補の記号表現を有する対応する候補のモーションフローを伴う候補のビデオファイルを検索することとを行うことによって、ビデオを検索させるビデオ検索アプリケーションとを備えるコンピュータシステム。
  22. 前記クエリビデオファイルは複数のフレームを備え、前記クエリビデオファイルから典型的モーションフローを抽出することは、
    前記クエリビデオファイルを複数のスライディングウィンドウに分割することであって、前記複数のスライディングウィンドウの各々は前記複数のフレームのうちの少なくとも2つを備えることと、
    前記複数のスライディングウィンドウの各々に対して、
    モーションフローを生成することと、
    類似する特性を有する前記モーションフローを第1の複数のクラスタにクラスタ化することと、
    第1の有意味のクラスタを前記第1の複数のクラスタから抽出することと、
    前記複数のスライディングウィンドウの現在のスライディングウィンドウの前記第1の有意味のクラスタ内の前記モーションフローを、前記複数のスライディングウィンドウの以前のスライディングウィンドウの前記第1の有意味のクラスタ内の前記モーションフローと照合して、興味深いモーションフローを生成することと、
    前記興味深いモーションフローに基づいて少なくとも前記典型的モーションフローを決定することとを備える請求項21に記載のコンピュータシステム。
  23. 前記ビデオ検索アプリケーションは、前記プロセッサによって実行されるとき、前記コンピュータシステムに、
    前記複数のフレームからグローバルモーションベクトルを抽出することと、
    前記複数のフレーム内のコーナーポイントを検出することと、
    前記グローバルモーションベクトルに基づいてローカルモーションベクトルを抽出することとを行うことによって、前記ビデオをさらに検索させる請求項22に記載のコンピュータシステム。
  24. モーションフローを生成することは、前記ローカルモーションベクトルおよび前記コーナーポイントに基づいて前記モーションフローを生成することを備える請求項23に記載のコンピュータシステム。
  25. 前記興味深いモーションフローに基づいて少なくとも前記典型的モーションフローを決定することは、
    前記類似する特性を有する前記興味深いモーションフローを第2の複数のクラスタにクラスタ化することと、
    第2の有意味のクラスタを前記第2の複数のクラスタから抽出することと、
    前記第2の有意味のクラスタ内の前記モーションフローをマージして、少なくとも前記典型的モーションフローを生成することとを備える請求項22に記載のコンピュータシステム。
JP2013522066A 2010-08-02 2010-08-02 効果的なビデオの分類および検索のための典型的モーションフローの抽出 Expired - Fee Related JP5746766B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2010/075631 WO2012016370A1 (en) 2010-08-02 2010-08-02 Representative motion flow extraction for effective video classification and retrieval

Publications (2)

Publication Number Publication Date
JP2013540377A true JP2013540377A (ja) 2013-10-31
JP5746766B2 JP5746766B2 (ja) 2015-07-08

Family

ID=45558901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013522066A Expired - Fee Related JP5746766B2 (ja) 2010-08-02 2010-08-02 効果的なビデオの分類および検索のための典型的モーションフローの抽出

Country Status (5)

Country Link
US (2) US8995531B2 (ja)
EP (1) EP2601782A4 (ja)
JP (1) JP5746766B2 (ja)
KR (1) KR101436342B1 (ja)
WO (1) WO2012016370A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130243077A1 (en) * 2012-03-13 2013-09-19 Canon Kabushiki Kaisha Method and apparatus for processing moving image information, and method and apparatus for identifying moving image pattern
US9172875B2 (en) * 2012-10-12 2015-10-27 Arcsoft Hangzhou Co., Ltd. Video processing method and electronic device
US9197861B2 (en) * 2012-11-15 2015-11-24 Avo Usa Holding 2 Corporation Multi-dimensional virtual beam detection for video analytics
US9317770B2 (en) * 2013-04-28 2016-04-19 Tencent Technology (Shenzhen) Co., Ltd. Method, apparatus and terminal for detecting image stability
JP6468703B2 (ja) * 2013-12-20 2019-02-13 キヤノン株式会社 動き検出装置、動き検出方法及びプログラム
KR101642200B1 (ko) * 2014-12-19 2016-07-22 포항공과대학교 산학협력단 객체의 움직임 분석을 이용한 모션 효과 생성 장치 및 방법
WO2017095362A1 (en) * 2015-11-30 2017-06-08 Hewlett Packard Enterprise Development Lp Generating application flow entities
US10657036B2 (en) 2016-01-12 2020-05-19 Micro Focus Llc Determining visual testing coverages
KR102336284B1 (ko) * 2017-01-11 2021-12-08 한국전자기술연구원 단일 카메라를 이용한 영상에서 움직이는 객체 검출 방법 및 시스템
US11599253B2 (en) * 2020-10-30 2023-03-07 ROVl GUIDES, INC. System and method for selection of displayed objects by path tracing
US11670030B2 (en) * 2021-07-01 2023-06-06 Electronic Arts Inc. Enhanced animation generation based on video with local phase
US11562523B1 (en) 2021-08-02 2023-01-24 Electronic Arts Inc. Enhanced animation generation based on motion matching using local bone phases
KR20230043318A (ko) 2021-09-24 2023-03-31 삼성전자주식회사 영상 내 객체를 분류하는 객체 분류 방법 및 장치
US20240144434A1 (en) * 2022-11-01 2024-05-02 Samsung Electronics Co., Ltd. Semi-global neural image alignment

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392367A (en) * 1991-03-28 1995-02-21 Hsu; Wen H. Automatic planar point pattern matching device and the matching method thereof
US5260793A (en) * 1991-07-18 1993-11-09 Zenith Electronics Corporation Receiver post coder selection circuit
JP3522400B2 (ja) * 1995-08-11 2004-04-26 リーダー電子株式会社 流れ表示式の指示方法及び装置
US5734893A (en) * 1995-09-28 1998-03-31 Ibm Corporation Progressive content-based retrieval of image and video with adaptive and iterative refinement
US6215898B1 (en) * 1997-04-15 2001-04-10 Interval Research Corporation Data processing system and method
US6741655B1 (en) * 1997-05-05 2004-05-25 The Trustees Of Columbia University In The City Of New York Algorithms and system for object-oriented content-based video search
JP3780623B2 (ja) * 1997-05-16 2006-05-31 株式会社日立製作所 動画像の記述方法
US6643387B1 (en) * 1999-01-28 2003-11-04 Sarnoff Corporation Apparatus and method for context-based indexing and retrieval of image sequences
US6366701B1 (en) * 1999-01-28 2002-04-02 Sarnoff Corporation Apparatus and method for describing the motion parameters of an object in an image sequence
US7003038B2 (en) * 1999-09-27 2006-02-21 Mitsubishi Electric Research Labs., Inc. Activity descriptor for video sequences
JP4536940B2 (ja) * 2001-01-26 2010-09-01 キヤノン株式会社 画像処理装置、画像処理方法、記憶媒体、及びコンピュータプログラム
US6614466B2 (en) * 2001-02-22 2003-09-02 Texas Instruments Incorporated Telescopic reconstruction of facial features from a speech pattern
US6996254B2 (en) * 2001-06-18 2006-02-07 Microsoft Corporation Incremental motion estimation through local bundle adjustment
US7440504B2 (en) * 2001-09-24 2008-10-21 Broadcom Corporation Method and apparatus for performing deblocking filtering with interlace capability
US6965645B2 (en) * 2001-09-25 2005-11-15 Microsoft Corporation Content-based characterization of video frame sequences
KR100415313B1 (ko) * 2001-12-24 2004-01-16 한국전자통신연구원 동영상에서 상관 정합과 시스템 모델을 이용한 광류와카메라 움직임 산출 장치
JP2004007379A (ja) * 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
US7672369B2 (en) * 2002-02-13 2010-03-02 Reify Corporation Method and apparatus for acquisition, compression, and characterization of spatiotemporal signals
US7505604B2 (en) * 2002-05-20 2009-03-17 Simmonds Precision Prodcuts, Inc. Method for detection and recognition of fog presence within an aircraft compartment using video images
US7483624B2 (en) * 2002-08-30 2009-01-27 Hewlett-Packard Development Company, L.P. System and method for indexing a video sequence
KR20050084442A (ko) * 2002-12-20 2005-08-26 코닌클리케 필립스 일렉트로닉스 엔.브이. 세그먼트 기반 움직임 추정
US7408986B2 (en) * 2003-06-13 2008-08-05 Microsoft Corporation Increasing motion smoothness using frame interpolation with motion analysis
KR100579493B1 (ko) * 2003-06-16 2006-05-15 삼성전자주식회사 움직임 벡터 생성 장치 및 방법
US20050002904A1 (en) * 2003-07-03 2005-01-06 Wary Kishore K. Uses of vascular endothelial growth factor and type I collagen inducible protein (VCIP)
US7313185B2 (en) * 2003-08-01 2007-12-25 Microsoft Corporation Sequential motion pattern representation
US7490071B2 (en) * 2003-08-29 2009-02-10 Oracle Corporation Support vector machines processing system
US7127083B2 (en) * 2003-11-17 2006-10-24 Vidient Systems, Inc. Video surveillance system with object detection and probability scoring based on object class
US7483596B2 (en) * 2004-01-13 2009-01-27 International Business Machines Corporation Performance digital image sensing
JP2006217046A (ja) 2005-02-01 2006-08-17 Olympus Corp 映像インデックス画像生成装置及び映像のインデックス画像を生成するプログラム
WO2006100674A2 (en) * 2005-03-21 2006-09-28 Yeda Research And Development Co. Ltd. Detecting irregularities
US7970170B2 (en) * 2005-05-09 2011-06-28 Lockheed Martin Corporation Continuous extended range image processing
CN101305396B (zh) * 2005-07-12 2012-05-02 Nxp股份有限公司 用于去除运动模糊效应的方法和装置
US20070025442A1 (en) * 2005-07-28 2007-02-01 Sanyo Electric Co., Ltd. Coding method for coding moving images
US7783095B2 (en) * 2005-08-11 2010-08-24 Siemens Medical Solutions Usa, Inc. System and method for fetal biometric measurements from ultrasound data and fusion of same for estimation of fetal gestational age
US7777781B2 (en) * 2005-08-26 2010-08-17 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Method and system for determining the motion of an imaging apparatus
CA2636858C (en) * 2006-01-27 2015-11-24 Imax Corporation Methods and systems for digitally re-mastering of 2d and 3d motion pictures for exhibition with enhanced visual quality
US8582660B2 (en) * 2006-04-13 2013-11-12 Qualcomm Incorporated Selective video frame rate upconversion
TW200822751A (en) * 2006-07-14 2008-05-16 Objectvideo Inc Video analytics for retail business process monitoring
US8200648B2 (en) * 2006-08-07 2012-06-12 Yeda Research & Development Co. Ltd. At The Weizmann Institute Of Science Data similarity and importance using local and global evidence scores
US20080074496A1 (en) * 2006-09-22 2008-03-27 Object Video, Inc. Video analytics for banking business process monitoring
US8073196B2 (en) * 2006-10-16 2011-12-06 University Of Southern California Detection and tracking of moving objects from a moving platform in presence of strong parallax
KR100790178B1 (ko) * 2006-10-20 2008-01-02 삼성전자주식회사 동영상의 프레임 레이트 변환 방법
JP4919036B2 (ja) * 2007-01-30 2012-04-18 アイシン精機株式会社 移動物体認識装置
DE102007007040A1 (de) * 2007-02-07 2008-08-14 Carl Zeiss Microlmaging Gmbh Messeinrichtung zur optischen und spektroskopischen Untersuchung einer Probe
US8760519B2 (en) * 2007-02-16 2014-06-24 Panasonic Corporation Threat-detection in a distributed multi-camera surveillance system
WO2008103929A2 (en) * 2007-02-23 2008-08-28 Johnson Controls Technology Company Video processing systems and methods
JP4212109B2 (ja) * 2007-03-20 2009-01-21 パナソニック株式会社 撮影装置および撮影方法
US8280539B2 (en) * 2007-04-06 2012-10-02 The Echo Nest Corporation Method and apparatus for automatically segueing between audio tracks
JP5273042B2 (ja) * 2007-05-25 2013-08-28 日本電気株式会社 画像音響区間群対応付け装置と方法およびプログラム
US8027542B2 (en) * 2007-06-18 2011-09-27 The Regents Of The University Of California High speed video action recognition and localization
US8358840B2 (en) * 2007-07-16 2013-01-22 Alexander Bronstein Methods and systems for representation and matching of video content
JP4683031B2 (ja) * 2007-10-17 2011-05-11 ソニー株式会社 電子機器、コンテンツ分類方法及びそのプログラム
GB0725094D0 (en) * 2007-12-21 2008-01-30 Univ Liverpool Image processing
US8374247B2 (en) * 2008-01-14 2013-02-12 Broadcom Corporation Method and system for hierarchical motion estimation with multi-layer sub-pixel accuracy and motion vector smoothing
US8275033B2 (en) * 2008-01-15 2012-09-25 Sony Corporation Picture mode selection for video transcoding
JP2009200713A (ja) * 2008-02-20 2009-09-03 Sony Corp 画像処理装置、画像処理方法、プログラム
CN101582063A (zh) 2008-05-13 2009-11-18 华为技术有限公司 视频服务系统、视频服务装置及其关键帧的提取方法
US8373763B2 (en) * 2008-05-22 2013-02-12 GM Global Technology Operations LLC Self calibration of extrinsic camera parameters for a vehicle camera
US20100215104A1 (en) * 2009-02-26 2010-08-26 Akira Osamoto Method and System for Motion Estimation
TWI401972B (zh) * 2009-06-23 2013-07-11 Acer Inc 時間性錯誤隱藏方法
US9877033B2 (en) * 2009-12-21 2018-01-23 Qualcomm Incorporated Temporal and spatial video block reordering in a decoder to improve cache hits
US20110205359A1 (en) * 2010-02-19 2011-08-25 Panasonic Corporation Video surveillance system
JP5509437B2 (ja) * 2010-03-01 2014-06-04 国立大学法人山口大学 超音波診断装置
EP2619728B1 (en) * 2010-09-20 2019-07-17 Qualcomm Incorporated An adaptable framework for cloud assisted augmented reality
US8900145B2 (en) * 2011-03-10 2014-12-02 University Of Washington Through Its Center For Commercialization Ultrasound systems and methods for real-time noninvasive spatial temperature estimation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6014055379; Faisal I. Bashir et al.: ''Real-Time Motion Trajectory-Based Indexing andRetrieval of Video Sequences'' Multimedia, IEEE Transactions on Volume 9,Issue 1, 200701, p.58-65. *
JPN6014055380; Lei Chen et al.: ''Symbolic Representation and Retrievalof Moving Object Trajectories'' Proceedings of the 6th ACM SIGMM international workshop on Multimedia information retrieval(MIR'04) , 2004, p.227-234. *

Also Published As

Publication number Publication date
US20150131863A1 (en) 2015-05-14
EP2601782A1 (en) 2013-06-12
KR101436342B1 (ko) 2014-09-01
KR20130060274A (ko) 2013-06-07
US8995531B2 (en) 2015-03-31
WO2012016370A1 (en) 2012-02-09
EP2601782A4 (en) 2016-09-28
US9268794B2 (en) 2016-02-23
US20120275521A1 (en) 2012-11-01
JP5746766B2 (ja) 2015-07-08

Similar Documents

Publication Publication Date Title
JP5746766B2 (ja) 効果的なビデオの分類および検索のための典型的モーションフローの抽出
Zhang et al. Adaptive graph convolutional network with attention graph clustering for co-saliency detection
Kuen et al. Recurrent attentional networks for saliency detection
Yang et al. Exploiting web images for semantic video indexing via robust sample-specific loss
CN107430687B (zh) 视频流的基于实体的时间分割
Wang et al. Dynamic attention guided multi-trajectory analysis for single object tracking
Zhang et al. Efficient pedestrian detection via rectangular features based on a statistical shape model
Zhang et al. Action recognition based on overcomplete independent components analysis
Zheng et al. A feature-adaptive semi-supervised framework for co-saliency detection
Zhou et al. Exploration of visual data
Sumbul et al. Informative and representative triplet selection for multilabel remote sensing image retrieval
Sedmidubsky et al. Searching for variable-speed motions in long sequences of motion capture data
Xu et al. Pose for everything: Towards category-agnostic pose estimation
Kishorjit Singh et al. Image classification using SLIC superpixel and FAAGKFCM image segmentation
Han et al. Class-aware feature aggregation network for video object detection
Zhang et al. Bioinspired scene classification by deep active learning with remote sensing applications
Cao et al. Mining spatiotemporal video patterns towards robust action retrieval
Li et al. Long-short temporal–spatial clues excited network for robust person re-identification
Chen et al. Cluster trees of improved trajectories for action recognition
Kamishima et al. Event detection in consumer videos using GMM supervectors and SVMs
Cao et al. Image retrieval via gated multiscale NetVLAD for Social Media Applications
Adly et al. Development of an Effective Bootleg Videos Retrieval System as a Part of Content-Based Video Search Engine
Ganesh et al. A New Ontology Convolutional Neural Network for Extorting Essential Elements in Video Mining
Cheng et al. Latent semantic learning with time-series cross correlation analysis for video scene detection and classification
Bekhet et al. Video similarity measurement and search

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140226

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140523

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150325

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150415

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150508

R150 Certificate of patent or registration of utility model

Ref document number: 5746766

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees