(57)【要約】  デジタル・メディアを処理する方法を説明する。この方法は、１つの一実施形態で、ビデオ・フレームごとにビデオ・フレーム内のオブジェクトを検出することと、オブジェクトをオブジェクト・クラスタに選択的に関連付けることとによる、ビデオ・ストリーム内のオブジェクトの識別を含む。この方法は、オブジェクト・クラスタ内のオブジェクトを基準オブジェクトと比較することと、比較に基づいて基準オブジェクトのオブジェクト・データをオブジェクト・クラスタ内のすべてのオブジェクトに選択的に関連付けることとをさらに含むことができる。この方法は、基準オブジェクトのオブジェクト・データを、関連付けられた基準オブジェクトを有しないオブジェクト・クラスタ内のすべてのオブジェクトに手動で関連付けることと、オブジェクト・クラスタについて基準オブジェクトを基準データベースに移植することとをさらに含むことができる。
2011504673.tif 000002
【特許請求の範囲】
【請求項１】
複数のビデオ・フレームを含むビデオ・ストリームを処理する方法であって、
ビデオ・フレームごとに、少なくとも１つのオブジェクトを検出することと、
前記少なくとも１つのオブジェクトをオブジェクト・クラスタに選択的に関連付けることと、
前記オブジェクト・クラスタに関連付けられた前記少なくとも１つのオブジェクトを少なくとも１つの基準オブジェクトと比較することと、
前記比較に基づいて、前記少なくとも１つの基準オブジェクトのオブジェクト・データを前記オブジェクト・クラスタ内のすべてのオブジェクトに選択的に関連付けることと
を含む方法。
【請求項２】
前記少なくとも１つの基準オブジェクトの前記オブジェクト・データの前記関連付けることが、自動的に実行される、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの基準オブジェクトの前記オブジェクト・データを、関連付けられた基準オブジェクトを有しない前記オブジェクト・クラスタ内のすべてのオブジェクトに手動で関連付けることと、前記オブジェクト・クラスタに関して基準データベースに前記少なくとも１つの基準オブジェクトを移植することとをさらに含む、請求項１に記載の方法。
【請求項４】
前記少なくとも１つのオブジェクトの前記比較することが、基準オブジェクトのデータベースからの少なくとも１つの基準オブジェクトを利用する、請求項２に記載の方法。
【請求項５】
前記少なくとも１つのオブジェクトの前記少なくも１つの基準オブジェクトとの前記比較が、
前記少なくとも１つのオブジェクトを含むイメージをユーザ・インターフェースに提供することと、
前記少なくとも１つの基準オブジェクトを前記ユーザ・インターフェースに提供することと、
前記オブジェクト・データを前記オブジェクト・クラスタに関連付けるためのユーザ入力を受け取ることと
を含む、請求項１に記載の方法。
【請求項６】
前記少なくとも１つのオブジェクトの前記検出することが、
前記ビデオ・ストリームを複数のフレーム・グループに区分することと、
すべてのフレーム・グループの最初のフレームおよび最後のフレーム内の顔イメージを検出することと、
前記最初のフレームと前記最後のフレームとの間に含まれる１つまたは複数のビデオ・フレームのそれぞれで、前記少なくとも１つのオブジェクトが配置される可能性が高い近似領域を外挿することと、
前記顔イメージの前記検出を前記近似領域に制限することと
を含む、請求項１に記載の方法。
【請求項７】
前記少なくとも１つのオブジェクトの少なくとも１つの基準オブジェクトとの前記比較が、
前記少なくとも１つのオブジェクトを基準オブジェクトのより大きいセットと比較し、前記基準オブジェクトおよび前記少なくとも１つのオブジェクトが同一のオブジェクトであることの高められた尤度を有する基準オブジェクトのより小さいセットを作る、第１アクションを実行することと、
前記少なくとも１つのオブジェクトを基準オブジェクトの前記より小さいセットと比較する第２アクションを実行することと
を含む、請求項１に記載の方法。
【請求項８】
前記少なくとも１つの基準オブジェクトが、高解像度顔イメージのコレクションから選択される、請求項１に記載の方法。
【請求項９】
前記少なくとも１つのオブジェクトを表すベクトルと前記オブジェクト・クラスタ内の少なくとも１つの処理されるオブジェクトとの間の距離が第１の所定のしきい値を超えるが第２の所定のしきい値未満である時に、前記オブジェクト・データが、データ・クラスタ内のすべてのオブジェクトに関連付けられる、請求項１に記載の方法。
【請求項１０】
前記少なくとも１つのオブジェクトを表すベクトルと前記ビデオ・ストリームからの任意のオブジェクト・クラスタに既に含まれる任意のオブジェクトとの間の距離が所定のしきい値を超える時に、前記オブジェクト・データが、新しいデータ・クラスタに関連付けられる、請求項１に記載の方法。
【請求項１１】
前記オブジェクト・クラスタが、オブジェクト・フォルダであり、前記方法が、前記少なくとも１つのオブジェクトおよび前記オブジェクト・データを前記オブジェクト・フォルダ内のファイルに保存することをさらに含む、請求項１に記載の方法。
【請求項１２】
前記少なくとも１つのオブジェクトに関連する顔イメージの水平方位を表すために前記顔イメージを正規化すること、照明の強度を正規化すること、前記顔イメージの目の間の距離を正規化すること、または前記顔イメージのサイズを正規化することのうちの１つまたは複数をさらに含む、請求項１に記載の方法。
【請求項１３】
前記少なくとも１つのオブジェクトが、顔イメージであり、前記方法が、正規化された顔イメージ内の目の間の距離が４０ピクセルを下回らないイメージを選択することをさらに含む、請求項１に記載の方法。
【請求項１４】
後続ビデオ・フレーム内のオブジェクトを比較することと、
別のフレーム内のオブジェクトまたは前記オブジェクトのプロパティを識別するために、あるフレーム内のオブジェクトから導出されるデータを使用することと
をさらに含む、請求項１に記載の方法。
【請求項１５】
前記ビデオ・ストリーム内のすべてのオブジェクト出現について、前記オブジェクト出現の時刻、前記オブジェクト出現の持続時間、および前記ビデオ・ストリーム内の前記オブジェクトの空間的位置のうちの少なくとも１つをインデックス・データベースに保存することと、
検索されるオブジェクトが前記ビデオ・ストリームに現れる場所から始まる前記ビデオ・ストリームを表示するために、前記インデックス・データベース内でのオブジェクト検索機能を提供することと
をさらに含む、請求項１に記載の方法。
【請求項１６】
複数のビデオ・フレームを含むビデオ・ストリームを処理するシステムであって、
ビデオ・フレームごとに、少なくとも１つのオブジェクトが前記ビデオ・フレーム内に存在することに応答して、前記少なくとも１つのオブジェクトを検出する検出モジュールと、
前記少なくとも１つのオブジェクトをオブジェクト・クラスタに選択的に関連付ける関連付けモジュールと、
オブジェクト・クラスタごとに、前記オブジェクト・クラスタ内の前記少なくとも１つのオブジェクトを少なくとも１つの基準オブジェクトと比較する比較モジュールと、
前記比較に基づいて、前記少なくとも１つの基準オブジェクトのオブジェクト・データを前記オブジェクト・クラスタ内のすべてのオブジェクトに選択的に割り当てる割当てモジュールと
を含むシステム。
【請求項１７】
関連付けられたオブジェクト・データを有しないすべてのオブジェクト・クラスタについて基準データベースに基準オブジェクトを移植する移植モジュールをさらに含む、請求項１６に記載のシステム。
【請求項１８】
前記比較モジュールが、前記少なくとも１つのオブジェクトを基準オブジェクトのデータベースからの前記少なくとも１つの基準オブジェクトと比較する、請求項１６に記載のシステム。
【請求項１９】
前記比較モジュールが、前記少なくとも１つのオブジェクトを前記少なくとも１つの基準オブジェクトと比較し、前記システムが、
前記少なくとも１つのオブジェクトを含むイメージをユーザ・インターフェースに提供し、少なくとも１つの既知のオブジェクトを前記ユーザ・インターフェースに提供する、クライアント・モジュールと、
前記オブジェクト・データを前記オブジェクト・クラスタに関連付けるためのユーザ入力を受け取る受取モジュールと
をさらに含む、請求項１６に記載のシステム。
【請求項２０】
前記検出モジュールが、前記ビデオ・フレームに関連する前記少なくとも１つのオブジェクトを検出し、前記システムが、
前記ビデオ・ストリームを複数のフレーム・グループに区分する区分モジュールと、
前記複数のフレーム・グループのそれぞれの最初のフレームおよび最後のフレーム内で顔イメージを発見する発見モジュールと、
前記顔イメージが配置される可能性が高い前記最初のフレームと前記最後のフレームとの間の１つまたは複数のビデオ・フレーム内の領域を近似する外挿モジュールと、
顔イメージの前記検出を近似領域に制限する制限モジュールと
をさらに含む、請求項１６に記載のシステム。
【請求項２１】
前記関連付けモジュールが、前記少なくとも１つのオブジェクトを表すベクトルと前記オブジェクト・クラスタ内の少なくとも１つ処理されるオブジェクトとの間の距離が第１の所定のしきい値を超えるが第２の所定のしきい値未満である時に、前記オブジェクト・データを前記オブジェクト・クラスタ内のすべてのオブジェクトに関連付ける、請求項１６に記載のシステム。
【請求項２２】
後続フレーム内のオブジェクトを評価する評価モジュールと、
あるフレーム内のオブジェクトまたは別のフレーム内のオブジェクトのプロパティから導出されるデータを使用して、前記あるフレーム内のオブジェクトまたは前記オブジェクトのプロパティを識別する識別モジュールと
をさらに含む、請求項１６に記載のシステム。
【請求項２３】
前記ビデオ・ストリーム内のすべてのオブジェクト出現について、前記オブジェクト出現の時刻、前記オブジェクト出現の持続時間、および前記ビデオ・ストリーム内の前記オブジェクトの空間的位置のうちの１つまたは複数をインデックス・データベースに保存する保存モジュールと、
検索されるオブジェクトがビデオ・ストリームに現れる場所から始まる前記ビデオ・ストリームの表示を容易にするために、前記インデックス・データベース内でのオブジェクト検索機能を提供する検索モジュールと
をさらに含む、請求項１６に記載のシステム。
【請求項２４】
複数のビデオ・フレームを含むビデオ・ストリームを処理する方法であって、
ビデオ・フレームごとに、少なくとも１つのオブジェクトが前記ビデオ・フレームに存在することに応答して前記少なくとも１つのオブジェクトを検出する手段と、
前記少なくとも１つのオブジェクトをオブジェクト・クラスタに選択的に関連付ける手段と、
前記オブジェクト・クラスタ内の前記少なくとも１つのオブジェクトを少なくとも１つの基準オブジェクトと比較する手段と、
前記比較に基づいて、前記少なくとも１つの基準オブジェクトのオブジェクト・データを前記オブジェクト・クラスタ内のすべてのオブジェクトに選択的に関連付ける手段と
を含む方法。
【請求項２５】
１つまたは複数のプロセッサによって実施される時に、
複数のビデオ・フレームのそれぞれについて、少なくとも１つのオブジェクトが前記ビデオ・フレームに存在することに応答して前記少なくとも１つのオブジェクトを検出するオペレーションと、
前記少なくとも１つのオブジェクトをオブジェクト・クラスタに選択的に関連付けるオペレーションと、
前記オブジェクト・クラスタ内の前記少なくとも１つのオブジェクトを少なくとも１つの基準オブジェクトと比較するオペレーションと、
前記比較に基づいて、前記少なくとも１つの基準オブジェクトのオブジェクト・データを前記オブジェクト・クラスタ内のすべてのオブジェクトに選択的に関連付けるオペレーションと
を実行する命令を含むコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本願は、その全体が参照によって本明細書に組み込まれている、２００７年１１月７日に出願した米国特許仮出願第６０／９８６，２３６号、名称「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＯＦ  ＯＢＪＥＣＴ  ＲＥＣＯＧＮＩＴＩＯＮ  ＡＮＤ  ＤＡＴＡＢＡＳＥ  ＰＯＰＵＬＡＴＩＯＮ  ＦＯＲ  ＶＩＤＥＯ  ＩＮＤＥＸＩＮＧ」および２００７年１２月３日に出願した米国特許出願第１１／９４９，２５８号、名称「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＯＦ  ＯＢＪＥＣＴ  ＲＥＣＯＧＮＩＴＩＯＮ  ＡＮＤ  ＤＡＴＡＢＡＳＥ  ＰＯＰＵＬＡＴＩＯＮ  ＦＯＲ  ＶＩＤＥＯ  ＩＮＤＥＸＩＮＧ」に対する米国特許法１１９（ｅ）条の下での優先権の利益を主張するものである。
【０００２】
（技術分野）
本願は、デジタル・メディアを処理するシステムおよび方法に関する。
【背景技術】
【０００３】
ビデオ・コンテンツ内のオブジェクトの検出および認識は、人工知能におけるむずかしいタスクであることがわかっている。
【０００４】
実施形態を、限定ではなく例として添付図面の図に示すが、添付図面では、類似する符号が、類似する要素を示す。
【図面の簡単な説明】
【０００５】
【図１】一実施形態による、ビデオ・インデクシングのためのオブジェクト認識およびデータベース移植の方法およびシステムがその中で実施されるアーキテクチャを示すブロック図である。
【図２】一実施形態による、ビデオ処理システムを示すブロック図である。
【図３】一実施形態による、図２のビデオ処理システムの様々なコンポーネントの間の相互関係を示すブロック図である。
【図４】一実施形態による、顔イメージ抽出モジュールを示すブロック図である。
【図５】一実施形態による、ビデオ処理の方法を示す流れ図である。
【図６】一実施形態による、顔イメージ・クラスタ化モジュールを示すブロック図である。
【図７】一実施形態による、顔イメージ・クラスタ化の方法を示す流れ図である。
【図８】一実施形態による、顔イメージ・クラスタ化モジュールがその中で実施される環境を示すブロック図である。
【図９】本明細書で述べる方法論のうちのいずれか１つまたは複数を実行させる命令のセットを実行されるコンピュータ・システムなるマシンの一例を示す図である。
【発明を実施するための形態】
【０００６】
本明細書で説明する一実施形態は、コンピュータにインストールされたソフトウェア（コンピュータ・プログラム）を含むオペレーティング環境、ハードウェア、またはソフトウェアとハードウェアとの組合せで実施することができる。
【０００７】
本明細書で開示されるのは、最小限の計算コストで、ビデオ・クリップ内のオブジェクトを検出し、クリップ全体を通じて検出されたオブジェクトを識別する効率的な技法である。この技法を利用して、すべてのカテゴリのオブジェクト（例えば、顔イメージ）を検出することができるが、用語「顔イメージ」が、本技法がどのように働くことができるのかのより明瞭な説明を与えるために、この説明全体を通じて使用される。顔イメージの検出は、下で説明する様々なアルゴリズムを使用することができる。検出された顔イメージを、様々な判断基準に従って正規化することができ、これによって、クラスタへの顔イメージの編成が容易になる。各クラスタは、１人の人の顔イメージを含むことができるが、しかし、顔イメージが既存クラスタ内の顔イメージと同一の人に属するか否かを判定するのにこの時点でシステムの信頼度レベルが十分には高くない場合があるので、人１人あたりに作成される複数のクラスタがあってもよい。
【０００８】
顔イメージがクラスタに編成されたならば、それらの顔イメージを、基準顔イメージと比較することができる。基準顔イメージとの比較のために顔イメージの各クラスタからのある代表的な顔イメージを利用することによって、高められた効率が達成される。基準顔イメージには、システムに既知の人の顔イメージを含めることができる。システムが、類似する基準顔イメージがないのでクラスタ内の顔イメージを識別できないと判定する場合に、手動識別を実行することができる。
【０００９】
イメージが、基準顔イメージとの比較によって識別されたならば、識別されたイメージに関するクラスタ・データを、データベースに格納し、顔イメージがそこから抽出されたビデオ・クリップの検索に利用することができる。格納されたデータは、とりわけ、顔イメージに関連する人の名前、ビデオ内の人の出現の時刻、およびビデオ・クリップのビデオ・フレーム内での顔イメージの位置を含むことができる。データベースに格納されるデータを利用して、キーワード（例えば、マドンナ）によって人をビデオ・クリップから検索することができる。データ使用は、ユーザに、よりよいビデオ視聴経験を与える。例えば、そのようなデータ使用は、ユーザが、キーワードに関連する顔イメージが現れるビデオ内の時刻を判定し、また、顔イメージ出現によってビデオを通ってナビゲートすることを可能にする。
【００１０】
図１に、ビデオ・インデクシングのための顔イメージ認識およびデータベース移植（ポピュレート）の方法およびシステムが実施される環境の一例１００を示す。図１に示されているように、環境例１００は、ユーザ・システム１１０、ビデオ処理ファシリティ１２０、ネットワーク１３０、サード・パーティ・コンテンツ・プロバイダ１４０、および衛星１５０を含むことができる。
【００１１】
ユーザ・システム１１０は、さらに、ビデオ視聴アプリケーション１１２および衛星パラボラ・アンテナ１１４を含むことができる。ユーザ・システム１１０は、汎用コンピュータ、テレビジョン・セット（ＴＶ）、携帯情報端末（ＰＤＡ）、携帯電話機、無線デバイス、ならびに、様々な形で獲得され、格納され、または伝送されるイメージ（テキストを含む）のビジュアル提示が可能なすべての他のデバイスとすることができる。ビデオ視聴アプリケーション１１２は、ユーザ・システム１１０を介するビデオの表示を容易にする任意のアプリケーション・ソフトウェアとすることができる。ビデオ視聴アプリケーション１１２を、ユーザ・システム１１０、サード・パーティ・コンテンツ・プロバイダ１４０、およびビデオ処理ファシリティ１２０で実行し、またはこれらにまたがって分散させることができる。
【００１２】
衛星パラボラ・アンテナ１１４は、一実施形態で、衛星に信号を送信し、かつ／または衛星から信号を受信するという特定の目的のために設計されたタイプのアンテナである。衛星パラボラ・アンテナ１１４は、様々なサイズおよび設計を有することができ、任意のタイプのデジタル・データを衛星から受信し、衛星に送信するのに使用することができる。衛星パラボラ・アンテナ１１４を、ビデオ処理ファシリティ１２０に配置することができる。衛星パラボラ・アンテナ１１４が、ネットワーク接続性を提供する多数の手段のうちの１つにすぎず、他のタイプのネットワーク接続性を使用できることに留意されたい。
【００１３】
ビデオ処理ファシリティ１２０は、衛星パラボラ・アンテナ１５４およびビデオ処理システム２００を含むことができる。衛星パラボラ・アンテナ１５４は、上で説明した衛星パラボラ・アンテナ１１４に類似するものとすることができる。ビデオ処理ファシリティ１２０は、設置された電気配線および電子配線、ケーブリング、ならびに、ユーティリティ、グラウンド・ネットワーク、無線ネットワーク、および電気支持構造などの機器および支持構造を含む、固定構造、モバイル構造、または移動可能な構造を表すことができる。ビデオ処理システム２００を、図２を参照して例として説明する。
【００１４】
ビデオ処理システム２００は、汎用コンピュータ・プロセッサまたは、特にデジタル・メディアの受信、作成、および分配のために設計されたタイプのプロセッサとすることができる。ビデオ処理システム２００は、顔イメージの抽出をもたらす顔イメージ抽出モジュール２０４、顔イメージをクラスタ化する顔イメージ・クラスタ化モジュール２０６、および顔イメージを基準データベースに格納された基準顔イメージと比較することによって顔イメージを自動的に識別する連想エンジン２０８などの様々なモジュールを含むことができる。さらなるモジュールには、顔イメージの手動識別のための手動ラベル付けインターフェース２１４および検索可能なインデックスを格納するインデックス・データベース（ＤＢ）２１８を含めることができる。様々なモジュールを含む、顔イメージ抽出モジュール２０４の一実施形態を、下で図４を参照して例として説明する。顔イメージ抽出モジュール２０４を利用してビデオを処理するのに使用できる方法を、下で図５を参照して例として説明する。
【００１５】
ビデオから抽出された顔イメージをクラスタ化するのに利用される顔イメージ・クラスタ化モジュール２０６が、ビデオ処理システム２００に存在することができる。いくつかの一実施形態で、人１人あたり複数のクラスタを作成することができる。様々なモジュールを含む顔イメージ・クラスタ化モジュール２０６の一実施形態を、下で図５を参照して例として説明する。顔イメージ・クラスタ化モジュール２０６でビデオを処理するのに利用できる方法を、下で図８を参照して例として説明する。
【００１６】
サード・パーティ・コンテンツ・プロバイダ１４０は、デジタル・メディア・コンテンツ・ジェネレータ１４２および衛星パラボラ・アンテナ１８４を含むことができる。サード・パーティ・コンテンツ・プロバイダ１４０は、デジタル・ビデオなどのデジタル・メディア・コンテンツを所有するか、それに対する権利を有する実体とすることができる。例として、サード・パーティ・コンテンツ・プロバイダ１４０は、デジタル・メディア・ブロードキャスタにレポートを提供するニュース・サービスとすることができる。デジタル・メディア・コンテンツ・ジェネレータ１４２は、ビデオ・コンテンツを生成し、ビデオ処理ファシリティ１２０で受信されるために衛星パラボラ・アンテナ１８４またはネットワーク１３０を介してビデオ・コンテンツを送信する、ソフトウェア・アプリケーションとすることができる。衛星パラボラ・アンテナ１８４は、上で説明した衛星パラボラ・アンテナ１１４に類似するものとすることができる。ネットワーク１３０は、データ通信のために相互接続されたデータ処理ノードのネットワークとすることができる。
【００１７】
図２に示されているように、ビデオ処理システム２００は、ビデオ受取モジュール２０２、顔イメージ抽出モジュール２０４、顔イメージ・クラスタ化モジュール２０６、連想エンジン２０８、クラスタ・キャッシュ２１０、バッファード・フレーム・シーケンス・プロセッサ２１２、手動ラベル付けインターフェース２１４、および複数のデータベースを含む。データベースは、クラスタ・データベース（ＤＢ）２１６、インデックスＤＢ  ２１８、およびパターンＤＢ  ２２０を含む。
【００１８】
ビデオ受取モジュール２０２を、一実施形態で、バッファード・フレーム・シーケンス・プロセッサ２１２からビデオ・フレームを受け取るように構成することができる。いくつかの一実施形態では、受け取る時はその度に特定の個数（例えば１５）のフレームを受けるようにしてもよい。いくつかの一実施形態で、ビデオを、タイム・インターバル、例えば１分のインターバル内に受け取ることができる。
【００１９】
顔イメージ抽出モジュール２０４を、ビデオ・フレームから顔イメージを抽出するように構成することができ、このビデオ・フレームは、ビデオ受取モジュール２０２によってバッファード・フレーム・シーケンス・プロセッサ２１２から受け取られる。一部のフレームが、複数の顔イメージを含むか、顔イメージを全く含まない場合がある。顔イメージ抽出モジュール２０４を、単一のフレームに現れるすべての顔イメージを抽出するように構成することができる。フレームが顔イメージを全く含まない場合には、そのフレームを捨てることができる。顔イメージ抽出モジュール２０４は、いくつかの一実施形態で、図５に示されているように抽出された顔イメージを正規化することができる。
【００２０】
顔イメージ・クラスタ化モジュール２０６を、一実施形態で、正規化された顔イメージが顔イメージ抽出モジュール２０４によって抽出された後に、それらの正規化された顔イメージを保存するように構成することができる。抽出されたイメージをクラスタ化する方法を、図７の方法７００を参照して下で例として説明する。
【００２１】
連想エンジン２０８を、一実施形態で、正規化された顔イメージに、クラスタ内の顔イメージに関連する人の連想アイデンティティでラベル付けをするように、構成できる。クラスタにラベル付けをするために、連想エンジン２０８は、正規化された顔イメージを基準顔イメージと比較し、その比較に基づいて、顔イメージに関連する人のアイデンティティを連想することができる。クラスタ・キャッシュ２１０を、一実施形態で、クラスタが連想エンジン２０８によってラベル付けされるまで、顔イメージ・クラスタ化モジュール２０６によって作成されたクラスタを格納するように構成することができる。クラスタがクラスタ・キャッシュ２１０内でラベル付けされたならば、それらのクラスタを、クラスタＤＢ  ２１６に保存することができる。
【００２２】
バッファード・フレーム・シーケンス・プロセッサ２１２を、一実施形態で、サード・パーティ・コンテンツ・プロバイダ１４０から受け取られたビデオ・フィードを処理するように構成することができる。一例として、ビデオ・フィードを、ある持続時間のビデオ・クリップまたはある個数のフレームを有するビデオ・クリップに区分することができる。処理されたビデオ・フレームを、顔イメージ抽出モジュール２０４によって受け取ることができる。顔イメージ抽出モジュール２０４を、一実施形態で、ビデオ・フレームに含まれる顔イメージを検出するために、バッファード・フレーム・シーケンス・プロセッサ２１２から受け取られるフレームを処理するように構成することができる。顔イメージ抽出モジュール２０４は、ビデオ・フレームからテキスト・コンテンツを抽出し、そのテキスト・コンテンツをさらなる処理のために保存することができる。その後、保存されたテキスト・コンテンツを処理して、ビデオに現れる人のアイデンティティを連想するテキストを抽出することができる。
【００２３】
手動ラベル付けインターフェース２１４は、一実施形態で、同一の人に関連する可能性が高い基準顔イメージのセットと一緒に、クラスタ・キャッシュ２１０からの顔イメージをオペレータに与えるように構成されたグラフィカル・ユーザ・インターフェースとすることができる。オペレータは、視覚的に比較し、基準顔イメージのセットから、クラスタ・キャッシュ２１０からの顔イメージと同一の人に関連するとみなされる顔イメージを選択することができる。
【００２４】
クラスタＤＢ  ２１６は、一実施形態で、ビデオ・フィードから抽出された顔イメージのクラスタおよび関連するメタデータを格納するように構成されたデータベースとすることができる。クラスタＤＢ  ２１６に格納されるクラスタ内の顔イメージを、識別された顔イメージとすることができる。クラスタ内の顔イメージに関連するメタデータを、クラスタ内の以前に未知の顔イメージが識別される時に更新することができる。クラスタ・メタデータを、手動ラベル付けインターフェース２１４を使用してクラスタ・イメージを既知の基準顔イメージと比較することによって手動で更新することもできる。インデックスＤＢ  ２１８は、一実施形態で、識別された顔イメージ、各顔イメージが現れるビデオ・フレーム（１つまたは複数）内のその顔イメージの位置、および顔イメージがビデオに現れる回数のインデクシングされたレコードを移植されるデータベースとすることができる。ビデオ処理システム２００の様々なコンポーネントの間の関係を、図３を参照して例として説明する。
【００２５】
図面の図４を参照すると、図２および３を参照して前に述べた顔イメージ抽出モジュール２０４が、様々なオペレーションを実行するように構成できる複数のコンポーネントを含んで図示されている。顔イメージ抽出モジュール２０４は、検出モジュール２０４２、区分けモジュール２０４４、発見モジュール２０４６、外挿モジュール２０４８、制限モジュール２０５０、評価モジュール２０５２、識別モジュール２０５４、保存モジュール２０５６、および検索モジュール２０５８を含むことができる。顔イメージ抽出モジュール２０４のコンポーネントによって実行される様々なオペレーションを、図５の方法５００を参照して例として詳細に説明する。
【００２６】
図５は、一実施形態による、顔イメージを抽出する方法５００を示す流れ図である。方法５００を、ハードウェア、ソフトウェア、またはこの両方の組合せを含む処理論理によって実行することができる。１つの一実施形態で、処理論理は、図２に示された顔イメージ抽出モジュール２０４に存在する。方法５００を、図４に示された顔イメージ抽出モジュール２０４によって実行することができる。これらのモジュールが、処理論理を含むことができる。
【００２７】
図４および５の両方を参照すると、方法５００は、オペレーション５０２で、バッファリングされたフレームのシーケンスを受け取ることから開始される。いくつかの一実施形態で、オペレーション５０２でフレームが受け取られる時に、それらのフレームを、区分モジュール２０４４によってそれぞれ約１５フレームのグループに区分することができる。検出モジュール２０４２は、これらのフレームを分析して、顔イメージが各フレームに存在するかどうかを判定することができる。いくつかの一実施形態で、検出モジュール２０４２は、フレームの間のシーン変化を検出することによって、各フレームを個別には分析せずにフレームをサンプリングする。下でより詳細に説明するように、いくつかの一実施形態で、フレーム・サブセットの最初のフレームおよび最後のフレームを顔イメージについて分析することができ、中間フレームの分析を、顔イメージが最初のフレームおよび最後のフレームで見つかる場所の近くの区域でのみ実行することができる。
【００２８】
オペレーション５０４で、既存の顔検出アルゴリズム（例えば、ＡｄａＢｏｏｓｔ）によって、最初のフレームおよび最後のフレームの顔イメージを検出することができる。いくつかの一実施形態で、これらの非連続フレーム内で検出された顔イメージを、外挿することができる。したがって、オペレーション５０６で、外挿モジュール２０４８が、検出されたイメージの間に配置されたフレームにまたがって外挿し、中間フレーム内の顔イメージの位置を近似することができる。そのような外挿は、顔イメージを含む可能性がより高い領域内の顔イメージのありそうな位置を与え、その結果、これらの領域だけが、顔イメージを検出するためにスキャンされるようにすることができる。性能を高めるために、近似に基づいて、顔イメージを含む可能性がより低い領域を、顔スキャンから除外することができる。オペレーション５０８で、制限モジュール２０５０が、顔イメージのスキャンを外挿されたフレーム領域に制限することができる。
【００２９】
オペレーション５１０で、発見モジュール２０４６が、テキスト・コンテンツの存在について、検出された顔イメージを含むフレームをスキャンすることができる。テキスト・コンテンツは、顔イメージに関連する人の識別に役立つ可能性がある。したがって、テキスト・コンテンツが検出された顔イメージを、光学文字認識（ＯＣＲ）プロセッサによる処理のためにキューイングすることができる。
【００３０】
オペレーション５１２で、検出モジュール２０４２は、顔イメージが検出されたフレーム内での目の検出に進むことができる。目位置の検出は、２ステージで実行することができる。第１ステージでは、目イメージの大きいプールから学習された情報を使用するＡｄａＢｏｏｓｔアルゴリズム（Ｐｒｏｃ．ｏｆ  ＩＥＥＥ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｓｔａｔｉｓｔｉｃａｌ  ａｎｄ  Ｃｏｍｐｕｔａｔｉｏｎａｌ  Ｔｈｅｏｒｉｅｓ  ｏｆ  Ｖｉｓｉｏｎ、１〜２５頁、２００１年のＰ．ＶｉｏｌａおよびＭ．Ｊｏｎｅｓ、「Ｒｏｂｕｓｔ  ｒｅａｌ−ｔｉｍｅ  ｏｂｊｅｃｔ  ｄｅｔｅｃｔｉｏｎ」）によって実行することができる。次に、顔イメージ位置を、目の瞳孔の直接検出を使用する目の瞳孔中心の検出によってより正確に定義することができる。ＡｄａＢｏｏｓｔ法は、正面方位になるようにまずイメージを正規化する必要なしに使用することができる。より正確なパスに使用される方法は、目の瞳孔の直接検出に基づくものとすることができ、正面方位の顔イメージ内の開かれた目の検出に限定されてもよい。
【００３１】
目の間の距離が所定のしきい距離より大きい場合にフレームを保存するために、判定を行うことができる。例えば、４０ピクセル未満の目の間の距離を有する顔は、顔イメージを識別する時に抑制され、使用されないものとすることができる。オペレーション５１４で、評価モジュール２０５２は、正規化された顔イメージを評価して、目が明確に検出されるかどうかおよび目の間に十分な距離が存在するかどうかを判定することができる。評価モジュール２０５２が、目が明確に検出され、目の間に十分な距離が存在すると判定する場合には、顔イメージを保存することができる。その一方で、評価モジュール２０５２が、目が明確には検出されないまたは目の間に十分な距離が存在しないと判定する場合には、顔イメージを破棄することができる。
【００３２】
オペレーション５１６で、水平方位で目を位置決めするために顔イメージを正規化することができる。オペレーション５１８で、光強度によってイメージを正規化することができ、オペレーション５２０で、顔イメージ内の目中心がお互いからあるピクセル数以内に配置されるようにするために、サイズによってイメージを正規化することができる。正規化中に、すべてのイメージを拡大または縮小することができ、その結果、すべてのイメージが、同一のサイズ（例えば、１０４×１０４ピクセル）を有するようになり、したがって、目の間のあるピクセル数が保証される。本明細書で説明する手順は人間の顔に固有であるが、類似する正規化手順を利用して、例えば自動車、建物、動物、およびヘリコプタなどの任意の他のオブジェクト・カテゴリのイメージを正規化できることを当業者が理解するであろうことに留意されたい。さらに、本明細書で説明する顔検出技法を利用して、他のカテゴリのオブジェクトを検出することもできることに留意されたい。
【００３３】
オペレーション５２２で、類似によるクラスタ化を実現するために顔イメージを処理する。正規化された顔イメージを、クラスタ・キャッシュ２１０（図３）内でクラスタ化することができる。各顔イメージは、その顔イメージがクラスタ内に既に存在する顔イメージに類似する場合に、既存クラスタに追加される。これは、通常、ある人に関連する顔イメージが１つまたは少数のクラスタに格納されることをもたらす可能性がある。顔イメージが以前に作成されたクラスタに属するかどうかを判定するために、顔イメージと既にクラスタ化されている顔イメージとの間の距離を測定する。この距離が所定のしきい値未満である場合には、顔イメージは、同一クラスタに属すると仮定され、したがって、その顔イメージを同一クラスタに追加することができる。
【００３４】
いくつかの一実施形態で、距離が所定のしきい値未満である場合に、ほとんど同一の顔イメージをクラスタ・キャッシュに保存することに追加の価値がない場合があり、それに対応して、その顔イメージを捨てることができる。その一方で、前に作成されたクラスタ内の顔イメージと新たに正規化された顔イメージとの間の差が、所定のしきい値より大きい場合には、新たに正規化されたイメージは、異なる人に属する可能性があり、したがって、新しいクラスタを開始することができる。いくつかの一実施形態では、単一の人の顔イメージについて作成される複数のクラスタがあってもよい。上で既に述べたように、クラスタのサイズが増える時に、複数のクラスタの顔イメージの間の距離が、所定のしきい値未満に減る場合がある。これは、そのようなクラスタが、同一の人に属すことを示す可能性があり、したがって、そのようなクラスタを、マージ・モジュール２０７４（図６を参照して下で説明する）を使用して単一のクラスタにマージすることができる。
【００３５】
ここで、図２、３、および５を参照すると、クラスタ・キャッシュ２１０内の各クラスタに、連想エンジン２０８によって、クラスタに含まれる顔イメージに基づくありそうな人のアイデンティティのリストを用いてラベル付けをすることができる。各ありそうな人のアイデンティティに対応する信頼度レベルを、クラスタをパターンＤＢ  ２２０と比較することによって、クラスタとクラスタの正規化された顔イメージの識別から生じる顔イメージとに割り当てることができる。正規化された顔イメージの識別は、顔イメージからパターンＤＢ  ２２０内のすべての基準イメージへの距離の計算に基づく。クラスタ・キャッシュ２１０内のクラスタを、クラスタ内の顔イメージが識別された後に、ラベル、顔サイズ、およびスクリーンショットと一緒にクラスタＤＢ  ２１６に保存することができる。クラスタ・キャッシュ情報を、クラスタの顔イメージがどの人に属するかに関する自動的なまたは手動の意思決定に使用することができる。意思決定が行われた後に、クラスタ・キャッシュを利用して、インデックスを作成し、これをオペレーション５２４でインデックスＤＢ  ２１８に保存することができる。インデックスｄｂ  ２１８は、インデックス・データベース内で識別される顔イメージをビデオから検索する検索能力をユーザに与えることができる。
【００３６】
図面の図６を参照すると、顔イメージ・クラスタ化モジュール２０６が、様々なオペレーションを実行するように構成できる複数のコンポーネントを含んで図示されている。顔イメージ・クラスタ化モジュール２０６は、関連付けモジュール２０６２、比較モジュール２０６４、割当てモジュール２０６６、移植モジュール２０６８、クライアント・モジュール２０７０、受取モジュール２０７２、およびマージ・モジュール２０７４を含むことができる。顔イメージ・クラスタ化モジュール２０６によって実行される様々なオペレーションを、図７の方法７００を参照して例として説明する。
【００３７】
図７は、１つの一実施形態による、顔イメージをクラスタ化する方法７００を示す流れ図である。方法７００を、ハードウェア（例えば、専用論理、プログラマブル論理、マイクロコードなど）、ソフトウェア（汎用コンピュータ・システムまたは専用のマシンで実行されるものなど）、またはこの両方の組合せを含むことができる処理論理によって実行することができる。１つの一実施形態で、処理論理は、図２に示されたビデオ処理システム２００に存在する。方法７００を、図６を参照して上で述べた様々なモジュールによって実行することができる。これらのモジュールが、処理論理を含むことができる。
【００３８】
図６と７との両方を参照すると、方法７００は、ビデオ受取モジュール２０２から次のビデオ・フレームを受け取ることから開始される。すべてのフレームを受け取るまで、クラスタ化プロセスを、顔イメージ・クラスタ化モジュール２０６内で実行することができる。すべてのフレームが受け取られ、クラスタが形成された時に、連想プロセスを連想エンジン２０８によって開始することができる。両方のモジュールのオペレーションを、下でより詳細に説明する。したがって、ビデオ・フレームが受け取られる時に、これに、オペレーション７０２での顔イメージの検出を続けることができる。顔イメージを検出するこの方法は、図５の方法５００を参照して上で詳細に説明されている。判断ブロック７０４では、顔イメージがフレーム内で検出されるか否かを判定することができる。顔イメージがオペレーション７０２で検出されない場合に、フレームを捨てることができる。逆に、顔イメージが検出される場合には、比較モジュール２０６４が、オペレーション７０８で、検出された顔イメージを既存クラスタ内の顔イメージと比較することができる。いくつかの一実施形態で、クラスタを、当初にクラスタ・キャッシュ２１０に格納することができる。クラスタが形成されたならば、それらのクラスタをクラスタＤＢ  ２１６に保存することができる。クラスタは、イメージの他に、他のメタデータを関連付けられてもよい。例えば、メタデータを、クラスタ内の顔イメージに関連するオーディオから入手されたテキストまたは顔イメージがそこから抽出されたビデオ・フレームのビジュアル・コンテンツから入手されたテキストとすることができる。メタデータに、クラスタ内の顔イメージが抽出された点の近くのビデオおよび他の付随するデジタル・メディアから入手される他の情報を含めることもできる。
【００３９】
判断ブロック７１０で、比較モジュール２０６４は、顔イメージをクラスタ・キャッシュ２１０内の既存クラスタ内の顔イメージと比較し、顔イメージと既存クラスタ内の顔イメージとの間の差が第１の所定のしきい値未満であるかどうかを判定する。差が第１の所定のしきい値未満である（例えば、小さい変化がある）場合には、これが、これらの顔イメージが非常に似ていることと、両方の顔イメージをクラスタ・キャッシュに保存することに利益がないこととを示す可能性がある。したがって、オペレーション７１２で、顔イメージを捨てることができる。顔イメージと既存クラスタ内の顔イメージとの間の距離が第１の所定のしきい値より大きいが第２のより大きい所定のしきい値未満である場合には、判断ブロック７１４で、顔イメージが既存クラスタ内の顔イメージと同一の人に関連すること、また、顔イメージと既存クラスタ内の顔イメージとの間の差に起因して顔イメージを既存クラスタに追加することに価値があることの判断を行うことができる。したがって、オペレーション７１６で、顔イメージを既存クラスタに追加することができる。
【００４０】
顔イメージと既存クラスタ内の顔イメージとの間の距離が、第２のより大きいしきい値を超える（すなわち、大きい変化がある）場合には、その距離は、顔イメージが同一の人に関連しないことを示す可能性がある。したがって、オペレーション７１８で、新しいクラスタを作成することができる。既存クラスタへの顔イメージの追加中に、顔イメージを複数のクラスタに追加してよいと判定することができる。これは、通常、２つのクラスタが同一の人に属することを示す可能性があり、そのようなクラスタを、マージ・モジュール２０７４によって単一のクラスタにマージすることができる。顔イメージをクラスタに追加した後に、ビデオ・フレーム内の次に検出される顔イメージを取り出す。ビデオ・フレームに使用可能な顔イメージがもうない場合には、処理のために次のビデオ・フレームを受け取ることができる。
【００４１】
オペレーション７０４で、使用可能なフレームがもうない場合には、連想プロセスが開始される。したがって、オペレーション７２０で、比較モジュール２０６４による荒い比較を実行して、クラスタ内の顔イメージをパターンＤＢ  ２２０内の基準顔イメージと比較することができる。いくつかの一実施形態で、パターンＤＢ  ２２０内の基準顔イメージを、高解像度イメージとすることができる。荒い比較は、可能な基準顔イメージのセットをすばやく識別し、より低速の微細パス識別から可能性の低い基準顔イメージを除外するために実行することができる。したがって、荒い比較は、データベース内の基準顔イメージを事前に選択することを意図されたものである。オペレーション７２２で、最初の荒い比較で事前選択された基準顔イメージに対する微細な比較を実行することができる。この微細な比較は、事前に選択されたセットからの１つまたは非常に少数の基準顔イメージを、クラスタからの顔イメージと同一の人に関連するものとして識別することを可能にすることができる。
【００４２】
ブロック７２４で、識別のモードに依存して、方法７００の流れは、手動分岐または自動分岐のいずれかに進む。オペレーション７３６で、自動分岐は、連想モジュールによってなされた連想を利用する。比較モジュール２０６４は、クラスタ顔イメージからオペレーション７２２で関連付けられた基準顔イメージへの距離に基づいて、許容できる連想が行われるかどうかを判定することができる。オペレーション７３６で、比較モジュール２０６４によって行われた連想が受け入れられるという判断が行われる場合に、方法７００は、オペレーション７３０に進むことができ、メタデータを用いてクラスタにラベルを付け、ある人に関連するものとしてそのクラスタを識別することができる。いくつかの一実施形態で、すべての顔イメージについて生成される所定の個数の連想を含むリストがあってもよい。いくつかの一実施形態で、異なる認識テクノロジに基づいて利用される複数の連想方法があってもよい。例えば、認識を実行する複数の異なるアルゴリズムがあってもよく、各アルゴリズムは、クラスタ内の顔イメージとパターンＤＢ  ２２０内の基準顔イメージとの間の距離を比較モジュール２０６４に与える。クラスタ・キャッシュ内の顔イメージが識別される精度は、パターンＤＢ  ２２０のサイズに依存する可能性がある。パターンＤＢ  ２２０に格納される基準データが多ければ多いほど、自動認識の結果がよくなる。
【００４３】
逆に、オペレーション７２４で、方法７００の実行が手動分岐に進む場合に、オペレーション７２６で、オペレータに、手動識別のために顔イメージを与えることができる。例えば、クラスタＤＢ  ２１６が空である場合があり、したがって、生成される連想がないか、あるいは、クラスタＤＢ  ２１６が基準データを部分的にのみ移植されている場合のように、使用可能な連想の信頼度レベルが不十分である場合がある。したがって、オペレータがクラスタを手動で識別しなければならない場合がある。
【００４４】
手動識別を実行するために、オペレータは、クライアント・モジュール２０７０を利用することができる。オペレータに、顔イメージへの最も近い一致である基準顔イメージを与えることができる。例えば、オペレータに、顔イメージの所定のしきい値以内ではないが、それでも、手動比較のための可能性の高い候補になるのに十分に近い、複数の基準顔イメージを与えることができる。いくつかの一実施形態で、オペレータに、ビデオ・ストリームから抽出された、顔イメージの識別に役立つ可能性がある情報を供給することができる。例えば、ＯＣＲを使用してフレームのテキスト・コンテンツから抽出された名前、字幕からの人の名前、音声−テキストを使用して抽出された名前、電子番組ガイド、またはビデオ・ファイルのトランスクリプトを、正しい識別の尤度を高めるためにオペレータに供給することができる。したがって、オペレーション７２８で、オペレータは、顔イメージを視覚的に識別し、パターンＤＢ  ２２０内に一致する基準顔イメージが存在しないとオペレータが判断する場合に、新しい基準顔イメージを用いてパターンＤＢ  ２２０を更新することができる。
【００４５】
パターンＤＢ  ２２０が新しい基準顔イメージを用いて更新されたならば、オペレータは、識別する情報を用いてクラスタ・キャッシュ２１０を手動で更新するか、あるいは荒い比較ステップを繰り返すように顔イメージ・クラスタ化モジュール２０６に指示するかのいずれかを行うことができる。その一方で、オペレータが、データベースからの基準顔イメージとの比較に基づいて顔イメージを識別する場合に、オペレータは、オペレーション７３０でクラスタに手動でラベルを付けるために進行することができる。クラスタが、識別するデータを用いてラベル付けされた後に、オペレーション７３２で、クラスタ（現在はクラスタ・キャッシュ２１０内にある）を、移植モジュール２０６８によってクラスタＤＢ  ２１６に保存することができる。クラスタＤＢ  ２１６に基づいて、インデックスＤＢ  ２１８内の検索可能な情報を、オペレーション７３８で作成する。インデックスＤＢ  ２１８に格納されるインデックス情報は、オブジェクト・アイデンティティ、ビデオ・ストリーム内でのオブジェクトの位置、オブジェクトのすべての出現の時刻、およびフレーム内の空間的位置に関連するメタデータを含むことができる。視聴アプリケーションに有用な他の関連情報を、インデックスＤＢ  ２１８に格納することができる。自動ラベル付けの後に、多すぎるクラスタがメタデータを用いてラベル付けされないままになっている場合には、モジュール７３６で、手動検証を実行することができる。反対に、手動検証を実行する必要がないと判定される場合には、ビデオ・メタデータ抽出は、オペレーション７４０で完了する。
【００４６】
図面の図８を参照すると、顔イメージ・クラスタ化モジュール環境８００が、様々なオペレーションを実行するように構成できる複数のコンポーネントを含んで図示されている。顔イメージ・クラスタ化モジュール環境８００は、バッファード・フレーム・シーケンス・プロセッサ２１２、顔イメージ・クラスタ化モジュール２０６、およびクラスタＤＢ  ２１６がどのように相互作用できるのかを示す。バッファード・フレーム・シーケンス・プロセッサ２１２は、ビデオ・フレームを含むことができ、各ビデオ・フレームは、図５の方法例５００を参照して上で説明したように、抽出され、顔イメージの存在について分析される。顔イメージ・クラスタ化モジュール２０６は、上で図６を参照して述べられている。
【００４７】
図９に、本明細書で述べる方法論のうちのいずれか１つまたは複数をマシンに実行させる命令のセットをその中で実行できるコンピュータ・システム９００の一例の形でのマシンの図式表現を示す。様々な一実施形態で、このマシンは、独立のデバイスとしてオペレーションし、あるいは、他のマシンに接続され（例えば、ネットワーク化され）得る。ネットワーク化された展開では、このマシンは、サーバ−クライアント・ネットワーク環境内のサーバ・マシンまたはクライアント・マシンの能力で、あるいはピアツーピア（または分散）ネットワーク環境内のピア・マシンとしてオペレーションすることができる。このマシンは、パーソナル・コンピュータ（ＰＣ）、タブレットＰＣ、セットトップ・ボックス（ＳＴＢ）、携帯情報端末（ＰＤＡ）、セル電話機、ポータブル音楽プレイヤ（例えば、ＭＰ３プレイヤなどのポータブル・ハード・ドライブ・オーディオ・デバイス）、ウェブ・アプライアンス、ネットワーク・ルータ、スイッチまたはブリッジ、あるいはそのマシンによって行われるアクションを指定する命令のセット（シーケンシャルまたは他の形）を実行できる任意のマシンとすることができる。さらに、単一のマシンだけが図示されているが、用語「マシン」は、本明細書で述べる方法論のうちの任意の１つまたは複数を実行するために命令のセット（１つまたは複数）を個別にまたは協同で実行するマシンの任意の集合を含むとも解釈されなければならない。
【００４８】
コンピュータ・システム９００は、プロセッサ９０２（例えば、中央処理装置（ＣＰＵ）、グラフィックス処理装置（ＧＰＵ）、またはその両方）、メイン・メモリ９０４、およびスタティック・メモリ９０６を含み、これらは、バス９０８を介して互いに通信する。コンピュータ・システム９００は、さらに、ビデオ・ディスプレイ・ユニット９１０（例えば、液晶ディスプレイ（ＬＣＤ）または陰極線管（ＣＲＴ））を含むことができる。コンピュータ・システム９００は、英数字入力デバイス９１２（例えば、キーボード）、カーソル制御デバイス９１４（例えば、マウス）、ドライブ・ユニット９１６、信号生成デバイス９１８（例えば、スピーカ）、およびネットワーク・インターフェース・デバイス９２０をも含む。
【００４９】
ドライブ・ユニット９１６は、マシン可読媒体９２２を含み、マシン可読媒体９２２には、本明細書で説明する方法論または機能のうちのいずれか１つまたは複数によって実施されまたは利用される命令およびデータ構造の１つまたは複数のセット（例えば、命令９２４）が格納される。命令９２４は、完全にまたは少なくとも部分的に、コンピュータ・システム９００によるその命令の実行中に、メイン・メモリ９０４および／またはプロセッサ９０２内に存在することもできる。メイン・メモリ９０４およびプロセッサ９０２も、マシン可読媒体を構成する。
【００５０】
命令９２４を、さらに、ネットワーク９２６上でネットワーク・インターフェース・デバイス９２０を介して複数の周知の転送プロトコル（例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ））のうちの任意の１つを利用して送信しまたは受信することができる。
【００５１】
マシン可読媒体９２２は、一実施形態では、単一の媒体として示されているが、用語「マシン可読媒体」は、命令の１つまたは複数のセットを格納する単一の媒体または複数の媒体（例えば、集中化されたもしくは分散されたデータベース、ならびに／または関連するキャッシュおよびサーバ）を含むと解釈されなければならない。また、用語「マシン可読媒体」は、マシンによる実行のための命令のセットを格納し、符号化し、または担持することができ、かつ、本願の方法論のうちのいずれか１つまたは複数をマシンに実行させ、あるいは、そのような命令のセットによって利用されるかそれに関連するデータ構造を格納し、符号化し、または担持することができる、すべての媒体を含むと解釈されなければならない。したがって、用語「マシン可読媒体」は、ソリッド・ステート・メモリ、光媒体および磁気媒体、ならびに搬送波信号を含むが、これらに限定されないと解釈されなければならない。そのような媒体は、ハード・ディスク、フロッピー（登録商標）・ディスク、フラッシュ・メモリ・カード、デジタル・ビデオ・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、および類似物をも、限定なしに含むことができる。
【００５２】
本明細書で説明する一実施形態を、コンピュータ上にインストールされたソフトウェア、ハードウェア、またはソフトウェアおよびハードウェアの組合せを含むオペレーティング環境で実施することができる。
【００５３】
以上、ビデオ・インデクシングのためのオブジェクト認識およびデータベース移植の方法およびシステムを説明した。実施形態を、特定の一実施形態を参照して説明したが、本発明のより広義の趣旨および範囲から逸脱せずに、これらの一実施形態に対して様々な修正および変更を行えることは明白である。したがって、本明細書および図面は、制限的な意味ではなく例示的な意味で解釈されなければならない。
【符号の説明】
【００５４】
１１０  ユーザ・システム；  １１２  デジタル・メディア視聴アプリケーション；  
１１４  衛星パラボラ・アンテナ；  １２０  デジタル・メディア処理ファシリティ；  
１３０  ネットワーク；  １４０  サード・パーティ・コンテンツ・プロバイダ；  
１４２  デジタル・メディア・コンテンツ・ジェネレータ；  １５０  衛星：  
１５４  １８４  衛星パラボラ・アンテナ；  
２００  ビデオ処理システム；  ２０２  ビデオ受取モジュール；  
２０４  顔イメージ抽出モジュール；  ２０６  顔イメージ・クラスタ化モジュール；  
２０８  連想エンジン；  ２１０  クラスタ・キャッシュ；  
２１２  バッファード・フレーム・シーケンス・プロセッサ；  
２１４  手動ラベル付けインターフェース；  ２１６  クラスタＤＢ；  
２１８  インデックスＤＢ；  ２２０  パターンＤＢ。
【図１】
2011504673.tif 000003
【図２】
2011504673.tif 000004
【図３】
2011504673.tif 000005
【図４】
2011504673.tif 000006
【図５】
2011504673.tif 000007
【図６】
2011504673.tif 000008
【図７】
2011504673.tif 000009
【図８】
2011504673.tif 000010
【図９】
2011504673.tif 000011
【国際調査報告】
2011504673.tif 000012