JP2004220419A - 動きベクトル検出装置、動きベクトル検出方法、プログラム、記録媒体 - Google Patents
動きベクトル検出装置、動きベクトル検出方法、プログラム、記録媒体 Download PDFInfo
- Publication number
- JP2004220419A JP2004220419A JP2003008377A JP2003008377A JP2004220419A JP 2004220419 A JP2004220419 A JP 2004220419A JP 2003008377 A JP2003008377 A JP 2003008377A JP 2003008377 A JP2003008377 A JP 2003008377A JP 2004220419 A JP2004220419 A JP 2004220419A
- Authority
- JP
- Japan
- Prior art keywords
- point
- representative point
- candidate
- line segment
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Studio Devices (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
【解決手段】重心検出方式では、過去フレームにおける代表点に対してこの代表点の画素値に近い画素を候補点として検出し、その検出された候補点が空間的に連続する候補領域の重心点を検出する。そして代表点を始点とし、重心点を終点として動きベクトルを検出する。線分検出方式では、過去フレームにおける代表点に対してこの代表点の画素値に近い画素を候補点として検出し、候補点が走査方向(水平方向)に最も長く連続した候補線分の中点を検出する。そして代表点を始点とし、中点を終点として動きベクトルを検出する。
【選択図】 図9
Description
【発明の属する技術分野】
本発明は、動画映像における動きベクトルを検出するための動きベクトル検出装置、動きベクトル検出方法、さらには動きベクトル検出方法を実行させるプログラム、該プログラムを記録した記録媒体に関するものである。
【0002】
【従来の技術】
動画映像データにかかる処理として、映像の動きベクトルを検出する方法が各種提案され、例えばビデオカメラにおける被写体追尾や手ブレ補正などのために利用されている。
例えばブロックマッチング法、勾配法、代表点マッチング法などが知られている。先行技術文献としては次のものが挙げられる。
【0003】
【特許文献1】特開平5−30495号公報
【特許文献2】特開平8−237536号公報
【特許文献3】特開平6−86149号公報
【0004】
ブロックマッチング法では、過去フレーム内において或る代表ブロックを設定する。例えば水平・垂直方向のn×nの画素範囲として代表ブロックを設定する。そして次フレーム(現在フレーム)で、上記代表ブロックに相当する画素範囲を探し、水平・垂直空間上で、代表ブロックの位置から、対応するブロックに至る方向及び距離を動きベクトルとする方式である。
この場合、例えば代表ブロックの画素値総計を基準に、画素値総計がほぼ同じであるn×nのブロックを、対応するブロックと判断する。
【0005】
勾配法は、画素データの輝度勾配を利用して過去フレームと現在フレームでの対応ポイントを判別し、動きベクトルを検出する。例えば上記特許文献1に勾配法を利用した動きベクトル検出装置が示されている。
【0006】
代表点マッチング法については、例えば上記特許文献2,3などに記載されている。
この代表点マッチング法を、図15により説明する。図15(a)(b)は、時間的に連続するフレームとして、過去フレームF#1と現在フレームF#2を示している。
図15(a)(b)のように、過去フレームF#1に注目領域ARaを設定し、現在フレームF#2には探索領域ARsを設定する。注目領域ARaと探索領域ARsは大きさと位置が同じものとする。
また、注目領域ARaの中心にある画素を代表点rとする。注目領域ARaと代表点rの関係を拡大して図15(c)に示している。
【0007】
このように代表点rが決められた後、現在フレームF#2において、探索領域ARsにある全ての画素と代表点rの画素との、輝度値同士の差分絶対値を計算する。そして、その差分絶対値のうち最も小さい差分絶対値を与える画素をその探索領域ARsにおける候補点eとする。
候補点eの数が1つであればその候補点eを終点、代表点rを始点とするベクトルを、求める動きベクトルとする。但し実際には候補点eの数は1つとは限らない。例えば図15(d)では、3つの候補点e1,e2,e3が検出された場合を示している。このような場合には、探索領域ARsの中心(=代表点r相当位置)に最も近い候補点をベクトルの終点とするのが一般的である。従って図15(d)の場合、図15(e)のように候補点e2が採用され、図示するように候補点e2を終点として動きベクトルVが求められる。
【0008】
【発明が解決しようとする課題】
上記各方法では、次のような問題がある。
まずブロックマッチング法の場合、動きベクトルの検出精度は高いが、ブロック単位で対応する位置を検出しなければならないため、演算処理量やそのためのデータ記憶量が多く、実現するための装置構成の規模が大きくなる。
また、画像の拡大や縮小、回転運動があった場合に不利である。さらにブロックが画像の複数のオブジェクトにまたがる場合や、例えば背景とオブジェクトにまたがる場合など、間違ったベクトルを検出する可能性が高い。
【0009】
勾配法では、画素値が急激に変化するところでは検出誤差が大きくなる。またノイズ成分によって輝度勾配の値に影響を受けやすい。
さらに、大きな動きを検出することが困難であり、大きな動きを検出しようとするとハードウェアの大規模化が必要になることが知られている。
【0010】
代表点マッチング法の場合は、ブロックマッチング法と比べてハードウェア構成の規模を小さくできるという利点があるが、代表点に対応する候補点を、画素差分が最小の画素とするだけでは物理的な意味に乏しい。特に画像内容として画素値が平坦な部分では、候補点が数多く検出されることになり、どの画素をベクトルの終点とするかの判定は困難である。上記のように、例えば代表点に最も近い候補点をベクトル終点とするが、これは明確な物理的な意味を持つものではない。
なお一般的には、画像の急峻なエッヂにおいては微妙なサンプリング位置の違いにより画素値が大きく変動する。そのため、画素差分を元にしたマッチングは検出誤差の要因となりやすい。
【0011】
つまり、従来の動きベクトル検出方法では、検出精度を高めるにはハードウエア規模を大きくすることが必要となり、逆にハードウエア規模を小さくするには検出精度を犠牲にする必要があった。
【0012】
【課題を解決するための手段】
そこで本発明は、ハードウェアの大規模化を招かずに、精度の良い動きベクトル検出を実現することを目的とする。
【0013】
本発明の動きベクトル検出装置は、動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定手段と、現在フレームの画素データ値と上記代表点の画素データ値とを比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定手段と、上記比較判定手段で判定された候補点を記憶する記憶手段と、上記記憶手段に記憶された候補点が空間的に連続した画素領域を候補領域とし、該候補領域の重心点を算出する重心算出手段と、上記代表点を始点とし、上記重心点を終点として動きベクトルを検出するベクトル検出手段とを備える。
【0014】
また動きベクトル検出方法としては、動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、現在フレームの画素データ値と上記代表点の画素データ値とを比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、上記比較判定ステップで判定された候補点を記憶する記憶ステップと、上記記憶ステップで記憶された候補点が空間的に連続した画素領域を候補領域とし、該候補領域の重心点を算出する重心算出ステップと、上記代表点を始点とし、上記重心点を終点として動きベクトルを検出するベクトル検出ステップとを備える。
【0015】
これらの装置及び方法において、上記比較判定手段(比較判定ステップ)は、現在フレーム内で、上記代表点に相当する画素位置を中心とした所定画素範囲を探索領域とし、該探索領域内の各画素データについて、上記代表点の画素データ値との比較を行う。
また上記重心算出手段(重心算出ステップ)は、上記候補領域が複数存在する場合は、最大の候補領域を選択して、選択した候補領域について重心点を算出する。
また上記代表点設定手段(代表点設定ステップ)は、上記重心算出手段で算出された重心点に対応する現在フレームの画素を、次のフレームに対する代表点とする。
また上記動きベクトル検出装置では、動画映像データの過去フレーム内での複数の代表点を設定し、上記各代表点を用いて動きベクトルを検出するために、上記比較判定手段、上記記憶手段、上記重心算出手段、及び上記ベクトル検出手段が、上記複数の代表点のそれぞれに対応するように設けられる。
【0016】
また本発明のプログラムは上記動きベクトル検出方法を演算装置によって実行させるプログラムであり、本発明の記録媒体は、そのようなプログラムを記録した記録媒体である。
【0017】
さらに本発明の動きベクトル検出装置は、動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定手段と、現在フレームの画素データ値と上記代表点の画素データ値とを比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定手段と、上記候補点が走査方向に連続する候補線分として、最大長となる候補線分を判定する線分判定手段と、上記線分判定手段で最大線分と判定された候補線分の中点を算出する中点算出手段と、上記代表点を始点とし、上記中点を終点として動きベクトルを検出するベクトル検出手段とを備える。
【0018】
また本発明の動きベクトル検出方法は、動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、上記候補点が走査方向に連続する候補線分として、最大長となる候補線分を判定する線分判定ステップと、上記線分判定ステップで最大線分と判定された候補線分の中点を算出する中点算出ステップと、上記代表点を始点とし、上記中点を終点として動きベクトルを検出するベクトル検出ステップとを備える。
【0019】
これらの装置及び方法において、上記比較判定手段(比較判定ステップ)は、現在フレーム内で、上記代表点に相当する画素位置を中心とした所定画素範囲を探索領域とし、該探索領域内の各画素データについて、上記代表点の画素データ値との比較を行う。
また上記代表点設定手段(代表点設定ステップ)は、上記中点算出手段で算出された中点に対応する現在フレームの画素を、次のフレームに対する代表点とする。
また上記動きベクトル検出装置では、動画映像データの過去フレーム内での複数の代表点を設定し、上記各代表点を用いて動きベクトルを検出するために、上記比較判定手段、上記線分判定手段、上記中点算出手段、及び上記ベクトル検出手段が、上記複数の代表点のそれぞれに対応するように設けられる。
【0020】
また本発明のプログラムは上記動きベクトル検出方法を演算装置によって実行させるプログラムであり、本発明の記録媒体は、そのようなプログラムを記録した記録媒体である。
【0021】
以上のような本発明では、動きベクトル検出として、従来方式に比べて小規模のハードウエアで精度の良い検出を行うことのできる2つの新規なアルゴリズムとして「重心検出」と「線分検出」を提供するものである。
「重心検出」は、過去フレームにおける代表点に対してこの代表点の画素値に近い画素を候補点として検出し、その検出された候補点が空間的に連続する候補領域の重心点を検出する。そして代表点を始点とし、重心点を終点として動きベクトルを検出するものである。この場合、「線分検出」に比べればハードウエア規模が大きくなるが、精度の高い動きベクトル検出が可能となる。
「線分検出」は、過去フレームにおける代表点に対してこの代表点の画素値に近い画素を候補点として検出し、候補点が走査方向(水平方向)に最も長く連続した候補線分の中点を検出する。そして代表点を始点とし、中点を終点として動きベクトルを検出するものである。この場合、「重心検出」に検出精度がやや落ちるが、ハードウエア規模は小さくできる。
【0022】
【発明の実施の形態】
以下、本発明の実施の形態として、重心検出及び線分検出としての動きベクトル検出についき説明していく。説明は次の順序で行う。
1.重心検出による動きベクトル検出
1−1 重心検出による動きベクトル検出方式
1−2 重心検出にかかる第1の装置構成例及び処理
1−3 重心検出にかかる第2の装置構成例及び処理
2.線分検出による動きベクトル検出
2−1 線分検出による動きベクトル検出方式
2−2 線分検出にかかる第1の装置構成例及び処理
2−3 線分検出にかかる第2の装置構成例及び処理
3.代表点設定方式例
4.動きベクトル検出情報の用途
5.プログラム及び記録媒体
【0023】
1.重心検出による動きベクトル検出
1−1 重心検出による動きベクトル検出方式
図1,図2により、重心検出による動きベクトル検出方式を説明する。
図1(a)(b)は、時間的に連続するフレームとして、過去フレームF#1と現在フレームF#2を示している。
図1(a)(b)のように、過去フレームF#1に注目領域ARaを設定し、現在フレームF#2には探索領域ARsを設定する。注目領域ARaと探索領域ARsは大きさと位置が同じものとする。
また、注目領域ARaの中心にある画素を代表点rとする。注目領域ARaと代表点rの関係を拡大して図1(c)に示している。○は画素を示し、そのうちで代表点rとされた画素を●で示している。
なお、ここではあくまで説明上の例として水平/垂直方向に7画素×7画素の領域を注目領域ARaとしているが、この場合、探索領域ARsも7画素×7画素の領域となる。但し実際には、注目領域ARa及び探索領域ARsは、7画素×7画素の領域とされるとは限らず、例えば実際には代表点rとしての画素を中心として水平・垂直方向に(±32画素)×(±32画素)などとされる。
【0024】
なお、代表点rの設定方式としては各種あるが、それについては後述する。ここでは、任意の注目領域ARaの中心画素を、最初の代表点rとするとして説明を続ける。
【0025】
このように代表点rが決められた後、現在フレームF#2において、探索領域ARsにある全ての画素と代表点rの画素との、輝度値同士の差分絶対値を計算する。そして求めた差分絶対値がある一定の閾値よりも小さければ、その画素を候補点eとする比較判定処理を行う。
図1(d)には、探索領域ARs内の全ての画素について、代表点rの値との比較判定を行い、候補点eを調べた結果を示す。ここでは●の画素として示すように候補点eが検出されたとしている。
【0026】
ここで、候補点rが空間的(水平・垂直方向)に連続した領域を候補領域eAとする。図1(d)のように候補点eが検出された場合、探索領域ARs内には、図2(a)のように2つの候補領域eA1、eA2が存在することになる。
このように複数の候補領域eAが認められた場合は、その中で最大の候補領域を選択する。図2(a)の場合、候補領域eA1が選択される。なお、候補領域eAが1つであった場合は、当然、その候補領域が選択される。
そして、選択された候補領域eA1について、重心点を求める。図2(b)に重心点wを示す。
そして重心点wを求めたら、その重心点wを動きベクトルの終点とする。すなわち、求める動きベクトルは代表点rを始点とし重心点wを終点とするベクトルである。図2(c)に拡大して示すように、代表点rに相当する画素位置をexとすると、この画素位置ex→重心点wのベクトルが、動きベクトルVとなる。
【0027】
本実施の形態の重心検出による動きベクトル検出は、以上のように候補領域eA内の重心をベクトル終点とするようにして行われる。
なお、図1のフレームF#2に続く、図示していないフレームF#3の画素データが入力される期間は、フレームF#2が過去フレームとなる。その場合、代表点rは、例えば求めた重心点wに基づいて設定される。例えば重心点wに最も近い画素として、図2(c)の画素位置eyを代表点rとし、その代表点rを中心としてn×nの領域が注目領域ARaとされる。
そしてフレームF#3においては、注目領域ARaと同一位置が探索領域ARsとされ、上記同様に動きベクトル検出が行われる。
【0028】
1−2 重心検出にかかる第1の装置構成例及び処理
上記図1,図2で説明した重心検出方式を用いる動きベクトル検出装置の構成を図3に示す。
図3に示すように、動きベクトル検出装置は、判定部1、フレームメモリ2A、2B、アドレス生成部、スイッチSW1〜SW4を備える。
【0029】
フレームメモリ2A、2Bは、動画映像の各フレームを形成する画素データDgを記憶するメモリであり、1フレーム毎に交互に順番に用いられる。例えば偶数番目のフレームはフレームメモリ2Aに記憶され、奇数番目のフレームはフレームメモリ2Bに記憶される。
スイッチSW1〜SW4は、例えば入力画素データDgとして偶数番目のフレームメモリ2Aが入力される期間は、それぞれ図示するようにt1端子が選択される。そして次のフレーム期間ではt2端子が接続されるというように、フレーム期間単位で切り替えられる。
【0030】
スイッチSW1〜SW4がt1端子に接続されているフレーム期間においては、入力画素データDgは、スイッチSW1を介してフレームメモリ2Aに供給される。このとき、クロックCKに基づいてアドレス生成部3でアドレスADが生成される。即ち水平、垂直方向の画素位置を示すrow(ロウ)/column(カラム)の値による画素アドレスである。
このアドレスADは、スイッチSW2を介して入力画素データDgに対応するアドレスとしてフレームメモリ2Aに供給される。フレームメモリ2AではアドレスADに基づいて入力画素データDgを記憶する。
【0031】
また、入力画素データDg及びアドレスADは、判定部1にも入力される。判定部1は、フレームを構成する入力画素データDgについて上述した重心検出の処理を行って、前フレームの代表点を基に動きベクトルを検出する。
【0032】
判定部1は、図示するように代表点情報保持部11,比較判定部12、閾値保持部13、フラグメモリ14、重心計算部15、動きベクトル計算部16、動きベクトルメモリ17を有する。
なお、これらの各部は、ソフトウエア、ハードウエアのいずれでも実現できる。例えばハードウエアで構成する場合、代表点情報保持部11、閾値保持部13、フラグメモリ14、動きベクトルメモリ17としてのレジスタやメモリを備え、また比較判定部12,重心計算部15,動きベクトル計算部16としての演算回路が形成されるようにすればよい。
また判定部1をDSPやCPUなどの演算処理デバイスにより構成し、内部RAMやレジスタとして、代表点情報保持部11、閾値保持部13、フラグメモリ14、動きベクトルメモリ17を実現する共に、ソフトウエア実装により比較判定部12,重心計算部15,動きベクトル計算部16としての演算機能が実現されるようにしてもよい。
【0033】
代表点情報保持部11は、現在の入力画素データDgのフレームの前のフレームにおいて設定された代表点rの情報として、代表点rの画素値及びアドレスを保持する。上記のように入力画素データDgがフレームメモリ2Aに記憶されていくフレーム期間においては、前のフレームの各画素データはフレームメモリ2Bに記憶されている。つまり代表点rとしての画素データは、フレームメモリ2Bに記憶されている。このため代表点rの情報としての画素値及びアドレスはスイッチSW3を介してフレームメモリ2Bから取り込まれ、代表点情報保持部11に保持される。
閾値保持部13は、画素差分値としての閾値thを保持する。閾値thは予め設定されている。
【0034】
比較判定部12には、入力画素データDg、及びアドレスADが入力される。また閾値保持部13から閾値thが供給される。さらに代表点情報保持部11から代表点rの画素値rgと代表点rのアドレスrADが入力される。
この比較判定部12は、入力されてくる入力画素データDgが図1(b)に示した探索領域ARs内であるか否かの判断、及び探索領域ARs内の入力画素データDgの画素値(輝度レベル)について、代表点rの画素値(輝度レベル)rgとの比較処理を行い、その結果によりフラグメモリ14の判定フラグ制御を行う。
【0035】
順次供給されてくる入力画素データDgとそのアドレスADが探索領域ARs内であるか否かは、アドレスADを探索領域ARsとしてのアドレスと比較することで行う。
探索領域ARsは、図1で説明したように前フレームの代表点rを中心とする注目領域ARaと同一のアドレス範囲である。例えば図1では簡略化のために代表点rの画素アドレスを中心として7×7画素の例を示したが、例えば実際には代表点rとしての画素を中心として水平・垂直方向に(±32画素)×(±32画素)などとされる。その場合、比較判定部12は、代表点rの画素アドレスrADを中心とした水平65画素×垂直65画素の範囲を、探索領域ARsとして決定することができる。
これにより入力画素データDgと共に入力されてくるアドレスADが、この探索領域ARsの範囲内のアドレスであるか否かを判別することができる。
【0036】
入力画素データDgが探索領域ARs内のデータであった場合は、その入力画素データDgと代表点rの画素値rgの比較処理を行う。具体的には輝度レベルとしての画素差分値を算出する。そして算出された画素差分値の絶対値が閾値th未満であるか否かを判定する。
閾値th未満であった場合は、その入力画素データDgは代表点rの画素に対応する候補点e(図1(d)参照)とする。その場合、フラグメモリ14に対して判定フラグのオンを指示する。
【0037】
フラグメモリ14では、1フレーム分の各画素にそれぞれ対応したフラグ領域が確保されている。例えば1フレームの水平方向画素数がHn、垂直方向画素数がVnであり、1フレームの画素数がHn×Vnであるとすれば、フラグメモリ14としては、1画素に付き1ビットとして、(Hn×Vn)ビットのフラグ領域が確保される。
そして比較判定部12からフラグオンの指示があった場合は、その際に供給されているアドレスADに対応するビット位置に、判定フラグが立てられることになる。従ってフラグメモリ14上では、図1(d)の候補点eと示したように、判定フラグが立てられることになる。
なお、後述する重心計算のためには、フラグオンとされた画素のアドレスが必要となり、フラグに対応してアドレスADを記憶する領域が確保されるようにしてもよいが、フラグ位置自体がアドレスADを表現するのであれば、アドレス値自体を記憶する必要はない。
【0038】
重心計算部15は、フラグメモリ14での判定フラグを参照して、フラグオンのアドレス(候補点e)が空間的(水平・垂直方向)に連続する候補領域eA(図2(a)参照)を判別する。また候補領域eAが複数存在する場合は、その中で最大の候補領域eAを選択する。
そして図2(b)で説明したように、選択した最大の候補領域eAについて重心点wを例えば座標値として算出する。
【0039】
動きベクトル計算部16は、重心計算部15で算出された重心点wと、代表点rの画素アドレスrADに基づいて、動きベクトルVを計算する。つまり図2(c)で説明したように代表点rの画素アドレスrADの座標値を始点とし、重心点wの座標値を終点とする動きベクトルVが計算される。
算出された動きベクトルVの値、つまりベクトルの方向及び長さを示す値は、動きベクトルメモリ17に保持され、動きベクトルVを用いて処理を行う所定の処理系に供給される。
【0040】
また、現在の入力画素データDgのフレームの次のフレームに対しては、今回のフレーム内で代表点rが決められる。代表点rは重心点wを基準にして設定される。例えば重心点wに相当する画素位置、例えば図1(c)の例では画素位置eyが、代表点rとされる。
重心計算部15はこのように、算出した重心点wに基づいて次の代表点rとしての画素アドレスrAD’を設定し、スイッチSW4を介してフレームメモリ2Aに供給する。フレームメモリ2Aでは、画素アドレスrAD’としての画素に関する付加情報として、代表点rとしての情報が記憶される。
【0041】
そして次のフレームの入力画素データDgが入力されるフレーム期間に至ると、各スイッチSW1〜SW4はt2端子に切り替えられる。
従って、各入力画素データDgは、今度はフレームメモリ2Bに記憶されていく。
このフレーム期間においては、フレームメモリ2Aから代表点rとしての情報が読み出され、代表点情報保持部11に保持される。
そして上記同様に、判定部1内の処理で重心検出方式での動きベクトルVの検出が行われる。
また、そのフレーム期間において重心点wが計算されたら、重心計算部15ではそれに基づいて次の代表点rの画素アドレスが設定される。その場合は、次の代表点rとしての画素アドレスrAD’は、スイッチSW4を介してフレームメモリ2Bに供給され、画素アドレスrAD’としての画素に関する付加情報として、代表点rとしての情報が記憶される。
【0042】
以降、同様に、入力画素データDgがフレームメモリ2Aに記憶されていくと共に、判定部1でフレームメモリ2Bからの代表点rの情報を用いて今回のフレームについて動きベクトルVが計算される処理と、入力画素データDgがフレームメモリ2Bに記憶されていくと共に、判定部1でフレームメモリ2Aからの代表点rの情報を用いて今回のフレームについて動きベクトルVが計算される処理とが、交互に行われていく。
【0043】
図4に判定部1の処理をフローチャートで示す。なお、このフローチャートは説明上の都合により、1フレーム期間内の処理として示している。つまり、各フレームにおける画素データDgが入力されてくる期間毎に、図4の処理が行われるものである。
【0044】
まずステップF101として代表点情報が設定される。上述したように、代表点情報は前フレーム上で設定された代表点rとしての画素値rg及びアドレスrADであり、フレームメモリ(2B又は2A)から読み込まれて代表点情報保持部11にセットされる。
なお、代表点rの画素は、前フレームにおける重心点wに基づいて設定されるとしたが、動きベクトル検出を行おうとするときの、一番最初のフレームでは、当然ながら動きベクトル検出は行われず、従って一番最初のフレーム上では任意に注目領域ARa及びその中心画素としての代表点rが設定されるものとなる。
【0045】
ステップF102として入力画素データDgが比較判定部12に入力される毎に、ステップF103以降の処理が行われる。
まずステップF103では、比較判定部12が入力された画素データDgについてのアドレスADを参照し、その入力画素データDgが探索領域ARs内であるか否かを判断する。探索領域ARs内でなければ、ステップF102に戻って次の入力画素データDgを待機する。
【0046】
探索領域ARs内としての画素データDgが入力された場合、比較判定部12の処理としてステップF104で画素差分計算が行われる。つまり当該入力画素データDgの画素値と、代表点rの画素値の差分絶対値が求められる。
そしてステップF105では、画素差分絶対値と閾値thが比較され、画素差分絶対値が閾値th未満であればステップF106で、フラグメモリ14上で当該画素データDgについて判定フラグがオンとされる。画素差分絶対値が閾値th以上の場合、判定フラグはオンとされない。
【0047】
ステップF107では、上記比較判定を行った画素データDgが、探索領域ARs内の最後の画素であるか否かを判別する。即ち、探索領域ARs内の全ての画素についてステップF104、F105,F106の処理を終えたか否かを判別する。まだ終えていなければ、ステップF102に戻って次の画素データ入力に備える。そして画素データDgが入力されたら、同様に探索領域ARsであるか否かを判断し、探索領域ARs内であればステップF104、F105,F106の処理を行う。
【0048】
今回のフレーム内で、少なくとも探索領域ARs内の全ての画素データDgについて比較判定処理を行ったら、処理はステップF108に進む。
この時点で、フラグメモリ14上では、例えば図1(d)のように探索領域ARs内での候補点eの情報(アドレス)が判定フラグとして保持されている。そこで、ステップF108では、重心計算部15は、フラグメモリ14上の判定フラグを参照して、重心計算を行う。つまり、まず最大の候補領域eAを選択し、その候補領域eA内の重心点wを算出する。
【0049】
重心点wは例えば次のように計算する。
図5に判定フラグとして候補点eがみつけられた探索領域ARsを示し、そのx、y座標軸を示しているが、重心のx座標、y座標は、例えば
x座標={Σ(判定フラグオンの画素のx座標)}/(フラグオンの画素数)
y座標={Σ(判定フラグオンの画素のy座標)}/(フラグオンの画素数)
として算出する。算出されたx座標、y座標が、重心点wの座標値となる。
【0050】
次にステップF109では、算出した重心点wに基づいて、次のフレームのための、現フレーム上での代表点rを設定する。即ち上述したように、代表点rの画素アドレスrAD’を設定して、現フレームの画素データDgを記憶しているフレームメモリ(2A又は2B)に記憶させる。
【0051】
ステップF110では、代表点rの画素アドレスrADの座標値と、算出された重心点wを用いて、動きベクトル計算部16で動きベクトルVが算出される。そしてステップF111で、算出された動きベクトルVが動きベクトルメモリ17に記憶され、所要の回路系によって参照される状態となる。
【0052】
この図4の処理が各フレーム期間毎に実行され、各フレーム期間毎に動きベクトルVが検出される。
つまり本例の重心検出による動きベクトル検出は、過去フレームにおける代表点rに対してこの代表点の画素値に近い画素を候補点eとして検出し、その検出された候補点eが空間的に連続する候補領域eAの重心点wを検出する。そして代表点rを始点とし、重心点wを終点として動きベクトルを検出する。
そしてこの重心検出方式によれば、フレーム間の単なる点マッチングではなく、候補領域eAの重心点として、物理的な意味のあるベクトル終点を検出するものであるため、精度の高い動きベクトルを検出できる。
また、重心点を検出することは、画像の不安定なエッヂ部分やノイズによる影響を受けにくいものともなり、その意味でも精度向上が実現される。
さらにハードウエア規模は従来の代表点マッチング方式とほぼ同等でよく、ブロックマッチング法の場合に比べて小規模化が実現される。
つまり代表点マッチング方式と同程度のハードウエア構成で、より高精度の動きベクトル検出が可能となる。
【0053】
また、重心計算部15は、候補領域eAが複数存在する場合は、最大の候補領域eAを選択し、選択した候補領域eAについて重心点wを算出することで、より正確なベクトル検出が可能となる。
また、重心点wに基づいて、次のフレームに対する代表点rを設定することで、代表点rとして物理的意味が与えられ、動きベクトル検出の精度を上げることができる。
【0054】
1−3 重心検出にかかる第2の装置構成例及び処理
続いて同じく重心検出方式での第2の装置構成例を説明する。
上記例は、重心検出方式での基本的な構成として、代表点rを1つ設定し、代表点rを含む注目領域ARaに対応する探索領域ARs内で画素比較判定を行うものとした。
実際上の適用例としては、代表点rを1つとする場合だけでなく、1フレーム内に複数の代表点rを設定し、各代表点rを含む注目領域ARaに対応して、各探索領域ARs内で画素比較判定を行って重心検出による動きベクトル検出を行うことも考えられる。
【0055】
例えば図6(a)は、フレームF#1内に4つの代表点r1〜r4(注目領域ARa1〜ARa4)を設定した状態を示しており、この場合、探索領域ARsは、図6(b)のようにフレームF#2において、探索領域ARs1〜ARs4の4つが設定されることになる。
例えばこのように4つの代表点r1〜r4を設定する場合の構成例を図7に示す。なお、図3と同一部分には同一符号を付し、説明を省略する。
図7において、構成上、上記図3と異なる点は、判定部1A〜1Dとして、判定部1が4つ(代表点の設定数と同数)設けられること、及び判定部選択部4が設けられることである。
【0056】
判定部1A〜1Dは、それぞれ図3の判定部1と同一の構成を有している。つまり、それぞれが代表点情報保持部11,比較判定部12、閾値保持部13、フラグメモリ14、重心計算部15、動きベクトル計算部16、動きベクトルメモリ17を有する。
そして例えば判定部1Aは探索領域ARs1を担当し、判定部1Bは探索領域ARs2を担当し、判定部1Cは探索領域ARs3を担当し、判定部1Dは探索領域ARs4を担当する。従って、各探索領域ARs1〜ARs4毎に動きベクトルVが検出されることになる。
【0057】
各判定部1A〜1Dが、それぞれソフトウエア、ハードウエアのいずれでも実現できることは同様である。
また各判定部1A〜1Dは、それぞれ独立の回路系(演算処理系)として設けられても良いが、例えばDSP、CPUなどの1つの演算処理デバイスにより、ここでいう複数の判定部1A〜1Dを実現することも可能である。
【0058】
このような構成の場合、判定部選択部4には、各判定部1A〜1Dがそれぞれ設定する探索領域ARs1〜ARs4の情報(アドレス範囲)がセットされる。そして、判定部選択部4は、入力画素データDgと同期して発生されるアドレスADについて、探索領域ARs1〜ARs4のうちのどれかに含まれるアドレスであるかを判別する。そして或る探索領域ARs内のアドレスと判断された場合は、現在入力されている画素データDgについて、その探索領域ARsを担当する判定部(1A〜1Dの内の1つ)において処理させる制御を行う。
【0059】
このような構成例の場合の1フレーム期間毎の処理を図8に示す。なお、図4と同一の処理については同一のステップ番号を付している。
この図8の処理は、各判定部1A〜1Dがそれぞれ実行するものである。
【0060】
各判定部1A〜1Dは、それぞれステップF101Aで前フレーム上での担当する代表点rについて代表点情報を設定する。即ち各判定部1A〜1Dはそれぞれ、代表点rとしての画素値rg及びアドレスrADを、フレームメモリ(2B又は2A)から読み込んで代表点情報保持部11にセットする。
従って例えば、判定部1Aの代表点情報保持部11には、図6(a)の代表点r1の情報が、判定部1Bの代表点情報保持部11には、代表点r2の情報が、判定部1Cの代表点情報保持部11には、代表点r3の情報が、判定部1Dの代表点情報保持部11には代表点r4の情報が、それぞれセットされる。
またこのとき、各判定部1A〜1Dはそれぞれ、代表点r1〜r4に応じて設定される探索領域ARs1〜ARs4の情報を、判定部選択部4に通知する。
【0061】
各判定部1A〜1Dは、それぞれステップF102として入力画素データDgが比較判定部12に入力されると、ステップF103Aで、その際に判定部選択部4によって選択されたか否かを確認する。
【0062】
判定部選択部4は、入力画素データDgのアドレスADに基づいて判定部1A〜1Dの1つを選択(処理実行指示)する(又はいずれも選択しない)。
つまり、例えば入力画素データDgのアドレスADが探索領域ARs1内であった場合は、その入力画素データDgに対応して判定部1Aを選択する。
同様に、入力画素データDgのアドレスADが探索領域ARs2内であった場合は、その入力画素データDgに対応して判定部1Bを選択する。
入力画素データDgのアドレスADが探索領域ARs3内であった場合は、その入力画素データDgに対応して判定部1Cを選択する。
入力画素データDgのアドレスADが探索領域ARs4内であった場合は、その入力画素データDgに対応して判定部1Dを選択する。
また、入力画素データDgのアドレスADが探索領域ARs1〜ARs4のいずれにも相当しなかった場合は、その入力画素データDgに対応しては、判定部1A〜1Dのどれも選択しない。
【0063】
つまり、各判定部1A〜1Dでは、それぞれステップF103Aで、判定部選択部4によって選択されているか否かにより、その際に入力された画素データDgについて処理を行うか否かを決定する。
選択されていなければ、ステップF102に戻って次の入力画素データDgを待機する。
判定部選択部4によって選択されていれば、当該入力画素データDgについてステップF104〜F107の処理、つまり画素差分の算出と閾値tHとの比較による判定フラグ制御を行うことになる。
このステップF104以降の処理は、図3と同様であるため重複説明を避けるが、結果として、各判定部1A〜1Dでは、それぞれが担当する探索領域ARs1〜ARs4において候補点eを求め、その後、最大の候補領域eAから重心点wを算出し、代表点rの座標から重心点wの座標としての動きベクトルVを検出することになる。
【0064】
このようにすることで、1画面上で、その画像内容の各部の動きベクトルVを検出することができ、これによって多様且つ利用範囲の広い動きベクトル検出が可能となる。
なお、図7では判定部選択部4を備える構成としたが、各判定部1A〜1D内に、それぞれ入力画素データDgについて担当する探索領域ARs内であるか否かを判別する機能を備えるようにしてもよい。
また、この例では代表点r、探索領域ARsを4つとしたが、これらを2つ、3つ、或いは5以上とする例も当然考えられ、そのためには判定部1が代表点の数に応じて構成されればよい。
【0065】
2.線分検出による動きベクトル検出
2−1 線分検出による動きベクトル検出方式
次に、図9により、線分検出による動きベクトル検出方式を説明する。
図9(a)(b)は、時間的に連続するフレームとして、過去フレームF#1と現在フレームF#2を示している。上記重心検出の場合と同様に、過去フレームF#1に注目領域ARaを設定し、現在フレームF#2には探索領域ARsを設定する。注目領域ARaと探索領域ARsは大きさと位置が同じものとする。
また注目領域ARaの中心にある画素を代表点rとする。注目領域ARaと代表点rの関係を拡大して図9(c)に示している。
【0066】
このように代表点rが決められた後、現在フレームF#2において、探索領域ARsにある全ての画素と代表点rの画素との、輝度値同士の差分絶対値を計算する。そして求めた差分絶対値がある一定の閾値よりも小さければ、その画素を候補点eとする比較判定処理を行う。
図9(d)には、探索領域ARs内の全ての画素について、代表点rの値との比較判定を行い、候補点eを調べた結果を示す。ここでは●の画素として示すように候補点eが検出されたとしている。
なお、k、k+1・・・はフレーム上での画素の走査方向(水平方向)を示している。フレームを構成する画素データは、走査方向のストリームデータとして入力されてくるため、例えば1フレーム内でのk番目の走査線期間内における或る一部期間に、図示する探索領域ARs内の最初の行の画素が入力されてくる。
【0067】
図9(d)のように候補点eが判別されるが、この結果については、候補点rが走査方向(水平方向)に連続した領域を候補線分eLとする。図9(d)のように候補点eが検出された場合、探索領域ARs内には、図9(c)のように各走査ライン毎にみて候補点eが存在する部分に、候補線分eL1、eL2・・・eL7が検出されることになる。
そして、このような各候補線分の中で最大(最長)の候補線分が選択される。例えば図9(e)の場合、候補線分eL3が選択される。なお、候補線分eLが1つであった場合は、当然、その候補線分が選択される。
そして、選択された候補領域eA3について、図9(f)に示すように中点cを求める。。
中点cを求めたら、その中点cを動きベクトルの終点とする。すなわち、求める動きベクトルは代表点rを始点とし中点cを終点とするベクトルである。図9(f)に示すように、代表点rに相当する画素位置をexとすると、この画素位置ex→中点cのベクトルが、動きベクトルVとなる。
【0068】
本実施の形態の線分検出による動きベクトル検出は、以上のように候補線分eL内の中点をベクトル終点とするようにして行われる。
なお、図9のフレームF#2に続く、図示していないフレームF#3の画素データが入力される期間は、フレームF#2が過去フレームとなる。その場合、代表点rは、例えば求めた中点cに基づいて設定される。例えば中点cに最も近い画素として、図9(f)の画素位置ey1又はey2の一方を代表点rとし、その代表点rを中心としてn×nの領域が注目領域ARaとされる。
そしてフレームF#3においては、注目領域ARaと同一位置が探索領域ARsとされ、上記同様に動きベクトル検出が行われる。
【0069】
2−2 線分検出にかかる第1の装置構成例及び処理
上記図9で説明した線分検出方式を用いる動きベクトル検出装置の構成を図10に示す。
図示するように、動きベクトル検出装置は、判定部20、フレームメモリ2A、2B、アドレス生成部、スイッチSW1〜SW4を備える。
【0070】
フレームメモリ2A、2Bは、動画映像の各フレームを形成する画素データDgを記憶するメモリであり、1フレーム毎に交互に順番に用いられる。例えば偶数番目のフレームはフレームメモリ2Aに記憶され、奇数番目のフレームはフレームメモリ2Bに記憶される。
スイッチSW1〜SW4は、例えば入力画素データDgとして偶数番目のフレームメモリ2Aが入力される期間は、それぞれ図示するようにt1端子が選択される。そして次のフレーム期間ではt2端子が接続されるというように、フレーム期間単位で切り替えられる。
【0071】
スイッチSW1〜SW4がt1端子に接続されているフレーム期間においては、入力画素データDgは、スイッチSW1を介してフレームメモリ2Aに供給される。このとき、クロックCKに基づいてアドレス生成部3でアドレスADが生成される。即ち水平、垂直方向の画素位置を示すrow(ロウ)/column(カラム)の値による画素アドレスである。
このアドレスADは、スイッチSW2を介して入力画素データDgに対応するアドレスとしてフレームメモリ2Aに供給される。フレームメモリ2AではアドレスADに基づいて入力画素データDgを記憶する。
【0072】
また、入力画素データDg及びアドレスADは、判定部20にも入力される。判定部20は、フレームを構成する入力画素データDgについて上述した線分検出の処理を行って、前フレームの代表点を基に動きベクトルを検出する。
【0073】
判定部20は、図示するように代表点情報保持部21,比較判定部22、閾値保持部23、線分判定部24、動きベクトル計算部25、動きベクトルメモリ26を有する。
なお、これらの各部は、ソフトウエア、ハードウエアのいずれでも実現できる。例えばハードウエアで構成する場合、代表点情報保持部21、閾値保持部23、後述する線分判定部24内の記憶部、及び動きベクトルメモリ26として、必要なレジスタやメモリを備え、また比較判定部22,線分判定部24,動きベクトル計算部25としての演算回路が形成されるようにすればよい。
また判定部20をDSPやCPUなどの演算処理デバイスにより構成し、内部RAMやレジスタとして、代表点情報保持部21、閾値保持部23、後述する線分判定部24内の記憶部、及び動きベクトルメモリ26として記憶領域を実現する共に、ソフトウエア実装により比較判定部22,線分判定部24,動きベクトル計算部25としての演算機能が実現されるようにしてもよい。
【0074】
代表点情報保持部21は、現在の入力画素データDgのフレームの前のフレームにおいて設定された代表点rの情報として、代表点rの画素値及びアドレスを保持する。上記のように入力画素データDgがフレームメモリ2Aに記憶されていくフレーム期間においては、前のフレームの各画素データはフレームメモリ2Bに記憶されている。つまり代表点rとしての画素データは、フレームメモリ2Bに記憶されている。このため代表点rの情報としての画素値及びアドレスはスイッチSW3を介してフレームメモリ2Bから取り込まれ、代表点情報保持部21に保持される。
閾値保持部23は、画素差分値としての閾値thを保持する。閾値thは予め設定されている。
【0075】
比較判定部22には、入力画素データDg、及びアドレスADが入力される。また閾値保持部23から閾値thが供給される。さらに代表点情報保持部21から代表点rの画素値rgと代表点rのアドレスrADが入力される。
この比較判定部22は、入力されてくる入力画素データDgが図9(b)に示した探索領域ARs内であるか否かの判断、及び探索領域ARs内の入力画素データDgの画素値(輝度レベル)について、代表点rの画素値(輝度レベル)rgとの比較処理を行い、その結果を線分判定部24に通知する。
【0076】
順次供給されてくる入力画素データDgとそのアドレスADが探索領域ARs内であるか否かは、アドレスADを探索領域ARsとしてのアドレスと比較することで行う。
探索領域ARsは、図9で説明したように前フレームの代表点rを中心とする注目領域ARaと同一のアドレス範囲である。例えば図9では簡略化のために代表点rの画素アドレスを中心として7×7画素の例を示したが、例えば実際には代表点rとしての画素を中心として水平・垂直方向に(±32画素)×(±32画素)などとされる。従ってこの場合、比較判定部22は、代表点rの画素アドレスrADを中心とした水平65画素×垂直65画素の範囲を、探索領域ARsとして決定することができる。
これにより入力画素データDgと共に入力されてくるアドレスADが、この探索領域ARsの範囲内のアドレスであるか否かを判別することができる。
【0077】
入力画素データDgが探索領域ARs内のデータであった場合は、その入力画素データDgと代表点rの画素値rgの比較処理を行う。具体的には輝度レベルとしての画素差分値を算出する。そして算出された画素差分値の絶対値が閾値th未満であるか否かを判定する。
閾値th未満であった場合は、その入力画素データDgは代表点rの画素に対応する候補点e(図9(d)参照)とする。その場合、線分判定部24に対して計測フラグのオンを指示する。
【0078】
線分判定部24は、計測レジスタ、アドレスレジスタ、最大線分レジスタ、中点座標レジスタ、としての記憶領域を備え、また所定の演算処理を行う機能を有する。
計測レジスタは、計測フラグとして1ビットの情報が保持できればよい。
アドレスレジスタは、線分の始点アドレスを記憶するもので、1つのアドレスADの記憶に必要なビット数であればよい。
最大線分レジスタは、最大長の候補線分eLの長さを記憶するレジスタであり、線分長に必要なビット数の記憶領域でよい。線分長は単に画素数やアドレス長の情報でもよい。なお最大の候補線分の始点アドレスと終点アドレスを、線分長の意味で記憶しても良い。
中点座標レジスタは、線分の中点座標を記憶する。座標値を記憶できる記憶領域でよい。
【0079】
この線分判定部24は、比較判定部12からフラグオンの指示があった場合は、計測フラグをオンとする。またその際には、その時点で供給されているアドレスADを、線分の先頭アドレスとしてアドレスレジスタに記憶する。
また、候補線分eLとされた線分のサイズ(線分長)の演算を行い、その値が最大であれば、最大線分レジスタに記憶する。
また最大線分レジスタに記憶された候補線分eLについて中点座標を計算し、中点座標レジスタに記憶する。
【0080】
詳しい説明は図11において述べるが、この線分判定部24からは、探索領域ARs内の全画素データDgについて比較判定部22及び線分判定部24の処理が終えた時点で、最大の候補線分eLについての中点c(中点座標)が中点座標レジスタに記憶されている。
動きベクトル計算部25は、線分判定部24におけて算出された中点cと、代表点rの画素アドレスrADに基づいて、動きベクトルVを計算する。つまり図9(f)で説明したように代表点rの画素アドレスrADの座標値を始点とし、重心点wの座標値を終点とする動きベクトルVが計算される。
算出された動きベクトルVの値、つまりベクトルの方向及び長さを示す値は、動きベクトルメモリ17に保持され、動きベクトルVを用いて処理を行う所定の処理系に供給される。
【0081】
また、現在の入力画素データDgのフレームの次のフレームに対しては、今回のフレーム内で代表点rが決められる。代表点rは中点cを基準にして設定される。例えば中点cに相当する画素位置、例えば図9(f)の例では画素位置ey1又はey2どちらかが、次の代表点rとされる。
線分判定部24はこのように、算出した中点cに基づいて次の代表点rとしての画素アドレスrAD’を設定し、スイッチSW4を介してフレームメモリ2Aに供給する。フレームメモリ2Aでは、画素アドレスrAD’としての画素に関する付加情報として、代表点rとしての情報が記憶される。
【0082】
そして次のフレームの入力画素データDgが入力されるフレーム期間に至ると、各スイッチSW1〜SW4はt2端子に切り替えられる。
従って、各入力画素データDgは、今度はフレームメモリ2Bに記憶されていく。
このフレーム期間においては、フレームメモリ2Aから代表点rとしての情報が読み出され、代表点情報保持部21に保持される。
そして上記同様に、判定部20内の処理で中点検出方式での動きベクトルVの検出が行われる。
また、そのフレーム期間において中点cが計算されたら、線分判定部24ではそれに基づいて次の代表点rの画素アドレスが設定される。その場合は、次の代表点rとしての画素アドレスrAD’は、スイッチSW4を介してフレームメモリ2Bに供給され、画素アドレスrAD’としての画素に関する付加情報として、代表点rとしての情報が記憶される。
【0083】
以降、同様に、入力画素データDgがフレームメモリ2Aに記憶されていくと共に、判定部20で、フレームメモリ2Bからの代表点rの情報を用いて、今回のフレームについて動きベクトルVが計算される処理と、入力画素データDgがフレームメモリ2Bに記憶されていくと共に、判定部20で、フレームメモリ2Aからの代表点rの情報を用いて、今回のフレームについて動きベクトルVが計算される処理とが、交互に行われていく。
【0084】
図11に判定部20の処理をフローチャートで示す。なお、このフローチャートは説明上の都合により、1フレーム期間内の処理として示している。つまり、各フレームにおける画素データDgが入力されてくる期間毎に、図11の処理が行われる。
【0085】
まずステップF201として代表点情報が設定される。上述したように、代表点情報は前フレーム上で設定された代表点rとしての画素値rg及びアドレスrADであり、フレームメモリ(2B又は2A)から読み込まれて代表点情報保持部21にセットされる。
なお、代表点rの画素は、前フレームにおける中点cに基づいて設定されるとしたが、動きベクトル検出を行おうとするときの、一番最初のフレームでは、当然ながら動きベクトル検出は行われず、従って一番最初のフレーム上では任意に注目領域ARa及びその中心画素としての代表点rが設定されるものとなる。
【0086】
ステップF202として入力画素データDgが比較判定部22に入力される毎に、ステップF203以降の処理が行われる。
まずステップF203では、比較判定部22は、入力された画素データDgについてのアドレスADを参照し、その入力画素データDgが探索領域ARs内であるか否かを判断する。探索領域ARs内でなければ、ステップF202に戻って次の入力画素データDgを待機する。
【0087】
探索領域ARs内としての画素データDgが入力された場合、比較判定部22の処理としてステップF204で画素差分計算が行われる。つまり当該入力画素データDgの画素値と、代表点rの画素値の差分絶対値が求められる。
そしてステップF205では、画素差分絶対値と閾値thが比較され、画素差分絶対値が閾値th未満であればステップF207に進む。
そして線分判定部24における計測フラグがオンとされているか否かを判別し、オフであったらステップF208で計測フラグをオンとさせる。
線分判定部24は、計測フラグレジスタにおいて計測フラグをオンとするとともに、ステップF209では現在のアドレスADを線分の始点アドレスとしてアドレスレジスタに記憶する。そしてステップF210に進む。
なお、ステップF207の時点で、既に計測フラグがオンとされている場合は、ステップF208,F209の処理を行わずにステップF210に進む。
【0088】
ステップF210では、線分判定部24は候補線分eLとしての線分長を算出する。即ち、現在の画素データDgについてのアドレスADを線分終点とし、アドレスレジスタに記憶してあるアドレスを線分始点として、線分終点から線分始点を減算することで線分長を求める。
そしてステップF211では、算出した線分長が、その時点で最大線分レジスタに記憶されている線分長以上であるか否かを判断する。
【0089】
算出した線分長が、その時点での最大線分レジスタに記憶されている線分長以上であった場合は、ステップF212に進んで最大線分レジスタの値を今回算出した値に更新する。
そしてステップF213で、最大線分レジスタに記憶した線分の中点座標を、その線分始点アドレスと線分終点アドレスから計算し、ステップF214で中点座標レジスタの値を、計算した値に更新する。そしてステップF215に進む。
【0090】
上記ステップF205で、画素差分絶対値と閾値thの比較結果として、画素差分絶対値が閾値th以上である場合、つまり今回入力された画素データDgが候補点eとはならない場合は、ステップF206で計測フラグのリセット処理を行ったうえでステップF215に進む。
また上記ステップF211で、算出された線分長が、最大線分レジスタに記憶されている線分長より短い場合は、最大線分レジスタや中点座標レジスタの更新を行わずにステップF215に進む。
【0091】
これら各場合においてステップF215に進んだときは、現在の処理対象となった画素データDgが、探索領域ARs内の最後の画素であるか否かを判別する。即ち、探索領域ARs内の全ての画素についてステップF204以降の処理を終えたか否かを判別する。まだ終えていなければ、ステップF202に戻って次の画素データ入力に備える。そして画素データDgが入力されたら、同様に探索領域ARsであるか否かを判断し、探索領域ARs内であればステップF204以降の処理を行う。
【0092】
そして今回のフレーム内で、少なくとも探索領域ARs内の全ての画素データDgについてステップF204以降の処理を行ったら、処理はステップF215からF216に進む。
この時点で、上記ステップF204〜F214で説明した処理により、線分判定部24の中点座標レジスタには、最大長の候補線分eLについての中点座標が記憶されているものとなる。
【0093】
上記ステップF204〜F214の処理の様子を図12に模式的に示す。
図12は、図9(d)のように候補点eが検出される場合を、拡大して示している。○及び●はフレーム内の画素(入力画素データDg)を示し、破線の範囲内が探索領域ARs内である。●で示す画素g1〜g14は図9(d)で候補点eとして示した画素としている。
【0094】
例えば走査kの水平期間において画素データg1が入力された際に、この画素は最初の候補点eとして検出されるが、このとき計測フラグがオンとされ、また画素データg1のアドレスADが線分始点としてアドレスレジスタに記憶される。
このとき、検出される線分長は、線分始点=線分終点となるため画素数でいえば「1」である。それ以前に候補線分eLは検出されていないため、線分長「1」が最大線分となって最大線分レジスタに記憶される。また中点座標が記憶される。
【0095】
次に、候補点eとなる画素データg2が入力された際には、計測フラグは既にオンであるため線分始点としてアドレスレジスタは更新されない。このとき、検出される線分長は、線分始点が画素データg1のアドレス、線分終点が画素データg2のアドレスとなるため、画素数でいえば「2」である。その時点で最大線分レジスタの値は「1」であり、今回はそれを越えるため最大線分レジスタの値は線分長「2」に更新される。また中点座標レジスタの値が画素g1,g2による線分の中点座標に更新される。
画素データg2の次の画素データが入力された際に、候補点eとはならなかったとすると、その際に計測フラグはリセットされる。
【0096】
その後、画素データDgの入力が進み、例えば走査k+1の水平期間において画素データg3が入力された際に、この画素が候補点eとして検出されたとすると、このとき計測フラグがオンとされ、また画素データg3のアドレスが線分始点としてアドレスレジスタに記憶される。
このとき、検出される線分長は、線分始点=線分終点となるため画素数でいえば「1」である。その時点の最大線分レジスタの値は「2」であるため、最大線分レジスタ及び中点座標レジスタは更新されない。
【0097】
次にも候補点eとなる画素データg4が入力された際には、計測フラグは既にオンであるため線分始点としてアドレスレジスタは更新されない。このとき、検出される線分長は、線分始点が画素データg3のアドレス、線分終点が画素データg4のアドレスとなるため、画素数でいえば「2」である。その時点で最大線分レジスタの値は「2」であり、今回は最大線分レジスタの値以上となるため最大線分レジスタの値は、画素g3,g4による候補線分eLの線分長「2」に更新され、また中点座標レジスタの値が画素g3,g4による線分の中点座標に更新される。
次の画素データg5の入力の際も、またさらに次の画素データg6の入力の際も、同様に線分長が最大値を更新していくため、最大線分レジスタ及び中点座標レジスタの値が更新されていく。画素データg6の入力後の時点で、最大線分レジスタの値は「4」となり、中点座標レジスタの値は画素g3,g4,g5,g6の線分の中点座標とされることになる。
画素データg6の次の画素データが入力された際に、これが候補点eとはならなかったとすると、その際に計測フラグはリセットされる。
【0098】
この図12の例の場合は、以降においては、候補点eとなる画素データ(g7〜g14)がそれぞれ入力される時点でも、算出される線分長が「4」以上となることはない。従って処理が図11のステップF212〜F214に進むことはなく、探索領域ARs内の全画素についてステップF204以降の処理を終えた時点では、結果的に、最大線分レジスタの値は「4」とされており、中点座標レジスタの値は画素g3,g4,g5,g6の線分の中点座標が保持されていることになる。
つまり、図11のステップF215で、探索領域ARs内の全画素について処理を終えた時点では、図9(e)(f)に示した候補線分eL2の中点cの座標が中点座標レジスタに保持されていることになる。
【0099】
図11のステップF216に進んだら、線分判定部24は、算出した最大の候補線分eLの中点c、つまり中点座標レジスタの値に基づいて、次のフレームのための、現フレーム上での代表点rを設定する。即ち上述したように、代表点rの画素アドレスrAD’を設定して、現フレームの画素データDgを記憶しているフレームメモリ(2A又は2B)に記憶させる。
【0100】
ステップF217では、代表点rの画素アドレスrADの座標値と、最大の候補線分eLの中点c、つまり中点座標レジスタの値を用いて、動きベクトル計算部25で動きベクトルVが算出される。そしてステップF218で、算出された動きベクトルVが動きベクトルメモリ17に記憶され、所要の回路系によって参照される状態となる。
【0101】
この図11の処理が各フレーム期間毎に実行され、各フレーム期間毎に動きベクトルVが検出される。
つまり本例の線分検出による動きベクトル検出は、過去フレームにおける代表点rに対してこの代表点の画素値に近い画素を候補点eとして検出し、その検出された候補点eが走査方向に連続する候補線分eLのうちで最大長の候補線分eLの中点cを検出する。そして代表点rを始点とし、中点cを終点として動きベクトルを検出する。
そしてこの線分検出方式によれば、フレーム間の単なる点マッチングではなく、最大の候補線分eLの中点として、物理的な意味のあるベクトル終点を検出するものであるため、精度の高い動きベクトルを検出できる。
また、線分中点を検出することは、画像の不安定なエッヂ部分やノイズによる影響を受けにくいものともなり、その意味でも精度向上が実現される。
また、中点に基づいて、次のフレームに対する代表点を設定することで、代表点として物理的意味が与えられ、動きベクトル検出の精度を上げることができる。
【0102】
また線分判定部24は、候補点eが走査方向に連続する候補線分eLとして、最大長となる候補線分を判定し、記憶しておけばよいため、必要な記憶容量が少なく、ハードウエア規模の小型化に好適である。
即ちハードウエア規模、特に処理に必要な記憶領域は従来の代表点マッチング方式よりも小さくでき、その上で上記理由から単なる点同士のマッチングである代表点マッチング方式よりも高精度の検出が可能となる。
【0103】
また、線分検出方式は、上述した重心検出方式よりもハードウェアの軽減を意図したものとも言える。
重心検出方式の場合は、探索領域ARs内の全ての画素について差分絶対値を計算しそれが決められた閾値よりも大きいか小さいかを判断した後でないと重心wの決定ができない。つまり重心wを決定するまで探索領域ARs内のデータ、もしくは候補点eとなりうるか否かというフラグ情報を保持しておく必要がある(図3のフラグメモリ)。
一方、線分検出方式においては、求める候補線分eLの中点を決定するまでにおいて探索領域ARs内の全ての画素データDgのアドレスもしくは候補点であるか否かといった情報を持ち続ける必要がない。
即ち上記図12を用いて説明したように、最大線分が検出される毎に中点座標が更新されていくような処理形態をとることで、過去の走査に係る候補点eや候補線分eLの情報は、より長い候補線分が検出された時点で破棄される。また、最大線分を越えなかった候補点eや候補線分eLの情報は記憶されない。従って、中点座標の検出までに必要な記憶領域は、非常に少なくて済み、それによってハードウェアの軽減が可能になるものである。
【0104】
2−3 線分検出にかかる第2の装置構成例及び処理
続いて同じく線分検出方式での第2の装置構成例を説明する。
上記図10の例は、線分検出方式での基本的な構成として、代表点rを1つ設定し、代表点rを含む注目領域ARaに対応する探索領域ARs内で画素比較判定を行うものとした。
この線分検出方式においても実際上の適用例としては、代表点rを1つとする場合だけでなく、1フレーム内に複数の代表点rを設定し、各代表点rを含む注目領域ARaに対応して、各探索領域ARs内で画素比較判定を行って動きベクトル検出を行うことも考えられる。
【0105】
即ち上述した重心検出方式において図6(a)(b)で説明したように、フレームF#1内に4つの代表点r1〜r4(注目領域ARa1〜ARa4)を設定し、これに対応して4つの探索領域ARs1〜ARs4を設定するような場合である。例えばこのように4つの代表点r1〜r4を設定する場合の構成例を図13に示す。なお、図10と同一部分には同一符号を付し、説明を省略する。
図13において、構成上、上記図10と異なる点は、判定部20A〜20Dとして、判定部20が4つ(代表点の設定数と同数)設けられること、及び判定部選択部4が設けられることである。
【0106】
判定部20A〜20Dは、それぞれ図3の判定部20と同一の構成を有している。つまり、それぞれが代表点情報保持部21,比較判定部22、閾値保持部23、線分判定部24、動きベクトル計算部25、動きベクトルメモリ26を有する。
そして例えば判定部20Aは図6(b)の探索領域ARs1を担当し、判定部20Bは探索領域ARs2を担当し、判定部20Cは探索領域ARs3を担当し、判定部20Dは探索領域ARs4を担当する。従って、各探索領域ARs1〜ARs4毎に動きベクトルVが検出されることになる。
【0107】
各判定部20A〜20Dが、それぞれソフトウエア、ハードウエアのいずれでも実現できることは同様である。
また各判定部20A〜20Dは、それぞれ独立の回路系(演算処理系)として設けられても良いが、例えばDSP、CPUなどの1つの演算処理デバイスにより、ここでいう複数の判定部20A〜20Dを実現することも可能である。
【0108】
判定部選択部4には、各判定部20A〜20Dがそれぞれ設定する探索領域ARs1〜ARs4の情報(アドレス範囲)がセットされる。そして、判定部選択部4は、入力画素データDgと同期して発生されるアドレスADについて、探索領域ARs1〜ARs4のうちのどれかに含まれるアドレスであるかを判別し、或る探索領域ARs内のアドレスと判断された場合は、現在入力されている画素データDgについて、その探索領域ARsを担当する判定部(20A〜20Dの内の1つ)において処理させる制御を行う。
【0109】
このような構成例の場合の1フレーム期間毎の処理を図14に示す。なお、図11と同一の処理については同一のステップ番号を付している。
この図14の処理は、各判定部20A〜20Dがそれぞれ実行する。
【0110】
各判定部20A〜20Dは、それぞれステップF201Aで前フレーム上での担当する代表点rについて代表点情報を設定する。即ち各判定部20A〜20Dはそれぞれ、代表点rとしての画素値rg及びアドレスrADを、フレームメモリ(2B又は2A)から読み込んで代表点情報保持部21にセットする。
従って例えば、判定部20Aの代表点情報保持部21には、図6(a)の代表点r1の情報が、判定部20Bの代表点情報保持部21には、代表点r2の情報が、判定部20Cの代表点情報保持部21には、代表点r3の情報が、判定部20Dの代表点情報保持部21には代表点r4の情報が、それぞれセットされる。
またこのとき、各判定部20A〜20Dはそれぞれ、代表点r1〜r4に応じて設定される探索領域ARs1〜ARs4の情報を、判定部選択部4に通知する。
【0111】
各判定部20A〜20Dは、それぞれステップF202として入力画素データDgが比較判定部22に入力されると、ステップF203Aで、その際に判定部選択部4によって選択されたか否かを確認する。
【0112】
判定部選択部4は、入力画素データDgのアドレスADに基づいて判定部20A〜20Dの1つを選択(処理実行指示)する(又はいずれも選択しない)。
つまり、例えば入力画素データDgのアドレスADが探索領域ARs1内であった場合は、その入力画素データDgに対応して判定部20Aを選択する。
同様に、入力画素データDgのアドレスADが探索領域ARs2内であった場合は、その入力画素データDgに対応して判定部20Bを選択する。
入力画素データDgのアドレスADが探索領域ARs3内であった場合は、その入力画素データDgに対応して判定部20Cを選択する。
入力画素データDgのアドレスADが探索領域ARs4内であった場合は、その入力画素データDgに対応して判定部20Dを選択する。
また、入力画素データDgのアドレスADが探索領域ARs1〜ARs4のいずれにも相当しなかった場合は、その入力画素データDgに対応しては、判定部20A〜20Dのどれも選択しない。
【0113】
つまり、各判定部20A〜20Dでは、それぞれステップF203Aで、判定部選択部4によって選択されているか否かにより、その際に入力された画素データDgについて処理を行うか否かを決定する。
選択されていなければ、ステップF202に戻って次の入力画素データDgを待機する。
判定部選択部4によって選択されていれば、当該入力画素データDgについて比較判定部22と線分判定部24によりステップF204以降の処理、つまり画素差分の算出と閾値tHとの比較による計測フラグ制御、最大線分判定及び中点計算を行うことになる。
このステップF204以降の処理は、図11と同様であるため重複説明を避けるが、結果として、各判定部20A〜20Dでは、それぞれが担当する探索領域ARs1〜ARs4において最大の候補線分eLの中点cを求める。その後ステップF216〜F218の処理で、代表点rの座標から中点cの座標としての動きベクトルVを検出することになる。
【0114】
このようにすることで、1画面上で、その画像内容の各部の動きベクトルVを検出することができ、これによって多様且つ利用範囲の広い動きベクトル検出が可能となる。
なお、図13では判定部選択部4を備える構成としたが、各判定部20A〜20D内に、それぞれ入力画素データDgについて担当する探索領域ARs内であるか否かを判別する機能を備えるようにしてもよい。
また、この例では代表点r、探索領域ARsを4つとしたが、これらを2つ、3つ、或いは5以上とする例も当然考えられ、そのためには判定部20が代表点の数に応じて構成されればよい。
【0115】
3.代表点設定方式例
上述してきた重心検出方式、線分検出方式では、代表点rは、直前のフレームの候補領域eAの重心w、もしくは直前のフレームの候補線分eLの中点cに基づいて設定されるものとした。しかしながら動きベクトル検出を開始する際の最初のフレームにおいては、直前のフレームが存在しないため、代表点rを任意に設定するものとした。
例えばフレーム画面上で注目領域ARaを設定し、その中心画素を代表点rとする。これを代表点rの第1の代表点設定方法とする。
【0116】
このような第1の代表点設定方法は、設定処理が簡単であるという利点がある一方、代表点rは単に注目領域ARsの中心であるというだけであるため、選ばれた代表点rに物理的な意味に乏しく、引き続き決定される動きベクトルの精度が低くなってしまう懸念がないこともない。
そこで、最初の代表点rの設定を、次の第2,第3の設定方法のように行うことも考えられる。
【0117】
第2の代表点設定方法としては、例えば注目領域ARa内で最も広い平坦部の重心を代表点とする。
これは、上記「重心検出」の考え方を適用するもので、つまり、注目領域ARsにおいて画素値が似ている画素群を検出し、その画素群の重心を代表点とする。画素値の似ている画素群が複数ある場合は、最大面積の画素群を選択して、その重心点を代表点rとすればよい。
例えば上記重心検出方式の場合にこれを適用すれば、最初から重心点から重心点への動きベクトル検出ができる。また、最初の代表点が「重心点」として意味のあるものとすることで、3フレーム目以降も、最初の「重心点」の位置変化を追っていくことになる。これらのことから、動きベクトル検出の検出精度を向上させることができる。
【0118】
第3の代表点設定方法としては、注目領域ARa内を水平方向に切り分け、各水平部分において最も長く連続する平坦部を検出し、全ての水平部分の中で最も長く連続する線分の中点を代表点とする。
これは上記「線分検出」の考え方を適用するもので、つまり、注目領域ARにおいて、水平方向(走査線方向)に見て画素差分が小さい画素の並び(線分)を検出し、その中で最も長い線分の中点を代表点rとする。
例えば上記線分検出方式の場合にこれを適用すれば、最初から、中点から中点への動きベクトル検出ができる。また、最初の代表点が「最大線分の中点」として意味のあるものとすることで、3フレーム目以降も、最初の「最大線分の中点」の位置変化を追っていくことになる。これらのことから、動きベクトル検出の検出精度を向上させることができる。
なお、走査線方向に線分長を検査することは、ハードウェア負担が小さいことは先に述べた通りである。
【0119】
4.動きベクトル検出情報の用途
以上、本発明の実施の形態の動きベクトル検出について述べてきたが、ここでは、上記のようにして得られた動きベクトル検出結果を使用する用途、アプリケーションの例を示しておく。
例えば以下の用途が考えられる。もちろん例示する以外にも用途はある。
【0120】
・データ圧縮
動きベクトル先の画像信号を参照して最適な圧縮を行う。
・オブジェクトの追跡/トラッキング
例えばビデオカメラにおいて被写体の動きを検出し、自動追尾処理を行う。
・オブジェクトのトラッキング
例えば画像処理等のために画像データ内の特定対象をトラッキングする。
・監視カメラ
監視用カメラにおいて動きのある被写体を追尾する。
・動き物体抽出
カメラ撮影や画像処理のために動きのある物体の画像を抽出する。
・テロップ抽出
画像上に付加されたテロップを抽出する。
・手振れ補正
ビデオカメラにおける手ブレ補正
・フレーム倍速
フレーム数を倍にする
・スローモーション画像生成
フレーム間に新しいフレームを作る
・I/P(インターレース/プログレッシブ)変換
・ノイズ低減
動き成分とノイズ成分を分離する
・高画質化
・動きボケ補正
移動物体の動きボケを補正する
・画素ずらしサンプリング
オブジェクトが動くことで新しい情報が得られる
・カメラ動きの検出
・車載カメラにおける速度検出
・動き予測
・2−3pull−down検出
【0121】
5.プログラム及び記録媒体
本発明のプログラムは、上述した重心検出方式又は線分検出方式による動きベクトル検出処理を演算装置、例えばCPUやDSPによって実現させるプログラムである。
即ち、ビデオカメラ、画像処理装置、パーソナルコンピュータなどにおいて、上述した判定部1の動作を、CPU等によって実現するために、上記図4、図8、図11、図14で説明した処理を実行させるプログラムが本発明のプログラムである。
【0122】
さらに、そのような本発明のプログラムが記録された本発明のプログラム記録媒体によれば、プログラムの提供が容易となり、本発明を広く提供できる。例えばビデオカメラ、画像処理装置の設計に好適となったり、汎用のコンピュータ装置により本発明を実施できる。
【0123】
本発明のプログラムは、機器に内蔵されている記録媒体としてのHDD(ハードディスクドライブ)や、ROM等に予め記録しておくことができる。
あるいはまた、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、MO(Magnet optical)ディスク、DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また本発明のプログラムは、リムーバブル記録媒体からインストールする他、ダウンロードサイトから、LAN(Local Area Network)、インターネットなどのネットワークを介してダウンロードすることもできる。
【0124】
【発明の効果】
以上の説明から理解されるように、本発明では「重心検出」及び「線分検出」として、比較的小規模のハードウエアで精度の良い動きベクトル検出が可能となるという効果がある。
重心検出は、過去フレームにおける代表点に対してこの代表点の画素値に近い画素を候補点として検出し、その検出された候補点が空間的に連続する候補領域の重心点を検出する。そして代表点を始点とし、重心点を終点として動きベクトルを検出する。
線分検出は、過去フレームにおける代表点に対してこの代表点の画素値に近い画素を候補点として検出し、候補点が走査方向(水平方向)に最も長く連続した候補線分の中点を検出する。そして代表点を始点とし、中点を終点として動きベクトルを検出する。
【0125】
いずれの場合も、フレーム間の単なる点マッチングではなく、候補領域の重心点、或いは候補線分の中点として、物理的な意味のあるベクトル終点を検出するものであるため、精度の高い動きベクトルを検出できる。
また、重心点又は線分中点を検出することは、画像の不安定なエッヂ部分やノイズによる影響を受けにくいものともなり、その意味でも精度向上が実現される。
ハードウエア規模は従来の代表点マッチング方式とほぼ同等でよく、ブロックマッチング法の場合に比べて小規模化が実現される。もちろん上記理由から単なる点同士のマッチングである代表点マッチング方式よりも高精度の検出が可能となる。
【0126】
また重心検出の場合、重心算出手段(重心算出ステップ)は、候補領域が複数存在する場合は、最大の候補領域を選択して、選択した候補領域について重心点を算出することで、より正確なベクトル検出が可能となる。
線分検出の場合、線分判定手段は、候補点が走査方向に連続する候補線分として、最大長となる候補線分を判定し、記憶しておけばよいため、必要な記憶容量が少なく、ハードウエア規模の小型化に好適である。
また、重心検出の場合の重心点、或いは線分検出の場合の中点に基づいて、次のフレームに対する代表点を設定することで、代表点として物理的意味が与えられ、動きベクトル検出の精度を上げることができる。
【0127】
また動画映像データの過去フレーム内での複数の代表点を設定し、上記各代表点を用いて動きベクトルを検出するためには、重心検出の場合は比較判定手段、記憶手段、重心算出手段、及びベクトル検出手段を、線分検出の場合は比較判定手段、線分判定手段、中点算出手段、及びベクトル検出手段を、複数の代表点のそれぞれに対応するように設ければよく、これによって多様且つ利用範囲の広い動きベクトル検出が可能となる。
【0128】
また本発明のプログラムによれば、上記効果を奏する動きベクトル検出方法、動きベクトル検出装置を実現でき、本発明の記録媒体によれば、上記の効果を実現する動きベクトル検出装置の実現及びプログラムの広範な提供に適している。
【図面の簡単な説明】
【図1】本発明の実施の形態の重心検出による動きベクトル検出の説明図である。
【図2】実施の形態の重心検出による動きベクトル検出の説明図である。
【図3】実施の形態の重心検出にかかる第1の装置構成例のブロック図である。
【図4】実施の形態の重心検出による動きベクトル検出処理のフローチャートである。
【図5】実施の形態の重心検出動作の説明図である。
【図6】実施の形態の複数の代表点を設定する場合の説明図である。
【図7】実施の形態の重心検出にかかる第2の装置構成例のブロック図である。
【図8】実施の形態の重心検出による動きベクトル検出処理のフローチャートである。
【図9】本発明の実施の形態の線分検出による動きベクトル検出の説明図である。
【図10】実施の形態の線分検出にかかる第1の装置構成例のブロック図である。
【図11】実施の形態の線分検出による動きベクトル検出処理のフローチャートである。
【図12】実施の形態の線分判定処理の説明図である。
【図13】実施の形態の線分検出にかかる第2の装置構成例のブロック図である。
【図14】実施の形態の線分検出による動きベクトル検出処理のフローチャートである。
【図15】従来の代表点マッチング方法の説明図である。
【符号の説明】
1,1A〜1D,20,20A〜20D 判定部、2A,2B フレームメモリ、3 アドレス生成部、4 判定部選択部、11,21 代表点情報保持部、12,22 比較判定部、13,23 閾値保持部、14 フラグメモリ、15重心計算部、16,25 動きベクトル計算部、17,26 動きベクトルメモリ、24 線分判定部
Claims (20)
- 動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定手段と、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定手段と、
上記比較判定手段で判定された候補点を記憶する記憶手段と、
上記記憶手段に記憶された候補点が空間的に連続した画素領域を候補領域とし、該候補領域の重心点を算出する重心算出手段と、
上記代表点を始点とし、上記重心点を終点として動きベクトルを検出するベクトル検出手段と、
を備えたことを特徴とする動きベクトル検出装置。 - 上記比較判定手段は、現在フレーム内で、上記代表点に相当する画素位置を中心とした所定画素範囲を探索領域とし、該探索領域内の各画素データについて、上記代表点の画素データ値との比較を行うことを特徴とする請求項1に記載の動きベクトル検出装置。
- 上記重心算出手段は、上記候補領域が複数存在する場合は、最大の候補領域を選択して、選択した候補領域について重心点を算出することを特徴とする請求項1に記載の動きベクトル検出装置。
- 上記代表点設定手段は、上記重心算出手段で算出された重心点に対応する現在フレームの画素を、次のフレームに対する代表点とすることを特徴とする請求項1に記載の動きベクトル検出装置。
- 動画映像データの過去フレーム内での複数の代表点を設定し、上記各代表点を用いて動きベクトルを検出するために、
上記比較判定手段、上記記憶手段、上記重心算出手段、及び上記ベクトル検出手段が、上記複数の代表点のそれぞれに対応するように設けられることを特徴とする請求項1に記載の動きベクトル検出装置。 - 動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定手段と、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定手段と、
上記候補点が走査方向に連続する候補線分として、最大長となる候補線分を判定する線分判定手段と、
上記線分判定手段で最大線分と判定された候補線分の中点を算出する中点算出手段と、
上記代表点を始点とし、上記中点を終点として動きベクトルを検出するベクトル検出手段と、
を備えたことを特徴とする動きベクトル検出装置。 - 上記比較判定手段は、現在フレーム内で、上記代表点に相当する画素位置を中心とした所定画素範囲を探索領域とし、該探索領域内の各画素データについて、上記代表点の画素データ値との比較を行うことを特徴とする請求項6に記載の動きベクトル検出装置。
- 上記代表点設定手段は、上記中点算出手段で算出された中点に対応する現在フレームの画素を、次のフレームに対する代表点とすることを特徴とする請求項6に記載の動きベクトル検出装置。
- 動画映像データの過去フレーム内での複数の代表点を設定し、上記各代表点を用いて動きベクトルを検出するために、
上記比較判定手段、上記線分判定手段、上記中点算出手段、及び上記ベクトル検出手段が、上記複数の代表点のそれぞれに対応するように設けられることを特徴とする請求項6に記載の動きベクトル検出装置。 - 動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、
上記比較判定ステップで判定された候補点を記憶する記憶ステップと、
上記記憶ステップで記憶された候補点が空間的に連続した画素領域を候補領域とし、該候補領域の重心点を算出する重心算出ステップと、
上記代表点を始点とし、上記重心点を終点として動きベクトルを検出するベクトル検出ステップと、
を備えたことを特徴とする動きベクトル検出方法。 - 上記比較判定ステップでは、現在フレーム内で、上記代表点に相当する画素位置を中心とした所定画素範囲を探索領域とし、該探索領域内の各画素データについて、上記代表点の画素データ値との比較を行うことを特徴とする請求項10に記載の動きベクトル検出方法。
- 上記重心算出ステップでは、上記候補領域が複数存在する場合は、最大の候補領域を選択して、選択した候補領域について重心点を算出することを特徴とする請求項10に記載の動きベクトル検出方法。
- 上記代表点設定ステップでは、上記重心算出ステップで算出された重心点に対応する現在フレームの画素を、次のフレームに対する代表点とすることを特徴とする請求項10に記載の動きベクトル検出方法。
- 動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、
上記候補点が走査方向に連続する候補線分として、最大長となる候補線分を判定する線分判定ステップと、
上記線分判定ステップで最大線分と判定された候補線分の中点を算出する中点算出ステップと、
上記代表点を始点とし、上記中点を終点として動きベクトルを検出するベクトル検出ステップと、
を備えたことを特徴とする動きベクトル検出方法。 - 上記比較判定ステップでは、現在フレーム内で、上記代表点に相当する画素位置を中心とした所定画素範囲を探索領域とし、該探索領域内の各画素データについて、上記代表点の画素データ値との比較を行うことを特徴とする請求項14に記載の動きベクトル検出方法。
- 上記代表点設定ステップでは、上記中点算出ステップで算出された中点に対応する現在フレームの画素を、次のフレームに対する代表点とすることを特徴とする請求項14に記載の動きベクトル検出方法。
- 動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、
上記比較判定ステップで判定された候補点を記憶する記憶ステップと、
上記記憶ステップで記憶された候補点が空間的に連続した画素領域を候補領域とし、該候補領域の重心点を算出する重心算出ステップと、
上記代表点を始点とし、上記重心点を終点として動きベクトルを検出するベクトル検出ステップと、
を演算装置に実行させるプログラム。 - 動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、
上記候補点が走査方向に連続する候補線分として、最大長となる候補線分を判定する線分判定ステップと、
上記線分判定ステップで最大線分と判定された候補線分の中点を算出する中点算出ステップと、
上記代表点を始点とし、上記中点を終点として動きベクトルを検出するベクトル検出ステップと、
を演算装置に実行させるプログラム。 - 動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、
上記比較判定ステップで判定された候補点を記憶する記憶ステップと、
上記記憶ステップで記憶された候補点が空間的に連続した画素領域を候補領域とし、該候補領域の重心点を算出する重心算出ステップと、
上記代表点を始点とし、上記重心点を終点として動きベクトルを検出するベクトル検出ステップと、
を演算装置に実行させるプログラムを記録した記録媒体。 - 動画映像データの過去フレーム内の或る画素を代表点として設定する代表点設定ステップと、
現在フレームの画素データ値と、上記代表点の画素データ値を比較して、比較結果に基づいて上記代表点との対応が推定される候補点としての画素データを判定する比較判定ステップと、
上記候補点が走査方向に連続する候補線分として、最大長となる候補線分を判定する線分判定ステップと、
上記線分判定ステップで最大線分と判定された候補線分の中点を算出する中点算出ステップと、
上記代表点を始点とし、上記中点を終点として動きベクトルを検出するベクトル検出ステップと、
を演算装置に実行させるプログラムを記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003008377A JP4306256B2 (ja) | 2003-01-16 | 2003-01-16 | 動きベクトル検出装置、動きベクトル検出方法、プログラム、記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003008377A JP4306256B2 (ja) | 2003-01-16 | 2003-01-16 | 動きベクトル検出装置、動きベクトル検出方法、プログラム、記録媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004220419A true JP2004220419A (ja) | 2004-08-05 |
JP2004220419A5 JP2004220419A5 (ja) | 2006-02-09 |
JP4306256B2 JP4306256B2 (ja) | 2009-07-29 |
Family
ID=32898194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003008377A Expired - Fee Related JP4306256B2 (ja) | 2003-01-16 | 2003-01-16 | 動きベクトル検出装置、動きベクトル検出方法、プログラム、記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4306256B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100787954B1 (ko) | 2007-01-05 | 2007-12-24 | 한양대학교 산학협력단 | 십자형 다이아몬드 탐색을 이용한 블록 정합 방식의 고속움직임 추정 방법 및 그 방법을 실행하기 위한 프로그램이기록된 기록매체 |
JP2009099042A (ja) * | 2007-10-18 | 2009-05-07 | Maeda Jun | オブジェクト操作装置、及び、デジタル画像フレームデータからマーカを特定する方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0686149A (ja) * | 1992-08-31 | 1994-03-25 | Sony Corp | 動きベクトル検出装置及びビデオカメラ |
JPH07274178A (ja) * | 1994-03-31 | 1995-10-20 | Sony Corp | 動きベクトル検出装置 |
JPH07274180A (ja) * | 1994-03-31 | 1995-10-20 | Toshiba Corp | 映像信号符号化方法、映像信号復号方法、映像信号符号化装置及び映像信号復号装置 |
JPH0830495A (ja) * | 1994-07-15 | 1996-02-02 | Matsushita Electric Ind Co Ltd | ファイル管理システム |
JPH0863554A (ja) * | 1994-08-26 | 1996-03-08 | Fujitsu Ltd | ネオコグニトロン |
JPH08237536A (ja) * | 1995-02-28 | 1996-09-13 | Sanyo Electric Co Ltd | 被写体追尾装置および被写体追尾方法 |
JP2002329196A (ja) * | 2001-04-27 | 2002-11-15 | Ntt Power & Building Facilities Inc | 待ち時間検出システム |
-
2003
- 2003-01-16 JP JP2003008377A patent/JP4306256B2/ja not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0686149A (ja) * | 1992-08-31 | 1994-03-25 | Sony Corp | 動きベクトル検出装置及びビデオカメラ |
JPH07274178A (ja) * | 1994-03-31 | 1995-10-20 | Sony Corp | 動きベクトル検出装置 |
JPH07274180A (ja) * | 1994-03-31 | 1995-10-20 | Toshiba Corp | 映像信号符号化方法、映像信号復号方法、映像信号符号化装置及び映像信号復号装置 |
JPH0830495A (ja) * | 1994-07-15 | 1996-02-02 | Matsushita Electric Ind Co Ltd | ファイル管理システム |
JPH0863554A (ja) * | 1994-08-26 | 1996-03-08 | Fujitsu Ltd | ネオコグニトロン |
JPH08237536A (ja) * | 1995-02-28 | 1996-09-13 | Sanyo Electric Co Ltd | 被写体追尾装置および被写体追尾方法 |
JP2002329196A (ja) * | 2001-04-27 | 2002-11-15 | Ntt Power & Building Facilities Inc | 待ち時間検出システム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100787954B1 (ko) | 2007-01-05 | 2007-12-24 | 한양대학교 산학협력단 | 십자형 다이아몬드 탐색을 이용한 블록 정합 방식의 고속움직임 추정 방법 및 그 방법을 실행하기 위한 프로그램이기록된 기록매체 |
JP2009099042A (ja) * | 2007-10-18 | 2009-05-07 | Maeda Jun | オブジェクト操作装置、及び、デジタル画像フレームデータからマーカを特定する方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4306256B2 (ja) | 2009-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10681270B2 (en) | Electronic device for creating panoramic image or motion picture and method for the same | |
JP6673381B2 (ja) | 画像処理装置 | |
JP2013228896A (ja) | 画像処理装置、画像処理方法、プログラム | |
JP3149840B2 (ja) | 動きベクトル検出装置及び方法 | |
JP5087548B2 (ja) | 動きベクトル場リタイマー | |
JP2001197451A (ja) | 解像度変換装置及びこれを用いた装置 | |
JP2012222674A (ja) | 画像処理装置、画像処理方法、プログラム | |
US10764499B2 (en) | Motion blur detection | |
JP2006287632A (ja) | ノイズ低減装置およびノイズ低減方法 | |
WO2016043161A1 (ja) | 表示装置、表示システム、及び表示制御プログラム | |
US20050190985A1 (en) | Reduced complexity and blur technique for an electronic lighting system | |
JP2008046608A (ja) | ビデオウィンドウ検出器 | |
JP4306256B2 (ja) | 動きベクトル検出装置、動きベクトル検出方法、プログラム、記録媒体 | |
US9686470B2 (en) | Scene stability detection | |
JP2002312791A (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP2009070055A (ja) | ブロックマッチング回路及びデータ更新方法 | |
JP2006215657A (ja) | 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体 | |
US11176720B2 (en) | Computer program, image processing method, and image processing apparatus | |
JP2007129354A (ja) | 画像処理装置 | |
JP4763415B2 (ja) | 画像処理装置 | |
JP2000350233A (ja) | 動画像再生における静止画像処理方式および静止画像処理方法 | |
JP2001268431A (ja) | 補正画像生成装置,補正画像生成方法,補正画像生成用プログラム記録媒体および補正画像生成用プログラム | |
JPH07320092A (ja) | アニメーション生成方式 | |
JP2887122B2 (ja) | 画像データ処理装置及びそれを用いたシステム | |
JP4677799B2 (ja) | 画像処理装置及び画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051220 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051220 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090210 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090324 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090414 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090427 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130515 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |