(57)【特許請求の範囲】
【請求項１】
ターゲットブロックに対して２フィールド前の動きベクトル検出範囲内での参照ブロックのうち、該ターゲットブロックと最も相関が高い参照ブロックの位置ベクトルを該ターゲットブロックの動きベクトルとする動きベクトル検出装置であって、
フィールド毎に画面全体の平均的な動きを表わすフィールドベクトルを生成する第１の手段と、
該ターゲットブロックと最も相関が高い参照ブロックが１個だけ存在するときには、この参照ブロックの位置ベクトルを該ターゲットブロックの動きベクトルとし、該ターゲットブロックと最も相関が高い参照ブロックが複数存在するときには、該複数の参照ブロックのうちで、該第１の手段で生成された該ターゲットブロックに対して１フィールド前の該フィールドベクトルとの距離がより近い該参照ブロックの位置ベクトルを動きベクトルとして選択する第２の手段と
を有することを特徴とする動きベクトル検出装置。
【請求項２】
請求項１において、
前記ターゲットブロックと最も相関が高い複数の参照ブロックは、それらの相関値が任意に設定可能な所定値の範囲内にある参照ブロックであることを特徴とする動きベクトル検出装置。
【請求項３】
請求項１において、
前記第１の手段は、画面をブロックを構成単位とする複数の領域に分割して、該領域毎に前記第２の手段から得られる動きベクトルの平均ベクトルを求め、全ての該領域の平均ベクトルが等しいとき、もしくは予め決められた任意の個数以上の該領域での平均ベクトルが等しいとき、等しい該平均ベクトルを前記フィールドベクトルとすることを特徴とする動きベクトル検出装置。
【請求項４】
請求項１において、
前記第１の手段は、画面をブロックを構成単位とする複数の領域に分割して、該領域毎に前記第２の手段から得られる動きベクトルの平均ベクトルを求め、任意に設定可能な所定の範囲内にあって互いに近似した平均ベクトルが任意に設定可能な任意の値以上の個数存在するとき、該互いに近似した平均ベクトルを平均化したベクトルを前記フィールドベクトルとすることを特徴とする動きベクトル検出装置。
【請求項５】
請求項１〜４のいずれか１つにおいて、
前記フィールドベクトルとの距離が任意に設定可能な第１の所定範囲内にある前記動きベクトルの前記ターゲットブロックの個数を算出し、該個数が任意に設定可能な所定の値以上のとき、画面全体が等速運動しているものと判定し、前記フィールドベクトルを該画面全体のターゲットブロックの動きベクトルとする第３の手段を設けたことを特徴とする動きベクトル検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像データから動き情報を検出する動きベクトル検出装置に関する。
【０００２】
【従来の技術】
動画像上での各点での動きベクトルは、例えば、MPEG２での動き補償予測符号化処理などのような様々な動画像処理の基礎となる重要な情報であり、従来から様々な研究がなされている。従来の動きベクトルの検出方法としては、現在広く用いられているものの１つに、ブロックマッチング法と呼ばれる手法がある。以下、この手法を図２を参照しながら説明する。
【０００３】
図２はブロックマッチング法の概念を示す図であって、１０１は現フィールド、１０２は参照フィールド（例えば、現フィールド１０１よりも２フィールド前のフィールド）、１０３はターゲットブロック、１０４は参照ブロック、１０５は動きベクトル、１０６は検索範囲、１０７は被写体（ニコニコマークで示す）である。
【０００４】
同図において、いま、ニコニコマークを検出対象の被写体１０７とし、現フィールド１０１よりも、例えば、２フィールド前の参照フィールド１０２での画面（以下では、特に断らない限り、これも参照フィールド１０２と略称する）で図示する位置にあった被写体１０７が、現フィールド１０１の画面（以下では、特に断らない限り、これも現フィールド１０１と略称する）では、図示する位置に移動していたものとする。同じフィールド、例えば、参照フィールド１０２での被写体１０７の位置と現フィールド１０１の被写体１０７を参照フィールド１０２に投影した被写体１０７’の位置との間のベクトルをこの被写体１０７の動きベクトル１０５という。
【０００５】
上記のブロックマッチング方は、現フィールド１０１の画面をミニブロック（例えば、８画素×８ラインのブロックであって、以下、ターゲットブロック１０３という）に分割し、参照フィールド１０２に同一サイズのブロック（即ち、参照ブロック１０４）を設定し、これを現フィールド１０１でその位置をシフトさせながら、ターゲットブロック１０３との相関を計算する。そして、その相関が最も高いターゲットブロック１０３と一致する参照ブロック１０４のシフト量（距離及び方向）を動きベクトル１０５とする。この相関の計算は、通常、ターゲットブロック１０３と参照ブロック１０４との対応する各画素間の差分の絶対値をとり、これらを累積加算するするものであり、この加算結果（相関値）が最も小さい、即ち、相関が最も高くなる参照ブロック１０４のシフト量が動きベクトル１０５である。
【０００６】
参照ブロック１０４のシフト範囲は、例えば、３×５ブロックと決められており、このシフト範囲を動きベクトルの検索範囲１０６という。この検索範囲１０６の広さが、動きベクトル１０５の対応できる被写体１０７の動きの方向と大きさ（速さ）を決定する。即ち、画面上の物体の全ての動きを判別できるだけの広い検索範囲が望ましい。
【０００７】
以上のように、ターゲットブロック１０３との相関が最も高くなる参照ブロック１０４を検出することにより、動きベクトルを求めることができるが、かかる参照ブロック１０４の検出の際、場合によっては、後述するように、検索範囲１０６内で複数の参照ブロックが同じ相関値で相関が最大となり、複数の動きベクトルが得られることがある。この場合には、何らかの方式に従って動きベクトルに優先順位を付与し、同一の相関値をとる動きベクトルのうち１つを選択する機能が必要となる。
【０００８】
このような機能の従来例としては、特開平６ー３０３９９号公報に記載のものがある。
【０００９】
図３はこの特開平６ー３０３９９号公報に記載の動きベクトルの優先順位を示す表図である。以下、この図３について説明する。
【００１０】
同図において、上段及び左端に示す数字は夫々動きベクトルの水平，垂直成分（水平，垂直ベクトル）を示しており、また、表中の数値はその上方に示す水平ベクトルとその左方に示す垂直ベクトルとを有する動きベクトルに対する優先順位を示している。また、この数値が大きな程優先度が高いものとして定められている。例えば、動きベクトル（水平ベクトル，垂直ベクトル）＝（０，０）、即ち、ターゲットブロックと同位置の参照ブロックに対する優先順位は最も高い１５である。また、動きベクトル（−７，−５）、（−７，−７）に対する優先順位は夫々３，１であるから、これら動きベクトル（−７，−５）と動きベクトル（−７，−）とに対する２つの相関値が同一で、かついずれも相関が最大となる場合には、優先順位の高い動きベクトル（−７，−５）が採用される。
【００１１】
さらに、同一の相関値で相関が最大となり、しかも、優先順位が同じ値の複数の動きベクトルが存在する場合もある。例えば、いずれも優先順位が３の動きベクトル（−７，−５）と動きベクトル（−５，−７）のような場合であって、このような場合には、表中のより左側、即ち、動きベクトルの水平ベクトルが負の最大値により近い方、この場合には、動きベクトル（−７，−５）の方を優先とする。さらには、ともに優先順位が３であって、水平ベクトルが等しい動きベクトル（−７，−５）と動きベクトル（−７，５）のような場合には、表中のより上側、即ち、動きベクトルの垂直ベクトルが負の最大値により近い方を優先と定められる。
【００１２】
【発明が解決しようとする課題】
しかしながら、上記のような動きベクトルの優先順の決め方によると、次のような問題が生ずる。
【００１３】
即ち、いま、例えば、図４（ａ）に示すような建物の画像が矢印方向（垂直方向）に移動している場合のこの建物１１０の窓の部分について見てみる。ここで、この窓の部分の画像は、数ラインで繰り返すストライプ状（例えば、５ラインの黒と３ラインの白との繰り返しのパターン）の画像とし、これが垂直方向に移動するものとする。
【００１４】
図４（ｂ）は参照フィールドでの動きベクトルの検索範囲を示し、同図（ｃ）はこれより２フィールド後の現フィールドでのこの動きベクトルの検索範囲に対応する範囲を示している。そして、図４（ｂ），（ｃ）のいずれにおいても、１ブロックを８画素×８ラインとし、動きベクトル検索範囲を３×５ブロックとしている。ここでは、一例として、２フィールド間に画像が６ライン分上から下に垂直移動しているものとし、水平ベクトルは考慮しないものとする。
【００１５】
この場合、ブロックマッチング法によると、図４（ｃ）に示す現フィールドでのターゲットブロックＣと最も相関が高い、即ち、このターゲットブロックＣとの差分値（相関値）が最小となる図４（ｂ）に示す参照フィールドでの参照ブロックは、明らかに参照ブロックＡと参照ブロックＢとの２つが存在することになる。
【００１６】
ここで、参照ブロックＡに対する動きベクトルの垂直ベクトルｍｖＡは−６、参照ブロックＢに対する動きベクトルの垂直ベクトルｍｖＢは２であり、これらの水平ベクトルはともに０であって、これらの優先順位をみると、図４に示す表図に当て嵌めると、図５に示すように、参照ブロックＡに対する動きベクトルの優先順位は１９、参照ブロックＢに対する動きベクトルの優先順位は２３となり、参照ブロックＢに対する動きベクトルが選択されることになる。
【００１７】
しかしながら、図４（ｂ），（ｃ）から明らかなように、本来検出されるべき動きベクトルは参照ブロックＡに対する動きベクトルであるが、参照ブロックＢに対する動きベクトルが選択されることになり、これにより、被写体（この場合、窓）の動きと全く関係のない動きベクトルが検出されてしまうことになる。
【００１８】
このような誤った動きベクトルを用いて、例えば、走査線補間処理を行なうと、全く異なる情報をもった信号を補間信号としたノンインターレース信号が生成されることになり、ブロック状の歪みが発生して画質の劣化を招くことになる。
【００１９】
また、画像信号に含まれる雑音の影響により、上記のようなケースに陥る可能性もあって、さらに、正しい動きベクトルよりも相関の大きくなる動きベクトルが存在することがあるため、動きベクトルが画像内の被写体の動きを正確に反映しない場合もある。
【００２０】
本発明の目的は、かかる問題を解消し、動きベクトルの誤検出を低減可能とした動きベクトル検出装置を提供することにある。
【００２１】
【課題を解決するための手段】
上記目的を達成するために、本発明は、ターゲットブロックに対して２フィールド前の動きベクトル検出範囲内での参照ブロックのうち、ターゲットブロックと最も相関が高い参照ブロックの位置ベクトルをターゲットブロックの動きベクトルとする動きベクトル検出装置であって、フィールド毎に画面全体の平均的な動きを表わすフィールドベクトルを生成する第１の手段と、ターゲットブロックと最も相関が高い参照ブロックが１個だけ存在するときには、この参照ブロックの位置ベクトルをターゲットブロックの動きベクトルとし、ターゲットブロックと最も相関が高い参照ブロックが複数存在するときには、複数の参照ブロックのうちで、第１の手段で生成されたターゲットブロックに対して１フィールド前のフィールドベクトルとの距離がより近い該参照ブロックの位置ベクトルを動きベクトルとして選択する第２の手段とを有する構成とするものである。
【００２２】
ここで、ターゲットブロックと最も相関が高い複数の参照ブロックは、それらの相関値が任意に設定可能な所定値の範囲内にある参照ブロックである。
【００２３】
また、第１の手段は、画面をブロックを構成単位とする複数の領域に分割して、領域毎に上記の第２の手段から得られる動きベクトルの平均ベクトルを求め、全ての領域の平均ベクトルが等しいとき、もしくは予め決められた任意の個数以上の領域での平均ベクトルが等しいとき、この等しい平均ベクトルをフィールドベクトルとするものである。
【００２４】
また、上記第１の手段は、画面をブロックを構成単位とする複数の領域に分割して、領域毎に第２の手段から得られる動きベクトルの平均ベクトルを求め、任意に設定可能な所定の範囲内にあって互いに近似した平均ベクトルが任意に設定可能な任意の値以上の個数存在するとき、これら互いに近似した平均ベクトルを平均化したベクトルをフィールドベクトルとするものである。
【００２５】
さらに、フィールドベクトルとの距離が任意に設定可能な第１の所定範囲内にある動きベクトルのターゲットブロックの個数を算出し、この個数が任意に設定可能な所定の値以上のとき、画面全体が等速運動しているものと判定し、このフィールドベクトルを画面全体のターゲットブロックの動きベクトルとする第３の手段を設けた構成とするものである。
【００２６】
【発明の実施の形態】
以下、本発明の実施形態を図面により説明する。
図１は本発明による動きベクトル検出装置の第１の実施形態を示す構成図であって、１は現フィールドデータ入力端子、２は参照フィールド（例えば前々フィールド）データ入力端子、３は累積差分演算部、４は差分比較部、５はフィールドベクトル検出部、６はフィールドベクトル有効/無効判定部、７は動きベクトル出力端子である。
【００２７】
同図において、入力端子１からは現フィールドのブロック（以下、ターゲットブロックという）ＢＴのデータが入力され、入力端子２から、このターゲットブロックＢＴよりも、例えば、２フィールド前（前々フィールド）のブロック（以下、参照ブロックという）ＢＲのデータが入力される。以下に説明するブロックマッチング処理により、このターゲットブロックＢＴの動きベクトルＭＶが、このターゲットブロックＢＴに対して設定される動きベクトル検出範囲内の参照ブロックＢＲの中から選択された参照ブロックのこのターゲットブロックＢＴに対する位置ベクトルとして検出されるのである。
【００２８】
即ち、累積差分演算部３では、入力端子２から入力されたターゲットブロックＢＴに対する（つまり、このターゲットブロックＢＴに対して設定される動きベクトル検出範囲内の）参照ブロックＢＲ毎に、ターゲットブロックＢＴと参照ブロックＢＲとの対応画素間の差分演算が行なわれて、それら差分の累積加算結果（以下、差分累積値ＤＡという）が求められ、差分比較部４に供給される。差分比較部４では、ターゲットブロックＢＴに対し、最初の参照ブロックの差分累積値ＤＡが供給されると、これを最小差分累積値ＤＡとして、この最初の参照ブロックの位置ベクトルとともに、ホールドされ、次の参照ブロックの差分累積値ＤＡが供給されると、これとホールドされている最小差分累積値ＤＡとが比較されて、小さい値の方の差分累積値ＤＡが最小累積値として、その参照ブロックの位置ベクトルとともにホールドされ、以下同様にして、同じ動きベクトル検出範囲内で差分累積値ＤＡが最小値となる参照ブロックが検出されて、このターゲットブロックＢＴに対するその位置ベクトルがこのターゲットブロックＢＴの動きベクトルとして出力される。
【００２９】
このようにして、差分比較部４からは、入力端子１から入力されるターゲットブロックＢＴ毎に、動きベクトルＭＶが得られて出力端子７から出力される。
【００３０】
しかし、差分比較部４で、かかる差分累積値ＤＡが最小となる動きベクトルの参照ブロックが同じ動きベクトル検索範囲内で複数検出される場合がある。この場合には、差分比較部４は、フィールドベクトル検出部５で、後述するように、１つ前のフィールドから得られるフィールドベクトルＦＶに距離がより近い参照ブロックの位置ベクトルを動きベクトルとして出力する。この距離判定には、例えば、水平・垂直ベクトルの絶対差分値を用いる。
【００３１】
なお、後述するように、フィールドベクトルＦＶが無効である場合には、例えば、図３や図５で説明した優先順位に従って動きベクトルを決める。さらには、フィールドベクトルＦＶが有効であっても、このフィールドベクトルＦＶとの距離が等しい位置ベクトルの参照ブロックが複数存在する場合でも、例えば、図３や図５で説明した優先順位に従って動きベクトルを決める。
【００３２】
また、検索開始時における最初のフィールドのブロックマッチング処理では、フィールドベクトル検出部５からフィールドベクトルＦＶは得られない。このため、この最初のフィールドにおいて、同じ動きベクトル検索範囲内に差分累積値ＤＡが最小となる参照ブロックＢＲが複数存在するターゲットブロックＢＴがある場合、このターゲットブロックＢＴに対しては、差分比較部４（図１）は、図３あるいは図５に示す優先順位をもとに、かかる複数の参照ブロックの位置ベクトルのうちの１つを動きベクトルを決定する。
【００３３】
このようにして、この実施形態では、同じターゲットブロックＢＴに差分累積値ＤＡが最小となる位置ベクトルの参照ブロックＢＲが複数存在する場合、これら参照ブロックＢＲの位置ベクトルからこのターゲットブロックＢＴの動きベクトルを決定するために、フィールドベクトルＦＶを用い、フィールドベクトルＦＶが無効であったり、これら複数の位置ベクトルがこのフィールドベクトルＦＶから等しい距離であったりしない限り、このフィールドベクトルＦＶに距離が一番近い参照ブロックの位置ベクトルが動きベクトルと決められるものである。但し、最初のフィールドのターゲットブロックに対しては、図３や図５で説明した方法で動きベクトルを決める。
【００３４】
フィールドベクトル有効／無効判定部６では、フィールドベクトル検出部５で得られるフィールドベクトル有効/無効フラグＶｇ１により、フィールドベクトル検出部５で検出されたフィールドベクトルＦＶの有効/無効を判定する。フィールドベクトル有効／無効判定部６でフィールドベクトルＦＶが無効と判定された場合には、上記のように、このフィールドベクトルＦＶは差分比較部４で用いられない。
【００３５】
なお、このフィールドベクトル有効／無効判定部６は、フィールドベクトル検出部５内部に取り入れても、問題はない。
【００３６】
図６は図１におけるフィールドベクトル検出部５の一具体例を示すブロック図であって、８，９は入力端子、１０は水平・垂直エッジ検出部、１１はアンドゲート、１２は累積加算部、１３はフィールドベクトル算出部、１４はフィールドベクトル平滑化部、１５はエッジ有ブロックカウンタ、１６はエッジ有ブロック数閾値制御部、１７，１８は出力端子である。
また、図７はこの具体例の動作を示すフローチャートである。
【００３７】
図６において、入力端子８から差分比較部４で検出された動きベクトルＭＶがターゲットブロックＢＴ毎に入力され、入力端子９からこの動きベクトルＭＶに対するターゲットブロックＢＴが入力される
ここで、検索開始時における最初のフィールドのブロックマッチング処理では、入力端子９から入力されたターゲットブロックＢＴに対して設定される動きベクトル検索範囲内に差分累積値ＤＡが最小となる参照ブロックＢＲが複数存在する場合、差分比較部４（図１）は、図３あるいは図５に示す優先順位をもとに、動きベクトルを決定して出力する。この出力された動きベクトルＭＶが入力端子８から入力される。
【００３８】
水平・垂直エッジ検出部１０では、入力端子９から入力されるターゲットブロックＢＴのうちの水平方向，垂直方向ともに画像のエッジを有するターゲットブロックＢＴを検出する（図７のステップＦ７）。この水平・垂直エッジ検出部１０の検出結果をもとに、アンドゲート１１により、入力端子８から入力された動きベクトルＭＶの中から水平方向，垂直方向ともにエッジを有するターゲットブロックＢＴの動きベクトルＭＶが抽出され、累積加算部１２に供給される。累積加算部１２は、アンドゲート１１から供給される動きベクトルＭＶの値を順次加算する（図７のステップＦ３）。
【００３９】
ここで、フィールドベクトルＦＶを求めるために用いる動きベクトル、即ち、累積加算部１２で順次加算される動きベクトルＭＶを水平・垂直エッジを有するターゲットブロックの動きベクトルに限定した理由を以下に説明する。
【００４０】
ブロックマッチング処理を用いて動きベクトルを算出する場合、対象とする画像が模様などを含まない均質なものである場合、動きベクトルの大きさは０となるはずであるが、実際には、画像信号中に含まれるノイズなどの影響により、本来求まるべき動きベクトルが得られない可能性が高い。従って、フィールドの平均ベクトル（即ち、フィールドベクトル）ＦＶを算出する際には、水平・垂直エッジを有する部分（模様などを含むブロック）の動きベクトルのみを利用する方が、精度と演算量の両面において、有効である。なお、水平・垂直エッジを両方含まなくとも、水平，垂直のいずれか一方のエッジを有するターゲットブロックを対象としてもよい。
【００４１】
一方、エッジ有ブロックカウンタ１５は、水平・垂直エッジ検出部１０でエッジ有と判定されたターゲットブロック（以下、エッジ有ブロックという）の数をフィールド毎にカウントし（図７のステップＦ８）、フィールドベクトル算出部１３は、エッジ有ブロックカウンタ１５からのエッジ有ブロックのカウント値と累積加算部１２からのフィールド内のエッジ有ブロックの動きベクトルＭＶの値の累積加算値とから、フィールド内でのターゲットブロックの動きベクトルの平均値（以下、平均動きベクトルという）を算出する（図７のステップＦ４）。
【００４２】
フィールドベクトル平滑化部１４は、フィールドベクトル算出部１３からの平均動きベクトルの平滑化を行ない（図７のステップＦ５）、その結果を、フィールドベクトルＦＶとして、出力端子１７からフィールドベクトル有効/無効判定部６（図１）に出力する（図７のステップＦ６）。このフィールドベクトルＦＶは、そのフィールドの画面の全体的な動きの方向，大きさを表わすものである。フィールドベクトル平滑化部１４による平均動きベクトルの平滑化の方法としては、例えば、２〜数フィールド分の平均動きベクトルの平均値を算出するものとする。
【００４３】
また、ブロック数閾値制御部１６は、フィールド毎に、エッジ有ブロックカウンタ１５で得られるエッジ有ブロックの個数Ｎ1と予め設定されている閾値ＮTHとを比較し(図７のステップＦ９)、エッジ有ブロックの個数Ｎ1がこの閾値ＮTHよりも大きい場合には、フィールドベクトル平滑化部１４から出力されるフィールドベクトルＦＶを有効とする“０”のフィールドベクトル有効／無効フラグＦｇ１を出力し、エッジ有ブロックの個数Ｎ1が閾値ＮTH以下の場合には、そのとき算出されたフィールドベクトルＦＶは信頼度が低いとして、このフィールドベクトルＦＶを無効とする“１”のフィールドベクトル有効／無効フラグＦｇ１を出力し、夫々出力端子１８からフィールドベクトル有効/無効判定部６(図１）に供給する(図７のステップＦ１０）。なお、上記閾値ＮTH は任意の値に設定できるが、例えば、１フィールドの全ターゲットブロック数の５割とする。
【００４４】
フィールドベクトル有効/無効フラグＦｇ１が“０”の場合には、次フィールドにおけるブロックマッチング処理の差分比較部４（図１）において、ターゲットブロックとの差分累積値ＤＡが最小となる参照ブロックが、動きベクトル検索範囲内において複数存在する場合の動きベクトル決定手段として、フィールドベクトルＦＶとの距離を利用し、フィールドベクトル有効/無効フラグが“１”の場合には、例えば、図３や図５で説明した優先順位に従う（図７のステップＦ１，Ｆ２）。
【００４５】
ここで、フィールドベクトルＦＶに距離がより近い位置ベクトルとは、フィールドの画面全体の動きに最も適合した位置ベクトルであって、この第１の実施形態は、これを複数の位置ベクトルから選んでターゲットブロックの動きベクトルとするものである。
【００４６】
以上のように、この第１の実施形態では、被写体が画面上を一定の速度で移動する図４に示すような映像の場合、その画面全体の動きを示す平均ベクトル（ＦＶ）を算出し、ブロックマッチング処理におけるターゲットブロックとの差分累積値ＤＡが最小となる参照ブロックが動きベクトル検索範囲内で複数存在する場合の優先順位として、平均ベクトルＦＶに最も距離が近い参照ブロックの位置ベクトルを動きベクトルとして選択するのであるから、被写体の動きと全く関係のない動きベクトルが検出されるといった現象が防止可能となる。
【００４７】
図８は本発明による動きベクトル検出装置の第２の実施形態を示すブロック図であって、１９は差分許容値判定部であり、図１に対応する部分には同一符号を付けて重複する説明を省略する。
【００４８】
この第２の実施形態は、ブロックマッチング処理におけるターゲットブロックとの相関が最大もしくはそれに準ずる値の範囲にある動きベクトルも含めて検出範囲内に複数存在する場合、フィールドベクトルＦＶとの距離がより近い参照ブロックの位置ベクトルに動きベクトルとしての高い優先順位を付与するようにしてしたものである。
【００４９】
図８において、累積差分演算部３で得られた各参照ブロックの差分累積値ＤＡは、差分比較部４とともに、差分許容値判定部１９に供給される。差分許容値判定部１９は、例えば、差分比較部４で比較の対象となっている２つの参照ブロックに対する差分累積値ＤＡの絶対差分値を計算し、その絶対差分値が予め設定されている許容値以下であるとき、これら２つの参照ブロックの差分累積値ＤＡは同値であるとして、“１”の差分値許容フラグＦｇ２を差分比較部４に出力する。そうでないときには、“０”の差分値許容フラグＦｇ２を差分比較部４に出力する。ここで、この許容値は任意設定可能とする。
【００５０】
差分比較部４は、図１に示した第１の実施形態での差分比較部４と同様に、最小差分累積値ＤＡとして保持している差分累積値ＤＡと累積差分演算部３から供給される差分累積値ＤＡとを比較する動作を累積差分演算部３から差分累積値ＤＡが供給される毎に繰り返すことにより、差分累積値ＤＡが最小となる参照ブロックを検出するものであるが、かかる動作の進行中、差分許容値判定部１９から“１”の差分値許容フラグＦｇ２を受け取ると、このとき比較している２つの参照ブロックの差分累積値ＤＡは同値であることになり、これら２つの参照ブロックのうちの位置ベクトルがフィールドベクトルＦＶとの距離がより近い参照ブロックをターゲットブロックＢＴとの相関が高いブロックとして、この参照ブロックの差分累積値ＤＡと位置ベクトルとをホールドし、次の差分累積値ＤＡと比較するための最小差分累積値ＤＡとするものである。差分値許容フラグＦｇ２が“０”のときには、差分比較部４は、差分累積値ＤＡの小さい方の参照ブロックについて、その差分累積値ＤＡを最小差分累積値としてホールドする。
【００５１】
このようにして、本来検出されるべき動きベクトルを示す参照ブロックの差分累積値ＤＡが、画像信号中に含まれる雑音などによって影響されて検出範囲内で最小値をとらなくても、この参照ブロックの位置ベクトルを動きベクトルとして選択することが可能となる。
【００５２】
図９は図８に示す第２の実施形態の一変形例を示すブロック図であって、２０，２１はラインメモリ、２２はは最大/最小差分演算部であり、図２に対応する部分には同一符号を付けて重複する説明を省略する。
【００５３】
図１，図８で示した実施形態は、差分比較部４が前後する２つの参照ブロックの差分累積値ＤＡを比較演算して最小の差分累積値の参照ブロックを検出するものであったが、３以上の任意の個数の連続する参照ブロックの差分累積値ＤＡを比較演算するようにしてもよい。図９に示す変形例は、一例として、３個の連続する参照ブロックの差分累積値ＤＡを比較演算するようにしたものである。
【００５４】
図９（ａ）において、入力端子１から入力されたターゲットブロックＢＴは累積差分演算部３とフィールドベクトル検出部５とに供給される。また、入力端子２から入力された参照ブロックＢＲ１は、累積差分演算部３に供給されるとともに、ラインメモリ２０で１ライン（１水平走査期間）分遅延され、参照ブロックＢＲ２として累積差分演算部３に供給される。さらに、ラインメモリ２０からの参照ブロックＢＲ２はラインメモリ２１でさらに１ライン分遅延され、参照ブロックＢＲ３として累積差分演算部３に供給される。
【００５５】
いま、ターゲットブロックＢＴ，参照ブロックＢＲを夫々８画素×８ラインのブロックとすると、入力端子１から入力されるターゲットブロックＢＴと同じタイミングとなる参照ブロックＢＲ１，ＢＲ２，ＢＲ３は、例えば、図９（ｂ）に示すような位置関係となる。ここで、参照ブロックＢＲ１，ＢＲ２，ＢＲ３は、ターゲットブロックＢＴのフィールドよりも２フィールド前のフィールドのブロックであるが、図９（ｂ）はターゲットブロックＢＴに対するベクトル検出範囲内にターゲットブロックＢＴとともに示している。ここでは、ベクトル検出範囲は２４画素×２４ラインからなるものとしており、従って、このベクトル検出範囲内に３×３個の参照ブロックが存在することになる。
【００５６】
そこで、入力端子１から入力されるターゲットブロックＢＴと同タイミングで入力端子２から入力される参照ブロックＢＲ１がベクトル検出範囲の第１７番目のライン（１６Ｈという。以下同様。但し、第１番目のラインは０Ｈである）から２３Ｈまでのブロックとすると、これと同タイミングでラインメモリ２０から出力される参照ブロックＢＲ２は８Ｈ〜１５Ｈのブロックであり、また、これと同タイミングでラインメモリ２１から出力される参照ブロックＢＲ３は０Ｈ〜７Ｈのブロックである。これら参照ブロックＢＲ１〜ＢＲ３が、ターゲットブロックＢＴとともに、累積差分演算部３に供給される。
【００５７】
累積差分演算部３では、ターゲットブロックＢＴと参照ブロックＢＲ１との差分累積値ＤＡ１，ターゲットブロックＢＴと参照ブロックＢＲ２との差分累積値ＤＡ２及びターゲットブロックＢＴと参照ブロックＢＲ３との差分累積値ＤＡ３とが算出され、夫々差分比較部４に供給されるとともに、最大／最小差分演算部２２に供給される。最大／最小差分演算部２２は、これら３個の参照ブロックの差分累積値ＤＡ１〜ＤＡ３における最大値と最小値とが求められ、これら最大値と最小値との差分値が算出される。そして、差分許容値判定部１９は、最大／最小差分演算部２２で算出された差分値が予め設定された許容値以下であるとき、これら３個の参照ブロックＢＲ１〜ＢＲ３の差分累積値ＤＡ１〜ＤＡ３は同値であるとして、“１”の差分値許容フラグＦｇ２を差分比較部４に出力にする。そうでない場合には、差分許容値判定部１９は、“０”の差分値許容フラグＦｇ２を差分比較部４に出力にする。
【００５８】
そこで、差分比較部４は、“１”の差分値許容フラグＦｇ２が供給されたときには、そのとき累積差分演算部３から供給される差分累積値ＤＡが同値とされる３個の参照ブロックのうち、フィールドベクトルＦＶに距離がより近い位置ベクトルの参照ブロックを最もターゲットブロックＢＴとの相関が高いブロックとし、その差分累積値ＤＡをそのときホールドされている最小累積値と比較する。また、“０”の差分値許容フラグＦｇ２が供給されたときには、差分比較部４は、そのとき累積差分演算部３から供給される差分累積値ＤＡのうちの最も値が小さい差分累積値を選択してそのときホールドされている最小累積値と比較する。そして、いずれの場合も、比較して小さい方の参照ブロックの差分累積値ＤＡを最小差分累積値として位置ベクトルとともにホールドする。
【００５９】
このようにして、この変形例においても、本来検出されるべき動きベクトルを示す参照ブロックの差分累積値ＤＡが、画像信号中に含まれる雑音などによる影響により、検出範囲内において最小値をとらなくても、動きベクトルとして選択されることになる。
【００６０】
なお、差分許容値判定部１９は、差分比較部４内に設けるようにしてもよい。
【００６１】
図１０は本発明による動きベクトル検出装置の第３の実施形態を示すブロック図であって、２３はフィールドベクトル検出／等速判定部、２４は切替スイッチであり、図１に対応する部分には同一符号を付けて重複する説明を省略する。
【００６２】
この第３の実施形態は、スクロールする画像に対する動きベクトルに関するものであって、水平，垂直方向のスクロール画像といった画面全体の等速運動性をフィールド毎に検出する等速判定手段を有し、この等速判定手段によって画面が等速運動していると判定された場合には、画面全体の動きベクトルとしてフィールドベクトルＦＶを選択するようにしたものである。
【００６３】
図１０において、フィールドベクトル検出／等速判定部２３では、フィールドベクトルＦＶの算出とともに、画面全体が等速で動いているか否かを判定し、その判定結果を表わす等速判定フラグＦｇ３を出力する。等速判定フラグＦｇ３は、画面全体が等速で動いていると判定された場合には、“１”であり、そうでないときには、“０”である。
【００６４】
切替スイッチ２４は、“１”の等速判定フラグＦｇ３が供給されるときには、フィールドベクトル検出／等速判定部２３で得られるフィールドベクトルＦＶを選択し、また、“０”の等速判定フラグＦｇ３が供給されるときには、差分比較部４で得られるターゲットブロック毎の動きベクトルを選択し、夫々ターゲットブロック毎の動きベクトルとして出力端子７から出力する。従って、画面全体が等速で動いている場合には、フィールド全体のターゲットブロックの動きベクトルが、全て等しいフィールドベクトルＦＶとなる。
【００６５】
図１１は図１０におけるフィールドベクトル検出／等速判定部２３の一具体例を示すブロック図であって、２５は等速判定部、２６はアンドゲートであり、図６に対応する部分には同一符号を付けて重複する説明を省略する。
また、図１２はこの具体例の動作を示すフローチャートである。
【００６６】
図１１において、図６に示す具体例に相当する部分の動作は、図７に示す動作と同様である（ステップＦ１〜Ｆ１０）。
【００６７】
等速判定部２５は、アンドゲート１１から出力されるエッジ有ブロックの動きベクトルとフィールドベクトル算出部１３から出力される平滑前のフィールドベクトルＦＶとが供給されて、次のように動作する。
【００６８】
即ち、まず、供給されたエッジ有ブロックの動きベクトル毎に、フィールドベクトルＦＶとの間の距離が演算される（ステップＦ１１）。この距離の演算としては、例えば、これらの水平，垂直成分毎に動きベクトルとフィールドベクトルＦＶとの絶対値差分をとり、それらを加算するものであって、この加算値をフィールドベクトルＦＶとの間の距離パラメータとする。
【００６９】
次に、この距離パラメータの値が予め設定された所定値以下のエッジ有ブロックの動きベクトルをカウントし、フィールドでの距離パラメータの値が予め設定された所定値以下となるエッジ有ブロックの個数（カウント値Ｎ2）を求める（ステップＦ１２）。なお、この所定値は任意に設定可能である。
【００７０】
そして、このカウント値Ｎ2をフィールド内のエッジ有ブロックの総数Ｎ1に対して任意に設定可能な所定割合α（但し、０＜α＜１）となる閾値αＮ1と比較し（図１２のステップＦ１３）、Ｎ2≧αＮ1の場合、画面が等速運動していると判定して、“１”の等速判定フラグＦｇ３を発生し（図１２のステップＦ１４）。また、Ｎ2＜αＮ1の場合には、“０”の等速判定フラグＦｇ３を発生する（図１２のステップＦ１５）。但し、アンドゲート２６により、フィールドベクトル有効／無効フラグＦｇが“０”で無効を表わしているときには、等速判定部２５が“１”の等速判定フラグＦｇ３を発生しても、この等速判定フラグＦｇ３を“０”にする（ステップＦ１５）。
【００７１】
以上のように、この実施形態では、被写体が画面上を等速で移動する場合、その等速運動性を判定し、画面全体の動きベクトルとしてフィールドベクトルＦＶを適用することにより、動きベクトルの孤立点的な誤検出を削減可能である。
【００７２】
図１３は本発明による動きベクトル検出装置の第４の実施形態でのフィールドベクトル検出部５の一具体例を示すブロック図であって、１１1，１１2，……，１１m はアンドゲート、１２1，１２2，……，１２m は累積加算部、１３1，１３2，……１３mは平均ベクトル（フィールドベクトル）算出部、２７は画面分割部、２８はオア回路、２９は判定部であり、図１１に対応する部分には同一符号を付けて重複する説明を省略する。但し、ｍは２以上の整数である。
また、図１４はこのフィールドベクトル検出部５の動作を示すフローチャートである。
【００７３】
この具体例は、画面をｍ個の領域に分割し、これら領域毎に動きベクトルの平均ベクトルを求め、これら平均ベクトルからこの画面のフィールドベクトルＦＶを求めるものである。この画面分割の一例を図１５（ａ）に示す。
【００７４】
図１３において、入力端子８から入力されたターゲットブロックＢＴ毎の動きベクトルＭＶはアンドゲート１１1，１１2，……，１１mに供給される。また、画面分割部２７からは、画面をｍ分割したときの夫々の領域の範囲を示す信号（領域信号という）が出力され、それら領域信号が別々にアンドゲート１１1，１１2，……，１１mに供給される。さらに、これらアンドゲート１１1，１１2，……，１１mには、水平・垂直エッジ検出部１０の検出出力も供給される。これにより、アンドゲート１１1，１１2，……，１１mでは、エッジ有ブロックの動きベクトルが領域毎に振り分けられる（図１４のステップＦ１０１）。
【００７５】
ここで、ｍ＝４として、図１５（ａ）の画面分割を例にとると、入力された動きベクトルＭＶのうちのエッジ有ブロックの動きベクトルが、領域Ａ，Ｂ，Ｃ，Ｄ毎に振り分けられることになる。
【００７６】
アンドゲート１１1，１１2，……，１１mからの動きベクトルは夫々累積加算部１２1，１２2，……，１２mに供給され、領域毎に動きベクトルの値の累積加算値が得られる。これら累積加算値は夫々別々の平均ベクトル算出部１３1，１３2，……，１３mに供給される。一方、水平・垂直エッジ検出部１０では、画面分割部２７からの領域信号を用いて、入力端子９から入力されるターゲットブロックＢＴからエッジ有ブロックが領域毎に振り分けられ、エッジ有ブロックカウンタ１５が領域毎にエッジ有ブロックの個数をカウントする。各平均ベクトル算出部１３1，１３2，……，１３mは夫々、累積加算部１２1，１２2，……,１２mから供給される累積加算値をエッジ有ブロックカウンタ１５で求められた該当する領域のエッジ有ブロック数で割算し、各領域毎の動きベクトルの平均ベクトルＢＶを算出する（図１４のステップＦ１０２）。これら平均ベクトルＢＶは、判定部２９に供給される。
【００７７】
図１５（ｂ），（ｃ），（ｄ）は夫々、ｍ＝４の場合の各領域Ａ，Ｂ，Ｃ，Ｄでの平均ベクトルＢＶの例を示す図である。
【００７８】
判定部２９は、供給された各領域の平均ベクトルＢＶを互いに比較し（図１４のステップＦ１０３）、全ての平均ベクトルＢＶが一致しているとき（例えば、図１５（ｂ））、もしくは全平均ベクトル数に対する互いに一致した平均ベクトルＢＶの個数の割合が予め設定された閾値以上であるとき（例えば、図１５（ｃ））、この一致する平均ベクトルＢＶをフィールドベクトルＦＶとして出力する（図１４のステップＦ１０４）。これを満足しないときには、フィールドベクトルＦＶを出力しない（図１４のステップＦ１０５）。なお、この閾値は任意に設定可能である。
【００７９】
なお、アンドゲート１１1，１１2，……，１１mからの動きベクトルは、全てオア回路２８を介して等速運動判定部２５に供給され、図１１での等速運動判定部２５と同様の処理がなされる。
【００８０】
図１６は図１３に示すフィールドベクトル検出部５の具体例の動作の他の例を示すフローチャートである。
【００８１】
同図において、ステップＦ２０１，２０２は判定部２９よりも前の構成部の動作であって、図１４でのステップＦ１０１，１０２と同様であり、判定部２９の動作の部分について説明する。
【００８２】
判定部２９は、供給された各領域の平均ベクトルＢＶが全て同様の方向性を持つとき、もしくは、図１５（ｄ）に示すように、同様の方向性を持つ平均ベクトルＢＶの割合が予め設定された閾値以上であるとき（図１６のステップＦ２０３）、これら同様の方向性を持つ平均ベクトルＢＶの平均値（以下、平均ベクトルＡＢＶという）を算出し（図１６のステップＦ２０４）、これをフィールドベクトルＦＶとして出力する（図１６のステップＦ２０６）。この場合の閾値も任意に設定可能である。
【００８３】
ここで、図１７に示すように、動きの無いベクトル値（０，０）を基準として９０゜毎の４つの領域▲１▼〜▲４▼に分割した場合、同じ領域に入るものを同様の方向性を持つ平均ベクトルＢＶであるとする。
【００８４】
以上のように、この実施形態により、より精度の高いフィールドベクトルＦＶの検出が可能となる。
【００８５】
また、例えば、図１８に示すような“奥行きのある”映像の等速運動に関しては、カメラから近い位置と遠い位置とで動きの速さが異なるため、検出される動きベクトルも、遠くの方の動きベクトルＭＶＡと近くの方の映像の動きベクトルＭＶＢとは異なることになる。このため、図１８に示すような画面を等速であると判定し、フィールドベクトルＦＶを適用した場合、この画面全体の動きベクトル（フィールドベクトルＦＶ）は動きベクトルＭＶＡ，ＭＶＢどちらか一方、もしくはこれらの平均値となり、正しい動きベクトルとはならない。しかし、この実施形態により、かかる問題は解決可能である。
【００８６】
図１９は本発明による動きベクトル検出装置を用いた走査線補間装置の一実施形態を示す構成図であって、３０は入力端子、３１，３２は動画像信号を記憶するフィールドメモリ、３３は動きベクトルをブロック単位で検出する動きベクトル検出回路、ＭＶは動きベクトル、３４は動き補償処理回路、３５はノンインターレース信号出力回路、３６はノンインターレースの画像信号出力である。
【００８７】
この実施形態は、インターレースの画像信号から、走査線補間により、ノンインターレースの画像信号を生成するものであり、補間する走査線の形成に動きベクトルを用いるものである。
【００８８】
同図において、入力端子３０からインターレースの画像信号（以下、後データという）が入力され、動きベクトル検出回路３３に供給されるとともに、フィールドメモリ３１に記憶されて１フィールド分遅延され、さらに、フィールドメモリ３２に記憶されて１フィールド分遅延される。
【００８９】
ここで、フィールドメモリ３１から出力されるフィールドを現フィールドＦ0といい、従って、この現フィールドと同タイミングで入力端子３０から入力されるフィールドを後フィールドＦ1といい、この現フィールドと同タイミングでフィールドメモリ３２から出力されるフィールドを前フィールドＦ-1という。
【００９０】
入力端子３０から入力される後フィールドＦ1とフィールドメモリ３２から出力される前フィールドＦ-1とは２フィールド分の時間間隔があり、これらが上記実施形態として示した動きベクトル検出装置３３に供給され、上記のように処理されてブロック毎に動きベクトルＭＶが検出される。この動きベクトルＭＶは、動き補償処理回路３４に供給される。
【００９１】
動き補償処理回路３４では、この２フィールド間の動きベクトルＭＶをもとにして、現フィールドＦ0と前フィールドＦ-1とからこの現フィールドＦ0のフィールド間補間データ（走査線）が形成される。１フィールド間の動きベクトルは、例えば、２フィールド間の動きベクトルを１/２することによって求められる。よって、フィールド間補間信号を求めるために、動き補償処理回路３４では、動きベクトル検出装置３３で得られた動きベクトルＭＶを１/２して１フィールド間の動きベクトルを生成し、この１フィールド間の動きベクトルに従って前フィールドＦ-1のデータを移動させることにより、フィールド間補間データを生成する。
【００９２】
ノンインターレース信号出力回路３５では、現フィールドＦ0の走査線間に動き補償処理回路３４で得られたフィールド間補間データが挿入されて、走査線補間された画像信号、即ち、ノンインターレースの画像信号が生成され、出力端子３６から出力される。
【００９３】
以上のようにして、この走査線補間装置の実施形態では、画像信号中に含まれるノイズなどの影響による誤検出を抑えた動きベクトルにより、補間信号が生成されるため、動き補償処理特有の孤立点的劣化の少ないノンインターレースの画像信号が得られる。
【００９４】
【発明の効果】
以上説明したように、本発明によれば、ブロックマッチング処理に際し、ターゲットブロックとの差分累積値が最小となる参照ブロックが動きベクトル検索範囲内で複数存在する場合には、画面全体の平均ベクトル（即ち、フィールドベクトル）を求め、このフィールドベクトルに最も距離が近い動きベクトルを選択するから、被写体の動きと全く関係のない動きベクトルが検出されるといった現象が防止でき、さらに、画像信号中に含まれる雑音などの影響により、本来検出されるべき動きベクトルを示す参照ブロックの差分累積値が動きベクトル検出範囲内で最小値をとらなくても、これを動きベクトルとして選択可能であり、高精度な動きベクトルの検出が可能となる。
【００９５】
また、被写体が画面上を等速で移動する場合には、その等速性を判定し、画面全体の動きベクトルとしてフィールドベクトルを適用するものであるから、動きベクトルの孤立点的な誤検出をなくして、動きベクトルを高精度に検出することを可能とする。
【図面の簡単な説明】
【図１】本発明による動きベクトル検出装置の第１の実施形態を示すブロック構成図である。
【図２】ブロックマッチング手法を説明するための図である。
【図３】従来の動きベクトルの優先順位を示す図である。
【図４】従来の動きベクトル検出装置の問題点を説明するための図である。
【図５】従来の動きベクトルの優先順位を拡張した図である。
【図６】図１におけるフィールドベクトル検出部の一具体例を示すブロック図である。
【図７】図６に示すフィールドベクトル検出部の動作を示すフローチャートである。
【図８】本発明による動きベクトル検出装置の第２の実施形態を示すブロック構成図である。
【図９】図８に示す第３の実施形態の一変形例を示すブロック構成図である。
【図１０】本発明による動きベクトル検出装置の第３の実施形態を示すブロック構成図である。
【図１１】図１０におけるフィールドベクトル検出／等速判定部の一具体例を示すブロック図である。
【図１２】図１１に示すフィールドベクトル検出／等速判定部の動作を示すフローチャートである。
【図１３】本発明による動きベクトル検出装置の第４の実施形態におけるフィールドベクトル検出／等速判定部の一具体例を示すブロック図である。
【図１４】図１３に示すフィールドベクトル検出／等速判定部の一動作例を示すフローチャートである。
【図１５】図１３に示すフィールドベクトル検出／等速判定部での画面分割の概念とフィールドベクトルの形成方法を示す図である。
【図１６】図１３に示すフィールドベクトル検出／等速判定部の他の動作例を示すフローチャートである。
【図１７】図１６に示す動作での同様の方向性の概念を示す図である。
【図１８】画面の動きの一例を示す図である。
【図１９】本発明による動きベクトル検出装置を用いた走査線補間装置の一実施形態を示すブロック図である。
【符号の説明】
１  ターゲットフィールドの入力端子
２  参照フィールドデータ入力端子
３  累積差分演算部
４  差分比較部
５  フィールドベクトル検出部
６  フィールドベクトル有効/無効判定部
７  動きベクトルの出力端子
８  動きベクトルの入力端子
９  ターゲットブロックの入力端子
１０  水平・垂直エッジ検出部
１１，１１1〜１１m  アンドゲート
１２，１２1〜１２m  累積加算部
１３，１３1〜１３m  フィールドベクトル算出部
１４  フィールドベクトル平滑化部
１５  エッジ有りブロックカウンタ
１６  エッジ有ブロック数閾値制御部
１７  フィールドベクトルの出力端子
１８  フィールドベクトル有効/無効フラグの出力端子
１９  差分許容値判定部
２０，２１  ラインメモリ
２２  最大／最小差分演算部
２３  フィールドベクトル検出／等速判定部
２４  切替スイッチ
２５  等速運動判定部
２６  アンドゲート
２７  画面分割部
２８  オア回路
２９  判定部
３０  インターレース画像信号の入力端子
３１，３２  フィールドメモリ
３３  動きベクトル検出装置
３４  動き補償処理回路
３５  ノンインターレース信号出力回路
３６  ノンインターレース画像信号の出力端子
【図１】
0003893263.tif 000002
【図２】
0003893263.tif 000003
【図３】
0003893263.tif 000004
【図４】
0003893263.tif 000005
【図５】
0003893263.tif 000006
【図６】
0003893263.tif 000007
【図７】
0003893263.tif 000008
【図８】
0003893263.tif 000009
【図９】
0003893263.tif 000010
【図１０】
0003893263.tif 000011
【図１１】
0003893263.tif 000012
【図１２】
0003893263.tif 000013
【図１３】
0003893263.tif 000014
【図１４】
0003893263.tif 000015
【図１５】
0003893263.tif 000016
【図１６】
0003893263.tif 000017
【図１７】
0003893263.tif 000018
【図１８】
0003893263.tif 000019
【図１９】
0003893263.tif 000020