(57)【特許請求の範囲】
【請求項１】
画像処理装置によって実行される画像処理方法であって、
輪郭設定手段において複数フレームにより構成される動画像データの各フレームに対して初期輪郭を生成するステップと、
画像選択手段において当該生成された各フレームの初期輪郭の中から特定のフレームの初期輪郭を選択するステップと、
輪郭収束手段において当該選択されたフレームの初期輪郭を当該抽出対象の輪郭に収束させるステップと、
当該輪郭収束の結果に基づいて、当該輪郭設定手段において他のフレームに対して当該抽出対象の初期輪郭を設定し、その設定された初期輪郭に基づいて、当該輪郭収束手段において当該抽出対象の輪郭に収束させるステップ
とを有し、
当該他のフレームは当該選択したフレームよりも時間的に前及び後のフレームを設定できることを特徴とする画像処理方法。
【請求項２】
画像処理装置によって実行される画像処理方法であって、
輪郭設定手段において複数フレームにより構成される動画像データの各フレームに対して初期輪郭を生成するステップと、
輪郭収束手段において当該各フレームの初期輪郭を当該抽出対象の輪郭に収束させるステップと、
画像選択手段において当該収束された各フレームの輪郭の中から特定のフレームを選択するステップと、
当該選択されたフレームの輪郭収束の結果に基づいて、当該輪郭設定手段において他のフレームに対して当該抽出対象の初期輪郭を設定し、その設定された初期輪郭に基づいて、当該輪郭収束手段において当該抽出対象の輪郭に収束させるステップ
とを有し、
当該他のフレームは当該選択したフレームよりも時間的に前及び後のフレームを設定できることを特徴とする画像処理方法。
【請求項３】
画像処理装置によって実行される画像処理方法であって、
輪郭設定手段において複数フレームにより構成される動画像データの各フレームに対して初期輪郭を生成するステップと、
輪郭収束手段において当該各フレームの初期輪郭を当該抽出対象の輪郭に収束させるステップと、
当該各フレームの輪郭収束の結果に基づいて、当該輪郭設定手段において他のフレームに対して当該抽出対象の初期輪郭を設定し、その設定された初期輪郭に基づいて、当該輪郭収束手段において当該抽出対象の輪郭に収束させるステップと、
画像選択手段において当該各フレームの輪郭収束の結果に基づいた当該他のフレームの収束結果の中から特定の結果を選択するステップ
とを有し、
当該他のフレームは当該選択したフレームよりも時間的に前及び後のフレームを設定できることを特徴とする画像処理方法。
【請求項４】
請求項１〜３のいずれか１項に記載された画像処理方法を実行するためのプログラムソフトウエアが記憶されていることを特徴とする記憶媒体。
【請求項５】
複数フレームにより構成される動画像データの各フレームに対して初期輪郭を生成する初期輪郭生成手段と、
当該生成された各フレームの初期輪郭の中から特定のフレームの初期輪郭を選択する選択手段と、
当該初期輪郭を当該抽出対象の輪郭に収束させる輪郭収束手段
とを有し、
当該初期輪郭生成手段は、当該輪郭収束の結果に基づいて他のフレームに対して当該抽出対象の初期輪郭を設定し、当該輪郭収束手段は当該輪郭収束手段により当該設定された初期輪郭を当該抽出対象の輪郭に収束させ、
当該他のフレームは当該選択したフレームよりも時間的に前及び後のフレームを設定できる
ことを特徴とする画像処理装置。
【請求項６】
複数フレームにより構成される動画像データの各フレームに対して初期輪郭を生成する初期輪郭生成手段と、
当該各フレームの初期輪郭を当該抽出対象の輪郭に収束させる輪郭収束手段と、
当該収束された各フレームの輪郭の中から特定のフレームを選択する選択手段
とを有し、
当該初期輪郭生成手段は、当該選択されたフレームの輪郭収束の結果に基づいて他のフレームに対して当該抽出対象の初期輪郭を設定し、当該輪郭収束手段は当該輪郭収束手段により当該設定された初期輪郭を当該抽出対象の輪郭に収束させ、
当該他のフレームは当該選択したフレームよりも時間的に前及び後のフレームを設定できる
ことを特徴とする画像処理装置。
【請求項７】
複数フレームにより構成される動画像データの各フレームに対して初期輪郭を生成する初期輪郭生成手段と、
当該各フレームの初期輪郭を当該抽出対象の輪郭に収束させる輪郭収束手段と、
当該各フレームの輪郭収束の結果に基づいた当該他のフレームの収束結果の中から特定の結果を選択する選択手段
とを有し、
当該初期輪郭生成手段は、当該各フレームの輪郭収束の結果に基づいて他のフレームに対して当該抽出対象の初期輪郭を設定し、当該輪郭収束手段は当該輪郭収束手段により当該設定された初期輪郭を当該抽出対象の輪郭に収束させ、前記選択手段は当該各フレームの輪郭収束の結果に基づいた当該他のフレームの収束結果の中から特定の結果を選択し、
当該他のフレームは当該選択したフレームよりも時間的に前及び後のフレームを設定できる
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理方法及び装置並びに記憶媒体に関し、より具体的には、動画像におけるオブジェクトを抽出する画像処理方法及び装置、並びにその方法を実行するプログラムソフトウエアを記憶する記憶媒体に関する。
【０００２】
【従来の技術】
近年、動画像をオブジェクトという構成要素の合成からなると把握し、そのオブジェクトを単位として圧縮符号化する方式が検討され、現在、ＭＰＥＧ−４として標準化作業が進行中である。オブジェクトは任意の形状を取り得るので、形状情報を表すシェイプと呼ばれるデータと、画像の内容を表すテクスチャと呼ばれるデータの組合わせで表現される。
【０００３】
オブジェクトの生成方法として、スタジオセット等を用いたクロマキー分離法、コンピュータ・グラフィックス（ＣＧ）により目的のオブジェクトを生成する方法、及び自然画から抽出する方法などが知られている。
【０００４】
クロマキー法は、スタジオにブルーバックと呼ばれる均一な青色の背景を用意し、撮影画像からブルーの部分を切り取ることにより、対象のオブジェクトを抽出する方法である。
【０００５】
コンピュータ・グラフィックス（ＣＧ）では、初めから任意形状の画像を生成できるので、特に抽出処理を考える必要はない。アニメーション画像の場合は、１つ１つのセル画を各オブジェクトと見なせば、ＣＧと同様に処理できる。
【０００６】
自然画からオブジェクトを抽出する場合、スネークスと呼ばれる動的輪郭モデルのエネルギー最小化がよく知られている（たとえば、  Ｍｉｃｈａｅｌ  Ｋａｓｓ，Ａｎｄｒｅｗ  Ｗｉｔｋｉｎ，ａｎｄ  Ｄｅｍｅｔｒｉ  Ｔｅｒｚｏｐｏｕｌｏｓ，”Ｓｎａｋｅｓ：  Ａｃｔｉｖｅ  Ｃｏｎｔｏｕｒ  Ｍｏｄｅｌｓ”，  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，  Ｖｏｌ．１，  Ｎｏ．３，ｐｐ．３２１−３３１，  １９８８）。
【０００７】
スネークスは、輪郭線が抽出されたときに最小となるエネルギー関数を定義し、適当な初期値からその極小解を反復計算により求めるものである。エネルギー関数は、エッジ点を通る制約の外部エネルギーと滑らかさの制約である内部エネルギーの線形和で定義される。
【０００８】
スネークスを適用するには、抽出対象の輪郭を初期輪郭として大まかに指定しておく必要がある。動画像の場合、各フレーム毎に初期輪郭の設定が必要となるが、前のフレームの抽出結果を現フレームの初期値とすることで、自動化が可能となる。フレーム間で対応する輪郭線を求める技術は、トラッキングと呼ばれている。
【０００９】
【発明が解決しようとする課題】
これらの抽出方法は、いずれも困難な問題点を含んでいる。すなわち、クロマキー法は、背景色が均一である必要があり、精度の高い抽出を目指すと、大掛かりなスタジオセットが必要となる。また、オブジェクト対象が背景色を含んでいる場合に、対象を正しく抽出できないので、対象の色が制約される。
【００１０】
コンピュータ・グラフィックス及びアニメーションでは、抽出処理は必要ないが、ビデオカメラで撮影したような自然画に対応できないという致命的な欠点を有している。
【００１１】
自然画からオブジェクトを抽出する方法は、画像内容に対する制約が低く、汎用性が高いという利点がある反面、初期輪郭をある程度、正確に指定する必要があるという欠点がある。これは、動的輪郭モデルの極小解が初期輪郭の影響を大きく受けることによる。つまり、初期輪郭が実際のオブジェクトの輪郭から離れていると、演算の収束結果が実際のオブジェクトの輪郭と一致しなくなる。初期輪郭設定は、ユーザがマウス等のＧＵＩ（グラフィカル・ユーザ・インターフェース）を用いて設定する方法が一般的である。マニュアル操作による初期輪郭設定は操作性が悪く、再現性のある初期輪郭設定は困難である。輪郭の形状が複雑になるほど、ユーザの負担は大きくなる。
【００１２】
この課題を解決するには、初期輪郭を自動で生成すればよい。初期輪郭を自動抽出するには、フレーム内の色及びテクスチャの情報に加え、フレーム間の動き情報を用いるのが効果的である。しかし、動き情報を利用するには、抽出対象と背景との間の相対的な動きを検出できなければならない。
【００１３】
図３８を用いて、この問題をより詳しく説明する。図３８は、動画シーケンスにおける各フレームのオブジェクトの動きを説明する模式図である。Ｆ１〜Ｆ６は時間的に連続するフレームであり、フレームＦ１がスタートフレーム、フレームＦ６がエンドフレームであるとする。スタートフレームＦ１とその次のフレームＦ２とは、被写体及び背景共に移動していない画面内の構成が全く同じで状態になっている。この場合、両フレームから動き量を検出しようとしても背景の動きとオブジェクトの動きが同じである。このときには、オブジェクトを抽出できない。背景及びオブジェクトが共に静止している状態で、カメラをパンしたときにも同じ結果になる。
【００１４】
参照フレームを隣接フレームでなく、フレームＦ４のような、時間的に離れたフレームとすれば、オブジェクトと背景の間の相対的な動きを検出できる可能性が高まる。しかし、この場合、背景同士の対応及びオブジェクト同士の対応が難しくなり、サーチ範囲を拡げなければ、背景同士及びオブジェクト同士の対応を採りにくくなる。これは、時間間隔が開くと、形状変化が大きくなる可能性が高いからである。従って、スタートフレームから動きを求めて初期輪郭を設定する方法は、汎用性が低く、その後のトラッキングでも良好な結果を得ることは困難である。また、スタートフレームから動きを求めて初期輪郭を設定する方法では、必ずしも良好な抽出結果が得られるとは限らない。
【００１５】
常に良好な結果を得るためには、背景とオブジェクトの相対的な動きを容易に検出できるフレームを見つけ、そのフレームを基準として前後方向にトラッキングするのが有効である。この基準フレームを一連のシーケンスの中から見つける作業は、ユーザにとって大きな負担となる。
【００１６】
本発明は、このような問題点に鑑み、ユーザ操作の負担が少なく、より正確にオブジェクトを抽出できる画像処理方法及び装置並びに記憶媒体を提示することを目的とする。
【００１７】
【課題を解決するための手段】
本発明に係る画像処理方法は、画像処理装置によって実行される画像処理方法であって、輪郭設定手段において複数フレームにより構成される動画像データの各フレームに対して初期輪郭を生成するステップと、画像選択手段において当該生成された各フレームの初期輪郭の中から特定のフレームの初期輪郭を選択するステップと、輪郭収束手段において当該選択されたフレームの初期輪郭を当該抽出対象の輪郭に収束させるステップと、当該輪郭収束の結果に基づいて、当該輪郭設定手段において他のフレームに対して当該抽出対象の初期輪郭を設定し、その設定された初期輪郭に基づいて、当該輪郭収束手段において当該抽出対象の輪郭に収束させるステップとを有し、当該他のフレームは当該選択したフレームよりも時間的に前及び後のフレームを設定できることを特徴とする。
【００１８】
本発明に係る画像処理方法は、画像処理装置によって実行される画像処理方法であって、輪郭設定手段において複数フレームにより構成される動画像データの各フレームに対して初期輪郭を生成するステップと、輪郭収束手段において当該各フレームの初期輪郭を当該抽出対象の輪郭に収束させるステップと、画像選択手段において当該収束された各フレームの輪郭の中から特定のフレームを選択するステップと、当該選択されたフレームの輪郭収束の結果に基づいて、当該輪郭設定手段において他のフレームに対して当該抽出対象の初期輪郭を設定し、その設定された初期輪郭に基づいて、当該輪郭収束手段において当該抽出対象の輪郭に収束させるステップとを有し、当該他のフレームは当該選択したフレームよりも時間的に前及び後のフレームを設定できることを特徴とする。
【００１９】
本発明に係る画像処理方法は、画像処理装置によって実行される画像処理方法であって、輪郭設定手段において複数フレームにより構成される動画像データの各フレームに対して初期輪郭を生成するステップと、輪郭収束手段において当該各フレームの初期輪郭を当該抽出対象の輪郭に収束させるステップと、当該各フレームの輪郭収束の結果に基づいて、当該輪郭設定手段において他のフレームに対して当該抽出対象の初期輪郭を設定し、その設定された初期輪郭に基づいて、当該輪郭収束手段において当該抽出対象の輪郭に収束させるステップと、画像選択手段において当該各フレームの輪郭収束の結果に基づいた当該他のフレームの収束結果の中から特定の結果を選択するステップとを有し、当該他のフレームは当該選択したフレームよりも時間的に前及び後のフレームを設定できることを特徴とする。
【００２１】
本発明に係る記憶媒体には、上述の画像処理方法を実行するプログラムソフトウエアが格納される。
【００２２】
本発明に係る画像処理装置は、複数フレームにより構成される動画像データの各フレームに対して初期輪郭を生成する初期輪郭生成手段と、当該生成された各フレームの初期輪郭の中から特定のフレームの初期輪郭を選択する選択手段と、当該初期輪郭を当該抽出対象の輪郭に収束させる輪郭収束手段とを有し、当該初期輪郭生成手段は、当該輪郭収束の結果に基づいて他のフレームに対して当該抽出対象の初期輪郭を設定し、当該輪郭収束手段は当該輪郭収束手段により当該設定された初期輪郭を当該抽出対象の輪郭に収束させ、当該他のフレームは当該選択したフレームよりも時間的に前及び後のフレームを設定できることを特徴とする。
【００２３】
本発明に係る画像処理装置は、複数フレームにより構成される動画像データの各フレームに対して初期輪郭を生成する初期輪郭生成手段と、当該各フレームの初期輪郭を当該抽出対象の輪郭に収束させる輪郭収束手段と、当該収束された各フレームの輪郭の中から特定のフレームを選択する選択手段とを有し、当該初期輪郭生成手段は、当該選択されたフレームの輪郭収束の結果に基づいて他のフレームに対して当該抽出対象の初期輪郭を設定し、当該輪郭収束手段は当該輪郭収束手段により当該設定された初期輪郭を当該抽出対象の輪郭に収束させ、当該他のフレームは当該選択したフレームよりも時間的に前及び後のフレームを設定できることを特徴とする。
【００２４】
本発明に係る画像処理装置は、複数フレームにより構成される動画像データの各フレームに対して初期輪郭を生成する初期輪郭生成手段と、当該各フレームの初期輪郭を当該抽出対象の輪郭に収束させる輪郭収束手段と、当該各フレームの輪郭収束の結果に基づいた当該他のフレームの収束結果の中から特定の結果を選択する選択手段とを有し、当該初期輪郭生成手段は、当該各フレームの輪郭収束の結果に基づいて他のフレームに対して当該抽出対象の初期輪郭を設定し、当該輪郭収束手段は当該輪郭収束手段により当該設定された初期輪郭を当該抽出対象の輪郭に収束させ、前記選択手段は当該各フレームの輪郭収束の結果に基づいた当該他のフレームの収束結果の中から特定の結果を選択し、当該他のフレームは当該選択したフレームよりも時間的に前及び後のフレームを設定できることを特徴とする。
【００２６】
【実施例】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【００２７】
図１は、本発明の第１実施例の概略構成ブロック図を示す。画像入力装置１０は、ビデオカメラ及び画像再生装置などからなり、動画像信号をメモリ１２に入力する。メモリ１２は、画像入力装置１０から入力する動画像データを数フレーム分、一時記憶する。動き検出装置１４は、メモリ１２に記憶される複数のフレームの画像データから、注目フレーム上での各部の動き量を検出する。ブロック分類装置１６は、動き検出装置１４の検出結果に従い、注目フレーム上の各ブロックを背景部分とオブジェクト部分に分類する。輪郭設定装置１８は、ブロック分類装置１６の分類結果に従い、背景部分とオブジェクト部分の境界に初期輪郭を設定する。
【００２８】
輪郭収束装置２０は、輪郭設定装置１８で設定される初期輪郭を、オブジェクトの実際の輪郭に沿うように収束する。収束した結果は、メモリ１２を介して輪郭表示装置２２に転送され、表示される。ユーザは、輪郭収束結果が満足すべきものでない場合、画像選択装置２４により注目フレームを変更して輪郭収束装置２０による輪郭収束をやり直す。
【００２９】
他方、輪郭収束結果が満足できるものである場合、注目フレームを基準フレームとする。基準フレームが決定すると、輪郭設定装置１８が、基準フレームの収束結果を隣接フレームの初期輪郭として設定し、輪郭収束装置２０が、隣接フレームで輪郭を収束する。この処理を、基準フレームからエンドフレームに向かう方向と、スタートフレームに向かう方向の両方向で実行する。最終的に全てのフレームでオブジェクトの輪郭が求められる。画像出力装置２６は、このようにして得られた結果を、輪郭線データ又は、オブジェクトの内外を示すマスクデータとして出力する。
【００３０】
図２は、本実施例の動作フローチャートを示す。全フレームの中から初期輪郭を設定するフレームを選択する（Ｓ１）。選択したフレームに対して自動処理で初期輪郭を設定し（Ｓ２）、実際の輪郭に収束させる（Ｓ３）。輪郭の収束には、動的輪郭モデルを用いる。収束結果に満足できなければ（Ｓ４）、初期輪郭設定フレームを別のフレームに変更して、初期輪郭設定と輪郭の収束を繰り返す（Ｓ２，Ｓ３）。初期輪郭設定フレームを同じままで、輪郭の収束条件を変更しても良い。
【００３１】
輪郭の収束結果が満足できる場合（Ｓ４）、初期輪郭設定フレームを基準フレームとして、エンドフレームまでのトラッキングを実行する（Ｓ６）。その後、基準フレームからスタートフレームまでのトラッキングを実行する（Ｓ８）。これにより、スタートフレームからエンドフレームまでの全フレームでオブジェクトが抽出されたことになる。勿論、基準フレームからスタートフレームまでのトラッキングを実行した後に、基準フレームからエンドフレームまでのトラッキングを実行しても、結果は同じである。
【００３２】
図３は、図２の自動初期輪郭設定（Ｓ２）の詳細なフローチャートを示す。図４乃至図９は、フレームとその処理例を示す。図４は自動初期輪郭設定の対象フレーム例を示し、図５は、図４に示すフレームの次のフレームを示す。図６乃至図９は、自動初期輪郭設定の処理途中を示す模式図である。
【００３３】
対象フレーム（図４）を図６に示すように所定サイズのブロックに分割し（Ｓ１１）、各ブロックの動き量を算出する（Ｓ１２）。これは、一般に、ブロックのパターンマッチングとして知られている方法により、各ブロックが次のフレーム（図５）どの位置に対応しているかを求め、各ブロック毎に画面上の同じ位置からどれだけずれているかを動きベクトルとして求める処理である。マッチングの評価関数は、例えば、ブロック間の差分二乗和又は差分絶対値和などである。
【００３４】
全てのブロックに対し動きベクトルが求まると、動きベクトルの値に応じて各ブロックを分類する（Ｓ１３）。図４及び図５に示す例では、背景が画面に向かって左方向に動き、オブジェクトは相対的に右方向に動いている。近似した値の動きベクトルを持つブロックを集めると、一番多いブロックとして、左方向に動く背景ブロックを抽出でき、次に多いブロックとして、右方向に動くオブジェクトのブロックを抽出できる。
【００３５】
ただし、ブロックが背景部分とオブジェクト部分の両方を含んでいる場合、次のフレームから対応する領域を求めることができないので、背景ブロックともオブジェクトのブロックとも異なる値をとる可能性がある。このようなブロックを、本実施例では、オブジェクトのブロックと背景のブロックの間の境界ブロックであると考える。境界ブロックに関しては、再度、ブロック分割を行ない、より小さい大きさのブロックで背景部分、オブジェクト部分又は境界部分の何れであるかを分類する。境界部分の再分割回数は１回でも、２回以上でも良い。勿論、回数が多くなればなるほど、精度が良くなるが処理負担が増す。
【００３６】
図７は、最初のブロック分割に対するオブジェクトのブロックと境界ブロックを示す。図８は、図７に示す例での境界ブロックを再度ブロック分割し分類した後のオブジェクトのブロックと境界ブロックを示す。
【００３７】
ブロック分類が完了したら（Ｓ１３）、オブジェクトのブロック及び境界ブロックと背景ブロックとの間に輪郭線（初期輪郭）を設定する（Ｓ１４）。図９は、設定した初期輪郭とオブジェクトの輪郭とを重ねて示す。初期輪郭は、必ずしも背景ブロックと接する境界そのものに設定される必要はなく、境界ブロックの中心又はブロックの境界線上の中点を直線又はスプライン曲線でつないだものであってもよい。
【００３８】
設定した初期輪郭を実際のオブジェクトの輪郭へ収束させるには、スネークスと呼ばれる動的輪郭モデルを利用する。一般にスネークスは、画像平面（ｘ，ｙ）上で、媒介変数で表現される輪郭（閉曲線）
ｖ（ｓ）＝（ｘ（ｓ），ｙ（ｓ））
但し、０≦ｓ≦１
を、下記式（１）で定義されるエネルギー関数を最小化するように変形し、エネルギーの極小状態としてその形状が決まる輪郭抽出モデルである。
【００３９】
【数１】
0004564634.tif 000002
但し、Ｅｉｎｔは内部エネルギー、Ｅｉｍａｇｅは画像エネルギー、Ｅｃｏｎは外部エネルギーである。Ｅｃｏｎは、スネークスに外部から強制的に力を働かせる場合に用いられる。外部エネルギーは、必要に応じて用いればよい。
【００４０】
Ｅｉｎｔには、多くの場合に、輪郭の滑らかさを表す式（２）に示すＥｓｐｌｉｎｅが用いられる。ｖ’（ｓ），ｖ”（ｓ）はそれぞれ、ｖ（ｓ）の１次微分及び２次微分である。α及びβは重み係数であり、一般的にはｓの関数であるが、ここでは、定数とする。Ｅｓｐｌｉｎｅの最小化により、スネークスは滑らかに収縮する力を受ける。
【００４１】
Ｅｉｍａｇｅには、画像の輝度Ｉ（ｖ（ｓ））を用いて定義される式（３）に示すＥｅｄｇｅがよく用いられる。Ｅｅｄｇｅは、輝度勾配の大きさを表す。スネークスは、Ｅｅｄｇｅの最小化によりエッジに引き寄せられる力を受ける。γは画像エネルギーに対する重み係数である。
【００４２】
ここまでの処理で、初期輪郭設定フレームに対するマスクデータが得られたことになる。
【００４３】
図１０は、初期輪郭設定フレームからエンドフレームまでのトラッキング（Ｓ６）の詳細なフローチャートを示す。初期輪郭設定フレームの時間的に次のフレームを現フレームとする（Ｓ２１）。時間的に前のフレームの輪郭を現フレームにコピーし（Ｓ２２）、このコピーした輪郭を初期輪郭として、Ｓ３と同様に、オブジェクトの境界に輪郭を収束させる（Ｓ２３）。輪郭が収束した後、現フレームがエンドフレームか否かを判定する（Ｓ２４）。現フレームがエンドフレームでなければ（Ｓ２４）、時間的に次のフレームを現フレームとし（Ｓ２１）、以降の処理（Ｓ２２，Ｓ２３）を繰り返す。現フレームがエンドフレームの場合（Ｓ２４）、エンドフレームまでのトラッキングを終了したことになる。
【００４４】
図１１は、初期輪郭設定フレームからスタートフレームまでのトラッキング（Ｓ８）の詳細なフローチャートを示す。初期輪郭設定フレームの時間的に前のフレームを現フレームとする（Ｓ３１）。時間的に次のフレームの輪郭を現フレームにコピーし（Ｓ３２）、このコピーした輪郭を初期輪郭として、Ｓ３と同様に、オブジェクトの境界に輪郭を収束させる（Ｓ３３）。輪郭が収束した後、現フレームがスタートフレームか否かを判定する（Ｓ３４）。現フレームがスタートフレームでなければ（Ｓ３４）、時間的に前のフレームを現フレームとし（Ｓ３１）、以降の処理（Ｓ３２，Ｓ３３）を繰り返す。現フレームがスタートフレームの場合（Ｓ３４）、スタートフレームまでのトラッキングを終了したことになる。
【００４５】
図１２は、図３８に示すような画像データに対して本実施例により得られたマスクデータ例を示す。フレームＦ１３が初期輪郭設定フレームであるとすると、エンドフレームまでのトラッキングでフレームＦ１４〜Ｆ１６のマスクデータが得られ、スタートフレームまでのトラッキングでフレームＦ１１，Ｆ１２のマスクデータが得られる。
【００４６】
図１３は、本実施例の第２の動作フローチャートを示す。ここでは、スタートフレームから処理を開始する。すなわち、スタートフレームを現フレームとして、Ｓ２と同様の内容の自動初期輪郭設定を実行する（Ｓ４１）。エンドフレームの直前に到達するまで（Ｓ４２）、時間的に次のフレームに対し順次、自動初期輪郭設定を実行する（Ｓ４３，Ｓ４１）。
【００４７】
エンドフレームの直前のフレームまで自動初期輪郭設定を実行したら（Ｓ４２）、自動初期輪郭設定を実行した各フレームの結果を比較し、初期輪郭がオブジェクトの境界にもっとも近いフレームを初期輪郭設定フレーム（基準フレーム）として選択する（Ｓ４４）。選択した初期輪郭設定フレーム（基準フレーム）において、Ｓ３と同様の処理により初期輪郭をオブジェクトの境界に収束させる（Ｓ４５）。
【００４８】
初期輪郭設定フレームからエンドフレームまでのトラッキングを実行し（Ｓ４６）、現フレームを初期輪郭設定フレームに戻して（Ｓ４７）、スタートフレームまでのトラッキングを実行する（Ｓ４８）。スタートフレームまでのトラッキングをエンドフレームまでのトラッキングの前に実行しても良いことは明らかである。
【００４９】
図１４は、本実施例の第３の動作フローチャートを示す。ここでも、スタートフレームから処理を開始する。図１４では、一旦、各フレームで初期輪郭をオブジェクトの輪郭に収束させ、その結果を見て初期輪郭設定フレーム（基準フレーム）を決定し、エンドフレームまでのトラッキング及びスタートフレームまでのトラッキングを実行する。
【００５０】
スタートフレームを現フレームとして、Ｓ２と同様の内容の自動初期輪郭設定を実行し（Ｓ５１）、Ｓ３と同様に初期輪郭をオブジェクトの境界に収束させる（Ｓ５２）。エンドフレームの直前に到達するまで（Ｓ５４）、時間的に次のフレームに対し順次、自動初期輪郭設定と輪郭の収束を実行する（Ｓ５３，Ｓ５１，Ｓ５２）。
【００５１】
エンドフレームの直前のフレームまで自動初期輪郭設定及び輪郭の収束を実行したら（Ｓ５４）、各フレームの輪郭収束結果を比較し、初期輪郭がオブジェクトの境界にもっとも良く収束しているフレームを初期輪郭設定フレーム（基準フレーム）として選択する（Ｓ５５）。選択した初期輪郭設定フレーム（基準フレーム）からエンドフレームまでのトラッキングを実行し（Ｓ５６）、現フレームを初期輪郭設定フレームに戻して（Ｓ５７）、スタートフレームまでのトラッキングを実行する（Ｓ５８）。スタートフレームまでのトラッキングをエンドフレームまでのトラッキングの前に実行しても良いことは明らかである。
【００５２】
図１５は、本実施例の第４の動作フローチャートを示す。ここでも、スタートフレームから処理を開始する。現フレームに対し、図３に示す内容と同じ自動初期輪郭設定を実行し（Ｓ６１）、Ｓ３と同様の処理で初期輪郭をオブジェクトの境界に収束させる（Ｓ６２）。エンドフレームまでのトラッキングを実行し（Ｓ６３）、その後、いったん現フレームを初期輪郭設定フレームに戻し（Ｓ６４）、初期輪郭設定フレームからスタートフレームまでのトラッキングを実行する（Ｓ６５）。１回目では、初期輪郭設定フレームがスタートフレームであるので、Ｓ６５は実際には実行されない。ここまでの処理で、スタートフレームを初期輪郭設定フレームとした場合で、全フレームのオブジェクトを抽出できたことになり、その全フレームのオブジェクト抽出結果をメモリに一時保存する（Ｓ６６）。
【００５３】
初期輪郭設定フレームがエンドフレームの直前のフレームになるまで、時間的に次のフレームを現フレームとして（Ｓ６８）、Ｓ６１〜Ｓ６６を繰り返す。すなわち、スタートフレームからエンドフレームの直前のフレームまでの各フレームに対して自動初期輪郭設定した場合の、各フレームのオブジェクトの境界を抽出できたことになる。このシーケンス数は、フレーム数−１である。図３８に示す例では、フレーム数が６であるので、全フレームのオブジェクト抽出結果が５つ得られることになる。
【００５４】
メモリに一時保存した抽出結果から最適なものを選択し、それを最終的な抽出結果とする（Ｓ６９）。
【００５５】
図１６は、本発明の第２実施例の概略構成ブロック図を示す。画像入力装置３０は、ビデオカメラ及び画像再生装置などからなり、動画像信号をメモリ３２に入力する。メモリ３２は、画像入力装置３０から入力する動画像データを数フレーム分、一時記憶する。動き検出装置３４は、メモリ３２に記憶される複数のフレームの画像データから、注目フレーム上での各部の動き量を検出する。ブロック分類装置３６は、動き検出装置３４の検出結果に従い、注目フレーム上の各ブロックを背景部分とオブジェクト部分に分類する。
【００５６】
類似度（又は一致度）検出装置３８は、ブロック分類装置３６で分類されたブロックの類似性をフレーム間で判定し、画像選択装置４０が類似度の高いフレームを選択し、そのフレームを初期輪郭設定フレームとする。
【００５７】
輪郭設定装置４２は、画像選択装置４０で選択された初期輪郭設定フレームに対し、ブロック分類装置３６の分類結果を利用して、背景部分とオブジェクト部分の境界に初期輪郭を設定する。輪郭収束装置４４は、輪郭設定装置４２で設定される初期輪郭を、オブジェクトの実際の輪郭に沿うように収束する。
【００５８】
収束結果は、メモリ３２を介して輪郭設定装置４２に転送され、次に処理すべきフレームの初期輪郭となる。輪郭収束装置４４は、このフレームに対して先と同様に初期輪郭をオブジェクトの実際の輪郭に収束する。この処理を初期輪郭設定フレームからエンドフレームまでと、初期輪郭設定フレームからスタートフレームまでの両方向で行うことで、最終的に全フレームにおける輪郭が得られる。
【００５９】
輪郭表示装置４６は、これらの経過及び結果を表示する。これにより、ユーザは、途中経過及び最終結果を画面上で確認できる。画像出力装置４８は、このようにして得られた結果を、輪郭線データ又は、オブジェクトの内外を示すマスクデータとして出力する。
【００６０】
図１７は、図１６に示す実施例の動作フローチャートを示す。全フレームの中から初期輪郭を設定するフレームを自動選択する（Ｓ７１）。選択されたフレームに対して自動処理で初期輪郭を設定し（Ｓ７２）、実際の輪郭に収束させる（Ｓ７３）。輪郭の収束には、動的輪郭モデルを用いる。輪郭が収束し、オブジェクトの形状に合致すると、フレーム内の処理は完了し、次にフレーム間の処理に移行する。
【００６１】
初期輪郭設定フレームを基準フレームとして、エンドフレームまでのトラッキングを実行する（Ｓ７４）。その後、現フレームを基準フレームに戻して（Ｓ７５）、スタートフレームまでのトラッキングを実行する（Ｓ７６）。これにより、スタートフレームからエンドフレームまでの全フレームでオブジェクトが抽出されたことになる。勿論、基準フレームからスタートフレームまでのトラッキングを実行した後に、基準フレームからエンドフレームまでのトラッキングを実行しても、結果は同じである。
【００６２】
図１８は、初期輪郭設定フレームの自動選択（Ｓ７１）の詳細なフローチャートを示す。スタートフレームを現フレームとして、処理を開始する。先ず、現フレームをブロックに分割し（Ｓ８１）、各ブロックの動き量を算出する（Ｓ８２）。これは、一般に、ブロックのパターンマッチングとして知られている方法により、各ブロックが次のフレーム（図５）どの位置に対応しているかを求め、各ブロック毎に画面上の同じ位置からどれだけずれているかを動きベクトルとして求める処理である。マッチングの評価関数は、例えば、ブロック間の差分二乗和又は差分絶対値和などである。
【００６３】
全てのブロックに対し動きベクトルが求まると、動きベクトルの値に応じて各ブロックを分類する（Ｓ８３）。分類結果からこのフレームの特徴量を求め、保存する（Ｓ８４）。分類方法及び特徴量の算出方法は後で詳しく説明する。
【００６４】
１番目のフレームの特徴量が求められたら、２番目のフレーム、３番目のフレームというように（Ｓ８６）、全フレームの処理が終わるまで（Ｓ８５）、以上の処理（Ｓ８１〜Ｓ８４）を繰り返す。
【００６５】
全フレームの処理が終わったら（Ｓ８５）、各フレームから特徴量の類似するフレームを検出する（Ｓ８７）。最も類似度の高いフレームを選び、それを初期輪郭設定フレームとする（Ｓ８８）。
【００６６】
自動初期輪郭設定（Ｓ７２）と輪郭の収束（Ｓ７３）を詳しく説明する。初期輪郭を自動で設定する最も簡単な方法は、オブジェクトに分類されたブロックの境界を初期輪郭とするものである。この場合、初期輪郭の精度は、ブロックの大きさに依存する。設定した初期輪郭から実際のオブジェクトの輪郭への収束には、図１に示す実施例で説明したように、スネークスと呼ばれる動的輪郭モデルを利用できる。
【００６７】
図１９は、初期輪郭設定フレームからエンドフレームまでのトラッキング（Ｓ７４）の詳細なフローチャートを示す。初期輪郭設定フレームの時間的に次のフレームを現フレームとする（Ｓ９１）。時間的に前のフレームの輪郭を現フレームにコピーし（Ｓ９２）、このコピーした輪郭を初期輪郭として、Ｓ３，Ｓ７３と同様に、オブジェクトの境界に輪郭を収束させる（Ｓ９３）。輪郭が収束した後、現フレームがエンドフレームか否かを判定する（Ｓ９４）。現フレームがエンドフレームでなければ（Ｓ９４）、時間的に次のフレームを現フレームとし（Ｓ９１）、以降の処理（Ｓ９２，Ｓ９３）を繰り返す。現フレームがエンドフレームの場合（Ｓ９４）、エンドフレームまでのトラッキングを終了したことになる。
【００６８】
図２０は、初期輪郭設定フレームからスタートフレームまでのトラッキング（Ｓ７６）の詳細なフローチャートを示す。初期輪郭設定フレームの時間的に前のフレームを現フレームとする（Ｓ１０１）。時間的に次のフレームの輪郭を現フレームにコピーし（Ｓ１０２）、このコピーした輪郭を初期輪郭として、Ｓ３，Ｓ７３と同様に、オブジェクトの境界に輪郭を収束させる（Ｓ１０３）。輪郭が収束した後、現フレームがスタートフレームか否かを判定する（Ｓ１０４）。現フレームがスタートフレームでなければ（Ｓ１０４）、時間的に前のフレームを現フレームとし（Ｓ１０１）、以降の処理（Ｓ１０２，Ｓ１０３）を繰り返す。
現フレームがスタートフレームの場合（Ｓ１０４）、スタートフレームまでのトラッキングを終了したことになる。
【００６９】
次に、各フレームの特徴量を説明する。特徴量として、例えば、動きベクトルのヒストグラム及びブロック分類結果のヒストグラムなどが考えられる。図２１に示す動作シーケンスと、図２２に示すフローチャートを参照して、処理手順を説明する。図２１で、処理対象は５フレームＦ２１〜Ｆ２５であり、Ｆ２１がスタートフレーム、Ｆ２５がエンドフレームである。
【００７０】
フレームＦ２１を図２３に示すようにブロックに分割する（Ｓ１１１）。図２３では、１フレームを７×５個のブロックに分割している。これら各ブロックの動き量を検出する（Ｓ１１２）。フレームＦ２２を参照フレームにすると、フレームＦ２１との間に相対的な動きがないので、全て一様な動きベクトル、即ち動き量ゼロのベクトルが検出される。図２４は、検出された動き量の分布図を示す。斜線のブロックは動き量ゼロのブロックを示す。
【００７１】
次に動きベクトルを分類する（Ｓ１１３）。フレームＦ２１では、全てのブロックが動き量０であるので、オブジェクトブロックを検出できなかったものとし、全てを背景ブロックとする。オブジェクトブロックの数（ここではゼロ）をこのフレームの特徴量として保存する（Ｓ１１４）。
【００７２】
図２５は、Ｓ１１３，Ｓ１１４の処理の詳細なフローチャートを示す。動きベクトルを発生頻度毎に分類する（Ｓ１２１）。背景となるブロックを決定し（Ｓ１２２）、オブジェクトとなるブロックを決定する（Ｓ１２３）。例えば、ブロック数が一番多いものを背景とし、二番目をオブジェクトとする。又は、ブロックの存在する位置又は分散により、背景とオブジェクトを決定しても良い。背景とオブジェクトの２種類にのみ分類する場合、総ブロック数からの引き算で一方から他方を求めても同じ結果となる。オブジェクトブロックの数をこのフレームの特徴量として保存する（Ｓ１２４）。
【００７３】
次のフレームＦ２１を現フレームとして（Ｓ１１６）、ブロックに分割し（Ｓ１１１）、動き量を算出して（Ｓ１１２）、各ブロックを分類する（Ｓ１１３）。
【００７４】
フレームＦ２２は、フレームＦ２１と同じであるので、ブロック分割の様子は図２３と同じである。但し、動きベクトルを求める際に参照するフレームはフレームＦ２３となるので、相対的な動きが生じる。すなわち、背景部分では動きゼロのベクトルが検出され、オブジェクト部分では画面に向かって右方向に動いたところとマッチングする。ブロックの中にオブジェクトの一部と背景の一部の両方が含まれている場合には、参照するフレームにまったく同じブロックは存在しない。
【００７５】
マッチングの評価関数に閾値を設け、一致度の低いブロックを除外した場合、図２６に示すように、背景ブロック、オブジェクトブロック及び、背景とオブジェクトの両方を含む境界ブロックが求められる。図２６で、斜線のブロックが背景ブロック、白抜きのブロックが境界ブロックであり、交差斜線のブロックがオブジェクトブロックである。このとき、背景ブロック数は１９、オブジェクトブロック数は５、境界ブロック数は１１である。
【００７６】
マッチングの評価に制限を加えない場合、２種類の動きに集約される。図２７はその分類結果の模式図を示す。斜線のブロックが背景ブロック、交差斜線のブロックがオブジェクトブロックである。この場合には、境界ブロックも背景ブロックかオブジェクトブロックの何れかに分類される。図２７に示す例では、背景ブロック数は２９、オブジェクトブロック数は６となる。
【００７７】
フレームＦ２２の特徴量としてオブジェクトブロック数６を保存する（Ｓ１１４）。
【００７８】
各フレームＦ２１〜Ｆ２５のオブジェクトブロック数を各フレームの特徴量として保存したら（Ｓ１１５）、ブロック数の一致度を判定する（Ｓ１１７）。例えば、各フレームＦ２１〜Ｆ２５のオブジェクトブロック数を比較し、ブロック数が同じフレームを求める。図２１に示す例では、フレームＦ２２，Ｆ２３間の動き量が大きく、フレームＦ２３，Ｆ２４間の動き量も同様に大きいので、オブジェクトブロックと見做されるブロック数は近い値をとる。フレームＦ２４，Ｆ２５間では動き量が少ないので、ブロックの分離精度が下がり、オブジェクトブロックと見做されるブロック数が小さくなる可能性が高い。これらのことから、フレームＦ２２のブロック分離精度が高いと判定される。この判定結果に従い、フレームＦ２２を初期輪郭設定フレームとする（Ｓ１１８）。
【００７９】
この後、図１７に示す自動初期輪郭設定（Ｓ７２）及び輪郭の収束（Ｓ７３）と続く。輪郭の収束（Ｓ７３）が終了した時点で、フレームＦ２２から、図２８にフレームＦ３２で示すマスクデータが得られる。エンドフレームまでのトラッキング（Ｓ７４）で、フレームＦ３３〜Ｆ３５に示すマスクデータが得られ、スタートフレームまでのトラッキング（Ｓ７６）でフレームＦ３１に示すマスクデータが得られる。以上により、全てのフレームのマスクデータが求められたことになる。
【００８０】
図２５では、特徴量としてオブジェクトブロック数を保存したが、背景ブロック数を特徴量としてもよい。また、背景ブロック数とオブジェクトブロック数の比率を求め、それを特徴量としてもよい。図２９は、背景ブロック数とオブジェクトブロック数の比率を特徴量とする場合の、Ｓ１１３及びＳ１１４の部分に対応する動作フローチャートを示す。
【００８１】
各ブロックの動きベクトルの発生頻度を求め（Ｓ１３１）、背景ブロックを決定し（Ｓ１３２）、オブジェクトブロックを決定する（Ｓ１３３）。ブロック数が１番多いものを背景とし、２番目をオブジェクトとする方法が簡便である。３番目以降のベクトルについては、ベクトルの距離計算により１番目と２番目の何れのベクトルに近いかを計算し、その結果により分類すればよい。
【００８２】
背景ブロックとオブジェクトブロックの数をカウントし（Ｓ１３４，Ｓ１３５）、その比率を保存する（Ｓ１３６）。これにより、近似するブロック比率を有するフレーム同士は、ブロックの分離精度が高いと考えられる。
【００８３】
図３０は、ブロックの面積を特徴量とする動作フローチャートを示す。特徴量としてブロックの面積の情報を保存し（Ｓ１４４）、フレーム間で面積の情報を比較して一致度を判定すること（Ｓ１４７）を除いて、基本的に、図２２と同じである。
【００８４】
図３１は、Ｓ１４４の詳細なフローチャートを示す。各ブロックの動きベクトルの発生頻度を求め（Ｓ１５１）、背景ブロックを決定し（Ｓ１５２）、オブジェクトブロックを決定する（Ｓ１５３）。境界ブロックの再分割と（Ｓ１５４）、再分割で得られるブロックの分類（Ｓ１５５）を、境界ブロックの分類が終了するまで繰り返す（Ｓ１５６）。図３２は、図２６に示す境界ブロック（白抜きのブロック）を２×２のブロックに分割し、各ブロックを背景ブロック又はオブジェクトブロックに再分類した結果を示す。この再分類では、動きベクトルを再計算してもよいし、既に求められている背景の動きベクトルとオブジェクトの動きベクトルを当てはめ、どちらがより確からしいかで評価してもよい。
【００８５】
図２７に示す例のように、分類上、境界ブロックを求めない場合、オブジェクトブロックと背景ブロックに接しているブロックを境界ブロックとすることもできる。図３３は、図２７に示すブロック分割における境界ブロックの再分割結果を示す。
【００８６】
図３４は、再分割を２段階行った場合の分割結果を示す。再分割の回数を増やすことで、実際のオブジェクトの面積に近づけることができることは明らかである。
【００８７】
境界ブロックの分類が終了したら（Ｓ１５６）、オブジェクトブロックの面積を計算し、計算結果をそのフレームの特徴量として保存する（Ｓ１５７）。
【００８８】
面積の一致度判定（Ｓ１４７）では、各フレームのオブジェクトの面積を比較し、値の近いものを求める。相対的な動き量が大きい場合、ブロックの分離度が高まるので、オブジェクトの面積を正確に求めやすい。相対的な動き量が小さい場合、ブロックの分離度が悪く、正しいオブジェクトの面積は求めにくい。従って、分離度の悪いフレームでは、オブジェクトの面積がばらつき、分離度のよいフレームでは、オブジェクトの面積は近似した値になる。
【００８９】
図２１に示す例では、フレームＦ２２とフレームＦ２３の間の動き量が大きく、フレームＦ２３とフレームＦ２４の間の動き量も同様に大きいので、この２フレームＦ２２，Ｆ２３のオブジェクトの面積は近い値になる可能性が高い。これらのことから、フレームＦ２２のブロック分離精度が高いと判断されると、フレームＦ２２が初期輪郭設定フレームに決定される（Ｓ１４８）。初期フレームを決定した後、自動初期輪郭設定（Ｓ７２）及び輪郭の収束（Ｓ７３）と続く。
【００９０】
なお、ブロックの再分割を行わない場合、オブジェクトブロックの面積は、（オブジェクトブロックの数）×（オブジェクトブロックの画素数）となる。オブジェクトブロックの画素数は一定であるので、図２５に示すように単純にオブジェクトブロックの数をカウントするだけの場合と等価となる。
【００９１】
初期フレームが設定された時点で、その初期フレーム（ここではフレームＦ２２）のマスクデータ（ここでは、フレームＦ３２）が得られている。従って、エンドフレームまでのトラッキング（Ｓ７４）でフレームＦ３３〜Ｆ３５のマスクデータ得られ、スタートフレームまでのトラッキング（Ｓ７６）でフレームＦ３１のマスクデータが得られる。トラッキングの詳細は、先に説明した通りである。以上により、全てのマスクデータが求められたことになる。
【００９２】
図３５は、オブジェクトの形状方法を特徴量とする動作フローチャートを示す。特徴量としてオブジェクトの形状情報を保存し（Ｓ１６４）、フレーム間で形状情報を比較して一致度を判定すること（Ｓ１６７）を除いて、基本的に、図２２と同じである。
【００９３】
図３６は、Ｓ１６４の詳細なフローチャートを示す。各ブロックの動きベクトルの発生頻度を求め（Ｓ１７１）、オブジェクトブロックを決定し（Ｓ１７２）、背景ブロックを決定する（Ｓ１７３）。境界ブロックの再分割と（Ｓ１７４）、再分割で得られるブロックの分類（Ｓ１７５）を、境界ブロックの分類が終了するまで繰り返す（Ｓ１７６）。
【００９４】
境界ブロックの分類が終了すると（Ｓ１７６）、オブジェクトブロックと背景ブロックの境界に初期輪郭を自動設定し（Ｓ１７７）、その初期輪郭を実際のオブジェクトの輪郭に収束させる（Ｓ１７８）。これらの処理（Ｓ１７７，Ｓ１７８）は、それぞれ、図１７のステップＳ７２，Ｓ７３の処理と同じである。
【００９５】
図３７を参照して、具体的に説明する。図３７（ａ）は、図３２に示すオブジェクト近辺のブロックを示す。図３７（ｂ）は、図３２（ａ）に示すオブジェクトブロックの境界に初期輪郭を設定した状態であり、破線が初期輪郭を示す。初期輪郭は必ずしも、背景ブロックと接した境界そのものに設定される必要はなく、ブロックの境界線上の中点を直線又はスプライン曲線でつないで設定してもよい。図３７（ｃ）は、初期輪郭がオブジェクトの実際の輪郭に収束していく過程を示す。図３７（ｄ）は、最終的に収束した結果であり、オブジェクトの実際の輪郭と収束結果が一致している。図３７に示す例では、オブジェクトの面積を、図３０で説明した方法よりも正確に求めることができるので、この方法で得たオブジェクトの面積を特徴量としてもよい。
【００９６】
輪郭線を特徴量として保存するには、幾つかの方法が考えられる。周囲長を特徴量とするのが最も簡単な例の一つである。周上の任意の２点間の距離の内、最大の長さを求めたり、外接する楕円の内、面積最小なものを求めてもよい。複雑な例としては、フーリエ記述子による表現がある。これは、演算負荷が大きい。
しかし、相似変換に対して不変な照合を行うことが可能になるので、形状の一致度判定（Ｓ１６７）の処理で、シーケンスがズームしているような場合にも対応できる。
【００９７】
全フレームの形状情報を保存すると（Ｓ１６５）、各フレーム間で形状の一致度を判定する（Ｓ１６７）。すなわち、各フレームの形状情報に関する値を比較し、値の近いものを求める。相対的な動き量が大きい場合、ブロックの分離度が高まるので、オブジェクトの形状を正確に求めやすい。相対的な動き量が小さい場合、ブロックの分離度が悪く、オブジェクトの正しい形状を求めにくい。従って、分離度の悪いフレームでは、オブジェクトの形状がばらつき、分離度のよいフレームでは、オブジェクトの形状は近似したものになる。
【００９８】
図２１に示す例では、フレームＦ２２とフレームＦ２３の間の動き量が大きく、フレームＦ２３とフレームＦ２４の間の動き量も同様に大きいので、この２フレームＦ２２，Ｆ２３のオブジェクトの形状は近似する可能性が高い。これらのことから、フレームＦ２２のブロック分離精度が高いと判断されると、フレームＦ２２が初期輪郭設定フレームに決定される（Ｓ１４８）。このフレームの輪郭は既に求められているので、図２８のフレームＦ３２のマスクデータは既に求められていることになる。この後、エンドフレームまでのトラッキング（Ｓ７４）でフレームＦ３３〜Ｆ３５のマスクデータ得られ、スタートフレームまでのトラッキング（Ｓ７６）でフレームＦ３１のマスクデータが得られる。トラッキングの詳細は、先に説明した通りである。以上により、全てのマスクデータが求められたことになる。
【００９９】
本発明は、複数の機器で実現される場合と、一つの機器で実現される場合のどちらの場合にも適用されうる。
【０１００】
また、上述した実施例の機能を実現するように各種のデバイスを動作させるべく当該各種デバイスと接続された装置又はシステム内のコンピュータに、上記実施例の機能を実現するためのソフトウエアのプログラムコードを供給し、その装置又はシステムのコンピュータ（ＣＰＵ又はＭＰＵ）を格納されたプログラムに従って動作させ、前記各種デバイスを動作させることによって実施したものも、本願発明の範囲に含まれる。
【０１０１】
この場合、前記ソフトウエアのプログラムコード自体が、前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記憶媒体は、本発明を構成する。かかるプログラムコードを格納する記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード及びＲＯＭ等を用いることが出来る。
【０１０２】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施例の機能が実現されるだけではなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）又は他のアプリケーションソフトウエア等と共同して上述の実施例の機能が実現される場合にも、かかるプログラムコードが本出願に係る発明の実施例に含まれることは言うまでもない。
【０１０３】
更には、供給されたプログラムコードが、コンピュータの機能拡張ボード又はコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいて、その機能拡張ボード又は機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施例の機能が実現される場合も、本出願に係る発明に含まれることは言うまでもない。
【０１０４】
【発明の効果】
以上の説明から容易に理解できるように、本発明によれば、動画から任意のフレームを選択し、そこから輪郭を自動抽出し、前後フレームへの自動トラッキングを行うことにより、簡易で高い精度の抽出結果を得ることができる。複数のフレームの初期輪郭の中から任意のフレームを選択することにより、収束とトラッキングの結果を容易に予測できる。複数のフレームの輪郭収束結果の中から任意のフレームを選択することにより、トラッキング結果の予測が容易となる。複数のフレームに対し、輪郭の自動抽出及び前後フレームへの自動トラッキングを行った結果を保持することで、抽出結果の中から最適なものを選択できる。
【０１０５】
ブロック数、面積情報又は形状情報を特徴量とすることで、簡易な方法で初期輪郭設定フレームを自動選択できる。そのフレームから輪郭の自動抽出及び前後フレームへの自動トラッキングを行うことにより、全自動のオブジェクト抽出が可能となる。
【図面の簡単な説明】
【図１】  本発明の第１実施例の概略構成ブロック図である。
【図２】  図１に示す実施例の動作フローチャートである。
【図３】  図２の自動初期輪郭設定（Ｓ２）の詳細なフローチャートである。
【図４】  自動初期輪郭設定の対象フレーム例である。
【図５】  図４に示すフレームの次のフレームである。
【図６】  自動初期輪郭設定の処理途中を示す模式図である。
【図７】  最初のブロック分割に対するオブジェクトのブロックと境界ブロックを示す。
【図８】  図７に示す例での境界ブロックを再度ブロック分割し分類した後のオブジェクトのブロックと境界ブロックを示す。
【図９】  自動初期輪郭設定の処理途中を示す模式図である。
【図１０】  初期輪郭設定フレームからエンドフレームまでのトラッキング（Ｓ６）の詳細なフローチャートである。
【図１１】  初期輪郭設定フレームからスタートフレームまでのトラッキング（Ｓ８）の詳細なフローチャートである。
【図１２】  図３８に示すような画像データに対して図１に示す実施例により得られたマスクデータ例である。
【図１３】  図１に示す実施例の第２の動作フローチャートである。
【図１４】  図１に示す実施例の第３の動作フローチャートである。
【図１５】  図１に示す実施例の第４の動作フローチャートである。
【図１６】  本発明の第２実施例の概略構成ブロック図である。
【図１７】  図１６に示す実施例の動作フローチャートである。
【図１８】  初期輪郭設定フレームの自動選択（Ｓ７１）の詳細なフローチャートである。
【図１９】  初期輪郭設定フレームからエンドフレームまでのトラッキング（Ｓ７４）の詳細なフローチャートである。
【図２０】  初期輪郭設定フレームからスタートフレームまでのトラッキング（Ｓ７６）の詳細なフローチャートである。
【図２１】  動作シーケンス例である。
【図２２】  図１６に示す実施例の、より具体的な動作フローチャートである。
【図２３】  ブロック分割例である。
【図２４】  図２３に示す分割ブロックに対して検出された動き量の分布図である。
【図２５】  Ｓ１１３，Ｓ１１４の処理の詳細なフローチャートである。
【図２６】  背景ブロック、オブジェクトブロック及び境界ブロックのブロック分類例である。
【図２７】  背景ブロック及びオブジェクトブロックのブロック分類例である。
【図２８】  マスクデータ例である。
【図２９】  背景ブロック数とオブジェクトブロック数の比率を特徴量とする場合の、Ｓ１１３及びＳ１１４の部分に対応する動作フローチャートである。
【図３０】  ブロックの面積を特徴量とする動作フローチャートである。
【図３１】  Ｓ１４４の詳細なフローチャートである。
【図３２】  図２６に示す境界ブロックをブロック分割し、再分類した結果である。
【図３３】  図２７に示すブロック分割における境界ブロックの再分割結果である。
【図３４】  再分割を２段階行った場合の分割結果である。
【図３５】  オブジェクトの形状方法を特徴量とする動作フローチャートである。
【図３６】  Ｓ１６４の詳細なフローチャートである。
【図３７】  輪郭の収束過程例である。
【図３８】  動画シーケンスにおける各フレームのオブジェクトの動きを説明する模式図である。
【符号の説明】
１０：画像入力装置
１２：メモリ
１４：動き検出装置
１６：ブロック分類装置
１８：輪郭設定装置
２０：輪郭収束装置
２２：輪郭表示装置
２４：画像選択装置
３０：画像入力装置
３２：メモリ
３４：動き検出装置
３６：ブロック分類装置
３８：類似度（又は一致度）検出装置
４０：画像選択装置
４２：輪郭設定装置
４４：輪郭収束装置
４６：輪郭表示装置
４８：画像出力装置
【図１】
0004564634.tif 000003
【図２】
0004564634.tif 000004
【図３】
0004564634.tif 000005
【図４】
0004564634.tif 000006
【図５】
0004564634.tif 000007
【図６】
0004564634.tif 000008
【図７】
0004564634.tif 000009
【図８】
0004564634.tif 000010
【図９】
0004564634.tif 000011
【図１０】
0004564634.tif 000012
【図１１】
0004564634.tif 000013
【図１２】
0004564634.tif 000014
【図１３】
0004564634.tif 000015
【図１４】
0004564634.tif 000016
【図１５】
0004564634.tif 000017
【図１６】
0004564634.tif 000018
【図１７】
0004564634.tif 000019
【図１８】
0004564634.tif 000020
【図１９】
0004564634.tif 000021
【図２０】
0004564634.tif 000022
【図２１】
0004564634.tif 000023
【図２２】
0004564634.tif 000024
【図２３】
0004564634.tif 000025
【図２４】
0004564634.tif 000026
【図２５】
0004564634.tif 000027
【図２６】
0004564634.tif 000028
【図２７】
0004564634.tif 000029
【図２８】
0004564634.tif 000030
【図２９】
0004564634.tif 000031
【図３０】
0004564634.tif 000032
【図３１】
0004564634.tif 000033
【図３２】
0004564634.tif 000034
【図３３】
0004564634.tif 000035
【図３４】
0004564634.tif 000036
【図３５】
0004564634.tif 000037
【図３６】
0004564634.tif 000038
【図３７】
0004564634.tif 000039
【図３８】
0004564634.tif 000040