(57)【要約】実施態様は、オブジェクトの捕捉のために、パーティクルに基づくフレームワークにおいて、一連のディジタル画像における特定の画像に関連する計量面を形成するステップを含む方法を提供する。計量面に基づいて、特定の画像内のオブジェクトの位置についての複数の仮定が形成される。オブジェクトの位置は、複数の仮定の各確率に基づいて推定される。
2010511932.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトの捕捉のためにパーティクルに基づくフレームワークにおいて計量面を形成するステップであって、該計量面が一連のディジタル画像における特定の画像に関連する、該ステップと、
前記計量面に基づいて、前記特定の画像内の前記オブジェクトの位置についての複数の仮定を形成するステップと、
前記複数の仮定の各確率に基づいて前記オブジェクトの位置を推定するステップと、
を含む、方法。
【請求項２】
前記計量面に基づいて前記特定の画像における乱雑状態の存在を判定するステップをさらに含む、請求項１に記載の方法。
【請求項３】
乱雑状態が存在する場合、前記特定の画像内の遮蔽が前記計量面の応答分布によって検出される、請求項２に記載の方法。
【請求項４】
動き推定が前記遮蔽の検出に依存して実行される、請求項３に記載の方法。
【請求項５】
予測ノイズ分散が前記遮蔽の検出に依存する、請求項４に記載の方法。
【請求項６】
前記計量面が差分の二乗和（ＳＳＤ）面である、請求項１に記載の方法。
【請求項７】
動き推定においてオプティック・フロー式が使用される、請求項１に記載の方法。
【請求項８】
前記オブジェクトが約３０個の画素よりも小さいサイズを有する、請求項１に記載の方法。
【請求項９】
前記パーティクルに基づくフレームワークがパーティクル・フィルタを含む、請求項１に記載の方法。
【請求項１０】
前記オブジェクトの位置を推定するステップが、前記複数の仮定の各可能性に基づいて前記パーティクル・フィルタにおける重みを決定するステップを含む、請求項９に記載の方法。
【請求項１１】
前記仮定の数が状態空間における不確実性のレベルに基づいて選択される、請求項１に記載の方法。
【請求項１２】
前記不確実性のレベルがカルバック-ライブラー距離（ＫＬＤ）サンプリングを使用して決定される、請求項１１に記載の方法。
【請求項１３】
前記オブジェクトの推定された位置を含む前記特定の画像のオブジェクト部分を特定するステップと、
前記オブジェクト部分から分けられた前記特定の画像の非オブジェクト部分を特定するステップと、
前記オブジェクト部分が前記非オブジェクト部分と比べてより大きな符号化冗長性で符号化されるように、前記オブジェクト部分と前記非オブジェクト部分を符号化するステップと、
をさらに含む、請求項１に記載の方法。
【請求項１４】
一連のディジタル画像における特定の画像に関連するデータを記憶する記憶デバイスと、
オブジェクトの捕捉のためにパーティクルに基づくフレームワークにおいて前記特定の画像に関連する計量面を形成し、該計量面に基づいて、前記特定の画像内の前記オブジェクトの位置についての複数の仮定を形成し、前記複数の仮定の各確率に基づいて前記オブジェクトの位置を推定するプロセッサと、
を備える、装置。
【請求項１５】
前記記憶デバイスおよび前記プロセッサを備える符号化器をさらに含む、請求項１４に記載の装置。
【請求項１６】
複数の命令が記憶されたプロセッサにより読み取り可能な媒体であって、
前記命令が、
オブジェクトの捕捉のために、パーティクルに基づくフレームワークにおいて、一連のディジタル画像における特定の画像に関連する計量面を形成する処理と、
前記計量面に基づいて、前記特定の画像内の前記オブジェクトの位置についての複数の仮定を形成する処理と、
前記複数の仮定の各確率に基づいて前記オブジェクトの位置を推定する処理と、
を実行するためのものである、前記媒体。
【請求項１７】
一連のディジタル画像における特定の画像に関連するデータを記憶する手段と、
オブジェクトの捕捉のために、パーティクルに基づくフレームワークにおいて前記特定の画像に関連する計量面を形成する手段と、
前記計量面に基づいて、前記特定の画像内の前記オブジェクトの位置についての複数の仮定を形成する手段と、
前記複数の仮定の各確率に基づいて前記オブジェクトの位置を推定する手段と、
を含む装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願とのクロスリファレンス）
本願は、以下の３つの出願の利益を主張するものである。
（１）「乱雑な背景およびオブジェクトの捕捉（Ｃｌｕｔｔｅｒｅｄ  Ｂａｃｋｇｒｏｕｎｄｓ  ａｎｄ  Ｏｂｊｅｃｔ  Ｔｒａｃｋｉｎｇ）」と題された２００６年１２月１日付で出願された米国仮出願第６０／８７２，１４５号（代理人整理番号ＰＵ０６０２４４）
（２）「オブジェクトの捕捉のためのモデル化（Ｍｏｄｅｌｉｎｇ  ｆｏｒ  Ｏｂｊｅｃｔ  Ｔｒａｃｋｉｎｇ）」と題された２００６年１２月１日付で出願された米国仮出願第６０／８７２，１４６号（代理人整理番号ＰＵ０６０２４５）」
（３）「オブジェクトの捕捉（Ｏｂｊｅｃｔ  Ｔｒａｃｋｉｎｇ）」と題された２００７年１月１９日付で出願された米国仮出願第６０／８８５，７８０号（代理人整理番号ＰＵ０７００３０）
優先権主張を行うこれらの３つの出願の全ての開示内容全体を、あらゆる目的のため、本出願に盛り込んだものとする。
【０００２】
本願の開示内容の少なくとも１つの実施態様は、動的状態推定に関する。
【背景技術】
【０００３】
動的システムとは、システムの状態が時間の経過と共に変化するシステムを指す。この状態は、システムを特徴付ける任意に選ばれた変数のセット（集合）である場合があるが、この状態は、興味の変数（ｖａｒｉａｂｌｅｓ  ｏｆ  ｉｎｔｅｒｅｓｔ）を含むことが多い。例えば、動的システムは、ビデオを特徴付けるように構成され、状態がビデオのフレームにおけるオブジェクトの位置として選ばれる場合がある。例えば、ビデオがテニスの試合を表すとき、状態がボールの位置として選ばれる場合がある。ボールの位置は時間の経過と共に変化するため、このシステムは動的である。ビデオの新たなフレームにおけるシステムの状態、すなわち、ボールの位置を推定することに興味が寄せられる。
【発明の概要】
【０００４】
一般的な態様によれば、オブジェクトの捕捉のために、パーティクルに基づくフレームワークにおいて、計量面が形成される。計量面は、一連のディジタル画像における特定の画像に関連する。計量面に基づいて、特定の画像内のオブジェクトの位置についての複数の仮定が形成される。オブジェクトの位置は、複数の仮定の各確率に基づいて推定される。
【０００５】
１つ以上の実施態様の詳細を添付図面および以下の説明に示す。１つの具体的な方式で説明されている場合であっても、各実施態様が様々な方式で構成される、または、実施されることは明らかである。例えば、実施態様は、方法として実施されてもよいし、処理のセットを実行するように構成された装置として実施されてもよいし、処理のセットを実行するための命令を記憶する装置として実施されてもよいし、信号において実施されてもよい。他の態様および特徴は、以下の詳細な説明を添付図面および請求の範囲と共に考慮することによって明らかになるであろう。
【図面の簡単な説明】
【０００６】
【図１】状態推定器の実施態様のブロック図である。
【図２】図１の状態推定器を実施する装置の実施態様のブロック図である。
【図３】図１の状態推定器によって推定された状態に基づいてデータを符号化するシステムの実施態様のブロック図である。
【図４】図１の状態推定器によって推定された状態に基づいてデータを処理するシステムの実施態様のブロック図である。
【図５】図１の状態推定器の実施態様によって実行される様々な機能を絵表示するダイアグラムである。
【図６】一連のディジタル画像における画像内のオブジェクトの位置を判定する方法の実施態様のフロー図である。
【図７】パーティクル・フィルタを実施する処理の実施態様のフロー図である。
【図８】パーティクル・フィルタを実施する別の処理のフロー図である。
【図９】図８の処理における動的モデルを実施する処理の実施態様のフロー図である。
【図１０】パーティクル・フィルタにおける動き推定の評価を含む動的モデルを実施する処理の実施態様のフロー図である。
【図１１】パーティクル・フィルタにおける測定モデルを実施する処理の実施態様のフロー図である。
【図１２】遮蔽されたオブジェクト位置を有する投影された軌跡の例を絵表示するダイアグラムである。
【図１３】パーティクル・フィルタを用いた状態の推定後、テンプレートを更新するかどうかを判定する処理の実施態様のフロー図である。
【図１４】パーティクル・フィルタを用いた状態の推定後、テンプレートを更新し、オブジェクトの位置の精度を向上させるかどうかを判定する処理の実施態様のフロー図である。
【図１５】投影された軌跡に対するオブジェクトの推定された位置の精度を向上させる方法の実施態様を絵表示するダイアグラムである。
【図１６】オブジェクトの位置を推定する処理の実施態様のフロー図である。
【図１７】位置推定値を選択する処理の実施態様のフロー図である。
【図１８】パーティクル・フィルタにおけるパーティクルの位置を判定する処理の実施態様のフロー図である。
【図１９】テンプレートを更新するかどうかを判定する処理の実施態様のフロー図である。
【図２０】パーティクル・フィルタにおけるパーティクルの遮蔽を検出する処理の実施態様のフロー図である。
【図２１】パーティクル・フィルタによって出力されるパーティクルに基づいて状態を推定する処理の実施態様のフロー図である。
【図２２】オブジェクトの推定された位置を変更する処理の実施態様のフロー図である。
【図２３】オブジェクトの位置を判定する処理の実施態様のフロー図である。
【発明を実施するための形態】
【０００７】
動的状態推定方法を１つ以上の実施の形態で提供する。動的状態を推定する方法を１つ以上の実施の形態で提供する。動的状態推定が使用されるアプリケーションの例として、フレーム間のビデオ内の特徴点の動きを予測する場合が挙げられる。ビデオの例は、圧縮されたビデオであり、この圧縮は、例えば、ＭＰＥＧ−２形式で行われるものである。圧縮されたビデオにおいては、フレームのサブセットのみで、通常、各フレームに関わる画像についての完全な情報を含む。完全な情報を含むこのようなフレームは、ＭＰＥＧ−２形式でＩフレームと呼ばれる。大抵のフレームは、そのフレームと、近傍Ｉフレームのような１つ以上の近傍フレームとの間の差を示す情報しか提供しない。ＭＰＥＧ−２形式において、このようなフレームは、ＰフレームおよびＢフレームと呼ばれる。データ圧縮を保持した状態でビデオにおける特徴点の進行を予測するために十分な情報を含むことは困難である。
【０００８】
ビデオにおける特徴の例は、スポーツ競技におけるボールである。例としては、テニス・ボール、サッカー・ボール、およびバスケット・ボールが挙げられる。この方法が使用されるアプリケーションの例として、マルチフレーム・ビデオにおける各フレーム間のボールの位置を予測する場合が挙げられる。ボールは、約３０画素しか占有しないものなど、比較的小さなオブジェクトである。特徴点の別の例として、スポーツ・イベントにおけるプレイヤーや審判が挙げられる。
【０００９】
ビデオにおけるフレーム間のオブジェクトの動きを捕捉する際の困難な点は、１つ以上のフレームにおけるオブジェクトの遮蔽である。遮蔽として、前面側の特徴点の後ろにオブジェクトが隠れている場合がある。これは、「実遮蔽（ｒｅａｌ  ｏｃｃｌｕｓｉｏｎ）」と呼ばれる。例えば、テニスの試合においては、テニス・ボールがプレイヤーの背後を通る場合がある。このような遮蔽は、オブジェクトが隠されている、ブロックされている、または、覆われているなど、様々な場合を指す。別の例として、遮蔽がオブジェクトの位置の判定を困難とするか、不可能とするような背景の形態である場合が挙げられる。これは、「実質遮蔽（ｖｉｒｔｕａｌ  ｏｃｃｕｌｕｓｉｏｎ）」と呼ばれる。例えば、テニス・ボールは、このテニス・ボールと概ね同じ大きさと色のオブジェクトを含む群衆など、乱雑な背景の前を通過して、他のオブジェクトからのボールの選択が困難となるか、不可能となることがある。別の例として、ボールがこのボールと同じ色のフィールドの前を通過して、ボールの位置を判定するのが不可能となるか、困難となることがある。乱雑状態を含む遮蔽により、パーティクル・フィルタにおける各パーティクルの正確な尤度推定値（ｌｉｋｅｌｉｈｏｏｄ  ｅｓｔｉｍａｔｉｏｎ）を形成することが困難となる。乱雑状態を含む遮蔽により、オブジェクト捕捉に曖昧さが生じることが多い。
【００１０】
これらの問題は、オブジェクトが小さい場合や、オブジェクトが高速に動いている場合にはより深刻となることが多い。なぜならば、例えば、ビデオにおける連続するピクチャ（例えば、フレーム）内の小さなオブジェクトの各位置が互いに重なっていないことが多いからである。各位置が重ならない場合、オブジェクト自体が重なっておらず、２つの連続したピクチャの間の時間間隔内でオブジェクトがこのオブジェクトの幅だけ少なくとも動いたことを意味する。重なりが存在しないことにより、次のピクチャ内でオブジェクトを見つけたり、オブジェクトが見つかったことについて高い信頼を置いたりすることがより困難になる。
【００１１】
オブジェクトの捕捉における曖昧さは、小さなオブジェクトに限定されない。例えば、乱雑な背景には、オブジェクトに似た特徴点が含まれる場合がある。この場合、オブジェクトのサイズに係らず、捕捉において曖昧さが生ずる。
【００１２】
オブジェクトが遮蔽されているかどうかの判定が困難な場合もある。例えば、オブジェクトの遮蔽を判定する１つの公知の方法は、正常値／外れ値率である。小さなオブジェクトおよび／または乱雑な背景が存在すると、正常値／外れ値率の判定が困難なことがある。
【００１３】
これらの困難に対処する一実施態様は、パーティクルに基づくフレームワークにおいて計量面を形成することによるものである。これらの困難に対処する別の実施態様は、パーティクルに基づくフレームワーク内の動き推定値を用い、評価することによるものである。これらの困難に対処する別の実施態様は、尤度推定において複数の仮定を用いることによるものである。
【００１４】
パーティクルに基づくフレームワークにおいて、モンテ・カルロ（Ｍｏｎｔｅ  Ｃａｒｌｏ）・シミュレーションは、通常、多数のパーティクルに渡って実行される。これらのパーティクルは、例えば、フレーム内のオブジェクトの想定される複数の異なる位置を表すことがある。モンテ・カルロ・シミュレーションに従って判定される尤度に基づいて、特定のパーティクルを選択することができる。パーティクル・フィルタは、例示的なパーティクルに基づくフレームワークである。パーティクル・フィルタにおいては、多数のパーティクルが生成され、それぞれが想定される状態を表し、画像内のオブジェクトの想定される各位置に対応する。尤度は、重みとも呼ばれ、パーティクル・フィルタにおける各パーティクルに関連する。パーティクル・フィルタにおいては、低い尤度、または、低い重みを有するパーティクルが通常、１つ以上のリサンプリング・ステップにおいて除去される。パーティクル・フィルタの結果を表す状態は、例えば、各パーティクルの加重平均である。
【００１５】
図１を参照すると、一実施態様において、システム１００は、状態推定器１１０を含み、この状態推定器１１０は、例えば、コンピュータ上で実施される。状態推定器１１０は、パーティクル・アルゴリズム・モジュール１２０、ローカル・モード・モジュール１３０、さらに、ナンバー・アダプタ・モジュール１４０を含む。パーティクル・アルゴリズム・モジュール１２０は、動的システムの各状態を推定するための、例えば、パーティクル・フィルタ（ＰＦ）などのパーティクルに基づくアルゴリズムを実行する。ローカル・モジュール１３０は、例えば、ＰＦのパーティクルに対して平均値シフト分析を実行することなどによって、ローカル・モード探索機構を適用する。ナンバー・アダプタ・モジュール１４０は、例えば、ＰＦのパーティクルにカルバック-ライブラー距離（ＫＬＤ）サンプリング処理を適用することなどにより、パーティクルに基づくアルゴリズムにおいて用いられるパーティクルの数を変更する。一実施態様においては、パーティクル・フィルタは、パーティクルが存在する状態空間内のサイズに依存して適応的にサンプリングを行うことができる。例えば、全てのパーティクルが状態空間の小さな部分に存在する場合には、少数のパーティクルがサンプリングされる。状態空間が大きい場合、または、状態の不確実性が高い場合には、多数のパーティクルがサンプリングされる。例えば、モジュール１２０〜１４０は、別個に実施されてもよいし、単一のアルゴリズムに統合されてもよい。
【００１６】
状態推定器１１０は、入力として、初期状態１５０とデータ入力１６０の双方にアクセスし、出力として、推定された状態１７０を提供する。初期状態１５０は、例えば、初期状態検出器、または、手動処理によって判定される。より具体的な例としては、ビデオのフレームなど、状態が一連のディジタル画像における画像内のオブジェクトの位置となるシステムを考慮することができる。このようなシステムにおいては、初期オブジェクトの位置は、例えば、エッジ検出およびテンプレート比較を用いた自動化されたオブジェクト検出処理によって特定することができ、あるいは、ビデオを視聴しているユーザによって手動で特定することができる。データ入力１６０は、例えば、一連のビデオ・ピクチャである。推定された状態１７０は、例えば、特定のビデオ・ピクチャにおけるボールの位置の推定値である。
【００１７】
図２において、図１の状態推定器１１０を実施する例示的な装置１９０が示されている。装置１９０は、初期状態１５０およびデータ入力１６０を受信し、出力として、推定された状態１７０を提供する処理デバイス１８０を含む。処理デバイス１８０は、記憶デバイス１８５にアクセスし、記憶デバイス１８５は、一連のディジタル画像における特定の画像に関連するデータを記憶する。
【００１８】
推定された状態１７０は、様々な目的で使用することができる。さらなる説明として、幾つかのアプリケーションを図３および図４を用いて説明する。
【００１９】
図３を参照すると、一実施態様において、システム２００は、送信／記憶デバイス２２０に結合された符号化器２１０を含む。符号化器２１０および送信／記憶デバイス２２０は、例えば、コンピュータまたは通信符号化器上で実施される。符号化器２１０は、図１のシステム１００の状態推定器１１０によって提供される推定された状態１７０にアクセスし、状態推定器１１０によって用いられるデータ入力１６０にアクセスする。符号化器２１０は、様々な符号化アルゴリズムのうちの１つ以上に従ってデータ入力１６０を符号化し、符号化されたデータ出力２３０を送信／記憶デバイス２２０に提供する。
【００２０】
さらに、符号化器２１０は、データ入力１６０の相異なる部分を相異なるように符号化するために推定された状態１７０を使用する。例えば、状態がビデオにおけるオブジェクトの位置を表す場合、符号化器２１０は、第１の符号化アルゴリズムを用いて推定された位置に対応するビデオの部分を符号化し、第２の符号化アルゴリズムを用いて推定された位置に対応しないビデオの別の部分を符号化する。第１のアルゴリズムは、例えば、第２のアルゴリズムと比較して符号化冗長性（ｃｏｄｉｎｇ  ｒｅｄｕｎｄａｎｃｙ）を有し、オブジェクトの推定された位置（そして望ましくは、オブジェクト自体）が、ビデオの他の部分よりも、より詳細に、より高い解像度で再現されることが期待される。
【００２１】
従って、例えば、一般的に低い解像度での送信であっても、捕捉されるオブジェクトに対しては、高い解像度が得られるため、例えば、ユーザがゴルフの試合においてゴルフ・ボールを見ることがより容易になる。このような実施態様の１つでは、ユーザは、低帯域幅（低いデータ転送レート）のリンクを介してモバイル・デバイス上でゴルフの試合を視聴することができる。モバイル・デバイスの例としては、携帯電話機または携帯情報端末機（ＰＤＡ）が挙げられる。低いデータ転送レートでゴルフの試合のビデオを符号化し、ゴルフ・ボールの符号化には、画像の他の部分に対して追加のビットを使用することにより、低いデータ転送レートを維持することができる。
【００２２】
送信／記憶デバイス２２０には、１つ以上の記憶デバイスまたは送信デバイスが含まれる。従って、送信／記憶デバイス２２０は、符号化されたデータ２３０にアクセスし、データ２３０を送信するか、データ２３０を記憶する。
【００２３】
図４を参照すると、一実施態様において、システム３００は、ローカル記憶デバイス３１５とディスプレイ３２０に結合された処理デバイス３１０を含む。処理デバイス３１０は、図１のシステム１００の状態推定器１１０によって提供された推定された状態１７０にアクセスし、状態推定器１１０によって用いられるデータ入力１６０にアクセスする。処理デバイス３１０は、推定された状態１７０を用い、データ入力１６０をエンハンスし、エンハンスされたデータ出力３３０を提供する。処理デバイス３１０は、推定されたデータ、データ入力、およびこれらの要素を含むデータをローカル記憶デバイス３１５に記憶させてもよく、このようなローカル記憶デバイス３１５からデータを取得してもよい。ディスプレイ３２０は、エンハンスされたデータ出力３３０にアクセスし、エンハンスされたデータをこのディスプレイ３２０上に表示する。
【００２４】
図５を参照すると、ダイアグラム４００は、動的システムの状態のための確率分布関数４１０を含む。ダイアグラム４００は、状態推定器１１０の実施態様によって実行される様々な関数を絵表示する。ダイアグラム４００は、レベルＡ、Ｂ、Ｃ、およびＤの各々において１つ以上の関数を表す。
【００２５】
レベルＡは、ＰＦによる４つのパーティクルＡ１、Ａ２、Ａ３、およびＡ４の生成を描いている。便宜的に、垂直方向の別個の破線は、４つのパーティクルＡ１、Ａ２、Ａ３、およびＡ４の各々の上の確率分布関数４１０の位置を示している。
【００２６】
レベルＢは、平均値シフト分析に基づくローカル・モード探索アルゴリズムによって４つのパーティクルＡ１〜Ａ４を対応するパーティクルＢ１〜Ｂ４にシフトすることを描いている。便宜的に、垂直方向の実線は、４つのパーティクルＢ１、Ｂ２、Ｂ３、およびＢ４の各々の上の確率分布関数４１０の位置を示している。パーティクルＡ１〜Ａ４の各々のシフトは、対応する矢印ＭＳ１〜ＭＳ４によって図示され、これは、パーティクルＡ１〜Ａ４によって示される各位置からパーティクルＢ１〜Ｂ４によって示される各位置へのパーティクルの動きをそれぞれ示している。
【００２７】
レベルＣは、重み付けされたパーティクルＣ２〜Ｃ４を描いており、これらのパーティクルＣ２〜Ｃ４は、それぞれ、パーティクルＢ２〜Ｂ４と同じ位置を有する。パーティクルＣ２〜Ｃ４は、可変のサイズを有し、ＰＦにおけるパーティクルＢ２〜Ｂ４のために判定された重みを示す。さらに、レベルＣは、ＫＬＤサンプリング処理などのサンプリング処理に従って、パーティクルの数の減少を反映し、ここで、パーティクルＢ１は、破棄されている。
【００２８】
レベルＤは、リサンプリング処理の間に生成される３つの新たなパーティクルを描いている。レベルＤにおいて生成されるパーティクルの数は、矢印Ｒ（Ｒはリサンプリングを表す）によって示される、レベルＣにおけるパーティクルの数と同じである。
【００２９】
次に、図６を参照すると、一連のディジタル画像における画像内のオブジェクトの位置を判定する方法の高レベル処理フロー６００が示されている。オブジェクトの軌跡は、前の各フレームからの位置情報に基づいて推定することができる（ステップ６０５）。当業者にとって、軌跡推定は公知である。パーティクル・フィルタを実行してもよい（ステップ６１０）。パーティクル・フィルタの様々な実施態様を以下に説明する。パーティクル・フィルタの出力によって予測されるオブジェクトの位置に対し、遮蔽がチェックされる（ステップ６１５）。遮蔽をチェックする各方法の実施態様を以下に説明する。遮蔽が見つかった場合（ステップ６２０）、軌跡投影および補間を使用して位置が判定される（ステップ６２５）。例として、図１６を参照して位置判定の実施態様を後に説明する。遮蔽が見つからない場合、パーティクル・フィルタ出力がパーティクル位置の特定に使用される（ステップ６３０）。遮蔽が見つからない場合、テンプレートに対し、ドリフトのチェックが行われる（ステップ６３５）。ドリフトとは、テンプレートの変更を指し、これは、例えば、オブジェクトがさらに遠ざかったり、近づいたり、オブジェクトの色が変化している場合に発生する。閾値を超えるドリフトが見つかった場合（ステップ６３５）、オブジェクトのテンプレートが更新されない（ステップ６４０）。これは、例えば、大きなドリフト値が部分的な遮蔽を示すことがあるため、有用である。部分的な遮蔽に基づいてテンプレートが更新されると好ましくないテンプレートが使用されることになる。そうでない場合、ドリフトが閾値を超えない場合には、テンプレートを更新することができる（ステップ６４５）。小さな変化が発生する場合（ドリフト値が小さい場合）、変化がオブジェクトに対する完全な変化であり、変化が、例えば、遮蔽によるものでないことについて、通常、より大きな信頼を置くことができる、または確信が持てる。
【００３０】
次に、図７を参照し、パーティクル・フィルタを実施する処理５００を説明する。この処理５００は、前の状態から、パーティクルの初期のセットおよび累積重み係数にアクセスする処理（ステップ５１０）を含む。パーティクルの重みのセットから累積重み係数を生成することができ、通常、高速な処理が可能となる。なお、最初の処理５００では、前の状態が初期状態となり、パーティクルおよび重み（累積重み係数）の初期のセットが生成される必要がある。初期状態は、例えば、（図１の）初期状態１５０として提供されてもよい。
【００３１】
図７を再び参照すると、ループ制御変数「ｉｔ」が初期化され（ステップ５１５）、現在の状態を判定する前に、ループ５２０が繰り返し実行される。ループ５２０はループ制御変数「ｉｔ」を使用し、「ｉｔｅｒａｔｅ」の回数実行する。ループ５２０内では、ループ５２５でパーティクルの初期のセットにおける各パーティクルが別個に取り扱われる。一実施態様においては、テニス・ボールを捕捉するためにテニスの試合のビデオに対してＰＦが適用され、新しいフレームの各々に対し、ループ５２０が所定回数（ループの繰り返し変数「ｉｔｅｒａｔｅ」の値）実行される。ループ５２０の各繰り返しは、パーティクルの位置精度を向上させるものであると期待され、テニス・ボールの位置が各フレーム毎に推定される際、推定は、良好なパーティクルに基づいて行われるものと考えられる。
【００３２】
ループ５２５は、累積重み係数に基づいてパーティクルを選択する処理（ステップ５３０）を含む。これは、公知であるように、最も大きい重みの存在するパーティクルの位置を選択する方法である。なお、多くのパーティクルが同じ位置に存在することがあり、この場合、通常、各位置に対して一度ループ５２５を実行することのみが必要となる。次に、ループ５２５は、選択されたパーティクルのための状態空間における新たな位置を予測することによってパーティクルを更新する処理（ステップ５３５）を含む。予測には、ＰＦの動的モデルを使用する。このステップを以下、より詳細に説明する。
【００３３】
動的モデルは、フレーム間のオブジェクトの状態の変化を特徴付ける。例えば、オブジェクトの運動学を反映した動きモデル、または、動き推定を用いることができる。一実施態様においては、固定されたノイズ分散を用いた固定された定速度モデルを過去のフレームにおける各オブジェクト位置に適合させる。
【００３４】
ループ５２５は、次に、ＰＦの測定モデルを用いて更新されたパーティクルの重みを決定する処理（ステップ５４０）を含む。公知であるように、重みの決定は、観察された／測定されたデータ（例えば、現在のフレームにおけるビデオ・データ）を分析することに関わる。テニスの試合の実施態様を続けると、パーティクルによって示された位置で現在のフレームからのデータがテニス・ボールの最後の位置からのデータと比較される。この比較は、例えば、カラー・ヒストグラムを分析することやエッジ検出を実行することに関わる。パーティクルのために決定された重みは、比較結果に基づいている。処理５４０は、パーティクル位置のための累積重み係数を決定する処理を含む。
【００３５】
ループ５２５は、次に、処理をするパーティクルがさらにあるかどうかを判定する処理（ステップ５４２）を含む。処理をするパーティクルがさらにある場合、ループ５２５が繰り返され、処理５００がステップ５３０の処理に飛ぶ。初期の（または「古い（ｏｌｄ）」）パーティクルのセットにおけるパーティクル毎にループ５２５を実行すると、更新したパーティクルの完全なセットが生成される。
【００３６】
次に、ループ５２０は、リサンプリング・アルゴリズムを用いて「新たな」パーティクルのセットおよび新たな累積重み係数を生成する処理（ステップ５４５）を含む。リサンプリング・アルゴリズムは、パーティクルの重みに基づいており、より大きな重みを有するパーティクルに焦点を当てるものである。リサンプリング・アルゴリズムは、各々が同一の個々の重みを有するパーティクルのセットを生成するが、特定の位置では、通常、そこに多くのパーティクルが位置する。従って、パーティクルの各位置は、通常、相異なる累積重み係数を有する。
【００３７】
リサンプリングは、通常、各ＰＦに共通な退行の問題（ｄｅｇｅｎｅｒａｃｙ  ｐｒｏｂｌｅｍ）を低減するのに役に立つ。多項、残差、層別、および系統的リサンプリングなどの幾つかのリサンプリング方法が存在する。一実施態様では、残差リサンプリングを使用する。なぜならば、残差リサンプリングは、パーティクルの順番に左右されないからである。
【００３８】
ループ５２０は、ループ制御変数「ｉｔ」を増分し（ステップ５５０）、「ｉｔ」と繰り返し変数「ｉｔｅｒａｔｅ」を比較する（ステップ５５５）ことによって続けられる。ループ５２０を介した別の繰り返しが必要である場合、新たなパーティクル・セットおよびその累積重み係数が利用可能とされる（ステップ５６０）。
【００３９】
ループ５２０を「ｉｔｅｒａｔｅ」の回数繰り返した後、パーティクル・セットは、「良好な」パーティクル・セットであることが期待され、現在の状態が判定される（ステップ５６５）。公知であるように、新たなパーティクル・セットにおけるパーティクルを平均化することによって、新たな状態が決定される。
【００４０】
図８を参照して、パーティクル・フィルタを含む処理フローの別の実施態様を説明する。全体的な処理フローは、図７を参照して既に説明した処理フローと類似しており、図７と図８に共通の要素は、ここでは詳細には説明しない。処理８００は、前の状態からパーティクルの初期セットと累積重み係数にアクセスする処理（ステップ８０５）を含む。ループ制御変数「ｉｔ」が初期化され（ステップ８１０）、現在の状態を判定する前にループが繰り返し実行される。ループにおいて、パーティクルが累積重み係数に従って選択される。次に、処理は、選択されたパーティクルのための状態空間における新たな位置を予測することによってパーティクルを更新する（ステップ８２０）。予測には、ＰＦの動的モデルを使用する。
【００４１】
次に、パーティクルのローカル・モードを、ＳＳＤ（差分の二乗和）に基づく相関面などの相関面を用いて求める（ステップ８２５）。ＳＳＤのローカル最小値が特定され、パーティクルの位置がＳＳＤの特定されたローカル最小値に変更される。他の実施態様では、適切な面を使用して、面のローカル最大値を特定し、パーティクルの位置を特定されたローカル最大値に変更する。次に、動いたパーティクルの重みが測定モデルから決定される（ステップ８３０）。例として、以下に説明するように、相関面および複数の仮定を使用して、重みを算出することができる。処理をするパーティクルがさらにある場合（ステップ８３５）、ループは、パーティクルを選択する処理に戻る。全てのパーティクルが処理されている場合には、新たな重みに基づいて各パーティクルがリサンプリングされ、新たなパーティクル群が生成される（ステップ８４０）。ループ制御変数「ｉｔ」が増分される（ステップ８４５）。「ｉｔ」が繰り返し閾値よりも小さい場合（ステップ８５０）、処理が古いパーティクル群に切り替わり（ステップ８７０）、処理が繰り返される。
【００４２】
最後の繰り返しが終了すると、現在の状態を取得する前に、さらなるステップが実行される。前のフレームにおけるオブジェクトのための遮蔽インジケータがチェックされる（ステップ８５５）。遮蔽インジケータが前のフレームにおける遮蔽を示す場合、パーティクルのサブセットが現在の状態の選択のために考慮される（ステップ８６０）。パーティクルのサブセットは、最も高い重みを有するパーティクルによって選択される。一実施の形態においては、パーティクルのサブセットは、最も高い重みを有するパーティクルである。１つ以上のパーティクルが同一の、最も高い重みを有する場合には、最も高い重みを有するこれらのパーティクルの全てがサブセットに含まれる。パーティクルの状態は、検出状態とみなすことができる。パーティクルのサブセットの選択が行われるのは、パーティクルの重みが低いほど遮蔽がパーティクルの信頼性にネガティブに影響するからである。遮蔽インジケータが前のフレームに遮蔽が存在しないことを示す場合、新たなパーティクル群のアベレージ（ａｖｅｒａｇｅ）を使用して現在の状態を決定することができる（ステップ８６５）。この場合、状態は捕捉状態である。アベレージをパーティクルの重みに従って重み付けすることができることが理解できよう。さらに、アベレージではなく、他の統計的な尺度（例えば、ミーン（ｍｅａｎ））を用いて現在の状態を判定してもよいことが理解できよう。
【００４３】
図９を参照して、動的モデル（図８の８２０）の実施態様９００を説明する。動的モデルにおいて、前のフレームからの動き情報を用いることができる。前のフレームからの動き情報を用いることによって、パーティクルは、オブジェクトの実際の位置に近くなりやすくなり、効率、精度の双方が向上する。動的モデルにおいては、代替的に、ランダム・ウォーク（ｒａｎｄｏｍ  ｗａｌｋ）を用いてパーティクルを生成することができる。
【００４４】
動的モデルは、小さなオブジェクトの捕捉に状態空間モデルを用いることができる。一連のディジタル画像における画像のための、小さなオブジェクトの捕捉のための状態空間モデルは、時間ｔにおいて、以下のように定式化することができる。
Ｘｔ＋１＝ｆ（Ｘｔ，μｔ）
Ｚｔ＝ｇ（Ｘｔ，ζｔ）
ここで、Ｘ１は、オブジェクト状態ベクトルを表し、Ｚ１は、観察ベクトルを表し、ｆおよびｇは、２つのベクトル値の関数（動的モデルおよび観察モデルのそれぞれ）を表し、μｔおよびζｔは、処理または動的ノイズ、さらに、観察ノイズのそれぞれを表す。動き推定においては、オブジェクト状態ベクトルは、Ｘ＝（ｘ，ｙ）として定義され、ここで、（ｘ，ｙ）は、オブジェクト・ウインドウの中心の座標である。推定された動きは、好ましくは、前のフレームのデータから取得され、オプティック・フロー式から推定することができる。時間ｔにおける画像内のオブジェクトの推定された動きをＶｔとすることができる。動的モデルは、以下のように表すことができる。
Ｘｔ＋１＝Ｘｔ＋Ｖｔ＋μｔ
予測ノイズμ１の分散は、動き推定のエラー測定値からなど、動きデータから推定することができる。オプティック・フロー式からの動き残差を用いることができる。代替的には、予測ノイズの分散は、動き補償の残差などの強度に基づく基準とすることができるが、好ましくは、動きデータに基づく分散は、強度データ（ｉｎｔｅｎｓｉｔｙ  ｄａｔａ）に基づく分散である。
【００４５】
ブロック９０５のステップに示されているように、パーティクル毎に、記憶された遮蔽インジケータが読み出される。遮蔽インジケータは、前のフレームにおいてオブジェクトについて判定された遮蔽の有無を示す。インジケータを読み出し（ステップ９１０）、オブジェクトが遮蔽されていたことを示している場合には、動的モデルにおいて動き推定が用いられない（ステップ９１５）。遮蔽が動き推定の精度を低下させることが理解できよう。パーティクルに対する予測ノイズ分散の値は、最大値に設定される（ステップ９２０）。これに対し、遮蔽インジケータを読み出し、前のフレームに遮蔽が存在しないことを示している場合には、処理は、パーティクルの生成に動き推定を使用する（ステップ９２５）。予測ノイズ分散方法は、動きデータからなどから推定される（ステップ９３０）。
【００４６】
次に、図１０を参照し、サンプリングする前の、パーティクル・フィルタ内部の動的モデルにおける各パーティクルに対して実行される処理フロー１０００の実施態様を示す。最初に、メモリ内の遮蔽インジケータがチェックされる（ステップ１００５）。遮蔽インジケータは、前のフレーム内のオブジェクトの遮蔽を示すことがある。前のフレームにおいてオブジェクトの遮蔽が見つかった場合（ステップ１０１０）、動き推定が動的モデルに使用されず（ステップ１０３０）、パーティクルの予測ノイズ分散が最大値に設定される（ステップ１０３５）。記憶された遮蔽インジケータが前のフレーム内のオブジェクトの遮蔽を示さない場合には、動き推定が実行される（ステップ１０１５）。
【００４７】
動き推定は、オプティック・フロー式における過去のフレーム内のオブジェクトの各位置の使用に基づくようにすることができる。オプティック・フロー式は、当業者には公知である。動き推定の後、失敗検出（ステップ１０２０）が動き推定から生ずるパーティクル位置で実行される。様々な計量指標を失敗検出に使用することができる。一実施態様においては、テンプレートにおいて反映されるオブジェクト画像と動き推定から導出されるパーティクル位置を中心とする周囲の画像パッチとの間の絶対強度差のアベレージ（平均値）が算出される。平均値が選択された閾値を超えている場合、動き推定が失敗したとみなされ（ステップ１０２５）、そのパーティクルに対し、動き推定結果が使用されないとされる（ステップ１０３０）。パーティクルに対する予測ノイズ分散は、最大値に設定される（ステップ１０３５）。動き推定が失敗していないとみなされると、そのパーティクルに対する予測値として動き推定結果が保存される（ステップ１０４０）。そこで、予測ノイズ分散を推定してもよい（ステップ１０４５）。例えば、オプティック・フロー式を使用して動き残差値を提供し、この動き残差値を予測ノイズ分散として用いることができる。
【００４８】
次に、図１１を参照し、測定モデルを用いてパーティクルの重みを算出する実施態様について説明する。方法１１００は、パーティクル毎に実行される。方法１１００は、ブロック１１０５のステップによって示されるような、計量面の算出を開始する。計量面として、相関面を用いることができる。計量面を用いてテンプレート、またはターゲット・モデルと、現在の候補パーティクルとの間の差を測定することができる。一実施態様においては、計量面を以下のように生成することができる。
【００４９】
テンプレートと候補パーティクルとの間の差の計量は、相関面などの計量面とすることができる。一実施態様においては差分の二乗和（ＳＳＤ：  ｓｕｍ−ｏｆ−ｓｑｕａｒｅｄ  ｄｉｆｆｅｒｅｎｃｅｓ）面が用いられ、これは以下の式を有する。
【数１】
2010511932.tif 000003
【００５０】
ここで、Ｗはオブジェクト・ウインドウを表す、Ｎｅｉｂは、オブジェクト中心Ｘｔの周りの小近傍（ｓｍａｌｌ  ｎｅｉｇｈｂｏｒｈｏｏｄ）である。Ｔは、オブジェクト・テンプレートであり、Ｉは、現在のフレームにおける画像である。乱雑な背景での小さなオブジェクトにおいては、このＳＳＤ面は、尤度の正確な推定値を表す。別の例示的な相関面は、以下のように表される。
【数２】
2010511932.tif 000004
相関面のサイズを変更することができる。分散の逆数として判定することができる動き推定の品質に依存して、相関面のサイズを変更することができる。一般的に、動き推定の品質の質が高いほど、相関面を小さくすることができる。
【００５１】
計量面に基づいて、パーティクルの動きについての複数の仮定が生成される（ステップ１１１０）。候補となる各仮定は、相関面のローカル最小値またはローカル最大値に関連付けられる。例えば、ＳＳＤ相関面からＪ個の候補がサポート領域Ｎｅｉｂにおいて特定された場合、Ｊ＋１個の仮定が以下のように定義される。
【数３】
2010511932.tif 000005
ここでｃｊ＝Ｔは、ｊ番目の候補が完全一致に関連していることを意味し、そうでなければ、ｃｊ＝Ｃとなる。仮定Ｈ０は、候補のいずれも完全一致に関連していないことを意味している。この実施態様においては、乱雑状態は、均一に近傍Ｎｅｉｌに分散されていると仮定され、そうでない場合、完全一致に基づく測定はガウス（Ｇａｕｓｓｉａｎ）分布である。
【００５２】
これらの仮定を用いて、各パーティクルに関連する尤度は、以下のように表すことができる。
【数４】
2010511932.tif 000006
ここで、ＣＮは、規格化係数であり、ｑ０は、仮定Ｈ０の前の  確率であり、ｑｊは、仮定Ｈｊの確率であり、ｊ＝１，・・・，Ｊである。従って、ＳＳＤを用いた尤度測定の精度の向上が複数の仮定を用いてと乱雑状態を考慮することによって行われる。
【００５３】
さらに、応答分布分散推定（ステップ１１１５）が行われる。
【００５４】
パーティクルが遮蔽されているかどうかの判定を行うことができる。差分絶対値和（ＳＡＤ）計量法など、強度に基づく評価に基づいてパーティクル遮蔽の判定を行うことができる。このような評価は、当業者には公知である。ＳＡＤに基づいて、遮蔽されている尤度が高いものに関して判定が行われる。遮蔽の強度に基づく評価は比較的演算量が小さいものであるが、乱雑な背景では精度が高くないことがある。高い閾値を設定することによって、強度に基づく評価を用いて特定の各パーティクルが遮蔽されていると判定し（ステップ１１２５）、それぞれ、重みを最小値に設定することができる（ステップ１１３０）。このような場合、遮蔽が発生したことに高い信頼を置ける。例えば、閾値は、乱雑状態のない現実の遮蔽の場合が特定されるが、遮蔽の他の場合は特定されないように選択される。
【００５５】
強度に基づく評価が遮蔽を示さない場合、確率的なパーティクル遮蔽の判定を行うことができる（ステップ１１３５）。確率的なパーティクル遮蔽の検出は、作成された複数の仮定、さらに、応答分布分散推定に基づいて行うことができる。以下に説明するように、ＳＳＤ表面を近似させるために分布が生成され、この分布に基づいて、共分散マトリックスの固有値を使用して、遮蔽が判定される（または、判定されない）。
【００５６】
応答分布は、完全一致位置上の確率分布を近似させるように定義される。換言すれば、パーティクル位置が完全一致位置であるという確率Ｄは、以下のようになる。
Ｄ（Ｘｔ）＝ｅｘｐ（−ρ・ｒ（Ｘｔ））
ρは、規格化係数である。規格化係数は、０．９５の最大値など、選択された最大値の応答を確保するように選定される。測定値Ｚｔに関連する共分散マトリックスＲｔは、以下のような応答分布から構成される。
【数５】
2010511932.tif 000007
ここで、（ｘｐ、ｙｐ）は、各候補のウインドウ中心であり、
【数６】
2010511932.tif 000008
は、共分散規格化係数である。固有値Ｒｔの逆数は、候補と関連付けられる信頼度計量値として使用することができる。一実施態様においては、Ｒｔの最大固有値が閾値と比べられる。最大の固有値が閾値を超える場合には、遮蔽が検出される。遮蔽の検出（ステップ１１４０）に応答して、パーティクルに対して最小の利用可能な重みが与えられる（ステップ１１３０）。これは、通常、零でない重みである。遮蔽が検出されない場合には、尤度が算出される。
【００５７】
一実施態様においては、遮蔽が検出された場合には、重みまたは尤度を最小値に設定するのではなく、パーティクル尤度が強度および動きに基づいてはいるが、軌跡は考慮しないで生成される。また、遮蔽が検出されない場合には、例えば、パーティクルの尤度が強度に基づいて生成される。
【００５８】
一実施態様においては、少なくとも部分的には、パーティクルによって示される位置の近傍の画像の少なくとも一部を考慮して、パーティクルに重みが割り当てられる。例えば、所与のパーティクルに対し、オブジェクト・テンプレートからの５×５の画素のブロックなどのパッチがパーティクルによって示される位置、さらに、他の領域と比較される。この比較は、特に、大きなオブジェクトについては、差分絶対値和（ＳＡＤ）マトリックスまたはヒストグラムに基づく。従って、オブジェクト・テンプレートは、パーティクルによって示される位置の近傍の画像と比較される。オフ位置（ｏｆｆ−ｐｏｓｉｔｉｏｎ）比較により、十分に異なるものであるという結果が得られれば、パーティクルに割り当てられる重みはより高いものとなる。一方、パーティクルによって示される領域が他の領域により似ている場合には、パーティクルの重みは、これに応じて小さくなる。比較に基づいてＳＳＤなどの相関面が生成され、オフ位置領域をモデル化する。
【００５９】
パーティクルが、遮蔽されていないという判定結果が出た場合、軌跡尤度が推定される（ステップ１１４５）。パーティクルの重みの推定のために、重み付けされた判定を用いることができる（ステップ１１５０）。
【００６０】
重み付けされた判定は、強度尤度（例えば、テンプレート一致）、動き尤度（例えば、過去のオブジェクトの位置のリニア外挿）、さらに、軌跡尤度のうちの１つ以上を含む。これらの係数は、パーティクル・フィルタにおいて各パーティクルの尤度または重みを判定するために用いられる。一実施態様においては、カメラ動きが軌跡の平滑度に影響を与えることがなく、軌跡の尤度に影響を与えないと仮定される。一実施態様においては、パーティクル尤度は、以下のように定義される。
【数７】
2010511932.tif 000009
ここで、
【数８】
2010511932.tif 000010
である。ＳＳＤ面に基づく強度測定値は、
【数９】
2010511932.tif 000011
である。
動き尤度は、
【数１０】
2010511932.tif 000012
によって与えられ、軌跡尤度は、
【数１１】
2010511932.tif 000013
によって与えられる。これらの３つの値は独立していると仮定される。当業者にとって、強度尤度
【数１２】
2010511932.tif 000014
の算出は公知である。
【００６１】
動き尤度は、パーティクルの位置の変化（速度）と最近の各フレームに渡ったオブジェクトの位置における平均変化との間の差に基づいて算出される。
【数１３】
2010511932.tif 000015
（ΔＸｔ，Δｙｔ）は、（ｘｔ−１，ｙｔ−１）に対するパーティクルの位置の変更であり、
【数１４】
2010511932.tif 000016
は、選択した最近の各フレームに渡った平均オブジェクト速度であり、即ち、以下のようになる。
【数１５】
2010511932.tif 000017
従って、動き尤度は、動的モデルによって予測された位置およびパーティクル位置との間の距離ｄｍｏｔ（例えば、ユークリッド（Ｅｕｃｌｉｄｉａｎ）距離）に基づいて、以下のように算出することができる。
【数１６】
2010511932.tif 000018
【００６２】
一実施態様においては、軌跡平滑度尤度は、ビデオの最近の各フレーム内のオブジェクトの各位置の一連の位置に基づいて算出される軌跡に対するパーティクルの近さから推定することができる。軌跡関数は、ｙ＝ｆ（ｘ）と表すことができ、そのパラメトリック形式は以下のように表すことができる。
【数１７】
2010511932.tif 000019
ここで、ａｉは、多項式係数、ｍは、多項式関数の次数（例えば、ｍ＝２）を表す。軌跡関数を算出する際、この式を変更することができる。第１の変更は、オブジェクトの位置が特定の過去のフレームにおける遮蔽された状態に対応すると判定された場合に、オブジェクトの位置を考慮しない、または、割り引いて考えることである。第２に、重み付け係数（ｆｏｒｇｏｔｔｅｎ係数とも呼ばれる。）に関わる。軌跡に対するパーティクルの近さの重み付けをするために算出される。オブジェクトが遮蔽されるフレームが多いほど、推定される軌跡の信頼性が低下し、従って、ｆｏｒｇｏｔｔｅｎ係数が大きくなる。
【００６３】
「ｆｏｒｇｏｔｔｅｎ係数」は、単純に、信頼度である。ユーザは、様々な考慮事項に基づいて値をｆｏｒｇｏｔｔｅｎ係数に割り当てることができる。このような考慮事項には、例えば、オブジェクトが前のピクチャ内で遮蔽されているかどうか、オブジェクトが遮蔽されている連続する前のピクチャの数、または、遮蔽されていないデータの信頼性などが含まれる。各ピクチャが異なるｆｏｒｇｏｔｔｅｎ係数を有していてもよい。
【００６４】
例示的な実施態様においては、軌跡平滑度尤度は、以下のように与えられる。
【数１８】
2010511932.tif 000020
ここで、近さ値は、ｄｔｒｊ＝｜ｙ−ｆ（ｘ）｜であり、λｆは、手動で選択されたｆｏｒｇｏｔｔｅｎ率であり、０＜λｆ＜１（例えば、λｆ＝０．９）である。また、ｔ＿ｏｃｌは、オブジェクトが遮蔽される最近のフレームの数である。
【００６５】
一実施態様においては、オブジェクトが先行するフレームにおいて遮蔽されているという判定が行われた場合、パーティクルの尤度が強度尤度および軌跡尤度に基づいて判定されるが、動き尤度は考慮されない。オブジェクトが先行するフレームにおいて遮蔽されていないという判定が行われた場合、パーティクルの尤度が強度尤度および動き尤度に基づいて判定されるが、軌跡尤度は考慮されない。これは有益であるが、その理由は、オブジェクトの位置が前のフレームにおいて既知であるとき、通常、軌跡の制約を提供することには比較的利点が少ないからである。さらに、軌跡の制約を組み込むことは、時間的マルコフ連鎖の仮定に反することがある。即ち、軌跡の制約の使用により、後続する状態が、直前のフレームではないフレームの状態に依存することになる。オブジェクトが遮蔽されている、または、動き推定が閾値の下であるという判定がなされた場合、通常、パーティクル尤度判定において動き尤度を含めることに利点がない。この実施態様においては、パーティクル尤度は、以下のように表すことができる。
【数１９】
2010511932.tif 000021
ここで、オブジェクトが遮蔽されている場合、Ｏｔ＝０であり、オブジェクトが遮蔽されていない場合、Ｏｔ＝１である。
【００６６】
図１２を参照すると、ビデオのフレームにおいてオブジェクトの軌跡をオブジェクトの位置に適合させる例が示されている。要素１２０５、要素１２０６、要素１２０７は、ビデオの３つのフレームにおける小さなオブジェクトの位置を表している。要素１２０５、要素１２０６、要素１２０７は、ゾーン１２０８の中に位置し、遮蔽されていない。要素１２３０および１２３１は、要素１２０５、要素１２０６、および要素１２０７によって表されるフレームの後の、ビデオの２つのフレームにおける小さなオブジェクトの各位置を表す。要素１２３０および１２３１は、ゾーン１２３２内に位置し、遮蔽されていると判定されており、判定された各位置についての不確実性が高い。したがって、図１２において、ｔ＿ｏｃｌ＝２である。実際の軌跡１２１０が図示され、これは、予測された軌跡１２２０に投影される。
【００６７】
次に、図１３を参照すると、テンプレートの実施態様の処理フローが示されている。図１３の処理フローの開始時点で、パーティクル・フィルタなどにより、オブジェクトの新たな状態が推定されている。新たな推定された状態は、例えば、新たなフレームにおけるオブジェクトの推定された位置に対応する。図１３の処理フロー１３００を用いて次に続くフレームの状態を推定する際に既存のテンプレートを再利用するかどうかを判定することができる。ステップ１３０５によって示すように、遮蔽検出は、現在のフレーム内のオブジェクトの新たな推定された位置で実行される。遮蔽が検出される場合（ステップ１３１０）、遮蔽インジケータがメモリにセットされる（ステップ１３３０）。例えば、後続するフレームのためのパーティクル・フィルタにおいてこのインジケーションを用いることができる。遮蔽が検出されない場合、処理フローは、ドリフトの検出に進む（ステップ１３１５）。一実施態様においては、ドリフトは、新たなフレームにおけるオブジェクトの画像と初期のテンプレートとの間の動きの残差の形態である。ドリフトが閾値を超える場合（ステップ１３２０）、テンプレートは更新されない（ステップ１３３５）。ドリフトが閾値を超えない場合、現在のフレームからのオブジェクト・ウインドウ画像を用いて、テンプレートが更新される（ステップ１３２５）。さらに、オブジェクトの動きパラメータを更新してもよい。
【００６８】
次に図１４を参照すると、オブジェクトのテンプレートを更新し、位置推定値の精度を向上させる、処理１３００に対して別の実施態様のフロー図が示されている。処理１４００において、現在のオブジェクトの状態の判定後、判定されたオブジェクト位置および現在のフレームに対する遮蔽検出が実行される（ステップ１４０５）。遮蔽が検出される場合（１４１０）、推定されたオブジェクト位置が修正される。このような修正は有用である。その理由は、例えば、判定された位置が正確であるという信頼性が遮蔽により低下するからである。従って、精度が向上した位置推定値が有用となる場合がある。一例においては、遮蔽の判定は、乱雑状態の存在に基づいており、判定されたオブジェクトの位置は、実際は、乱雑状態の一部の位置である。
【００６９】
修正は、軌跡の平滑度に関連する情報を用いて実施することができる。オブジェクト位置は、前のフレームにおける位置データからの情報を用いて判定された軌跡上に投影される（ステップ１４１５）。例えば、等速を用いた直線投影を採用することができる。位置精度を向上させてもよい（ステップ１４２０）。
【００７０】
図１５を参照すると、オブジェクト位置を軌跡上に投影させ、位置精度を向上させる処理が描かれている。軌跡１５０５が示されている。位置１５１０は、前のフレームにおけるオブジェクトの位置を表す。データ・ポイント１５１５は、時間ｊでの前のフレーム内の位置Ｘｊを表す。データ・ポイント１５２０は、時間ｉでの前のフレームの位置Ｘを表す。データ・ポイント１５１０、１５１５、および１５２０は、遮蔽されていないオブジェクトの位置、即ち、比較的高品質のデータを表す。データ・ポイント１５２５、１５３０、１５３５、１５４０は、前のフレーム内のオブジェクトの各位置を表すが、遮蔽の影響を受けている。従って、これらのデータ・ポイントは、軌跡の計算において、無視してもよいし、低い重みを与えてもよい。軌跡１５０５は、これらのデータ・ポイントの適合化に基づいて既に生成されたものであり、特定のデータ・ポイントの遮蔽が重み付けされている。
【００７１】
現在、即ち、時点ｃｕｒでのフレーム内のオブジェクトの初期算出は、以下の式を用いて、直線および等速を用いて行うことができる。
【数２０】
2010511932.tif 000022
これは、初期の推定された現在のフレーム位置１５４５（リニア位置推定値とも呼ばれる）を取得するために、直線投影１５５０（リニア外挿とも呼ばれる）によって表される。初期の推定された現在のフレーム位置は、次に、
【数２１】
2010511932.tif 000023
として算出された軌跡（投影ポイントとも呼ばれる）上に投影される。これは、
【数２２】
2010511932.tif 000024
に最も近い軌跡上のポイントである。投影には、以下の式を用いることができる。
【数２３】
2010511932.tif 000025
ここで、λｆは、ｆｏｒｇｏｔｅｎ率であり、０＜λｆ＜１（例えば、λｆ＝０．９）である。また、ｔ＿ｏｃｌは、オブジェクトが最後に見えていたときからの、オブジェクトが遮蔽されたフレームの回数である。一実施態様においては、投影は、
【数２４】
2010511932.tif 000026
と
【数２５】
2010511932.tif 000027
との間で補間された軌跡上のポイントである。従って投影は、
【数２６】
2010511932.tif 000028
と
【数２７】
2010511932.tif 000029
との間のライン上になる。このような実施態様においては、投影は、以下のように表すことができる。
【数２８】
2010511932.tif 000030
【００７２】
図１５において、位置１５３０、１５３５で表されるように、オブジェクトは、最近の２つのフレーム上で遮蔽されており、ｔ＿ｏｃｌ＝２である。この式の適用により、一般的に、オブジェクト位置は、軌跡と直線投影との間で補間された位置に移動される。ｔ＿ｏｃｌが高くなると、軌跡がより不確かなものとなり、位置は直線投影により近いものとなる。図１５に示す例では、補間された位置１５４０が判定される。位置１５４０は、遮蔽されたゾーン１５４５内にあるため、遮蔽されている。
【００７３】
再び図１４を参照して、遮蔽のチェックの結果、遮蔽がないことがわかった場合の処理フローについて説明する。オブジェクト・テンプレートのドリフトが決定される（ステップ１４２５）。テンプレートのドリフトは、現在のテンプレートと初期のテンプレートとの双方に対して動き推定を適用することによって検出される。各結果が比較される。動き推定の適用後、２つのテンプレートの間の差が閾値を超えている場合（ステップ１４３０）、ドリフトが発生している。この場合、前のテンプレートは更新されず（ステップ１４４５）、新たなテンプレートが取得される。差が閾値を超えていない場合、テンプレートが更新される（ステップ１４３５）。
【００７４】
処理フローは、さらに、メモリ内の遮蔽インジケータを更新する処理（ステップ１４４０）を含む。そして、前のフレームのための遮蔽インジケータは、次のフレームでのオブジェクト位置を推定する際、パーティクル・フィルタにおいてチェックされる。
【００７５】
次に、図１６を参照すると、方法１６００は、オブジェクトを捕捉するためのパーティクルに基づくフレームワークにおける計量面を形成する処理（ステップ１６０５）を含む。計量面は、一連のディジタル画像における特定の画素に関連する。計量面に基づく特定の画像内のオブジェクトの位置の複数の仮定が形成される（ステップ１６１０）。オブジェクトの位置は、複数の仮定の各確率に基づいて推定される（ステップ１６１５）
【００７６】
図１７を参照すると、方法１７００は、一連のディジタル画像における特定の画像内のオブジェクトの動き推定値を評価する処理（ステップ１７０５）を含む。動き推定は、一連のディジタル画像における以前の画像に基づいている。評価結果に基づいて、オブジェクトのために、少なくとも１つの位置推定値が選択される（ステップ１７１０）。位置推定値は、オブジェクトを捕捉するためのパーティクルに基づくフレームワークの一部である。
【００７７】
次に、図１８を参照すると、方法１８００は、一連のディジタル画像内の各画像の間でオブジェクトを捕捉するために用いられるパーティクルに基づくフレームワークにおいて、パーティクルを選択する処理（ステップ１８０５）を含み、パーティクルは、位置を有する。方法１８００は、１つ以上のパーティクルがオブジェクトに一致する度合いを示す面にアクセスする処理（ステップ１８１０）を含む。さらに、方法１８００は、この面上の位置を決定する処理（ステップ１８１５）を含む。この位置は、選択したパーティクルに関連し、選択されたパーティクルがオブジェクトに一致する度合いを示す。方法１８００は、面のローカル最小値またはローカル最大値を決定された位置に関連付ける処理（ステップ１８２０）を含む。さらに、方法１８００は、選択されたパーティクルの位置を判定されたローカル最小値またはローカル最大値に対応するように移動させる処理（ステップ１８２５）を含む。
【００７８】
次に、図１９を参照すると、方法１９００は、一連のディジタル画像におけるオブジェクトのためのオブジェクト・テンプレートを形成する処理（ステップ１９０５）を含む。方法１９００は、さらに、一連のディジタル画像における特定の画像内のオブジェクトの位置の推定値を形成する処理（ステップ１９１０）を含む。推定値は、パーティクルに基づくフレームワークを用いて形成される。オブジェクト・テンプレートは、推定された位置での特定の画像部分と比較される（ステップ１９１５）。比較結果に依存してオブジェクト・テンプレートを更新するかどうかが判定される（ステップ１９２０）。
【００７９】
次に、図２０を参照すると、方法２０００は、一連のディジタル画像における各画像間でオブジェクトを捕捉するためのパーティクルに基づくフレームワークにおいて、遮蔽を検出するために、強度に基づいて評価を実行する処理（ステップ２００５）を含む。一実施態様においては、強度に基づく評価は、データの関連付けに基づいて行うことができる。遮蔽が検出されない場合（ステップ２０１０）、確率的な評価が実行され、遮蔽が検出される（ステップ２０１５）。一実施態様においては、確率的な評価は、相関面に基づく上述した方法を含む。オプションとして、遮蔽の検出処理の結果のインジケータが記憶される（ステップ２０２０）。
【００８０】
次に図２１を参照すると、方法２１００は、一連のディジタル画像における各画像間でオブジェクトを捕捉するために、利用可能なパーティクルのサブセットを選択する処理（ステップ２１０５）を含む。一実施態様においては、図２１に示すように、最も高い尤度を有するパーティクルが選択される。選択されたパーティクルのサブセットに基づいて状態が推定される（ステップ２１１０）。
【００８１】
次に図２２を参照すると、方法２２００は、一連のディジタル画像における特定のフレーム内のオブジェクトの推定された位置が遮蔽されていると判定する処理（ステップ２２０５）を含む。オブジェクトの軌跡が推定される（２２１０）。推定された位置は、推定された軌跡に基づいて変更される（ステップ２２１５）。
【００８２】
次に図２３を参照すると、方法２３００は、オブジェクトの軌跡を判定する処理（ステップ２３１０）を含む。例えば、オブジェクトは、一連のディジタル画像における特定の画像内にあってもよいし、軌跡は、一連のディジタル画像における１つ以上の以前の画像内のオブジェクトの１つ以上の以前の位置に基づくものであってもよい。方法２３００は、パーティクルから軌跡までの距離に基づいてパーティクルの重みを決定する処理（ステップ２３２０）を含む。方法２３００は、判定されたパーティクルの重みに基づいてオブジェクト位置を決定する処理（ステップ２３３０）を含む。位置は、例えば、パーティクルに基づくフレームワークを用いて決定することができる。
【００８３】
各実施態様は、例えば、オブジェクトの位置推定値を生成してもよい。このような推定値は、例えば、オブジェクトを含むピクチャを符号化する際に使用することができる。符号化は、例えば、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６４、または他の符号化技術を使用することができる。推定値、または、符号化データは、例えば、信号、または、プロセッサにより読み取り可能な媒体上に提供することができる。各実施態様は、非オブジェクト捕捉アプリケーションまたは非ビデオ・アプリケーションに適応させることもできる。例えば、状態は、オブジェクトの位置でない特徴を表していてもよく、オブジェクトに関するものでさえなくてもよい。
【００８４】
本明細書中に記載される各実施の態様は、例えば、方法や処理、装置、またはソフトウエア・プログラムにおいて実施することができる。単一の実施の形態で記載されている（例えば、方法としてのみ記載されている）場合であっても、そこで記載された特徴の実施を他の形態で実施することもできる（例えば、装置またはプログラム）。装置は、例えば、適切なハードウエア、ソフトウエア、および、ファームウエアにおいて実施することができる。方法は、例えば、プロセッサなどの装置において実施することができ、ここでのプロセッサは、例えば、コンピュータ、マイクロプロセッサ、集積回路、または、プログラム可能な論理デバイスを含む一般的な処理デバイスである。処理デバイスは、さらに、例えば、コンピュータ、携帯電話、携帯（個人）情報端末（ＰＤＡ）やエンドユーザ間の情報通信を容易にする他のデバイスなどの通信デバイスを含む。
【００８５】
本明細書中で説明した各実施態様の様々な処理および特徴は、様々な機器またはアプリケーション、特に、例えば、符号化および復号に関わる機器またはアプリケーションにおいて実施することができる。機器の例には、ビデオ符号化器、ビデオ復号器、ビデオ・コーデック、ウエブ・サーバ、セットトップ・ボックス、ラップトップ、パーソナル・コンピュータ、携帯電話、携帯情報端末（ＰＤＡ）、および他の通信デバイスが含まれる。機器は、モバイルなものでもよく、移動車両に設置されるものでさえもよいことは明らかであろう。
【００８６】
さらに、各方法は、プロセッサによって実行される各命令によって実施されるものでもよく、このような命令は、例えば、プロセッサによって読み出し可能な媒体に記憶することができる。例えば、この読み出し可能な媒体として、集積回路、ソフトウエア・キャリア、または、例えば、ハードディスク、コンパクト・ディスク、ランダム・アクセス・メモリ（ＲＡＭ：）、読み出し専用メモリ（ＲＯＭ）、などの他の記憶デバイスが挙げられる。各命令は、プロセッサによって読み取り可能な媒体上に現実に実施されるアプリケーション・プログラムを形成することができる。各命令は、例えば、オペレーティング・システムに存在してもよいし、別個のアプリケーションに存在してもよいし、または、これらの２つの組み合わせに存在してもよい。従って、プロセッサは、処理を実施するように構成された装置、さらに、例えば、処理を実施するための各命令を有するコンピュータによって読み取り可能な媒体を含む装置の双方によって特徴付けることができる。
【００８７】
当業者であれば明らかであろうが、各実施態様は、例えば、記憶される、または、送信される情報を搬送するようにフォーマットされた信号を生成することもある。この情報は、例えば、方法を実行する命令、または、記載した各実施態様の１つによって生成されたデータを含む。このような信号は、例えば、電磁波（例えば、スペクトラムの無線周波数部分を使用したもの）、または、ベースバンド信号としてフォーマットされることがある。フォーマッティングには、例えば、データ・ストリームの符号化、さらに、符号化されたデータ・ストリームを有するキャリアの変調を含む。信号が搬送するこの情報は、例えば、アナログまたはディジタルの情報である。この信号は、公知な様々な異なる有線または無線リンクを介して送信することができる。
【００８８】
幾つかの実施態様について説明したが、様々な改変が可能であることが理解できるであろう。例えば、他の実施態様を生み出すために、異なる実施態様の要素を組み合わせること、補完すること、変更すること、または、除去することが可能である。さらに、当業者であれば、開示されている構造および処理を他のものに置き換えることにより、開示された実施態様と少なくとも概ね同一の結果を達成するために、少なくとも同一の機能を、少なくとも同一の方法で実施することが可能である。従って、これらの実施の態様、さらに、本願によって企図される他の実施の態様は、後続する請求の範囲に包含されるものである。
【図１】
2010511932.tif 000031
【図２】
2010511932.tif 000032
【図３】
2010511932.tif 000033
【図４】
2010511932.tif 000034
【図５】
2010511932.tif 000035
【図６】
2010511932.tif 000036
【図７】
2010511932.tif 000037
【図８】
2010511932.tif 000038
【図９】
2010511932.tif 000039
【図１０】
2010511932.tif 000040
【図１１】
2010511932.tif 000041
【図１２】
2010511932.tif 000042
【図１３】
2010511932.tif 000043
【図１４】
2010511932.tif 000044
【図１５】
2010511932.tif 000045
【図１６】
2010511932.tif 000046
【図１７】
2010511932.tif 000047
【図１８】
2010511932.tif 000048
【図１９】
2010511932.tif 000049
【図２０】
2010511932.tif 000050
【図２１】
2010511932.tif 000051
【図２２】
2010511932.tif 000052
2010511932.tif 000053
【図２３】
2010511932.tif 000054
【国際調査報告】
2010511932.tif 000055
2010511932.tif 000056