(57)【特許請求の範囲】
【請求項１】
画像データに対する可変ブロックサイズ動き補償予測に用いられるブロックサイズを検出する可変ブロックサイズ検出部と、
前記可変ブロックサイズ検出部が第１所定サイズのブロックを検出した場合に、当該ブロックを含む第１マクロブロックについて、第１動きベクトルを算出する動きベクトル算出部と、
前記第１動きベクトルに基づいて、前記第１マクロブロックを第１動きオブジェクト領域として設定し、設定した前記第１動きオブジェクト領域に隣接する、第２所定サイズのブロックを含む第２マクロブロックを、前記第１動きオブジェクト領域に加える動きオブジェクト領域生成部と、を備え、
前記動きベクトル算出部は、前記第１動きオブジェクト領域に隣接するマクロブロックであって、前記第１及び第２所定サイズのブロックを含まない第３マクロブロックのそれぞれについて、第２動きベクトルを算出し、
前記動きオブジェクト領域生成部は、前記第２動きベクトルに基づいて、前記第３マクロブロックを、前記第１動きオブジェクト領域に加える、
ことを特徴とする動きオブジェクト検出装置。
【請求項２】
請求項１に記載の動きオブジェクト検出装置であって、
前記動きオブジェクト領域生成部により生成された、前記動きオブジェクト領域について、所定時間後の前記動きオブジェクト領域の位置を予測する予測部と、
前記予測部により予測された前記動きオブジェクト領域の位置と、前記動きオブジェクト領域生成部により前記所定時間後の前記画像データについて生成された第２動きオブジェクト領域とに基づいて、前記第１動きオブジェクト領域と、第２動きオブジェクト領域との対応を判定する動きオブジェクト領域間対応判定部と、
を備えることを特徴とする、動きオブジェクト検出装置。
【請求項３】
前記予測部は、前記第１動きオブジェクト領域に含まれる各第１マクロブロックの動きベクトルに基づいて、第１フレームに後続する第２フレームの時点における、前記各第１マクロブロックの位置を予測するマクロブロック予測部であり、
前記オブジェクト領域間対応判定部は、前記マクロブロック予測部により予測された前記各第１マクロブロックの位置と、前記動きオブジェクト領域生成部により前記第２フレームについて生成された第２動きオブジェクト領域とについて、カウントを実行し、その結果に基づいて、前記第１動きオブジェクト領域と、第２動きオブジェクト領域との対応を判定する、
ことを特徴とする、請求項２に記載の動きオブジェクト検出装置。
【請求項４】
前記予測部は、更に、カルマンフィルタを用いて、第１フレームの後所定時間分の複数の第３フレームの時点における前記第１動きオブジェクト領域の位置を予測し、
前記オブジェクト領域間対応判定部は、更に、前記カルマンフィルタを用いて予測された前記第１動きオブジェクト領域の位置と、前記所定時間中に前記動きオブジェクト領域生成部が生成した１又は複数の第３動きオブジェクト領域の位置と、に基づいて、前記第１動きオブジェクト領域と、前記第３動きオブジェクト領域との対応を判定する、ことを特徴とする、請求項３に記載の動きオブジェクト検出装置。
【請求項５】
コンピュータに、
画像データに対する可変ブロックサイズ動き補償予測に用いられるブロックサイズを検出する可変ブロックサイズ検出ステップと、
前記可変ブロックサイズ検出部が第１所定サイズのブロックを検出した場合に、当該ブロックを含む第１マクロブロックについて、第１動きベクトルを算出する動きベクトル算出ステップと、
前記第１動きベクトルに基づいて、前記第１マクロブロックを第１動きオブジェクト領域として設定し、設定した前記第１動きオブジェクト領域に隣接する、第２所定サイズのブロックを含む第２マクロブロックを、前記第１動きオブジェクト領域に加える動きオブジェクト領域生成ステップと、を実行させるためのプログラムであって、
前記動きベクトル算出ステップは、前記第１動きオブジェクト領域に隣接するマクロブロックであって、前記第１及び第２所定サイズのブロックを含まない第３マクロブロックのそれぞれについて、第２動きベクトルを算出し、
前記動きオブジェクト領域生成ステップは、前記第２動きベクトルに基づいて、前記第３マクロブロックを、前記第１動きオブジェクト領域に加える、
ことを特徴とする、動きオブジェクト検出プログラム。
【請求項６】
請求項５に記載の動きオブジェクト検出プログラムであって、
前記動きオブジェクト領域生成ステップにより生成された、前記動きオブジェクト領域について、所定時間後の前記動きオブジェクト領域の位置を予測する予測ステップと、
前記予測ステップにおいて予測された前記動きオブジェクト領域の位置と、前記動きオブジェクト領域生成ステップにおいて前記所定時間後の前記画像データについて生成された第２動きオブジェクト領域とに基づいて、前記第１動きオブジェクト領域と、第２動きオブジェクト領域との対応を判定する動きオブジェクト領域間対応判定ステップと、
を実行させることを特徴とする、動きオブジェクト検出プログラム。
【請求項７】
画像データに対する可変ブロックサイズ動き補償予測に用いられるブロックサイズを検出する可変ブロックサイズ検出ステップと、
前記可変ブロックサイズ検出部が第１所定サイズのブロックを検出した場合に、当該ブロックを含む第１マクロブロックについて、第１動きベクトルを算出する動きベクトル算出ステップと、
前記第１動きベクトルに基づいて、前記第１マクロブロックを第１動きオブジェクト領域として設定し、設定した前記第１動きオブジェクト領域に隣接する、第２所定サイズのブロックを含む第２マクロブロックを、前記第１動きオブジェクト領域に加える動きオブジェクト領域生成ステップと、を含み、
前記動きベクトル算出ステップは、前記第１動きオブジェクト領域に隣接するマクロブロックであって、前記第１及び第２所定サイズのブロックを含まない第３マクロブロックのそれぞれについて、第２動きベクトルを算出し、
前記動きオブジェクト領域生成ステップは、前記第２動きベクトルに基づいて、前記第３マクロブロックを、前記第１動きオブジェクト領域に加える、
ことを特徴とする動きオブジェクト検出方法。
【請求項８】
請求項７に記載の動きオブジェクト検出方法であって、
前記動きオブジェクト領域生成ステップにより生成された、前記動きオブジェクト領域について、所定時間後の前記動きオブジェクト領域の位置を予測する予測ステップと、
前記予測ステップにおいて予測された前記動きオブジェクト領域の位置と、前記動きオブジェクト領域生成ステップにおいて前記所定時間後の前記画像データについて生成された第２動きオブジェクト領域とに基づいて、前記第１動きオブジェクト領域と、第２動きオブジェクト領域との対応を判定する動きオブジェクト領域間対応判定ステップと、
を含むことを特徴とする、動きオブジェクト検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きオブジェクト検出装置、動きオブジェクト検出方法、及びプログラムに関するものであり、特に、動画像データにおける動きオブジェクト検出を行う装置、方法、及びプログラムに関するものである。
【背景技術】
【０００２】
近年、動画像を撮像及び／又は表示する機能を有する端末が普及し、これらの端末のユーザにとって、動画像の撮像及び／又は視聴は日常的なものとなっている。これに伴い、動画像からの情報抽出や、動画像の商業的な利用に関して、多くの開発投資がなされている。具体的には、動画像中の動きのある物体（動きオブジェクト）を抽出するために、例えば、背景差分、オプティカルフロー、パーティクルフィルタ、動きベクトル、ＤＣ（Discrete Cosine）画像、スキップマクロブロック（Macro Block：MB）、及び動き補償マクロブロックサイズ等を用いた方法が開発されてきた。以下、各方法について説明する。
【０００３】
背景差分を用いた動きオブジェクト検出方法は、背景だけが映っている背景画像と動きオブジェクトを含むフレーム画像との差分をとることにより、動きオブジェクトだけを分離・抽出する方法であり、背景がほとんど動かず、動きオブジェクトのみが動くような動画像の処理において特に有効である（例えば、特許文献１）。
【０００４】
オプティカルフローを用いた動きオブジェクト検出方法は、時刻の異なる２つの映像フレームの間で同一対象について対応付けを行い、その移動量をベクトルデータとして表現したもの（すなわち、オプティカルフロー）を利用する方法である。典型的には、オプティカルフローを求めるにあたって、各画素位置における輝度値や色情報の偏微分を算出する（例えば、非特許文献１）。
【０００５】
パーティクルフィルタを用いた動きオブジェクト検出方法は、画面上にランダムに散布した点におけるオプティカルフローを用いて動きオブジェクトを推定する方法である（例えば、非特許文献２）。
【０００６】
動きベクトルを用いた動きオブジェクト方法は、圧縮動画像の予測符号化で用いる動きベクトルが発生する場所を移動領域と見なす方法である。動きベクトルは、オブジェクトの動きだけではなく、蛍光灯のちらつき（フリッカー）や、屋外の木の葉の揺れなどにも起因して生じるため、これらのノイズと実際の動きオブジェクトを区別することが必要である。そこで、ノイズ除去のために、動きベクトルの大きさや内積を利用する方法が提案されている（特許文献２、非特許文献３、４）。
【０００７】
DC画像を用いた動きオブジェクト検出方法は、MPEG（Moving Picture Experts Group）2のI（Intra-coded）フレームにおけるDCT係数の直流成分がブロックの平均色に対応していることを利用して、算出されたDC画像に対し、通常のテンプレートマッチング法を適用して動きオブジェクトを同定する方法である（非特許文献５，６）。
【０００８】
スキップマクロブロック用いた動きオブジェクト検出方法は、動きベクトルが発生しなかったマクロブロックに割り当てられるタイプを用いて、動きのない背景領域を簡単に除去する方法が知られている(例えば、非特許文献７)。
【０００９】
動き補償マクロブロックサイズを用いた動きオブジェクト検出方法は、符号化方式としてMPEG２を使用することを前提としており、動きオブジェクトと背景との境界領域においては、マクロブロックサイズが、通常の１６×１６ではなく、１６×８が用いられる傾向が強いことを利用して動きオブジェクト領域を検出する方法である(例えば、非特許文献８)。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平０８−２２１５７７号公報
【特許文献２】特開２００１−２５０１１８号公報
【非特許文献】
【００１１】
【非特許文献１】山田・伊藤・上田、“背景差分法における波誤検出抑制法の検討”信学技法、PRMU98-109、1998
【非特許文献２】Ya-Dong Wang, Jian-Kang Wu, Ashraf A. Kassim, “Particle Filter for Visual Tracking Using Multiple Cameras,” Proc. MVA2005, Tsukuba, May, pp.16-18, 2005.
【非特許文献３】H. Zen, T. Hasegawa, and S. Ozawa, “Moving object detection from MPEG coded picture,” Proc. of 1999 International Conference on Image Processing, vol.4, pp.25-29, 1999.
【非特許文献４】岩崎・横山・渡辺・古賀 “MPEGビデオデータの動きベクトルを用いた圧縮領域における移動物体の検出と追跡”信学論D、 vol.J91-D、no.6、 pp.1592-1603, 2008
【非特許文献５】Dan Schonfeld and Dan Lelescu, “VORTEX: Video retrieval and tracking from compressed multimedia databases-multiple object tracking from MPEG-2 bit stream,” Journal of Visual Communication and Image Representation, vol.11, no.2, pp.154-182, 2000.
【非特許文献６】Francesca Manerba, Jenny Benois-Pineau, Riccardo Leonardi, and Boris Mansencal, “Multiple moving object detection for fast video content description in compressed domain,”EURASIP J. Adv. Signal Process, vol.2008, no.1, pp.1-13, 2008.
【非特許文献７】Wonsang You, M.S.Houari Sabirin, Munchurl Kim,“Real-time detection and tracking of multiple objects with partial decoding in Ｈ．２６４/A VC  bitstream  domain,”Proceedings of SPIE(2009), vol.7244, 2009.
【非特許文献８】単鴻、“MPEG2動きベクトルを用いた複数移動物体の検知・追跡システム”電気通信大学、修士論文、2008年1月.
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１や、非特許文献１に係る動きオブジェクト検出方法においては、画素単位の演算が必要であるため、動きオブジェクト検出のために必要な総計算量が膨大であり、実時間処理には不適切である。また、非特許文献２に係るパーティクルフィルタを用いた動きオブジェクト検出方法によれば、一見、当該方法によれば、オプティカルフローよりも計算量が低減されるようにも思えるが、推定精度を上げるためには、オプティカルフローと尤度の計算を併せて反復する必要があるので、実時間処理には不適切である。さらに、特許文献２及び非特許文献３，４に係る動きベクトルを用いた動きオブジェクト検出方法も、実時間処理には不適切である。
【００１３】
さらに、非特許文献５，６に係るDC画像を用いた動きオブジェクト検出方法は、Iフレームの間隔が不均一且つMPEG２の場合よりも大幅に長いＨ．２６４形式の動画像データに適用すれば、検出精度の信頼性が劣化するおそれがある。その上、メインプロファイルでは、Iフレームにおいても画素単位のフレーム内予測符号化が採用されるため、DCT係数から色情報を取り出すためには少なくともIフレームの完全復元が必要となり、処理の高速性が失われることが懸念される。
【００１４】
さらに、非特許文献７に係るスキップマクロブロック用いたオブジェクト検出方法においては、スキップマクロブロックの出現頻度は解像度とフレームタイプに依存するため、Ｈ．２６４で規定されたすべてのプロフィールごとにパラメータを調整しなければならず、実時間処理には適さない。実際、フレームごとのスキップMB数は、解像度が高い場合や、PフレームよりもBフレームのほうが、大きくなる傾向がある。
【００１５】
さらに、非特許文献８に係る動き補償マクロブロックサイズを用いたオブジェクト検出方法では、移動領域のごく一部しか検出できない上に、Ｈ．２６４形式の動画像データに適用できないおそれがある。これは、非特許許文献８に係る方法においては、16×8サイズの動き補償ブロックが生成される箇所を境界領域であると推定して検出が行われるが、Ｈ．２６４形式の動画像においては、動きオブジェクト領域に限らず、画面全体で16×8サイズの動き補償ブロックが頻繁に用いられることに起因する。
【００１６】
かかる点に鑑みてなされた本発明の目的は、実時間処理に適している、動きオブジェクト検出装置、動きオブジェクト検出方法、及びプログラムを提供することである。
【課題を解決するための手段】
【００１７】
上記目的を達成する第１の観点に係る動きオブジェクト検出装置の発明は、
画像データに対する可変ブロックサイズ動き補償予測に用いられるブロックサイズを検出する可変ブロックサイズ検出部と、
前記可変ブロックサイズ検出部が第１所定サイズのブロックを検出した場合に、当該ブロックを含む第１マクロブロックについて、第１動きベクトルを算出する動きベクトル算出部と、
前記第１動きベクトルに基づいて、前記第１マクロブロックを第１動きオブジェクト領域として設定し、設定した前記第１動きオブジェクト領域に隣接する、第２所定サイズのブロックを含む第２マクロブロックを、前記第１動きオブジェクト領域に加える動きオブジェクト領域生成部と、を備え、
前記動きベクトル算出部は、前記第１動きオブジェクト領域に隣接するマクロブロックであって、前記第１及び第２所定サイズのブロックを含まない第３マクロブロックのそれぞれについて、第２動きベクトルを算出し、
前記動きオブジェクト領域生成部は、前記第２動きベクトルに基づいて、前記第３マクロブロックを、前記第１動きオブジェクト領域に加える、
ことを特徴とするものである。
【００１８】
また、第２の観点に係る発明は、第1の観点に係る動きオブジェクト検出装置であって、
前記動きオブジェクト領域生成部により生成された、前記動きオブジェクト領域について、所定時間後の前記動きオブジェクト領域の位置を予測する予測部と、
前記予測部により予測された前記動きオブジェクト領域の位置と、前記動きオブジェクト領域生成部により前記所定時間後の前記画像データについて生成された第２動きオブジェクト領域とに基づいて、前記第１動きオブジェクト領域と、第２動きオブジェクト領域との対応を判定する動きオブジェクト領域間対応判定部と、
を備えることを特徴とするものである。
【００１９】
また、第３の観点に係る発明は、第２の観点に係る動きオブジェクト検出装置であって、
前記予測部は、前記第１動きオブジェクト領域に含まれる各第１マクロブロックの動きベクトルに基づいて、第１フレームに後続する第２フレームの時点における、前記各第１マクロブロックの位置を予測するマクロブロック予測部であり、
前記オブジェクト領域間対応判定部は、前記マクロブロック予測部により予測された前記各第１マクロブロックの位置と、前記動きオブジェクト領域生成部により前記第２フレームについて生成された第２動きオブジェクト領域とについて、カウントを実行し、その結果に基づいて、前記第１動きオブジェクト領域と、第２動きオブジェクト領域との対応を判定する、
ことを特徴とするものである。
【００２０】
また、第４の観点に係る発明は、第３の観点に係る動きオブジェクト検出装置であって、
前記予測部は、更に、カルマンフィルタを用いて、第１フレームの後所定時間分の複数の第３フレームの時点における前記第１動きオブジェクト領域の位置を予測し、
前記オブジェクト領域間対応判定部は、更に、前記カルマンフィルタを用いて予測された前記第１動きオブジェクト領域の位置と、前記所定時間中に前記動きオブジェクト領域生成部が生成した１又は複数の第３動きオブジェクト領域の位置と、に基づいて、前記第１動きオブジェクト領域と、前記第３動きオブジェクト領域との対応を判定する、ことを特徴とするものである。
【００２１】
上記目的を達成する第５の観点に係る発明は、動きオブジェクト検出プログラムであって、
コンピュータに、
画像データに対する可変ブロックサイズ動き補償予測に用いられるブロックサイズを検出する可変ブロックサイズ検出ステップと、
前記可変ブロックサイズ検出部が第１所定サイズのブロックを検出した場合に、当該ブロックを含む第１マクロブロックについて、第１動きベクトルを算出する動きベクトル算出ステップと、
前記第１動きベクトルに基づいて、前記第１マクロブロックを第１動きオブジェクト領域として設定し、設定した前記第１動きオブジェクト領域に隣接する、第２所定サイズのブロックを含む第２マクロブロックを、前記第１動きオブジェクト領域に加える動きオブジェクト領域生成ステップと、を実行させるためのプログラムであって、
前記動きベクトル算出ステップは、前記第１動きオブジェクト領域に隣接するマクロブロックであって、前記第１及び第２所定サイズのブロックを含まない第３マクロブロックのそれぞれについて、第２動きベクトルを算出し、
前記動きオブジェクト領域生成ステップは、前記第２動きベクトルに基づいて、前記第３マクロブロックを、前記第１動きオブジェクト領域に加える、
ことを特徴とするものである。
【００２２】
また、第６の観点に係る発明は、第５の観点に係る動きオブジェクト検出プログラムであって、
前記動きオブジェクト領域生成ステップにより生成された、前記動きオブジェクト領域について、所定時間後の前記動きオブジェクト領域の位置を予測する予測ステップと、
前記予測ステップにおいて予測された前記動きオブジェクト領域の位置と、前記動きオブジェクト領域生成ステップにおいて前記所定時間後の前記画像データについて生成された第２動きオブジェクト領域とに基づいて、前記第１動きオブジェクト領域と、第２動きオブジェクト領域との対応を判定する動きオブジェクト領域間対応判定ステップと、
を実行させることを特徴とするものである。
【００２３】
上記目的を達成する第７の観点に係る発明は、動きオブジェクト検出方法であって、
画像データに対する可変ブロックサイズ動き補償予測に用いられるブロックサイズを検出する可変ブロックサイズ検出ステップと、
前記可変ブロックサイズ検出部が第１所定サイズのブロックを検出した場合に、当該ブロックを含む第１マクロブロックについて、第１動きベクトルを算出する動きベクトル算出ステップと、
前記第１動きベクトルに基づいて、前記第１マクロブロックを第１動きオブジェクト領域として生成し、生成した前記第１動きオブジェクト領域に隣接する、第２所定サイズのブロックを含む第２マクロブロックを、前記第１動きオブジェクト領域に加える動きオブジェクト領域生成ステップと、を含み、
前記動きベクトル算出ステップは、前記第１動きオブジェクト領域に隣接するマクロブロックであって、前記第１及び第２所定サイズのブロックを含まない第３マクロブロックのそれぞれについて、第２動きベクトルを算出し、
前記動きオブジェクト領域生成ステップは、前記第２動きベクトルに基づいて、前記第３マクロブロックを、前記第１動きオブジェクト領域に加える、
ことを特徴とするものである。
【００２４】
また、第８の観点に係る発明は、第７の観点に係る動きオブジェクト検出方法であって、
前記動きオブジェクト領域生成ステップにより生成された、前記動きオブジェクト領域について、所定時間後の前記動きオブジェクト領域の位置を予測する予測ステップと、
前記予測ステップにおいて予測された前記動きオブジェクト領域の位置と、前記動きオブジェクト領域生成ステップにおいて前記所定時間後の前記画像データについて生成された第２動きオブジェクト領域とに基づいて、前記第１動きオブジェクト領域と、第２動きオブジェクト領域との対応を判定する動きオブジェクト領域間対応判定ステップと、
を含むことを特徴とするものである。
【発明の効果】
【００２５】
本発明によれば、実時間処理に適している、動きオブジェクト検出装置、方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態に係る動きオブジェクト検出装置を含む動画像処理装置の要部構成を概略的に示す機能ブロック図である。
【図２】図１に示した動きオブジェクト検出装置の動作を示すフローチャートである。
【図３】図１に示した動きオブジェクト検出装置の動作を説明するための図である。
【図４】図１に示した動きオブジェクト検出装置の動作を示すフローチャートである。
【図５】図１に示した動きオブジェクト検出装置を含むシステムの一例である。
【図６】図５に示したシステムの動作を説明するための図である。
【発明を実施するための形態】
【００２７】
以下、本発明の一実施形態について、図面を参照して説明する。図１は、本発明の一実施形態に係る動きオブジェクト検出装置を含む動画像処理装置の要部構成を概略的に示す機能ブロック図である。図１に示すように、動きオブジェクト領域特定部１０は、可変ブロックサイズ検出部１１と、マクロブロック動きベクトル算出部１２と、動きオブジェクト領域生成部１３と、を備えている。一方、動きオブジェクト追跡部２０は、マクロブロック予測部２１と、マクロブロックカウント部２２と、動きオブジェクト領域間対応判定部２３と、を備えている。
【００２８】
符号化部３０は、一般的な構成を有する映像信号（画像データ）を符号化するための装置である。動き補償予測部３１は、例えば、H．２６４において実装される、可変ブロックサイズ動き補償を行うものである。また、動き補償予測部３１は動きベクトル取得部（図示しない）を備えており、この動きベクトル取得部は、例えば、過去のフレームであるフレーム（ｔ）に基づいてフレーム（ｔ＋１）における動きベクトル（すなわち、順方向動きベクトル）を取得する。この場合、動き補償予測部３１は、符号化量及び動き補償精度を最適化するために、７通り（縦１６×横１６画素、１６×８、８×１６、８×８、８×４、４×８、４×４）のブロックサイズ（パーティションサイズ）を用いて動き補償予測を行う。
【００２９】
可変ブロックサイズ検出部１１は、動き補償予測部３１による可変ブロックサイズ動き補償に使用されるブロックサイズを監視し、当該動き補償予測部３１による動き補償予測に用いられるブロックサイズを検出する。発明者らは、Ｈ．２６４形式の画像データの動きオブジェクトの境界部分において、縦８×横８画素のブロックサイズのパーティション（以下、８×８パーティションという）が多く検出されるという知見を得た。このような知見に基づいて、本実施形態においては、可変ブロックサイズ検出部１１は、特に、８×８パーティションを検出した際に、マクロブロック動きベクトル算出部１２に８×８パーティションの情報を通知するように構成する。
【００３０】
マクロブロック動きベクトル算出部１２は、動き補償予測部３１の動きベクトルマクロブロックの動きベクトル検出部（図示しない）から、縦１６×横１６画素からなるマクロブロックに含まれる各パーティションの動きベクトルを取得し、マクロブロック全体の動きベクトルを算出する。また、マクロブロック動きベクトル算出部１２は、動きベクトルの方向を、図３に例に例示するように、０から７までの８つの方向領域の何れかに分類する。
【００３１】
動きオブジェクト領域生成部１３は、各マクロブロックの動きベクトルや、パーティションサイズに基づいて、動きオブジェクト領域を生成する。さらに、動きオブジェクト領域生成部１３は、生成した動きオブジェクト領域情報を出力する。動きオブジェクト領域特定部１０の動作については、図２を参照して詳述する。上述した、可変ブロックサイズ検出部１１と、マクロブロック動きベクトル算出部１２、及び動きオブジェクト領域生成部１３は、例えば、ＣＰＵ（Central Processing Unit）により実装する。
【００３２】
マクロブロック予測部２１は、取得した画像データに含まれる各フレームについて、上述した動きオブジェクト領域生成部１３により生成された動きオブジェクト領域内の各マクロブロックについて、順方向動きベクトルを用いて後続するフレームの時点における位置の予測を行う。
【００３３】
マクロブロックカウント部２２は、カウンタ（図示しない）を備えており、マクロブロック予測部２１により予測されたマクロブロックの位置と、動きオブジェクト領域生成部１３により直後のフレームについて生成された動きオブジェクト領域とに基づいて、カウントを実行する。具体的なカウント方法については、例えば、マクロブロック予測部２１により予測されたマクロブロックの位置からなる動きオブジェクト領域を標的領域ｒとし、動きオブジェクト領域生成部１３により直後のフレームについて生成された動きオブジェクト領域を候補領域ｃとした場合について説明する。マクロブロックカウント部２２は、標的領域ｒと候補領域ｃとを対比して、候補領域ｃ内に入る標的領域ｒのマクロブロックの数をカウントする。そして各標的領域ｒについて、参照率を求める。参照率（P）は、以下の式により算出する。
P＝標的領域ｒのカウント数／候補領域ｃ内の全マクロブロック数
対象とする各フレームについて、動きオブジェクト領域生成部１３により複数の動きオブジェクト領域が生成されている場合、マクロブロックカウント部２２は、標的領域ｒ及び候補領域ｃは、それぞれ複数存在し、各候補領域につき、複数の標的領域ｒについて参照率（P）を算出する。
【００３４】
動きオブジェクト領域間対応判定部２３は、一つの候補領域ｃについて、マクロブロックカウント部２２により算出された参照率（P）が最大である標的領域ｒを、当該一つの候補領域ｃに対応する一つの標的領域ｒであると判定する。上述した、動きオブジェクト追跡部２０に含まれる、マクロブロック予測部２１と、マクロブロックカウント部２２と、動きオブジェクト領域間対応判定部２３とは、例えば、ＣＰＵにより実装する。
【００３５】
図２は、図１に示した動きオブジェクト領域特定部の動作を示すフローチャートである。可変ブロックサイズ検出部１１は、動き補償予測部３１を監視している。可変ブロックサイズ検出部１１は、フレーム内に含まれる全ての８×８サイズの動き補償ブロック（８×８パーティション）を検出する（Ｓ０１）。これにより、動きオブジェクト領域特定部１０は処理をスタートする。
【００３６】
次に、マクロブロック動きベクトル算出部１２は、可変ブロックサイズ検出部１１により検出された８×８パーティションを含む各マクロブロックに対して全パーティションの動きベクトルの平均値を算出する（Ｓ０２）。このとき、マクロブロック動きベクトル算出部１２は、動き補償予測部３１から、特定したマクロブロック内の全パーティションの動きベクトルを取得し、それらの平均値を算出する。
【００３７】
動きオブジェクト領域生成部１３は、動きベクトルの平均値の値が正であるか判定する（Ｓ０３）。動きオブジェクト領域生成部１３は、動きベクトルの平均値の値が正であると判定した場合には、対応するマクロブロックを連結し、連結したマクロブロックごとにそれらを一つにまとめて動きオブジェクト領域として設定する（Ｓ０３のＹｅｓ、Ｓ０４）。他方、動きオブジェクト領域生成部１３は、平均値の値が正でないと判定した場合には、動きオブジェクト領域検出動作を終了する（Ｓ０４のＮｏ、Ｓ１０）。
【００３８】
そして、動きオブジェクト領域生成部１３は、ステップＳ０４において動きオブジェクト領域に含まれるマクロブロックに隣接するマクロブロックのパーティションが１６×８又は８×１６パーティションであるか判定する（Ｓ０５）。動きオブジェクト領域生成部１３は、隣接するマクロブロックのパーティションが１６×８又は８×１６パーティションであると判定した場合には、上述した動きオブジェクト領域にステップＳ０５の条件を満たす隣接するマクロブロックを加える（Ｓ０５のＹｅｓ、Ｓ０６）。ここで、動きオブジェクト領域生成部１３は、ステップＳ０７での動きオブジェクト領域に更に隣接するマクロブロックについて、ステップＳ０６及びＳ０７の動作を行う。このようにして、動きオブジェクト領域生成部１３は、ステップＳ０６の時点における動きオブジェクト領域に隣接するマクロブロックが１６×８又は８×１６のパーティションを含まないことを判定するまで、ステップＳ０５及びＳ０６の動作を繰り返す。
【００３９】
そして、動きオブジェクト領域生成部１３は、ステップＳ０６の時点における動きオブジェクト領域に隣接するマクロブロックのパーティションが１６×１６パーティションであるか判定する（Ｓ０７）。動きオブジェクト領域生成部１３は、隣接するマクロブロックのパーティションが１６×１６パーティションではないと判定した場合には、動きオブジェクト領域検出動作を終了する（Ｓ０７のＮｏ、Ｓ１０）。一方、動きオブジェクト領域生成部１３は、ステップＳ０５において、隣接するマクロブロックのパーティションが１６×８又は８×１６パーティションではないと判定した場合には、ステップＳ０７において、ステップＳ０４の時点における動きオブジェクト領域に隣接するマクロブロックのパーティションが１６×１６パーティションであるか判定する。
【００４０】
そして、動きオブジェクト領域生成部１３は、ステップＳ０７において、１６×１６パーティションであると判定したマクロブロックについて、ステップＳ０６での動きオブジェクト領域に含まれる各マクロブロックの動きベクトルとの間の類否判定を行う（Ｓ０８）。このとき、動きオブジェクト領域生成部１３は、動きベクトルの大きさ及び方向に基づいて類否判定を行う。例えば、方向の類否判定においては、動きオブジェクト領域生成部１３は、平均動きベクトルの方向を、図３に示す０から７までの８つの方向領域の何れかに分類し、同一又は隣接する方向領域に属する動きベクトルは方向が類似するものとして判定する。
【００４１】
そして、動きオブジェクト領域生成部１３は、ステップＳ０８において類似すると判定した場合には、動きオブジェクト領域にステップＳ０８の条件を満たす隣接マクロブロックを加える（Ｓ０８のＹｅｓ、Ｓ０９）。一方、ステップＳ０８において類似しないと判定した場合には、動きオブジェクト領域検出動作を終了する（Ｓ０８のＮｏ、Ｓ１０）。
【００４２】
図４は、図１に示した動きオブジェクト追跡部の動作を示すフローチャートである。ここでは、時刻ｔにおけるフレーム（以下、フレーム（ｔ）と称する）、及び時刻ｔ＋１におけるフレーム（以下、フレーム（ｔ＋１）と称する）との間で、動きオブジェクト追跡処理を行うものとする。マクロブロック予測部２１は、動きオブジェクト領域生成部１３から、時刻ｔにおけるフレーム（以下、フレーム（ｔ）と称する）の動きオブジェクト領域情報を取得し、その旨をマクロブロックカウント部２２に通知する（Ｓ１１）。マクロブロックカウント部２２は、フレーム（ｔ）に含まれる各動きオブジェクト領域ごとに、カウンタを準備し、カウンタ値をリセットしてゼロにする（Ｓ１２）。
【００４３】
マクロブロック予測部２１は、ステップＳ１１において取得した、フレーム（ｔ）の各動きオブジェクト領域内の各マクロブロック（以下、ＭＢｘと称する）について、動き補償予測部３１から動きベクトルを取得する（Ｓ１３）。そして、マクロブロック予測部２１は、ステップＳ１３において取得した動きベクトルを用いて、フレーム（ｔ）内において、時刻（ｔ＋１）の時点における、ＭＢｘの位置に対応するマクロブロック（以下、ＭＢｙと称する）を予測マクロブロックとして特定する。
【００４４】
そして、マクロブロック予測部２１は、フレーム（ｔ＋１）の動きオブジェクト領域情報を、動きオブジェクト領域生成部１３から取得して、ステップＳ１４において特定した予測マクロブロックの情報と共に、マクロブロックカウント部２２に提供する（Ｓ１５）。マクロブロックカウント部２２は、マクロブロック予測部２１から取得した情報に基づいて、カウントを実行する（Ｓ１６）。そして、マクロブロックカウント部２２は、フレーム（ｔ＋１）の各動きオブジェクト領域について、図１を参照して上述した参照率（P）を算出する（Ｓ１７）。
【００４５】
そして、動きオブジェクト領域間対応判定部２３は、一つのフレーム（ｔ＋１）の動きオブジェクト領域（候補領域ｃ）について、ステップＳ１７において算出した参照率（Ｐ）が最大の、フレーム（ｔ）の動きオブジェクト領域（標的領域ｒ）を判定する（Ｓ１８）。動きオブジェクト領域間対応判定部２３は、ステップＳ１８において一つの候補領域ｃに対して最大の参照率（Ｐ）を有する標的領域ｒを、候補領域ｃと同一の動きオブジェクトとして判定する（Ｓ１８のＹｅｓ、Ｓ１９）。一方、ステップＳ１８において参照率（Ｐ）が最大であると判断された標的領域ｒ以外の標的領域ｒについては、動きオブジェクト追跡処理を終了する（Ｓ１８のＮｏ、Ｓ２０）。
【００４６】
このように、本実施の形態に係る動きオブジェクト検出装置によれば、可変ブロックサイズ検出部１１が、画像データに対する可変ブロックサイズ動き補償予測に用いられるブロックサイズであって、８×８パーティション（以下、第１所定サイズのブロック）を検出した場合に、マクロブロック動きベクトル算出部１２は、当該ブロックを含む第１マクロブロックについて、第１動きベクトルを算出する。そして、動きオブジェクト領域生成部１３は、第１動きベクトルに基づいて、第１マクロブロックを第１動きオブジェクト領域として設定する。さらに、動きオブジェクト領域生成部１３は、特定した前記第１動きオブジェクト領域に直接又は間接的に隣接する、１６×８又は８×１６パーティション（以下、第２所定サイズのブロック）を含む第２マクロブロックを、第１動きオブジェクト領域に加える。さらに、マクロブロック動きベクトル算出部１２は、生成した第１動きオブジェクト領域に隣接するマクロブロックであって、前記第１及び第２所定サイズのブロックを含まない第３マクロブロックのそれぞれについて、第２動きベクトルを算出する。さらに、動きオブジェクト領域生成部１３は、第２動きベクトルに基づいて前記第３マクロブロックを、第１動きオブジェクト領域に加える。このように、画素の集合であるマクロブロックを基準として動きオブジェクト検出処理を行うため、実時間処理に適している、動きオブジェクト検出装置が提供できる。
【００４７】
さらに、本実施の形態に係る各装置は、所定サイズのパーティションの検出をきっかけとして動きオブジェクトの検出及び追跡を行うため、Ｈ．２６４等の様々な動画像データに適用することができる。また、本実施の形態に係る動きオブジェクト領域生成部１３により生成された動きオブジェクト領域を利用して、通常用いられるクロマキー合成よりも、比較的容易に背景合成を行うことが可能である。
【００４８】
好ましくは、マクロブロック予測部２１は、動きオブジェクト領域生成部１３が生成した一又は複数の動きオブジェクト領域について、それぞれカルマンフィルタを設定し、それらを用いて予測を行うことができる。更に好ましくは、カルマンフィルタの入力情報としては、動きオブジェクト領域の重心位置のみではなく、動きオブジェクト領域の速度ベクトルに相当する平均動きベクトルを用いることができる。重心位置、平均動きベクトル及び速度情報は、動きオブジェクト領域生成部１３が生成した動きオブジェクト領域に含まれるマクロブロックの位置ベクトルと動きベクトルの平均値などに基づいて算出する。カルマンフィルタの入力に動きオブジェクト領域の重心位置だけでなく、平均動きベクトルを加えることにより、カルマンフィルタの予測精度が向上し、次の時刻におけるより正確な物体の位置ベクトルならびに速度ベクトルが得られ、加えない場合に比べ、追跡性能を高めることができる。一方、従来のように、カルマンフィルタの入力に動きオブジェクト領域の重心位置だけを使用した場合には、次の時刻の重心位置と速度ベクトルを、現在の時刻の重心位置のみから予測するため、動きオブジェクトが急に方向を変えたり、速度を変化させると、予測結果が悪く、オブジェクトの追跡が困難であった。
【００４９】
更に好ましくは、マクロブロック予測部２１は、ある動きオブジェクトが、障害物に遮蔽されたり、他の動きオブジェクトと交差することによって、見かけ上、短時間の間フレーム内にから消滅する現象である、いわゆるオクルージョンの発生に起因する検出精度の劣化を低減するように構成することができる。この場合、例えば、マクロブロック予測部２１において、予め設定した所定期間の間、カルマンフィルタによる予測を行うことで、オクルージョンにより画面上から消滅した動きオブジェクトを追跡することが可能になる。
【００５０】
このとき、オクルージョンにより画面上から消滅した動きオブジェクトに対応するカルマンフィルタの観測データは、位置ベクトル、速度情報に対応した動きベクトルともに０としてカルマンフィルタによる予測を続ける。また、所定期間の間、動きオブジェクト領域間対応判定部２３は、オクルージョンの有無に関わらず、動きオブジェクト領域特定部１３が特定した動きオブジェクト領域が、自らが保持している動きオブジェクト領域に類似しているかどうかの判定を続ける。そして、オクルージョンが解消され、消滅していた動きオブジェクトが再び画面上に出現した場合、動きオブジェクト領域間対応判定部２３は、そのオブジェクトを新たなオブジェクトとして、その位置と、所定期間中における予測結果に基づき、カルマンフィルタによる予測位置との距離を比較する。そして、動きオブジェクト領域間対応判定部２３は、その距離が予め定められたしきい値より小さければ、オクルージョンにより消滅したオブジェクト領域が再び出現したと判断する。
【００５１】
このようにして、上述したようなマクロブロック予測部２１を備える動きオブジェクト追跡部２０は、オクルージョンの発生したオブジェクト領域についても高精度に追跡することができる。かかる動きオブジェクト追跡部２０は、監視カメラシステム等への実装に特に適している。これは、駐車場や街角を徘徊する不審人物を、障害物等が存在する場合でも、見失うことなく追跡し続けることが可能となるからである。
【００５２】
また、上記実施の形態に係る動きオブジェクト検出装置２は、例えば、以下に示すようなシステムとして実装することができる。第１の例に係るシステムは、ビデオ広告を伴う映像（ビデオ）配信システムである。本システムは、動きオブジェクト検出装置２の他に、例えば、カメラ４０ａ並びに４０ｂ、ビデオサーバ４１、音声認識システム４２、顔画像認識システム４３、ＵＴＣ（Coordinated Universal Time）サーバ４４、メタデータ生成装置４５、メタデータプロバイダ４６を含む。顔画像認識システムは、例えば、著名人の顔画像のデータと、その著名人の名前や経歴などのメタデータを関連付けるデータベースを保持している。メタデータ生成装置４５は、例えば、インターネット（図示しない）に接続しており、インターネット経由で様々なデータを取得することができる。ユーザ４９は、例えば、スマートフォンやＰＣ（Personal Computer）などの端末４７からシステムにアクセスして、ビデオを視聴することができる。端末４７は、メタデータプロバイダ４６からメタデータを取得するメタデータ取得部４８を備える。メタデータ取得部４８は、例えば、ＣＰＵによって実装可能である。
【００５３】
本システムは、カメラ４０ａ並びに４０ｂにより撮像されるライブビデオ（リアルタイム映像）に含まれる、大勢の人物を、動きオブジェクト領域装置２によって、検出及び追跡するように構成される。動きオブジェクト領域装置２の動きオブジェクト領域特定部１０は、図１〜３を参照して詳述したような方法により、各人物などを含む領域を生成して、ビデオデータに含まれる各フレームについて動きオブジェクト領域情報を提供する。動きオブジェクト追跡部２０は、図１及び４を参照して詳述したような方法により、各動きオブジェクトを追跡して、検出された各動きオブジェクトについて識別番号（ＩＤ）を付与すると共に、動きオブジェクト追跡情報を提供する。動きオブジェクト追跡情報は、例えば、追跡した動きオブジェクト領域を含む近似矩形の対角座標値の情報である。また、カメラ４０ａ並びに４０ｂにより撮像されるライブビデオは、ビデオサーバ４１に保存され、ユーザ４９に対して提供される。
【００５４】
また、音声認識システム４２は、ビデオデータに含まれる音声データをテキスト化し、音声テキストデータとして動きオブジェクト追跡部２０に提供する。顔画像認識システム４３は、協調して、時間や、各動きオブジェクトの位置情報、テキストデータなどの情報を、各動きオブジェクトに対して、メタデータとして追加する。また、顔画像認識システム４３は、動きオブジェクト（人物）を含む画像ファイルについて、予め保持しているデータベースとの照合を行い、各動きオブジェクト（人物）のＩＤと、氏名等のメタデータとを関連付ける。
【００５５】
そして、メタデータ生成装置４５は、インターネットを経由して、例えば、ツイッター、リアルタイムサーチエンジンなどから準リアルタイムテキストデータを取得する。また、メタデータ生成部４５は、ＵＴＣサーバ４４からＵＴＣ時間に基づくビデオ取得時（現在時間）の情報を取得し、メタデータに追加する。この他に、時間情報としては、ビデオ内での相対的な時間を示すビデオ時間の情報が含まれうる。
【００５６】
更に、メタデータ生成装置４５は、一つのオブジェクトに対して積極的又は消極的に作用する、他の一又は複数のオブジェクトのIDを上述したメタデータに含めることもできる。ここで、「一つのオブジェクトに対して積極的に作用するオブジェクト」とは、例えば、一つのオブジェクトである人物（人物Aとする）に対して話しかける他の人物や、人物Aとテニスをする他の人物である。他方、「一つのオブジェクトに対して消極的に作用するオブジェクト」とは、例えば、人物Aが身に着けている腕時計や、人物Aが座っているソファー、人物Aが片手に持っているワインボトルなどである。
【００５７】
図６に、メタデータプロバイダ４６において保持されるメタデータの一例を示す。各オブジェクトIDごとに、UTC時刻、ビデオ時刻、位置情報、音声テキストデータ、ツイッター等から取得したテキストデータ、関連するオブジェクトのIDと、その動作等の情報がメタデータとして保持されている。「位置情報」は、カメラ１〜Nのそれぞれにおける各オブジェクト領域を含む近似矩形の対角座標値である。UTC時刻（１６：３７：０８）において、オブジェクト１（ID：１２８９７６５４）は、オブジェクト２（ID：１８９９９０１２）に対して、「こんにちは！」と発声した場合には、音声テキストデータとして「こんにちは!」というテキスト情報が保持されている。そして、「関連オブジェクト」のIDとして、オブジェクト２のIDが保持され、その「動作」として、「話を聴く」という情報が保持されている。これと同様に、各時点における各オブジェクトについての様々な情報がメタデータとして保持されている。
【００５８】
また、本システムは、ライブビデオが表示される画面を介して、ユーザが対話的に興味あるオブジェクトを指定できるように構成することもできる。このとき、ユーザは、例えば、指やスタイラスペン等によりタッチパネル画面上において対角線を描くことにより、興味あるオブジェクトを含む矩形領域を定義する。このとき、矩形領域内のオブジェクトの動きが遅く、連続したいくつかの動画フレームを比較してもあまり変化しないような場合、特定された境界よりも大きい範囲でオブジェクトの動きを捉えることにより、位置情報を取得するようにシステムを構成することもできる。
【００５９】
また、メタデータ取得部４８は、ユーザの嗜好や要求に合う内容のメタデータ（すなわち、ユーザ専用のメタデータ）を取得する（フェッチする）ためのフィルタを生成し、メタデータプロバイダ４６から当該フィルタを経てメタデータを取得することもできる。このような、フィルタを用いた情報フィルタリングにより取得したメタデータは、ユーザにとって魅力的且つ有意義である可能性が高い。メタデータ取得部４８が、フィルタを生成する際に用いるパラメータとしては、位置、ユーザの性別や年齢、ユーザが起動しているアプリケーションの種類、メタデータに含まれるコンテンツの分野、及びユーザの周辺の環境（例えば、コンサート、パーティー、学校、職場等）等が挙げられる。この他、客観的には測定不能な、ユーザの気分及び期待度等を上記パラメータとして用いることも考えられる。
【００６０】
本システムによれば、ビデオと共に、ユーザの嗜好に応じたビデオ広告や、メタデータ情報なども配信することが可能である。また、複数のカメラを用いる場合には、複数のカメラが異なるアングルで撮影した追跡対象とする動きオブジェクトの位置情報等のメタデータを利用することで、複数カメラが一体となって、同一の追跡対象を追跡することが可能である。
【００６１】
更に、本発明の一態様として、動きオブジェクト検出装置２を、コンピュータとして構成させることができる。コンピュータを、この装置として機能させるためのプログラムは、コンピュータに備えられる記憶部に記憶される。そのような記憶部は、外付けハードディスクなどの外部記憶装置、或いはＲＯＭ又はＲＡＭなどの内部記憶装置で実現することができる。上述の装置として機能するコンピュータは、ＣＰＵなどの制御で実現することができる。即ち、ＣＰＵが、各構成要素の機能を実現するための処理内容が記述されたプログラムを、適宜、記憶部から読み込んで、各構成要素の機能をコンピュータ上で実現させることができる。ここで、各構成要素の機能をハードウェアの一部で実現しても良い。
【００６２】
また、この処理内容を記述したプログラムを、例えばＤＶＤ又はＣＤ−ＲＯＭなどの可搬型記録媒体の販売、譲渡、貸与等により流通させることができるほか、そのようなプログラムを、例えばネットワーク上にあるサーバの記憶部に記憶しておき、ネットワークを介してサーバから他のコンピュータにそのプログラムを転送することにより、流通させることができる。
【００６３】
また、そのようなプログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム又はサーバから転送されたプログラムを、一旦、自己の記憶部に記憶することができる。また、このプログラムの別の実施態様として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、更に、このコンピュータにサーバからプログラムが転送される度に、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。
【符号の説明】
【００６４】
１    動画像処理装置
２    動きオブジェクト検出装置
１０  動きオブジェクト領域特定部
１１  可変ブロックサイズ検出部
１２  マクロブロック動きベクトル算出部
１３  動きオブジェクト領域生成部
２０  動きオブジェクト追跡部
２１  マクロブロック予測部
２２  マクロブロックカウント部
２３  動きオブジェクト領域間対応判定部
３０  符号化部
３１  動き補償予測部
４０  カメラ
４１  ビデオサーバ
４２  音声認識システム
４３  顔画像認識システム
４４  ＵＴＣサーバ
４５  メタデータ生成装置
４６  メタデータプロバイダ
４７  端末
【図１】
0005334328.tif 000002
【図２】
0005334328.tif 000003
【図３】
0005334328.tif 000004
【図４】
0005334328.tif 000005
【図５】
0005334328.tif 000006
【図６】
0005334328.tif 000007