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