JP4213739B2 - Motion vector detection device - Google Patents
Motion vector detection device Download PDFInfo
- Publication number
- JP4213739B2 JP4213739B2 JP2006242343A JP2006242343A JP4213739B2 JP 4213739 B2 JP4213739 B2 JP 4213739B2 JP 2006242343 A JP2006242343 A JP 2006242343A JP 2006242343 A JP2006242343 A JP 2006242343A JP 4213739 B2 JP4213739 B2 JP 4213739B2
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- block
- horizontal
- vertical
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は、時系列的に前後の関係となる前フレームと後フレームとに関するフレーム画像間の動きベクトルを検出する動きベクトル検出装置に関するものである。 The present invention relates to a motion vector detection apparatus that detects a motion vector between frame images related to a previous frame and a subsequent frame that are in a time series relationship.
従来の動きベクトル検出技術としては、特許文献1に記載のように、画像を複数のブロックに分割し、ブロックごとにエッジを検出し、エッジの移動を追うことにより、動きベクトルを検出する方法がある。この方法では、空などのように、空間周波数が低く特徴的な絵柄のない場合や、格子戸のように、空間周波数が高く、特徴点が多数存在する場合の誤判定を軽減するために、1ブロックあたりのエッジ数で重み付けを行い、信頼性を評価している。また、エッジ検出の方法としては、ゼロクロッシング法などが使用されている。
As a conventional motion vector detection technique, as described in
特許文献1に開示された動きベクトル検出方法は、ブロックごとに算出された動きベクトルの信頼性を、ブロックごとのエッジ数で重み付けすることにより、誤判定を軽減しているが、リアルタイム処理が要求される場合には、全ブロックを一様に評価することが難しいという問題を有している。
Although the motion vector detection method disclosed in
すなわち、画像全体を一様に評価しようとすると、全画像を取り込んだ上で動きベクトル検出処理を行う必要があり、それではリアルタイム処理に合わない。処理時間を満足するためには、ブロック単位で処理を完結させ、処理を次々と進める必要があるが、このとき、各ブロックを一様に処理することができないため、各ブロックを一様にエッジ数だけで重み付けしたのでは、必ずしも、十分な結果が得られるとは言いがたい。 That is, if the entire image is to be evaluated uniformly, it is necessary to perform the motion vector detection process after capturing the entire image, which is not suitable for real-time processing. In order to satisfy the processing time, it is necessary to complete the processing in units of blocks and proceed one after another. At this time, each block cannot be processed uniformly, so each block is uniformly edged. It is hard to say that sufficient results are obtained by weighting only by numbers.
本発明は上記のような問題点を解消するためになされたものであり、リアルタイム処理を満足しつつ、各ブロックから算出される動きベクトルの信頼性を評価することが可能な動きベクトル検出装置を提供することを目的とする。 The present invention has been made to solve the above-described problems, and provides a motion vector detection device capable of evaluating the reliability of a motion vector calculated from each block while satisfying real-time processing. The purpose is to provide.
本発明に係る請求項1記載の動きベクトル検出装置は、時系列的に前後の関係となる前フレームと後フレームとに関するフレーム画像間の動きベクトルを検出する動きベクトル検出装置であって、水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像に関して、垂直方向に一定の分割幅を有して複数に分割されたブロックごとに垂直方向のエッジを強調するエッジ強調手段と、前記エッジ強調手段でエッジが強調された画像について、前記ブロックごとに垂直方向に射影をとり、前記ブロックのそれぞれで1水平ライン分のデータ配列を有する射影データを生成する射影手段と、前記後フレームに対して前記射影手段で得られた後フレーム射影データの配列要素において最大値を求める最大値取得手段と、前記前フレームに対して前記射影手段で得られた前フレーム射影データに関して前記データ配列の要素順に配列要素の値をグラフ化した波形と、配列要素の値が所定の一定値となる直線とが交差する各交差点の配列要素の位置を特定して交差点情報として出力する特定手段と、前記各交差点の配列要素の位置を中心とした所定範囲のデータ配列を、前記後フレーム射影データから抽出する抽出手段と、前記抽出手段で抽出された所定範囲のデータ配列それぞれについて、前記各交差点の配列要素の位置に対して相対位置が同じ配列要素同士の値を加算し、得られた加算結果に基づいて前記ブロックごとの水平方向動きベクトルを算出する加算手段と、前記加算手段で算出された前記ブロックごとの水平方向動きベクトルに基づき、フレーム画像全体の水平方向動きベクトルを検出する検出手段とを備え、前記検出手段は、前記最大値取得手段で得られた前記後フレーム射影データの前記最大値、前記加算手段で得られた前記加算結果および前記特定手段で得られた前記交差点情報のうち少なくとも1つを用いて前記ブロックごとの水平方向動きベクトルの信頼性評価を行う。
The motion vector detection device according to
本発明に係る請求項10記載の動きベクトル検出装置は、時系列的に前後の関係となる前フレームと後フレームとに関するフレーム画像間の動きベクトルを検出する動きベクトル検出装置であって、水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像に関して、水平方向に一定の分割幅を有して複数に分割されたブロックごとに水平方向のエッジを強調するエッジ強調手段と、前記エッジ強調手段でエッジが強調された画像について、前記ブロックごとに水平方向に射影をとり、前記ブロックのそれぞれで1垂直ライン分のデータ配列を有する射影データを生成する射影手段と、前記後フレームに対して前記射影手段で得られた後フレーム射影データの配列要素において最大値を求める最大値取得手段と、前記前フレームに対して前記射影手段で得られた前フレーム射影データに関して前記データ配列の要素順に配列要素の値をグラフ化した波形と、配列要素の値が所定の一定値となる直線とが交差する各交差点の配列要素の位置を特定して交差点情報として出力する特定手段と、前記各交差点の配列要素の位置を中心とした所定範囲のデータ配列を、前記後フレーム射影データから抽出する抽出手段と、前記抽出手段で抽出された所定範囲のデータ配列それぞれについて、前記各交差点の配列要素の位置に対して相対位置が同じ配列要素同士の値を加算し、得られた加算結果に基づいて前記ブロックごとの垂直方向動きベクトルを算出する加算手段と、前記加算手段で算出された前記ブロックごとの垂直方向動きベクトルに基づき、フレーム画像全体の垂直方向動きベクトルを検出する検出手段とを備え、前記検出手段は、前記最大値取得手段で得られた前記後フレーム射影データの前記最大値、前記加算手段で得られた前記加算結果および前記特定手段で得られた前記交差点情報のうち少なくとも1つを用いて前記ブロックごとの垂直方向動きベクトルの信頼性評価を行う。 The motion vector detection device according to claim 10 according to the present invention is a motion vector detection device for detecting a motion vector between frame images related to a preceding frame and a following frame which are in a time series front-rear relationship. Edge enhancement means for enhancing a horizontal edge for each block divided into a plurality of blocks having a constant division width in the horizontal direction with respect to a frame image read by sequentially repeating pixel scanning in the vertical direction; Projecting means for projecting in the horizontal direction for each block and generating projection data having a data arrangement for one vertical line in each of the blocks for the image whose edges are enhanced by the enhancing means, and for the subsequent frame Maximum value obtaining means for obtaining a maximum value in the array element of the post-frame projection data obtained by the projection means A waveform obtained by graphing array element values in the order of the elements of the data array with respect to the previous frame projection data obtained by the projecting means with respect to the previous frame intersects with a straight line where the array element value is a predetermined constant value. Specifying means for specifying the position of the array element at each intersection to output as intersection information, and extracting means for extracting a data array in a predetermined range centered on the position of the array element at each intersection from the post-frame projection data And for each data array in a predetermined range extracted by the extraction means, add values of array elements having the same relative position to the position of the array element at each intersection, and based on the obtained addition result, An adder that calculates a vertical motion vector for each block, and a frame based on the vertical motion vector for each block calculated by the adder. Detecting means for detecting a vertical motion vector of the entire image, wherein the detecting means is the maximum value of the post-frame projection data obtained by the maximum value obtaining means, and the addition result obtained by the adding means. Then, at least one of the intersection information obtained by the specifying means is used to evaluate the reliability of the vertical motion vector for each block.
本発明に係る請求項1記載の動きベクトル検出装置によれば、検出手段において、最大値取得手段で得られた後フレーム射影データの最大値、加算手段で得られた加算結果および特定手段で得られた交差点情報のうち少なくとも1つを用いてブロックごとの水平方向動きベクトルの信頼性評価を行うので、信頼性の低いブロックから得られた水平方向動きベクトルを除外することで、結果的に、信頼性の高いフレーム画像全体の水平方向動きベクトルを算出することができる。 According to the motion vector detection apparatus of the first aspect of the present invention, the detection means obtains the maximum value of the post-frame projection data obtained by the maximum value acquisition means, the addition result obtained by the addition means, and the identification means. Since the reliability of the horizontal motion vector for each block is evaluated using at least one of the obtained intersection information, by excluding the horizontal motion vector obtained from the low-reliability block, as a result, It is possible to calculate the horizontal motion vector of the entire frame image with high reliability.
本発明に係る請求項10記載の動きベクトル検出装置によれば、検出手段において、最大値取得手段で得られた後フレーム射影データの最大値、加算手段で得られた加算結果および特定手段で得られた交差点情報のうち少なくとも1つを用いてブロックごとの垂直方向動きベクトルの信頼性評価を行うので、信頼性の低いブロックから得られた垂直方向動きベクトルを除外することで、結果的に、信頼性の高いフレーム画像全体の垂直向動きベクトルを算出することができる。 According to the motion vector detecting device of the present invention, the detecting means obtains the maximum value of the post-frame projection data obtained by the maximum value obtaining means, the addition result obtained by the adding means and the specifying means. Since the reliability evaluation of the vertical motion vector for each block is performed using at least one of the obtained intersection information, by excluding the vertical motion vector obtained from the low-reliability block, as a result, It is possible to calculate the vertical motion vector of the entire frame image with high reliability.
<実施の形態1>
<動きベクトル検出装置の構成>
図1は、本発明の実施の形態1に係る動きベクトル検出装置1の要部構成を示すブロック図である。
<
<Configuration of motion vector detection device>
FIG. 1 is a block diagram showing a main configuration of a motion
動きベクトル検出装置1は、例えば動画像において画面内の被写体の動きを表す画像動きベクトルを検出するものであり、時系列的に前後の関係となる前フレームと後フレームとに関するフレーム画像間の動きベクトルが検出される。この動きベクトル検出装置1で検出された動きベクトルはビデオカメラの手振れ補正などに利用される。なお、動きベクトル検出装置1に入力されるフレーム画像は、図2に示すように水平方向の画素走査および垂直方向のライン走査を行うことによって読み出されるものとする。
The motion
動きベクトル検出装置1は、入力端子11と、水平方向動きベクトル検出部2および垂直方向動きベクトル検出部4と、2つの出力端子12、13とを備えている。この水平方向動きベクトル検出部2および垂直方向動きベクトル検出部4については、その機能が例えばマイクロプロセッサによってソフトウェア的に実現されても良く、また大半をハードウェア(一部をソフトウェア)で実現するようにしても良い。もちろん、全機能をハードウェアで実現しても良いことは言うまでもない。
The motion
入力端子11には、例えばビデオカメラ内の撮像素子で取得された画像(動画像)データやビデオ信号などの画像データが入力される。入力端子11に入力された画像データは、水平方向動きベクトル検出部2において水平方向の動きベクトルが検出され、その検出された水平方向動きベクトルが出力端子12から出力される。
For example, image data such as image (moving image) data or a video signal acquired by an image sensor in a video camera is input to the
一方、垂直方向動きベクトル検出部4では、入力端子11に入力された画像データについて垂直方向の動きベクトルが検出される。この垂直方向動きベクトル検出部4で検出された垂直方向動きベクトルは、出力端子13から出力される。
On the other hand, the vertical
以下では、水平方向動きベクトル検出部2と垂直方向動きベクトル検出部4との構成を順に説明する。
Below, the structure of the horizontal direction motion
図3は、水平方向動きベクトル検出部2の要部構成を示すブロック図である。
水平方向動きベクトル検出部2は、入力端子20と、垂直方向画像分割部21と、垂直方向エッジ抽出フィルタリング部22と、垂直方向ブロック射影部23と、第1の垂直方向ブロック射影データ最大値保存部24と、ビット数削減部25と、第1の垂直方向ブロック射影ラインメモリ26とを備えている。また、水平方向動きベクトル検出部2は、第2の垂直方向ブロック射影ラインメモリ27と、第2の垂直方向ブロック射影データ最大値保存部28と、第1の閾値交差点探索部29と、垂直方向ブロック射影データ読み出し部30と、垂直方向ブロック水平方向動きベクトル算出部31と、水平方向動きベクトル決定部32と、出力端子33とを備えている。以上の水平方向動きベクトル検出部2の各部位について、その機能を簡単に説明する(具体的な動作は後で詳述する)。
FIG. 3 is a block diagram showing the main configuration of the horizontal motion
The horizontal motion
垂直方向画像分割部21は、入力端子20に入力されたフレーム画像を垂直方向に分割し、垂直方向に分割したブロック(以下では「垂直方向ブロック」とも称する)を出力する。
The vertical
垂直方向エッジ抽出フィルタリング部22は、垂直方向画像分割部21で分割されたブロックごとにエッジ抽出を行うためのフィルタリング処理を行う。
The vertical edge
垂直方向ブロック射影部23は、垂直方向エッジ抽出フィルタリング部22から出力されるエッジ強調済みの垂直方向ブロックについて垂直方向に射影をとり、垂直方向ブロックごとに射影データを出力する。
The vertical
第1の垂直方向ブロック射影データ最大値保存部24は、垂直方向ブロック射影部23から出力された現フレームの垂直方向ブロックの射影データにおける絶対値の最大値を保存する。また、第1の垂直方向ブロック射影データ最大値保存部24は、現フレームの垂直方向ブロックの射影データ(以下では「第1の垂直方向ブロック射影データ」とも言う)の最大値に基づき、後述する第2の閾値を算出する。
The first vertical block projection data maximum
ビット数削減部25は、第1の垂直方向ブロック射影データ最大値保存部24に保存された第1の垂直方向ブロック射影データの最大値に基づき、垂直方向ブロック射影部23から出力された垂直方向ブロックの射影データのビット数を削減する。
Based on the maximum value of the first vertical block projection data stored in the first vertical block projection data maximum
第1の垂直方向ブロック射影ラインメモリ26は、ビット数削減部25でビット数が削減された第1の垂直方向ブロック射影データを保存する。
The first vertical block
第2の垂直方向ブロック射影ラインメモリ27は、第1の垂直方向ブロック射影ラインメモリ26から送られた垂直方向ブロック射影データを、前フレームの垂直方向ブロックの射影データ(以下では「第2の垂直方向ブロック射影データ」とも言う)として保存する。
The second vertical block
第2の垂直方向ブロック射影データ最大値保存部28は、第1の垂直方向ブロック射影データ最大値保存部24から出力された垂直方向ブロックの射影データの最大値を、前フレームに関する第2の垂直方向ブロック射影データの最大値として保存する。また、第2の垂直方向ブロック射影データ最大値保存部28は、第2の垂直方向ブロック射影データの最大値に基づき、後述する第1の閾値を算出する。
The second vertical block projection data maximum
第1の閾値交差点探索部29は、第2の垂直方向ブロック射影ラインメモリ27に保存される前フレームに係る第2の垂直方向ブロック射影データの波形と、第2の垂直方向ブロック射影データ最大値保存部28で算出された第1の閾値とが交差する点を求め、この交差点(以下では「第1の閾値交差点」とも言う)の情報を出力する。
The first threshold value
垂直方向ブロック射影データ読み出し部30は、第1の閾値交差点探索部29で求められた第1の閾値交差点を中心に、その前後の所定範囲(動きベクトル検出範囲)内にある第1の垂直方向ブロック射影データを、第1の垂直方向ブロック射影ラインメモリ26から読み出す。
The vertical block projection
垂直方向ブロック水平方向動きベクトル算出部31は、第1の垂直方向ブロック射影データ最大値保存部24から出力される第2の閾値を用い、垂直方向ブロック射影データ読み出し部30で読み出された第1の垂直方向ブロック射影データそれぞれをn値化(nは2以上の整数)してビット数の削減を行うとともに、n値化された射影データを第1の閾値交差点からの距離ごとに加算する。
The vertical block horizontal motion
水平方向動きベクトル決定部32は、垂直方向ブロック水平方向動きベクトル算出部31からの出力に基づき画像の水平方向動きベクトルを決定する。ここで決定された画像の水平方向動きベクトルは出力端子33から出力される。なお、水平方向動きベクトル決定部32は、第1の垂直方向ブロック射影データ最大値保存部24に保存された、第1の垂直方向ブロック射影データの最大値および第1の閾値交差点探索部29から出力される第1の閾値交差点の情報を受けて、水平方向動きベクトルの信頼性を高める処理に使用する構成となっている。
The horizontal motion
図4は、垂直方向ブロック射影部23の要部構成を示すブロック図である。
垂直方向ブロック射影部23は、入力端子231と、1水平ラインずつデータ加算を行う加算器232と、加算器232で加算されたデータを逐次保存するバッファメモリとしての垂直方向射影一時記憶メモリ233と、出力端子234とを備えている。
FIG. 4 is a block diagram showing a main configuration of the vertical
The vertical
入力端子231には、垂直方向エッジ抽出フィルタリング部22で垂直方向のエッジが強調された画像が垂直方向ブロックごとに入力される。入力端子231に入力された画像は、垂直方向ブロックごとに加算器232および垂直方向射影一時記憶メモリ233によって垂直方向に射影がとられる。具体的には、加算器232において垂直方向ブロックの1水平ライン分のデータと、垂直方向射影一時メモリ233から読み出された1水平ライン分のデータとが加算され、加算結果が垂直方向射影一時記憶メモリ233に再び戻されて記憶される。このような加算動作が繰り返されることにより垂直方向ブロックにおける全ての水平ラインの加算が終了すると、全水平ラインの加算データ、つまり垂直方向の射影データが出力端子234から出力されることとなる。
The
図5は、垂直方向ブロック水平方向動きベクトル算出部31の要部構成を示すブロック図である。
FIG. 5 is a block diagram illustrating a main configuration of the vertical block horizontal motion
垂直方向ブロック水平方向動きベクトル算出部31は、3つの入力端子311〜313と、n値化器314と、n値化器314でn値化された第1の垂直方向ブロック射影データの加算を行う加算器315と、加算器315で加算されたデータを逐次保存するバッファメモリとしての水平方向動きベクトル加算メモリ316と、ピーク検出器317と、出力端子318および319とを備えている。
The vertical block horizontal motion
入力端子311には、垂直方向ブロック射影データ読み出し部30から出力された第1の垂直方向ブロック射影データが入力され、入力端子312には、第1の垂直方向ブロック射影データ最大値保存部24から出力された第2の閾値が入力される。また、入力端子313には、第1の閾値交差点探索部29から出力された第1の閾値交差点の情報が入力される。
The first vertical block projection data output from the vertical block projection
n値化器314は、入力端子311から入力された第1の垂直方向ブロック射影データを、入力端子312から入力される第2の閾値に基づいてn値化(例えば3値化)する。
The n-
加算器315は、n値化器314でn値化された第1の垂直方向ブロック射影データと、水平方向動きベクトル加算メモリ316から読み出されたデータとを第1の閾値交差点を中心として加算し、加算結果を水平方向動きベクトル加算メモリ316に再び記憶させる。このような加算動作が繰り返されることにより垂直方向ブロックに関する全ての第1の閾値交差点についての加算が終了すると、垂直方向ブロックに関する加算データがピーク検出器317に出力される。
The adder 315 adds the first vertical block projection data n-valued by the n-
ピーク検出器317は、加算器315から出力された加算データにおけるピーク位置(後述する水平方向動きベクトル)とピーク値とを検出する。このピーク検出器317で検出されたピーク位置は、出力端子318を介して水平方向動きベクトル決定部32に入力され、ピーク値は出力端子319を介して水平方向動きベクトル決定部32に入力されることとなる。
The
次に、垂直方向動きベクトル検出部4の構成を説明する。
図6は、垂直方向動きベクトル検出部4の要部構成を示すブロック図である。
Next, the configuration of the vertical motion
FIG. 6 is a block diagram showing a main configuration of the vertical motion
垂直方向動きベクトル検出部4は、入力端子40と、水平方向画像分割部41と、水平方向エッジ抽出フィルタリング部42と、水平方向ブロック射影部43と、第1の水平方向ブロック射影ラインメモリ44と、第1の水平方向ブロック射影データ最大値保存部45とを備えている。また、垂直方向動きベクトル検出部4は、第2の水平方向ブロック射影ラインメモリ46と、第2の水平方向ブロック射影データ最大値保存部47と、第3の閾値交差点探索部48と、水平方向ブロック射影データ読み出し部49と、水平方向ブロック垂直方向動きベクトル算出部50と、垂直方向動きベクトル決定部51と、出力端子52とを備えている。以上の垂直方向動きベクトル検出部4の各部位について、その機能を簡単に説明する(具体的な動作は後で詳述する)。
The vertical motion
水平方向画像分割部41は、入力端子40に入力されたフレーム画像を水平方向に分割し、水平方向に分割したブロック(以下では「水平方向ブロック」とも称する)を出力する。
The horizontal
水平方向エッジ抽出フィルタリング部42は、水平方向画像分割部41で分割されたブロックごとにエッジ抽出を行うためのフィルタリング処理を行う。
The horizontal direction edge
水平方向ブロック射影部43は、水平方向エッジ抽出フィルタリング部42から出力されるエッジ強調済みの水平方向ブロックについて水平方向に射影をとり、水平方向ブロックごとに射影データを出力する。
The horizontal
第1の水平方向ブロック射影ラインメモリ44は、水平方向ブロック射影部43から出力された水平方向ブロックの射影データを、現フレームの水平方向ブロック射影データ(以下では「第1の水平方向ブロック射影データ」とも言う)として保存する。
The first horizontal block
第1の水平方向ブロック射影データ最大値保存部45は、水平方向ブロック射影部43から出力された現フレームの水平方向ブロックの射影データの最大値を保存する。
The first horizontal block projection data maximum
第2の水平方向ブロック射影ラインメモリ46は、第1の水平方向ブロック射影ラインメモリ44から送られた水平方向ブロック射影データを、前フレームの水平方向ブロックの射影データ(以下では「第2の水平方向ブロック射影データ」とも言う)として保存する。
The second horizontal block
第2の水平方向ブロック射影データ最大値保存部47は、第1の水平方向ブロック射影データ最大値保存部45から出力された水平方向ブロックの射影データの最大値を、前フレームに関する第2の水平方向ブロック射影データの最大値として保存する。また、第2の水平方向ブロック射影データ最大値保存部47は、前フレームに関する第2の水平方向ブロック射影データの最大値に基づき、後述する第3の閾値および第4の閾値を算出する。
The second horizontal block projection data maximum
第3の閾値交差点探索部48は、第2の水平方向ブロック射影ラインメモリ46に保存される前フレームに係る第2の水平方向ブロック射影データと、第2の水平方向ブロック射影データ最大値保存部47で算出された第3の閾値とが交差する点を求め、この交差点(以下では「第3の閾値交差点」とも言う)の情報を出力する。
The third threshold
水平方向ブロック射影データ読み出し部49は、第3の閾値交差点探索部48で求められた第3の閾値交差点を中心に、その前後の所定範囲(動きベクトル検出範囲)内にある第1の水平方向ブロック射影データを、第1の水平方向ブロック射影ラインメモリ44から読み出す。
The horizontal block projection data reading unit 49 has a first horizontal direction within a predetermined range (motion vector detection range) before and after the third threshold intersection obtained by the third threshold
水平方向ブロック垂直方向動きベクトル算出部50は、第2の水平方向ブロック射影データ最大値保存部47から出力される第4の閾値を用い、水平方向ブロック射影データ読み出し部49で読み出された第1の水平方向ブロック射影データそれぞれをn値化(nは2以上の整数)してビット数の削減を行うとともに、n値化された射影データを第3の閾値交差点からの距離ごとに加算する。
The horizontal block vertical motion
垂直方向動きベクトル決定部51は、水平方向ブロック垂直方向動きベクトル算出部50からの出力に基づき画像の垂直方向動きベクトルを決定する。ここで決定された画像の垂直方向動きベクトルは出力端子52から出力される。なお、垂直方向動きベクトル決定部51は、第1の水平方向ブロック射影データ最大値保存部45に保存された、第1の水平方向ブロック射影データの最大値および第3の閾値交差点探索部48から出力される第3の閾値交差点の情報を受けて、垂直方向動きベクトルの信頼性を高める処理に使用する構成となっている。
The vertical motion
図7は、水平方向ブロック射影部43の要部構成を示すブロック図である。
水平方向ブロック射影部43は、入力端子431と、水平方向ブロックの1水平ラインデータの加算を行う加算器432と、加算器432で加算されたデータを逐次保存するバッファメモリとしての水平方向射影一時記憶メモリ433と、出力端子434とを備えている。
FIG. 7 is a block diagram showing a main configuration of the horizontal
The horizontal
入力端子431には、水平方向エッジ抽出フィルタリング部42で水平方向のエッジが強調された画像が入力される。入力端子431に入力された画像は、水平方向ブロックごとに加算器432および水平方向射影一時記憶メモリ433によって水平方向に射影がとられる。具体的には、水平方向ブロック内の1水平ラインの画素について、入力端子431から入力された画素と、前画素までに加算器432で加算され水平方向射影一時記憶メモリ433に記憶された加算結果を、加算器432で加算し、その加算結果を再び水平方向射影一時記憶メモリ433に戻し記憶する。このような加算動作が繰り返されることにより水平方向ブロックにおける1水平ラインの加算が終了すると、その水平方向ブロックの1水平ラインの全画素の加算データ、つまり水平方向の射影データが出力端子434から出力されることとなる。以下、同様にして、次の水平方向ブロックの水平方向の射影データが処理され、1水平ラインについて全ての水平方向ブロックの処理が終了すると、次の1水平ラインの処理がなされる。
The
図8は、水平方向ブロック垂直方向動きベクトル算出部50の要部構成を示すブロック図である。
FIG. 8 is a block diagram showing a main configuration of the horizontal block vertical motion
水平方向ブロック垂直方向動きベクトル算出部50は、3つの入力端子501〜503と、n値化器504と、n値化器504でn値化された第1の水平方向ブロック射影データの加算を行う加算器505と、加算器505で加算されたデータを逐次保存するバッファメモリとしての垂直方向動きベクトル加算メモリ506と、ピーク検出器507と、出力端子508および509とを備えている。
The horizontal block vertical motion
入力端子501には、水平方向ブロック射影データ読み出し部49から出力された第1の水平方向ブロック射影データが入力され、入力端子502には、第2の水平方向ブロック射影データ最大値保存部47から出力された第4の閾値が入力される。また、入力端子503には、第3の閾値交差点探索部48から出力された第3の閾値交差点の情報が入力される。
The first horizontal block projection data output from the horizontal block projection data reading unit 49 is input to the
n値化器504は、入力端子501から入力された第1の水平方向ブロック射影データを、入力端子502から入力される第4の閾値に基づいてn値化(例えば3値化)する。
The n-
加算器505は、n値化器504でn値化された第1の水平方向ブロック射影データと、垂直方向動きベクトル加算メモリ506から読み出されたデータとを第3の閾値交差点を中心として加算し、加算結果を垂直方向動きベクトル加算メモリ506に再び記憶させる。このような加算動作が繰り返されることにより水平方向ブロックに関する全ての第3の閾値交差点についての加算が終了すると、水平方向ブロックに関する加算データがピーク検出器507に出力される。
The
ピーク検出器507は、加算器505から出力された加算データにおけるピーク位置(後述する垂直方向動きベクトル)とピーク値とを検出する。このピーク検出器507で検出されたピーク位置は、出力端子508を介して垂直方向動きベクトル決定部51に入力され、ピーク値は出力端子509を介して水平方向動きベクトル決定部32に入力されることとなる。
The
以上のような構成を有する動きベクトル検出装置1の動作について、以下で説明する。
The operation of the motion
<動きベクトル検出装置1の動作>
<水平方向動きベクトル検出部2の動作>
まず、動きベクトル検出装置1において画像の水平方向の動きベクトルを検出する水平方向動きベクトル検出部2の動作を説明する。
<Operation of Motion
<Operation of Horizontal Motion
First, the operation of the horizontal motion
図2のように水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像が、図3に示す水平方向動きベクトル検出部2の入力端子20に入力されると、垂直方向画像分割部21で垂直方向にブロック分割される。すなわち、垂直方向画像分割部21においては、フレーム画像において垂直方向に分割して得られる複数の画像領域(垂直方向ブロック)が設定される。これにより、以降の処理では、垂直方向ブロックごとに処理および管理が行われることとなる。
As shown in FIG. 2, when a frame image read out by sequentially repeating pixel scanning of the horizontal line in the vertical direction is input to the
垂直方向画像分割部21では、例えば図9(a)に示すように640画素×480画素の画像データが、垂直方向に64画素の幅(分割幅)を有した7個の垂直方向ブロックvb0〜vb6に分割される。なお、垂直方向の最下段の画像データvb7は水平方向動きベクトルの検出において利用されないこととなるが、フレーム画像の大部分を占める7つの垂直方向ブロックvb0〜vb6が水平方向動きベクトルの検出に使用されるため、検出精度の面で特に問題はないと考えられる。ここで、図9(a)に示す分割幅および分割数とするのは必須でない。
In the vertical
垂直方向画像分割部21で図9(a)のように7個の垂直方向ブロックvb0〜vb6に分割された画像は、垂直方向エッジ抽出フィルタリング部22において垂直方向に延びるエッジ成分の抽出、換言すれば水平方向に急峻に変化する画像部分を強調するようなフィルタリング処理が施される。
The image divided by the vertical
このフィルタリング処理で用いられるフィルタとしては、単純に水平方向に隣接する画素との差分を取る(1,−1)の2タップフィルタや、2次微分に相当する(−1,2,−1)の3タップフィルタなどの使用が可能である。なお、このようなフィルタを使用するのは必須でなく、水平方向に輝度変化が大きくなる画像部分において出力値が上昇するフィルタであれば良い。 As a filter used in this filtering processing, a (1, -1,) 2-tap filter that simply takes a difference from a pixel adjacent in the horizontal direction, or (-1, 2, -1) corresponding to a second order differential. It is possible to use a 3-tap filter. Note that it is not essential to use such a filter, and any filter may be used as long as the output value increases in an image portion where the luminance change in the horizontal direction increases.
垂直方向エッジ抽出フィルタリング部22で各垂直方向ブロック(画像領域)vb0〜vb6ごとに垂直方向のエッジが強調された画像データは、垂直方向ブロック射影部23に入力され、垂直方向ブロック射影部23で垂直方向に射影される。この射影により、垂直方向の(ライン間で)ノイズ成分を低減でき、また垂直方向のエッジ成分をより強調できるため、特徴点に対応する垂直方向エッジを際立たせて動きベクトル検出精度の向上を図れることとなる。垂直方向ブロック射影部23の動作について、図9(b)の概念図を参照しつつ説明する。
The image data in which the vertical edge is emphasized for each of the vertical blocks (image regions) vb0 to vb6 by the vertical edge
垂直方向ブロック射影部23では、図9(a)に示す各垂直方向ブロックvb0〜vb6の入力が完了した時点、つまりエッジ強調された各垂直方向ブロックvb0〜vb6における最終ラインの最終画素が入力された時点で、1水平ライン分のデータ配列Mvを有する垂直方向ブロック射影データvn0〜vn6(図9(b))それぞれの全配列要素が生成される。なお、データ配列Mvは、水平ラインの全画素数(例えば640)の配列要素を有しているが、(1,−1)のような2タップフィルタでは有効要素が水平ラインの全画素数−1(例えば639)、(−1,2,−1)のような3タップフィルタでは有効要素が水平ラインの全画素数−2(例えば638)となる。
In the vertical
具体的には、図4に示すように入力端子231を介して入力された各垂直方向ブロックvb0〜vb6の画像データ(垂直方向のエッジ強調が施された画像データ)が、順次に加算器232に入力される。
Specifically, as shown in FIG. 4, the image data of the vertical blocks vb0 to vb6 (image data subjected to vertical edge emphasis) input via the
加算器232では、まず入力された垂直方向ブロックの先頭の水平ラインが、垂直方向射影一時記憶メモリ233内のデータを読み出すことなく、垂直方向射影一時記憶メモリ233に書き込まれる。次に、加算器232では、垂直方向射影一時記憶メモリ233に記憶されている前ラインまでの加算結果を読み出し、入力端子231から入力される垂直方向ブロックの水平1ラインとの加算を行って、その加算結果を垂直方向射影一時記憶メモリ233に書き戻す。
In the
そして、垂直方向ブロックにおける最終の水平ラインが加算器232に入力されると、垂直方向射影一時記憶メモリ233に保存された前ラインまでの加算結果を読み出し、入力端子231から入力される垂直方向ブロックの最終ラインとの加算を行って、その加算結果、つまり垂直方向ブロックの全ての水平ラインが加算されたデータを垂直方向ブロックの射影データとして、出力端子234から第1の垂直方向ブロック射影データ最大値保存部24とビット数削減部25とに出力する。
When the final horizontal line in the vertical block is input to the
なお、加算器232において垂直方向ブロックの全水平ラインが加算された射影データを垂直方向射影一時記憶メモリ233に一旦記憶させ、次の垂直方向ブロックの先頭ラインが入力される際に、垂直方向射影一時記憶メモリ233内の射影データを読み出して出力端子234から出力するようにしても良い。
The
第1の垂直方向ブロック射影データ最大値保存部24では、垂直方向ブロック射影部23から出力された垂直方向ブロックの射影データに関する最大値を算出し、現フレームの垂直方向ブロック射影データ最大値として保存する。すなわち、第1の垂直方向ブロック射影データ最大値保存部24は、現フレーム(後フレーム)の射影データに関するデータ配列Mv(図9(b))の配列要素において最大値を求め、この最大値を記憶する。
The first vertical block projection data maximum
また、第1の垂直方向ブロック射影データ最大値保存部24では、算出された現フレームの垂直方向ブロック射影データ最大値に基づき、第2の閾値を算出する。例えば、現フレームの垂直方向ブロックの射影データに関する最大値をP1maxとすると、第2の閾値α2は次の式(1)で算出される。
Further, the first vertical block projection data maximum
α2=P1max×k1・・・・・・・・(1) α2 = P1max × k1 (1)
ここで、k1は予め定められた係数で、0<k1<1である。 Here, k1 is a predetermined coefficient, and 0 <k1 <1.
なお、第2の閾値α2の演算は、上式(1)に限るものではなく、現フレームの垂直方向ブロック射影データ最大値P1maxが大きくなれば第2の閾値α2が大きくなるものであれば良く、また変換テーブルを使用しても良い。 Note that the calculation of the second threshold value α2 is not limited to the above equation (1), and it is sufficient that the second threshold value α2 increases as the vertical block projection data maximum value P1max of the current frame increases. Alternatively, a conversion table may be used.
ビット数削減部25では、第1の垂直方向ブロック射影データ最大値保存部24から入力された現フレームの垂直方向ブロック射影データの最大値に基づき射影データの有効ビットレンジを決定する。そして、この有効ビットレンジに基づき設定される上位無効ビットおよび下位無効ビットを垂直方向ブロック射影部23から入力された垂直方向ブロック射影データから削減し、有効ビットのみで構成される現フレームの垂直方向ブロック射影データを第1の垂直方向ブロック射影ラインメモリ26に出力する。
The bit
第1の垂直方向ブロック射影ラインメモリ26は、ビット数削減部25によってビット数が低減された現フレームの垂直方向ブロック射影データを、第1の垂直方向ブロック射影データとして垂直方向ブロックごとに保存する。すなわち、第1の垂直方向ブロック射影ラインメモリ26には、第1の垂直方向ブロック射影データ最大値保存部24で求められた射影データの最大値に基づきビット数削減部25においてビット数(各配列要素のデータ長)が削減された現フレーム(後フレーム)の射影データが記憶される。
The first vertical block
第1の垂直方向ブロック射影ラインメモリ26は、現フレームに関する新たな第1の垂直方向ブロック射影データが入力されるタイミングで、前フレームの垂直方向ブロック射影データを読み出し、第2の垂直方向ブロック射影ラインメモリ27に与える。第2の垂直方向ブロック射影ラインメモリ27は、第1の垂直方向ブロック射影ラインメモリ26から読み出された前フレームの垂直方向ブロック射影データを、第2の垂直方向ブロック射影データとして保存する。
The first vertical block
同様に、第1の垂直方向ブロック射影データ最大値保存部24は、現フレームに関する新たな第1の垂直方向ブロック射影データの最大値が入力されるタイミングで、前フレームの垂直方向ブロック射影データの最大値を読み出し、第2の垂直方向ブロック射影データ最大値保存部28に与える。第2の垂直方向ブロック射影データ最大値保存部28では、第1の垂直方向ブロック射影データ最大値保存部24から読み出された前フレームの垂直方向ブロック射影データの最大値が、前フレームに関する第2の垂直方向ブロック射影データの最大値として保存される。
Similarly, the first vertical block projection data maximum
換言すれば、第1の垂直方向ブロック射影データ最大値保存部24に保存された現フレームの垂直方向ブロック射影データの最大値は、次のフレームでは、第2の垂直方向ブロック射影データ最大値保存部28に前フレームの垂直方向ブロック射影データの最大値として保存されることとなる。
In other words, the maximum value of the vertical block projection data of the current frame stored in the first vertical block projection data maximum
第2の垂直方向ブロック射影データ最大値保存部28は、前フレームに関する第2の垂直方向ブロック射影データの最大値に基づき、第1の閾値(所定の一定値)が設定される。例えば、前フレームの垂直方向ブロック射影データの最大値をP2maxとすると、第1の閾値α1は次の式(2)で算出される。
The second vertical block projection data maximum
α1=P2max×k2・・・・・・・・(2) α1 = P2max × k2 (2)
ここで、k2は予め定められた係数で、0<k2<1である。 Here, k2 is a predetermined coefficient, and 0 <k2 <1.
なお、第1の閾値α1の演算は、上式(2)に限るものではなく、前フレームの垂直方向ブロック射影データ最大値P2maxが大きくなれば第1の閾値α1が大きくなるものであれば良く、また変換テーブルを使用しても良い。 Note that the calculation of the first threshold value α1 is not limited to the above equation (2), and it is sufficient if the first threshold value α1 increases as the vertical block projection data maximum value P2max of the previous frame increases. Alternatively, a conversion table may be used.
第1の閾値交差点探索部29では、第2の垂直方向ブロック射影ラインメモリ27から読み出された第2の垂直方向ブロック射影データと、第2の垂直方向ブロック射影データ最大値保存部28から出力された第1の閾値との交差点(第1の閾値交差点)を水平方向に探索する。この第1の閾値交差点探索部29で得られた第1の閾値交差点の情報は、垂直方向ブロック射影データ読み出し部30と垂直方向ブロック水平方向動きベクトル算出部31とに出力される。
The first threshold
垂直方向ブロック射影データ読み出し部30は、第1の閾値交差点探索部29から出力された第1の閾値交差点を中心とした動きベクトル検出範囲に対応した現フレームの(第1の)垂直方向ブロック射影データを第1の垂直方向ブロック射影ラインメモリ26から読み出す。すなわち、第1の閾値交差点をA(i)(ただしi=1,2,・・・pで、pは検出された第1の閾値交差点の総数)とし、動きベクトル検出範囲を第1の閾値交差点を中心とした(−V)から(+V)(ただしVは正の整数)の範囲とすると、第1の垂直方向ブロック射影ラインメモリ26から読み出される射影データは、水平方向において(A(i)−V)から(A(i)+V)までの範囲にある第1の垂直方向ブロック射影データの部分データとなる。
The vertical block projection data read
この垂直方向ブロック射影データ読み出し部30によって第1の垂直方向ブロック射影ラインメモリ26から読み出された第1の垂直方向ブロック射影データは、垂直方向ブロック水平方向動きベクトル算出部31に出力される。
The first vertical block projection data read from the first vertical block
垂直方向ブロック射影データ読み出し部30から出力された第1の垂直方向ブロック射影データは、図5に示す垂直方向ブロック水平方向動きベクトル算出部31の入力端子311を介してn値化器314に入力される。このn値化器314では、第1の垂直方向ブロック射影データ最大値保存部24から出力され、入力端子312を介して入力された第2の閾値に基づき、第1の垂直方向ブロック射影データをn値化する。すなわち、n値化器314は、垂直方向ブロック射影データ読み出し部30で抽出された現フレームの射影データに関するデータ配列Mv(図9(b))各配列要素のデータ長を、例えば3値化処理して圧縮する。このn値化器314の処理について、図10を参照しつつ説明する。
The first vertical block projection data output from the vertical block projection
図10は、n値化器314におけるn値化処理を説明するための図である。なお、図10では、n=3となる3値化処理の一例を示している。
FIG. 10 is a diagram for explaining the n-value conversion processing in the n-
n値化器314に入力される第1の垂直方向ブロック射影データをD、入力端子312を介して入力される第2の閾値をα2(α2は正の整数)とすると、n値化器314では、D<(−α2)のとき(−1)を出力し、(−α2)≦D≦α2のとき0を出力するとともに、D>α2のとき1を出力することで3値化処理が行われる。すなわち、n値化器314における3値化処理では、現フレーム(後フレーム)の射影データにおけるデータ配列Mvの配列要素の最大値に基づき設定される第2の閾値α2(α2>0)に関して、垂直方向ブロック射影データ読み出し部30で抽出された現フレームの射影データに関する配列要素の値が、(−α2)より小さい場合、(−α2)以上でα2以下の場合、およびα2より大きい場合の3段階による3値化が行われる。
If the first vertical block projection data input to the n-
このn値化器314でのn値化処理については、垂直方向ブロック射影データ読み出し部30から出力される現フレームの第1の垂直方向ブロック射影データの部分波形が、第1の閾値交差点に対してどのような位置関係、つまりどのような傾向の波形となっているのかが重要であるため、第1の垂直方向ブロック射影データの波形において山や谷が判別できるだけのビット精度を確保すれば十分である。
With regard to the n-value conversion processing by the n-
一方、n値化器314においてビット数の削減を行わずに、垂直方向ブロック射影データ読み出し部30から出力された第1の垂直方向ブロック射影データの値そのものを採用する場合には、第1の垂直方向ブロック射影データD>α2に対応する大きな振幅の山や、D<(−α2)に対応する大きな振幅の谷に、画像の特徴が表れる小さな振幅の山や谷が埋没してしまう恐れがあり不適切である。さらに、(−α2)≦D≦α2に対応する小さな山や谷は、ノイズの影響を受けやすく数も多いため、これに画像の特徴が表れる適度な振幅の山や谷が埋もれることとなる。
On the other hand, when the value of the first vertical block projection data output from the vertical block projection
よって、n値化器314では、第1の垂直方向ブロック射影データに対して適切なn値化処理を施すことにより、動きベクトルの検出精度の向上を図っている。
Therefore, the n-
以上で説明した第1の閾値交差点探索部29、垂直方向ブロック射影データ読み出し部30および垂直方向ブロック水平方向動きベクトル算出部31の動作について、図11(a)、図11(b)および図11(c)を参照しつつ具体的に説明する。なお、図11(a)および図11(b)の横軸は、射影データのデータ配列Mv(図9(b))の配列要素の位置を示している。また、図11(a)では、第1の閾値交差点A(1)〜A(8)それぞれを丸印で表している。
The operations of the first threshold
第1の閾値交差点探索部29では、図11(a)に示すように前フレームに関する第2の垂直方向ブロック射影データW2の波形において、第2の垂直方向ブロック射影データ最大値保存部28から出力された第1の閾値α1と交差する第1の閾値交差点A(1)〜A(8)が求められる。すなわち、第1の閾値交差点探索部29は、前フレームに対して垂直方向ブロック射影部23で得られた射影データに関して射影データのデータ配列Mv(図9(b))の要素順に配列要素の値をグラフ化した波形W2と、配列要素の値が第1の閾値(所定の一定値)α1となる直線とが交差する各第1の閾値交差点の配列要素の位置を特定する。
The first threshold value
次に、垂直方向ブロック射影データ読み出し部30では、図11(a)に示す各第1の閾値交差点A(1)〜A(8)を中心とした所定の動きベクトル検出範囲について第1の垂直方向ブロック射影ラインメモリ26から現フレームの垂直方向ブロック射影データが読み出される。すなわち、垂直方向ブロック射影データ読み出し部30は、各第1の閾値交差点における射影データ(データ配列)の配列要素の位置を中心とした所定範囲のデータ配列を、垂直方向ブロック射影部23から出力されビット数削減部25によりビット数が削減された現フレーム(後フレーム)の射影データから抽出する。例えば第1の閾値交差点A(7)に関しては、図11(b)に示すように第1の閾値交差点A(7)を中心に(A(7)−V)から(A(7)+V)までの範囲(矩形の破線内の波形部分)に対応する第1の垂直方向ブロック射影データW1が読み出される。
Next, the vertical block projection
そして、垂直方向ブロック射影データ読み出し部30によって読み出された第1の垂直方向ブロック射影データは、第1の垂直方向ブロック射影データ最大値保存部24から出力された第2の閾値α2を用いて、垂直方向ブロック水平方向動きベクトル算出部31のn値器314でn値化処理される。例えば第1の閾値交差点A(7)に関しては、図11(b)に示す第2の閾値α2および(−α2)に対する第1の垂直方向ブロック射影データW1の大小関係に基づき、第1の閾値交差点A(7)を中心に(A(7)−V)から(A(7)+V)までの範囲(矩形の破線内の波形部分)について、図11(c)のように第1の垂直方向ブロック射影データが3値化処理される。これにより、現フレームの垂直方向ブロック射影データが「−1」、「0」または「1」で表されることとなる。
Then, the first vertical block projection data read by the vertical block projection
n値化器314では、第1の閾値交差点探索部29から出力される全ての第1の閾値交差点について、図11(c)に示すようなn値化処理が行われる。
In the n-
次に、加算器315(図5)では、入力端子313を介して第1の閾値交差点探索部29から出力された第1の閾値交差点を中心に、n値化器314でn値化された第1の垂直方向ブロック射影データと、水平方向動きベクトル加算メモリ316から読み出された1つ前までのn値化された第1の垂直方向ブロック射影データの加算値とを加算し、その加算結果を水平方向動きベクトル加算メモリ316に再び記憶させる。そして、第1の閾値交差点探索部29で検出された全ての第1の閾値交差点のうち最後のものに関するn値化された第1の垂直方向ブロック射影データを加算器315で加算して1つの垂直方向ブロックについての加算処理を終了する際には、その加算結果をピーク検出器317に出力するようにする。なお、加算器315での加算処理終了後に、全ての第1の閾値交差点に関する加算結果を記憶している水平方向動きベクトル加算メモリ316から、その加算結果をピーク検出部317が読み出すようにしても良い。
Next, in the adder 315 (FIG. 5), the n-
ピーク検出器317には、第1の閾値交差点探索部29で検出された全ての第1の閾値交差点について各第1の閾値交差点を中心とした動きベクトル検出範囲(上述した±Vの範囲)に対応するn値化済みの第1の垂直方向ブロック射影データを加算したデータ(以下では「垂直方向ブロックn値化データ」とも言う)が入力されるが、この垂直方向ブロックn値化データに関するピーク値がピーク検出器317で検出される。このピーク検出器317において検出される垂直方向ブロックn値化データのピーク位置が、その垂直方向ブロックから得られる水平方向動きベクトルとなり、出力端子318を介して水平方向動き決定部32に出力される。同様に、そのときのピーク値は出力端子319から出力される。
The
以上で説明した加算器315およびピーク検出部317の動作について、図12(a)および図12(b)を参照しつつ具体的に説明する。なお、図12(a)では、図11(a)に示す第1の閾値交差点A(1)〜A(8)を中心とした動きベクトル検出範囲(±Vの範囲)において第1の垂直方向ブロック射影データを3値化したものを概念的に示している。
The operations of the adder 315 and the
加算器315において、図12(a)に示す第1の閾値交差点A(1)〜A(8)周辺の3値化データが順次に入力されると、これらのデータが加算され、図12(b)に示すような垂直方向ブロックn値化データが生成される。具体的には、加算器315において垂直方向ブロック射影データ読み出し部30により垂直方向ブロック射影データ(データ配列Mv(図9(b)))から抽出されn値器314でデータ長が圧縮された現フレームに係る動きベクトル検出範囲(所定範囲)のデータ配列それぞれについて、各第1の閾値交差点の配列要素の位置に対して相対位置が同じ配列要素同士の値が加算されることとなる。
In the adder 315, when ternary data around the first threshold intersections A (1) to A (8) shown in FIG. 12 (a) are sequentially input, these data are added, and FIG. Vertical block n-valued data as shown in b) is generated. Specifically, in the adder 315, the vertical block projection
加算器315で生成された垂直方向ブロックn値化データがピーク検出器317に入力されると、その垂直方向ブロックの水平方向動きベクトルとして図12(b)に示す水平方向のピーク位置hvが検出される。すなわち、ピーク検出器317では、加算器315で加算された加算結果に基づき、フレーム画像の水平方向に関する動きベクトルが検出される。
When the vertical block n-valued data generated by the adder 315 is input to the
このピーク検出器317では、原則的に動きベクトル検出範囲(±Vの範囲)において最大値となるピーク位置が探索されるが、同一の最大値が複数ある場合には、原点0に近いもの(原点0までの距離が等しい場合には負の位置のもの)を優先する。なお、このようなピーク位置の検出ルールに限らず、正の位置にある最大値を優先しても良く、また前フレームにおける動きベクトルの傾向を現フレームのピーク位置の検出に利用するようにしても良い。
In principle, the
ピーク検出器317で垂直方向ブロックごとに算出された水平方向動きベクトル(ピーク位置)と、垂直方向ブロックのn値化され加算された加算データのピーク値(以下、「垂直方向ブロックn値化加算データピーク値」とも言う)は、それぞれ出力端子318および319を介して水平方向動きベクトル決定部32に入力され、垂直方向ブロックn値化加算データピーク値は、垂直方向ブロックの有効/無効判定に使用される。
The horizontal motion vector (peak position) calculated for each vertical block by the
水平方向動きベクトル決定部32では、垂直方向ブロック水平方向動きベクトル算出部31から順次に出力される各垂直方向ブロックの水平方向動きベクトルに基づき、画像全体の水平方向動きベクトルが決定される。
In the horizontal direction motion
このとき、第1の垂直方向ブロック射影データ最大値保存部24から出力される第1の垂直方向ブロック射影データの最大値、垂直方向ブロック水平方向動きベクトル算出部31から出力される垂直方向ブロックn値化加算データピーク値および第1の閾値交差点探索手段29から出力される第1の閾値交差点の情報に基づいて各垂直方向ブロックの有効/無効を判定する。そして、無効ブロックと判定された垂直方向ブロックから算出された水平方向動きベクトルは画像全体の水平方向動きベクトルを決定する際には使用しないものとする。
At this time, the maximum value of the first vertical block projection data output from the first vertical block projection data maximum
<垂直方向ブロックの有効/無効の判定動作>
<第1の垂直方向ブロック射影データの最大値を用いる場合>
以下、各垂直方向ブロックの有効/無効を判定する方法について説明する。
図13は、第1の垂直方向ブロック射影データの最大値を用いて各垂直方向ブロックの有効/無効を判定する方法を説明する図である。
<Verification / invalidation judgment of vertical block>
<When using the maximum value of the first vertical block projection data>
Hereinafter, a method for determining validity / invalidity of each vertical block will be described.
FIG. 13 is a diagram illustrating a method for determining validity / invalidity of each vertical block using the maximum value of the first vertical block projection data.
図13においては、図9(a)に示した640画素×480画素の画像データを例に採り、垂直方向に64画素の幅(分割幅)を有した7個の垂直方向ブロックvb0〜vb6に分割した場合を示している。 In FIG. 13, the image data of 640 pixels × 480 pixels shown in FIG. 9A is taken as an example, and seven vertical blocks vb0 to vb6 having a width of 64 pixels (divided width) in the vertical direction are arranged. This shows the case of division.
また、図13においては、第1の垂直方向ブロック射影データ最大値保存部24(図3)から出力される各垂直方向ブロックの第1の垂直方向ブロック射影データの最大値を、各ブロックごとに16進数表記で示している。 In FIG. 13, the maximum value of the first vertical block projection data of each vertical block output from the first vertical block projection data maximum value storage unit 24 (FIG. 3) is set for each block. It is shown in hexadecimal notation.
水平方向動きベクトル決定部32では、各垂直方向ブロックvb0〜vb6における第1の垂直方向ブロック射影データの最大値の中から全ブロック中の最大値を求める。図13の例では、垂直方向ブロックvb2が全ブロック中の最大値を有しており、この値を全垂直方向ブロック射影データ最大値と呼称する。
The horizontal direction motion
また、水平方向動きベクトル決定部32では、全垂直方向ブロック射影データ最大値に対して、例えば1/4以下の最大値しか有さない垂直方向ブロックを無効ブロックとして判断する。図13の例では、垂直方向ブロックvb0、vb1およびvb6が無効ブロックと判断される。
Further, the horizontal direction motion
図14は、垂直方向ブロックの有効/無効の判定を模式的に示す図である。
図14においては、横軸を全垂直方向ブロック射影データ最大値とし、縦軸を第1の垂直方向ブロック射影データ最大値としたグラフを表しており、原点を起点とした傾き1/4(S=1/4)の直線を境にして、有効ブロックと無効ブロックとに分かれることが表されている。
FIG. 14 is a diagram schematically illustrating determination of validity / invalidity of a vertical block.
FIG. 14 shows a graph in which the horizontal axis is the maximum value of all vertical block projection data and the vertical axis is the first vertical block projection data maximum value, and the slope is 1/4 (S = 1/4) is divided into valid blocks and invalid blocks.
無効ブロックと判断される垂直方向ブロックは、絵柄として特徴の少ない(くっきりとした箇所が少ない)、あるいは、非常に細かい絵柄であると言うことができ、結果として、他の有効ブロックに対して信頼性が低いと判断できるものである。従って、無効ブロックと判断される垂直方向ブロックについては、画像全体の水平方向動きベクトルの決定には使用しないことで、水平方向動きベクトルの信頼性を高めることができる。 A vertical block that is determined to be an invalid block can be said to have a small feature (there are few clear parts) or a very fine design, and as a result, it can be trusted with respect to other valid blocks. It can be judged that the nature is low. Therefore, the reliability of the horizontal motion vector can be improved by not using the vertical block determined to be an invalid block for determining the horizontal motion vector of the entire image.
なお、上記においては、有効/無効の判定条件を、全垂直方向ブロック射影データ最大値の1/4以下として説明したが、これに限るものではなく、場合によっては1/2以下、あるいは1/8以下としても良い。このように、判定条件1/2nで設定することにより、有効、無効の判定を簡単に行うことが可能である。
In the above description, the valid / invalid determination condition is described as being ¼ or less of the maximum value of all vertical block projection data. However, the present invention is not limited to this, and may be ½ or less or 1 / It may be 8 or less. In this way, by setting with the
<垂直方向ブロックn値化加算データピーク値を用いる場合>
図15は、垂直方向ブロックn値化加算データピーク値を用いて各垂直方向ブロックの有効/無効を判定する方法を説明する図である。
<When using vertical direction block n-valued addition data peak value>
FIG. 15 is a diagram for explaining a method of determining validity / invalidity of each vertical block using the vertical block n-valued addition data peak value.
図15においては、図9(a)に示した640画素×480画素の画像データを例に採り、垂直方向に64画素の幅(分割幅)を有した7個の垂直方向ブロックvb0〜vb6に分割した場合を示している。 In FIG. 15, the image data of 640 pixels × 480 pixels shown in FIG. 9A is taken as an example, and seven vertical blocks vb0 to vb6 having a width of 64 pixels (divided width) in the vertical direction. This shows the case of division.
また、図15においては、垂直方向ブロック水平方向動きベクトル算出部31(図3)から出力される各垂直方向ブロックの垂直方向ブロックn値化加算データピーク値を、各ブロックごとに16進数表記で示している。 In FIG. 15, the vertical block n-valued addition data peak value of each vertical block output from the vertical block horizontal motion vector calculation unit 31 (FIG. 3) is expressed in hexadecimal notation for each block. Show.
水平方向動きベクトル決定部32では、各垂直方向ブロックvb0〜vb6における垂直方向ブロックn値化加算データピーク値の中から最大値を求める。図15の例では、垂直方向ブロックvb4が最大値を有しており、この値を垂直方向ブロックn値化加算データピーク値の最大値と呼称する。
The horizontal direction motion
また、水平方向動きベクトル決定部32では、垂直方向ブロックn値化加算データピーク値の最大値が所定値A(例えば、10進数表記で12)以上のとき、垂直方向ブロックn値化加算データが所定値B(例えば、10進数表記で7)以下の垂直方向ブロックを無効ブロックとして判断する。図15の例では、垂直方向ブロックvb0、vb1、vb5およびvb6が無効ブロックと判断される。
Further, in the horizontal direction motion
垂直方向ブロック水平方向動きベクトル算出部31(図3)の加算器315(図5)の出力は、第1の閾値交差点を中心に、第2の閾値でn値化された第1の垂直方向ブロック射影データを加算したものであり、第1の閾値交差点が多く、かつ、プラス側の第2の閾値(α2)を超える振幅(山)が多いほど大きな値となる。逆に、マイナス側の第2の閾値(−α2)を超える振幅があれば打ち消されることになる。 The output of the adder 315 (FIG. 5) of the vertical block horizontal direction motion vector calculation unit 31 (FIG. 3) is the first vertical direction centered on the first threshold intersection and n-valued with the second threshold. This is the sum of block projection data. The larger the number of first threshold intersections and the larger the amplitude (mountain) exceeding the second threshold (α2) on the plus side, the larger the value. On the contrary, if there is an amplitude exceeding the second threshold (−α2) on the minus side, it is canceled out.
言い換えれば、加算器315の出力の最大値、つまり、ある垂直方向ブロックの垂直方向ブロックn値化加算データピーク値が所定値A以上であり、その一方で、他の垂直方向ブロックの垂直方向ブロックn値化加算データピーク値が所定値B以下であるとき、当該他の垂直方向ブロックにおいては加算結果が打ち消される絵柄、あるいは、特徴が少なく、振幅が少ない絵柄であると言える。 In other words, the maximum value of the output of the adder 315, that is, the vertical block n-valued addition data peak value of a certain vertical block is equal to or greater than the predetermined value A, while the vertical blocks of other vertical blocks When the n-valued addition data peak value is equal to or less than the predetermined value B, it can be said that the other vertical block is a picture whose addition result is canceled or a picture with few features and small amplitude.
従って、垂直方向ブロックn値化加算データピーク値が、所定値B以下のブロックは、所定値A以上のブロックに比べて、信頼性が低いと判断でき、結果として、他の有効ブロックに対して信頼性が低いと判断できるものである。従って、無効ブロックと判断される垂直方向ブロックについては、画像全体の水平方向動きベクトルの決定には使用しないことで、水平方向動きベクトルの信頼性を高めることができる。 Accordingly, it can be determined that a block whose vertical block n-valued sum data peak value is less than or equal to the predetermined value B is less reliable than a block having the predetermined value A or more. It can be judged that the reliability is low. Therefore, the reliability of the horizontal motion vector can be improved by not using the vertical block determined to be an invalid block for determining the horizontal motion vector of the entire image.
図16は、垂直方向ブロックの有効/無効の判定を模式的に示す図である。
図16においては、横軸を垂直方向ブロックn値化加算データピーク値の最大値とし、縦軸を垂直方向ブロックn値化加算データピーク値としたグラフを表しており、垂直方向ブロックn値化加算データピーク値の最大値が所定値A以上のときは、垂直方向ブロックn値化加算データが所定値B以下の垂直方向ブロックを無効ブロックとして判断する動作が表されている。
FIG. 16 is a diagram schematically illustrating determination of validity / invalidity of a vertical block.
FIG. 16 shows a graph in which the horizontal axis represents the maximum value of the vertical block n-valued addition data peak value, and the vertical axis represents the vertical block n-value addition data peak value. When the maximum value of the added data peak value is equal to or greater than the predetermined value A, an operation is illustrated in which a vertical block whose vertical block n-valued added data is equal to or smaller than the predetermined value B is determined as an invalid block.
また、図16においては、垂直方向ブロックn値化加算データピーク値の最大値が所定値Aよりも小さい場合には、垂直方向ブロックn値化加算データピーク値が所定値B以下のブロックが存在しても、当該ブロックについては無効ブロックと判断しないという動作も表されている。 In FIG. 16, when the maximum value of the vertical block n-valued addition data peak value is smaller than the predetermined value A, there is a block whose vertical block n-valued addition data peak value is equal to or less than the predetermined value B. Even so, the operation of not determining that the block is an invalid block is also shown.
例えば、図15を例に採れば、垂直方向ブロックn値化加算データピーク値の最大値が7である場合は、垂直方向ブロックvb0、vb1、vb5およびvb6は無効ブロックとは判断されない。これは、垂直方向ブロックn値化加算データピーク値が最大値であるブロックに対して、相対的には信頼性が低いとは言えないからである。 For example, taking FIG. 15 as an example, if the maximum value of the vertical block n-valued addition data peak value is 7, the vertical blocks vb0, vb1, vb5, and vb6 are not determined to be invalid blocks. This is because it cannot be said that the reliability of the block whose vertical block n-valued addition data peak value is the maximum is relatively low.
なお、上記においては、有効/無効の判定条件を、所定値Aを12とし、所定値Bを7とする例を示したが、これに限定されるものではなく、画像の水平方向画素数に依存し、例えば水平方向画素数が640画素である場合には、所定値Aは10程度の値に設定し、所定値Bはその半分前後の値に設定すれば良い。 In the above description, an example in which the valid / invalid determination condition is set to 12 for the predetermined value A and 7 for the predetermined value B is not limited to this, and the number of pixels in the horizontal direction of the image is not limited thereto. For example, when the number of pixels in the horizontal direction is 640 pixels, the predetermined value A may be set to a value of about 10, and the predetermined value B may be set to a value around half of that.
<第1の閾値交差点の個数を用いる場合>
図17は、第1の閾値交差点の個数を用いて各垂直方向ブロックの有効/無効を判定する方法を説明する図である。
<When using the number of first threshold intersections>
FIG. 17 is a diagram illustrating a method for determining validity / invalidity of each vertical block using the number of first threshold intersections.
図17においては、図9(a)に示した640画素×480画素の画像データを例に採り、垂直方向に64画素の幅(分割幅)を有した7個の垂直方向ブロックvb0〜vb6に分割した場合を示している。 In FIG. 17, the image data of 640 pixels × 480 pixels shown in FIG. 9A is taken as an example, and seven vertical blocks vb0 to vb6 having a width of 64 pixels (divided width) in the vertical direction. This shows the case of division.
また、図17においては、第1の閾値交差点探索部29(図3)から出力される第1の閾値交差点の個数を、各ブロックごとに16進数表記で示している。 In FIG. 17, the number of first threshold intersections output from the first threshold intersection searching unit 29 (FIG. 3) is shown in hexadecimal notation for each block.
第1の閾値交差点探索部29では、第2の垂直方向ブロック射影ラインメモリ27に保存される前フレームに係る第2の垂直方向ブロック射影データの波形と、第2の垂直方向ブロック射影データ最大値保存部28で算出された第1の閾値とが交差する第1の閾値交差点の情報を出力するが、当該情報には第1の閾値交差点の個数についての情報も含まれており、図17に示すように、各垂直方向ブロックvb0〜vb6ごとに第1の閾値交差点の個数が得られる。
In the first threshold
図18は、垂直方向ブロックの有効/無効の判定を模式的に示す図である。
図18においては、横軸を各垂直方向ブロックvb0〜vb6における第1の閾値交差点の個数の最大値とし、縦軸を第1の閾値交差点の個数としたグラフを表しており、水平方向動きベクトル決定部32では、各垂直方向ブロックvb0〜vb6における第1の閾値交差点の個数が、所定値D(例えば、10進数表記で3)以下のブロックについては、第1の閾値交差点の個数の最大値に関わりなく無効ブロックと判断する。図17の例では、垂直方向ブロックvb0およびvb6が無効ブロックと判断される。
FIG. 18 is a diagram schematically illustrating determination of validity / invalidity of a vertical block.
FIG. 18 shows a graph in which the horizontal axis represents the maximum number of first threshold intersections in each of the vertical blocks vb0 to vb6, and the vertical axis represents the number of first threshold intersections. In the
無効ブロックと判断される垂直方向ブロックについては、画像全体の水平方向動きベクトルの決定には使用しないことで、水平方向動きベクトルの信頼性を高めることができる。 The reliability of the horizontal motion vector can be improved by not using the vertical block determined to be an invalid block for determining the horizontal motion vector of the entire image.
一方で、第1の閾値交差点の個数は少なくとも水平方向の画素数以下であり、水平方向の画素数と比較して余りにも個数が多い場合は非常に周期的な絵柄を捉えていると言えるので、例えば、所定値E以上(例えば、水平方向画素数の半分以上)となっているような場合には、そのブロックを無効ブロックと判断するように構成しても良い。 On the other hand, the number of first threshold intersections is at least equal to or less than the number of pixels in the horizontal direction. If the number is too large compared to the number of pixels in the horizontal direction, it can be said that a very periodic pattern is captured. For example, when the value is equal to or greater than a predetermined value E (for example, more than half the number of pixels in the horizontal direction), the block may be determined to be an invalid block.
また、図19に示すように、第1の閾値交差点の個数の最大値が所定値C(>D)以上である場合にのみ、所定値D以下のブロックについては無効ブロックと判断するように構成しても良い。この場合、第1の閾値交差点の個数の最大値が所定値Cよりも小さい場合には、所定値D以下のブロックが存在しても、当該ブロックについては無効ブロックとは判断されず、無効ブロックの判定基準をより細かく設定できる。 Further, as shown in FIG. 19, only when the maximum value of the number of first threshold intersections is equal to or greater than a predetermined value C (> D), a block having a predetermined value D or less is determined to be an invalid block. You may do it. In this case, if the maximum value of the number of first threshold intersections is smaller than the predetermined value C, even if there is a block having a predetermined value D or less, the block is not determined to be an invalid block, and the invalid block Can be set more finely.
なお、上記においては、有効/無効の判定条件を、所定値Dを3とし、所定値Eを水平方向画素数の半分とする例を示したが、これに限定されるものではない。 In the above description, an example in which the valid / invalid determination condition is that the predetermined value D is 3 and the predetermined value E is half the number of pixels in the horizontal direction is not limited to this.
以上説明した第1の垂直方向ブロック射影データの最大値を用いて各垂直方向ブロックの有効/無効を判定する方法、垂直方向ブロックn値化加算データピーク値を用いて各垂直方向ブロックの有効/無効を判定する方法および第1の閾値交差点の情報を用いて各垂直方向ブロックの有効/無効を判定する方法を用いることで、無効ブロックを判定し、無効ブロックとされた垂直方向ブロックから算出された水平方向動きベクトルは、画像全体の水平方向動きベクトルを決定する際には使用しないようにすることで、動きベクトルの信頼性を高めることができる。 The method of determining validity / invalidity of each vertical block using the maximum value of the first vertical block projection data described above, and the validity / invalidity of each vertical block using the vertical block n-valued addition data peak value An invalid block is determined by using a method for determining invalidity and a method for determining validity / invalidity of each vertical block using information on the first threshold intersection, and is calculated from the vertical block that is determined as an invalid block. The reliability of the motion vector can be increased by not using the horizontal motion vector when determining the horizontal motion vector of the entire image.
また、以上説明した3つの判定方法は、単独で用いても良いが組み合わせて用いても良い。 Further, the above-described three determination methods may be used alone or in combination.
例えば、第1の垂直方向ブロック射影データの最大値を用いて有効/無効を判定するとともに、垂直方向ブロックn値化加算データピーク値を用いて各垂直方向ブロックの有効/無効を判定しても良いし、第1の垂直方向ブロック射影データの最大値を用いて有効/無効を判定するとともに、第1の閾値交差点の情報を用いて各垂直方向ブロックの有効/無効を判定しても良い。 For example, the validity / invalidity is determined using the maximum value of the first vertical block projection data, and the validity / invalidity of each vertical block is determined using the vertical block n-valued addition data peak value. The validity / invalidity may be determined using the maximum value of the first vertical block projection data, and the validity / invalidity of each vertical block may be determined using the first threshold intersection information.
このような組み合わせにより、無効ブロックを確実に選択することができ、動きベクトルの信頼性をさらに高めることができる。 With such a combination, an invalid block can be reliably selected, and the reliability of the motion vector can be further improved.
<水平方向動きベクトルの決定方法>
水平方向動きベクトル決定部32では、上記のように垂直方向ブロックの有効/無効を判定し、有効ブロックと判定された垂直方向ブロックについて、その水平方向動きベクトルから画像全体の水平方向動きベクトルを決定する。
<Method for determining horizontal motion vector>
The horizontal direction motion
このとき、同じ水平方向動きベクトルを有する垂直方向ブロックを集め、ヒストグラムを作成する。 At this time, vertical blocks having the same horizontal motion vector are collected to create a histogram.
以下、図20および図21を用いて、画像全体の水平方向動きベクトルの決定方法の一例について説明する。 Hereinafter, an example of a method of determining the horizontal motion vector of the entire image will be described with reference to FIGS. 20 and 21. FIG.
図20および図21においては、水平方向動きベクトルの検出範囲を−VないしVとする場合を示しており、ここでは、一例としてVが31の場合を示しており、−31から31まで1ベクトル間隔で表示されている。なお、各ベクトルに対応して設けたボックス内に表示された数字は、同じベクトルを有する垂直方向ブロックの個数を表している。 20 and 21 show a case where the detection range of the horizontal motion vector is −V to V. Here, as an example, a case where V is 31 is shown, and one vector from −31 to 31 is shown. Displayed at intervals. The numbers displayed in the boxes provided corresponding to the vectors represent the number of vertical blocks having the same vector.
図20に示すように、各垂直方向ブロックについて算出された水平方向動きベクトルのうち、水平方向動きベクトル6については2つの垂直方向ブロックで算出されているが、他の垂直方向ブロックでは全てバラバラの水平方向動きベクトルとなっており、その分布範囲の最小値は−14、最大値は27となっており、その差41となって動きベクトル検出範囲に対して非常にバラツキがあると言える。なお、図20においては、現フレームの各垂直方向ブロックから得られた水平方向動きベクトルに対応するブロックに砂地のハッチングを付している。
As shown in FIG. 20, among the horizontal direction motion vectors calculated for each vertical direction block, the horizontal
水平方向動きベクトル決定部32では、各垂直方向ブロックから得られた水平方向動きベクトルの分布範囲の最大値と最小値の差が予め定めた閾値B(例えば、上述したV)以上のとき、各垂直方向ブロックから得られる水平方向動きベクトルは信頼性が低いとして、水平方向動きベクトルを0とする。
In the horizontal direction motion
このような処理を行うことで、画像全体の水平方向動きベクトルの信頼性を高めることができる。 By performing such processing, the reliability of the horizontal motion vector of the entire image can be increased.
一方、水平方向動きベクトル6を有する垂直方向ブロックの個数が予め定めた数値A(例えば3)以上である場合には、各垂直方向ブロックから得られる水平方向動きベクトルは十分信頼できると判断する。
On the other hand, when the number of vertical blocks having the
同様に、各垂直方向ブロックから得られた水平方向動きベクトルの最大値と最小値の差が閾値Bより小さい場合にも、各垂直方向ブロックから得られた水平方向動きベクトルは十分信頼できると判断する。 Similarly, when the difference between the maximum and minimum horizontal motion vectors obtained from each vertical block is smaller than the threshold value B, the horizontal motion vector obtained from each vertical block is determined to be sufficiently reliable. To do.
なお、数値A、閾値Bは上述した値に限るものではない。また、バラツキの判断も上述した水平方向動きベクトルの最大値と最小値の差で判断することに限定されず、標準偏差を用いて、例えば、標準偏差が閾値B以上のとき、バラツキが大きいと判断しても良い。 Note that the numerical value A and the threshold value B are not limited to the values described above. Further, the determination of the variation is not limited to the above-described difference between the maximum value and the minimum value of the horizontal motion vector, and the standard deviation is used. For example, when the standard deviation is greater than or equal to the threshold B, the variation is large. You may judge.
上述した処理の結果、各垂直方向ブロックから得られた水平方向動きベクトルが十分信頼できると判断できた場合、次の手順で現フレームの水平方向動きベクトルを算出する。 As a result of the above-described processing, when it can be determined that the horizontal motion vector obtained from each vertical block is sufficiently reliable, the horizontal motion vector of the current frame is calculated in the following procedure.
その概要は、現フレームの各垂直方向ブロックから出力された水平方向動きベクトルのうち、前フレームの水平方向動きベクトルに最も近い水平方向動きベクトルを現フレームの水平方向動きベクトルとするものである。 The outline is that among the horizontal motion vectors output from the vertical blocks of the current frame, the horizontal motion vector closest to the horizontal motion vector of the previous frame is used as the horizontal motion vector of the current frame.
図21においては、各垂直方向ブロックから得られた水平方向動きベクトルの分布範囲の最大値と最小値の差が11である場合を示しており、閾値B(例えばV=31)よりも小さいため、水平方向動きベクトル決定部32では、各垂直方向ブロックから算出された水平方向動きベクトルは信頼性があるものと判断する。
FIG. 21 shows a case where the difference between the maximum value and the minimum value of the distribution range of the horizontal motion vector obtained from each vertical block is 11, and is smaller than the threshold value B (for example, V = 31). The horizontal motion
ここで、図21においては水平方向動きベクトル5が前フレームの水平方向動きベクトルであり、これに最も近い現フレームの各垂直方向ブロックから得られた水平方向動きベクトルは、水平方向動きベクトル6である。従って、水平方向動きベクトル6が現フレームの水平方向動きベクトルと決定される。なお、図21においては、現フレームの各垂直方向ブロックから得られた水平方向動きベクトルに対応するブロックに砂地のハッチングを付し、前フレームの水平方向動きベクトルに対応するブロックに斜線のハッチングを付している。
Here, in FIG. 21, the
ここで、複数の垂直方向ブロックの出力結果が同じ水平方向動きベクトルとなった場合、すなわち、ある水平方向動きベクトルの個数が2以上となった場合、個数1の水平方向動きベクトルは信頼性が低いものとして除外し、その上で前フレームの水平方向動きベクトルに最も近い水平方向動きベクトルを求め、その水平方向動きベクトルを現フレームの水平方向動きベクトルとしても良い。 Here, when the output results of a plurality of vertical blocks are the same horizontal motion vector, that is, when the number of certain horizontal motion vectors is 2 or more, the number of horizontal motion vectors of 1 is reliable. The horizontal motion vector closest to the horizontal motion vector of the previous frame is obtained as a lower motion vector, and the horizontal motion vector of the current frame may be used as the horizontal motion vector.
この方法を採る場合、図21の例では、水平方向動きベクトル8が現フレームの水平方向動きベクトルとなる。
When this method is adopted, in the example of FIG. 21, the horizontal
なお、前フレームの水平方向動きベクトルに最も近い水平方向動きベクトルが2つ存在する場合には、その平均、つまり、前フレームの水平方向動きベクトルそのものを現フレームの水平方向動きベクトルとすれば良い。 If there are two horizontal motion vectors closest to the horizontal motion vector of the previous frame, the average, that is, the horizontal motion vector of the previous frame itself may be used as the horizontal motion vector of the current frame. .
ここで、前フレームの水平方向動きベクトルの情報は、水平方向動きベクトル決定部32内に設けられた所定の記憶部(前フレーム水平方向動きベクトル保存手段)に保存しておき、必要に応じて読み出すように構成されている。
Here, the information on the horizontal motion vector of the previous frame is stored in a predetermined storage unit (previous frame horizontal motion vector storage means) provided in the horizontal motion
以上説明したように、垂直方向ブロックの有効/無効の判定動作により信頼性の低い垂直方向ブロックを除外した上で、信頼性の高い垂直方向ブロックに基づいて算出される水平方向動きベクトルについてバラツキを考慮して画像全体の水平方向動きベクトルの信頼性を評価し、信頼できると判断した場合にも、前フレームの水平方向動きベクトルを考慮することで、前フレームからの動きを加味した違和感の少ない水平方向動きベクトルを決定することができる。 As described above, the vertical block having low reliability is excluded by the valid / invalid determination operation of the vertical block, and the horizontal direction motion vector calculated based on the vertical block having high reliability is varied. In consideration of the reliability of the horizontal motion vector of the entire image in consideration, even if it is determined to be reliable, the horizontal motion vector of the previous frame is taken into account, so that there is little uncomfortable feeling considering the motion from the previous frame A horizontal motion vector can be determined.
<垂直方向動きベクトル検出部4の動作>
次に、動きベクトル検出装置1において画像の垂直方向の動きベクトルを検出する垂直方向動きベクトル検出部4の動作を説明する。
<Operation of Vertical Motion
Next, the operation of the vertical motion
図2のように水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像が、図6に示す垂直方向動きベクトル検出部4の入力端子40に入力されると、水平方向画像分割部41で水平方向にブロック分割される。すなわち、水平方向画像分割部41においては、フレーム画像において水平方向に分割して得られる複数の画像領域(水平方向ブロック)が設定される。これにより、以降の処理では、水平方向ブロックごとに処理や管理が行われることとなる。
As shown in FIG. 2, when a frame image read out by repeating the pixel scanning of the horizontal line in order in the vertical direction is input to the
水平方向画像分割部41では、例えば図22(a)に示すように640画素×480画素の画像データが、水平方向に64画素の幅(分割幅)を有した10個の垂直方向ブロックhb0〜hb9に分割される。なお、図22(a)に示す分割幅および分割数とするのは必須ではない。
In the horizontal
水平方向画像分割部41で図22(a)のように10個の水平方向ブロックhb0〜hb9に分割された画像は、水平方向エッジ抽出フィルタリング部42において水平方向に延びるエッジ成分の抽出、換言すれば垂直方向に急峻に変化する画像部分を強調するようなフィルタリング処理が施される。
The image divided into 10 horizontal blocks hb0 to hb9 as shown in FIG. 22A by the horizontal
このフィルタリング処理で用いられるフィルタとしては、単純に水平方向に隣接する画素との差分を取る(1,−1)の2タップフィルタや、2次微分に相当する(−1,2,−1)の3タップフィルタなどの使用が可能である。なお、このようなフィルタを使用するのは必須でなく、垂直方向に輝度変化が大きくなる画像部分において出力値が上昇するフィルタであれば良い。 As a filter used in this filtering processing, a (1, -1,) 2-tap filter that simply takes a difference from a pixel adjacent in the horizontal direction, or (-1, 2, -1) corresponding to a second order differential. It is possible to use a 3-tap filter. It is not essential to use such a filter, and any filter may be used as long as the output value increases in an image portion where the luminance change is large in the vertical direction.
水平方向エッジ抽出フィルタリング部42で各水平方向ブロック(画像領域)hb0〜hb9ごとに水平方向のエッジが強調された画像データは、水平方向ブロック射影部43に入力され、水平方向ブロック射影部43で水平方向に射影される。この射影により、水平方向の(ライン間で)ノイズ成分を低減でき、また水平方向のエッジ成分をより強調できるため、特徴点に対応する水平方向エッジを際立たせて動きベクトル検出精度の向上を図れることとなる。水平方向ブロック射影部43の動作について、図22(b)の概念図を参照しつつ説明する。
The image data in which the horizontal edge is enhanced for each horizontal block (image region) hb0 to hb9 by the horizontal edge
水平方向ブロック射影部43では、図22(a)に示す各水平方向ブロックhb0〜hb9の1水平ラインの入力が完了した時点で、1垂直ライン分のデータ配列Mhを有する水平方向ブロック射影データhn0〜hn9(図22(b))の1配列要素が生成される。従って、全配列要素が揃うのは、各水平方向ブロックhb0〜hb9の最終の水平ラインの入力が完了した時点である。なお、データ配列Mhは、垂直ラインの全画素数(例えば480)の配列要素を有しているが、(1,−1)のような2タップフィルタでは有効要素が垂直ラインの全画素数−1(例えば479)、(−1,2,−1)のような3タップフィルタでは有効要素が垂直ラインの全画素数−2(例えば478)となる。
In the horizontal
具体的には、図7に示すように入力端子431を介して入力された各水平方向ブロックhb0〜hb9の画像データ(水平方向のエッジ強調が施された画像データ)が、加算器432に入力される。加算器432では、まず入力された水平方向ブロックの1水平ラインの先頭では、水平方向射影一時記憶メモリ433内のデータを読み出すことなく、水平方向射影一時記憶メモリ433に書き込まれる。次に、加算器432では、水平方向射影一時記憶メモリ433に記憶されている1水平ラインの前画素までの加算結果を読み出し、入力端子431から入力される水平方向ブロックの1水平ラインの現画素との加算を行って、その加算結果を水平方向射影一時記憶メモリ433に書き戻す。そして、水平方向ブロックにおける1水平ラインの最終画素が加算器432に入力されると、水平方向射影一時記憶メモリ433に保存された前画素までの加算結果を読み出し、入力端子431から入力される水平方向ブロックの1水平ラインの最終画素との加算を行って、その加算結果、つまり水平方向ブロックの1水平ラインの全画素が加算されたデータを水平方向ブロックの1水平ラインに関する射影データとして、出力端子434から第1の水平方向ブロック射影ラインメモリ44と第1の水平方向ブロック射影データ最大値保存部45とに出力する。なお、加算器432において水平方向ブロックの1水平ラインの全画素が加算された射影データを水平方向射影一時記憶メモリ433に一旦記憶させ、次の水平方向ブロックの1水平ラインの先頭画素が入力される際に、水平方向射影一時記憶メモリ433内の射影データを読み出して出力端子434から出力するようにしても良い。
Specifically, as shown in FIG. 7, the image data (image data subjected to edge enhancement in the horizontal direction) of the horizontal blocks hb0 to hb9 input via the
第1の水平方向ブロック射影ラインメモリ44では、水平方向ブロック射影部43から入力された現フレームの水平方向ブロック射影データを、第1の水平方向ブロック射影データとして水平方向ブロックごとに保存する。
The first horizontal block
第1の水平方向ブロック射影データ最大値保存部45では、水平方向ブロック射影部43から入力された水平方向ブロックの射影データに関する最大値を算出し、現フレームの水平方向ブロック射影データ最大値として保存する。
The first horizontal block projection data maximum
第2の水平方向ブロック射影ラインメモリ46は、第1の水平方向ブロック射影ラインメモリ44から読み出された水平方向ブロック射影データを、前フレームに関する第2の水平方向ブロック射影データとして保存する。同様に、第2の水平方向ブロック射影データ最大値保存部47では、第1の水平方向ブロック射影データ最大値保存部45から出力された水平方向ブロック射影データの最大値が、前フレームに関する第2の水平方向ブロック射影データの最大値として保存される。換言すれば、第1の水平方向ブロック射影データ最大値保存部45に保存された現フレームの水平方向ブロック射影データの最大値は、次のフレームでは、第2の水平方向ブロック射影データ最大値保存部47に前フレームの水平方向ブロック射影データの最大値として保存されることとなる。
The second horizontal block
また、第2の水平方向ブロック射影データ最大値保存部47では、算出された前フレームの水平方向ブロック射影データ最大値に基づき、第4の閾値を算出する。例えば、前フレームの水平方向ブロックの射影データに関する最大値をP4maxとすると、第4の閾値α4は次の式(3)で算出される。
The second horizontal block projection data maximum
α4=P4max×k4・・・・・・・・(3) α4 = P4max × k4 (3)
ここで、k4は予め定められた係数で、0<k4<1である。 Here, k4 is a predetermined coefficient, and 0 <k4 <1.
なお、第4の閾値α4の演算は、上式(3)に限るものではなく、前フレームの水平方向ブロック射影データ最大値P4maxが大きくなれば第4の閾値α4が大きくなるものであれば良く、また変換テーブルを使用しても良い。また、第4の閾値α4については、各水平方向ブロックごとの第2の水平方向ブロック射影データの最大値を使用するのは必須でなく、例えば前フレームの画像全体についての水平方向ブロック射影データ最大値を用いて第4の閾値を算出し、画像全体で同じ第4の閾値を採用しても良い。 Note that the calculation of the fourth threshold value α4 is not limited to the above equation (3), and it is sufficient if the fourth threshold value α4 increases as the horizontal block projection data maximum value P4max of the previous frame increases. Alternatively, a conversion table may be used. For the fourth threshold α4, it is not essential to use the maximum value of the second horizontal block projection data for each horizontal block. For example, the maximum horizontal block projection data for the entire image of the previous frame is used. The fourth threshold value may be calculated using the value, and the same fourth threshold value may be employed for the entire image.
第2の水平方向ブロック射影データ最大値保存部47は、前フレームに関する第2の水平方向ブロック射影データの最大値に基づき、第3の閾値(所定の一定値)が設定される。例えば、前フレームの水平方向ブロック射影データの最大値をP3maxとすると、第3の閾値α3は次の式(4)で算出される。
The second horizontal block projection data maximum
α3=P3max×k3・・・・・・・・(4) α3 = P3max × k3 (4)
ここで、k3は予め定められた係数で、0<k3<1である。 Here, k3 is a predetermined coefficient, and 0 <k3 <1.
なお、第3の閾値α3の演算は、上式(4)に限るものではなく、前フレームの水平方向ブロック射影データ最大値P3maxが大きくなれば第3の閾値α3が大きくなるものであれば良く、また変換テーブルを使用しても良い。また、第3の閾値α3については、各水平方向ブロックごとの第2の水平方向ブロック射影データの最大値を使用するのは必須でなく、例えば前フレームの画像全体についての水平方向ブロック射影データ最大値を用いて第3の閾値を算出し、画像全体で同じ第3の閾値を採用しても良い。 Note that the calculation of the third threshold value α3 is not limited to the above equation (4), and it is sufficient if the third threshold value α3 increases as the horizontal block projection data maximum value P3max of the previous frame increases. Alternatively, a conversion table may be used. For the third threshold α3, it is not essential to use the maximum value of the second horizontal block projection data for each horizontal block. For example, the maximum horizontal block projection data for the entire image of the previous frame is used. The third threshold value may be calculated using the value, and the same third threshold value may be adopted for the entire image.
第3の閾値交差点探索部48では、第2の水平方向ブロック射影ラインメモリ46から読み出された第2の水平方向ブロック射影データと、第2の水平方向ブロック射影データ最大値保存部47から出力された第3の閾値との交差点(第3の閾値交差点)を垂直方向に探索する。この第3の閾値交差点探索部48で得られた第3の閾値交差点の情報は、水平方向ブロック射影データ読み出し部49と水平方向ブロック垂直方向動きベクトル算出部50とに入力される。
The third threshold
水平方向ブロック射影データ読み出し部49は、第3の閾値交差点探索部48から出力された第3の閾値交差点を中心とした動きベクトル検出範囲に対応した現フレームの(第1の)水平方向ブロック射影データを第1の水平方向ブロック射影ラインメモリ44から読み出す。すなわち、第3の閾値交差点をB(i)(ただしi=1,2,・・・qで、qは検出された第3の閾値交差点の総数)とし、動きベクトル検出範囲を第3の閾値交差点を中心とした(−U)から(+U)(ただしUは正の整数)の範囲とすると、第1の水平方向ブロック射影ラインメモリ44から読み出される射影データは、垂直方向において(B(i)−U)から(B(i)+U)までの範囲にある第1の水平方向ブロック射影データの部分データとなる。
The horizontal block projection data reading unit 49 outputs the (first) horizontal block projection of the current frame corresponding to the motion vector detection range centered on the third threshold intersection output from the third threshold
この水平方向ブロック射影データ読み出し部49によって第1の水平方向ブロック射影ラインメモリ44から読み出された第1の水平方向ブロック射影データは、水平方向ブロック垂直方向動きベクトル算出部50に出力される。
The first horizontal block projection data read from the first horizontal block
水平方向ブロック射影データ読み出し部49から出力された第1の水平方向ブロック射影データは、図8に示す水平方向ブロック垂直方向動きベクトル算出部50の入力端子501を介してn値化器504に入力される。このn値化器504では、第2の水平方向ブロック射影データ最大値保存部47から出力され、入力端子502を介して入力された第4の閾値に基づき、第1の水平方向ブロック射影データをn値化する。すなわち、n値化器504は、水平方向ブロック射影データ読み出し部49で抽出された現フレームの射影データに関するデータ配列Mh(図22(b))の各配列要素のデータ長を圧縮する。このn値化器504の処理については、上述したn値化器314と同様の処理を行い、例えば3値化処理が実行される。すなわち、n値化器504における3値化処理では、前フレームの射影データにおけるデータ配列Mhの配列要素の最大値に基づき設定される第4の閾値α4(α4>0)に関して、水平方向ブロック射影データ読み出し部49で抽出された現フレームの射影データに関する配列要素の値が、(−α4)より小さい場合、(−α4)以上でα4以下の場合、およびα4より大きい場合の3段階による3値化が行われる。なお、n値化器504においては、n値化器314と同じ特性を有するのは必須でなく、n値化器314と異なる特性を有しても良い。
The first horizontal block projection data output from the horizontal block projection data reading unit 49 is input to the n-
以上で説明した第3の閾値交差点探索部48、水平方向ブロック射影データ読み出し部49および水平方向ブロック垂直方向動きベクトル算出部50の動作について、図23(a)、図23(b)および図23(c)を参照しつつ具体的に説明する。なお、図23(a)および図23(b)の横軸は、射影データのデータ配列Mh(図22(b))の配列要素の位置を示している。また、図23(a)では、第3の閾値交差点B(1)〜B(6)それぞれを丸印で表している。
The operations of the third threshold
第3の閾値交差点探索部48では、図23(a)に示すように前フレームに関する第2の垂直方向ブロック射影データW4の波形において、第2の水平方向ブロック射影データ最大値保存部47から出力された第3の閾値α3と交差する第3の閾値交差点B(1)〜B(6)が求められる。すなわち、第3の閾値交差点探索部48は、前フレームに対して水平方向ブロック射影部43で得られた射影データに関して射影データのデータ配列Mh(図22(b))の要素順に配列要素の値をグラフ化した波形W4と、配列要素の値が第3の閾値(所定の一定値)α3となる直線とが交差する各第3の閾値交差点の配列要素の位置を特定する。
The third threshold value
次に、水平方向ブロック射影データ読み出し部49では、図23(a)に示す各第3の閾値交差点B(1)〜B(6)を中心とした所定の動きベクトル検出範囲について第1の水平方向ブロック射影ラインメモリ44から現フレームの水平方向ブロック射影データが読み出される。すなわち、水平方向ブロック射影データ読み出し部49は、各第3の閾値交差点における射影データ(データ配列)の配列要素の位置を中心とした所定範囲のデータ配列を、水平方向ブロック射影部43で得られた現フレーム(後フレーム)の射影データから抽出する。例えば第3の閾値交差点B(4)に関しては、図23(b)に示すように第3の閾値交差点B(4)を中心に(B(4)−U)から(B(4)+U)までの範囲(矩形の破線内の波形部分)に対応する第1の水平方向ブロック射影データW3が読み出される。
Next, in the horizontal block projection data reading unit 49, a first horizontal vector is detected for a predetermined motion vector detection range centered on each of the third threshold intersections B (1) to B (6) shown in FIG. The horizontal block projection data of the current frame is read from the direction block
そして、水平方向ブロック射影データ読み出し部49によって読み出された第1の水平方向ブロック射影データは、第2の水平方向ブロック射影データ最大値保存部47から出力された第4の閾値α4を用いて、水平方向ブロック垂直方向動きベクトル算出部50のn値器504でn値化処理される。例えば第3の閾値交差点B(4)に関しては、図23(b)に示す第4の閾値α4および(−α4)に対する第1の水平方向ブロック射影データW3の大小関係に基づき、第3の閾値交差点B(4)を中心に(B(4)−U)から(B(4)+U)までの範囲(矩形の破線内の波形部分)について、図23(c)のように第1の水平方向ブロック射影データが3値化処理される。これにより、現フレームの水平方向ブロック射影データが「−1」、「0」または「1」で表されることとなる。
The first horizontal block projection data read out by the horizontal block projection data reading unit 49 uses the fourth threshold value α4 output from the second horizontal block projection data maximum
n値化器504では、第3の閾値交差点探索部48から出力される全ての第3の閾値交差点について、図23(c)に示すようなn値化処理が行われる。
The n-
次に、加算器505(図8)では、入力端子503を介して第3の閾値交差点探索部48から出力された第3の閾値交差点を中心に、n値化器504でn値化された第1の水平方向ブロック射影データと、垂直方向動きベクトル加算メモリ506から読み出された1つ前までのn値化された第1の水平方向ブロック射影データの加算値とを加算し、その加算結果を垂直方向動きベクトル加算メモリ506に再び記憶させる。そして、第3の閾値交差点探索部48で検出された全ての第3の閾値交差点のうち最後のものに関するn値化された第1の水平方向ブロック射影データを加算器505で加算して1つの水平方向ブロックについての加算処理を終了する際には、その加算結果をピーク検出器507に出力するようにする。なお、加算器505での加算処理終了後に、全ての第3の閾値交差点に関する加算結果を記憶している垂直方向動きベクトル加算メモリ506から、その加算結果をピーク検出部507が読み出すようにしても良い。
Next, the adder 505 (FIG. 8) is n-valued by the n-
ピーク検出器507には、第3の閾値交差点探索部48で検出された全ての第3の閾値交差点について各第3の閾値交差点を中心とした動きベクトル検出範囲(上述した±Uの範囲)に対応するn値化済みの第1の水平方向ブロック射影データを加算したデータ(以下では「水平方向ブロックn値化データ」とも言う)が入力されるが、この水平方向ブロックn値化データに関するピーク値がピーク検出器507で検出される。このピーク検出器507において検出される水平方向ブロックn値化データのピーク位置が、その水平方向ブロックから得られる垂直方向動きベクトルとなり、出力端子508を介して垂直方向動き決定部51に出力される。同様に、そのときのピーク値は出力端子509から出力される。
The
以上で説明した加算器505およびピーク検出部507の動作について、図24(a)および図24(b)を参照しつつ具体的に説明する。なお、図24(a)では、図23(a)に示す第3の閾値交差点B(1)〜B(6)を中心とした動きベクトル検出範囲(±Uの範囲)において第1の水平方向ブロック射影データを3値化したものを概念的に示している。
The operations of the
加算器505において、図24(a)に示す第3の閾値交差点B(1)〜B(6)周辺の3値化データが順次に入力されると、これらのデータが加算され、図24(b)に示すような水平方向ブロックn値化データが生成される。具体的には、加算器505において水平方向ブロック射影データ読み出し部49により水平方向ブロック射影データ(データ配列Mh(図22(b)))から抽出されn値器504でデータ長が圧縮された現フレームに係る動きベクトル検出範囲(所定範囲)のデータ配列それぞれについて、各第3の閾値交差点の配列要素の位置に対して相対位置が同じ配列要素同士の値が加算されることとなる。
In the
加算器505で生成された水平方向ブロックn値化データがピーク検出器507に入力されると、その水平方向ブロックの垂直方向動きベクトルとして図24(b)に示す垂直方向のピーク位置vvが検出される。すなわち、ピーク検出器507では、加算器505で加算された加算結果に基づき、フレーム画像の垂直方向に関する動きベクトルが検出される。
When the horizontal block n-valued data generated by the
このピーク検出器507では、原則的に動きベクトル検出範囲(±Uの範囲)において最大値となるピーク位置が探索されるが、同一の最大値が複数ある場合には、原点0に近いもの(原点0までの距離が等しい場合には負の位置のもの)を優先する。なお、このようなピーク位置の検出ルールに限らず、正の位置にある最大値を優先しても良く、また前フレームにおける動きベクトルの傾向を現フレームのピーク位置の検出に利用するようにしても良い。
In principle, the
ピーク検出器507で水平方向ブロックごとに算出された垂直方向動きベクトル(ピーク位置)と、水平方向ブロックのn値化され加算された加算データのピーク値(以下、「水平方向ブロックn値化加算データピーク値」とも言う)は、それぞれ出力端子508および509を介して垂直方向動きベクトル決定部51に入力され、水平方向ブロックn値化加算データピーク値は、水平方向ブロックの有効/無効判定に使用される。
The vertical motion vector (peak position) calculated for each horizontal block by the
垂直方向動きベクトル決定部51(図6)では、水平方向ブロック垂直方向動きベクトル算出部50から順次に出力される各水平方向ブロックの垂直方向動きベクトルに基づき、画像全体の垂直方向動きベクトルが決定される。
In the vertical direction motion vector determination unit 51 (FIG. 6), the vertical direction motion vector of the entire image is determined based on the vertical direction motion vector of each horizontal direction block sequentially output from the horizontal direction block vertical direction motion
このとき、垂直方向動きベクトル決定部51では、第1の水平方向ブロック射影データ最大値保存部45から出力される第1の水平方向ブロック射影データの最大値、水平方向ブロック垂直方向動きベクトル算出部50から出力される水平方向ブロックn値化加算データピーク値および第3の閾値交差点探索部48から出力される第3の閾値交差点の情報に基づいて各水平方向ブロックの有効/無効を判定する。そして、無効ブロックと判定された水平方向ブロックから算出された垂直方向動きベクトルは画像全体の垂直方向動きベクトルを決定する際には使用しないものとする。
At this time, in the vertical direction motion
<水平方向ブロックの有効/無効の判定動作>
<第1の水平方向ブロック射影データの最大値を用いる場合>
以下、各水平方向ブロックの有効/無効を判定する方法について説明する。
図25は、第1の水平方向ブロック射影データの最大値を用いて各水平方向ブロックの有効/無効を判定する方法を説明する図である。
<Horizontal block validity / invalidity judgment operation>
<When using the maximum value of the first horizontal block projection data>
Hereinafter, a method for determining validity / invalidity of each horizontal block will be described.
FIG. 25 is a diagram illustrating a method for determining validity / invalidity of each horizontal block using the maximum value of the first horizontal block projection data.
図25においては、図22(a)に示した640画素×480画素の画像データを例に採り、水平方向に64画素の幅(分割幅)を有した10個の水平方向ブロックhb0〜hb9に分割した場合を示している。 In FIG. 25, the image data of 640 pixels × 480 pixels shown in FIG. 22A is taken as an example, and 10 horizontal blocks hb0 to hb9 having a width of 64 pixels (divided width) in the horizontal direction are arranged. This shows the case of division.
また、図25においては、第1の水平方向ブロック射影データ最大値保存部45(図6)から出力される各水平方向ブロックの第1の水平方向ブロック射影データの最大値を、各ブロックごとに16進数表記で示している。 In FIG. 25, the maximum value of the first horizontal block projection data of each horizontal block output from the first horizontal block projection data maximum value storage unit 45 (FIG. 6) is set for each block. It is shown in hexadecimal notation.
垂直方向動きベクトル決定部51では、各水平方向ブロックhb0〜hb9における第1の水平方向ブロック射影データの最大値の中から全ブロック中の最大値を求める。図25の例では、水平方向ブロックhb4が全ブロック中の最大値を有しており、この値を全水平方向ブロック射影データ最大値と呼称する。
The vertical motion
また、垂直方向動きベクトル決定部51では、全水平方向ブロック射影データ最大値に対して、例えば1/4以下の最大値しか有さない水平方向ブロックを無効ブロックとして判断する。図25の例では、水平方向ブロックhb0、hb1、hb8およひhb9が無効ブロックと判断される。
In addition, the vertical direction motion
図26は、水平方向ブロックの有効/無効の判定を模式的に示す図である。
図26においては、横軸を全水平方向ブロック射影データ最大値とし、縦軸を第1の水平方向ブロック射影データ最大値としたグラフを表しており、原点を起点とした傾き1/4(S=1/4)の直線を境にして、有効ブロックと無効ブロックとに分かれることが表されている。
FIG. 26 is a diagram schematically illustrating determination of validity / invalidity of a horizontal block.
In FIG. 26, a graph is shown in which the horizontal axis represents the maximum value of all horizontal block projection data and the vertical axis represents the first horizontal block projection data maximum value, and the
無効ブロックと判断される水平方向ブロックは、絵柄として特徴の少ない(くっきりとした箇所が少ない)、あるいは、非常に細かい絵柄であると言うことができ、結果として、他の有効ブロックに対して信頼性が低いと判断できるものである。従って、無効ブロックと判断される水平方向ブロックについては、画像全体の垂直方向動きベクトルの決定には使用しないことで、垂直方向動きベクトルの信頼性を高めることができる。 A horizontal block that is determined to be an invalid block can be said to have a few features (there are few clear parts) or a very fine design as a pattern, and as a result, it is reliable with respect to other valid blocks. It can be judged that the nature is low. Therefore, the reliability of the vertical motion vector can be improved by not using the horizontal block determined to be an invalid block for determining the vertical motion vector of the entire image.
なお、上記においては、有効/無効の判定条件を、全水平方向ブロック射影データ最大値の1/4以下として説明したが、これに限るものではなく、場合によっては1/2以下、あるいは1/8以下としても良い。このように、判定条件1/2nで設定することにより、有効、無効の判定を簡単に行うことが可能である。
In the above description, the valid / invalid determination condition is described as being ¼ or less of the maximum value of all horizontal block projection data. However, the present invention is not limited to this, and may be ½ or less or 1 / It may be 8 or less. In this way, by setting with the
<水平方向ブロックn値化加算データピーク値を用いる場合>
図27は、水平方向ブロックn値化加算データピーク値を用いて各水平方向ブロックの有効/無効を判定する方法を説明する図である。
<When using a horizontal block n-valued addition data peak value>
FIG. 27 is a diagram for explaining a method of determining validity / invalidity of each horizontal block using the horizontal block n-valued addition data peak value.
図27においては、図22(a)に示した640画素×480画素の画像データを例に採り、垂直方向に64画素の幅(分割幅)を有した10個の水平方向ブロックhb0〜hb9に分割した場合を示している。 In FIG. 27, the image data of 640 pixels × 480 pixels shown in FIG. 22A is taken as an example, and 10 horizontal blocks hb0 to hb9 having a width (divided width) of 64 pixels in the vertical direction are shown. This shows the case of division.
また、図27においては、水平方向ブロック垂直方向動きベクトル算出部50(図6)から出力される各水平方向ブロックの水平方向ブロックn値化加算データピーク値を、各ブロックごとに16進数表記で示している。 In FIG. 27, the horizontal block n-valued addition data peak value of each horizontal block output from the horizontal block vertical motion vector calculation unit 50 (FIG. 6) is expressed in hexadecimal notation for each block. Show.
垂直方向動きベクトル決定部51では、各水平方向ブロックhb0〜hb9における水平方向ブロックn値化加算データピーク値の中から最大値を求める。図27の例では、水平方向ブロックhb4が最大値を有しており、この値を水平方向ブロックn値化加算データピーク値の最大値と呼称する。
The vertical motion
また、垂直方向動きベクトル決定部51では、水平方向ブロックn値化加算データピーク値の最大値が所定値A(例えば、10進数表記で12)以上のとき、水平方向ブロックn値化加算データが所定値B(例えば、10進数表記で7)以下の水平方向ブロックを無効ブロックとして判断する。図27の例では、垂直方向ブロックhb0、hb1、hb7、hb8およびhb9が無効ブロックと判断される。
Also, in the vertical direction motion
水平方向ブロック垂直方向動きベクトル算出部50(図6)の加算器505(図8)の出力は、第3の閾値交差点を中心に、第4の閾値でn値化された第1の水平方向ブロック射影データを加算したものであり、第3の閾値交差点が多く、かつ、プラス側の第4の閾値(α4)を超える振幅(山)が多いほど大きな値となる。逆に、マイナス側の第4の閾値(−α4)を超える振幅があれば打ち消されることになる。 The output of the adder 505 (FIG. 8) of the horizontal block vertical motion vector calculation unit 50 (FIG. 6) is the first horizontal direction centered on the third threshold intersection and n-valued with the fourth threshold. This is a sum of block projection data, and the larger the third threshold value intersection and the larger the amplitude (mountain) exceeding the fourth threshold value (α4) on the plus side, the larger the value. On the other hand, if there is an amplitude exceeding the negative fourth threshold (−α4), it is canceled out.
言い換えれば、加算器505の出力の最大値、つまり、ある水平方向ブロックの水平方向ブロックn値化加算データピーク値が所定値A以上であり、その一方で、他の水平方向ブロックの水平方向ブロックn値化加算データピーク値が所定値B以下であるとき、当該他の水平方向ブロックにおいては加算結果が打ち消される絵柄、あるいは、特徴が少なく、振幅が少ない絵柄であると言える。
In other words, the maximum value of the output of the
従って、水平方向ブロックn値化加算データピーク値が、所定値B以下のブロックは、所定値A以上のブロックに比べて、信頼性が低いと判断できる。従って、無効ブロックと判断される水平方向ブロックについては、画像全体の垂直方向動きベクトルの決定には使用しないことで、垂直方向動きベクトルの信頼性を高めることができる。 Accordingly, it can be determined that a block whose horizontal block n-valued addition data peak value is equal to or smaller than the predetermined value B is less reliable than a block whose predetermined value is equal to or greater than A. Therefore, the reliability of the vertical motion vector can be improved by not using the horizontal block determined to be an invalid block for determining the vertical motion vector of the entire image.
図28は、水平方向ブロックの有効/無効の判定を模式的に示す図である。
図28においては、横軸を水平方向ブロックn値化加算データピーク値の最大値とし、縦軸を水平方向ブロックn値化加算データピーク値としたグラフを表しており、水平方向ブロックn値化加算データピーク値の最大値が所定値A以上のときは、水平方向ブロックn値化加算データが所定値B以下の水平方向ブロックを無効ブロックとして判断する動作が表されている。
FIG. 28 is a diagram schematically illustrating whether the horizontal block is valid / invalid.
28 shows a graph in which the horizontal axis represents the maximum value of the horizontal block n-valued addition data peak value, and the vertical axis represents the horizontal block n-value addition data peak value. When the maximum value of the added data peak value is equal to or greater than the predetermined value A, an operation is illustrated in which a horizontal block whose horizontal block n-valued added data is equal to or smaller than the predetermined value B is determined as an invalid block.
また、図28においては、水平方向ブロックn値化加算データピーク値の最大値が所定値Aよりも小さい場合には、水平方向ブロックn値化加算データピーク値が所定値B以下のブロックが存在しても、当該ブロックについては無効ブロックと判断しないという動作も表されている。 In FIG. 28, when the maximum value of the horizontal block n-valued addition data peak value is smaller than the predetermined value A, there is a block whose horizontal block n-valued addition data peak value is equal to or less than the predetermined value B. Even so, the operation of not determining that the block is an invalid block is also shown.
例えば、図27を例に採れば、水平方向ブロックn値化加算データピーク値の最大値が7である場合は、垂直方向ブロックhb0、hb1、hb7、hb8およびhb9は無効ブロックとは判断されない。これは、水平方向ブロックn値化加算データピーク値が最大値であるブロックに対して、相対的には信頼性が低いとは言えないからである。 For example, taking FIG. 27 as an example, if the maximum value of the horizontal block n-valued addition data peak value is 7, the vertical blocks hb0, hb1, hb7, hb8 and hb9 are not determined to be invalid blocks. This is because it cannot be said that the reliability is relatively low with respect to the block whose horizontal block n-valued addition data peak value is the maximum value.
なお、上記においては、有効/無効の判定条件を、所定値Aを12とし、所定値Bを7とする例を示したが、これに限定されるものではなく、画像の垂直方向画素数に依存し、例えば垂直方向画素数が480画素である場合には、所定値Aは10程度の値に設定し、所定値Bはその半分前後の値に設定すれば良い。 In the above description, an example in which the valid / invalid determination condition is set to 12 for the predetermined value A and 7 for the predetermined value B is not limited to this. For example, when the number of pixels in the vertical direction is 480 pixels, the predetermined value A may be set to a value of about 10, and the predetermined value B may be set to a value around half of that.
<第3の閾値交差点の個数を用いる場合>
図29は、第3の閾値交差点の個数を用いて各垂直方向ブロックの有効/無効を判定する方法を説明する図である。
<When using the number of third threshold intersections>
FIG. 29 is a diagram illustrating a method of determining validity / invalidity of each vertical block using the number of third threshold intersections.
図29においては、図22(a)に示した640画素×480画素の画像データを例に採り、垂直方向に64画素の幅(分割幅)を有した10個の水平方向ブロックhb0〜hb9に分割した場合を示している。 In FIG. 29, the image data of 640 pixels × 480 pixels shown in FIG. 22A is taken as an example, and ten horizontal blocks hb0 to hb9 having a width of 64 pixels (divided width) in the vertical direction are shown. This shows the case of division.
また、図29においては、第3の閾値交差点探索部48(図6)から出力される第3の閾値交差点の個数を、各ブロックごとに16進数表記で示している。 Further, in FIG. 29, the number of third threshold intersections output from the third threshold intersection searching unit 48 (FIG. 6) is shown in hexadecimal notation for each block.
第3の閾値交差点探索部48では、第2の水平方向ブロック射影ラインメモリ46に保存される前フレームに係る第2の水平方向ブロック射影データの波形と、第2の水平方向ブロック射影データ最大値保存部45で算出された第3の閾値とが交差する第3の閾値交差点の情報を出力するが、当該情報には第3の閾値交差点の個数についての情報も含まれており、図29に示すように、各水平方向ブロックhb0〜hb9ごとに第3の閾値交差点の個数が得られる。
In the third threshold
図30は、水平方向ブロックの有効/無効の判定を模式的に示す図である。
図30においては、横軸を各水平方向ブロックhb0〜hb9における第3の閾値交差点の個数の最大値とし、縦軸を第3の閾値交差点の個数としたグラフを表しており、垂直方向動きベクトル決定部51(図6)では、各水平方向ブロックhb0〜hb9における第3の閾値交差点の個数が、所定値D(例えば、10進数表記で3)以下のブロックについては、第3の閾値交差点の個数の最大値に関わりなく無効ブロックと判断する。図29の例では、水平方向ブロックhb0およびhb9が無効ブロックと判断される。
FIG. 30 is a diagram schematically illustrating determination of validity / invalidity of a horizontal block.
FIG. 30 shows a graph in which the horizontal axis represents the maximum number of third threshold intersections in each of the horizontal blocks hb0 to hb9, and the vertical axis represents the number of third threshold intersections. In the determination unit 51 (FIG. 6), the third threshold value intersection is determined for blocks whose number of third threshold intersections in each of the horizontal blocks hb0 to hb9 is equal to or less than a predetermined value D (for example, 3 in decimal notation). Regardless of the maximum value, it is determined as an invalid block. In the example of FIG. 29, the horizontal blocks hb0 and hb9 are determined to be invalid blocks.
無効ブロックと判断される水平方向ブロックについては、画像全体の垂直方向動きベクトルの決定には使用しないことで、垂直方向動きベクトルの信頼性を高めることができる。 The reliability of the vertical motion vector can be enhanced by not using the horizontal block determined to be an invalid block for determining the vertical motion vector of the entire image.
一方で、第3の閾値交差点の個数は少なくとも垂直方向の画素数以下であり、垂直方向の画素数と比較して余りにも個数が多い場合は非常に周期的な絵柄を捉えていると言えるので、例えば、所定値E以上(例えば、垂直方向画素数の半分以上)となっているような場合には、そのブロックを無効ブロックと判断するように構成しても良い。例えば、図29の水平方向ブロックhb4では、第3の閾値交差点の個数が241であり、垂直方向画素数の半分以上あるので、無効ブロックと判断される。 On the other hand, the number of the third threshold intersections is at least equal to or less than the number of pixels in the vertical direction, and if the number is too large compared to the number of pixels in the vertical direction, it can be said that a very periodic pattern is captured. For example, when the value is equal to or greater than a predetermined value E (for example, more than half of the number of pixels in the vertical direction), the block may be determined as an invalid block. For example, in the horizontal block hb4 of FIG. 29, the number of third threshold intersections is 241 and is more than half of the number of vertical pixels, so it is determined as an invalid block.
また、図31に示すように、第3の閾値交差点の個数の最大値が所定値C(>D)以上である場合にのみ、所定値D以下のブロックについては無効ブロックと判断するように構成しても良い。この場合、第3の閾値交差点の個数の最大値が所定値Cよりも小さい場合には、所定値D以下のブロックが存在しても、当該ブロックについては無効ブロックとは判断されず、無効ブロックの判定基準をより細かく設定できる。 Further, as shown in FIG. 31, only when the maximum value of the number of third threshold intersections is equal to or greater than a predetermined value C (> D), a block having a predetermined value D or less is determined to be an invalid block. You may do it. In this case, if the maximum value of the number of the third threshold intersections is smaller than the predetermined value C, even if there is a block equal to or smaller than the predetermined value D, the block is not determined as an invalid block, and the invalid block Can be set more finely.
なお、上記においては、有効/無効の判定条件を、所定値Dを3とし、所定値Eを垂直方向画素数の半分とする例を示したが、これに限定されるものではない。 In the above description, an example in which the valid / invalid determination condition is such that the predetermined value D is 3 and the predetermined value E is half the number of pixels in the vertical direction is not limited to this.
以上説明した第1の水平方向ブロック射影データの最大値を用いて各水平方向ブロックの有効/無効を判定する方法、水平方向ブロックn値化加算データピーク値を用いて各水平方向ブロックの有効/無効を判定する方法および第3の閾値交差点の情報を用いて各水平方向ブロックの有効/無効を判定する方法を用いることで無効ブロックを判定し、無効ブロックとされた水平方向ブロックから算出された垂直方向動きベクトルは、画像全体の垂直方向動きベクトルを決定する際には使用しないようにすることで、動きベクトルの信頼性を高めることができる。 The method for determining validity / invalidity of each horizontal block using the maximum value of the first horizontal block projection data described above, and the validity / invalidity of each horizontal block using the horizontal block n-valued addition data peak value An invalid block is determined by using a method for determining invalidity and a method for determining validity / invalidity of each horizontal block by using the information of the third threshold intersection, and is calculated from the horizontal block that is determined as an invalid block By not using the vertical motion vector when determining the vertical motion vector of the entire image, the reliability of the motion vector can be improved.
また、以上説明した3つの判定方法は、単独で用いても良いが組み合わせて用いても良い。 Further, the above-described three determination methods may be used alone or in combination.
例えば、第1の水平方向ブロック射影データの最大値を用いて有効/無効を判定するとともに、水平方向ブロックn値化加算データピーク値を用いて各水平方向ブロックの有効/無効を判定しても良いし、第1の水平方向ブロック射影データの最大値を用いて有効/無効を判定するとともに、第3の閾値交差点の情報を用いて各水平方向ブロックの有効/無効を判定しても良い。 For example, the validity / invalidity is determined using the maximum value of the first horizontal block projection data, and the validity / invalidity of each horizontal block is determined using the horizontal block n-valued addition data peak value. The validity / invalidity may be determined using the maximum value of the first horizontal block projection data, and the validity / invalidity of each horizontal block may be determined using the third threshold intersection information.
このような組み合わせにより、無効ブロックを確実に選択することができ、動きベクトルの信頼性をさらに高めることができる。 With such a combination, an invalid block can be reliably selected, and the reliability of the motion vector can be further improved.
<垂直方向動きベクトルの決定方法>
垂直方向動きベクトル決定部51では、上記のように水平方向ブロックの有効/無効を判定し、有効ブロックと判定された水平方向ブロックについて、その垂直方向動きベクトルから画像全体の垂直方向動きベクトルを決定する。
<Method for determining vertical motion vector>
As described above, the vertical motion
このとき、同じ垂直方向動きベクトルを有する水平方向ブロックを集め、ヒストグラムを作成する。 At this time, horizontal blocks having the same vertical motion vector are collected to create a histogram.
以下、図32および図33を用いて、画像全体の垂直方向動きベクトルの決定方法の一例について説明する。 Hereinafter, an example of a method for determining the vertical motion vector of the entire image will be described with reference to FIGS. 32 and 33.
図32および図33においては、水平方向動きベクトルの検出範囲を−VないしVとする場合を示しており、ここでは、一例としてVが31の場合を示しており、−31から31まで1ベクトル間隔で表示されている。なお、各ベクトルに対応して設けたボックス内に表示された数字は、同じベクトルを有する水平方向ブロックの個数を表している。 32 and 33 show the case where the detection range of the horizontal motion vector is -V to V. Here, the case where V is 31 is shown as an example, and one vector from -31 to 31 is shown. Displayed at intervals. The numbers displayed in the boxes provided corresponding to the vectors represent the number of horizontal blocks having the same vector.
図32に示すように、各水平方向ブロックについて算出された垂直方向動きベクトルのうち、垂直方向動きベクトル−3および垂直方向動きベクトル2については2つの水平方向ブロックで算出されているが、他の水平方向ブロックでは全てバラバラの垂直方向動きベクトルとなっており、その分布範囲の最小値は−26、最大値は8となっており、その差34となって動きベクトル検出範囲に対して非常にバラツキがあると言える。なお、図32においては、現フレームの各水平方向ブロックから得られた垂直方向動きベクトルに対応するブロックに砂地のハッチングを付している。
As shown in FIG. 32, among the vertical motion vectors calculated for each horizontal block, the vertical motion vector-3 and the
垂直方向動きベクトル決定部51では、各水平方向ブロックから得られた垂直方向動きベクトルの最大値と最小値の差が予め定めた閾値B(例えば、上述したV)以上のとき、各水平方向ブロックから得られる垂直方向動きベクトルは信頼性が低いとして、垂直方向動きベクトルを0とする。
In the vertical direction motion
このような処理を行うことで、画像全体の水平方向動きベクトルの信頼性を高めることができる。 By performing such processing, the reliability of the horizontal motion vector of the entire image can be increased.
一方、垂直方向動きベクトル−3および垂直方向動きベクトル2を有する水平方向ブロックの個数が予め定めた数値A(例えば3)以上である場合には、各水平方向ブロックから得られる垂直方向動きベクトルは十分信頼できると判断する。
On the other hand, when the number of horizontal blocks having the vertical motion vector-3 and the
同様に、各水平方向ブロックから得られた垂直方向動きベクトルの最大値と最小値の差が閾値Bより小さい場合にも、各水平方向ブロックから得られた垂直方向動きベクトルは十分信頼できると判断する。 Similarly, when the difference between the maximum value and the minimum value of the vertical motion vector obtained from each horizontal block is smaller than the threshold value B, it is determined that the vertical motion vector obtained from each horizontal block is sufficiently reliable. To do.
なお、数値A、閾値Bは上述した値に限るものではない。また、バラツキの判断も上述した垂直方向動きベクトルの最大値と最小値の差で判断することに限定されず、標準偏差を用いて、例えば、標準偏差が閾値B以上のとき、バラツキが大きいと判断しても良い。 Note that the numerical value A and the threshold value B are not limited to the values described above. Further, the determination of the variation is not limited to the above-described difference between the maximum value and the minimum value of the vertical motion vector, and the standard deviation is used. For example, when the standard deviation is greater than or equal to the threshold B, the variation is large. You may judge.
上述した処理の結果、各水平方向ブロックから得られた垂直方向動きベクトルが十分信頼できると判断できた場合、次の手順で現フレームの垂直方向動きベクトルを算出する。 As a result of the above-described processing, when it is determined that the vertical motion vector obtained from each horizontal block is sufficiently reliable, the vertical motion vector of the current frame is calculated by the following procedure.
その概要は、現フレームの各水平方向ブロックから出力された垂直方向動きベクトルのうち、前フレームの垂直方向動きベクトルに最も近い垂直方向動きベクトルを現フレームの垂直方向動きベクトルとするものである。 The outline is that among the vertical motion vectors output from the horizontal blocks of the current frame, the vertical motion vector closest to the vertical motion vector of the previous frame is used as the vertical motion vector of the current frame.
図33においては、各水平方向ブロックから得られた垂直方向動きベクトルの分布範囲の最大値と最小値の差が9である場合を示しており、閾値B(例えばV=31)よりも小さいため、垂直方向動きベクトル決定部51では、各水平方向ブロックから算出された垂直方向動きベクトルは信頼性があるものと判断する。
FIG. 33 shows a case where the difference between the maximum value and the minimum value of the vertical motion vector distribution range obtained from each horizontal block is 9, and is smaller than the threshold value B (for example, V = 31). The vertical motion
ここで、図33においては垂直方向動きベクトル8が前フレームの垂直方向動きベクトルであり、これに最も近い現フレームの各水平方向ブロックから得られた垂直方向動きベクトルは、垂直方向動きベクトル6である。従って、垂直方向動きベクトル6が現フレームの垂直方向動きベクトルと決定される。なお、図33においては、現フレームの各水平方向ブロックから得られた垂直方向動きベクトルに対応するブロックに砂地のハッチングを付し、前フレームの垂直方向動きベクトルに対応するブロックに斜線のハッチングを付している。
Here, in FIG. 33, the
ここで、複数の水平方向ブロックの出力結果が同じ垂直方向動きベクトルとなった場合、すなわち、ある垂直方向動きベクトルの個数が2以上となった場合、個数1の垂直方向動きベクトルは信頼性が低いものとして除外し、その上で前フレームの垂直方向動きベクトルに最も近い垂直方向動きベクトルを求め、その垂直方向動きベクトルを現フレームの垂直方向動きベクトルとしても良い。 Here, when the output results of a plurality of horizontal blocks are the same vertical motion vector, that is, when the number of certain vertical motion vectors is 2 or more, the number of vertical motion vectors of 1 is reliable. The vertical motion vector closest to the vertical motion vector of the previous frame is obtained as a lower motion vector, and the vertical motion vector of the current frame may be used as the vertical motion vector of the current frame.
この方法を採る場合、図33の例では、垂直方向動きベクトル5が現フレームの水平方向動きベクトルとなる。
When this method is adopted, in the example of FIG. 33, the
なお、前フレームの垂直方向動きベクトルに最も近い垂直方向動きベクトルが2つ存在する場合には、その平均、つまり、前フレームの垂直方向動きベクトルそのものを現フレームの垂直方向動きベクトルとすれば良い。 If there are two vertical motion vectors that are closest to the vertical motion vector of the previous frame, the average, that is, the vertical motion vector of the previous frame itself may be used as the vertical motion vector of the current frame. .
ここで、前フレームの垂直方向動きベクトルの情報は、垂直方向動きベクトル決定部51内に設けられた所定の記憶部(前フレーム垂直方向動きベクトル保存手段)に保存しておき、必要に応じて読み出すように構成されている。
Here, the information on the vertical motion vector of the previous frame is stored in a predetermined storage unit (previous frame vertical motion vector storage means) provided in the vertical motion
以上説明したように、水平方向ブロックの有効/無効の判定動作により信頼性の低い水平方向ブロックを除外した上で、信頼性の高い水平方向ブロックに基づいて算出される垂直方向動きベクトルについてバラツキを考慮して画像全体の垂直方向動きベクトルの信頼性を評価し、信頼できると判断した場合にも、前フレームの垂直方向動きベクトルを考慮することで、前フレームからの動きを加味した違和感の少ない垂直方向動きベクトルを決定することができる。 As described above, after the horizontal block having low reliability is excluded by the determination operation of the validity / invalidity of the horizontal block, the vertical motion vector calculated based on the horizontal block having high reliability is varied. Considering the vertical motion vector reliability of the entire image, considering the reliability of the entire image in consideration of the vertical motion vector of the previous frame, even if it is determined to be reliable, there is little uncomfortable feeling considering the motion from the previous frame A vertical motion vector can be determined.
<効果>
以上に説明したように、実施の形態1に係る動きベクトル検出装置1の水平方向動きベクトル検出部2においては、水平方向動きベクトル決定部32において、第1の垂直方向ブロック射影データ最大値保存部24から出力される第1の垂直方向ブロック射影データの最大値、垂直方向ブロック水平方向動きベクトル算出部31から出力される垂直方向ブロックn値化加算データピーク値、第1の閾値交差点探索部29から出力される第1の閾値交差点の情報に基づいて、垂直方向ブロックの有効/無効の判断を行うため、信頼性の低い垂直方向ブロックから得られた水平方向動きベクトルを除外することができ、結果的に、信頼性の高い水平方向動きベクトルを算出することができる。
<Effect>
As described above, in the horizontal direction motion
また、信頼性の高い垂直方向ブロックに基づいて算出される水平方向動きベクトルについてバラツキを考慮して画像全体の水平方向動きベクトルの信頼性を評価し、信頼できると判断した場合にも、前フレームの水平方向動きベクトルを考慮することで、前フレームからの動きを加味した違和感の少ない水平方向動きベクトルを決定することができる。 In addition, if the reliability of the horizontal motion vector of the entire image is evaluated by considering the variation of the horizontal motion vector calculated based on the highly reliable vertical block, and the frame is determined to be reliable, By considering the horizontal direction motion vector, it is possible to determine a horizontal direction motion vector with less sense of incongruity in consideration of the motion from the previous frame.
また、垂直方向動きベクトル検出部4においては、垂直方向動きベクトル決定部51において、第1の水平方向ブロック射影データ最大値保存部45から出力される第1の水平方向ブロック射影データの最大値、水平方向ブロック垂直方向動きベクトル算出部50から出力される水平方向ブロックn値化加算データピーク値、第3の閾値交差点探索部48から出力される第3の閾値交差点の情報に基づいて、水平方向ブロックの有効/無効の判断を行うため、信頼性の低い水平方向ブロックから得られた垂直方向動きベクトルを除外することができ、結果的に、信頼性の高い垂直方向動きベクトルを算出することができる。
Further, in the vertical direction motion
また、信頼性の高い水平方向ブロックに基づいて算出される垂直方向動きベクトルについてバラツキを考慮して画像全体の垂直方向動きベクトルの信頼性を評価し、信頼できると判断した場合にも、前フレームの垂直方向動きベクトルを考慮することで、前フレームからの動きを加味した違和感の少ない垂直方向動きベクトルを決定することができる。 In addition, when the reliability of the vertical motion vector of the entire image is evaluated by considering the variation of the vertical motion vector calculated based on the highly reliable horizontal block, and the frame is determined to be reliable, By considering the vertical direction motion vector, it is possible to determine a vertical direction motion vector with less sense of incongruity considering the motion from the previous frame.
<実施の形態2>
<動きベクトル検出装置の構成>
本発明の実施の形態2に係る動きベクトル検出装置1Aについては、図1に示す実施の形態1の動きベクトル検出装置1と類似の構成を有しているが、水平方向動きベクトル検出部と垂直方向動きベクトル検出部との構成が異なっている。この動きベクトル検出装置1Aにおける水平方向動きベクトル検出部2Aおよび垂直方向動きベクトル検出部4Aの構成について図34および図35を参照して説明する。
<
<Configuration of motion vector detection device>
The motion vector detection device 1A according to the second embodiment of the present invention has a configuration similar to that of the motion
図34は、水平方向動きベクトル検出部2Aの要部構成を示すブロック図である。なお、図34では、実施の形態1と同様の機能を有する部位には同一の符号を付している。
FIG. 34 is a block diagram showing a main configuration of the horizontal direction motion
水平方向動きベクトル検出部2Aでは、実施の形態1の水平方向動きベクトル検出部2に対して垂直方向画像分割部21と垂直方向エッジ抽出フィルタリング部22との配置が逆転している。以下では、この水平方向動きベクトル検出部2Aの動作について説明する。
In the horizontal direction motion
図2に示すように水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像が、水平方向動きベクトル検出部2Aの入力端子20に入力されると、垂直方向エッジ抽出フィルタリング部22において垂直方向に延びるエッジ成分の抽出、換言すれば水平方向に急峻に変化する画像部分を強調するようなフィルタリング処理が施される。
As shown in FIG. 2, when a frame image read by sequentially repeating pixel scanning of the horizontal line in the vertical direction is input to the
垂直方向エッジ抽出フィルタリング部22で垂直方向のエッジが強調されたフレーム画像が垂直方向画像分割部21に入力されると、垂直方向にブロック分割される。すなわち、垂直方向画像分割部21では、エッジ強調が施されたフレーム画像を垂直方向に分割して得られる複数の画像領域(垂直方向ブロック)が設定される。これにより、以降の処理では、垂直方向ブロックごとに処理および管理が行われることとなる。
When the frame image in which the vertical edge is emphasized by the vertical edge
垂直方向画像分割部21で分割された画像データは、垂直方向ブロック射影部23に入力されるが、この垂直方向ブロック射影部23以降の処理は、実施の形態1の水平方向動きベクトル検出部2と同様の処理が行われる。
The image data divided by the vertical
図35は、垂直方向動きベクトル検出部4Aの要部構成を示すブロック図である。なお、図35では、実施の形態1と同様の機能を有する部位には同一の符号を付している。
FIG. 35 is a block diagram showing a main configuration of the vertical motion
垂直方向動きベクトル検出部4Aでは、実施の形態1の垂直方向動きベクトル検出部4に対して水平方向画像分割部41と水平方向エッジ抽出フィルタリング部42との配置が逆転している。以下では、この垂直方向動きベクトル検出部4Aの動作について説明する。
In the vertical direction motion
図2に示すように水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像が、垂直方向動きベクトル検出部4Aの入力端子40に入力されると、水平方向エッジ抽出フィルタリング部42において水平方向に延びるエッジ成分の抽出、換言すれば垂直方向に急峻に変化する画像部分を強調するようなフィルタリング処理が施される。
As shown in FIG. 2, when a frame image read out by repeating the pixel scanning of the horizontal line in order in the vertical direction is input to the
水平方向エッジ抽出フィルタリング部42で水平方向のエッジが強調されたフレーム画像が水平方向画像分割部41に入力されると、水平方向にブロック分割される。すなわち、水平方向画像分割部41では、エッジ強調が施されたフレーム画像を水平方向に分割して得られる複数の画像領域(水平方向ブロック)が設定される。これにより、以降の処理では、水平方向ブロックごとに処理および管理が行われることとなる。
When the frame image in which the horizontal edge is emphasized by the horizontal edge
水平方向画像分割部41で分割された画像データは、水平方向ブロック射影部43に入力されるが、この水平方向ブロック射影部43以降の処理は、実施の形態1の垂直方向動きベクトル検出部4と同様の処理が行われる。
The image data divided by the horizontal
以上の動きベクトル検出装置1Aの動作により、実施の形態1と同様の効果を奏する。 The operation of the motion vector detection device 1A described above provides the same effects as those of the first embodiment.
そして、動きベクトル検出装置1Aでは、垂直方向エッジ抽出フィルタリング部22でフレーム画像に対する垂直方向のエッジを強調した後に、エッジ強調されたフレーム画像を垂直方向画像分割部21において垂直方向に分割するため、垂直方向のエッジが強調された分割画像を簡易に生成できる。
Then, in the motion vector detection device 1A, the vertical edge
同様に、水平方向エッジ抽出フィルタリング部42でフレーム画像に対する水平方向のエッジを強調した後に、エッジ強調されたフレーム画像を水平方向画像分割部41において水平方向に分割するため、水平方向のエッジが強調された分割画像を簡易に生成できる。
Similarly, the horizontal edge
なお、動きベクトル検出装置1Aにおいては、垂直方向エッジ抽出フィルタリング部22と水平方向エッジ抽出フィルタリング部42とを別々に水平方向動きベクトル検出部2Aおよび垂直方向動きベクトル検出部4Aに配置するのは必須でなく、垂直方向エッジ抽出フィルタリング部22および水平方向エッジ抽出フィルタリング部42の双方の機能を一体化した水平/垂直方向エッジ抽出フィルタリング部を設けて、その出力を垂直方向画像分割部21および水平方向画像分割部41それぞれに入力させるようにしても良い。
In the motion vector detection device 1A, it is essential to arrange the vertical edge
<変形例>
上記の各実施の形態における垂直方向エッジ抽出フィルタリング部および水平方向エッジ抽出フィルタリング部については、エッジ抽出を行うフィルタリング処理後に、所定の閾値との大小関係を判別する閾値処理により例えば「エッジあり」「エッジなし」の2値化や、「正のエッジあり」「エッジなし」「負のエッジあり」の3値化を行うようにしても良い。このような閾値処理を行うことにより、所定の閾値以上の輝度変化(輝度勾配)を有するエッジを同一に扱うことが可能となる。
<Modification>
For the vertical direction edge extraction filtering unit and the horizontal direction edge extraction filtering unit in each of the above embodiments, after the filtering process for performing edge extraction, for example, “with edge” and “ The binarization of “no edge” or the ternarization of “with positive edge”, “without edge”, and “with negative edge” may be performed. By performing such threshold processing, it is possible to treat edges having a luminance change (luminance gradient) equal to or greater than a predetermined threshold in the same way.
上記の各実施の形態においては、ビット数削減部25から出力されるデータを、例えばフレームごとのスイッチ切替えによって第1の垂直方向ブロック射影ラインメモリ26と第2の垂直方向ブロック射影ラインメモリ27とに交互に入力させるようにしても良い。また、水平方向ブロック射影部43から出力されるデータを、例えばフレームごとのスイッチ切替えによって第1の水平方向ブロック射影ラインメモリ44と第2の水平方向ブロック射影ラインメモリ46とに交互に入力させるようにしても良い。同様に、垂直(水平)方向ブロック射影部から出力されるデータを、例えばフレームごとのスイッチ切替えによって第1の垂直(水平)方向ブロック射影データ最大値保存部と第2の垂直(水平)方向ブロック射影データ最大値保存部とに交互に入力させるようにしても良い。
In each of the above-described embodiments, the data output from the bit
本発明における「前フレーム」には、後フレーム(例えば現在のフレーム)に対して1つだけ前のフレームに限らず、2つ以上前のフレームも含まれる。例えば、フレーム間引き処理により途中のフレームがスキップされている場合には、スキップされたフレームの前のフレームが含まれる。 The “previous frame” in the present invention is not limited to the previous frame, but includes two or more previous frames (for example, the current frame). For example, when a frame in the middle is skipped by the frame thinning process, the frame before the skipped frame is included.
1,1A 動きベクトル検出装置、hb0〜hb9 水平方向ブロック、hn0〜hn9 水平方向ブロック射影データ、vb0〜vb7 垂直方向ブロック、vn0〜vn6 垂直方向ブロック射影データ、A(1)〜A(8) 第1の閾値交差点、α1 第1の閾値、α2 第2の閾値、B(1)〜B(6) 第3の閾値交差点、α3 第3の閾値、α4 第4の閾値。 1, 1A motion vector detector, hb0 to hb9 horizontal block, hn0 to hn9 horizontal block projection data, vb0 to vb7 vertical block, vn0 to vn6 vertical block projection data, A (1) to A (8) 1 threshold intersection, α1 first threshold, α2 second threshold, B (1) to B (6) third threshold intersection, α3 third threshold, α4 fourth threshold.
Claims (18)
水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像に関して、垂直方向に一定の分割幅を有して複数に分割されたブロックごとに垂直方向のエッジを強調するエッジ強調手段と、
前記エッジ強調手段でエッジが強調された画像について、前記ブロックごとに垂直方向に射影をとり、前記ブロックのそれぞれで1水平ライン分のデータ配列を有する射影データを生成する射影手段と、
前記後フレームに対して前記射影手段で得られた後フレーム射影データの配列要素において最大値を求める最大値取得手段と、
前記前フレームに対して前記射影手段で得られた前フレーム射影データに関して前記データ配列の要素順に配列要素の値をグラフ化した波形と、配列要素の値が所定の一定値となる直線とが交差する各交差点の配列要素の位置を特定して交差点情報として出力する特定手段と、
前記各交差点の配列要素の位置を中心とした所定範囲のデータ配列を、前記後フレーム射影データから抽出する抽出手段と、
前記抽出手段で抽出された所定範囲のデータ配列それぞれについて、前記各交差点の配列要素の位置に対して相対位置が同じ配列要素同士の値を加算し、得られた加算結果に基づいて前記ブロックごとの水平方向動きベクトルを算出する加算手段と、
前記加算手段で算出された前記ブロックごとの水平方向動きベクトルに基づき、フレーム画像全体の水平方向動きベクトルを検出する検出手段と、を備え、
前記検出手段は、
前記最大値取得手段で得られた前記後フレーム射影データの前記最大値、前記加算手段で得られた前記加算結果および前記特定手段で得られた前記交差点情報のうち少なくとも1つを用いて前記ブロックごとの水平方向動きベクトルの信頼性評価を行う、動きベクトル検出装置。 A motion vector detection device that detects a motion vector between frame images related to a preceding frame and a following frame that are in a time series front-rear relationship,
Edge enhancement means that emphasizes the edge in the vertical direction for each block divided into a plurality of blocks having a constant division width in the vertical direction with respect to a frame image read out by sequentially repeating pixel scanning of the horizontal line in the vertical direction;
Projecting means for projecting in the vertical direction for each block, and generating projection data having a data array for one horizontal line in each of the blocks, with respect to the image whose edges are enhanced by the edge enhancement means;
Maximum value obtaining means for obtaining a maximum value in an array element of post-frame projection data obtained by the projecting means for the rear frame;
A waveform obtained by graphing array element values in the order of the elements of the data array with respect to the previous frame projection data obtained by the projecting means with respect to the previous frame intersects with a straight line where the array element value is a predetermined constant value. Specifying means for specifying the position of the array element of each intersection to be output as intersection information;
Extracting means for extracting a predetermined range of data array centered on the position of the array element at each intersection from the post-frame projection data;
For each data array in the predetermined range extracted by the extraction means, the values of array elements having the same relative position with respect to the position of the array element at each intersection are added, and each block is based on the obtained addition result Adding means for calculating a horizontal motion vector of
Detecting means for detecting a horizontal motion vector of the entire frame image based on the horizontal motion vector for each block calculated by the adding means;
The detection means includes
The block using at least one of the maximum value of the post-frame projection data obtained by the maximum value obtaining unit, the addition result obtained by the adding unit, and the intersection information obtained by the specifying unit. A motion vector detection apparatus for evaluating the reliability of horizontal motion vectors for each.
前記後フレーム射影データの前記最大値を用いて前記ブロックごとの水平方向動きベクトルの信頼性評価を行う場合、
前記複数のブロックのそれぞれにおいて得られた、前記後フレーム射影データの前記最大値の中から全ブロック中の最大値を求め、該全ブロック中の最大値に対して、予め定めた比率以下の前記最大値を有する前記ブロックについては無効ブロックとし、該無効ブロックから算出された前記ブロックごとの水平方向動きベクトルは、前記フレーム画像全体の水平方向動きベクトルの検出には使用しない、請求項1記載の動きベクトル検出装置。 The detection means includes
When performing a reliability evaluation of the horizontal motion vector for each block using the maximum value of the post-frame projection data,
Obtaining the maximum value in all blocks from the maximum value of the post-frame projection data obtained in each of the plurality of blocks, and the ratio below the predetermined ratio with respect to the maximum value in the all blocks The block having the maximum value is an invalid block, and the horizontal motion vector for each block calculated from the invalid block is not used for detection of a horizontal motion vector of the entire frame image. Motion vector detection device.
前記加算結果を用いて前記ブロックごとの水平方向動きベクトルの信頼性評価を行う場合、
前記複数のブロックのそれぞれにおいて得られた前記加算結果のピーク値の中から最大ピーク値を求め、該最大ピーク値が予め定めた第1の所定値以上である場合は、予め定めた第2の所定値以下の前記最大値を有する前記ブロックについては無効ブロックとし、該無効ブロックから算出された前記ブロックごとの水平方向動きベクトルは、前記フレーム画像全体の水平方向動きベクトルの検出には使用しない、請求項1記載の動きベクトル検出装置。 The detection means includes
When performing the reliability evaluation of the horizontal motion vector for each block using the addition result,
A maximum peak value is obtained from the peak values of the addition results obtained in each of the plurality of blocks, and when the maximum peak value is equal to or greater than a predetermined first predetermined value, a predetermined second value is determined. The block having the maximum value less than or equal to a predetermined value is an invalid block, and the horizontal motion vector for each block calculated from the invalid block is not used for detection of the horizontal motion vector of the entire frame image. The motion vector detection device according to claim 1.
前記交差点情報を用いて前記ブロックごとの水平方向動きベクトルの信頼性評価を行う場合、前記交差点情報のうち交差点数の情報を使用し、
前記複数のブロックのそれぞれにおいて得られた前記交差点数のうち、予め定めた第1の所定値以下および予め定めた第2の所定値以上の前記交差点数を有する前記ブロックについては無効ブロックとし、該無効ブロックから算出された前記ブロックごとの水平方向動きベクトルは、前記フレーム画像全体の水平方向動きベクトルの検出には使用しない、請求項1記載の動きベクトル検出装置。 The detection means includes
When performing the reliability evaluation of the horizontal motion vector for each block using the intersection information, use the information on the number of intersections among the intersection information,
Of the number of intersections obtained in each of the plurality of blocks, the block having the number of intersections equal to or smaller than a predetermined first predetermined value and equal to or larger than a predetermined second predetermined value is regarded as an invalid block, The motion vector detection device according to claim 1, wherein a horizontal motion vector for each block calculated from an invalid block is not used for detection of a horizontal motion vector of the entire frame image.
前記交差点情報を用いて前記ブロックごとの水平方向動きベクトルの信頼性評価を行う場合、前記交差点情報のうち交差点数の情報を使用し、
前記複数のブロックのそれぞれにおいて得られた前記交差点数の中から最大値を求め、該最大値が予め定めた第1の所定値以上である場合は、予め定めた第2の所定値以下および予め定めた第3の所定値以上の前記交差点数を有する前記ブロックについては無効ブロックとし、該無効ブロックから算出された前記ブロックごとの水平方向動きベクトルは、前記フレーム画像全体の水平方向動きベクトルの検出には使用しない、請求項1記載の動きベクトル検出装置。 The detection means includes
When performing the reliability evaluation of the horizontal motion vector for each block using the intersection information, use the information on the number of intersections among the intersection information,
A maximum value is obtained from the number of intersections obtained in each of the plurality of blocks, and when the maximum value is equal to or greater than a first predetermined value, a predetermined second predetermined value or less and a predetermined value The block having the number of intersections equal to or greater than a predetermined third predetermined value is regarded as an invalid block, and the horizontal motion vector for each block calculated from the invalid block is a detection of the horizontal motion vector of the entire frame image. The motion vector detection device according to claim 1, wherein the motion vector detection device is not used for the motion vector.
前記ブロックごとの水平方向動きベクトルの信頼性評価によって有効ブロックと判断された前記ブロックから算出された前記ブロックごとの水平方向動きベクトルについて分布範囲を求め、該分布範囲が予め定めた閾値以上の場合は、前記フレーム画像全体の水平方向動きベクトルをゼロとする、請求項2〜請求項5の何れかに記載の動きベクトル検出装置。 The detection means includes
When a distribution range is obtained for the horizontal motion vector for each block calculated from the block determined to be an effective block by the reliability evaluation of the horizontal motion vector for each block, and the distribution range is equal to or greater than a predetermined threshold The motion vector detection device according to claim 2, wherein a horizontal motion vector of the entire frame image is set to zero.
前記前フレームの前記フレーム画像全体の水平方向動きベクトルを保存する前フレーム水平方向動きベクトル保存手段を有し、
前記有効ブロックと判断された前記ブロックから算出された前記ブロックごとの水平方向動きベクトルのうち、前記前フレームの前記フレーム画像全体の水平方向動きベクトルに最も近いものを、前記後フレームの前記フレーム画像全体の水平方向動きベクトルとする、請求項6記載の動きベクトル検出装置。 The detection means includes
A previous frame horizontal motion vector storing means for storing a horizontal motion vector of the entire frame image of the previous frame;
Of the horizontal motion vectors for each block calculated from the blocks determined to be the effective blocks, the one closest to the horizontal motion vector of the entire frame image of the previous frame is the frame image of the subsequent frame. The motion vector detection device according to claim 6, wherein the motion vector detection device is an entire horizontal motion vector.
前記エッジ強調手段は、前記複数のブロックのそれぞれについて垂直方向のエッジを強調する、請求項1記載の動きベクトル検出装置。 An image dividing unit that is arranged in a preceding stage of the edge enhancement unit and sets each of a plurality of image areas obtained by dividing the frame image in the vertical direction as the block;
The motion vector detection apparatus according to claim 1, wherein the edge enhancement unit enhances an edge in a vertical direction for each of the plurality of blocks.
前記エッジ強調手段は、前記フレーム画像について垂直方向のエッジを強調する、請求項1記載の動きベクトル検出装置。 An image dividing unit that is arranged at a subsequent stage of the edge emphasizing unit and sets each of a plurality of image areas obtained by dividing the frame image whose edges are emphasized by the edge emphasizing unit in the vertical direction as the block; Prepared,
The motion vector detection device according to claim 1, wherein the edge enhancement unit enhances an edge in a vertical direction of the frame image.
水平ラインの画素走査を垂直方向に順に繰り返すことによって読み出されるフレーム画像に関して、水平方向に一定の分割幅を有して複数に分割されたブロックごとに水平方向のエッジを強調するエッジ強調手段と、
前記エッジ強調手段でエッジが強調された画像について、前記ブロックごとに水平方向に射影をとり、前記ブロックのそれぞれで1垂直ライン分のデータ配列を有する射影データを生成する射影手段と、
前記後フレームに対して前記射影手段で得られた後フレーム射影データの配列要素において最大値を求める最大値取得手段と、
前記前フレームに対して前記射影手段で得られた前フレーム射影データに関して前記データ配列の要素順に配列要素の値をグラフ化した波形と、配列要素の値が所定の一定値となる直線とが交差する各交差点の配列要素の位置を特定して交差点情報として出力する特定手段と、
前記各交差点の配列要素の位置を中心とした所定範囲のデータ配列を、前記後フレーム射影データから抽出する抽出手段と、
前記抽出手段で抽出された所定範囲のデータ配列それぞれについて、前記各交差点の配列要素の位置に対して相対位置が同じ配列要素同士の値を加算し、得られた加算結果に基づいて前記ブロックごとの垂直方向動きベクトルを算出する加算手段と、
前記加算手段で算出された前記ブロックごとの垂直方向動きベクトルに基づき、フレーム画像全体の垂直方向動きベクトルを検出する検出手段と、を備え、
前記検出手段は、
前記最大値取得手段で得られた前記後フレーム射影データの前記最大値、前記加算手段で得られた前記加算結果および前記特定手段で得られた前記交差点情報のうち少なくとも1つを用いて前記ブロックごとの垂直方向動きベクトルの信頼性評価を行う、動きベクトル検出装置。 A motion vector detection device that detects a motion vector between frame images related to a preceding frame and a following frame that are in a time series front-rear relationship,
With respect to a frame image read by sequentially repeating pixel scanning of the horizontal line in the vertical direction, an edge emphasizing unit that emphasizes the edge in the horizontal direction for each of the blocks divided into a plurality of blocks having a constant division width in the horizontal direction;
Projecting means for performing projection in the horizontal direction for each of the blocks and generating projection data having a data array for one vertical line in each of the blocks with respect to an image whose edges are enhanced by the edge enhancement means;
Maximum value obtaining means for obtaining a maximum value in an array element of post-frame projection data obtained by the projecting means for the rear frame;
A waveform obtained by graphing array element values in the order of the elements of the data array with respect to the previous frame projection data obtained by the projecting means with respect to the previous frame intersects with a straight line where the array element value is a predetermined constant value. Specifying means for specifying the position of the array element of each intersection to be output as intersection information;
Extracting means for extracting a predetermined range of data array centered on the position of the array element at each intersection from the post-frame projection data;
For each data array in the predetermined range extracted by the extraction means, the values of array elements having the same relative position with respect to the position of the array element at each intersection are added, and each block is based on the obtained addition result Adding means for calculating a vertical motion vector of
Detecting means for detecting a vertical motion vector of the entire frame image based on the vertical motion vector for each block calculated by the adding means;
The detection means includes
The block using at least one of the maximum value of the post-frame projection data obtained by the maximum value obtaining unit, the addition result obtained by the adding unit, and the intersection information obtained by the specifying unit. A motion vector detection apparatus for evaluating the reliability of vertical motion vectors for each.
前記後フレーム射影データの前記最大値を用いて前記ブロックごとの垂直方向動きベクトルの信頼性評価を行う場合、
前記複数のブロックのそれぞれにおいて得られた、前記後フレーム射影データの前記最大値の中から全ブロック中の最大値を求め、該全ブロック中の最大値に対して、予め定めた比率以下の前記最大値を有する前記ブロックについては無効ブロックとし、該無効ブロックから算出された前記ブロックごとの垂直方向動きベクトルは、前記フレーム画像全体の垂直方向動きベクトルの検出には使用しない、請求項10記載の動きベクトル検出装置。 The detection means includes
When performing a reliability evaluation of the vertical motion vector for each block using the maximum value of the post-frame projection data,
Obtaining the maximum value in all blocks from the maximum value of the post-frame projection data obtained in each of the plurality of blocks, and the ratio below the predetermined ratio with respect to the maximum value in the all blocks The block having the maximum value is an invalid block, and the vertical motion vector for each block calculated from the invalid block is not used for detection of the vertical motion vector of the entire frame image. Motion vector detection device.
前記加算結果を用いて前記ブロックごとの垂直方向動きベクトルの信頼性評価を行う場合、
前記複数のブロックのそれぞれにおいて得られた前記加算結果のピーク値の中から最大ピーク値を求め、該最大ピーク値が予め定めた第1の所定値以上である場合は、予め定めた第2の所定値以下の前記最大値を有する前記ブロックについては無効ブロックとし、該無効ブロックから算出された前記ブロックごとの垂直方向動きベクトルは、前記フレーム画像全体の垂直方向動きベクトルの検出には使用しない、請求項10記載の動きベクトル検出装置。 The detection means includes
When performing the reliability evaluation of the vertical motion vector for each block using the addition result,
A maximum peak value is obtained from the peak values of the addition results obtained in each of the plurality of blocks, and when the maximum peak value is equal to or greater than a predetermined first predetermined value, a predetermined second value is determined. The block having the maximum value below a predetermined value is an invalid block, and the vertical motion vector for each block calculated from the invalid block is not used for detection of the vertical motion vector of the entire frame image. The motion vector detection apparatus according to claim 10.
前記交差点情報を用いて前記ブロックごとの垂直方向動きベクトルの信頼性評価を行う場合、前記交差点情報のうち交差点数の情報を使用し、
前記複数のブロックのそれぞれにおいて得られた前記交差点数のうち、予め定めた第1の所定値以下および予め定めた第2の所定値以上の前記交差点数を有する前記ブロックについては無効ブロックとし、該無効ブロックから算出された前記ブロックごとの垂直方向動きベクトルは、前記フレーム画像全体の垂直方向動きベクトルの検出には使用しない、請求項10記載の動きベクトル検出装置。 The detection means includes
When performing the reliability evaluation of the vertical motion vector for each block using the intersection information, information on the number of intersections among the intersection information is used.
Of the number of intersections obtained in each of the plurality of blocks, the block having the number of intersections equal to or smaller than a predetermined first predetermined value and equal to or larger than a predetermined second predetermined value is regarded as an invalid block, The motion vector detection device according to claim 10, wherein the vertical motion vector for each block calculated from an invalid block is not used for detection of a vertical motion vector of the entire frame image.
前記交差点情報を用いて前記ブロックごとの垂直方向動きベクトルの信頼性評価を行う場合、前記交差点情報のうち交差点数の情報を使用し、
前記複数のブロックのそれぞれにおいて得られた前記交差点数の中から最大値を求め、該最大値が予め定めた第1の所定値以上である場合は、予め定めた第2の所定値以下および予め定めた第3の所定値以上の前記交差点数を有する前記ブロックについては無効ブロックとし、該無効ブロックから算出された前記ブロックごとの垂直方向動きベクトルは、前記フレーム画像全体の垂直方向動きベクトルの検出には使用しない、請求項10記載の動きベクトル検出装置。 The detection means includes
When performing the reliability evaluation of the vertical motion vector for each block using the intersection information, information on the number of intersections among the intersection information is used.
A maximum value is obtained from the number of intersections obtained in each of the plurality of blocks, and when the maximum value is equal to or greater than a first predetermined value, a predetermined second predetermined value or less and a predetermined value The block having the number of intersections equal to or greater than a predetermined third predetermined value is regarded as an invalid block, and the vertical motion vector for each block calculated from the invalid block is detected as the vertical motion vector of the entire frame image. The motion vector detection apparatus according to claim 10, wherein the motion vector detection apparatus is not used.
前記ブロックごとの垂直方向動きベクトルの信頼性評価によって有効ブロックと判断された前記ブロックから算出された前記ブロックごとの垂直方向動きベクトルについて分布範囲を求め、該分布範囲が予め定めた閾値以上の場合は、前記フレーム画像全体の垂直方向動きベクトルをゼロとする、請求項11〜請求項14の何れかに記載の動きベクトル検出装置。 The detection means includes
When a distribution range is obtained for the vertical motion vector for each block calculated from the block determined to be an effective block by the reliability evaluation of the vertical motion vector for each block, and the distribution range is equal to or greater than a predetermined threshold The motion vector detection device according to claim 11, wherein a vertical motion vector of the entire frame image is set to zero.
前記前フレームの前記フレーム画像全体の垂直方向動きベクトルを保存する前フレーム垂直方向動きベクトル保存手段を有し、
前記有効ブロックと判断された前記ブロックから算出された前記ブロックごとの垂直方向動きベクトルのうち、前記前フレームの前記フレーム画像全体の垂直方向動きベクトルに最も近いものを、前記後フレームの前記フレーム画像全体の垂直方向動きベクトルとする、請求項15記載の動きベクトル検出装置。 The detection means includes
A previous frame vertical motion vector storage means for storing a vertical motion vector of the entire frame image of the previous frame;
Of the vertical motion vectors for each of the blocks calculated from the block determined to be the effective block, the one closest to the vertical motion vector of the entire frame image of the previous frame is the frame image of the subsequent frame. The motion vector detection device according to claim 15, wherein the motion vector detection device is an entire vertical motion vector.
前記エッジ強調手段は、前記複数のブロックのそれぞれについて水平方向のエッジを強調する、請求項10記載の動きベクトル検出装置。 An image dividing unit that is arranged in a preceding stage of the edge enhancement unit and sets each of a plurality of image regions obtained by dividing the frame image in the horizontal direction as the block,
The motion vector detection apparatus according to claim 10, wherein the edge enhancement unit enhances a horizontal edge for each of the plurality of blocks.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006242343A JP4213739B2 (en) | 2006-09-07 | 2006-09-07 | Motion vector detection device |
PCT/JP2007/052011 WO2008023466A1 (en) | 2006-08-24 | 2007-02-06 | Moving vector detecting bdevice |
CN2007800314952A CN101506845B (en) | 2006-08-24 | 2007-02-06 | Moving vector detecting bdevice |
EP07708111A EP2061007A1 (en) | 2006-08-24 | 2007-02-06 | Moving vector detecting bdevice |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006242343A JP4213739B2 (en) | 2006-09-07 | 2006-09-07 | Motion vector detection device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008067027A JP2008067027A (en) | 2008-03-21 |
JP4213739B2 true JP4213739B2 (en) | 2009-01-21 |
Family
ID=39289336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006242343A Expired - Fee Related JP4213739B2 (en) | 2006-08-24 | 2006-09-07 | Motion vector detection device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4213739B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009258269A (en) * | 2008-04-15 | 2009-11-05 | Sharp Corp | Image display device |
-
2006
- 2006-09-07 JP JP2006242343A patent/JP4213739B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008067027A (en) | 2008-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108229526B (en) | Network training method, network training device, image processing method, image processing device, storage medium and electronic equipment | |
Zhou | Cognition and removal of impulse noise with uncertainty | |
KR101861722B1 (en) | Method of processing video data and image processing circuit | |
US20090226097A1 (en) | Image processing apparatus | |
US20100026903A1 (en) | Motion vector detection device, motion vector detection method, and program | |
JP2996657B2 (en) | Motion detection apparatus and method using gradation pattern matching | |
CN110555863A (en) | moving object detection method and device and computer readable storage medium | |
JP4385077B1 (en) | Motion vector detection device and image processing device | |
JP4213739B2 (en) | Motion vector detection device | |
WO2008023466A1 (en) | Moving vector detecting bdevice | |
JP4027398B1 (en) | Motion vector detection device | |
JP4525064B2 (en) | Motion vector detection apparatus, motion vector detection method, and computer program | |
JPH10320566A (en) | Picture processor, picture processing method, and storage medium storing the same method | |
JP4042602B2 (en) | Image processing device | |
JP4083782B1 (en) | Motion vector detection device | |
JP4622264B2 (en) | Motion vector detection apparatus, motion vector detection method, and computer program | |
JP4622265B2 (en) | Motion vector detection device, motion vector detection method, and program | |
JP4313820B2 (en) | Motion vector detection device | |
CN114693543A (en) | Image noise reduction method and device, image processing chip and image acquisition equipment | |
CN113781310A (en) | Image processing method, and training method and device of image processing model | |
JP4207764B2 (en) | Motion vector detection apparatus, motion vector detection method, and computer program | |
JP5103436B2 (en) | Image processing apparatus, image processing method, and image processing program | |
JP5159647B2 (en) | Image processing apparatus and image processing method | |
WO2008065764A1 (en) | Motion vector detecting device | |
SINGH | Some Studies on Image Enhancement and Filtering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081028 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081030 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131107 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |