(57)【要約】【課題】比較的小規模のハードウエアで精度の良い動きベクトル検出の実現【解決手段】重心検出方式では、過去フレームにおける代表点に対してこの代表点の画素値に近い画素を候補点として検出し、その検出された候補点が空間的に連続する候補領域の重心点を検出する。そして代表点を始点とし、重心点を終点として動きベクトルを検出する。線分検出方式では、過去フレームにおける代表点に対してこの代表点の画素値に近い画素を候補点として検出し、候補点が走査方向（水平方向）に最も長く連続した候補線分の中点を検出する。そして代表点を始点とし、中点を終点として動きベクトルを検出する。【選択図】        図９
2004220419.tif 000002
【特許請求の範囲】
【請求項１】
動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定手段と、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定手段と、
上記比較判定手段で判定された候補点を記憶する記憶手段と、
上記記憶手段に記憶された候補点が空間的に連続した画素領域を候補領域とし、該候補領域の重心点を算出する重心算出手段と、
上記代表点を始点とし、上記重心点を終点として動きベクトルを検出するベクトル検出手段と、
を備えたことを特徴とする動きベクトル検出装置。
【請求項２】
上記比較判定手段は、現在フレーム内で、上記代表点に相当する画素位置を中心とした所定画素範囲を探索領域とし、該探索領域内の各画素データについて、上記代表点の画素データ値との比較を行うことを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項３】
上記重心算出手段は、上記候補領域が複数存在する場合は、最大の候補領域を選択して、選択した候補領域について重心点を算出することを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項４】
上記代表点設定手段は、上記重心算出手段で算出された重心点に対応する現在フレームの画素を、次のフレームに対する代表点とすることを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項５】
動画映像データの過去フレーム内での複数の代表点を設定し、上記各代表点を用いて動きベクトルを検出するために、
上記比較判定手段、上記記憶手段、上記重心算出手段、及び上記ベクトル検出手段が、上記複数の代表点のそれぞれに対応するように設けられることを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項６】
動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定手段と、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定手段と、
上記候補点が走査方向に連続する候補線分として、最大長となる候補線分を判定する線分判定手段と、
上記線分判定手段で最大線分と判定された候補線分の中点を算出する中点算出手段と、
上記代表点を始点とし、上記中点を終点として動きベクトルを検出するベクトル検出手段と、
を備えたことを特徴とする動きベクトル検出装置。
【請求項７】
上記比較判定手段は、現在フレーム内で、上記代表点に相当する画素位置を中心とした所定画素範囲を探索領域とし、該探索領域内の各画素データについて、上記代表点の画素データ値との比較を行うことを特徴とする請求項６に記載の動きベクトル検出装置。
【請求項８】
上記代表点設定手段は、上記中点算出手段で算出された中点に対応する現在フレームの画素を、次のフレームに対する代表点とすることを特徴とする請求項６に記載の動きベクトル検出装置。
【請求項９】
動画映像データの過去フレーム内での複数の代表点を設定し、上記各代表点を用いて動きベクトルを検出するために、
上記比較判定手段、上記線分判定手段、上記中点算出手段、及び上記ベクトル検出手段が、上記複数の代表点のそれぞれに対応するように設けられることを特徴とする請求項６に記載の動きベクトル検出装置。
【請求項１０】
動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、
上記比較判定ステップで判定された候補点を記憶する記憶ステップと、
上記記憶ステップで記憶された候補点が空間的に連続した画素領域を候補領域とし、該候補領域の重心点を算出する重心算出ステップと、
上記代表点を始点とし、上記重心点を終点として動きベクトルを検出するベクトル検出ステップと、
を備えたことを特徴とする動きベクトル検出方法。
【請求項１１】
上記比較判定ステップでは、現在フレーム内で、上記代表点に相当する画素位置を中心とした所定画素範囲を探索領域とし、該探索領域内の各画素データについて、上記代表点の画素データ値との比較を行うことを特徴とする請求項１０に記載の動きベクトル検出方法。
【請求項１２】
上記重心算出ステップでは、上記候補領域が複数存在する場合は、最大の候補領域を選択して、選択した候補領域について重心点を算出することを特徴とする請求項１０に記載の動きベクトル検出方法。
【請求項１３】
上記代表点設定ステップでは、上記重心算出ステップで算出された重心点に対応する現在フレームの画素を、次のフレームに対する代表点とすることを特徴とする請求項１０に記載の動きベクトル検出方法。
【請求項１４】
動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、
上記候補点が走査方向に連続する候補線分として、最大長となる候補線分を判定する線分判定ステップと、
上記線分判定ステップで最大線分と判定された候補線分の中点を算出する中点算出ステップと、
上記代表点を始点とし、上記中点を終点として動きベクトルを検出するベクトル検出ステップと、
を備えたことを特徴とする動きベクトル検出方法。
【請求項１５】
上記比較判定ステップでは、現在フレーム内で、上記代表点に相当する画素位置を中心とした所定画素範囲を探索領域とし、該探索領域内の各画素データについて、上記代表点の画素データ値との比較を行うことを特徴とする請求項１４に記載の動きベクトル検出方法。
【請求項１６】
上記代表点設定ステップでは、上記中点算出ステップで算出された中点に対応する現在フレームの画素を、次のフレームに対する代表点とすることを特徴とする請求項１４に記載の動きベクトル検出方法。
【請求項１７】
動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、
上記比較判定ステップで判定された候補点を記憶する記憶ステップと、
上記記憶ステップで記憶された候補点が空間的に連続した画素領域を候補領域とし、該候補領域の重心点を算出する重心算出ステップと、
上記代表点を始点とし、上記重心点を終点として動きベクトルを検出するベクトル検出ステップと、
を演算装置に実行させるプログラム。
【請求項１８】
動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、
上記候補点が走査方向に連続する候補線分として、最大長となる候補線分を判定する線分判定ステップと、
上記線分判定ステップで最大線分と判定された候補線分の中点を算出する中点算出ステップと、
上記代表点を始点とし、上記中点を終点として動きベクトルを検出するベクトル検出ステップと、
を演算装置に実行させるプログラム。
【請求項１９】
動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、
上記比較判定ステップで判定された候補点を記憶する記憶ステップと、
上記記憶ステップで記憶された候補点が空間的に連続した画素領域を候補領域とし、該候補領域の重心点を算出する重心算出ステップと、
上記代表点を始点とし、上記重心点を終点として動きベクトルを検出するベクトル検出ステップと、
を演算装置に実行させるプログラムを記録した記録媒体。
【請求項２０】
動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、
上記候補点が走査方向に連続する候補線分として、最大長となる候補線分を判定する線分判定ステップと、
上記線分判定ステップで最大線分と判定された候補線分の中点を算出する中点算出ステップと、
上記代表点を始点とし、上記中点を終点として動きベクトルを検出するベクトル検出ステップと、
を演算装置に実行させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画映像における動きベクトルを検出するための動きベクトル検出装置、動きベクトル検出方法、さらには動きベクトル検出方法を実行させるプログラム、該プログラムを記録した記録媒体に関するものである。
【０００２】
【従来の技術】
動画映像データにかかる処理として、映像の動きベクトルを検出する方法が各種提案され、例えばビデオカメラにおける被写体追尾や手ブレ補正などのために利用されている。
例えばブロックマッチング法、勾配法、代表点マッチング法などが知られている。先行技術文献としては次のものが挙げられる。
【０００３】
【特許文献１】特開平５−３０４９５号公報
【特許文献２】特開平８−２３７５３６号公報
【特許文献３】特開平６−８６１４９号公報
【０００４】
ブロックマッチング法では、過去フレーム内において或る代表ブロックを設定する。例えば水平・垂直方向のｎ×ｎの画素範囲として代表ブロックを設定する。そして次フレーム（現在フレーム）で、上記代表ブロックに相当する画素範囲を探し、水平・垂直空間上で、代表ブロックの位置から、対応するブロックに至る方向及び距離を動きベクトルとする方式である。
この場合、例えば代表ブロックの画素値総計を基準に、画素値総計がほぼ同じであるｎ×ｎのブロックを、対応するブロックと判断する。
【０００５】
勾配法は、画素データの輝度勾配を利用して過去フレームと現在フレームでの対応ポイントを判別し、動きベクトルを検出する。例えば上記特許文献１に勾配法を利用した動きベクトル検出装置が示されている。
【０００６】
代表点マッチング法については、例えば上記特許文献２，３などに記載されている。
この代表点マッチング法を、図１５により説明する。図１５（ａ）（ｂ）は、時間的に連続するフレームとして、過去フレームＦ＃１と現在フレームＦ＃２を示している。
図１５（ａ）（ｂ）のように、過去フレームＦ＃１に注目領域ＡＲａを設定し、現在フレームＦ＃２には探索領域ＡＲｓを設定する。注目領域ＡＲａと探索領域ＡＲｓは大きさと位置が同じものとする。
また、注目領域ＡＲａの中心にある画素を代表点ｒとする。注目領域ＡＲａと代表点ｒの関係を拡大して図１５（ｃ）に示している。
【０００７】
このように代表点ｒが決められた後、現在フレームＦ＃２において、探索領域ＡＲｓにある全ての画素と代表点ｒの画素との、輝度値同士の差分絶対値を計算する。そして、その差分絶対値のうち最も小さい差分絶対値を与える画素をその探索領域ＡＲｓにおける候補点ｅとする。
候補点ｅの数が１つであればその候補点ｅを終点、代表点ｒを始点とするベクトルを、求める動きベクトルとする。但し実際には候補点ｅの数は１つとは限らない。例えば図１５（ｄ）では、３つの候補点ｅ１，ｅ２，ｅ３が検出された場合を示している。このような場合には、探索領域ＡＲｓの中心（＝代表点ｒ相当位置）に最も近い候補点をベクトルの終点とするのが一般的である。従って図１５（ｄ）の場合、図１５（ｅ）のように候補点ｅ２が採用され、図示するように候補点ｅ２を終点として動きベクトルＶが求められる。
【０００８】
【発明が解決しようとする課題】
上記各方法では、次のような問題がある。
まずブロックマッチング法の場合、動きベクトルの検出精度は高いが、ブロック単位で対応する位置を検出しなければならないため、演算処理量やそのためのデータ記憶量が多く、実現するための装置構成の規模が大きくなる。
また、画像の拡大や縮小、回転運動があった場合に不利である。さらにブロックが画像の複数のオブジェクトにまたがる場合や、例えば背景とオブジェクトにまたがる場合など、間違ったベクトルを検出する可能性が高い。
【０００９】
勾配法では、画素値が急激に変化するところでは検出誤差が大きくなる。またノイズ成分によって輝度勾配の値に影響を受けやすい。
さらに、大きな動きを検出することが困難であり、大きな動きを検出しようとするとハードウェアの大規模化が必要になることが知られている。
【００１０】
代表点マッチング法の場合は、ブロックマッチング法と比べてハードウェア構成の規模を小さくできるという利点があるが、代表点に対応する候補点を、画素差分が最小の画素とするだけでは物理的な意味に乏しい。特に画像内容として画素値が平坦な部分では、候補点が数多く検出されることになり、どの画素をベクトルの終点とするかの判定は困難である。上記のように、例えば代表点に最も近い候補点をベクトル終点とするが、これは明確な物理的な意味を持つものではない。
なお一般的には、画像の急峻なエッヂにおいては微妙なサンプリング位置の違いにより画素値が大きく変動する。そのため、画素差分を元にしたマッチングは検出誤差の要因となりやすい。
【００１１】
つまり、従来の動きベクトル検出方法では、検出精度を高めるにはハードウエア規模を大きくすることが必要となり、逆にハードウエア規模を小さくするには検出精度を犠牲にする必要があった。
【００１２】
【課題を解決するための手段】
そこで本発明は、ハードウェアの大規模化を招かずに、精度の良い動きベクトル検出を実現することを目的とする。
【００１３】
本発明の動きベクトル検出装置は、動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定手段と、現在フレームの画素データ値と上記代表点の画素データ値とを比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定手段と、上記比較判定手段で判定された候補点を記憶する記憶手段と、上記記憶手段に記憶された候補点が空間的に連続した画素領域を候補領域とし、該候補領域の重心点を算出する重心算出手段と、上記代表点を始点とし、上記重心点を終点として動きベクトルを検出するベクトル検出手段とを備える。
【００１４】
また動きベクトル検出方法としては、動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、現在フレームの画素データ値と上記代表点の画素データ値とを比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、上記比較判定ステップで判定された候補点を記憶する記憶ステップと、上記記憶ステップで記憶された候補点が空間的に連続した画素領域を候補領域とし、該候補領域の重心点を算出する重心算出ステップと、上記代表点を始点とし、上記重心点を終点として動きベクトルを検出するベクトル検出ステップとを備える。
【００１５】
これらの装置及び方法において、上記比較判定手段（比較判定ステップ）は、現在フレーム内で、上記代表点に相当する画素位置を中心とした所定画素範囲を探索領域とし、該探索領域内の各画素データについて、上記代表点の画素データ値との比較を行う。
また上記重心算出手段（重心算出ステップ）は、上記候補領域が複数存在する場合は、最大の候補領域を選択して、選択した候補領域について重心点を算出する。
また上記代表点設定手段（代表点設定ステップ）は、上記重心算出手段で算出された重心点に対応する現在フレームの画素を、次のフレームに対する代表点とする。
また上記動きベクトル検出装置では、動画映像データの過去フレーム内での複数の代表点を設定し、上記各代表点を用いて動きベクトルを検出するために、上記比較判定手段、上記記憶手段、上記重心算出手段、及び上記ベクトル検出手段が、上記複数の代表点のそれぞれに対応するように設けられる。
【００１６】
また本発明のプログラムは上記動きベクトル検出方法を演算装置によって実行させるプログラムであり、本発明の記録媒体は、そのようなプログラムを記録した記録媒体である。
【００１７】
さらに本発明の動きベクトル検出装置は、動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定手段と、現在フレームの画素データ値と上記代表点の画素データ値とを比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定手段と、上記候補点が走査方向に連続する候補線分として、最大長となる候補線分を判定する線分判定手段と、上記線分判定手段で最大線分と判定された候補線分の中点を算出する中点算出手段と、上記代表点を始点とし、上記中点を終点として動きベクトルを検出するベクトル検出手段とを備える。
【００１８】
また本発明の動きベクトル検出方法は、動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、上記候補点が走査方向に連続する候補線分として、最大長となる候補線分を判定する線分判定ステップと、上記線分判定ステップで最大線分と判定された候補線分の中点を算出する中点算出ステップと、上記代表点を始点とし、上記中点を終点として動きベクトルを検出するベクトル検出ステップとを備える。
【００１９】
これらの装置及び方法において、上記比較判定手段（比較判定ステップ）は、現在フレーム内で、上記代表点に相当する画素位置を中心とした所定画素範囲を探索領域とし、該探索領域内の各画素データについて、上記代表点の画素データ値との比較を行う。
また上記代表点設定手段（代表点設定ステップ）は、上記中点算出手段で算出された中点に対応する現在フレームの画素を、次のフレームに対する代表点とする。
また上記動きベクトル検出装置では、動画映像データの過去フレーム内での複数の代表点を設定し、上記各代表点を用いて動きベクトルを検出するために、上記比較判定手段、上記線分判定手段、上記中点算出手段、及び上記ベクトル検出手段が、上記複数の代表点のそれぞれに対応するように設けられる。
【００２０】
また本発明のプログラムは上記動きベクトル検出方法を演算装置によって実行させるプログラムであり、本発明の記録媒体は、そのようなプログラムを記録した記録媒体である。
【００２１】
以上のような本発明では、動きベクトル検出として、従来方式に比べて小規模のハードウエアで精度の良い検出を行うことのできる２つの新規なアルゴリズムとして「重心検出」と「線分検出」を提供するものである。
「重心検出」は、過去フレームにおける代表点に対してこの代表点の画素値に近い画素を候補点として検出し、その検出された候補点が空間的に連続する候補領域の重心点を検出する。そして代表点を始点とし、重心点を終点として動きベクトルを検出するものである。この場合、「線分検出」に比べればハードウエア規模が大きくなるが、精度の高い動きベクトル検出が可能となる。
「線分検出」は、過去フレームにおける代表点に対してこの代表点の画素値に近い画素を候補点として検出し、候補点が走査方向（水平方向）に最も長く連続した候補線分の中点を検出する。そして代表点を始点とし、中点を終点として動きベクトルを検出するものである。この場合、「重心検出」に検出精度がやや落ちるが、ハードウエア規模は小さくできる。
【００２２】
【発明の実施の形態】
以下、本発明の実施の形態として、重心検出及び線分検出としての動きベクトル検出についき説明していく。説明は次の順序で行う。
１．重心検出による動きベクトル検出
１−１  重心検出による動きベクトル検出方式
１−２  重心検出にかかる第１の装置構成例及び処理
１−３  重心検出にかかる第２の装置構成例及び処理
２．線分検出による動きベクトル検出
２−１  線分検出による動きベクトル検出方式
２−２  線分検出にかかる第１の装置構成例及び処理
２−３  線分検出にかかる第２の装置構成例及び処理
３．代表点設定方式例
４．動きベクトル検出情報の用途
５．プログラム及び記録媒体
【００２３】
１．重心検出による動きベクトル検出
１−１  重心検出による動きベクトル検出方式
図１，図２により、重心検出による動きベクトル検出方式を説明する。
図１（ａ）（ｂ）は、時間的に連続するフレームとして、過去フレームＦ＃１と現在フレームＦ＃２を示している。
図１（ａ）（ｂ）のように、過去フレームＦ＃１に注目領域ＡＲａを設定し、現在フレームＦ＃２には探索領域ＡＲｓを設定する。注目領域ＡＲａと探索領域ＡＲｓは大きさと位置が同じものとする。
また、注目領域ＡＲａの中心にある画素を代表点ｒとする。注目領域ＡＲａと代表点ｒの関係を拡大して図１（ｃ）に示している。○は画素を示し、そのうちで代表点ｒとされた画素を●で示している。
なお、ここではあくまで説明上の例として水平／垂直方向に７画素×７画素の領域を注目領域ＡＲａとしているが、この場合、探索領域ＡＲｓも７画素×７画素の領域となる。但し実際には、注目領域ＡＲａ及び探索領域ＡＲｓは、７画素×７画素の領域とされるとは限らず、例えば実際には代表点ｒとしての画素を中心として水平・垂直方向に（±３２画素）×（±３２画素）などとされる。
【００２４】
なお、代表点ｒの設定方式としては各種あるが、それについては後述する。ここでは、任意の注目領域ＡＲａの中心画素を、最初の代表点ｒとするとして説明を続ける。
【００２５】
このように代表点ｒが決められた後、現在フレームＦ＃２において、探索領域ＡＲｓにある全ての画素と代表点ｒの画素との、輝度値同士の差分絶対値を計算する。そして求めた差分絶対値がある一定の閾値よりも小さければ、その画素を候補点ｅとする比較判定処理を行う。
図１（ｄ）には、探索領域ＡＲｓ内の全ての画素について、代表点ｒの値との比較判定を行い、候補点ｅを調べた結果を示す。ここでは●の画素として示すように候補点ｅが検出されたとしている。
【００２６】
ここで、候補点ｒが空間的（水平・垂直方向）に連続した領域を候補領域ｅＡとする。図１（ｄ）のように候補点ｅが検出された場合、探索領域ＡＲｓ内には、図２（ａ）のように２つの候補領域ｅＡ１、ｅＡ２が存在することになる。
このように複数の候補領域ｅＡが認められた場合は、その中で最大の候補領域を選択する。図２（ａ）の場合、候補領域ｅＡ１が選択される。なお、候補領域ｅＡが１つであった場合は、当然、その候補領域が選択される。
そして、選択された候補領域ｅＡ１について、重心点を求める。図２（ｂ）に重心点ｗを示す。
そして重心点ｗを求めたら、その重心点ｗを動きベクトルの終点とする。すなわち、求める動きベクトルは代表点ｒを始点とし重心点ｗを終点とするベクトルである。図２（ｃ）に拡大して示すように、代表点ｒに相当する画素位置をｅｘとすると、この画素位置ｅｘ→重心点ｗのベクトルが、動きベクトルＶとなる。
【００２７】
本実施の形態の重心検出による動きベクトル検出は、以上のように候補領域ｅＡ内の重心をベクトル終点とするようにして行われる。
なお、図１のフレームＦ＃２に続く、図示していないフレームＦ＃３の画素データが入力される期間は、フレームＦ＃２が過去フレームとなる。その場合、代表点ｒは、例えば求めた重心点ｗに基づいて設定される。例えば重心点ｗに最も近い画素として、図２（ｃ）の画素位置ｅｙを代表点ｒとし、その代表点ｒを中心としてｎ×ｎの領域が注目領域ＡＲａとされる。
そしてフレームＦ＃３においては、注目領域ＡＲａと同一位置が探索領域ＡＲｓとされ、上記同様に動きベクトル検出が行われる。
【００２８】
１−２  重心検出にかかる第１の装置構成例及び処理
上記図１，図２で説明した重心検出方式を用いる動きベクトル検出装置の構成を図３に示す。
図３に示すように、動きベクトル検出装置は、判定部１、フレームメモリ２Ａ、２Ｂ、アドレス生成部、スイッチＳＷ１〜ＳＷ４を備える。
【００２９】
フレームメモリ２Ａ、２Ｂは、動画映像の各フレームを形成する画素データＤｇを記憶するメモリであり、１フレーム毎に交互に順番に用いられる。例えば偶数番目のフレームはフレームメモリ２Ａに記憶され、奇数番目のフレームはフレームメモリ２Ｂに記憶される。
スイッチＳＷ１〜ＳＷ４は、例えば入力画素データＤｇとして偶数番目のフレームメモリ２Ａが入力される期間は、それぞれ図示するようにｔ１端子が選択される。そして次のフレーム期間ではｔ２端子が接続されるというように、フレーム期間単位で切り替えられる。
【００３０】
スイッチＳＷ１〜ＳＷ４がｔ１端子に接続されているフレーム期間においては、入力画素データＤｇは、スイッチＳＷ１を介してフレームメモリ２Ａに供給される。このとき、クロックＣＫに基づいてアドレス生成部３でアドレスＡＤが生成される。即ち水平、垂直方向の画素位置を示すｒｏｗ（ロウ）／ｃｏｌｕｍｎ（カラム）の値による画素アドレスである。
このアドレスＡＤは、スイッチＳＷ２を介して入力画素データＤｇに対応するアドレスとしてフレームメモリ２Ａに供給される。フレームメモリ２ＡではアドレスＡＤに基づいて入力画素データＤｇを記憶する。
【００３１】
また、入力画素データＤｇ及びアドレスＡＤは、判定部１にも入力される。判定部１は、フレームを構成する入力画素データＤｇについて上述した重心検出の処理を行って、前フレームの代表点を基に動きベクトルを検出する。
【００３２】
判定部１は、図示するように代表点情報保持部１１，比較判定部１２、閾値保持部１３、フラグメモリ１４、重心計算部１５、動きベクトル計算部１６、動きベクトルメモリ１７を有する。
なお、これらの各部は、ソフトウエア、ハードウエアのいずれでも実現できる。例えばハードウエアで構成する場合、代表点情報保持部１１、閾値保持部１３、フラグメモリ１４、動きベクトルメモリ１７としてのレジスタやメモリを備え、また比較判定部１２，重心計算部１５，動きベクトル計算部１６としての演算回路が形成されるようにすればよい。
また判定部１をＤＳＰやＣＰＵなどの演算処理デバイスにより構成し、内部ＲＡＭやレジスタとして、代表点情報保持部１１、閾値保持部１３、フラグメモリ１４、動きベクトルメモリ１７を実現する共に、ソフトウエア実装により比較判定部１２，重心計算部１５，動きベクトル計算部１６としての演算機能が実現されるようにしてもよい。
【００３３】
代表点情報保持部１１は、現在の入力画素データＤｇのフレームの前のフレームにおいて設定された代表点ｒの情報として、代表点ｒの画素値及びアドレスを保持する。上記のように入力画素データＤｇがフレームメモリ２Ａに記憶されていくフレーム期間においては、前のフレームの各画素データはフレームメモリ２Ｂに記憶されている。つまり代表点ｒとしての画素データは、フレームメモリ２Ｂに記憶されている。このため代表点ｒの情報としての画素値及びアドレスはスイッチＳＷ３を介してフレームメモリ２Ｂから取り込まれ、代表点情報保持部１１に保持される。
閾値保持部１３は、画素差分値としての閾値ｔｈを保持する。閾値ｔｈは予め設定されている。
【００３４】
比較判定部１２には、入力画素データＤｇ、及びアドレスＡＤが入力される。また閾値保持部１３から閾値ｔｈが供給される。さらに代表点情報保持部１１から代表点ｒの画素値ｒｇと代表点ｒのアドレスｒＡＤが入力される。
この比較判定部１２は、入力されてくる入力画素データＤｇが図１（ｂ）に示した探索領域ＡＲｓ内であるか否かの判断、及び探索領域ＡＲｓ内の入力画素データＤｇの画素値（輝度レベル）について、代表点ｒの画素値（輝度レベル）ｒｇとの比較処理を行い、その結果によりフラグメモリ１４の判定フラグ制御を行う。
【００３５】
順次供給されてくる入力画素データＤｇとそのアドレスＡＤが探索領域ＡＲｓ内であるか否かは、アドレスＡＤを探索領域ＡＲｓとしてのアドレスと比較することで行う。
探索領域ＡＲｓは、図１で説明したように前フレームの代表点ｒを中心とする注目領域ＡＲａと同一のアドレス範囲である。例えば図１では簡略化のために代表点ｒの画素アドレスを中心として７×７画素の例を示したが、例えば実際には代表点ｒとしての画素を中心として水平・垂直方向に（±３２画素）×（±３２画素）などとされる。その場合、比較判定部１２は、代表点ｒの画素アドレスｒＡＤを中心とした水平６５画素×垂直６５画素の範囲を、探索領域ＡＲｓとして決定することができる。
これにより入力画素データＤｇと共に入力されてくるアドレスＡＤが、この探索領域ＡＲｓの範囲内のアドレスであるか否かを判別することができる。
【００３６】
入力画素データＤｇが探索領域ＡＲｓ内のデータであった場合は、その入力画素データＤｇと代表点ｒの画素値ｒｇの比較処理を行う。具体的には輝度レベルとしての画素差分値を算出する。そして算出された画素差分値の絶対値が閾値ｔｈ未満であるか否かを判定する。
閾値ｔｈ未満であった場合は、その入力画素データＤｇは代表点ｒの画素に対応する候補点ｅ（図１（ｄ）参照）とする。その場合、フラグメモリ１４に対して判定フラグのオンを指示する。
【００３７】
フラグメモリ１４では、１フレーム分の各画素にそれぞれ対応したフラグ領域が確保されている。例えば１フレームの水平方向画素数がＨｎ、垂直方向画素数がＶｎであり、１フレームの画素数がＨｎ×Ｖｎであるとすれば、フラグメモリ１４としては、１画素に付き１ビットとして、（Ｈｎ×Ｖｎ）ビットのフラグ領域が確保される。
そして比較判定部１２からフラグオンの指示があった場合は、その際に供給されているアドレスＡＤに対応するビット位置に、判定フラグが立てられることになる。従ってフラグメモリ１４上では、図１（ｄ）の候補点ｅと示したように、判定フラグが立てられることになる。
なお、後述する重心計算のためには、フラグオンとされた画素のアドレスが必要となり、フラグに対応してアドレスＡＤを記憶する領域が確保されるようにしてもよいが、フラグ位置自体がアドレスＡＤを表現するのであれば、アドレス値自体を記憶する必要はない。
【００３８】
重心計算部１５は、フラグメモリ１４での判定フラグを参照して、フラグオンのアドレス（候補点ｅ）が空間的（水平・垂直方向）に連続する候補領域ｅＡ（図２（ａ）参照）を判別する。また候補領域ｅＡが複数存在する場合は、その中で最大の候補領域ｅＡを選択する。
そして図２（ｂ）で説明したように、選択した最大の候補領域ｅＡについて重心点ｗを例えば座標値として算出する。
【００３９】
動きベクトル計算部１６は、重心計算部１５で算出された重心点ｗと、代表点ｒの画素アドレスｒＡＤに基づいて、動きベクトルＶを計算する。つまり図２（ｃ）で説明したように代表点ｒの画素アドレスｒＡＤの座標値を始点とし、重心点ｗの座標値を終点とする動きベクトルＶが計算される。
算出された動きベクトルＶの値、つまりベクトルの方向及び長さを示す値は、動きベクトルメモリ１７に保持され、動きベクトルＶを用いて処理を行う所定の処理系に供給される。
【００４０】
また、現在の入力画素データＤｇのフレームの次のフレームに対しては、今回のフレーム内で代表点ｒが決められる。代表点ｒは重心点ｗを基準にして設定される。例えば重心点ｗに相当する画素位置、例えば図１（ｃ）の例では画素位置ｅｙが、代表点ｒとされる。
重心計算部１５はこのように、算出した重心点ｗに基づいて次の代表点ｒとしての画素アドレスｒＡＤ’を設定し、スイッチＳＷ４を介してフレームメモリ２Ａに供給する。フレームメモリ２Ａでは、画素アドレスｒＡＤ’としての画素に関する付加情報として、代表点ｒとしての情報が記憶される。
【００４１】
そして次のフレームの入力画素データＤｇが入力されるフレーム期間に至ると、各スイッチＳＷ１〜ＳＷ４はｔ２端子に切り替えられる。
従って、各入力画素データＤｇは、今度はフレームメモリ２Ｂに記憶されていく。
このフレーム期間においては、フレームメモリ２Ａから代表点ｒとしての情報が読み出され、代表点情報保持部１１に保持される。
そして上記同様に、判定部１内の処理で重心検出方式での動きベクトルＶの検出が行われる。
また、そのフレーム期間において重心点ｗが計算されたら、重心計算部１５ではそれに基づいて次の代表点ｒの画素アドレスが設定される。その場合は、次の代表点ｒとしての画素アドレスｒＡＤ’は、スイッチＳＷ４を介してフレームメモリ２Ｂに供給され、画素アドレスｒＡＤ’としての画素に関する付加情報として、代表点ｒとしての情報が記憶される。
【００４２】
以降、同様に、入力画素データＤｇがフレームメモリ２Ａに記憶されていくと共に、判定部１でフレームメモリ２Ｂからの代表点ｒの情報を用いて今回のフレームについて動きベクトルＶが計算される処理と、入力画素データＤｇがフレームメモリ２Ｂに記憶されていくと共に、判定部１でフレームメモリ２Ａからの代表点ｒの情報を用いて今回のフレームについて動きベクトルＶが計算される処理とが、交互に行われていく。
【００４３】
図４に判定部１の処理をフローチャートで示す。なお、このフローチャートは説明上の都合により、１フレーム期間内の処理として示している。つまり、各フレームにおける画素データＤｇが入力されてくる期間毎に、図４の処理が行われるものである。
【００４４】
まずステップＦ１０１として代表点情報が設定される。上述したように、代表点情報は前フレーム上で設定された代表点ｒとしての画素値ｒｇ及びアドレスｒＡＤであり、フレームメモリ（２Ｂ又は２Ａ）から読み込まれて代表点情報保持部１１にセットされる。
なお、代表点ｒの画素は、前フレームにおける重心点ｗに基づいて設定されるとしたが、動きベクトル検出を行おうとするときの、一番最初のフレームでは、当然ながら動きベクトル検出は行われず、従って一番最初のフレーム上では任意に注目領域ＡＲａ及びその中心画素としての代表点ｒが設定されるものとなる。
【００４５】
ステップＦ１０２として入力画素データＤｇが比較判定部１２に入力される毎に、ステップＦ１０３以降の処理が行われる。
まずステップＦ１０３では、比較判定部１２が入力された画素データＤｇについてのアドレスＡＤを参照し、その入力画素データＤｇが探索領域ＡＲｓ内であるか否かを判断する。探索領域ＡＲｓ内でなければ、ステップＦ１０２に戻って次の入力画素データＤｇを待機する。
【００４６】
探索領域ＡＲｓ内としての画素データＤｇが入力された場合、比較判定部１２の処理としてステップＦ１０４で画素差分計算が行われる。つまり当該入力画素データＤｇの画素値と、代表点ｒの画素値の差分絶対値が求められる。
そしてステップＦ１０５では、画素差分絶対値と閾値ｔｈが比較され、画素差分絶対値が閾値ｔｈ未満であればステップＦ１０６で、フラグメモリ１４上で当該画素データＤｇについて判定フラグがオンとされる。画素差分絶対値が閾値ｔｈ以上の場合、判定フラグはオンとされない。
【００４７】
ステップＦ１０７では、上記比較判定を行った画素データＤｇが、探索領域ＡＲｓ内の最後の画素であるか否かを判別する。即ち、探索領域ＡＲｓ内の全ての画素についてステップＦ１０４、Ｆ１０５，Ｆ１０６の処理を終えたか否かを判別する。まだ終えていなければ、ステップＦ１０２に戻って次の画素データ入力に備える。そして画素データＤｇが入力されたら、同様に探索領域ＡＲｓであるか否かを判断し、探索領域ＡＲｓ内であればステップＦ１０４、Ｆ１０５，Ｆ１０６の処理を行う。
【００４８】
今回のフレーム内で、少なくとも探索領域ＡＲｓ内の全ての画素データＤｇについて比較判定処理を行ったら、処理はステップＦ１０８に進む。
この時点で、フラグメモリ１４上では、例えば図１（ｄ）のように探索領域ＡＲｓ内での候補点ｅの情報（アドレス）が判定フラグとして保持されている。そこで、ステップＦ１０８では、重心計算部１５は、フラグメモリ１４上の判定フラグを参照して、重心計算を行う。つまり、まず最大の候補領域ｅＡを選択し、その候補領域ｅＡ内の重心点ｗを算出する。
【００４９】
重心点ｗは例えば次のように計算する。
図５に判定フラグとして候補点ｅがみつけられた探索領域ＡＲｓを示し、そのｘ、ｙ座標軸を示しているが、重心のｘ座標、ｙ座標は、例えば
ｘ座標＝｛Σ（判定フラグオンの画素のｘ座標）｝／（フラグオンの画素数）
ｙ座標＝｛Σ（判定フラグオンの画素のｙ座標）｝／（フラグオンの画素数）
として算出する。算出されたｘ座標、ｙ座標が、重心点ｗの座標値となる。
【００５０】
次にステップＦ１０９では、算出した重心点ｗに基づいて、次のフレームのための、現フレーム上での代表点ｒを設定する。即ち上述したように、代表点ｒの画素アドレスｒＡＤ’を設定して、現フレームの画素データＤｇを記憶しているフレームメモリ（２Ａ又は２Ｂ）に記憶させる。
【００５１】
ステップＦ１１０では、代表点ｒの画素アドレスｒＡＤの座標値と、算出された重心点ｗを用いて、動きベクトル計算部１６で動きベクトルＶが算出される。そしてステップＦ１１１で、算出された動きベクトルＶが動きベクトルメモリ１７に記憶され、所要の回路系によって参照される状態となる。
【００５２】
この図４の処理が各フレーム期間毎に実行され、各フレーム期間毎に動きベクトルＶが検出される。
つまり本例の重心検出による動きベクトル検出は、過去フレームにおける代表点ｒに対してこの代表点の画素値に近い画素を候補点ｅとして検出し、その検出された候補点ｅが空間的に連続する候補領域ｅＡの重心点ｗを検出する。そして代表点ｒを始点とし、重心点ｗを終点として動きベクトルを検出する。
そしてこの重心検出方式によれば、フレーム間の単なる点マッチングではなく、候補領域ｅＡの重心点として、物理的な意味のあるベクトル終点を検出するものであるため、精度の高い動きベクトルを検出できる。
また、重心点を検出することは、画像の不安定なエッヂ部分やノイズによる影響を受けにくいものともなり、その意味でも精度向上が実現される。
さらにハードウエア規模は従来の代表点マッチング方式とほぼ同等でよく、ブロックマッチング法の場合に比べて小規模化が実現される。
つまり代表点マッチング方式と同程度のハードウエア構成で、より高精度の動きベクトル検出が可能となる。
【００５３】
また、重心計算部１５は、候補領域ｅＡが複数存在する場合は、最大の候補領域ｅＡを選択し、選択した候補領域ｅＡについて重心点ｗを算出することで、より正確なベクトル検出が可能となる。
また、重心点ｗに基づいて、次のフレームに対する代表点ｒを設定することで、代表点ｒとして物理的意味が与えられ、動きベクトル検出の精度を上げることができる。
【００５４】
１−３  重心検出にかかる第２の装置構成例及び処理
続いて同じく重心検出方式での第２の装置構成例を説明する。
上記例は、重心検出方式での基本的な構成として、代表点ｒを１つ設定し、代表点ｒを含む注目領域ＡＲａに対応する探索領域ＡＲｓ内で画素比較判定を行うものとした。
実際上の適用例としては、代表点ｒを１つとする場合だけでなく、１フレーム内に複数の代表点ｒを設定し、各代表点ｒを含む注目領域ＡＲａに対応して、各探索領域ＡＲｓ内で画素比較判定を行って重心検出による動きベクトル検出を行うことも考えられる。
【００５５】
例えば図６（ａ）は、フレームＦ＃１内に４つの代表点ｒ１〜ｒ４（注目領域ＡＲａ１〜ＡＲａ４）を設定した状態を示しており、この場合、探索領域ＡＲｓは、図６（ｂ）のようにフレームＦ＃２において、探索領域ＡＲｓ１〜ＡＲｓ４の４つが設定されることになる。
例えばこのように４つの代表点ｒ１〜ｒ４を設定する場合の構成例を図７に示す。なお、図３と同一部分には同一符号を付し、説明を省略する。
図７において、構成上、上記図３と異なる点は、判定部１Ａ〜１Ｄとして、判定部１が４つ（代表点の設定数と同数）設けられること、及び判定部選択部４が設けられることである。
【００５６】
判定部１Ａ〜１Ｄは、それぞれ図３の判定部１と同一の構成を有している。つまり、それぞれが代表点情報保持部１１，比較判定部１２、閾値保持部１３、フラグメモリ１４、重心計算部１５、動きベクトル計算部１６、動きベクトルメモリ１７を有する。
そして例えば判定部１Ａは探索領域ＡＲｓ１を担当し、判定部１Ｂは探索領域ＡＲｓ２を担当し、判定部１Ｃは探索領域ＡＲｓ３を担当し、判定部１Ｄは探索領域ＡＲｓ４を担当する。従って、各探索領域ＡＲｓ１〜ＡＲｓ４毎に動きベクトルＶが検出されることになる。
【００５７】
各判定部１Ａ〜１Ｄが、それぞれソフトウエア、ハードウエアのいずれでも実現できることは同様である。
また各判定部１Ａ〜１Ｄは、それぞれ独立の回路系（演算処理系）として設けられても良いが、例えばＤＳＰ、ＣＰＵなどの１つの演算処理デバイスにより、ここでいう複数の判定部１Ａ〜１Ｄを実現することも可能である。
【００５８】
このような構成の場合、判定部選択部４には、各判定部１Ａ〜１Ｄがそれぞれ設定する探索領域ＡＲｓ１〜ＡＲｓ４の情報（アドレス範囲）がセットされる。そして、判定部選択部４は、入力画素データＤｇと同期して発生されるアドレスＡＤについて、探索領域ＡＲｓ１〜ＡＲｓ４のうちのどれかに含まれるアドレスであるかを判別する。そして或る探索領域ＡＲｓ内のアドレスと判断された場合は、現在入力されている画素データＤｇについて、その探索領域ＡＲｓを担当する判定部（１Ａ〜１Ｄの内の１つ）において処理させる制御を行う。
【００５９】
このような構成例の場合の１フレーム期間毎の処理を図８に示す。なお、図４と同一の処理については同一のステップ番号を付している。
この図８の処理は、各判定部１Ａ〜１Ｄがそれぞれ実行するものである。
【００６０】
各判定部１Ａ〜１Ｄは、それぞれステップＦ１０１Ａで前フレーム上での担当する代表点ｒについて代表点情報を設定する。即ち各判定部１Ａ〜１Ｄはそれぞれ、代表点ｒとしての画素値ｒｇ及びアドレスｒＡＤを、フレームメモリ（２Ｂ又は２Ａ）から読み込んで代表点情報保持部１１にセットする。
従って例えば、判定部１Ａの代表点情報保持部１１には、図６（ａ）の代表点ｒ１の情報が、判定部１Ｂの代表点情報保持部１１には、代表点ｒ２の情報が、判定部１Ｃの代表点情報保持部１１には、代表点ｒ３の情報が、判定部１Ｄの代表点情報保持部１１には代表点ｒ４の情報が、それぞれセットされる。
またこのとき、各判定部１Ａ〜１Ｄはそれぞれ、代表点ｒ１〜ｒ４に応じて設定される探索領域ＡＲｓ１〜ＡＲｓ４の情報を、判定部選択部４に通知する。
【００６１】
各判定部１Ａ〜１Ｄは、それぞれステップＦ１０２として入力画素データＤｇが比較判定部１２に入力されると、ステップＦ１０３Ａで、その際に判定部選択部４によって選択されたか否かを確認する。
【００６２】
判定部選択部４は、入力画素データＤｇのアドレスＡＤに基づいて判定部１Ａ〜１Ｄの１つを選択（処理実行指示）する（又はいずれも選択しない）。
つまり、例えば入力画素データＤｇのアドレスＡＤが探索領域ＡＲｓ１内であった場合は、その入力画素データＤｇに対応して判定部１Ａを選択する。
同様に、入力画素データＤｇのアドレスＡＤが探索領域ＡＲｓ２内であった場合は、その入力画素データＤｇに対応して判定部１Ｂを選択する。
入力画素データＤｇのアドレスＡＤが探索領域ＡＲｓ３内であった場合は、その入力画素データＤｇに対応して判定部１Ｃを選択する。
入力画素データＤｇのアドレスＡＤが探索領域ＡＲｓ４内であった場合は、その入力画素データＤｇに対応して判定部１Ｄを選択する。
また、入力画素データＤｇのアドレスＡＤが探索領域ＡＲｓ１〜ＡＲｓ４のいずれにも相当しなかった場合は、その入力画素データＤｇに対応しては、判定部１Ａ〜１Ｄのどれも選択しない。
【００６３】
つまり、各判定部１Ａ〜１Ｄでは、それぞれステップＦ１０３Ａで、判定部選択部４によって選択されているか否かにより、その際に入力された画素データＤｇについて処理を行うか否かを決定する。
選択されていなければ、ステップＦ１０２に戻って次の入力画素データＤｇを待機する。
判定部選択部４によって選択されていれば、当該入力画素データＤｇについてステップＦ１０４〜Ｆ１０７の処理、つまり画素差分の算出と閾値ｔＨとの比較による判定フラグ制御を行うことになる。
このステップＦ１０４以降の処理は、図３と同様であるため重複説明を避けるが、結果として、各判定部１Ａ〜１Ｄでは、それぞれが担当する探索領域ＡＲｓ１〜ＡＲｓ４において候補点ｅを求め、その後、最大の候補領域ｅＡから重心点ｗを算出し、代表点ｒの座標から重心点ｗの座標としての動きベクトルＶを検出することになる。
【００６４】
このようにすることで、１画面上で、その画像内容の各部の動きベクトルＶを検出することができ、これによって多様且つ利用範囲の広い動きベクトル検出が可能となる。
なお、図７では判定部選択部４を備える構成としたが、各判定部１Ａ〜１Ｄ内に、それぞれ入力画素データＤｇについて担当する探索領域ＡＲｓ内であるか否かを判別する機能を備えるようにしてもよい。
また、この例では代表点ｒ、探索領域ＡＲｓを４つとしたが、これらを２つ、３つ、或いは５以上とする例も当然考えられ、そのためには判定部１が代表点の数に応じて構成されればよい。
【００６５】
２．線分検出による動きベクトル検出
２−１  線分検出による動きベクトル検出方式
次に、図９により、線分検出による動きベクトル検出方式を説明する。
図９（ａ）（ｂ）は、時間的に連続するフレームとして、過去フレームＦ＃１と現在フレームＦ＃２を示している。上記重心検出の場合と同様に、過去フレームＦ＃１に注目領域ＡＲａを設定し、現在フレームＦ＃２には探索領域ＡＲｓを設定する。注目領域ＡＲａと探索領域ＡＲｓは大きさと位置が同じものとする。
また注目領域ＡＲａの中心にある画素を代表点ｒとする。注目領域ＡＲａと代表点ｒの関係を拡大して図９（ｃ）に示している。
【００６６】
このように代表点ｒが決められた後、現在フレームＦ＃２において、探索領域ＡＲｓにある全ての画素と代表点ｒの画素との、輝度値同士の差分絶対値を計算する。そして求めた差分絶対値がある一定の閾値よりも小さければ、その画素を候補点ｅとする比較判定処理を行う。
図９（ｄ）には、探索領域ＡＲｓ内の全ての画素について、代表点ｒの値との比較判定を行い、候補点ｅを調べた結果を示す。ここでは●の画素として示すように候補点ｅが検出されたとしている。
なお、ｋ、ｋ＋１・・・はフレーム上での画素の走査方向（水平方向）を示している。フレームを構成する画素データは、走査方向のストリームデータとして入力されてくるため、例えば１フレーム内でのｋ番目の走査線期間内における或る一部期間に、図示する探索領域ＡＲｓ内の最初の行の画素が入力されてくる。
【００６７】
図９（ｄ）のように候補点ｅが判別されるが、この結果については、候補点ｒが走査方向（水平方向）に連続した領域を候補線分ｅＬとする。図９（ｄ）のように候補点ｅが検出された場合、探索領域ＡＲｓ内には、図９（ｃ）のように各走査ライン毎にみて候補点ｅが存在する部分に、候補線分ｅＬ１、ｅＬ２・・・ｅＬ７が検出されることになる。
そして、このような各候補線分の中で最大（最長）の候補線分が選択される。例えば図９（ｅ）の場合、候補線分ｅＬ３が選択される。なお、候補線分ｅＬが１つであった場合は、当然、その候補線分が選択される。
そして、選択された候補領域ｅＡ３について、図９（ｆ）に示すように中点ｃを求める。。
中点ｃを求めたら、その中点ｃを動きベクトルの終点とする。すなわち、求める動きベクトルは代表点ｒを始点とし中点ｃを終点とするベクトルである。図９（ｆ）に示すように、代表点ｒに相当する画素位置をｅｘとすると、この画素位置ｅｘ→中点ｃのベクトルが、動きベクトルＶとなる。
【００６８】
本実施の形態の線分検出による動きベクトル検出は、以上のように候補線分ｅＬ内の中点をベクトル終点とするようにして行われる。
なお、図９のフレームＦ＃２に続く、図示していないフレームＦ＃３の画素データが入力される期間は、フレームＦ＃２が過去フレームとなる。その場合、代表点ｒは、例えば求めた中点ｃに基づいて設定される。例えば中点ｃに最も近い画素として、図９（ｆ）の画素位置ｅｙ１又はｅｙ２の一方を代表点ｒとし、その代表点ｒを中心としてｎ×ｎの領域が注目領域ＡＲａとされる。
そしてフレームＦ＃３においては、注目領域ＡＲａと同一位置が探索領域ＡＲｓとされ、上記同様に動きベクトル検出が行われる。
【００６９】
２−２  線分検出にかかる第１の装置構成例及び処理
上記図９で説明した線分検出方式を用いる動きベクトル検出装置の構成を図１０に示す。
図示するように、動きベクトル検出装置は、判定部２０、フレームメモリ２Ａ、２Ｂ、アドレス生成部、スイッチＳＷ１〜ＳＷ４を備える。
【００７０】
フレームメモリ２Ａ、２Ｂは、動画映像の各フレームを形成する画素データＤｇを記憶するメモリであり、１フレーム毎に交互に順番に用いられる。例えば偶数番目のフレームはフレームメモリ２Ａに記憶され、奇数番目のフレームはフレームメモリ２Ｂに記憶される。
スイッチＳＷ１〜ＳＷ４は、例えば入力画素データＤｇとして偶数番目のフレームメモリ２Ａが入力される期間は、それぞれ図示するようにｔ１端子が選択される。そして次のフレーム期間ではｔ２端子が接続されるというように、フレーム期間単位で切り替えられる。
【００７１】
スイッチＳＷ１〜ＳＷ４がｔ１端子に接続されているフレーム期間においては、入力画素データＤｇは、スイッチＳＷ１を介してフレームメモリ２Ａに供給される。このとき、クロックＣＫに基づいてアドレス生成部３でアドレスＡＤが生成される。即ち水平、垂直方向の画素位置を示すｒｏｗ（ロウ）／ｃｏｌｕｍｎ（カラム）の値による画素アドレスである。
このアドレスＡＤは、スイッチＳＷ２を介して入力画素データＤｇに対応するアドレスとしてフレームメモリ２Ａに供給される。フレームメモリ２ＡではアドレスＡＤに基づいて入力画素データＤｇを記憶する。
【００７２】
また、入力画素データＤｇ及びアドレスＡＤは、判定部２０にも入力される。判定部２０は、フレームを構成する入力画素データＤｇについて上述した線分検出の処理を行って、前フレームの代表点を基に動きベクトルを検出する。
【００７３】
判定部２０は、図示するように代表点情報保持部２１，比較判定部２２、閾値保持部２３、線分判定部２４、動きベクトル計算部２５、動きベクトルメモリ２６を有する。
なお、これらの各部は、ソフトウエア、ハードウエアのいずれでも実現できる。例えばハードウエアで構成する場合、代表点情報保持部２１、閾値保持部２３、後述する線分判定部２４内の記憶部、及び動きベクトルメモリ２６として、必要なレジスタやメモリを備え、また比較判定部２２，線分判定部２４，動きベクトル計算部２５としての演算回路が形成されるようにすればよい。
また判定部２０をＤＳＰやＣＰＵなどの演算処理デバイスにより構成し、内部ＲＡＭやレジスタとして、代表点情報保持部２１、閾値保持部２３、後述する線分判定部２４内の記憶部、及び動きベクトルメモリ２６として記憶領域を実現する共に、ソフトウエア実装により比較判定部２２，線分判定部２４，動きベクトル計算部２５としての演算機能が実現されるようにしてもよい。
【００７４】
代表点情報保持部２１は、現在の入力画素データＤｇのフレームの前のフレームにおいて設定された代表点ｒの情報として、代表点ｒの画素値及びアドレスを保持する。上記のように入力画素データＤｇがフレームメモリ２Ａに記憶されていくフレーム期間においては、前のフレームの各画素データはフレームメモリ２Ｂに記憶されている。つまり代表点ｒとしての画素データは、フレームメモリ２Ｂに記憶されている。このため代表点ｒの情報としての画素値及びアドレスはスイッチＳＷ３を介してフレームメモリ２Ｂから取り込まれ、代表点情報保持部２１に保持される。
閾値保持部２３は、画素差分値としての閾値ｔｈを保持する。閾値ｔｈは予め設定されている。
【００７５】
比較判定部２２には、入力画素データＤｇ、及びアドレスＡＤが入力される。また閾値保持部２３から閾値ｔｈが供給される。さらに代表点情報保持部２１から代表点ｒの画素値ｒｇと代表点ｒのアドレスｒＡＤが入力される。
この比較判定部２２は、入力されてくる入力画素データＤｇが図９（ｂ）に示した探索領域ＡＲｓ内であるか否かの判断、及び探索領域ＡＲｓ内の入力画素データＤｇの画素値（輝度レベル）について、代表点ｒの画素値（輝度レベル）ｒｇとの比較処理を行い、その結果を線分判定部２４に通知する。
【００７６】
順次供給されてくる入力画素データＤｇとそのアドレスＡＤが探索領域ＡＲｓ内であるか否かは、アドレスＡＤを探索領域ＡＲｓとしてのアドレスと比較することで行う。
探索領域ＡＲｓは、図９で説明したように前フレームの代表点ｒを中心とする注目領域ＡＲａと同一のアドレス範囲である。例えば図９では簡略化のために代表点ｒの画素アドレスを中心として７×７画素の例を示したが、例えば実際には代表点ｒとしての画素を中心として水平・垂直方向に（±３２画素）×（±３２画素）などとされる。従ってこの場合、比較判定部２２は、代表点ｒの画素アドレスｒＡＤを中心とした水平６５画素×垂直６５画素の範囲を、探索領域ＡＲｓとして決定することができる。
これにより入力画素データＤｇと共に入力されてくるアドレスＡＤが、この探索領域ＡＲｓの範囲内のアドレスであるか否かを判別することができる。
【００７７】
入力画素データＤｇが探索領域ＡＲｓ内のデータであった場合は、その入力画素データＤｇと代表点ｒの画素値ｒｇの比較処理を行う。具体的には輝度レベルとしての画素差分値を算出する。そして算出された画素差分値の絶対値が閾値ｔｈ未満であるか否かを判定する。
閾値ｔｈ未満であった場合は、その入力画素データＤｇは代表点ｒの画素に対応する候補点ｅ（図９（ｄ）参照）とする。その場合、線分判定部２４に対して計測フラグのオンを指示する。
【００７８】
線分判定部２４は、計測レジスタ、アドレスレジスタ、最大線分レジスタ、中点座標レジスタ、としての記憶領域を備え、また所定の演算処理を行う機能を有する。
計測レジスタは、計測フラグとして１ビットの情報が保持できればよい。
アドレスレジスタは、線分の始点アドレスを記憶するもので、１つのアドレスＡＤの記憶に必要なビット数であればよい。
最大線分レジスタは、最大長の候補線分ｅＬの長さを記憶するレジスタであり、線分長に必要なビット数の記憶領域でよい。線分長は単に画素数やアドレス長の情報でもよい。なお最大の候補線分の始点アドレスと終点アドレスを、線分長の意味で記憶しても良い。
中点座標レジスタは、線分の中点座標を記憶する。座標値を記憶できる記憶領域でよい。
【００７９】
この線分判定部２４は、比較判定部１２からフラグオンの指示があった場合は、計測フラグをオンとする。またその際には、その時点で供給されているアドレスＡＤを、線分の先頭アドレスとしてアドレスレジスタに記憶する。
また、候補線分ｅＬとされた線分のサイズ（線分長）の演算を行い、その値が最大であれば、最大線分レジスタに記憶する。
また最大線分レジスタに記憶された候補線分ｅＬについて中点座標を計算し、中点座標レジスタに記憶する。
【００８０】
詳しい説明は図１１において述べるが、この線分判定部２４からは、探索領域ＡＲｓ内の全画素データＤｇについて比較判定部２２及び線分判定部２４の処理が終えた時点で、最大の候補線分ｅＬについての中点ｃ（中点座標）が中点座標レジスタに記憶されている。
動きベクトル計算部２５は、線分判定部２４におけて算出された中点ｃと、代表点ｒの画素アドレスｒＡＤに基づいて、動きベクトルＶを計算する。つまり図９（ｆ）で説明したように代表点ｒの画素アドレスｒＡＤの座標値を始点とし、重心点ｗの座標値を終点とする動きベクトルＶが計算される。
算出された動きベクトルＶの値、つまりベクトルの方向及び長さを示す値は、動きベクトルメモリ１７に保持され、動きベクトルＶを用いて処理を行う所定の処理系に供給される。
【００８１】
また、現在の入力画素データＤｇのフレームの次のフレームに対しては、今回のフレーム内で代表点ｒが決められる。代表点ｒは中点ｃを基準にして設定される。例えば中点ｃに相当する画素位置、例えば図９（ｆ）の例では画素位置ｅｙ１又はｅｙ２どちらかが、次の代表点ｒとされる。
線分判定部２４はこのように、算出した中点ｃに基づいて次の代表点ｒとしての画素アドレスｒＡＤ’を設定し、スイッチＳＷ４を介してフレームメモリ２Ａに供給する。フレームメモリ２Ａでは、画素アドレスｒＡＤ’としての画素に関する付加情報として、代表点ｒとしての情報が記憶される。
【００８２】
そして次のフレームの入力画素データＤｇが入力されるフレーム期間に至ると、各スイッチＳＷ１〜ＳＷ４はｔ２端子に切り替えられる。
従って、各入力画素データＤｇは、今度はフレームメモリ２Ｂに記憶されていく。
このフレーム期間においては、フレームメモリ２Ａから代表点ｒとしての情報が読み出され、代表点情報保持部２１に保持される。
そして上記同様に、判定部２０内の処理で中点検出方式での動きベクトルＶの検出が行われる。
また、そのフレーム期間において中点ｃが計算されたら、線分判定部２４ではそれに基づいて次の代表点ｒの画素アドレスが設定される。その場合は、次の代表点ｒとしての画素アドレスｒＡＤ’は、スイッチＳＷ４を介してフレームメモリ２Ｂに供給され、画素アドレスｒＡＤ’としての画素に関する付加情報として、代表点ｒとしての情報が記憶される。
【００８３】
以降、同様に、入力画素データＤｇがフレームメモリ２Ａに記憶されていくと共に、判定部２０で、フレームメモリ２Ｂからの代表点ｒの情報を用いて、今回のフレームについて動きベクトルＶが計算される処理と、入力画素データＤｇがフレームメモリ２Ｂに記憶されていくと共に、判定部２０で、フレームメモリ２Ａからの代表点ｒの情報を用いて、今回のフレームについて動きベクトルＶが計算される処理とが、交互に行われていく。
【００８４】
図１１に判定部２０の処理をフローチャートで示す。なお、このフローチャートは説明上の都合により、１フレーム期間内の処理として示している。つまり、各フレームにおける画素データＤｇが入力されてくる期間毎に、図１１の処理が行われる。
【００８５】
まずステップＦ２０１として代表点情報が設定される。上述したように、代表点情報は前フレーム上で設定された代表点ｒとしての画素値ｒｇ及びアドレスｒＡＤであり、フレームメモリ（２Ｂ又は２Ａ）から読み込まれて代表点情報保持部２１にセットされる。
なお、代表点ｒの画素は、前フレームにおける中点ｃに基づいて設定されるとしたが、動きベクトル検出を行おうとするときの、一番最初のフレームでは、当然ながら動きベクトル検出は行われず、従って一番最初のフレーム上では任意に注目領域ＡＲａ及びその中心画素としての代表点ｒが設定されるものとなる。
【００８６】
ステップＦ２０２として入力画素データＤｇが比較判定部２２に入力される毎に、ステップＦ２０３以降の処理が行われる。
まずステップＦ２０３では、比較判定部２２は、入力された画素データＤｇについてのアドレスＡＤを参照し、その入力画素データＤｇが探索領域ＡＲｓ内であるか否かを判断する。探索領域ＡＲｓ内でなければ、ステップＦ２０２に戻って次の入力画素データＤｇを待機する。
【００８７】
探索領域ＡＲｓ内としての画素データＤｇが入力された場合、比較判定部２２の処理としてステップＦ２０４で画素差分計算が行われる。つまり当該入力画素データＤｇの画素値と、代表点ｒの画素値の差分絶対値が求められる。
そしてステップＦ２０５では、画素差分絶対値と閾値ｔｈが比較され、画素差分絶対値が閾値ｔｈ未満であればステップＦ２０７に進む。
そして線分判定部２４における計測フラグがオンとされているか否かを判別し、オフであったらステップＦ２０８で計測フラグをオンとさせる。
線分判定部２４は、計測フラグレジスタにおいて計測フラグをオンとするとともに、ステップＦ２０９では現在のアドレスＡＤを線分の始点アドレスとしてアドレスレジスタに記憶する。そしてステップＦ２１０に進む。
なお、ステップＦ２０７の時点で、既に計測フラグがオンとされている場合は、ステップＦ２０８，Ｆ２０９の処理を行わずにステップＦ２１０に進む。
【００８８】
ステップＦ２１０では、線分判定部２４は候補線分ｅＬとしての線分長を算出する。即ち、現在の画素データＤｇについてのアドレスＡＤを線分終点とし、アドレスレジスタに記憶してあるアドレスを線分始点として、線分終点から線分始点を減算することで線分長を求める。
そしてステップＦ２１１では、算出した線分長が、その時点で最大線分レジスタに記憶されている線分長以上であるか否かを判断する。
【００８９】
算出した線分長が、その時点での最大線分レジスタに記憶されている線分長以上であった場合は、ステップＦ２１２に進んで最大線分レジスタの値を今回算出した値に更新する。
そしてステップＦ２１３で、最大線分レジスタに記憶した線分の中点座標を、その線分始点アドレスと線分終点アドレスから計算し、ステップＦ２１４で中点座標レジスタの値を、計算した値に更新する。そしてステップＦ２１５に進む。
【００９０】
上記ステップＦ２０５で、画素差分絶対値と閾値ｔｈの比較結果として、画素差分絶対値が閾値ｔｈ以上である場合、つまり今回入力された画素データＤｇが候補点ｅとはならない場合は、ステップＦ２０６で計測フラグのリセット処理を行ったうえでステップＦ２１５に進む。
また上記ステップＦ２１１で、算出された線分長が、最大線分レジスタに記憶されている線分長より短い場合は、最大線分レジスタや中点座標レジスタの更新を行わずにステップＦ２１５に進む。
【００９１】
これら各場合においてステップＦ２１５に進んだときは、現在の処理対象となった画素データＤｇが、探索領域ＡＲｓ内の最後の画素であるか否かを判別する。即ち、探索領域ＡＲｓ内の全ての画素についてステップＦ２０４以降の処理を終えたか否かを判別する。まだ終えていなければ、ステップＦ２０２に戻って次の画素データ入力に備える。そして画素データＤｇが入力されたら、同様に探索領域ＡＲｓであるか否かを判断し、探索領域ＡＲｓ内であればステップＦ２０４以降の処理を行う。
【００９２】
そして今回のフレーム内で、少なくとも探索領域ＡＲｓ内の全ての画素データＤｇについてステップＦ２０４以降の処理を行ったら、処理はステップＦ２１５からＦ２１６に進む。
この時点で、上記ステップＦ２０４〜Ｆ２１４で説明した処理により、線分判定部２４の中点座標レジスタには、最大長の候補線分ｅＬについての中点座標が記憶されているものとなる。
【００９３】
上記ステップＦ２０４〜Ｆ２１４の処理の様子を図１２に模式的に示す。
図１２は、図９（ｄ）のように候補点ｅが検出される場合を、拡大して示している。○及び●はフレーム内の画素（入力画素データＤｇ）を示し、破線の範囲内が探索領域ＡＲｓ内である。●で示す画素ｇ１〜ｇ１４は図９（ｄ）で候補点ｅとして示した画素としている。
【００９４】
例えば走査ｋの水平期間において画素データｇ１が入力された際に、この画素は最初の候補点ｅとして検出されるが、このとき計測フラグがオンとされ、また画素データｇ１のアドレスＡＤが線分始点としてアドレスレジスタに記憶される。
このとき、検出される線分長は、線分始点＝線分終点となるため画素数でいえば「１」である。それ以前に候補線分ｅＬは検出されていないため、線分長「１」が最大線分となって最大線分レジスタに記憶される。また中点座標が記憶される。
【００９５】
次に、候補点ｅとなる画素データｇ２が入力された際には、計測フラグは既にオンであるため線分始点としてアドレスレジスタは更新されない。このとき、検出される線分長は、線分始点が画素データｇ１のアドレス、線分終点が画素データｇ２のアドレスとなるため、画素数でいえば「２」である。その時点で最大線分レジスタの値は「１」であり、今回はそれを越えるため最大線分レジスタの値は線分長「２」に更新される。また中点座標レジスタの値が画素ｇ１，ｇ２による線分の中点座標に更新される。
画素データｇ２の次の画素データが入力された際に、候補点ｅとはならなかったとすると、その際に計測フラグはリセットされる。
【００９６】
その後、画素データＤｇの入力が進み、例えば走査ｋ＋１の水平期間において画素データｇ３が入力された際に、この画素が候補点ｅとして検出されたとすると、このとき計測フラグがオンとされ、また画素データｇ３のアドレスが線分始点としてアドレスレジスタに記憶される。
このとき、検出される線分長は、線分始点＝線分終点となるため画素数でいえば「１」である。その時点の最大線分レジスタの値は「２」であるため、最大線分レジスタ及び中点座標レジスタは更新されない。
【００９７】
次にも候補点ｅとなる画素データｇ４が入力された際には、計測フラグは既にオンであるため線分始点としてアドレスレジスタは更新されない。このとき、検出される線分長は、線分始点が画素データｇ３のアドレス、線分終点が画素データｇ４のアドレスとなるため、画素数でいえば「２」である。その時点で最大線分レジスタの値は「２」であり、今回は最大線分レジスタの値以上となるため最大線分レジスタの値は、画素ｇ３，ｇ４による候補線分ｅＬの線分長「２」に更新され、また中点座標レジスタの値が画素ｇ３，ｇ４による線分の中点座標に更新される。
次の画素データｇ５の入力の際も、またさらに次の画素データｇ６の入力の際も、同様に線分長が最大値を更新していくため、最大線分レジスタ及び中点座標レジスタの値が更新されていく。画素データｇ６の入力後の時点で、最大線分レジスタの値は「４」となり、中点座標レジスタの値は画素ｇ３，ｇ４，ｇ５，ｇ６の線分の中点座標とされることになる。
画素データｇ６の次の画素データが入力された際に、これが候補点ｅとはならなかったとすると、その際に計測フラグはリセットされる。
【００９８】
この図１２の例の場合は、以降においては、候補点ｅとなる画素データ（ｇ７〜ｇ１４）がそれぞれ入力される時点でも、算出される線分長が「４」以上となることはない。従って処理が図１１のステップＦ２１２〜Ｆ２１４に進むことはなく、探索領域ＡＲｓ内の全画素についてステップＦ２０４以降の処理を終えた時点では、結果的に、最大線分レジスタの値は「４」とされており、中点座標レジスタの値は画素ｇ３，ｇ４，ｇ５，ｇ６の線分の中点座標が保持されていることになる。
つまり、図１１のステップＦ２１５で、探索領域ＡＲｓ内の全画素について処理を終えた時点では、図９（ｅ）（ｆ）に示した候補線分ｅＬ２の中点ｃの座標が中点座標レジスタに保持されていることになる。
【００９９】
図１１のステップＦ２１６に進んだら、線分判定部２４は、算出した最大の候補線分ｅＬの中点ｃ、つまり中点座標レジスタの値に基づいて、次のフレームのための、現フレーム上での代表点ｒを設定する。即ち上述したように、代表点ｒの画素アドレスｒＡＤ’を設定して、現フレームの画素データＤｇを記憶しているフレームメモリ（２Ａ又は２Ｂ）に記憶させる。
【０１００】
ステップＦ２１７では、代表点ｒの画素アドレスｒＡＤの座標値と、最大の候補線分ｅＬの中点ｃ、つまり中点座標レジスタの値を用いて、動きベクトル計算部２５で動きベクトルＶが算出される。そしてステップＦ２１８で、算出された動きベクトルＶが動きベクトルメモリ１７に記憶され、所要の回路系によって参照される状態となる。
【０１０１】
この図１１の処理が各フレーム期間毎に実行され、各フレーム期間毎に動きベクトルＶが検出される。
つまり本例の線分検出による動きベクトル検出は、過去フレームにおける代表点ｒに対してこの代表点の画素値に近い画素を候補点ｅとして検出し、その検出された候補点ｅが走査方向に連続する候補線分ｅＬのうちで最大長の候補線分ｅＬの中点ｃを検出する。そして代表点ｒを始点とし、中点ｃを終点として動きベクトルを検出する。
そしてこの線分検出方式によれば、フレーム間の単なる点マッチングではなく、最大の候補線分ｅＬの中点として、物理的な意味のあるベクトル終点を検出するものであるため、精度の高い動きベクトルを検出できる。
また、線分中点を検出することは、画像の不安定なエッヂ部分やノイズによる影響を受けにくいものともなり、その意味でも精度向上が実現される。
また、中点に基づいて、次のフレームに対する代表点を設定することで、代表点として物理的意味が与えられ、動きベクトル検出の精度を上げることができる。
【０１０２】
また線分判定部２４は、候補点ｅが走査方向に連続する候補線分ｅＬとして、最大長となる候補線分を判定し、記憶しておけばよいため、必要な記憶容量が少なく、ハードウエア規模の小型化に好適である。
即ちハードウエア規模、特に処理に必要な記憶領域は従来の代表点マッチング方式よりも小さくでき、その上で上記理由から単なる点同士のマッチングである代表点マッチング方式よりも高精度の検出が可能となる。
【０１０３】
また、線分検出方式は、上述した重心検出方式よりもハードウェアの軽減を意図したものとも言える。
重心検出方式の場合は、探索領域ＡＲｓ内の全ての画素について差分絶対値を計算しそれが決められた閾値よりも大きいか小さいかを判断した後でないと重心ｗの決定ができない。つまり重心ｗを決定するまで探索領域ＡＲｓ内のデータ、もしくは候補点ｅとなりうるか否かというフラグ情報を保持しておく必要がある（図３のフラグメモリ）。
一方、線分検出方式においては、求める候補線分ｅＬの中点を決定するまでにおいて探索領域ＡＲｓ内の全ての画素データＤｇのアドレスもしくは候補点であるか否かといった情報を持ち続ける必要がない。
即ち上記図１２を用いて説明したように、最大線分が検出される毎に中点座標が更新されていくような処理形態をとることで、過去の走査に係る候補点ｅや候補線分ｅＬの情報は、より長い候補線分が検出された時点で破棄される。また、最大線分を越えなかった候補点ｅや候補線分ｅＬの情報は記憶されない。従って、中点座標の検出までに必要な記憶領域は、非常に少なくて済み、それによってハードウェアの軽減が可能になるものである。
【０１０４】
２−３  線分検出にかかる第２の装置構成例及び処理
続いて同じく線分検出方式での第２の装置構成例を説明する。
上記図１０の例は、線分検出方式での基本的な構成として、代表点ｒを１つ設定し、代表点ｒを含む注目領域ＡＲａに対応する探索領域ＡＲｓ内で画素比較判定を行うものとした。
この線分検出方式においても実際上の適用例としては、代表点ｒを１つとする場合だけでなく、１フレーム内に複数の代表点ｒを設定し、各代表点ｒを含む注目領域ＡＲａに対応して、各探索領域ＡＲｓ内で画素比較判定を行って動きベクトル検出を行うことも考えられる。
【０１０５】
即ち上述した重心検出方式において図６（ａ）（ｂ）で説明したように、フレームＦ＃１内に４つの代表点ｒ１〜ｒ４（注目領域ＡＲａ１〜ＡＲａ４）を設定し、これに対応して４つの探索領域ＡＲｓ１〜ＡＲｓ４を設定するような場合である。例えばこのように４つの代表点ｒ１〜ｒ４を設定する場合の構成例を図１３に示す。なお、図１０と同一部分には同一符号を付し、説明を省略する。
図１３において、構成上、上記図１０と異なる点は、判定部２０Ａ〜２０Ｄとして、判定部２０が４つ（代表点の設定数と同数）設けられること、及び判定部選択部４が設けられることである。
【０１０６】
判定部２０Ａ〜２０Ｄは、それぞれ図３の判定部２０と同一の構成を有している。つまり、それぞれが代表点情報保持部２１，比較判定部２２、閾値保持部２３、線分判定部２４、動きベクトル計算部２５、動きベクトルメモリ２６を有する。
そして例えば判定部２０Ａは図６（ｂ）の探索領域ＡＲｓ１を担当し、判定部２０Ｂは探索領域ＡＲｓ２を担当し、判定部２０Ｃは探索領域ＡＲｓ３を担当し、判定部２０Ｄは探索領域ＡＲｓ４を担当する。従って、各探索領域ＡＲｓ１〜ＡＲｓ４毎に動きベクトルＶが検出されることになる。
【０１０７】
各判定部２０Ａ〜２０Ｄが、それぞれソフトウエア、ハードウエアのいずれでも実現できることは同様である。
また各判定部２０Ａ〜２０Ｄは、それぞれ独立の回路系（演算処理系）として設けられても良いが、例えばＤＳＰ、ＣＰＵなどの１つの演算処理デバイスにより、ここでいう複数の判定部２０Ａ〜２０Ｄを実現することも可能である。
【０１０８】
判定部選択部４には、各判定部２０Ａ〜２０Ｄがそれぞれ設定する探索領域ＡＲｓ１〜ＡＲｓ４の情報（アドレス範囲）がセットされる。そして、判定部選択部４は、入力画素データＤｇと同期して発生されるアドレスＡＤについて、探索領域ＡＲｓ１〜ＡＲｓ４のうちのどれかに含まれるアドレスであるかを判別し、或る探索領域ＡＲｓ内のアドレスと判断された場合は、現在入力されている画素データＤｇについて、その探索領域ＡＲｓを担当する判定部（２０Ａ〜２０Ｄの内の１つ）において処理させる制御を行う。
【０１０９】
このような構成例の場合の１フレーム期間毎の処理を図１４に示す。なお、図１１と同一の処理については同一のステップ番号を付している。
この図１４の処理は、各判定部２０Ａ〜２０Ｄがそれぞれ実行する。
【０１１０】
各判定部２０Ａ〜２０Ｄは、それぞれステップＦ２０１Ａで前フレーム上での担当する代表点ｒについて代表点情報を設定する。即ち各判定部２０Ａ〜２０Ｄはそれぞれ、代表点ｒとしての画素値ｒｇ及びアドレスｒＡＤを、フレームメモリ（２Ｂ又は２Ａ）から読み込んで代表点情報保持部２１にセットする。
従って例えば、判定部２０Ａの代表点情報保持部２１には、図６（ａ）の代表点ｒ１の情報が、判定部２０Ｂの代表点情報保持部２１には、代表点ｒ２の情報が、判定部２０Ｃの代表点情報保持部２１には、代表点ｒ３の情報が、判定部２０Ｄの代表点情報保持部２１には代表点ｒ４の情報が、それぞれセットされる。
またこのとき、各判定部２０Ａ〜２０Ｄはそれぞれ、代表点ｒ１〜ｒ４に応じて設定される探索領域ＡＲｓ１〜ＡＲｓ４の情報を、判定部選択部４に通知する。
【０１１１】
各判定部２０Ａ〜２０Ｄは、それぞれステップＦ２０２として入力画素データＤｇが比較判定部２２に入力されると、ステップＦ２０３Ａで、その際に判定部選択部４によって選択されたか否かを確認する。
【０１１２】
判定部選択部４は、入力画素データＤｇのアドレスＡＤに基づいて判定部２０Ａ〜２０Ｄの１つを選択（処理実行指示）する（又はいずれも選択しない）。
つまり、例えば入力画素データＤｇのアドレスＡＤが探索領域ＡＲｓ１内であった場合は、その入力画素データＤｇに対応して判定部２０Ａを選択する。
同様に、入力画素データＤｇのアドレスＡＤが探索領域ＡＲｓ２内であった場合は、その入力画素データＤｇに対応して判定部２０Ｂを選択する。
入力画素データＤｇのアドレスＡＤが探索領域ＡＲｓ３内であった場合は、その入力画素データＤｇに対応して判定部２０Ｃを選択する。
入力画素データＤｇのアドレスＡＤが探索領域ＡＲｓ４内であった場合は、その入力画素データＤｇに対応して判定部２０Ｄを選択する。
また、入力画素データＤｇのアドレスＡＤが探索領域ＡＲｓ１〜ＡＲｓ４のいずれにも相当しなかった場合は、その入力画素データＤｇに対応しては、判定部２０Ａ〜２０Ｄのどれも選択しない。
【０１１３】
つまり、各判定部２０Ａ〜２０Ｄでは、それぞれステップＦ２０３Ａで、判定部選択部４によって選択されているか否かにより、その際に入力された画素データＤｇについて処理を行うか否かを決定する。
選択されていなければ、ステップＦ２０２に戻って次の入力画素データＤｇを待機する。
判定部選択部４によって選択されていれば、当該入力画素データＤｇについて比較判定部２２と線分判定部２４によりステップＦ２０４以降の処理、つまり画素差分の算出と閾値ｔＨとの比較による計測フラグ制御、最大線分判定及び中点計算を行うことになる。
このステップＦ２０４以降の処理は、図１１と同様であるため重複説明を避けるが、結果として、各判定部２０Ａ〜２０Ｄでは、それぞれが担当する探索領域ＡＲｓ１〜ＡＲｓ４において最大の候補線分ｅＬの中点ｃを求める。その後ステップＦ２１６〜Ｆ２１８の処理で、代表点ｒの座標から中点ｃの座標としての動きベクトルＶを検出することになる。
【０１１４】
このようにすることで、１画面上で、その画像内容の各部の動きベクトルＶを検出することができ、これによって多様且つ利用範囲の広い動きベクトル検出が可能となる。
なお、図１３では判定部選択部４を備える構成としたが、各判定部２０Ａ〜２０Ｄ内に、それぞれ入力画素データＤｇについて担当する探索領域ＡＲｓ内であるか否かを判別する機能を備えるようにしてもよい。
また、この例では代表点ｒ、探索領域ＡＲｓを４つとしたが、これらを２つ、３つ、或いは５以上とする例も当然考えられ、そのためには判定部２０が代表点の数に応じて構成されればよい。
【０１１５】
３．代表点設定方式例
上述してきた重心検出方式、線分検出方式では、代表点ｒは、直前のフレームの候補領域ｅＡの重心ｗ、もしくは直前のフレームの候補線分ｅＬの中点ｃに基づいて設定されるものとした。しかしながら動きベクトル検出を開始する際の最初のフレームにおいては、直前のフレームが存在しないため、代表点ｒを任意に設定するものとした。
例えばフレーム画面上で注目領域ＡＲａを設定し、その中心画素を代表点ｒとする。これを代表点ｒの第１の代表点設定方法とする。
【０１１６】
このような第１の代表点設定方法は、設定処理が簡単であるという利点がある一方、代表点ｒは単に注目領域ＡＲｓの中心であるというだけであるため、選ばれた代表点ｒに物理的な意味に乏しく、引き続き決定される動きベクトルの精度が低くなってしまう懸念がないこともない。
そこで、最初の代表点ｒの設定を、次の第２，第３の設定方法のように行うことも考えられる。
【０１１７】
第２の代表点設定方法としては、例えば注目領域ＡＲａ内で最も広い平坦部の重心を代表点とする。
これは、上記「重心検出」の考え方を適用するもので、つまり、注目領域ＡＲｓにおいて画素値が似ている画素群を検出し、その画素群の重心を代表点とする。画素値の似ている画素群が複数ある場合は、最大面積の画素群を選択して、その重心点を代表点ｒとすればよい。
例えば上記重心検出方式の場合にこれを適用すれば、最初から重心点から重心点への動きベクトル検出ができる。また、最初の代表点が「重心点」として意味のあるものとすることで、３フレーム目以降も、最初の「重心点」の位置変化を追っていくことになる。これらのことから、動きベクトル検出の検出精度を向上させることができる。
【０１１８】
第３の代表点設定方法としては、注目領域ＡＲａ内を水平方向に切り分け、各水平部分において最も長く連続する平坦部を検出し、全ての水平部分の中で最も長く連続する線分の中点を代表点とする。
これは上記「線分検出」の考え方を適用するもので、つまり、注目領域ＡＲにおいて、水平方向（走査線方向）に見て画素差分が小さい画素の並び（線分）を検出し、その中で最も長い線分の中点を代表点ｒとする。
例えば上記線分検出方式の場合にこれを適用すれば、最初から、中点から中点への動きベクトル検出ができる。また、最初の代表点が「最大線分の中点」として意味のあるものとすることで、３フレーム目以降も、最初の「最大線分の中点」の位置変化を追っていくことになる。これらのことから、動きベクトル検出の検出精度を向上させることができる。
なお、走査線方向に線分長を検査することは、ハードウェア負担が小さいことは先に述べた通りである。
【０１１９】
４．動きベクトル検出情報の用途
以上、本発明の実施の形態の動きベクトル検出について述べてきたが、ここでは、上記のようにして得られた動きベクトル検出結果を使用する用途、アプリケーションの例を示しておく。
例えば以下の用途が考えられる。もちろん例示する以外にも用途はある。
【０１２０】
・データ圧縮
動きベクトル先の画像信号を参照して最適な圧縮を行う。
・オブジェクトの追跡／トラッキング
例えばビデオカメラにおいて被写体の動きを検出し、自動追尾処理を行う。
・オブジェクトのトラッキング
例えば画像処理等のために画像データ内の特定対象をトラッキングする。
・監視カメラ
監視用カメラにおいて動きのある被写体を追尾する。
・動き物体抽出
カメラ撮影や画像処理のために動きのある物体の画像を抽出する。
・テロップ抽出
画像上に付加されたテロップを抽出する。
・手振れ補正
ビデオカメラにおける手ブレ補正
・フレーム倍速
フレーム数を倍にする
・スローモーション画像生成
フレーム間に新しいフレームを作る
・Ｉ／Ｐ（インターレース／プログレッシブ）変換
・ノイズ低減
動き成分とノイズ成分を分離する
・高画質化
・動きボケ補正
移動物体の動きボケを補正する
・画素ずらしサンプリング
オブジェクトが動くことで新しい情報が得られる
・カメラ動きの検出
・車載カメラにおける速度検出
・動き予測
・２−３ｐｕｌｌ−ｄｏｗｎ検出
【０１２１】
５．プログラム及び記録媒体
本発明のプログラムは、上述した重心検出方式又は線分検出方式による動きベクトル検出処理を演算装置、例えばＣＰＵやＤＳＰによって実現させるプログラムである。
即ち、ビデオカメラ、画像処理装置、パーソナルコンピュータなどにおいて、上述した判定部１の動作を、ＣＰＵ等によって実現するために、上記図４、図８、図１１、図１４で説明した処理を実行させるプログラムが本発明のプログラムである。
【０１２２】
さらに、そのような本発明のプログラムが記録された本発明のプログラム記録媒体によれば、プログラムの提供が容易となり、本発明を広く提供できる。例えばビデオカメラ、画像処理装置の設計に好適となったり、汎用のコンピュータ装置により本発明を実施できる。
【０１２３】
本発明のプログラムは、機器に内蔵されている記録媒体としてのＨＤＤ（ハードディスクドライブ）や、ＲＯＭ等に予め記録しておくことができる。
あるいはまた、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＭＯ（Ｍａｇｎｅｔ  ｏｐｔｉｃａｌ）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また本発明のプログラムは、リムーバブル記録媒体からインストールする他、ダウンロードサイトから、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワークを介してダウンロードすることもできる。
【０１２４】
【発明の効果】
以上の説明から理解されるように、本発明では「重心検出」及び「線分検出」として、比較的小規模のハードウエアで精度の良い動きベクトル検出が可能となるという効果がある。
重心検出は、過去フレームにおける代表点に対してこの代表点の画素値に近い画素を候補点として検出し、その検出された候補点が空間的に連続する候補領域の重心点を検出する。そして代表点を始点とし、重心点を終点として動きベクトルを検出する。
線分検出は、過去フレームにおける代表点に対してこの代表点の画素値に近い画素を候補点として検出し、候補点が走査方向（水平方向）に最も長く連続した候補線分の中点を検出する。そして代表点を始点とし、中点を終点として動きベクトルを検出する。
【０１２５】
いずれの場合も、フレーム間の単なる点マッチングではなく、候補領域の重心点、或いは候補線分の中点として、物理的な意味のあるベクトル終点を検出するものであるため、精度の高い動きベクトルを検出できる。
また、重心点又は線分中点を検出することは、画像の不安定なエッヂ部分やノイズによる影響を受けにくいものともなり、その意味でも精度向上が実現される。
ハードウエア規模は従来の代表点マッチング方式とほぼ同等でよく、ブロックマッチング法の場合に比べて小規模化が実現される。もちろん上記理由から単なる点同士のマッチングである代表点マッチング方式よりも高精度の検出が可能となる。
【０１２６】
また重心検出の場合、重心算出手段（重心算出ステップ）は、候補領域が複数存在する場合は、最大の候補領域を選択して、選択した候補領域について重心点を算出することで、より正確なベクトル検出が可能となる。
線分検出の場合、線分判定手段は、候補点が走査方向に連続する候補線分として、最大長となる候補線分を判定し、記憶しておけばよいため、必要な記憶容量が少なく、ハードウエア規模の小型化に好適である。
また、重心検出の場合の重心点、或いは線分検出の場合の中点に基づいて、次のフレームに対する代表点を設定することで、代表点として物理的意味が与えられ、動きベクトル検出の精度を上げることができる。
【０１２７】
また動画映像データの過去フレーム内での複数の代表点を設定し、上記各代表点を用いて動きベクトルを検出するためには、重心検出の場合は比較判定手段、記憶手段、重心算出手段、及びベクトル検出手段を、線分検出の場合は比較判定手段、線分判定手段、中点算出手段、及びベクトル検出手段を、複数の代表点のそれぞれに対応するように設ければよく、これによって多様且つ利用範囲の広い動きベクトル検出が可能となる。
【０１２８】
また本発明のプログラムによれば、上記効果を奏する動きベクトル検出方法、動きベクトル検出装置を実現でき、本発明の記録媒体によれば、上記の効果を実現する動きベクトル検出装置の実現及びプログラムの広範な提供に適している。
【図面の簡単な説明】
【図１】本発明の実施の形態の重心検出による動きベクトル検出の説明図である。
【図２】実施の形態の重心検出による動きベクトル検出の説明図である。
【図３】実施の形態の重心検出にかかる第１の装置構成例のブロック図である。
【図４】実施の形態の重心検出による動きベクトル検出処理のフローチャートである。
【図５】実施の形態の重心検出動作の説明図である。
【図６】実施の形態の複数の代表点を設定する場合の説明図である。
【図７】実施の形態の重心検出にかかる第２の装置構成例のブロック図である。
【図８】実施の形態の重心検出による動きベクトル検出処理のフローチャートである。
【図９】本発明の実施の形態の線分検出による動きベクトル検出の説明図である。
【図１０】実施の形態の線分検出にかかる第１の装置構成例のブロック図である。
【図１１】実施の形態の線分検出による動きベクトル検出処理のフローチャートである。
【図１２】実施の形態の線分判定処理の説明図である。
【図１３】実施の形態の線分検出にかかる第２の装置構成例のブロック図である。
【図１４】実施の形態の線分検出による動きベクトル検出処理のフローチャートである。
【図１５】従来の代表点マッチング方法の説明図である。
【符号の説明】
１，１Ａ〜１Ｄ，２０，２０Ａ〜２０Ｄ  判定部、２Ａ，２Ｂ  フレームメモリ、３  アドレス生成部、４  判定部選択部、１１，２１  代表点情報保持部、１２，２２  比較判定部、１３，２３  閾値保持部、１４  フラグメモリ、１５重心計算部、１６，２５  動きベクトル計算部、１７，２６  動きベクトルメモリ、２４  線分判定部
【図１】
2004220419.tif 000003
【図２】
2004220419.tif 000004
【図３】
2004220419.tif 000005
【図４】
2004220419.tif 000006
【図５】
2004220419.tif 000007
【図６】
2004220419.tif 000008
【図７】
2004220419.tif 000009
【図８】
2004220419.tif 000010
【図９】
2004220419.tif 000011
【図１０】
2004220419.tif 000012
【図１１】
2004220419.tif 000013
【図１２】
2004220419.tif 000014
【図１３】
2004220419.tif 000015
【図１４】
2004220419.tif 000016
【図１５】
2004220419.tif 000017