(57)【要約】【課題】少ない演算量により高精度に動きベクトルを計測する。【解決手段】動きベクトル分布算出部４１が、対象フレーム上における動きベクトル計測の対象となる対象画素について、過去フレームを対象フレームに対して所定画素ずらしつつ、対象画素と対象画素に対応する過去フレームの対応画素との相関を表すスコアを算出することにより、所定画素の数により定められる動きベクトル検出空間における動きベクトル分布を算出する。動きベクトル検出部４３が、動きベクトル分布についての、動きベクトル検出空間の中心位置のスコアと、中心位置以外の他の位置のスコアとの差分に基づいて、対象画素における動きベクトルを検出する。誤計測判定部４４が、動きベクトル分布に基づいて、動きベクトルが誤計測であるか否かを判定する。【選択図】図１
2011191973.tif 000002
【特許請求の範囲】
【請求項１】
動画像に含まれる複数フレームにおける対象フレームと、該対象フレームから所定フレーム間隔離れた過去フレームとに基づいて、前記対象フレーム上の対象画素位置での動きベクトルを計測する動きベクトル計測装置において、
前記対象フレーム上における前記動きベクトル計測の対象となる対象画素について、前記過去フレームを前記対象フレームに対して所定画素ずらしつつ、前記対象画素と該対象画素に対応する前記過去フレームの対応画素との相関を表すスコアを算出することにより、前記所定画素の数により定められる動きベクトル検出空間における動きベクトル分布を算出する動きベクトル分布算出手段と、
前記動きベクトル分布についての前記動きベクトル検出空間の中心位置のスコアと、該中心位置以外の他の位置のスコアとの差分に基づいて、前記対象画素における動きベクトルを検出する動きベクトル検出手段と、
前記動きベクトル分布に基づいて、前記動きベクトルが誤計測であるか否かを判定する誤計測判定手段とを備えたことを特徴とする動きベクトル計測装置。
【請求項２】
前記動きベクトル分布を平均化する平均化処理手段をさらに備えたことを特徴とする請求項１記載の動きベクトル計測装置。
【請求項３】
前記動きベクトル分布算出手段は、前記対象画素を中心とする所定サイズのブロック内の画素の画素値に基づいて、正規化された前記スコアを算出する手段であることを特徴とする請求項１または２記載の動きベクトル計測装置。
【請求項４】
前記誤計測判定手段は、前記動きベクトル検出空間における前記動きベクトルの始点位置のスコアと終点位置のスコアとの差が所定のしきい値よりも小さい場合に、前記動きベクトルが誤計測であると判定する手段であることを特徴とする請求項１から３のいずれか１項記載の動きベクトル計測装置。
【請求項５】
前記対象フレームを前記過去フレームに対して前記所定画素ずらしつつ、前記対象画素と該対象画素に対応する前記過去フレームの対応画素との相関を表すスコアを算出することにより、前記動きベクトル検出空間における他の動きベクトル分布を算出する他の動きベクトル分布算出手段と、
前記他の動きベクトル分布についての、前記動きベクトル検出空間の中心位置のスコアと、該中心位置以外の他のスコアとの差分に基づいて、前記対象画素における他の動きベクトルを検出する他の動きベクトル検出手段とをさらに備え、
前記誤計測判定手段は、前記動きベクトルと前記他の動きベクトルの大きさが一致し、かつ方向が逆の場合に、前記動きベクトルが誤計測でないと判定する手段であることを特徴とする請求項１から３のいずれか１項記載の動きベクトル計測装置。
【請求項６】
前記対象フレームを前記対象フレームに対して前記所定画素ずらしつつ、前記対象画素と該対象画素に対応する前記ずらした対象フレームの対応画素との相関を表すスコアを算出することにより、前記動きベクトル検出空間における自己動きベクトル分布を算出する自己動きベクトル分布算出手段をさらに備え、
前記誤計測判定手段は、前記相関が高いほど前記スコアが大きい場合において、前記動きベクトル検出空間における前記動きベクトルの終点位置に対応する、前記自己動きベクトル分布の前記動きベクトル検出空間における位置のスコアを所定のしきい値と比較し、該スコアが該所定のしきい値以上である場合に、前記動きベクトルが誤計測であると判定する手段であることを特徴とする請求項１から３のいずれか１項記載の動きベクトル計測装置。
【請求項７】
前記誤計測判定手段は、機械学習を用いて生成された、前記動きベクトルが真の動きベクトルであるか否かを判定する判別器を用いて、前記動きベクトルが誤計測であるか否かを判定する手段であることを特徴とする請求項１から３のいずれか１項記載の動きベクトル計測装置。
【請求項８】
動画像に含まれる複数フレームにおける対象フレームと、該対象フレームから所定フレーム間隔離れた過去フレームとに基づいて、前記対象フレーム上の対象画素位置での動きベクトルを計測する動きベクトル計測方法において、
前記対象フレーム上における前記動きベクトル計測の対象となる対象画素について、前記過去フレームを前記対象フレームに対して所定画素ずらしつつ、前記対象画素と該対象画素に対応する前記過去フレームの対応画素との相関を表すスコアを算出することにより、前記所定画素の数により定められる動きベクトル検出空間における動きベクトル分布を算出し、
前記動きベクトル分布についての前記動きベクトル検出空間の中心位置のスコアと、該中心位置以外の他の位置のスコアとの差分に基づいて、前記対象画素における動きベクトルを検出し、
前記動きベクトル分布に基づいて、前記動きベクトルが誤計測であるか否かを判定することを特徴とする動きベクトル計測方法。
【請求項９】
動画像に含まれる複数フレームにおける対象フレームと、該対象フレームから所定フレーム間隔離れた過去フレームとに基づいて、前記対象フレーム上の対象画素位置での動きベクトルを計測する動きベクトル計測方法をコンピュータに実行させるためのプログラムにおいて、
前記対象フレーム上における前記動きベクトル計測の対象となる対象画素について、前記過去フレームを前記対象フレームに対して所定画素ずらしつつ、前記対象画素と該対象画素に対応する前記過去フレームの対応画素との相関を表すスコアを算出することにより、前記所定画素の数により定められる動きベクトル検出空間における動きベクトル分布を算出する手順と、
前記動きベクトル分布についての前記動きベクトル検出空間の中心位置のスコアと、該中心位置以外の他の位置のスコアとの差分に基づいて、前記対象画素における動きベクトルを検出する手順と、
前記動きベクトル分布に基づいて、前記動きベクトルが誤計測であるか否かを判定する手順とを有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像における物体の動きを表す動きベクトルを計測する動きベクトル計測装置および方法並びに動きベクトル計測方法をコンピュータに実行させるためのプログラムに関するものである。
【背景技術】
【０００２】
画像の動きベクトルを計測する手段として、従来より相関演算に基づくブロックマッチング法が知られている。ブロックマッチング法は、動きベクトル計測の対象となる対象フレームを複数の適当な大きさのブロック（例えば８×８画素）に分割し、このブロック単位で過去のフレームとの画素の差を算出し、この差の絶対値の和が最小となる過去のフレームの画素位置を探索する方法である。ブロックマッチング法においては、フレーム間におけるブロックのずれが、対象フレームにおけるそのブロックの中心にある画素位置の動きベクトルを示すものとなる。
【０００３】
また、ブロックマッチング法を用いて動きベクトルを計測するに際し、対象フレームにおいてあらかじめ定められた探索範囲における複数の動きベクトルを算出し、動きベクトルの評価値が最小となる動きベクトルを選択する手法が提案されている（特許文献１参照）。また、対象フレームと過去フレームとの間において、注目ブロックおよびその周囲のブロックにおいて動きベクトル分布を作成し、動きベクトル分布に含まれる複数の動きベクトルから、最適な動きベクトルを選択する手法も提案されている（特許文献２参照）。特許文献１，２の手法によれば、動きベクトルを精度よく検出することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１０１２３９号公報
【特許文献２】特開平９−３７２７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１，２に記載された手法においては、８×８等の比較的大きなブロックを用いて動きベクトルを算出しているため、動きベクトル算出のための演算量が大きくなり、その結果、動きベクトルの算出に長時間を要するものとなる。このため、ブロックマッチング法に使用するブロックのサイズを小さくすることが考えられる。しかしながら、ブロックのサイズを小さくすると、実際には動きがないにも拘わらず動きベクトルが検出されてしまったり、動きベクトルが安定しないというような誤計測が多くなる。また、上記特許文献２に記載された手法においては、注目ブロックの周囲の動きベクトル分布を用いているが、その動きベクトル分布は注目ブロックの動きベクトルからなるものではないことから、動きベクトルの検出精度がそれほど高くない。
【０００６】
本発明は上記事情に鑑みなされたものであり、少ない演算量により高精度に動きベクトルを計測することを目的とする。
【課題を解決するための手段】
【０００７】
本発明による動きベクトル計測装置は、動画像に含まれる複数フレームにおける対象フレームと、該対象フレームから所定フレーム間隔離れた過去フレームとに基づいて、前記対象フレーム上の対象画素位置での動きベクトルを計測する動きベクトル計測装置において、
前記対象フレーム上における前記動きベクトル計測の対象となる対象画素について、前記過去フレームを前記対象フレームに対して所定画素ずらしつつ、前記対象画素と該対象画素に対応する前記過去フレームの対応画素との相関を表すスコアを算出することにより、前記所定画素の数により定められる動きベクトル検出空間における動きベクトル分布を算出する動きベクトル分布算出手段と、
前記動きベクトル分布についての前記動きベクトル検出空間の中心位置のスコアと、該中心位置以外の他の位置のスコアとの差分に基づいて、前記対象画素における動きベクトルを検出する動きベクトル検出手段と、
前記動きベクトル分布に基づいて、前記動きベクトルが誤計測であるか否かを判定する誤計測判定手段とを備えたことを特徴とするものである。
【０００８】
なお、本発明による動きベクトル計測装置においては、前記動きベクトル分布を平均化する平均化処理手段をさらに備えるものとしてもよい。
【０００９】
また、本発明による動きベクトル計測装置においては、前記動きベクトル分布算出手段を、前記対象画素を中心とする所定サイズのブロック内の画素の画素値に基づいて、正規化された前記スコアを算出する手段としてもよい。
【００１０】
また、本発明による動きベクトル計測装置においては、前記誤計測判定手段を、前記動きベクトル検出空間における前記動きベクトルの始点位置のスコアと終点位置のスコアとの差が所定のしきい値よりも小さい場合に、前記動きベクトルが誤計測であると判定する手段としてもよい。
【００１１】
また、本発明による動きベクトル計測装置においては、前記対象フレームを前記過去フレームに対して前記所定画素ずらしつつ、前記対象画素と該対象画素に対応する前記過去フレームの対応画素との相関を表すスコアを算出することにより、前記動きベクトル検出空間における他の動きベクトル分布を算出する他の動きベクトル分布算出手段と、
前記他の動きベクトル分布についての、前記動きベクトル検出空間の中心位置のスコアと、該中心位置以外の他のスコアとの差分に基づいて、前記対象画素における他の動きベクトルを検出する他の動きベクトル検出手段とをさらに備えるものとし、
前記誤計測判定手段を、前記動きベクトルと前記他の動きベクトルの大きさが一致し、かつ方向が逆の場合に、前記動きベクトルが誤計測でないと判定する手段としてもよい。
【００１２】
また、本発明による動きベクトル計測装置においては、前記対象フレームを前記対象フレームに対して前記所定画素ずらしつつ、前記対象画素と該対象画素に対応する前記ずらされた対象フレームの対応画素との相関を表すスコアを算出することにより、前記動きベクトル検出空間における自己動きベクトル分布を算出する自己動きベクトル分布算出手段をさらに備えるものとし、
前記誤計測判定手段を、前記相関が高いほど前記スコアが大きい場合において、前記動きベクトル検出空間における前記動きベクトルの終点位置に対応する、前記自己動きベクトル分布の前記動きベクトル検出空間における位置のスコアを所定のしきい値と比較し、該スコアが該所定のしきい値以上である場合に、前記動きベクトルが誤計測であると判定する手段としてもよい。
【００１３】
なお、相関が高いほどスコアが小さい場合においては、スコアが所定のしきい値未満である場合に、動きベクトルが誤計測であると判定することとなる。
【００１４】
また、本発明による動きベクトル計測装置においては、前記誤計測判定手段を、機械学習を用いて生成された、前記動きベクトルが真の動きベクトルであるか否かを判定する判別器を用いて、前記動きベクトルが誤計測であるか否かを判定する手段としてもよい。
【００１５】
本発明による動きベクトル計測方法は、動画像に含まれる複数フレームにおける対象フレームと、該対象フレームから所定フレーム間隔離れた過去フレームとに基づいて、前記対象フレーム上の対象画素位置での動きベクトルを計測する動きベクトル計測方法において、
前記対象フレーム上における前記動きベクトル計測の対象となる対象画素について、前記過去フレームを前記対象フレームに対して所定画素ずらしつつ、前記対象画素と該対象画素に対応する前記過去フレームの対応画素との相関を表すスコアを算出することにより、前記所定画素の数により定められる動きベクトル検出空間における動きベクトル分布を算出し、
前記動きベクトル分布についての前記動きベクトル検出空間の中心位置のスコアと、該中心位置以外の他の位置のスコアとの差分に基づいて、前記対象画素における動きベクトルを検出し、
前記動きベクトル分布に基づいて、前記動きベクトルが誤計測であるか否かを判定することを特徴とするものである。
【００１６】
なお、本発明による動きベクトル計測方法をコンピュータに実行させるためのプログラムとして提供してもよい。
【発明の効果】
【００１７】
本発明によれば、動きベクトル分布におけるスコアの値に基づいて、対象画素における動きベクトルが検出され、検出された動きベクトルに基づいて、動きベクトルが誤計測であるか否かが判定される。このため、ブロックマッチング法により動きベクトルを計測するに際し、ブロックサイズを小さくしても誤計測となる動きベクトルを判定でき、その結果、動きベクトルを精度よく計測できる。また、ブロックサイズを小さくすることができるため、演算量を低減でき、その結果、動きベクトルを高速に計測することができる。
【００１８】
また、動きベクトル分布を平均化することにより、動きベクトル分布のノイズを除去することができるため、より精度よく動きベクトルを計測することができる。
【００１９】
また、スコアを正規化して算出することにより、動画像の撮影時における露出値の変動および予期しない明るさの変更による動きベクトルの誤検出を防止することができ、その結果、動きベクトルをより精度よく計測することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態による動きベクトル計測装置の構成を示す概略ブロック図
【図２】階層化部が行う処理を説明するための図
【図３】第１の実施形態における動きベクトル計測部の構成を示す概略ブロック図
【図４】動きベクトル分布の算出を説明するための図
【図５】動きベクトルの再構成を説明するための図（その１）
【図６】動きベクトルの再構成を説明するための図（その２）
【図７】動きベクトルの検出を説明するための図
【図８】第１の実施形態において行われる処理を示すフローチャート
【図９】第２の実施形態における動きベクトル計測部の構成を示す概略ブロック図
【図１０】第２の動きベクトルの計測を説明するための図
【図１１】第３の実施形態における動きベクトル計測部の構成を示す概略ブロック図
【図１２】自己動きベクトル分布の算出を説明するための図
【図１３】対象画素位置の動きベクトル検出空間に自己動きベクトル分布のスコアを割り当てた状態を示す図
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明の実施形態について説明する。図１は本発明の第１の実施形態による動きベクトル計測装置の構成を示す概略ブロック図である。図１に示すように、第１の実施形態による動きベクトル計測装置１は、フレームメモリ２、階層化部３、動きベクトル計測部４および制御部５を備える。
【００２２】
フレームメモリ２は、不図示の画像入力装置から入力されたデジタルの動画像の画像データをフレーム単位で一時的に記憶する。なお、動きベクトルを計測する際の、動きベクトルの計測対象となるフレームを対象フレームＦｒｔ、動きベクトルの計測に用いる対象フレームＦｒｔよりも過去のフレームを過去フレームＦｒｔ−ｉ（ｉ＝１〜ｎ：ｎは正の整数）とする。なお、対象フレームＦｒｔと過去フレームＦｒｔ−ｉとのフレーム間隔は、要求される動きベクトルの計測精度に応じて適宜設定すればよい。
【００２３】
階層化部３は、フレームメモリ２に一時的に記憶された動画像の画像データの各フレームを階層化して、低解像度の階層フレームを作成する。なお、フレームメモリ２には、動画像の画像データのフレームが順次記憶されるため、階層化部３は、フレームメモリ２に順次記憶されるフレームを１回のみ階層化して、低解像度の階層フレームを作成する。図２は階層化部３が行う処理を説明するための図である。なお、図２において対象フレームＦｒｔの階層化を示す。図２に示すように階層化部３は、階層化されていない最高解像度のフレーム（以下第１階層フレームＦｒｔ０−１とする）について、画素を間引くあるいは４画素の平均値を算出する等の公知の手法を用いて、第１階層フレームＦｒｔ０−１の解像度が１／２（縦横サイズが第１階層フレームＦｒｔ０−１の１／２）の第２階層フレームＦｒｔ０−２を作成する。また、第２階層フレームＦｒｔ０−２の解像度が１／２の第３階層フレームＦｒｔ０−３を作成する。さらに、第３階層フレームＦｒｔ０−３の解像度が１／２の第４階層フレームＦｒｔ０−４を作成する。
【００２４】
なお、後述するように動きベクトルを計測する際には、フレームの解像度が低いほど演算量が少なく、高速に処理を行うことができるが、計測精度が低下する。したがって、作成するフレームの階層数は、必要とされる演算時間および計測精度に応じて、適宜設定すればよい。
【００２５】
動きベクトル計測部４は、対象フレームＦｒｔの各画素位置の動きベクトルを計測する。以下、動きベクトルの計測について説明する。なお、動きベクトル計測部４は、高階層の対象フレームおよび過去フレームを用いて動きベクトルを計測するが、以降の説明においては、高階層の対象フレームおよび過去フレームについても、参照符号としてＦｒｔおよびＦｒｔ−ｉを用いるものとする。図３は動きベクトル計測部４の構成を示す概略ブロック図である。図３に示すように、動きベクトル計測部４は、動きベクトル分布算出部４１、平均化処理部４２、動きベクトル検出部４３および誤計測判定部４４を備える。以下、動きベクトル計測部４の動きベクトル分布算出部４１、平均化処理部４２、動きベクトル検出部４３および誤計測判定部４４が行う各処理について説明する。
【００２６】
まず、動きベクトル分布算出部４１は、対象フレームＦｒｔと過去フレームＦｒｔ−ｉとの動きベクトル分布を算出する。図４は動きベクトル分布の算出を説明するための図である。なお、図４においては、対象フレームＦｒｔを実線で、過去フレームＦｒｔ−ｉを破線で示す。図４に示すように、動きベクトル計測部４は、まず対象フレームＦｒｔと過去フレームＦｒｔ−ｉとを一致させ、対象フレームＦｒｔ上の各画素位置において、過去フレームＦｒｔ−ｉとの相関を表すスコアＣ０を算出する。具体的には、下記の式（１）に示すように、スコア算出の対象となる対象画素を中心とする３×３サイズのブロックＢ０を使用し、対象フレームＦｒｔおよび過去フレームＦｒｔ−ｉ上においてブロックＢ０をラスタスキャンさせつつ、ブロックＢ０同志の対応する画素値の差分値の絶対値の和（平均絶対誤差）をスコアＣ０として算出する。ここで、ブロックサイズは３×３に限定されるものではないが、できるだけ小さいものであることが演算量を低減することができる。なお、式（１）において、ｆ（ｘ＋ｐ，ｙ＋ｑ）は対象フレームＦｒｔの画素値を、ｇ（ｘ＋ｐ，ｙ＋ｑ）は過去フレームＦｒｔ−ｉの画素値をそれぞれ示す。また、ｘ，ｙはそれぞれｘ方向、ｙ方向を示す。また、スコアＣ０としては平均二乗誤差を用いてもよい。
【数１】
2011191973.tif 000003
【００２７】
なお、動画像の撮影時における露出値の変動および予期しない明るさの変更による動きベクトルの誤検出を防止するために、対象フレームＦｒｔおよび過去フレームＦｒｔ−ｉにおける３×３サイズのブロック内の画素値の平均値ｆｍ，ｇｍを算出し、平均値ｆｍ，ｇｍを用いて下記の式（２）によりスコアＣ０を正規化して算出するようにしてもよい。
【数２】
2011191973.tif 000004
【００２８】
また、上記式（１）、（２）により算出したスコアＣ０は、画素同志の相関が高いほど小さい値となる。本実施形態においては、入力される動画像の画素値の最大値からスコアＣ０を減算することにより算出したスコアＣ１を用いて以降の説明を行うものとする。例えば、画像画８ビットの画像である場合、Ｃ１＝２５５−Ｃ０として算出することができる。なお、スコアＣ１は、画素同志の相関が高いほど大きい値となる。
【００２９】
さらに、動きベクトル分布算出部４１は、対象フレームＦｒｔに対して、過去フレームＦｒｔ−ｉを水平方向および垂直方向に±２画素の範囲で１画素ずつずらし、画素をずらす毎に対象フレームＦｒｔ上の各画素位置において、過去フレームＦｒｔ−ｉとのスコアＣ１を算出する。ここで、過去フレームＦｒｔ−ｉを対象フレームＦｒｔに対してずらすための水平方向の座標をｈ、垂直方向の座標をｖとすると、対象フレームＦｒｔに対する過去フレームＦｒｔ−ｉの画素のずらし量は（ｈ，ｖ）＝（ｋ，ｌ）（ｋ，ｌ＝−２〜＋２の整数）と表すことができる。具体的には、対象フレームＦｒｔと過去フレームＦｒｔ−ｉとを一致させた場合は、（ｈ，ｖ）＝（０，０）となり、過去フレームＦｒｔ−ｉを対象フレームＦｒｔに対して水平方向に＋１画素ずらした場合は（ｈ，ｖ）＝（１，０）となる。図４には、（ｈ，ｖ）＝（０，０）、（１，０）、（２，０）、（１，１）および（−２，−２）の場合の、対象フレームＦｒｔに対する過去フレームＦｒｔ−ｉのずらし量を示す。なお、図４においては、対象フレームＦｒｔおよび過去フレームＦｒｔ−ｉのずらし量は、説明のために実際のずらし量よりも大きく示している。
【００３０】
このように水平方向および垂直方向に±２画素の範囲で、対象フレームＦｒｔに対して過去フレームＦｒｔ−ｉを１画素ずつずらしつつスコアＣ１を算出することにより、ずらし量毎に、対象フレームＦｒｔ上のすべての画素位置に各ずらし位置におけるスコアＣ１を割り当てたスコアＣ１の分布を算出することができる。ここで、スコアＣ１は、過去フレームＦｒｔ−ｉを対象フレームＦｒｔに対してずらした場合の、対象フレームＦｒｔ上における動きベクトルと見なすことができる。このため、本実施形態においては、スコアＣ１の分布を動きベクトル分布Ｄと称する。なお、画素のずらし方は５×５＝２５通りあることから、２５通りの動きベクトル分布Ｄ（ｋ，ｌ）（ｋ，ｌ＝−２〜＋２の整数）が算出されることとなる。これは、換言すれば、対象フレームＦｒｔの各画素位置に、ずらし位置に対応した２５個のスコアＣ１、すなわち動きベクトルが算出されていることを意味する。
【００３１】
平均化処理部４２は、動きベクトル分布Ｄ（ｋ，ｌ）に対して空間的な平均化フィルタ処理を行うことにより、動きベクトル分布Ｄ（ｋ，ｌ）のノイズを除去して、平均化された動きベクトル分布Ｄｍ（ｋ，ｌ）を算出する。平均化フィルタとしては、例えば３×３のサイズのものを用いることができるが、これに限定されるものではなく、所望するノイズ除去の程度に応じて適宜設定すればよい。また、使用するフィルタは平均化フィルタに限定されるものではなく、空間的なメディアンフィルタを用いてもよい。
【００３２】
動きベクトル検出部４３は、２５個の動きベクトルからなる動きベクトル分布Ｄｍ（ｋ，ｌ）を用いて、対象フレームＦｒｔの各画素位置における動きベクトルを検出する。以下、動きベクトルの検出について説明する。動きベクトル検出部４３は、対象フレームＦｒｔの各画素位置において、動きベクトル検出空間を設定し、動きベクトル検出空間において動きベクトルを再構成する。図５および図６は動きベクトルの再構成を説明するための図である。本実施形態においては、対象フレームＦｒｔに対して、過去フレームＦｒｔ−ｉを水平方向および垂直方向に±２画素の範囲で１画素ずつずらすことにより、対象フレームＦｒｔの各画素位置において、２５個のスコアＣ１すなわち動きベクトルが算出されていることから、動きベクトル検出の対象となる対象画素位置において、図５に示すように５×５＝２５画素の動きベクトル検出空間を設定する。なお、この動きベクトル検出空間の正負の方向は、動きベクトル分布を算出した場合の画素のずらし量の方向と同様である。
【００３３】
そして、動きベクトル検出部４３は、動きベクトル検出空間における２５の座標位置に、対応する画素のずらし量により算出された動きベクトル分布Ｄｍ（ｋ，ｌ）の、対応する画素位置のスコアＣ１を割り当てる。すなわち、動きベクトル検出空間の（０，０）の座標位置には、動きベクトル分布Ｄｍ（０，０）、（２，２）の座標位置には、動きベクトル分布Ｄｍ（２，２）の対象画素位置のスコアＣ１を割り当てる。これにより、図６に示すように、対象フレームＦｒｔの各画素位置について、動きベクトル検出空間にスコアＣ１すなわち動きベクトルが割り当てられて、対象画素位置の動きベクトルが再構成される。
【００３４】
次いで、動きベクトル検出部４３は、動きベクトル検出空間におけるスコアＣ１が最大となる座標位置を検出する。なお、スコアＣ１を算出した場合には、最大となる座標位置（以下、最大座標位置とする）を検出するものであり、スコアＣ０を算出した場合には、スコアＣ０が最小となる座標位置を検出するものである。そして、動きベクトル検出空間における中心座標位置（すなわち（０，０））を基準として、中心座標位置から最大座標位置へ向かうベクトルを動きベクトルとして検出する。例えば、図６に示すように動きベクトルが再構成された場合、最大座標位置は（２，２）となるため、図７に示すように、始点が（０，０）、終点が（２，２）となる動きベクトルを検出することができる。なお、動きベクトルの大きさは、中心座標位置から最大座標位置までの大きさとして検出することができる。例えば、動きベクトルの始点が（０，０）、終点が（２，２）の場合、動きベクトルの大きさは、２√２となる。
【００３５】
なお、検出された動きベクトルの大きさは、対象フレームＦｒｔと過去フレームＦｒｔ−ｉとのフレーム間隔に応じて異なるものとなる。例えば、対象フレームＦｒｔと過去フレームＦｒｔ−ｉとのフレーム間隔が１であれば、検出した動きベクトルの大きさをそのまま対象画素位置の動きベクトルの大きさとすることができる。一方、フレーム間隔が２であれば、動きベクトルの実際の大きさは、検出した動きベクトルの大きさの１／２倍、フレーム間隔が３であれば１／３倍となる。したがって、動きベクトル検出部４３は、動きベクトルを検出した場合、対象フレームＦｒｔと過去フレームＦｒｔ−ｉとのフレーム間隔に応じて、動きベクトルの大きさを修正する。
【００３６】
動きベクトル検出部４３は、以上の処理を対象フレームＦｒｔのすべての画素位置において行うことにより、対象フレームＦｒｔのすべての画素位置における動きベクトルを検出する。なお、動きベクトル分布Ｄ（ｋ，ｌ）は、水平方向および垂直方向に±２画素の範囲で、対象フレームＦｒｔに対して過去フレームＦｒｔ−ｉをずらしつつ、動きベクトルを表すスコアＣ１を算出することにより算出される。このため、対象フレームＦｒｔの周囲の２画素の範囲においては、スコアＣ１が算出できない場合がある。したがって、動きベクトルは、対象フレームＦｒｔの周囲２画素の範囲を除く画素位置において検出されることとなる。
【００３７】
誤計測判定部４４は、動きベクトル検出部４３が検出した対象フレームＦｒｔの各画素位置における動きベクトルが誤計測であるか否かを判定する。ここで、動きベクトル検出部４３が検出した動きベクトルは、動きベクトル検出空間における中心座標位置を始点、スコアＣ１が最大（またはスコアＣ０が最小）となる座標位置を終点としている。しかしながら、本実施形態においては、動きベクトル分布を算出するのに３×３という、従来のブロックマッチング法のような８×８等のブロックと比較して小さいブロックを用いているため、フレーム中のノイズにより偶然に現れた動きベクトルを検出してしまうおそれがある。また、対象フレームＦｒｔにおける動きベクトルを検出した対象画素位置が、移動する物体ではなく、その物体の背景に対応するものである場合、動きベクトルがランダムな方向に発生するおそれがある。このような場合、検出した動きベクトルの始点の座標位置のスコアＣ１ｓと、終点の座標位置のスコアＣ１ｅとの差はそれほど大きくならない。
【００３８】
このため、誤計測判定部４４は、対象フレームＦｒｔにおける誤計測の判定の対象となる対象画素位置について、検出した動きベクトルの始点の座標位置のスコアＣ１ｓと、終点の座標位置のスコアＣ１ｅとの関係が、Ｃ１ｓ＞Ｃ１ｅ・αの場合に、検出した動きベクトルを誤計測されたものと判定し、対象画素位置の動きベクトルは計測されなかったとの判定結果を出力する。一方、Ｃ１ｓ≦Ｃ１ｅ・αの場合には、検出した動きベクトルは真の動きベクトルであると判定し、その動きベクトルを対象画素位置の判定結果として出力する。なお、動きベクトルが誤計測であると判定された対象画素位置については、動きベクトルが０であるとの判定結果を出力してもよい。ここで、係数αの値は、要求される計測精度に応じて設定すればよく、例えば０．９９等の値を用いることができるが、これに限定されるものではない。
【００３９】
なお、検出した動きベクトルの始点の座標位置のスコアＣ１ｓと、終点の座標位置のスコアＣ１ｅとの関係が、Ｃ１ｅ＞Ｃ１ｓ＞Ｃ１ｅ・αの場合に、検出した動きベクトルを誤計測されたものと判定するようにしてもよい。
【００４０】
制御部５は、階層化部３および動きベクトル計測部４の動作を制御する。
【００４１】
次いで、第１の実施形態の動作について説明する。図８は第１の実施形態において行われる処理を示すフローチャートである。不図示の画像入力装置からフレームメモリ２に対象フレームＦｒｔおよび過去フレームＦｒｔ−ｉが記憶されると（ステップＳＴ１）、階層化部３が、対象フレームＦｒｔおよび過去フレームＦｒｔ−ｉを階層化する（ステップＳＴ２）。
【００４２】
次いで、動きベクトル計測部４の動きベクトル分布算出部４１が、対象フレームＦｒｔと過去フレームＦｒｔ−ｉとのずらし量を初期値（例えば（ｈ，ｖ）＝（０，０））に設定し（ステップＳＴ３）、動きベクトル分布Ｄを算出する（ステップＳＴ４）。そして、対象フレームＦｒｔと過去フレームＦｒｔ−ｉとのすべてのずらし量について動きベクトル分布を算出したか否かを判定し（ステップＳＴ５）、ステップＳＴ５が否定されるとずらし量を変更し（ステップＳＴ６）、ステップＳＴ４に戻る。ステップＳＴ５が肯定されると、平均化処理部４２が、算出した動きベクトル分布Ｄに対して平均化処理を施す（ステップＳＴ７）。
【００４３】
続いて、動きベクトル検出部４３が動きベクトルを検出し（ステップＳＴ８）、さらに誤計測判定部４４が動きベクトルの誤計測を判定する（ステップＳＴ９）。そして、動きベクトル計測部４が動きベクトルの計測結果を出力し（ステップＳＴ１０）、動きベクトル計測処理を終了する。なお、動きベクトルが誤計測でないと判定された場合には、計測された動きベクトルを出力し、動きベクトルが誤計測であると判定された場合には、動きベクトルが計測されなかった旨の計測結果、あるいは大きさが０の動きベクトルを出力する。
【００４４】
このように、本実施形態によれば、動きベクトル分布ＤにおけるスコアＣ１の値に基づいて、動きベクトル検出の対象となる対象画素位置における動きベクトルを検出し、検出された動きベクトルに基づいて、動きベクトルが誤計測であるか否かを判定するようにしたものである。このため、ブロックマッチング法により動きベクトルを計測するに際して、ブロックサイズを３×３のように小さくしても、誤計測となる動きベクトルを判定でき、その結果、動きベクトルを精度よく計測できる。また、ブロックサイズを小さくすることができるため、演算量を低減でき、その結果、動きベクトルを高速に計測することができる。
【００４５】
また、動きベクトル分布Ｄを平均化しているため、動きベクトル分布Ｄのノイズを除去することができ、これにより、動きベクトルをより精度よく計測することができる。
【００４６】
また、対象フレームＦｒｔおよび過去フレームＦｒｔ−ｉを階層化しているため、演算量を低減して高速に動きベクトルを計測することができる。
【００４７】
次いで、本発明の第２の実施形態について説明する。なお、本発明の第２の実施形態による動きベクトル計測装置においては、動きベクトル計測部の構成のみが第１の実施形態と異なるため、ここでは動きベクトル計測部の構成についてのみ説明する。図９は第２の実施形態おける動きベクトル計測部の構成を示す概略ブロック図である。なお、図９において第１の実施形態における動きベクトル計測部４と同一の構成については同一の参照番号を付与し、詳細な説明は省略する。第２の実施形態における動きベクトル計測部４Ａは、第１の実施形態における動きベクトル分布算出部４１、平均化処理部４２および動きベクトル検出部４３と同様の処理を行う第１の動きベクトル分布算出部４１Ａ、第１の平均化処理部４２Ａおよび第１の動きベクトル検出部４３Ａを備えるとともに、第２の動きベクトル分布算出部４１Ｂ、第２の平均化処理部４２Ｂおよび第２の動きベクトル検出部４３Ｂを備えた点が第１の実施形態と異なる。
【００４８】
なお、第１の動きベクトル分布算出部４１Ａ、第１の平均化処理部４２Ａおよび第１の動きベクトル検出部４３Ａは、上記第１の実施形態と同様に、対象フレームＦｒｔに対して過去フレームＦｒｔ−ｉをずらしつつ、動きベクトルを表すスコアＣ１を算出することにより動きベクトル分布Ｄ（ｋ，ｌ）を算出し、動きベクトル分布Ｄ（ｋ，ｌ）を平均化処理し、動きベクトルを検出する。一方、第２の動きベクトル分布算出部４１Ｂ、第２の平均化処理部４２Ｂおよび第２の動きベクトル検出部４３Ｂは、過去フレームＦｒｔ−ｉに対して対象フレームＦｒｔをずらしつつ動きベクトル分布を算出し、動きベクトル分布を平均化処理し、動きベクトルを検出する。
【００４９】
ここで、対象フレームＦｒｔに対して過去フレームＦｒｔ−ｉをずらしつつ、動きベクトルを表すスコアＣ１を算出することにより動きベクトル分布Ｄ（ｋ，ｌ）を算出して動きベクトルを検出する場合と、過去フレームＦｒｔ−ｉに対して対象フレームＦｒｔをずらしつつ動きベクトル分布を算出して動きベクトルを検出する場合とを考える。なお、以降では説明のために、対象フレームＦｒｔに対して過去フレームＦｒｔ−ｉをずらした場合に検出した動きベクトルを第１の動きベクトル、過去フレームＦｒｔ−ｉに対して対象フレームＦｒｔをずらした場合に検出した動きベクトルを第２の動きベクトルと称する。この場合、第１および第２の動きベクトルが誤計測されたものでない場合、第１および第２の動きベクトルの大きさは一致し、第１の動きベクトルの方向と第２の動きベクトルの方向とは逆となる。しかしながら、第１および第２の動きベクトルが誤計測されたものである場合、第１および第２の動きベクトルの大きさは一致しないか、または第２の動きベクトルの方向が第１の動きベクトルの方向とは逆にならないものとなる。
【００５０】
このため、第２の実施形態においては、第２の動きベクトル分布算出部４１Ｂにおいて、図１０に示すように、過去フレームＦｒｔ−ｉに対して対象フレームＦｒｔをずらしつつ、動きベクトル分布を算出し、第２の平均化処理部４２Ｂにおいて平均化処理を行い、第２の動きベクトル検出部４３Ｂにおいて第２の動きベクトルを検出する。そして、誤計測判定部４４において、対象フレームＦｒｔの対象画素位置における第１および第２の動きベクトルのそれぞれの始点および終点の画素位置を判定し、第１の動きベクトルの始点と第２の動きベクトルの終点とが一致し、かつ第１の動きベクトルの終点と第２の動きベクトルの始点とが一致する場合に、第１の動きベクトルを真の動きベクトルであると判定し、それ以外の場合には、第１の動きベクトルは誤計測であると判定する。これにより、第１の実施形態と同様に、動きベクトルの誤計測を判定することができる。
【００５１】
なお、対象フレームＦｒｔと過去フレームＦｒｔ−ｉとの間において移動する物体は、必ずしも１画素単位で移動するものではなく、１画素未満の単位で移動する場合もある。例えば、過去フレームＦｒｔ−ｉに含まれる移動する物体は、対象フレームＦｒｔにおいては、過去フレームＦｒｔ−ｉの位置から、１．５画素ずれるというように、いわゆるサブピクセル単位で移動する場合がある。このような場合、対象画素位置が真に移動している物体に対応するものであっても、その対象画素位置において計測した第２の動きベクトルの始点および終点のそれぞれの画素位置は、第１の動きベクトルの終点および始点の画素位置と完全に一致しない。このため、第２の実施形態においては、第１および第２の動きベクトルを用いて誤計測を判定する場合、第２の動きベクトルの終点座標位置と第１の動きベクトルの始点座標位置との差が、水平および垂直方向に±１画素の範囲にあれば、第２の動きベクトルの大きさは第１の動きベクトルの大きさと一致するものであると判定するようにしてもよい。これにより、真の動きベクトルが誤計測であると判定される可能性を低減することができる。
【００５２】
次いで、本発明の第３の実施形態について説明する。なお、本発明の第３の実施形態による動きベクトル計測装置においては、第２の実施形態と同様に、動きベクトル計測部の構成のみが第１の実施形態と異なるため、ここでは動きベクトル計測部の構成についてのみ説明する。図１１は第３の実施形態おける動きベクトル計測部の構成を示す概略ブロック図である。なお、図１１において第１の実施形態における動きベクトル計測部４と同一の構成については同一の参照番号を付与し、詳細な説明は省略する。第３の実施形態における動きベクトル計測部４Ｂは、対象フレームＦｒｔに対して対象フレームＦｒｔ自身をずらしつつ、上記第１の実施形態と同様に、相関が高いほど値が大きくなるスコアを算出することにより動きベクトル分布を算出する自己動きベクトル分布算出部４１Ｃを備えた点が第１の実施形態と異なる。なお、自己動きベクトル分布算出部４１Ｃが算出した動きベクトル分布を自己動きベクトル分布と称するものとする。また、自己動きベクトル分布のスコアをＣ１′とする。
【００５３】
ここで、図１２に示すように、対象フレームＦｒｔに移動する物体２０が含まれる場合、重なっている対象フレームＦｒｔ同士をずらすと、物体２０の位置もずれる。したがって、上記と同様に２５通りの自己動きベクトル分布を算出し、物体２０に対応する対象画素位置の動きベクトル検出空間に、自己動きベクトル分布のスコアＣ１′を割り当てた場合、図１３に示すように、中心座標位置（０，０）のスコアＣ１′は大きくなるが、それ以外の座標位置のスコアＣ１′は中心座標位置（０，０）から離れるほど小さくなる。
【００５４】
逆に、物体２０の単調背景に対応する対象画素位置の動きベクトル検出空間に、自己動きベクトル分布のスコアＣ１′を割り当てた場合、対象画素位置の周囲の画素位置の画素値は対象画素位置の画素値とそれほど変わらないため、動きベクトル検出空間の座標位置に拘わらず、スコアＣ１′は比較的大きいものとなる。
【００５５】
ここで、自己動きベクトル分布において、中心座標位置（０，０）以外の座標位置においてスコアＣ１′が大きくなるということは、その大きいスコアとなった座標位置において誤計測が起こっている可能性が高いということである。したがって、自己動きベクトル分布において、検出した動きベクトルの終点位置に対応する位置におけるスコアＣ１′の値に応じて、検出した動きベクトルが誤計測であるか否かを判定することができる。
【００５６】
このため、第３の実施形態においては、自己動きベクトル分布算出部４１Ｃにおいて自己動きベクトル分布を算出し、対象画素位置の動きベクトル検出空間に自己動きベクトル分布のスコアＣ１′を割り当て、対象画素位置の動きベクトルの終点となる動きベクトル検出空間上の座標位置における自己動きベクトル分布のスコアＣ１′を測定する。そして、誤計測判定部４４において、測定したスコアＣ１′を所定のしきい値Ｔｈ１と比較し、スコアＣ１′がしきい値Ｔｈ１未満である場合に、動きベクトルを真の動きベクトルであると判定し、スコアＣ１′がしきい値Ｔｈ１以上である場合に、動きベクトルは誤計測であると判定する。これにより、第１の実施形態と同様に、動きベクトルの誤計測を判定することができる。
【００５７】
なお、誤計測判定部４４において、機械学習を用いて生成された、動きベクトルが真の動きベクトルであるか否かを判定する判別器を用いて、動きベクトルが真の動きベクトルであるか否かを判定するようにしてもよい。この場合、判別器は、動きベクトルが真の動きベクトルである動きベクトル検出空間のスコア分布を正の教師データ、動きベクトルが誤検出である動きベクトル検出空間のスコア分布を負の教師データとして使用して学習を行うことにより作成すればよい。
【００５８】
なお、上記第１から第３の実施形態においては、階層化部３において対象フレームＦｒｔおよび過去フレームＦｒｔ−ｉを階層化し、高階層のフレームを用いて動きベクトルを計測しているが、対象フレームＦｒｔおよび過去フレームＦｒｔ−ｉを階層化することなく、対象フレームＦｒｔおよび過去フレームＦｒｔ−ｉそのものを用いて動きベクトルを計測するようにしてもよいことはもちろんである。
【００５９】
また、上記第１から第３の実施形態においては、対象フレームＦｒｔ上の各画素位置における動きベクトルについて、各画素位置近傍の複数画素位置の複数の動きベクトルに基づいて、対象画素位置の動きベクトルを決定するようにしてもよい。例えば、複数の画素位置の動きベクトルの平均値を対象画素位置の動きベクトルとしてもよい。これにより、動きベクトルのばらつきを抑えて、より精度よく対象画素位置の動きベクトルを計測することができる。
【００６０】
また、上記第１から第３の実施形態においては、動きベクトルを計測する際に、対象フレームＦｒｔと過去フレームＦｒｔ−ｉとのすらし量を±２画素としているが、これに限定されるものではなく、±１画素、あるいは±３画素等、求められる計測精度に応じてすらし量を適宜設定すればよい。
【００６１】
また、上記第１から第３の実施形態においては、動きベクトル分布Ｄを平均化しているが、動きベクトル分布Ｄを平均化することなく、動きベクトルを計測するようにしてもよいことはもちろんである。
【００６２】
以上、本発明の実施形態に係る装置１について説明したが、コンピュータを、上記の階層化部３、動きベクトル計測部４および制御部５に対応する手段として機能させ、図８に示すような処理を行わせるプログラムも、本発明の実施形態の１つである。また、そのようなプログラムを記録したコンピュータ読取り可能な記録媒体も、本発明の実施形態の１つである。
【符号の説明】
【００６３】
１    動きベクトル計測装置
２    フレームメモリ
３    階層化部
４    動きベクトル計測部
５    制御部
４１    動きベクトル分布算出部
４１Ａ    第１の動きベクトル分布算出部
４１Ｂ    第２の動きベクトル分布算出部
４１Ｃ    自己動きベクトル分布算出部
４２    平均化処理部
４２Ａ    第１の平均化処理部
４２Ｂ    第２の平均化処理部
４３    動きベクトル検出部
４３Ａ    第１の動きベクトル検出部
４３Ｂ    第２の動きベクトル検出部
４４    誤計測判定部
【図１】
2011191973.tif 000005
【図２】
2011191973.tif 000006
【図３】
2011191973.tif 000007
【図４】
2011191973.tif 000008
【図５】
2011191973.tif 000009
【図６】
2011191973.tif 000010
【図７】
2011191973.tif 000011
【図８】
2011191973.tif 000012
【図９】
2011191973.tif 000013
【図１０】
2011191973.tif 000014
【図１１】
2011191973.tif 000015
【図１２】
2011191973.tif 000016
【図１３】
2011191973.tif 000017