(57)【要約】【課題】信頼性の高いフレーム画像全体の動きベクトルを検出可能な動きベクトル検出装置を提供する。【解決手段】ピーク検出器３１７では、基準値となる相対位置（水平方向動きベクトル）に対して比較対象となる相対位置を、マイナス側からプラス側に向けて順に移動して、その都度、両相対位置での垂直方向ブロックｎ値化データの大小を比較する。この場合、比較により大きいと判断された方の垂直方向ブロックｎ値化データを基準値に変更（または基準値として維持）し、次に比較対象となる相対位置との比較を行う。この処理を繰り返すことで、垂直方向ブロックｎ値化データの最大値Ｐｎ（ピーク値）を求める。【選択図】図１６
2008139936.tif 000002
【特許請求の範囲】
【請求項１】
時系列的に前後の関係となる前フレームと後フレームとに関するフレーム画像間の動きベクトルを検出する動きベクトル検出装置であって、
水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像に関して、前記フレーム画像における所定の画像領域について垂直方向のエッジを強調するエッジ強調手段と、
前記エッジ強調手段でエッジが強調された画像について垂直方向に射影をとり、１水平ライン分のデータ配列を有する射影データを生成する射影手段と、
前記前フレームに対して前記射影手段で得られた射影データに関して前記データ配列の要素順に配列要素の値をグラフ化した波形と、配列要素の値が所定の一定値となる直線とが交差する各交差点の配列要素の位置を特定する特定手段と、
前記各交差点の配列要素の位置を中心とした所定範囲のデータ配列を、前記後フレームに対して前記射影手段で得られた射影データから抽出する抽出手段と、
前記抽出手段で抽出された所定範囲のデータ配列それぞれについて、前記各交差点の配列要素の位置に対して相対位置が同じ配列要素同士の値を加算する加算手段と、
前記加算手段で加算された加算結果に基づき、前記フレーム画像の所定の画像領域についての水平方向動きベクトルを検出する検出手段と、を備え、
前記検出手段は、
前記加算手段から得られる各相対位置での前記加算結果に基づいて、前記フレーム画像の前記所定の画像領域に対して得られる前記水平方向動きベクトルの信頼性評価を行う、動きベクトル検出装置。
【請求項２】
前記検出手段は、
前記加算手段から得られる前記相対位置が同じ配列要素同士の前記加算結果の相対比較を行って前記加算結果の最大値を取得し、前記加算結果の前記最大値に基づいて、前記フレーム画像の前記所定の前記画像領域に対して得られる前記水平方向動きベクトルの信頼性評価を行う、請求項１記載の動きベクトル検出装置。
【請求項３】
前記検出手段は、
前記相対位置が同じ配列要素同士の前記加算結果を、前記相対位置に対してグラフ化した波形について山を特定し、当該山が複数ある場合には、前記加算結果の相対比較を行って、前記山のそれぞれを構成する前記加算結果の中から、前記山のそれぞれのピークとなる加算結果を特定して、前記山のそれぞれにおけるピーク値とし、複数の前記ピーク値の中から、最大となる値を第１のピーク値とするとともに、次に大きな値を第２のピーク値とし、
前記第１および第２のピーク値を比較し、前記第１のピーク値に、予め定めた第１の係数を掛けた値が、第２のピーク値以下である場合は、前記フレーム画像の前記所定の前記画像領域に対して得られる前記水平方向動きベクトルを無効として扱う、請求項２記載の動きベクトル検出装置。
【請求項４】
前記検出手段は、
前記加算結果の前記最大値が、予め定めた所定値以下の場合、前記フレーム画像の前記所定の前記画像領域に対して得られる前記水平方向動きベクトルを無効として扱う、請求項２記載の動きベクトル検出装置。
【請求項５】
前記エッジ強調手段は、
前記フレーム画像を垂直方向に分割して得られる複数の画像領域を、前記所定の画像領域として設定する手段と、
前記複数の画像領域それぞれについて垂直方向のエッジを強調する手段と、
を有する、請求項１記載の動きベクトル検出装置。
【請求項６】
前記エッジ強調手段は、
前記フレーム画像について垂直方向のエッジを強調する強調手段と、
前記強調手段でエッジが強調されたフレーム画像を垂直方向に分割して得られる複数の画像領域を、前記所定の画像領域として設定する手段と、
を有することを特徴とする、請求項１記載の動きベクトル検出装置。
【請求項７】
時系列的に前後の関係となる前フレームと後フレームとに関するフレーム画像間の動きベクトルを検出する動きベクトル検出装置であって、
水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像に関して、前記フレーム画像における所定の画像領域について水平方向のエッジを強調するエッジ強調手段と、
前記エッジ強調手段でエッジが強調された画像について水平方向に射影をとり、１垂直ライン分のデータ配列を有する射影データを生成する射影手段と、
前記前フレームに対して前記射影手段で得られた射影データに関して前記データ配列の要素順に配列要素の値をグラフ化した波形と、配列要素の値が所定の一定値となる直線とが交差する各交差点の配列要素の位置を特定する特定手段と、
前記各交差点の配列要素の位置を中心とした所定範囲のデータ配列を、前記後フレームに対して前記射影手段で得られた射影データから抽出する抽出手段と、
前記抽出手段で抽出された所定範囲のデータ配列それぞれについて、前記各交差点の配列要素の位置に対して相対位置が同じ配列要素同士の値を加算する加算手段と、
前記加算手段で加算された加算結果に基づき、前記フレーム画像の所定の画像領域についての垂直方向動きベクトルを検出する検出手段と、を備え、
前記検出手段は、
前記加算手段から得られる各相対位置での前記加算結果に基づいて、前記フレーム画像の前記所定の画像領域に対して得られる前記垂直方向動きベクトルの信頼性評価を行う、動きベクトル検出装置。
【請求項８】
前記検出手段は、
前記加算手段から得られる前記相対位置が同じ配列要素同士の前記加算結果の相対比較を行って前記加算結果の最大値を取得し、前記加算結果の前記最大値に基づいて、前記フレーム画像の前記所定の前記画像領域に対して得られる前記垂直方向動きベクトルの信頼性評価を行う、請求項７記載の動きベクトル検出装置。
【請求項９】
前記検出手段は、
前記相対位置が同じ配列要素同士の前記加算結果を、前記相対位置に対してグラフ化した波形について山を特定し、当該山が複数ある場合には、前記加算結果の相対比較を行って、前記山のそれぞれを構成する前記加算結果の中から、前記山のそれぞれのピークとなる加算結果を特定して、前記山のそれぞれにおけるピーク値とし、複数の前記ピーク値の中から、最大となる値を第１のピーク値とするとともに、次に大きな値を第２のピーク値とし、
前記第１および第２のピーク値を比較し、前記第１のピーク値に、予め定めた第１の係数を掛けた値が、第２のピーク値以下である場合は、前記フレーム画像の前記所定の前記画像領域に対して得られる前記垂直方向動きベクトルを無効として扱う、請求項８記載の動きベクトル検出装置。
【請求項１０】
前記検出手段は、
前記加算結果の前記最大値が、予め定めた所定値以下の場合、前記フレーム画像の前記所定の前記画像領域に対して得られる前記垂直方向動きベクトルを無効として扱う、請求項８記載の動きベクトル検出装置。
【請求項１１】
前記エッジ強調手段は、
前記フレーム画像を水平方向に分割して得られる複数の画像領域を、前記所定の画像領域として設定する手段と、
前記複数の画像領域それぞれについて水平方向のエッジを強調する手段と、
を有する、請求項７記載の動きベクトル検出装置。
【請求項１２】
前記エッジ強調手段は、
前記フレーム画像について水平方向のエッジを強調する強調手段と、
前記強調手段でエッジが強調されたフレーム画像を水平方向に分割して得られる複数の画像領域を、前記所定の画像領域として設定する手段と、
を有する、請求項７記載の動きベクトル検出装置。
【請求項１３】
前記検出手段は、
前記加算結果を、前記相対位置に対してグラフ化した前記波形について、基準値となる相対位置を決め、当該基準値となる相対位置に対して比較対象となる前記相対位置を順次移動させ、前記基準値となる相対位置での前記加算結果よりも大きな前記加算結果が発見された場合は、前記基準値を前記比較対象となる前記相対位置に変更する処理を繰り返すことで前記山のそれぞれにおける前記ピーク値を取得する、請求項３または請求項９記載の動きベクトル検出装置。
【請求項１４】
前記検出手段は、
前記山のそれぞれにおける前記ピーク値に対して、前記比較対象となる前記相対位置での前記加算結果が、前記ピーク値に予め定めた第２の係数を掛けた値よりも小さな値である場合は、当該比較対象となる前記相対位置を複数の前記山うち、１つの山の終わりと規定するとともに、次の山の始まりとして規定することで、前記山を特定する、請求項１３記載の動きベクトル検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列的に前後の関係となる前フレームと後フレームとに関するフレーム画像間の動きベクトルを検出する動きベクトル検出装置に関するものである。
【背景技術】
【０００２】
従来の動きベクトル検出技術としては、特許文献１に記載のように、画像を複数のブロックに分割し、ブロックごとにエッジを検出し、エッジの移動を追うことにより、動きベクトルを検出する方法がある。この方法では、空などのように、空間周波数が低く特徴的な絵柄のない場合や、格子戸のように、空間周波数が高く、特徴点が多数存在する場合の誤判定を軽減するために、１ブロックあたりのエッジ数で重み付けを行い、信頼性を評価している。また、エッジ検出の方法としては、ゼロクロッシング法などが使用されている。
【０００３】
【特許文献１】特許第３１６４１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された動きベクトル検出方法は、ブロックごとに算出された動きベクトルの信頼性を、ブロックごとのエッジ数で重み付けすることにより、誤判定を軽減しているが、検出条件によっては、エッジ数だけで動きベクトルの信頼性を評価することが難しいという問題がある。
【０００５】
例えば、同じ周期性画像でも、その周期と動き検出範囲との関係によって、算出される動きベクトルの信頼性に差が生じる。周期に比べ、動き検出範囲が小さい場合には、信頼性のある動きベクトルを算出することが容易と考えられるが、周期に比べ、動き検出範囲が大きい場合には、信頼性のある動きベクトルを算出することが難しいと言える。また、撮影対象の一部に異なる動きがある場合にも、その動きの程度により、算出される動きベクトルの信頼性に差が生じる。つまり、一部の動きが小さい場合には、その動きに惑わされることなく撮影対象全体の動きを正しく検出可能であるが、一部の動きが大きい場合には、その動きにつられて撮像対象全体の動きを正確に検出することはできない。
【０００６】
本発明は上記のような問題点を解消するためになされたもので、信頼性の高いフレーム画像全体の動きベクトルを検出可能な動きベクトル検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る動きベクトル検出装置の第１の態様は、時系列的に前後の関係となる前フレームと後フレームとに関するフレーム画像間の動きベクトルを検出する動きベクトル検出装置であって、水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像に関して、前記フレーム画像における所定の画像領域について垂直方向のエッジを強調するエッジ強調手段と、前記エッジ強調手段でエッジが強調された画像について垂直方向に射影をとり、１水平ライン分のデータ配列を有する射影データを生成する射影手段と、前記前フレームに対して前記射影手段で得られた射影データに関して前記データ配列の要素順に配列要素の値をグラフ化した波形と、配列要素の値が所定の一定値となる直線とが交差する各交差点の配列要素の位置を特定する特定手段と、前記各交差点の配列要素の位置を中心とした所定範囲のデータ配列を、前記後フレームに対して前記射影手段で得られた射影データから抽出する抽出手段と、前記抽出手段で抽出された所定範囲のデータ配列それぞれについて、前記各交差点の配列要素の位置に対して相対位置が同じ配列要素同士の値を加算する加算手段と、前記加算手段で加算された加算結果に基づき、前記フレーム画像の所定の画像領域についての水平方向動きベクトルを検出する検出手段と、を備え、前記検出手段は、前記加算手段から得られる各相対位置での前記加算結果に基づいて、前記フレーム画像の前記所定の画像領域に対して得られる前記水平方向動きベクトルの信頼性評価を行う。
【０００８】
本発明に係る動きベクトル検出装置の第２の態様は、時系列的に前後の関係となる前フレームと後フレームとに関するフレーム画像間の動きベクトルを検出する動きベクトル検出装置であって、水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像に関して、前記フレーム画像における所定の画像領域について水平方向のエッジを強調するエッジ強調手段と、前記エッジ強調手段でエッジが強調された画像について水平方向に射影をとり、１垂直ライン分のデータ配列を有する射影データを生成する射影手段と、前記前フレームに対して前記射影手段で得られた射影データに関して前記データ配列の要素順に配列要素の値をグラフ化した波形と、配列要素の値が所定の一定値となる直線とが交差する各交差点の配列要素の位置を特定する特定手段と、前記各交差点の配列要素の位置を中心とした所定範囲のデータ配列を、前記後フレームに対して前記射影手段で得られた射影データから抽出する抽出手段と、前記抽出手段で抽出された所定範囲のデータ配列それぞれについて、前記各交差点の配列要素の位置に対して相対位置が同じ配列要素同士の値を加算する加算手段と、前記加算手段で加算された加算結果に基づき、前記フレーム画像の所定の画像領域についての垂直方向動きベクトルを検出する検出手段と、を備え、前記検出手段は、前記加算手段から得られる各相対位置での前記加算結果に基づいて、前記フレーム画像の前記所定の画像領域に対して得られる前記垂直方向動きベクトルの信頼性評価を行う。
【発明の効果】
【０００９】
本発明に係る動きベクトル検出装置の第１の態様によれば、検出手段において、加算手段から得られる各相対位置での加算結果に基づいて、フレーム画像の所定の画像領域に対して得られる水平方向動きベクトルの信頼性評価を行うので、信頼性の低いブロックから得られた水平方向動きベクトルを除外することで、結果的に、信頼性の高いフレーム画像全体の水平方向動きベクトルを算出することができる。
【００１０】
本発明に係る動きベクトル検出装置の第２の態様によれば、検出手段において、加算手段から得られる各相対位置での加算結果に基づいて、フレーム画像の所定の画像領域に対して得られる垂直方向動きベクトルの信頼性評価を行うので、信頼性の低いブロックから得られた垂直方向動きベクトルを除外することで、結果的に、信頼性の高いフレーム画像全体の垂直方向動きベクトルを算出することができる。
【発明を実施するための最良の形態】
【００１１】
＜実施の形態１＞
＜動きベクトル検出装置の構成＞
図１は、本発明の実施の形態１に係る動きベクトル検出装置１の要部構成を示すブロック図である。
【００１２】
動きベクトル検出装置１は、例えば動画像において画面内の被写体の動きを表す画像動きベクトルを検出するものであり、時系列的に前後の関係となる前フレームと後フレームとに関するフレーム画像間の動きベクトルが検出される。この動きベクトル検出装置１で検出された動きベクトルはビデオカメラの手振れ補正などに利用される。なお、動きベクトル検出装置１に入力されるフレーム画像は、図２に示すように水平方向の画素走査および垂直方向のライン走査を行うことによって読み出されるものとする。
【００１３】
動きベクトル検出装置１は、入力端子１１と、水平方向動きベクトル検出部２および垂直方向動きベクトル検出部４と、２つの出力端子１２、１３とを備えている。この水平方向動きベクトル検出部２および垂直方向動きベクトル検出部４については、その機能が例えばマイクロプロセッサによってソフトウェア的に実現されても良く、また大半をハードウェア（一部をソフトウェア）で実現するようにしても良い。もちろん、全機能をハードウェアで実現しても良いことは言うまでもない。
【００１４】
入力端子１１には、例えばビデオカメラ内の撮像素子で取得された画像（動画像）データやビデオ信号などの画像データが入力される。入力端子１１に入力された画像データは、水平方向動きベクトル検出部２において水平方向の動きベクトルが検出され、その検出された水平方向動きベクトルが出力端子１２から出力される。
【００１５】
一方、垂直方向動きベクトル検出部４では、入力端子１１に入力された画像データについて垂直方向の動きベクトルが検出される。この垂直方向動きベクトル検出部４で検出された垂直方向動きベクトルは、出力端子１３から出力される。
【００１６】
以下では、水平方向動きベクトル検出部２と垂直方向動きベクトル検出部４との構成を順に説明する。
【００１７】
図３は、水平方向動きベクトル検出部２の要部構成を示すブロック図である。
水平方向動きベクトル検出部２は、入力端子２０と、垂直方向画像分割部２１と、垂直方向エッジ抽出フィルタリング部２２と、垂直方向ブロック射影部２３と、第１の垂直方向ブロック射影データ最大値保存部２４と、ビット数削減部２５と、第１の垂直方向ブロック射影ラインメモリ２６とを備えている。また、水平方向動きベクトル検出部２は、第２の垂直方向ブロック射影ラインメモリ２７と、第２の垂直方向ブロック射影データ最大値保存部２８と、第１の閾値交差点探索部２９と、垂直方向ブロック射影データ読み出し部３０と、垂直方向ブロック水平方向動きベクトル算出部３１と、水平方向動きベクトル決定部３２と、出力端子３３とを備えている。以上の水平方向動きベクトル検出部２の各部位について、その機能を簡単に説明する（具体的な動作は後で詳述する）。
【００１８】
垂直方向画像分割部２１は、入力端子２０に入力されたフレーム画像を垂直方向に分割し、垂直方向に分割したブロック（以下では「垂直方向ブロック」とも称する）を出力する。
【００１９】
垂直方向エッジ抽出フィルタリング部２２は、垂直方向画像分割部２１で分割されたブロックごとにエッジ抽出を行うためのフィルタリング処理を行う。
【００２０】
垂直方向ブロック射影部２３は、垂直方向エッジ抽出フィルタリング部２２から出力されるエッジ強調済みの垂直方向ブロックについて垂直方向に射影をとり、垂直方向ブロックごとに射影データを出力する。
【００２１】
第１の垂直方向ブロック射影データ最大値保存部２４は、垂直方向ブロック射影部２３から出力された現フレームの垂直方向ブロックの射影データにおける最大値（以下では「現フレームの垂直方向ブロック射影データ最大値」または「第１の垂直方向ブロック射影データ最大値」とも言う）を保存する。また、第１の垂直方向ブロック射影データ最大値保存部２４は、第１の垂直方向ブロック射影データ最大値に基づき、後述する第２の閾値を算出する。
【００２２】
ビット数削減部２５は、第１の垂直方向ブロック射影データ最大値保存部２４に保存された第１の垂直方向ブロック射影データ最大値に基づき、垂直方向ブロック射影部２３から出力された垂直方向ブロックの射影データのビット数を削減する。ビット数を削減された垂直方向ブロックの射影データを「第１の垂直方向ブロック射影データ」と称する。
【００２３】
第１の垂直方向ブロック射影ラインメモリ２６は、ビット数削減部２５でビット数が削減された第１の垂直方向ブロック射影データを保存する。
【００２４】
第２の垂直方向ブロック射影ラインメモリ２７は、第１の垂直方向ブロック射影ラインメモリ２６から送られた垂直方向ブロック射影データを、前フレームの垂直方向ブロックの射影データ（以下では「第２の垂直方向ブロック射影データ」とも言う）として保存する。
【００２５】
第２の垂直方向ブロック射影データ最大値保存部２８は、第１の垂直方向ブロック射影データ最大値保存部２４から出力された第１の垂直方向ブロック射影データ最大値を、前フレームに関する「第２の垂直方向ブロック射影データ最大値」（「前フレームの垂直方向ブロック射影データ最大値」とも言う）として保存する。また、第２の垂直方向ブロック射影データ最大値保存部２８は、第２の垂直方向ブロック射影データ最大値に基づき、後述する第１の閾値を算出する。
【００２６】
第１の閾値交差点探索部２９は、第２の垂直方向ブロック射影ラインメモリ２７に保存される前フレームに係る第２の垂直方向ブロック射影データの波形と、第２の垂直方向ブロック射影データ最大値保存部２８で算出された第１の閾値とが交差する点を求め、この交差点（以下では「第１の閾値交差点」とも言う）の情報を出力する。
【００２７】
垂直方向ブロック射影データ読み出し部３０は、第１の閾値交差点探索部２９で求められた第１の閾値交差点を中心に、その前後の所定範囲（動きベクトル検出範囲）内にある第１の垂直方向ブロック射影データを、第１の垂直方向ブロック射影ラインメモリ２６から読み出す。
【００２８】
垂直方向ブロック水平方向動きベクトル算出部３１は、第１の垂直方向ブロック射影データ最大値保存部２４から出力される第２の閾値を用い、垂直方向ブロック射影データ読み出し部３０で読み出された第１の垂直方向ブロック射影データそれぞれをｎ値化（ｎは２以上の整数）してビット数の削減を行うとともに、ｎ値化された射影データを第１の閾値交差点からの距離ごとに加算する。
【００２９】
水平方向動きベクトル決定部３２は、垂直方向ブロック水平方向動きベクトル算出部３１からの出力に基づき画像の水平方向動きベクトルを決定する。ここで決定された画像の水平方向動きベクトルは出力端子３３から出力される。
【００３０】
図４は、垂直方向ブロック射影部２３の要部構成を示すブロック図である。
垂直方向ブロック射影部２３は、入力端子２３１と、１水平ラインずつデータ加算を行う加算器２３２と、加算器２３２で加算されたデータを逐次保存するバッファメモリとしての垂直方向射影一時記憶メモリ２３３と、出力端子２３４とを備えている。
【００３１】
入力端子２３１には、垂直方向エッジ抽出フィルタリング部２２で垂直方向のエッジが強調された画像が垂直方向ブロックごとに入力される。入力端子２３１に入力された画像は、垂直方向ブロックごとに加算器２３２および垂直方向射影一時記憶メモリ２３３によって垂直方向に射影がとられる。具体的には、加算器２３２において垂直方向ブロックの１水平ライン分のデータと、垂直方向射影一時メモリ２３３から読み出された１水平ライン分のデータとが加算され、加算結果が垂直方向射影一時記憶メモリ２３３に再び戻されて記憶される。このような加算動作が繰り返されることにより垂直方向ブロックにおける全ての水平ラインの加算が終了すると、全水平ラインの加算データ、つまり垂直方向の射影データが出力端子２３４から出力されることとなる。
【００３２】
図５は、垂直方向ブロック水平方向動きベクトル算出部３１の要部構成を示すブロック図である。
【００３３】
垂直方向ブロック水平方向動きベクトル算出部３１は、３つの入力端子３１１〜３１３と、ｎ値化器３１４と、ｎ値化器３１４でｎ値化された第１の垂直方向ブロック射影データの加算を行う加算器３１５と、加算器３１５で加算されたデータを逐次保存するバッファメモリとしての水平方向動きベクトル加算メモリ３１６と、ピーク検出器３１７と、出力端子３１８とを備えている。
【００３４】
入力端子３１１には、垂直方向ブロック射影データ読み出し部３０から出力された第１の垂直方向ブロック射影データが入力され、入力端子３１２には、第１の垂直方向ブロック射影データ最大値保存部２４から出力された第２の閾値が入力される。また、入力端子３１３には、第１の閾値交差点探索部２９から出力された第１の閾値交差点の情報が入力される。
【００３５】
ｎ値化器３１４は、入力端子３１１から入力された第１の垂直方向ブロック射影データを、入力端子３１２から入力される第２の閾値に基づいてｎ値化（例えば３値化）する。
【００３６】
加算器３１５は、ｎ値化器３１４でｎ値化された第１の垂直方向ブロック射影データと、水平方向動きベクトル加算メモリ３１６から読み出されたデータとを第１の閾値交差点を中心として加算し、加算結果を水平方向動きベクトル加算メモリ３１６に再び記憶させる。このような加算動作が繰り返されることにより垂直方向ブロックに関する全ての第１の閾値交差点についての加算が終了すると、垂直方向ブロックに関する加算データがピーク検出器３１７に出力される。
【００３７】
ピーク検出器３１７は、加算器３１５から出力された加算データにおけるピーク位置（後述する水平方向動きベクトル）とピーク値とを検出する。このピーク検出器３１７で検出されたピーク位置は、出力端子３１８を介して水平方向動きベクトル決定部３２に入力される。
【００３８】
次に、垂直方向動きベクトル検出部４の構成を説明する。
図６は、垂直方向動きベクトル検出部４の要部構成を示すブロック図である。
【００３９】
垂直方向動きベクトル検出部４は、入力端子４０と、水平方向画像分割部４１と、水平方向エッジ抽出フィルタリング部４２と、水平方向ブロック射影部４３と、第１の水平方向ブロック射影ラインメモリ４４と、第１の水平方向ブロック射影データ最大値保存部４５とを備えている。また、垂直方向動きベクトル検出部４は、第２の水平方向ブロック射影ラインメモリ４６と、第２の水平方向ブロック射影データ最大値保存部４７と、第３の閾値交差点探索部４８と、水平方向ブロック射影データ読み出し部４９と、水平方向ブロック垂直方向動きベクトル算出部５０と、垂直方向動きベクトル決定部５１と、出力端子５２とを備えている。以上の垂直方向動きベクトル検出部４の各部位について、その機能を簡単に説明する（具体的な動作は後で詳述する）。
【００４０】
水平方向画像分割部４１は、入力端子４０に入力されたフレーム画像を水平方向に分割し、水平方向に分割したブロック（以下では「水平方向ブロック」とも称する）を出力する。
【００４１】
水平方向エッジ抽出フィルタリング部４２は、水平方向画像分割部４１で分割されたブロックごとにエッジ抽出を行うためのフィルタリング処理を行う。
【００４２】
水平方向ブロック射影部４３は、水平方向エッジ抽出フィルタリング部４２から出力されるエッジ強調済みの水平方向ブロックについて水平方向に射影をとり、水平方向ブロックごとに射影データを出力する。
【００４３】
第１の水平方向ブロック射影ラインメモリ４４は、水平方向ブロック射影部４３から出力された水平方向ブロックの射影データを、現フレームの水平方向ブロック射影データ（以下では「第１の水平方向ブロック射影データ」とも言う）として保存する。
【００４４】
第１の水平方向ブロック射影データ最大値保存部４５は、水平方向ブロック射影部４３から出力された現フレームの水平方向ブロックの射影データの最大値（以下では「現フレームの水平方向ブロック射影データ最大値」または「第１の水平方向ブロック射影データ最大値」とも言う）を保存する。
【００４５】
第２の水平方向ブロック射影ラインメモリ４６は、第１の水平方向ブロック射影ラインメモリ４４から送られた水平方向ブロック射影データを、前フレームの水平方向ブロックの射影データ（以下では「第２の水平方向ブロック射影データ」とも言う）として保存する。
【００４６】
第２の水平方向ブロック射影データ最大値保存部４７は、第１の水平方向ブロック射影データ最大値保存部４５から出力された第１の水平方向ブロック射影データ最大値を、前フレームに関する「第２の水平方向ブロック射影データ最大値」（「前フレームの水平方向ブロック射影データ最大値」とも言う）として保存する。また、第２の水平方向ブロック射影データ最大値保存部４７は、第２の水平方向ブロック射影データ最大値に基づき、後述する第３の閾値および第４の閾値を算出する。
【００４７】
第３の閾値交差点探索部４８は、第２の水平方向ブロック射影ラインメモリ４６に保存される前フレームに係る第２の水平方向ブロック射影データと、第２の水平方向ブロック射影データ最大値保存部４７で算出された第３の閾値とが交差する点を求め、この交差点（以下では「第３の閾値交差点」とも言う）の情報を出力する。
【００４８】
水平方向ブロック射影データ読み出し部４９は、第３の閾値交差点探索部４８で求められた第３の閾値交差点を中心に、その前後の所定範囲（動きベクトル検出範囲）内にある第１の水平方向ブロック射影データを、第１の水平方向ブロック射影ラインメモリ４４から読み出す。
【００４９】
水平方向ブロック垂直方向動きベクトル算出部５０は、第２の水平方向ブロック射影データ最大値保存部４７から出力される第４の閾値を用い、水平方向ブロック射影データ読み出し部４９で読み出された第１の水平方向ブロック射影データそれぞれをｎ値化（ｎは２以上の整数）してビット数の削減を行うとともに、ｎ値化された射影データを第３の閾値交差点からの距離ごとに加算する。
【００５０】
垂直方向動きベクトル決定部５１は、水平方向ブロック垂直方向動きベクトル算出部５０からの出力に基づき画像の垂直方向動きベクトルを決定する。ここで決定された画像の垂直方向動きベクトルは出力端子５２から出力される。
【００５１】
図７は、水平方向ブロック射影部４３の要部構成を示すブロック図である。
水平方向ブロック射影部４３は、入力端子４３１と、水平方向ブロックの１水平ラインデータの加算を行う加算器４３２と、加算器４３２で加算されたデータを逐次保存するバッファメモリとしての水平方向射影一時記憶メモリ４３３と、出力端子４３４とを備えている。
【００５２】
入力端子４３１には、水平方向エッジ抽出フィルタリング部４２で水平方向のエッジが強調された画像が入力される。入力端子４３１に入力された画像は、水平方向ブロックごとに加算器４３２および水平方向射影一時記憶メモリ４３３によって水平方向に射影がとられる。具体的には、水平方向ブロック内の１水平ラインの画素について、入力端子４３１から入力された画素と、前画素までに加算器４３２で加算され水平方向射影一時記憶メモリ４３３に記憶された加算結果を、加算器４３２で加算し、その加算結果を再び水平方向射影一時記憶メモリ４３３に戻し記憶する。このような加算動作が繰り返されることにより水平方向ブロックにおける１水平ラインの加算が終了すると、その水平方向ブロックの１水平ラインの全画素の加算データ、つまり水平方向の射影データが出力端子４３４から出力されることとなる。以下、同様にして、次の水平方向ブロックの水平方向の射影データが処理され、１水平ラインについて全ての水平方向ブロックの処理が終了すると、次の１水平ラインの処理がなされる。
【００５３】
図８は、水平方向ブロック垂直方向動きベクトル算出部５０の要部構成を示すブロック図である。
【００５４】
水平方向ブロック垂直方向動きベクトル算出部５０は、３つの入力端子５０１〜５０３と、ｎ値化器５０４と、ｎ値化器５０４でｎ値化された第１の水平方向ブロック射影データの加算を行う加算器５０５と、加算器５０５で加算されたデータを逐次保存するバッファメモリとしての垂直方向動きベクトル加算メモリ５０６と、ピーク検出器５０７と、出力端子５０８とを備えている。
【００５５】
入力端子５０１には、水平方向ブロック射影データ読み出し部４９から出力された第１の水平方向ブロック射影データが入力され、入力端子５０２には、第２の水平方向ブロック射影データ最大値保存部４７から出力された第４の閾値が入力される。また、入力端子５０３には、第３の閾値交差点探索部４８から出力された第３の閾値交差点の情報が入力される。
【００５６】
ｎ値化器５０４は、入力端子５０１から入力された第１の水平方向ブロック射影データを、入力端子５０２から入力される第４の閾値に基づいてｎ値化（例えば３値化）する。
【００５７】
加算器５０５は、ｎ値化器５０４でｎ値化された第１の水平方向ブロック射影データと、垂直方向動きベクトル加算メモリ５０６から読み出されたデータとを第３の閾値交差点を中心として加算し、加算結果を垂直方向動きベクトル加算メモリ５０６に再び記憶させる。このような加算動作が繰り返されることにより水平方向ブロックに関する全ての第３の閾値交差点についての加算が終了すると、水平方向ブロックに関する加算データがピーク検出器５０７に出力される。
【００５８】
ピーク検出器５０７は、加算器５０５から出力された加算データにおけるピーク位置（後述する垂直方向動きベクトル）とピーク値とを検出する。このピーク検出器５０７で検出されたピーク位置は、出力端子５０８を介して垂直方向動きベクトル決定部５１に入力される。
【００５９】
以上のような構成を有する動きベクトル検出装置１の動作について、以下で説明する。
【００６０】
＜動きベクトル検出装置１の動作＞
＜水平方向動きベクトル検出部２の動作＞
まず、動きベクトル検出装置１において画像の水平方向の動きベクトルを検出する水平方向動きベクトル検出部２の動作を説明する。
【００６１】
図２のように水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像が、図３に示す水平方向動きベクトル検出部２の入力端子２０に入力されると、垂直方向画像分割部２１で垂直方向にブロック分割される。すなわち、垂直方向画像分割部２１においては、フレーム画像において垂直方向に分割して得られる複数の画像領域（垂直方向ブロック）が設定される。これにより、以降の処理では、垂直方向ブロックごとに処理および管理が行われることとなる。
【００６２】
垂直方向画像分割部２１では、例えば図９（ａ）に示すように６４０画素×４８０画素の画像データが、垂直方向に６４画素の幅（分割幅）を有した７個の垂直方向ブロックｖｂ０〜ｖｂ６に分割される。なお、垂直方向の最下段の画像データｖｂ７は水平方向動きベクトルの検出において利用されないこととなるが、フレーム画像の大部分を占める７つの垂直方向ブロックｖｂ０〜ｖｂ６が水平方向動きベクトルの検出に使用されるため、検出精度の面で特に問題はないと考えられる。ここで、図９（ａ）に示す分割幅および分割数とするのは必須でない。
【００６３】
垂直方向画像分割部２１で図９（ａ）のように７個の垂直方向ブロックｖｂ０〜ｖｂ６に分割された画像は、垂直方向エッジ抽出フィルタリング部２２において垂直方向に延びるエッジ成分の抽出、換言すれば水平方向に急峻に変化する画像部分を強調するようなフィルタリング処理が施される。
【００６４】
このフィルタリング処理で用いられるフィルタとしては、単純に水平方向に隣接する画素との差分を取る（１,−１）の２タップフィルタや、２次微分に相当する（−１,２,−１）の３タップフィルタなどの使用が可能である。なお、このようなフィルタを使用するのは必須でなく、水平方向に輝度変化が大きくなる画像部分において出力値が上昇するフィルタであれば良い。
【００６５】
垂直方向エッジ抽出フィルタリング部２２で各垂直方向ブロック（画像領域）ｖｂ０〜ｖｂ６ごとに垂直方向のエッジが強調された画像データは、垂直方向ブロック射影部２３に入力され、垂直方向ブロック射影部２３で垂直方向に射影される。この射影により、垂直方向の（ライン間で）ノイズ成分を低減でき、また垂直方向のエッジ成分をより強調できるため、特徴点に対応する垂直方向エッジを際立たせて動きベクトル検出精度の向上を図れることとなる。垂直方向ブロック射影部２３の動作について、図９（ｂ）の概念図を参照しつつ説明する。
【００６６】
垂直方向ブロック射影部２３では、図９（ａ）に示す各垂直方向ブロックｖｂ０〜ｖｂ６の入力が完了した時点、つまりエッジ強調された各垂直方向ブロックｖｂ０〜ｖｂ６における最終ラインの最終画素が入力された時点で、１水平ライン分のデータ配列Ｍｖを有する垂直方向ブロック射影データｖｎ０〜ｖｎ６（図９（ｂ））それぞれの全配列要素が生成される。なお、データ配列Ｍｖは、水平ラインの全画素数（例えば６４０）の配列要素を有しているが、（１，−１）のような２タップフィルタでは有効要素が水平ラインの全画素数−１（例えば６３９）、（−１，２，−１）のような３タップフィルタでは有効要素が水平ラインの全画素数−２（例えば６３８）となる。
【００６７】
具体的には、図４に示すように入力端子２３１を介して入力された各垂直方向ブロックｖｂ０〜ｖｂ６の画像データ（垂直方向のエッジ強調が施された画像データ）が、順次に加算器２３２に入力される。
【００６８】
加算器２３２では、まず入力された垂直方向ブロックの先頭の水平ラインが、垂直方向射影一時記憶メモリ２３３内のデータを読み出すことなく、垂直方向射影一時記憶メモリ２３３に書き込まれる。次に、加算器２３２では、垂直方向射影一時記憶メモリ２３３に記憶されている前ラインまでの加算結果を読み出し、入力端子２３１から入力される垂直方向ブロックの水平１ラインとの加算を行って、その加算結果を垂直方向射影一時記憶メモリ２３３に書き戻す。
【００６９】
そして、垂直方向ブロックにおける最終の水平ラインが加算器２３２に入力されると、垂直方向射影一時記憶メモリ２３３に保存された前ラインまでの加算結果を読み出し、入力端子２３１から入力される垂直方向ブロックの最終ラインとの加算を行って、その加算結果、つまり垂直方向ブロックの全ての水平ラインが加算されたデータを垂直方向ブロックの射影データとして、出力端子２３４から第１の垂直方向ブロック射影データ最大値保存部２４とビット数削減部２５とに出力する。
【００７０】
なお、加算器２３２において垂直方向ブロックの全水平ラインが加算された射影データを垂直方向射影一時記憶メモリ２３３に一旦記憶させ、次の垂直方向ブロックの先頭ラインが入力される際に、垂直方向射影一時記憶メモリ２３３内の射影データを読み出して出力端子２３４から出力するようにしても良い。
【００７１】
第１の垂直方向ブロック射影データ最大値保存部２４では、垂直方向ブロック射影部２３から出力された垂直方向ブロックの射影データに関する最大値を算出し、第１の垂直方向ブロック射影データ最大値（現フレームの垂直方向ブロック射影データ最大値）として保存する。すなわち、第１の垂直方向ブロック射影データ最大値保存部２４は、現フレーム（後フレーム）の射影データに関するデータ配列Ｍｖ（図９（ｂ））の配列要素において最大値を求め、この最大値を記憶する。
【００７２】
また、第１の垂直方向ブロック射影データ最大値保存部２４では、算出された現フレームの垂直方向ブロック射影データ最大値に基づき、第２の閾値を算出する。例えば、現フレームの垂直方向ブロック射影データ最大値をＰ１mａxとすると、第２の閾値α２は次の式（１）で算出される。
【００７３】
α２＝Ｐ１mａx×ｋ１・・・・・・・・（１）
【００７４】
ここで、ｋ１は予め定められた係数で、０＜ｋ１＜１である。
【００７５】
なお、第２の閾値α２の演算は、上式（１）に限るものではなく、現フレームの垂直方向ブロック射影データ最大値Ｐ１mａxが大きくなれば第２の閾値α２が大きくなるものであれば良く、また変換テーブルを使用しても良い。
【００７６】
ビット数削減部２５では、第１の垂直方向ブロック射影データ最大値保存部２４から入力された現フレームの垂直方向ブロック射影データ最大値（第１の垂直方向ブロック射影データ最大値）に基づき射影データの有効ビットレンジを決定する。そして、この有効ビットレンジに基づき設定される上位無効ビットおよび下位無効ビットを垂直方向ブロック射影部２３から入力された垂直方向ブロック射影データから削減し、有効ビットのみで構成される現フレームの垂直方向ブロック射影データを第１の垂直方向ブロック射影ラインメモリ２６に出力する。
【００７７】
第１の垂直方向ブロック射影ラインメモリ２６は、ビット数削減部２５によってビット数が低減された現フレームの垂直方向ブロック射影データを、第１の垂直方向ブロック射影データとして垂直方向ブロックごとに保存する。すなわち、第１の垂直方向ブロック射影ラインメモリ２６には、第１の垂直方向ブロック射影データ最大値保存部２４で求められた第１の垂直方向ブロック射影データ最大値に基づきビット数削減部２５においてビット数（各配列要素のデータ長）が削減された現フレーム（後フレーム）の射影データが記憶される。
【００７８】
第１の垂直方向ブロック射影ラインメモリ２６は、現フレームに関する新たな第１の垂直方向ブロック射影データが入力されるタイミングで、前フレームの垂直方向ブロック射影データを読み出し、第２の垂直方向ブロック射影ラインメモリ２７に与える。第２の垂直方向ブロック射影ラインメモリ２７は、第１の垂直方向ブロック射影ラインメモリ２６から読み出された前フレームの垂直方向ブロック射影データを、第２の垂直方向ブロック射影データとして保存する。
【００７９】
同様に、第１の垂直方向ブロック射影データ最大値保存部２４は、現フレームに関する新たな第１の垂直方向ブロック射影データ最大値が更新されるタイミングで、既に保存されている第１の垂直方向ブロック射影データ最大値を読み出し、第２の垂直方向ブロック射影データ最大値保存部２８に与える。第２の垂直方向ブロック射影データ最大値保存部２８では、第１の垂直方向ブロック射影データ最大値保存部２４から読み出された第１の垂直方向ブロック射影データ最大値が、前フレームに関する第２の垂直方向ブロック射影データ最大値（前フレームの垂直方向ブロック射影データ最大値）として保存される。
【００８０】
換言すれば、第１の垂直方向ブロック射影データ最大値保存部２４に保存された現フレームの垂直方向ブロック射影データ最大値は、次のフレームでは、第２の垂直方向ブロック射影データ最大値保存部２８に前フレームの垂直方向ブロック射影データ最大値として保存されることとなる。
【００８１】
第２の垂直方向ブロック射影データ最大値保存部２８は、前フレームに関する第２の垂直方向ブロック射影データ最大値に基づき、第１の閾値（所定の一定値）が設定される。例えば、前フレームの垂直方向ブロック射影データ最大値をＰ２mａxとすると、第１の閾値α１は次の式（２）で算出される。
【００８２】
α１＝Ｐ２mａx×ｋ２・・・・・・・・（２）
【００８３】
ここで、ｋ２は予め定められた係数で、０＜ｋ２＜１である。
【００８４】
なお、第１の閾値α１の演算は、上式（２）に限るものではなく、前フレームの垂直方向ブロック射影データ最大値Ｐ２mａxが大きくなれば第１の閾値α１が大きくなるものであれば良く、また変換テーブルを使用しても良い。
【００８５】
第１の閾値交差点探索部２９では、第２の垂直方向ブロック射影ラインメモリ２７から読み出された第２の垂直方向ブロック射影データと、第２の垂直方向ブロック射影データ最大値保存部２８から出力された第１の閾値との交差点（第１の閾値交差点）を水平方向に探索する。この第１の閾値交差点探索部２９で得られた第１の閾値交差点の情報は、垂直方向ブロック射影データ読み出し部３０と垂直方向ブロック水平方向動きベクトル算出部３１とに出力される。
【００８６】
垂直方向ブロック射影データ読み出し部３０は、第１の閾値交差点探索部２９から出力された第１の閾値交差点を中心とした動きベクトル検出範囲に対応した現フレームの（第１の）垂直方向ブロック射影データを第１の垂直方向ブロック射影ラインメモリ２６から読み出す。すなわち、第１の閾値交差点をＡ（ｉ）（ただしｉ＝１,２,・・・ｐで、ｐは検出された第１の閾値交差点の総数）とし、動きベクトル検出範囲を第１の閾値交差点を中心とした（−Ｖ）から（＋Ｖ）（ただしＶは正の整数）の範囲とすると、第１の垂直方向ブロック射影ラインメモリ２６から読み出される射影データは、水平方向において（Ａ（ｉ）−Ｖ）から（Ａ（ｉ）＋Ｖ）までの範囲にある第１の垂直方向ブロック射影データの部分データとなる。
【００８７】
この垂直方向ブロック射影データ読み出し部３０によって第１の垂直方向ブロック射影ラインメモリ２６から読み出された第１の垂直方向ブロック射影データは、垂直方向ブロック水平方向動きベクトル算出部３１に出力される。
【００８８】
垂直方向ブロック射影データ読み出し部３０から出力された第１の垂直方向ブロック射影データは、図５に示す垂直方向ブロック水平方向動きベクトル算出部３１の入力端子３１１を介してｎ値化器３１４に入力される。このｎ値化器３１４では、第１の垂直方向ブロック射影データ最大値保存部２４から出力され、入力端子３１２を介して入力された第２の閾値に基づき、第１の垂直方向ブロック射影データをｎ値化する。すなわち、ｎ値化器３１４は、垂直方向ブロック射影データ読み出し部３０で抽出された現フレームの射影データに関するデータ配列Ｍｖ（図９（ｂ））各配列要素のデータ長を、例えば３値化処理して圧縮する。このｎ値化器３１４の処理について、図１０を参照しつつ説明する。
【００８９】
図１０は、ｎ値化器３１４におけるｎ値化処理を説明するための図である。なお、図１０では、ｎ＝３となる３値化処理の一例を示している。
【００９０】
ｎ値化器３１４に入力される第１の垂直方向ブロック射影データをＤ、入力端子３１２を介して入力される第２の閾値をα２（α２は正の整数）とすると、ｎ値化器３１４では、Ｄ＜（−α２）のとき（−１）を出力し、（−α２）≦Ｄ≦α２のとき０を出力するとともに、Ｄ＞α２のとき１を出力することで３値化処理が行われる。すなわち、ｎ値化器３１４における３値化処理では、現フレーム（後フレーム）の射影データにおけるデータ配列Ｍｖの配列要素の最大値に基づき設定される第２の閾値α２（α２＞０）に関して、垂直方向ブロック射影データ読み出し部３０で抽出された現フレームの射影データに関する配列要素の値が、（−α２）より小さい場合、（−α２）以上でα２以下の場合、およびα２より大きい場合の３段階による３値化が行われる。
【００９１】
このｎ値化器３１４でのｎ値化処理については、垂直方向ブロック射影データ読み出し部３０から出力される現フレームの第１の垂直方向ブロック射影データの部分波形が、第１の閾値交差点に対してどのような位置関係、つまりどのような傾向の波形となっているのかが重要であるため、第１の垂直方向ブロック射影データの波形において山や谷が判別できるだけのビット精度を確保すれば十分である。
【００９２】
一方、ｎ値化器３１４においてビット数の削減を行わずに、垂直方向ブロック射影データ読み出し部３０から出力された第１の垂直方向ブロック射影データの値そのものを採用する場合には、第１の垂直方向ブロック射影データＤ＞α２に対応する大きな振幅の山や、Ｄ＜（−α２）に対応する大きな振幅の谷に、画像の特徴が表れる小さな振幅の山や谷が埋没してしまう恐れがあり不適切である。さらに、（−α２）≦Ｄ≦α２に対応する小さな山や谷は、ノイズの影響を受けやすく数も多いため、これに画像の特徴が表れる適度な振幅の山や谷が埋もれることとなる。
【００９３】
よって、ｎ値化器３１４では、第１の垂直方向ブロック射影データに対して適切なｎ値化処理を施すことにより、動きベクトルの検出精度の向上を図っている。
【００９４】
以上で説明した第１の閾値交差点探索部２９、垂直方向ブロック射影データ読み出し部３０および垂直方向ブロック水平方向動きベクトル算出部３１の動作について、図１１（ａ）、図１１（ｂ）および図１１（ｃ）を参照しつつ具体的に説明する。なお、図１１（ａ）および図１１（ｂ）の横軸は、射影データのデータ配列Ｍｖ（図９（ｂ））の配列要素の位置を示している。また、図１１（ａ）では、第１の閾値交差点Ａ（１）〜Ａ（８）それぞれを丸印で表している。
【００９５】
第１の閾値交差点探索部２９では、図１１（ａ）に示すように前フレームに関する第２の垂直方向ブロック射影データＷ２の波形において、第２の垂直方向ブロック射影データ最大値保存部２８から出力された第１の閾値α１と交差する第１の閾値交差点Ａ（１）〜Ａ（８）が求められる。すなわち、第１の閾値交差点探索部２９は、前フレームに対して垂直方向ブロック射影部２３で得られた射影データに関して射影データのデータ配列Ｍｖ（図９（ｂ））の要素順に配列要素の値をグラフ化した波形Ｗ２と、配列要素の値が第１の閾値（所定の一定値）α１となる直線とが交差する各第１の閾値交差点の配列要素の位置を特定する。
【００９６】
次に、垂直方向ブロック射影データ読み出し部３０では、図１１（ａ）に示す各第１の閾値交差点Ａ（１）〜Ａ（８）を中心とした所定の動きベクトル検出範囲について第１の垂直方向ブロック射影ラインメモリ２６から現フレームの垂直方向ブロック射影データが読み出される。すなわち、垂直方向ブロック射影データ読み出し部３０は、各第１の閾値交差点における射影データ（データ配列）の配列要素の位置を中心とした所定範囲のデータ配列を、垂直方向ブロック射影部２３から出力されビット数削減部２５によりビット数が削減された現フレーム（後フレーム）の射影データから抽出する。例えば第１の閾値交差点Ａ（７）に関しては、図１１（ｂ）に示すように第１の閾値交差点Ａ（７）を中心に（Ａ（７）−Ｖ）から（Ａ（７）＋Ｖ）までの範囲（矩形の破線内の波形部分）に対応する第１の垂直方向ブロック射影データＷ１が読み出される。
【００９７】
そして、垂直方向ブロック射影データ読み出し部３０によって読み出された第１の垂直方向ブロック射影データは、第１の垂直方向ブロック射影データ最大値保存部２４から出力された第２の閾値α２を用いて、垂直方向ブロック水平方向動きベクトル算出部３１のｎ値器３１４でｎ値化処理される。例えば第１の閾値交差点Ａ（７）に関しては、図１１（ｂ）に示す第２の閾値α２および（−α２）に対する第１の垂直方向ブロック射影データＷ１の大小関係に基づき、第１の閾値交差点Ａ（７）を中心に（Ａ（７）−Ｖ）から（Ａ（７）＋Ｖ）までの範囲（矩形の破線内の波形部分）について、図１１（ｃ）のように第１の垂直方向ブロック射影データが３値化処理される。これにより、現フレームの垂直方向ブロック射影データが「−１」、「０」または「１」で表されることとなる。
【００９８】
ｎ値化器３１４では、第１の閾値交差点探索部２９から出力される全ての第１の閾値交差点について、図１１（ｃ）に示すようなｎ値化処理が行われる。
【００９９】
次に、加算器３１５（図５）では、入力端子３１３を介して第１の閾値交差点探索部２９から出力された第１の閾値交差点を中心に、ｎ値化器３１４でｎ値化された第１の垂直方向ブロック射影データと、水平方向動きベクトル加算メモリ３１６から読み出された１つ前までのｎ値化された第１の垂直方向ブロック射影データの加算値とを加算し、その加算結果を水平方向動きベクトル加算メモリ３１６に再び記憶させる。そして、第１の閾値交差点探索部２９で検出された全ての第１の閾値交差点のうち最後のものに関するｎ値化された第１の垂直方向ブロック射影データを加算器３１５で加算して１つの垂直方向ブロックについての加算処理を終了する際には、その加算結果をピーク検出器３１７に出力するようにする。なお、加算器３１５での加算処理終了後に、全ての第１の閾値交差点に関する加算結果を記憶している水平方向動きベクトル加算メモリ３１６から、その加算結果をピーク検出器３１７が読み出すようにしても良い。
【０１００】
ピーク検出器３１７には、第１の閾値交差点探索部２９で検出された全ての第１の閾値交差点について各第１の閾値交差点を中心とした動きベクトル検出範囲（上述した±Ｖの範囲）に対応するｎ値化済みの第１の垂直方向ブロック射影データを加算したデータ（以下では「垂直方向ブロックｎ値化データ」とも言う）が入力されるが、この垂直方向ブロックｎ値化データに関するピーク値がピーク検出器３１７で検出される。このピーク検出器３１７において検出される垂直方向ブロックｎ値化データのピーク位置が、その垂直方向ブロックから得られる水平方向動きベクトルとなり、出力端子３１８を介して水平方向動き決定部３２に出力される。
【０１０１】
以上で説明した加算器３１５およびピーク検出器３１７の動作について、図１２（ａ）および図１２（ｂ）を参照しつつ具体的に説明する。なお、図１２（ａ）では、図１１（ａ）に示す第１の閾値交差点Ａ（１）〜Ａ（８）を中心とした動きベクトル検出範囲（±Ｖの範囲）において第１の垂直方向ブロック射影データを３値化したものを概念的に示している。
【０１０２】
加算器３１５において、図１２（ａ）に示す第１の閾値交差点Ａ（１）〜Ａ（８）周辺の３値化データが順次に入力されると、これらのデータが加算され、図１２（ｂ）に示すような垂直方向ブロックｎ値化データが生成される。具体的には、加算器３１５において垂直方向ブロック射影データ読み出し部３０により垂直方向ブロック射影データ（データ配列Ｍｖ（図９（ｂ）））から抽出されｎ値器３１４でデータ長が圧縮された現フレームに係る動きベクトル検出範囲（所定範囲）のデータ配列それぞれについて、各第１の閾値交差点の配列要素の位置に対して相対位置が同じ配列要素同士の値が加算されることとなる。
【０１０３】
加算器３１５で生成された垂直方向ブロックｎ値化データがピーク検出器３１７に入力されると、その垂直方向ブロックの水平方向動きベクトルとして図１２（ｂ）に示す水平方向のピーク位置ｈｖが検出される。すなわち、ピーク検出器３１７では、加算器３１５で加算された加算結果に基づき、フレーム画像の水平方向に関する動きベクトルが検出される。
【０１０４】
ピーク検出器３１７では、原則的に動きベクトル検出範囲（±Ｖの範囲）において、垂直方向ブロックｎ値化データが最大値となるピーク位置が探索されるが、周期性のある画像や、被写体に動きがある画像、不明瞭な画像に対しては、優位性のあるピークが立たない場合がある。このとき、その垂直方向ブロックから算出された水平方向動きベクトルは信頼性が低いため、無効ブロックと判断し、水平方向動きベクトル決定部３２における画像全体の水平方向動きベクトル算出に使用すべきでない。
【０１０５】
そこで、以下に、ピーク検出器３１７に要求される水平方向動きベクトルの信頼性評価について説明する。
【０１０６】
ここで、説明を簡単にするため、「山」という言葉を定義する。
図１６は、図１２（ｂ）に相当する図であり、横軸に動きベクトルを、縦軸に垂直方向ブロックｎ値化データを示しており、便宜的に１つの「山」だけを示している。
【０１０７】
図１６において、各相対位置（水平方向動きベクトル）での垂直方向ブロックｎ値化データに、マイナス側から順にｖ１〜ｖ１０の符号を付しており、データｖ１は前の「山の終わり」であり、これから探索する「山の始まり」でもある。なお、図示していないが、最初の山の「山の始まり」は、最もマイナス側（−Ｖ〜Ｖの範囲内）に存在する水平方向動きベクトルの垂直方向ブロックｎ値化データとなる。
【０１０８】
ピーク検出器３１７では、基準値となる相対位置（水平方向動きベクトル）に対して比較対象となる相対位置を、マイナス側からプラス側に向けて順に移動して、その都度、両相対位置での垂直方向ブロックｎ値化データの大小を比較する。この場合、比較により大きいと判断された方の垂直方向ブロックｎ値化データを基準値に変更（または基準値として維持）し、次に比較対象となる相対位置との比較を行う。ここで、基準値のことを暫定的ピーク値Ｖｐと呼称する。
【０１０９】
具体的には、「山の始まり」であるデータｖ１については、基準値、すなわち暫定的ピーク値Ｖｐ＝ｖ１とし、まずデータｖ２との比較を行う。図１６より、ｖ１＞ｖ２なので、Ｖｐ＞ｖ２となりＶｐ＝ｖ１を維持する。次に、暫定的ピーク値Ｖｐとデータｖ３との比較を行うが、これも、Ｖｐ＞ｖ３となりＶｐ＝ｖ１を維持する。
【０１１０】
次に、暫定的ピーク値Ｖｐとデータｖ４との比較を行うが、この場合はＶｐ＜ｖ４となり、Ｖｐ＝ｖ４となって暫定的ピーク値Ｖｐが変わる。同様に、暫定的ピーク値Ｖｐとデータｖ５との比較では、Ｖｐ＜ｖ５となり、Ｖｐ＝ｖ５となって暫定的ピーク値Ｖｐが変わる。さらに、暫定的ピーク値Ｖｐとデータｖ６との比較では、Ｖｐ＜ｖ６となり、Ｖｐ＝ｖ６となって暫定的ピーク値Ｖｐが変わる。
【０１１１】
暫定的ピーク値Ｖｐとデータｖ７との比較では、Ｖｐ＞ｖ７となりＶｐ＝ｖ６を維持する。また、暫定的ピーク値Ｖｐとデータｖ８との比較では、Ｖｐ＞ｖ８となりＶｐ＝ｖ６を維持し、暫定的ピーク値Ｖｐとデータｖ９との比較では、Ｖｐ＞ｖ９となりＶｐ＝ｖ６を維持し、暫定的ピーク値Ｖｐとデータｖ１０との比較では、Ｖｐ＞ｖ１０となりＶｐ＝ｖ６を維持する。
【０１１２】
なお、水平方向動きベクトルはデータｖ１０以後にも存在するが、区切りを付けるため、ひとつの「山」における垂直方向ブロックｎ値化データの最大値を最大値Ｐｎとして規定し、当該最大値Ｐｎに対して所定の係数を掛けた値よりも小さな垂直方向ブロックｎ値化データを有する水平方向動きベクトルを「山の終わり」を示すベクトルとする。
【０１１３】
ここでは、最大値Ｐｎに掛ける所定の係数をβ（第２の係数、０＜β＜１）とし、データｖ１０がＶｐ×βよりも小さくなるので、データｖ１０を「山の終わり」（次の「山の始まり」）を示すベクトルとする。なお、所定の係数βは、経験的に１／２以下に設定され、望ましくは１／４〜１／８の範囲に設定される。
【０１１４】
このように、基準値となる相対位置（水平方向動きベクトル）に対して比較対象となる相対位置を順次移動させ、基準値よりも大きな垂直方向ブロックｎ値化データが発見された場合は、当該垂直方向ブロックｎ値化データを「山」の暫定的ピーク値Ｖｐとして更新することを繰り返すことで、最大値Ｐｎ（ピーク値）を求めることができる。
【０１１５】
そして、垂直方向ブロックｎ値化データが最大値Ｐｎに対して所定の係数を掛けた値よりも小さな垂直方向ブロックｎ値化データを有する水平方向動きベクトルを「山の終わり」（次の「山の始まり」）を示すベクトルとすることで、１つの「山」を特定することができる。
【０１１６】
なお、以上の説明では、比較対象となる相対位置を、マイナス側からプラス側に向けて順に移動させる例を示したが、逆に、比較対象となる相対位置を、プラス側からマイナス側に向けて順に移動させて最大値Ｐｎを取得するようにしても良い。
【０１１７】
また、単純に、垂直方向ブロックｎ値化データが増加から減少に転じた部分を最大値Ｐｎとし、「山」が存在するものとして扱っても良いが、波形を全体として捉える上では、垂直方向ブロックｎ値化データの最大値Ｐｎに所定の係数を掛けた値よりも小さな垂直方向ブロックｎ値化データを有する水平方向動きベクトルをもって「山の終わり」を定義する方が好ましい。
【０１１８】
１つの「山」に対して得られた垂直方向ブロックｎ値化データの最大値Ｐｎは保存され、次の「山」に対して同様の処理を行う。この動作を繰り返すことで、動きベクトル検出範囲の全体に渡って、「山」を特定するとともに、垂直方向ブロックｎ値化データの最大値Ｐｎ（ピーク値）を取得する。
【０１１９】
図１７には、動きベクトル検出範囲の全体に渡って、各動きベクトルに対する垂直方向ブロックｎ値化データを示しており、Ｍ１、Ｍ２、Ｍ３、Ｍ４およびＭ５の５つの「山」が存在する波形が示されている。
【０１２０】
山Ｍ１〜Ｍ５の、それぞれのピーク値はＰ１〜Ｐ５となっており、これらのうち、最大のものを第１のピーク値（Ｐ１ｓｔ）、その次に大きいものを第２のピーク値（Ｐ２ｎｄ）と呼称すると、第１のピーク値は山Ｍ３の垂直方向ブロックｎ値化データの最大値となり、Ｐ１ｓｔ＝Ｐ３となる。また、第２のピーク値は山Ｍ２の垂直方向ブロックｎ値化データの最大値となり、Ｐ２ｎｄ＝Ｐ２となる。
【０１２１】
第１のピーク値（Ｐ１ｓｔ）がその他の「山」のピーク値に比べて大きければ大きいほど、そのピーク位置に対応する動きベクトルが、求める垂直方向ブロックの動きを示していることになり、算出された動きベクトルの信頼性が高いことを意味する。そこで、第１のピーク値（Ｐ１ｓｔ）と第２のピーク値（Ｐ２ｎｄ）とを比較することにより信頼性を評価する。具体的には、以下の式で評価する。
【０１２２】
Ｐ２ｎｄ＞Ｐ１ｓｔ×γ・・・（３）
【０１２３】
ここで、γは予め定められた係数（第１の係数）で、０＜γ＜１である。
【０１２４】
そして、上式（３）が成立したときには、求められた動きベクトルには信頼性がないものとして、算出結果を無効として扱う。もちろん、式（３）において、＝を含んだものとしても良いことは言うまでもない。
【０１２５】
式（３）では、γが１に近ければ近いほど、第１のピーク値（Ｐ１ｓｔ）と第２のピーク値（Ｐ２ｎｄ）とで差が小さく、大きいバラツキをも許容することを意味する。この条件下では、画像に周期性がなく、画像が明瞭で、被写体も静止しているような理想的なケース以外でも、可能な限り広い範囲で算出結果を有効と判断することになり、ある程度の誤検出（誤判定）を許容の上で、算出結果を有効として扱うことになる。
【０１２６】
逆に、γが０に近ければ近いほど、第１のピーク値（Ｐ１ｓｔ）が第２のピーク値（Ｐ２ｎｄ）に対して十分大きくなければならず、バラツキを許容しないことを意味する。この条件下では、画像に周期性がなく、明瞭で、被写体も静止しているような理想的なケースにおいてのみ、極めて正確に動きベクトルを算出することが可能となる。一方で、理想的なケースを外した場合には、算出結果を無効として扱う確率が増えることになる。
【０１２７】
なお、係数γは、本発明を適用した動画像撮像装置のユーザーが決めるように構成しても良いし、本発明を適用した動画像撮像装置の製造者が決定しても良い。
【０１２８】
さらに、ピーク検出器３１７では、「山」のピーク値Ｐｎの最大値が、予め定めた所定値以下の場合、具体的には、水平ラインの全画素数に対して、ピーク値Ｐｎが著しく小さい場合は、算出結果を無効として扱う。ピーク値Ｐｎが小さいということは、有効な第１の閾値交差点が少ないということを意味する。
【０１２９】
水平ラインの全画素数に対して、有効な第１の閾値交差点が著しく少ない場合、例えば、水平ラインの全画素数が６４０画素に対して、ピーク値Ｐｎ＝３というような場合は、画像として水平方向に特徴が乏しいことを意味しており、この乏しい情報に基づいて算出した結果を採用しないということは、信頼性の高い水平方向動きベクトルを得るという点で極めて有効な措置と言える。
【０１３０】
なお、この処理における予め定めた所定値は、例えば、水平ラインの全画素数の１／５０以下の範囲に設定され、より現実的には、１／１００程度となる。
【０１３１】
ピーク検出器３１７で垂直方向ブロックごとに算出された水平方向動きベクトル（ピーク位置のベクトル）は、出力端子３１８を介して水平方向動きベクトル決定部３２に入力される。
【０１３２】
水平方向動きベクトル決定部３２では、垂直方向ブロック水平方向動きベクトル算出部３１から順次に出力される各垂直方向ブロックの水平方向動きベクトルに基づき、画像全体の水平方向動きベクトルが決定される。具体的には、ヒストグラムを作成し、垂直方向ブロックｎ値化データの最も多いものを採用する。
【０１３３】
以上説明したように、ピーク検出器３１７において、第１のピーク値Ｐ１ｓｔと第２のピーク値Ｐ２ｎｄの大小関係により、第１のピーク値Ｐ１ｓｔとなるピーク位置（動きベクトル）の信頼性を評価することができ、その結果、信頼性の低い垂直方向ブロックを除外することができるため、信頼性の高い垂直方向ブロックに基づいて画像全体の水平方向動きベクトルを決定することができる。
【０１３４】
＜垂直方向動きベクトル検出部４の動作＞
次に、動きベクトル検出装置１において画像の垂直方向の動きベクトルを検出する垂直方向動きベクトル検出部４の動作を説明する。
【０１３５】
図２のように水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像が、図６に示す垂直方向動きベクトル検出部４の入力端子４０に入力されると、水平方向画像分割部４１で水平方向にブロック分割される。すなわち、水平方向画像分割部４１においては、フレーム画像において水平方向に分割して得られる複数の画像領域（水平方向ブロック）が設定される。これにより、以降の処理では、水平方向ブロックごとに処理や管理が行われることとなる。
【０１３６】
水平方向画像分割部４１では、例えば図１３（ａ）に示すように６４０画素×４８０画素の画像データが、水平方向に６４画素の幅（分割幅）を有した１０個の垂直方向ブロックｈｂ０〜ｈｂ９に分割される。なお、図１３（ａ）に示す分割幅および分割数とするのは必須ではない。
【０１３７】
水平方向画像分割部４１で図１３（ａ）のように１０個の水平方向ブロックｈｂ０〜ｈｂ９に分割された画像は、水平方向エッジ抽出フィルタリング部４２において水平方向に延びるエッジ成分の抽出、換言すれば垂直方向に急峻に変化する画像部分を強調するようなフィルタリング処理が施される。
【０１３８】
このフィルタリング処理で用いられるフィルタとしては、単純に垂直方向に隣接する画素との差分を取る（１,−１）の２タップフィルタや、２次微分に相当する（−１,２,−１）の３タップフィルタなどの使用が可能である。なお、このようなフィルタを使用するのは必須でなく、垂直方向に輝度変化が大きくなる画像部分において出力値が上昇するフィルタであれば良い。
【０１３９】
水平方向エッジ抽出フィルタリング部４２で各水平方向ブロック（画像領域）ｈｂ０〜ｈｂ９ごとに水平方向のエッジが強調された画像データは、水平方向ブロック射影部４３に入力され、水平方向ブロック射影部４３で水平方向に射影される。この射影により、水平方向の（ライン間で）ノイズ成分を低減でき、また水平方向のエッジ成分をより強調できるため、特徴点に対応する水平方向エッジを際立たせて動きベクトル検出精度の向上を図れることとなる。水平方向ブロック射影部４３の動作について、図１３（ｂ）の概念図を参照しつつ説明する。
【０１４０】
水平方向ブロック射影部４３では、図１３（ａ）に示す各水平方向ブロックｈｂ０〜ｈｂ９の１水平ラインの入力が完了した時点で、１垂直ライン分のデータ配列Ｍｈを有する水平方向ブロック射影データｈｎ０〜ｈｎ９（図１３（ｂ））の１配列要素が生成される。従って、全配列要素が揃うのは、各水平方向ブロックｈｂ０〜ｈｂ９の最終の水平ラインの入力が完了した時点である。なお、データ配列Ｍｈは、垂直ラインの全画素数（例えば４８０）の配列要素を有しているが、（１，−１）のような２タップフィルタでは有効要素が垂直ラインの全画素数−１（例えば４７９）、（−１，２，−１）のような３タップフィルタでは有効要素が垂直ラインの全画素数−２（例えば４７８）となる。
【０１４１】
具体的には、図７に示すように入力端子４３１を介して入力された各水平方向ブロックｈｂ０〜ｈｂ９の画像データ（水平方向のエッジ強調が施された画像データ）が、加算器４３２に入力される。
【０１４２】
加算器４３２では、まず入力された水平方向ブロックの１水平ラインの先頭では、水平方向射影一時記憶メモリ４３３内のデータを読み出すことなく、水平方向射影一時記憶メモリ４３３に書き込まれる。
【０１４３】
次に、加算器４３２では、水平方向射影一時記憶メモリ４３３に記憶されている１水平ラインの前画素までの加算結果を読み出し、入力端子４３１から入力される水平方向ブロックの１水平ラインの現画素との加算を行って、その加算結果を水平方向射影一時記憶メモリ４３３に書き戻す。そして、水平方向ブロックにおける１水平ラインの最終画素が加算器４３２に入力されると、水平方向射影一時記憶メモリ４３３に保存された前画素までの加算結果を読み出し、入力端子４３１から入力される水平方向ブロックの１水平ラインの最終画素との加算を行って、その加算結果、つまり水平方向ブロックの１水平ラインの全画素が加算されたデータを水平方向ブロックの１水平ラインに関する射影データとして、出力端子４３４から第１の水平方向ブロック射影ラインメモリ４４と第１の水平方向ブロック射影データ最大値保存部４５とに出力する。
【０１４４】
なお、加算器４３２において水平方向ブロックの１水平ラインの全画素が加算された射影データを水平方向射影一時記憶メモリ４３３に一旦記憶させ、次の水平方向ブロックの１水平ラインの先頭画素が入力される際に、水平方向射影一時記憶メモリ４３３内の射影データを読み出して出力端子４３４から出力するようにしても良い。
【０１４５】
第１の水平方向ブロック射影ラインメモリ４４では、水平方向ブロック射影部４３から入力された現フレームの水平方向ブロック射影データを、第１の水平方向ブロック射影データとして水平方向ブロックごとに保存する。
【０１４６】
第１の水平方向ブロック射影データ最大値保存部４５では、水平方向ブロック射影部４３から入力された水平方向ブロックの射影データに関する最大値を算出し、第１の水平方向ブロック射影データ最大値（現フレームの水平方向ブロック射影データ最大値）として保存する。
【０１４７】
第２の水平方向ブロック射影ラインメモリ４６は、第１の水平方向ブロック射影ラインメモリ４４から読み出された水平方向ブロック射影データを、前フレームに関する第２の水平方向ブロック射影データとして保存する。
【０１４８】
同様に、第２の水平方向ブロック射影データ最大値保存部４７では、第１の水平方向ブロック射影データ最大値保存部４５から出力された第１の水平方向ブロック射影データ最大値が、前フレームに関する第２の水平方向ブロック射影データ最大値（前フレームの水平方向ブロック射影データ最大値）として保存される。
【０１４９】
換言すれば、第１の水平方向ブロック射影データ最大値保存部４５に保存された現フレームの水平方向ブロック射影データ最大値は、次のフレームでは、第２の水平方向ブロック射影データ最大値保存部４７に前フレームの水平方向ブロック射影データ最大値として保存されることとなる。
【０１５０】
また、第２の水平方向ブロック射影データ最大値保存部４７では、算出された前フレームの水平方向ブロック射影データ最大値に基づき、第４の閾値を算出する。例えば、前フレームの水平方向ブロック射影データ最大値をＰ４mａxとすると、第４の閾値α４は次の式（４）で算出される。
【０１５１】
α４＝Ｐ４mａx×ｋ４・・・・・・・・（４）
【０１５２】
ここで、ｋ４は予め定められた係数で、０＜ｋ４＜１である。
【０１５３】
なお、第４の閾値α４の演算は、上式（４）に限るものではなく、前フレームの水平方向ブロック射影データ最大値Ｐ４mａxが大きくなれば第４の閾値α４が大きくなるものであれば良く、また変換テーブルを使用しても良い。また、第４の閾値α４については、水平方向ブロック毎の第２の水平方向ブロック射影データ最大値を使用するのは必須でなく、例えば前フレームの画像全体についての水平方向ブロック射影データの最大値を用いて第４の閾値を算出し、画像全体で同じ第４の閾値を採用しても良い。
【０１５４】
第２の水平方向ブロック射影データ最大値保存部４７は、前フレームに関する第２の水平方向ブロック射影データ最大値に基づき、第３の閾値（所定の一定値）が設定される。例えば、前フレームの水平方向ブロック射影データ最大値をＰ３mａxとすると、第３の閾値α３は次の式（５）で算出される。
【０１５５】
α３＝Ｐ３mａx×ｋ３・・・・・・・・（５）
【０１５６】
ここで、ｋ３は予め定められた係数で、０＜ｋ３＜１である。
【０１５７】
なお、第３の閾値α３の演算は、上式（５）に限るものではなく、前フレームの水平方向ブロック射影データ最大値Ｐ３mａxが大きくなれば第３の閾値α３が大きくなるものであれば良く、また変換テーブルを使用しても良い。また、第３の閾値α３については、水平方向ブロック毎の第２の水平方向ブロック射影データ最大値を使用するのは必須でなく、例えば前フレームの画像全体についての水平方向ブロック射影データの最大値を用いて第３の閾値を算出し、画像全体で同じ第３の閾値を採用しても良い。
【０１５８】
第３の閾値交差点探索部４８では、第２の水平方向ブロック射影ラインメモリ４６から読み出された第２の水平方向ブロック射影データと、第２の水平方向ブロック射影データ最大値保存部４７から出力された第３の閾値との交差点（第３の閾値交差点）を垂直方向に探索する。この第３の閾値交差点探索部４８で得られた第３の閾値交差点の情報は、水平方向ブロック射影データ読み出し部４９と水平方向ブロック垂直方向動きベクトル算出部５０とに入力される。
【０１５９】
水平方向ブロック射影データ読み出し部４９は、第３の閾値交差点探索部４８から出力された第３の閾値交差点を中心とした動きベクトル検出範囲に対応した現フレームの（第１の）水平方向ブロック射影データを第１の水平方向ブロック射影ラインメモリ４４から読み出す。すなわち、第３の閾値交差点をＢ（ｉ）（ただしｉ＝１,２,・・・ｑで、ｑは検出された第３の閾値交差点の総数）とし、動きベクトル検出範囲を第３の閾値交差点を中心とした（−Ｕ）から（＋Ｕ）（ただしＵは正の整数）の範囲とすると、第１の水平方向ブロック射影ラインメモリ４４から読み出される射影データは、垂直方向において（Ｂ（ｉ）−Ｕ）から（Ｂ（ｉ）＋Ｕ）までの範囲にある第１の水平方向ブロック射影データの部分データとなる。
【０１６０】
この水平方向ブロック射影データ読み出し部４９によって第１の水平方向ブロック射影ラインメモリ４４から読み出された第１の水平方向ブロック射影データは、水平方向ブロック垂直方向動きベクトル算出部５０に出力される。
【０１６１】
水平方向ブロック射影データ読み出し部４９から出力された第１の水平方向ブロック射影データは、図８に示す水平方向ブロック垂直方向動きベクトル算出部５０の入力端子５０１を介してｎ値化器５０４に入力される。
【０１６２】
このｎ値化器５０４では、第２の水平方向ブロック射影データ最大値保存部４７から出力され、入力端子５０２を介して入力された第４の閾値に基づき、第１の水平方向ブロック射影データをｎ値化する。すなわち、ｎ値化器５０４は、水平方向ブロック射影データ読み出し部４９で抽出された現フレームの射影データに関するデータ配列Ｍｈ（図１３（ｂ））の各配列要素のデータ長を圧縮する。
【０１６３】
このｎ値化器５０４の処理については、上述したｎ値化器３１４と同様の処理を行い、例えば３値化処理が実行される。すなわち、ｎ値化器５０４における３値化処理では、前フレームの射影データにおけるデータ配列Ｍｈの配列要素の最大値に基づき設定される第４の閾値α４（α４＞０）に関して、水平方向ブロック射影データ読み出し部４９で抽出された現フレームの射影データに関する配列要素の値が、（−α４）より小さい場合、（−α４）以上でα４以下の場合、およびα４より大きい場合の３段階による３値化が行われる。なお、ｎ値化器５０４においては、ｎ値化器３１４と同じ特性を有するのは必須でなく、ｎ値化器３１４と異なる特性を有しても良い。
【０１６４】
以上で説明した第３の閾値交差点探索部４８、水平方向ブロック射影データ読み出し部４９および水平方向ブロック垂直方向動きベクトル算出部５０の動作について、図１４（ａ）、図１４（ｂ）および図１４（ｃ）を参照しつつ具体的に説明する。なお、図１４（ａ）および図１４（ｂ）の横軸は、射影データのデータ配列Ｍｈ（図１３（ｂ））の配列要素の位置を示している。また、図１４（ａ）では、第３の閾値交差点Ｂ（１）〜Ｂ（６）それぞれを丸印で表している。
【０１６５】
第３の閾値交差点探索部４８では、図１４（ａ）に示すように前フレームに関する第２の垂直方向ブロック射影データＷ４の波形において、第２の水平方向ブロック射影データ最大値保存部４７から出力された第３の閾値α３と交差する第３の閾値交差点Ｂ（１）〜Ｂ（６）が求められる。すなわち、第３の閾値交差点探索部４８は、前フレームに対して水平方向ブロック射影部４３で得られた射影データに関して射影データのデータ配列Ｍｈ（図１３（ｂ））の要素順に配列要素の値をグラフ化した波形Ｗ４と、配列要素の値が第３の閾値（所定の一定値）α３となる直線とが交差する各第３の閾値交差点の配列要素の位置を特定する。
【０１６６】
次に、水平方向ブロック射影データ読み出し部４９では、図１４（ａ）に示す各第３の閾値交差点Ｂ（１）〜Ｂ（６）を中心とした所定の動きベクトル検出範囲について第１の水平方向ブロック射影ラインメモリ４４から現フレームの水平方向ブロック射影データが読み出される。すなわち、水平方向ブロック射影データ読み出し部４９は、各第３の閾値交差点における射影データ（データ配列）の配列要素の位置を中心とした所定範囲のデータ配列を、水平方向ブロック射影部４３で得られた現フレーム（後フレーム）の射影データから抽出する。例えば第３の閾値交差点Ｂ（４）に関しては、図１４（ｂ）に示すように第３の閾値交差点Ｂ（４）を中心に（Ｂ（４）−Ｕ）から（Ｂ（４）＋Ｕ）までの範囲（矩形の破線内の波形部分）に対応する第１の水平方向ブロック射影データＷ３が読み出される。
【０１６７】
そして、水平方向ブロック射影データ読み出し部４９によって読み出された第１の水平方向ブロック射影データは、第２の水平方向ブロック射影データ最大値保存部４７から出力された第４の閾値α４を用いて、水平方向ブロック垂直方向動きベクトル算出部５０のｎ値器５０４でｎ値化処理される。例えば第３の閾値交差点Ｂ（４）に関しては、図１４（ｂ）に示す第４の閾値α４および（−α４）に対する第１の水平方向ブロック射影データＷ３の大小関係に基づき、第３の閾値交差点Ｂ（４）を中心に（Ｂ（４）−Ｕ）から（Ｂ（４）＋Ｕ）までの範囲（矩形の破線内の波形部分）について、図１４（ｃ）のように第１の水平方向ブロック射影データが３値化処理される。これにより、現フレームの水平方向ブロック射影データが「−１」、「０」または「１」で表されることとなる。
【０１６８】
ｎ値化器５０４では、第３の閾値交差点探索部４８から出力される全ての第３の閾値交差点について、図１４（ｃ）に示すようなｎ値化処理が行われる。
【０１６９】
次に、加算器５０５（図８）では、入力端子５０３を介して第３の閾値交差点探索部４８から出力された第３の閾値交差点を中心に、ｎ値化器５０４でｎ値化された第１の水平方向ブロック射影データと、垂直方向動きベクトル加算メモリ５０６から読み出された１つ前までのｎ値化された第１の水平方向ブロック射影データの加算値とを加算し、その加算結果を垂直方向動きベクトル加算メモリ５０６に再び記憶させる。そして、第３の閾値交差点探索部４８で検出された全ての第３の閾値交差点のうち最後のものに関するｎ値化された第１の水平方向ブロック射影データを加算器５０５で加算して１つの水平方向ブロックについての加算処理を終了する際には、その加算結果をピーク検出器５０７に出力するようにする。なお、加算器５０５での加算処理終了後に、全ての第３の閾値交差点に関する加算結果を記憶している垂直方向動きベクトル加算メモリ５０６から、その加算結果をピーク検出器５０７が読み出すようにしても良い。
【０１７０】
ピーク検出器５０７には、第３の閾値交差点探索部４８で検出された全ての第３の閾値交差点について各第３の閾値交差点を中心とした動きベクトル検出範囲（上述した±Ｕの範囲）に対応するｎ値化済みの第１の水平方向ブロック射影データを加算したデータ（以下では「水平方向ブロックｎ値化データ」とも言う）が入力されるが、この水平方向ブロックｎ値化データに関するピーク値がピーク検出器５０７で検出される。このピーク検出器５０７において検出される水平方向ブロックｎ値化データのピーク位置が、その水平方向ブロックから得られる垂直方向動きベクトルとなり、出力端子５０８を介して垂直方向動き決定部５１に出力される。
【０１７１】
以上で説明した加算器５０５およびピーク検出器５０７の動作について、図１５（ａ）および図１５（ｂ）を参照しつつ具体的に説明する。なお、図１５（ａ）では、図１４（ａ）に示す第３の閾値交差点Ｂ（１）〜Ｂ（６）を中心とした動きベクトル検出範囲（±Ｕの範囲）において第１の水平方向ブロック射影データを３値化したものを概念的に示している。
【０１７２】
加算器５０５において、図１５（ａ）に示す第３の閾値交差点Ｂ（１）〜Ｂ（６）周辺の３値化データが順次に入力されると、これらのデータが加算され、図１５（ｂ）に示すような水平方向ブロックｎ値化データが生成される。具体的には、加算器５０５において水平方向ブロック射影データ読み出し部４９により水平方向ブロック射影データ（データ配列Ｍｈ（図１３（ｂ）））から抽出されｎ値器５０４でデータ長が圧縮された現フレームに係る動きベクトル検出範囲（所定範囲）のデータ配列それぞれについて、各第３の閾値交差点の配列要素の位置に対して相対位置が同じ配列要素同士の値が加算されることとなる。
【０１７３】
加算器５０５で生成された水平方向ブロックｎ値化データがピーク検出器５０７に入力されると、その水平方向ブロックの垂直方向動きベクトルとして図１５（ｂ）に示す垂直方向のピーク位置ｖｖが検出される。すなわち、ピーク検出器５０７では、加算器５０５で加算された加算結果に基づき、フレーム画像の垂直方向に関する動きベクトルが検出される。
【０１７４】
ピーク検出器５０７では、原則的に動きベクトル検出範囲（±Ｕの範囲）において、水平方向ブロックｎ値化データが最大値となるピーク位置が探索されるが、周期性のある画像や、被写体に動きがある画像、不明瞭な画像に対しては、優位性のあるピークが立たない場合がある。このとき、その水平方向ブロックから算出された垂直方向動きベクトルは信頼性が低いため、無効ブロックと判断し、垂直方向動きベクトル決定部５１における画像全体の垂直方向動きベクトル算出に使用すべきでない。
【０１７５】
そこで、以下に、ピーク検出器５０７に要求される垂直方向動きベクトルの信頼性評価について説明する。なお、ピーク検出器５０７における信頼性評価の動作は、図１６および図１７を用いて説明したピーク検出器３１７と基本的に同じであるので、図１６および図１７を援用して説明する。
【０１７６】
図１６は、図１５（ｂ）に相当する図であり、横軸に動きベクトルを、縦軸に水平方向ブロックｎ値化データを示しており、便宜的に１つの「山」だけを示している。
【０１７７】
図１６において、各相対位置（垂直方向動きベクトル）での水平方向ブロックｎ値化データに、マイナス側から順にｖ１〜ｖ１０の符号を付しており、データｖ１は前の「山の終わり」であり、これから探索する「山の始まり」でもある。なお、図示していないが、最初の山の「山の始まり」は、最もマイナス側（−Ｕ〜Ｕの範囲内）に存在する垂直方向動きベクトルの水平方向ブロックｎ値化データとなる。
【０１７８】
ピーク検出器５０７では、基準値となる相対位置（垂直方向動きベクトル）に対して比較対象となる相対位置を、マイナス側からプラス側に向けて順に移動して、その都度、両相対位置での水平方向ブロックｎ値化データの大小を比較する。この場合、比較により大きいと判断された方の水平方向ブロックｎ値化データを基準値に変更（または基準値として維持）し、次に比較対象となる相対位置との比較を行う。ここで、基準値のことを暫定的ピーク値Ｖｐと呼称する。
【０１７９】
具体的には、「山の始まり」であるデータｖ１については、基準値、すなわち暫定的ピーク値Ｖｐ＝ｖ１とし、まずデータｖ２との比較を行う。図１６より、ｖ１＞ｖ２なので、Ｖｐ＞ｖ２となりＶｐ＝ｖ１を維持する。次に、暫定的ピーク値Ｖｐとデータｖ３との比較を行うが、これも、Ｖｐ＞ｖ３となりＶｐ＝ｖ１を維持する。
【０１８０】
次に、暫定的ピーク値Ｖｐとデータｖ４との比較を行うが、この場合はＶｐ＜ｖ４となり、Ｖｐ＝ｖ４となって暫定的ピーク値Ｖｐが変わる。同様に、暫定的ピーク値Ｖｐとデータｖ５との比較では、Ｖｐ＜ｖ５となり、Ｖｐ＝ｖ５となって暫定的ピーク値Ｖｐが変わる。さらに、暫定的ピーク値Ｖｐとデータｖ６との比較では、Ｖｐ＜ｖ６となり、Ｖｐ＝ｖ６となって暫定的ピーク値Ｖｐが変わる。
【０１８１】
暫定的ピーク値Ｖｐとデータｖ７との比較では、Ｖｐ＞ｖ７となりＶｐ＝ｖ６を維持する。また、暫定的ピーク値Ｖｐとデータｖ８との比較では、Ｖｐ＞ｖ８となりＶｐ＝ｖ６を維持し、暫定的ピーク値Ｖｐとデータｖ９との比較では、Ｖｐ＞ｖ９となりＶｐ＝ｖ６を維持し、暫定的ピーク値Ｖｐとデータｖ１０との比較では、Ｖｐ＞ｖ１０となりＶｐ＝ｖ６を維持する。
【０１８２】
なお、垂直方向動きベクトルはデータｖ１０以後にも存在するが、区切りを付けるため、１つの「山」における水平方向ブロックｎ値化データの最大値を最大値Ｐｎとして規定し、当該最大値Ｐｎに対して所定の係数を掛けた値よりも小さな水平方向ブロックｎ値化データを有する垂直方向動きベクトルを「山の終わり」を示すベクトルとする。
【０１８３】
ここでは、最大値Ｐｎに掛ける所定の係数をβ（０＜β＜１）とし、データｖ１０がＶｐ×βよりも小さくなるので、データｖ１０を「山の終わり」（次の「山の始まり」）を示すベクトルとする。なお、所定の係数βは、経験的に１／２以下に設定され、望ましくは１／４〜１／８の範囲に設定される。
【０１８４】
このように、基準値となる相対位置（垂直方向動きベクトル）に対して比較対象となる相対位置を順次移動させ、基準値よりも大きな水平方向ブロックｎ値化データが発見された場合は、当該水平方向ブロックｎ値化データを「山」の暫定的ピーク値Ｖｐとして更新することを繰り返すことで、最大値Ｐｎ（ピーク値）を求めることができる。
【０１８５】
そして、水平方向ブロックｎ値化データが最大値Ｐｎに対して所定の係数を掛けた値よりも小さな水平方向ブロックｎ値化データを有する垂直方向動きベクトルを「山の終わり」（次の「山の始まり」）を示すベクトルとすることで、１つの「山」を特定することができる。
【０１８６】
なお、以上の説明では、比較対象となる相対位置を、マイナス側からプラス側に向けて順に移動させる例を示したが、逆に、比較対象となる相対位置を、プラス側からマイナス側に向けて順に移動させて最大値Ｐｎを取得するようにしても良い。
【０１８７】
また、単純に、水平方向ブロックｎ値化データが増加から減少に転じた部分を最大値Ｐｎとし、「山」が存在するものとして扱っても良いが、波形を全体として捉える上では、水平方向ブロックｎ値化データの最大値Ｐｎに所定の係数を掛けた値よりも小さな水平方向ブロックｎ値化データを有する垂直方向動きベクトルをもって「山の終わり」を定義する方が好ましい。
【０１８８】
１つの「山」に対して得られた水平方向ブロックｎ値化データの最大値Ｐｎは保存され、次の「山」に対して同様の処理を行う。この動作を繰り返すことで、動きベクトル検出範囲の全体に渡って、「山」を特定するとともに、水平方向ブロックｎ値化データの最大値Ｐｎ（ピーク値）を取得する。
【０１８９】
図１７には、動きベクトル検出範囲の全体に渡って、各動きベクトルに対する水平方向ブロックｎ値化データを示しており、Ｍ１、Ｍ２、Ｍ３、Ｍ４およびＭ５の５つの「山」が存在する波形が示されている。
【０１９０】
山Ｍ１〜Ｍ５の、それぞれのピーク値はＰ１〜Ｐ５となっており、これらのうち、最大のものを第１のピーク値（Ｐ１ｓｔ）、その次に大きいものを第２のピーク値（Ｐ２ｎｄ）と呼称すると、第１のピーク値は山Ｍ３の水平方向ブロックｎ値化データの最大値となり、Ｐ１ｓｔ＝Ｐ３となる。また、第２のピーク値は山Ｍ２の水平方向ブロックｎ値化データの最大値となり、Ｐ２ｎｄ＝Ｐ２となる。
【０１９１】
第１のピーク値（Ｐ１ｓｔ）がその他の「山」のピーク値に比べて大きければ大きいほど、そのピーク位置に対応する動きベクトルが、求める水平方向ブロックの動きを示していることになり、算出された動きベクトルの信頼性が高いことを意味する。そこで、第１のピーク値（Ｐ１ｓｔ）と第２のピーク値（Ｐ２ｎｄ）とを比較することにより信頼性を評価する。具体的には、先に説明した式（３）を用いて評価する。
【０１９２】
そして、式（３）が成立したときには、求められた動きベクトルには信頼性がないものとして、算出結果を無効として扱う。もちろん、式（３）において、＝を含んだものとしても良いことは言うまでもない。
【０１９３】
式（３）では、γが１に近ければ近いほど、第１のピーク値（Ｐ１ｓｔ）と第２のピーク値（Ｐ２ｎｄ）とで差が小さく、大きいバラツキをも許容することを意味する。この条件下では、画像に周期性がなく、画像が明瞭で、被写体も静止しているような理想的なケース以外でも、可能な限り広い範囲で算出結果を有効と判断することになり、ある程度の誤検出（誤判定）を許容の上で、算出結果を有効として扱うことになる。
【０１９４】
逆に、γが０に近ければ近いほど、第１のピーク値（Ｐ１ｓｔ）が第２のピーク値（Ｐ２ｎｄ）に対して十分大きくなければならず、バラツキを許容しないことを意味する。この条件下では、画像に周期性がなく、明瞭で、被写体も静止しているような理想的なケースにおいてのみ、極めて正確に動きベクトルを算出することが可能となる。一方で、理想的なケースを外した場合には、算出結果を無効として扱う確率が増えることになる。
【０１９５】
さらに、ピーク検出器５０７では、「山」のピーク値Ｐｎの最大値が、予め定めた所定値以下の場合、具体的には、垂直ラインの全画素数に対して、ピーク値Ｐｎが著しく小さい場合は、算出結果を無効として扱う。ピーク値Ｐｎが小さいということは、有効な第３の閾値交差点が少ないということを意味する。
【０１９６】
垂直ラインの全画素数に対して、有効な第３の閾値交差点が著しく少ない場合、例えば、垂直ラインの全画素数が４８０画素に対して、ピーク値Ｐｎ＝２というような場合は、画像として垂直方向に特徴が乏しいことを意味しており、この乏しい情報に基づいて算出した結果を採用しないということは、信頼性の高い垂直方向動きベクトルを得るという点で極めて有効な措置と言える。
【０１９７】
なお、この処理における予め定めた所定値は、例えば、垂直ラインの全画素数の１／５０以下の範囲に設定され、より現実的には、１／１００程度となる。
【０１９８】
ピーク検出器５０７で水平方向ブロックごとに算出された垂直方向動きベクトル（ピーク位置のベクトル）は、出力端子５０８を介して垂直方向動きベクトル決定部５１に入力される。
【０１９９】
垂直方向動きベクトル決定部５１（図６）では、水平方向ブロック垂直方向動きベクトル算出部５０から順次に出力される各水平方向ブロックの垂直方向動きベクトルに基づき、画像全体の垂直方向動きベクトルが決定される。具体的には、ヒストグラムを作成し、水平方向ブロックｎ値化データの最も多いものを採用する。
【０２００】
以上説明したように、ピーク検出器５０７において、第１のピーク値Ｐ１ｓｔと第２のピーク値Ｐ２ｎｄの大小関係により、第１のピーク値Ｐ１ｓｔとなるピーク位置（動きベクトル）の信頼性を評価することができ、その結果、信頼性の低い水平方向ブロックを除外することができるため、信頼性の高い水平方向ブロックに基づいて画像全体の垂直方向動きベクトルを決定することができる。
【０２０１】
＜効果＞
以上に説明したように、実施の形態１に係る動きベクトル検出装置１の水平方向動きベクトル検出部２においては、垂直方向ブロック水平方向動きベクトル算出部３１におけるピーク検出器３１７で、垂直方向ブロックｎ値化データの最大値を求め、当該最大値を第１のピーク値（Ｐ１ｓｔ）とし、第２のピーク値（Ｐ２ｎｄ）との大小関係により、該垂直方向ブロックで求められる水平方向動きベクトルの信頼性を評価し、有効／無効の判断を行うことができる。このため、水平方向動きベクトル決定部３２において、画像が不明瞭であったり、周期性があったり、被写体が静止していなかったりするような信頼性の低い垂直方向ブロックの結果を除外することができ、信頼性の高い垂直方向ブロックの結果に基づいて画像全体の水平方向動きベクトルを決定することができる。
【０２０２】
また、第１のピーク値（Ｐ１ｓｔ）と第２のピーク値（Ｐ２ｎｄ）は、各相対位置における垂直方向ブロックｎ値化データを順次に読み出して比較することにより簡単に算出可能であり、短いブランキング期間でも処理可能であるため、リアルタイム処理に有効である。
【０２０３】
また、実施の形態１に係る動きベクトル検出装置１の垂直方向動きベクトル検出部４においては、水平方向ブロック垂直方向動きベクトル算出部５０におけるピーク検出器５０７で、水平方向ブロックｎ値化データの最大値を求め、当該最大値を第１のピーク値（Ｐ１ｓｔ）とし、第２のピーク値（Ｐ２ｎｄ）との大小関係により、該水平方向ブロックで求められる垂直方向動きベクトルの信頼性を評価し、有効／無効の判断を行うことができる。このため、垂直方向動きベクトル決定部５１において、画像が不明瞭であったり、周期性があったり、被写体が静止していなかったりするような信頼性の低い水平方向ブロックの結果を除外することができ、信頼性の高い水平方向ブロックの結果に基づいて画像全体の垂直方向動きベクトルを決定することができる。
【０２０４】
また、第１のピーク値Ｐ１ｓｔと第２のピーク値Ｐ２ｎｄは、各相対位置における水平方向ブロックｎ値化データを順次に読み出して比較することにより簡単に算出可能であり、短いブランキング期間でも処理可能であるため、リアルタイム処理に有効である。
【０２０５】
また、動きベクトル検出装置１では、垂直方向画像分割部２１でフレーム画像を垂直方向に分割した後に、各分割画像(垂直方向ブロック)について垂直方向のエッジを強調するため、垂直方向のエッジが強調された分割画像を簡易に生成できる。
【０２０６】
同様に、水平方向画像分割部４１でフレーム画像を水平方向に分割した後に、各分割画像(水平方向ブロック)について水平方向のエッジを強調するため、水平方向のエッジが強調された分割画像を簡易に生成できる。
【０２０７】
＜実施の形態２＞
＜動きベクトル検出装置の構成＞
本発明の実施の形態２に係る動きベクトル検出装置１Ａについては、図１に示す実施の形態１の動きベクトル検出装置１と類似の構成を有しているが、水平方向動きベクトル検出部と垂直方向動きベクトル検出部との構成が異なっている。この動きベクトル検出装置１Ａにおける水平方向動きベクトル検出部２Ａおよび垂直方向動きベクトル検出部４Ａの構成について図１８および図１９を参照して説明する。
【０２０８】
図１８は、水平方向動きベクトル検出部２Ａの要部構成を示すブロック図である。なお、図１８では、実施の形態１と同様の機能を有する部位には同一の符号を付している。
【０２０９】
水平方向動きベクトル検出部２Ａでは、実施の形態１の水平方向動きベクトル検出部２に対して垂直方向画像分割部２１と垂直方向エッジ抽出フィルタリング部２２との配置が逆転している。以下では、この水平方向動きベクトル検出部２Ａの動作について説明する。
【０２１０】
図２に示すように水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像が、水平方向動きベクトル検出部２Ａの入力端子２０に入力されると、垂直方向エッジ抽出フィルタリング部２２において垂直方向に延びるエッジ成分の抽出、換言すれば水平方向に急峻に変化する画像部分を強調するようなフィルタリング処理が施される。
【０２１１】
垂直方向エッジ抽出フィルタリング部２２で垂直方向のエッジが強調されたフレーム画像が垂直方向画像分割部２１に入力されると、垂直方向にブロック分割される。すなわち、垂直方向画像分割部２１では、エッジ強調が施されたフレーム画像を垂直方向に分割して得られる複数の画像領域（垂直方向ブロック）が設定される。これにより、以降の処理では、垂直方向ブロックごとに処理および管理が行われることとなる。
【０２１２】
垂直方向画像分割部２１で分割された画像データは、垂直方向ブロック射影部２３に入力されるが、この垂直方向ブロック射影部２３以降の処理は、実施の形態１の水平方向動きベクトル検出部２と同様の処理が行われる。
【０２１３】
図１９は、垂直方向動きベクトル検出部４Ａの要部構成を示すブロック図である。なお、図１９では、実施の形態１と同様の機能を有する部位には同一の符号を付している。
【０２１４】
垂直方向動きベクトル検出部４Ａでは、実施の形態１の垂直方向動きベクトル検出部４に対して水平方向画像分割部４１と水平方向エッジ抽出フィルタリング部４２との配置が逆転している。以下では、この垂直方向動きベクトル検出部４Ａの動作について説明する。
【０２１５】
図２に示すように水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像が、垂直方向動きベクトル検出部４Ａの入力端子４０に入力されると、水平方向エッジ抽出フィルタリング部４２において水平方向に延びるエッジ成分の抽出、換言すれば垂直方向に急峻に変化する画像部分を強調するようなフィルタリング処理が施される。
【０２１６】
水平方向エッジ抽出フィルタリング部４２で水平方向のエッジが強調されたフレーム画像が水平方向画像分割部４１に入力されると、水平方向にブロック分割される。すなわち、水平方向画像分割部４１では、エッジ強調が施されたフレーム画像を水平方向に分割して得られる複数の画像領域（水平方向ブロック）が設定される。これにより、以降の処理では、水平方向ブロックごとに処理および管理が行われることとなる。
【０２１７】
水平方向画像分割部４１で分割された画像データは、水平方向ブロック射影部４３に入力されるが、この水平方向ブロック射影部４３以降の処理は、実施の形態１の垂直方向動きベクトル検出部４と同様の処理が行われる。以上の動きベクトル検出装置１Ａの動作により、実施の形態１と同様の効果を奏する。
【０２１８】
そして、動きベクトル検出装置１Ａでは、垂直方向エッジ抽出フィルタリング部２２でフレーム画像に対する垂直方向のエッジを強調した後に、エッジ強調されたフレーム画像を垂直方向画像分割部２１において垂直方向に分割するため、垂直方向のエッジが強調された分割画像を簡易に生成できる。
【０２１９】
同様に、水平方向エッジ抽出フィルタリング部４２でフレーム画像に対する水平方向のエッジを強調した後に、エッジ強調されたフレーム画像を水平方向画像分割部４１において水平方向に分割するため、水平方向のエッジが強調された分割画像を簡易に生成できる。
【０２２０】
なお、動きベクトル検出装置１Ａにおいては、垂直方向エッジ抽出フィルタリング部２２と水平方向エッジ抽出フィルタリング部４２とを別々に水平方向動きベクトル検出部２Ａおよび垂直方向動きベクトル検出部４Ａに配置するのは必須でなく、垂直方向エッジ抽出フィルタリング部２２および水平方向エッジ抽出フィルタリング部４２の双方の機能を一体化した水平／垂直方向エッジ抽出フィルタリング部を設けて、その出力を垂直方向画像分割部２１および水平方向画像分割部４１それぞれに入力させるようにしても良い。
【０２２１】
＜変形例＞
上記の各実施の形態における垂直方向エッジ抽出フィルタリング部および水平方向エッジ抽出フィルタリング部については、エッジ抽出を行うフィルタリング処理後に、所定の閾値との大小関係を判別する閾値処理により例えば「エッジあり」「エッジなし」の２値化や、「正のエッジあり」「エッジなし」「負のエッジあり」の３値化を行うようにしても良い。このような閾値処理を行うことにより、所定の閾値以上の輝度変化（輝度勾配）を有するエッジを同一に扱うことが可能となる。
【０２２２】
上記の各実施の形態においては、ビット数削減部２５から出力されるデータを、例えばフレームごとのスイッチ切り替えによって第１の垂直方向ブロック射影ラインメモリ２６と第２の垂直方向ブロック射影ラインメモリ２７とに交互に入力させるようにしても良い。  また、水平方向ブロック射影部４３から出力されるデータを、例えばフレームごとのスイッチ切り替えによって第１の水平方向ブロック射影ラインメモリ４４と第２の水平方向ブロック射影ラインメモリ４６とに交互に入力させるようにしても良い。
【０２２３】
同様に、垂直（水平）方向ブロック射影部から出力されるデータを、例えばフレームごとのスイッチ切り替えによって第１の垂直（水平）方向ブロック射影データ最大値保存部と第２の垂直（水平）方向ブロック射影データ最大値保存部とに交互に入力させるようにしても良い。
【０２２４】
本発明における「前フレーム」には、後フレーム（例えば現在のフレーム）に対して１つだけ前のフレームに限らず、２つ以上前のフレームも含まれる。例えば、フレーム間引き処理により途中のフレームがスキップされている場合には、スキップされたフレームの前のフレームが含まれる。
【図面の簡単な説明】
【０２２５】
【図１】本発明の実施の形態１に係る動きベクトル検出装置１（１Ａ）の要部構成を示すブロック図である。
【図２】フレーム画像における画素走査方向を説明するための図である。
【図３】水平方向動きベクトル検出部２の要部構成を示すブロック図である。
【図４】垂直方向ブロック射影部２３の要部構成を示すブロック図である。
【図５】垂直方向ブロック水平方向動きベクトル算出部３１の要部構成を示すブロック図である。
【図６】垂直方向動きベクトル検出部４の要部構成を示すブロック図である。
【図７】水平方向ブロック射影部４３の要部構成を示すブロック図である。
【図８】水平方向ブロック垂直方向動きベクトル算出部５０の要部構成を示すブロック図である。
【図９】垂直方向画像分割部２１および垂直方向ブロック射影部２３の動作を説明するための図である。
【図１０】ｎ値化器３１４（５０４）におけるｎ値化処理を説明するための図である。
【図１１】第１の閾値交差点探索部２９、垂直方向ブロック射影データ読み出し部３０および垂直方向ブロック水平方向動きベクトル算出部３１の動作を説明するための図である。
【図１２】加算器３１５およびピーク検出器３１７の動作を説明するための図である。
【図１３】水平方向画像分割部４１および水平方向ブロック射影部４３の動作を説明するための図である。
【図１４】第３の閾値交差点探索部４８、水平方向ブロック射影データ読み出し部４９および水平方向ブロック垂直方向動きベクトル算出部５０の動作を説明するための図である。
【図１５】加算器５０５およびピーク検出器５０７の動作を説明するための図である。
【図１６】ピーク検出器３１７（５０７）における「山」を説明するための図である。
【図１７】ピーク検出器３１７（５０７）における第１のピーク値（Ｐ１ｓｔ）と第２のピーク値（Ｐ２ｎｄ）を説明するための図である。
【図１８】本発明の実施の形態２に係る動きベクトル検出装置１Ａにおける水平方向動きベクトル検出部２Ａの要部構成を示すブロック図である。
【図１９】動きベクトル検出装置１Ａにおける垂直方向動きベクトル検出部４Ａの要部構成を示すブロック図である。
【符号の説明】
【０２２６】
１，１Ａ  動きベクトル検出装置、ｈｂ０〜ｈｂ９  水平方向ブロック、ｈｎ０〜ｈｎ９  水平方向ブロック射影データ、ｖｂ０〜ｖｂ７  垂直方向ブロック、ｖｎ０〜ｖｎ６  垂直方向ブロック射影データ、Ａ（１）〜Ａ（８）  第１の閾値交差点、Ｍｈ，Ｍｖ  データ配列、α１  第１の閾値、α２  第２の閾値、Ｂ（１）〜Ｂ（６）  第３の閾値交差点、α３  第３の閾値、α４  第４の閾値。
【図１】
2008139936.tif 000003
【図２】
2008139936.tif 000004
【図３】
2008139936.tif 000005
【図４】
2008139936.tif 000006
【図５】
2008139936.tif 000007
【図６】
2008139936.tif 000008
【図７】
2008139936.tif 000009
【図８】
2008139936.tif 000010
【図９】
2008139936.tif 000011
【図１０】
2008139936.tif 000012
【図１１】
2008139936.tif 000013
【図１２】
2008139936.tif 000014
【図１３】
2008139936.tif 000015
【図１４】
2008139936.tif 000016
【図１５】
2008139936.tif 000017
【図１６】
2008139936.tif 000018
【図１７】
2008139936.tif 000019
【図１８】
2008139936.tif 000020
【図１９】
2008139936.tif 000021