JP3540142B2 - Motion vector detection circuit and motion vector detection method - Google Patents

Motion vector detection circuit and motion vector detection method Download PDF

Info

Publication number
JP3540142B2
JP3540142B2 JP01998798A JP1998798A JP3540142B2 JP 3540142 B2 JP3540142 B2 JP 3540142B2 JP 01998798 A JP01998798 A JP 01998798A JP 1998798 A JP1998798 A JP 1998798A JP 3540142 B2 JP3540142 B2 JP 3540142B2
Authority
JP
Japan
Prior art keywords
motion vector
cumulative addition
vector candidate
order
candidates
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
Application number
JP01998798A
Other languages
Japanese (ja)
Other versions
JPH11219436A (en
Inventor
川 剛 志 西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP01998798A priority Critical patent/JP3540142B2/en
Priority to US09/238,122 priority patent/US6370194B2/en
Publication of JPH11219436A publication Critical patent/JPH11219436A/en
Application granted granted Critical
Publication of JP3540142B2 publication Critical patent/JP3540142B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は動画像情報のフレーム又はフィールド内の所定の範囲であるマクロブロックに対する動きベクトルを求める動きベクトル検出回路に係り、特に前記マクロブロックに対する動きベクトル候補に対応する原画像及び参照画像の各々の画素の信号強度差を累積加算して累積結果の最小のものを動きベクトルとして選択する動きベクトル検出回路に関する。
【0002】
【従来の技術】
一般に、動画像情報の処理においては、以下の手法を用いてマクロブロック内の画素に関する値を演算することによって動きベクトルを検出している。すなわち、ある動きベクトル候補に対して、原画像上のマクロブロック内の画素の信号強度と、このマクロブロックに対応する範囲を有し動きベクトルに相当する分だけ平行移動した参照画像上の画素毎の信号強度とを比較して、この信号強度の差を表す値をマクロブロック内の全ての画素に関して累積加算し、この演算を全ての動きベクトル候補に関して行ない、各々の動きベクトル候補に対して得られた累積結果を逐次的に比較し、累積結果が最小となるような候補を動きベクトルとして推定している。上記手法においては、参照画像とは原画像のフレームまたはフィールド内の所定の範囲であるマクロブロックを動きベクトルに相当する分だけ平行移動したマクロブロックに対応する所定領域の画像のことをいう。
【0003】
このような一般的な動きベクトルの検出においては、累積加算処理を小さいデータ量によって高速で行なうために、複数の累積加算回路を並列に配置して各々の累積加算回路毎にそれぞれ動きベクトル候補の演算を割り当てて、累積結果のデータをパイプライン状に出力させるように動きベクトル検出回路を構成している。このような動きベクトル検出回路における累積加算回路は、信号強度差の演算を原画像のマクロブロックを構成する画素と参照画像における対応する画素との輝度の差により行なっており、具体的には|原画像画素輝度値−参照画像画素輝度値|の演算が各累積加算回路において行なわれている。
【0004】
具体的には、上記パイプライン方式により動きベクトルの検出を行なう場合、それぞれの動きベクトルに対応させて領域に対する累積加算を行ない、所定の動きベクトル候補の全てに対して同様の評価を行ない、その中から最小(または最大)の評価値を与える動きベクトル候補をそのマクロブロックの動きベクトルとして選択し採用している。一度に評価できる動きベクトル候補の数を並列数と定義すると、全ての動きベクトル候補の数を並列数で除した回数だけ累積加算を繰り返すことにより動きベクトルの検出が終了する。したがって、並列数mで処理を行なう場合、動きベクトル候補の中から候補をm個ずつ選択していって残余の候補が無くなるまでこの処理を繰り返すことになる。例えば動きベクトル候補の総数が1024個で16列あった場合、64回の累積加算を繰り返すことによって動きベクトルの検出が終了することになる。
【0005】
したがって、最初に動きベクトル候補1〜mまでの累積加算値の1回目の評価を行ない、次いで2回目からの評価からn回目までの評価を連続的に繰り返して行なわなければ動きベクトルの検出は終了しないことになる。このような動きベクトル検出回路は、入力された原画像の品質とは関係なく必ず固定サイクル数だけの累積加算動作を行なわなければならず、動きベクトル検出のために必要以上のサイクル数を用いると共に動きベクトル検出のための回路駆動に要する電力消費コストが増大するという問題があった。このような問題を解決するため、本願発明者は特願平8−341928号において不要な累積加算動作を停止させる動きベクトル検出装置について既に提案している。
【0006】
この従来の動きベクトル検出装置は、原画像データのフレーム又はフィールド内における所定の範囲の画像であるマクロブロック内のある特定領域の動きベクトル候補を選択し、原画像と参照画像の動きベクトル候補に対応する画素の信号強度差を算出し、マクロブロック内の画素について算出された信号強度差を累積加算してその累積結果を求め、マクロブロック内の更に特定領域内の動きベクトル候補の中から極大値又は極小値となる累積結果を与える動きベクトル候補を動きベクトルとして選択する動きベクトル検出装置に、図15に示すような構成を設けたものである。
【0007】
すなわち、図15において、動きベクトル検出装置は、動きベクトル候補に関する原画像データD1と参照画像データD2とを並列的に入力して複数の動きベクトルに関する累積加算を並列で処理するためにパイプライン状に接続された複数の差分絶対値累積加算回路2a,2b〜2nよりなる累積加算手段1と、この累積加算手段1の累積加算動作を各々の累積加算回路2a,2b〜2n毎に停止させる個別停止回路11を備える累積加算停止手段10と、累積加算手段1の累積加算回路2a,2b〜2nに対して前記動きベクトル候補に関する原画像データD1と参照画像データD2の供給を制御すると共に個別停止回路11に対して個別の累積加算を停止させるべき個別の停止信号S3を出力して対応する累積加算回路2a,2bまたは2nの累積加算動作の停止を制御する制御手段5と、を備えている。
【0008】
累積加算手段1を構成する個々の差分絶対値累積加算回路2a,2b〜2nの個々の累積加算結果は、累積加算信号S1として最小値情報管理回路4に出力され、最小値情報管理回路4は累積加算信号S1をそれまでに入力された差分絶対値の最小値と比較してその比較結果信号S2を前記制御手段5に対して出力している。制御手段5は、最小値情報管理回路4より供給される比較結果信号S2に基づいて累積加算手段1を構成する個々の差分絶対値累積加算回路2a〜2nのの累積加算の停止を制御する停止信号S3を累積加算停止手段10に出力している。
【0009】
【発明が解決しようとする課題】
しかしながら、図15に示されるような従来の動きベクトル検出装置は、入力動画像の品質によって改善効率が影響され、最終的に動きベクトルとなるベクトル候補の検討順序が全体の中で後ろの順番になった場合、実質的には検討順序が前の方のほとんど全ての動きベクトル候補に対する累積加算を行なった後にようやくその動きベクトル候補に対する累積加算を行なうこととなり、改善効率の観点からあまり具合が良くなかった。例えば、このように動きベクトル候補の検討順序が固定順位である場合に、画面の動きベクトルが全体的に逆順方向に向かっているような状況では、全てのマクロブロックの動きベクトル発見効率が低下してしまうという事態も発生する可能性があった。
【0010】
上述した従来の動きベクトル検出装置において、累積加算により動きベクトルを検出する際に、最終的な動きベクトルである動きベクトル候補をその検索動作の初期の過程で発見することができれば、実際の累積加算のための演算時間の短縮により動きベクトル検索効率が大幅に向上すると共に、検出装置において各々の動きベクトル候補に対して累積加算を行なう個々の演算回路の消費電力を低減することが可能となり有効である。
【0011】
本発明は、上記不具合を解消するため、動きベクトル検出のための演算時間の短縮すなわち演算効率の向上と、検索のための演算の際の消費電力の低減とを可能とする動きベクトル検出回路を提供することを目的とする。
【0012】
【課題を解決するための手段】
上記課題を達成するため、請求項1に係る動きベクトル検出回路は、動画像データにおけるフレームまたはフィールド内における所定範囲の画像であるマクロブロックに対して、適当な範囲のベクトルを動きベクトル候補として設定して、原画像と参照画像の動きベクトル候補に対応する画素の信号強度差を算出し、マクロブロック内の画素について算出された信号強度差を累積加算して累積加算結果を求め、設定された動きベクトル候補の中から極大値または極小値となる累積結果を与える動きベクトル候補を動きベクトルとして選択する動きベクトル検出回路において、前記動きベクトル候補に設定された探索範囲における動きベクトル候補を複数の動きベクトル候補グループに分けるグループ化手段と、真の動きベクトルが含まれている蓋然性の高い動きベクトル候補グループから低いものまでその順番を予測してこの予測した順番に従ってそれぞれの動きベクトル候補グループに対して動きベクトル検出のための累積加算の順位を決定する順位決定手段と、前記順位決定手段により決定された順位に従って複数の動きベクトル候補グループの前記動きベクトル候補に関する原画像データと参照画像データとを並列的に入力して複数の動きベクトル候補に関する累積加算を並列的に処理するパイプライン状に接続された複数の累積加算回路よりなる累積加算手段と、前記累積加算手段の累積加算処理動作を各々の累積加算回路毎に個別に停止させる累積加算停止手段と、各々の累積加算回路に対して前記動きベクトル候補に関する原画像データと参照画像データとの供給を制御し、個別の累積加算回路の累積加算を停止させる個別の停止信号を前記累積加算停止手段から出力させてその累積加算回路の累積加算処理の停止を制御すると共に、前記順位決定手段により決定された検討の順位に従って、蓋然性の高いグループにおける動きベクトル候補の検討を前記累積加算手段に行なわせ、一連の検討動作の初期に最終的な動きベクトル候補となる蓋然性の高い動きベクトル候補の検討を済ませることにより前記検討動作の初期に前記累積加算停止手段に前記停止信号を出力させる制御手段と、を備え、さらに、前記順位決定手段は前記最終的な動きベクトル候補となる蓋然性の高い参照動きベクトルが選択された後この蓋然性の高い参照動きベクトルに対して累積加算順位の優先度についての適当な重み付けを行なう重み付け手段を備え、この重み付け手段により累積加算順位の優先度の重み付けがなされた動きベクトル候補が含まれる動きベクトル候補グループの優先順位を決定することを特徴としている。
【0013】
また、請求項2に係る動きベクトル検出回路は、請求項1に記載のものにおいて、前記グループ化手段と前記順位決定手段とにより動きベクトル候補グループ指定手段が構成されると共に、前記グループ化手段によりグループ化された動きベクトル候補グループ毎に、前記順位決定手段が動的に優先順位を設定し、この順位に従って動きベクトル候補グループ毎の動きベクトル候補に対応する原画像と参照画像の画素の信号強度差の累積加算を行なうことを特徴としている。
【0014】
また、請求項3に係る動きベクトル検出回路は、請求項1に記載のものにおいて、前記順位決定手段が、撮像装置に組み込まれてこの撮像装置が撮像した動画像における動きの角速度または角加速度を測定する測定手段を含み、この測定手段から供給される角速度または角加速度の測定値に基づいて求められる参照動きベクトルを用いて動画像内の動きベクトルを検出することを特徴としている。
【0015】
また、請求項4に係る動きベクトル検出回路は、請求項1に記載のものにおいて、前記順位決定手段が、動画像内の目標物体の特徴点となる部分をフレーム全体に対するサーチを行なって発見することにより得られる目標物体の大域的な動きベクトルを参照動きベクトルとして用いて、前記動きベクトル候補グループにおける優先順位を決定することを特徴としている。
【0016】
また、請求項5に係る動きベクトル検出回路は、請求項1に記載のものにおいて、前記順位決定手段が、動きベクトル検出を行なうマクロブロックが含まれるフレームと同一のフレーム内に存在し、かつ、当該マクロブロックより以前に動きベクトル検出が行なわれたマクロブロックであって、当該マクロブロックの近傍に存在する単数もしくは複数のマクロブロックにおける動きベクトルを参照動きベクトルとして用いることにより、動きベクトル候補グループの優先順位を決定することを特徴としている。
【0017】
また、請求項6に係る動きベクトル検出回路は、請求項1に記載のものにおいて、前記順位決定手段が、動きベクトル検出を行なうマクロブロックが含まれるフレームとは異なる時点のフレームに含まれ、当該マクロブロックと同じ座標もしくは近傍の座標に存在するマクロブロックのうち、既に動きベクトル検出が終了した単数もしくは複数のマクロブロックにおける動きベクトルを参照動きベクトルとして用いることにより、動きベクトル候補グループの優先順位を決定することを特徴としている。
【0018】
また、請求項7に係る動きベクトル検出回路は、原画像中のマクロブロック領域における各画素と、動きベクトル候補に対応する参照画像領域における前記マクロブロック領域の各画素に対応する各画素との信号差分値を、複数の動きベクトル候補毎に並列にそれぞれ累積加算するために複数設けられると共に、個々の回路は累積加算中に累積加算値が累積加算結果の最小値を超えたときに並列処理されている複数の累積加算を個別に停止させる累積加算回路と、前記累積加算結果の最小値となった動きベクトル候補を動きベクトルとして選択する選択回路と、最終的な動きベクトル候補となる蓋然性の高い参照動きベクトルが選択された後この蓋然性の高い参照動きベクトルに対して累積加算順位の優先度についての適当な重み付けを行な、この累積加算順位の優先度の重み付けがなされた動きベクトル候補が含まれる動きベクトル候補グループの優先順位を決定する順位決定手段と、を備えることを特徴としている。
【0019】
上記目的を達成するため、請求項8に係る動きベクトル検出方法は、動画像データにおけるフレームまたはフィールド内所定範囲の画像であるマクロブロックに対して、適当な範囲のベクトルを動きベクトル候補として設定して、原画像と参照画像の動きベクトル候補に対応する画素の信号強度差を算出し、マクロブロック内の画素について算出された信号強度差を累積加算して累積加算結果を求め、設定された動きベクトル候補の中から極大値または極小値となる累積結果を与える動きベクトル候補を動きベクトルとして選択する動きベクトル検出方法において、前記動きベクトル候補に設定された探索範囲における動きベクトル候補を複数の動きベクトル候補グループにグループ化するステップと、最終的な動きベクトル候補となる蓋然性の高い参照動きベクトルが選択された後この蓋然性の高い参照動きベクトルに対して累積加算順位の優先度についての適当な重み付けを行なう重み付け過程を含み、この重み付け過程により累積加算順位の優先度の重み付けがなされた動きベクトル候補が含まれる動きベクトル候補グループの優先順位を決定することにより、真の動きベクトルが含まれている蓋然性の高い動きベクトルグループから低いものまでの順番を予測してこの順番に従って動きベクトル検出のための累積加算の順位を決定するステップと、前記動きベクトル候補に関する原画像データと参照画像データとを並列的に入力して、前記決定された累積加算の順位に従って複数の動きベクトルに関する累積加算を複数段のパイプラインにより並列的に処理するステップと、前記複数段のパイプラインの段数に対応した数の動きベクトルを選択するステップと、累積加算の停止を含んだ前記パイプラインにより動きベクトル候補の検討を行なうステップと、その順位の動きベクトル候補グループに含まれる全ての動きベクトル候補に対して検討が行なわれたか否かを判断するステップと、残った動きベクトル候補を真の動きベクトル候補として出力するステップと、を備えることを特徴としている。
【0020】
また、請求項9に係る動きベクトル検出方法は、請求項8に記載のものにおいて、前記複数の動きベクトル候補グループにグループ化するステップは、動画像内の目標物体の特徴点となる部分をフレーム全体に対するサーチを行なって発見することにより得られる目標物体の大域的な動きベクトルを参照動きベクトルとして用いて行なうことことを特徴としている。
【0022】
本発明は以上のように構成することにより、検討するベクトル候補を所定領域毎のグループに分割し、グループ単位で動きベクトルの検討順序を適宜入れ替えることにより、フレーム内で発見効率が低下したマクロブロックが連続することを防止する。具体的には、次のような基準において動きベクトル検討候補の優先順位づけを行なう。あるフレームのあるマクロブロックに着目した場合、
1)同じフレーム内において、当該マクロブロック以前に動きベクトル検出を行なった近傍に存在するマクロブロックの動きベクトルの含まれるベクトル候補グループ、もしくはその近くのベクトル候補グループを優先する。
2)既に動きベクトル検出の終了した、時間的に前後のフレームにおける、当該マクロブロックもしくは近傍マクロブロックの動きベクトルの含まれるベクトル候補グループ、もしくはその近くのベクトル候補グループを優先する。
3)動きベクトル検出回路を、ハンドカメラなどと組み合わせて使う場合、手ブレ防止などの理由で、角速度あるいは角加速度情報を取得できるようなデバイス、たとえば光ファイバージャイロなどのデバイスを搭載することがあるが、この種のデバイスからの情報に基づく動きベクトルの含まれるベクトル候補グループ、もしくはその近くのベクトル候補グループを優先する。
4)目標物体の特徴点となる部分をサーチすることによって得られる、目標物体の大域的な動きベクトルの含まれるベクトル候補グループ、もしくはその近くのベクトル候補グループを優先する。
これらの手法によって、最終的に動きベクトルとなるベクトルの検討順序を統計的に向上させることができる。このような改善を行なうことにより、動きベクトル検出回路の効率をより高くすることができる。なお、本発明に係る動きベクトル検出回路および動きベクトル検出方法は、特願平8−341928に開示された動きベクトル検出装置および方法における累積加算手段と累積加算停止手段に加え、グループ化手段と順位決定手段とを設けるようにしたものである。
【0023】
【発明の実施の形態】
以下、本発明に係る動きベクトル検出回路および動きベクトル検出方法の好適な実施形態について、添付図面を参照しながら詳細に説明する。まず、本発明に係る動きベクトル検出回路の最も基本的な構成を備える第1実施形態に係る動きベクトル検出回路について、図1を参照して説明する。この第1実施形態に係る動きベクトル検出回路は、動きベクトル候補を複数の特定領域に存在する単位ずつにグループ分けし、各動きベクトル候補グループ毎に動きベクトル候補の探索順位を動的に設定できるようにしたものである。
【0024】
第1実施形態に係る動きベクトル検出回路は、図1に示すように、図16に示された従来例の動きベクトル検出装置に対して、動きベクトル候補グループ指定ブロック15を付加した構造になっており、この動きベクトル候補グループ指定ブロック15が領域分割手段と順位決定手段とを含んでいる。制御手段5は参照動きベクトル等の情報D3をベクトル候補グループ指定ブロック15に供給し、かわりに動きベクトル候補グループ情報D4を取得する。具体的な説明を以下に述べる。
【0025】
動きベクトルの検出においては、累積加算手段1が、累積加算原画像のマクロブロックの画素(pixel) と、動きベクトル候補に対応する参照画像領域の画素とのそれぞれの信号値の差を個別に累積加算し、最も小さい累積加算結果を与える動きベクトル候補を動きベクトルとして選び出している。図15に示される従来例による動きベクトル検出装置においては、動きベクトル候補は図2(a)に示すような固定の順序に従って、順次に検討されている。これに対して、本発明の第1実施形態に係る動きベクトル検出回路にあっては、図2(b)に示すように動きベクトル候補は2列4段の8個の部分領域より成る動きベクトル候補グループに分けられ、グループ毎の優先順位に従いその動きベクトル候補グループの領域内の原画像と参照画像の対応するそれぞれの画素の信号値の強度差を累積加算することにより動きベクトル候補に対する検討が順次に行なわれる。
【0026】
グループの優先順位は動きベクトル候補グループ情報D4に基づいて決定されるが、このグループ情報D4も固定値ではなく、動きベクトル検出の過程において適宜変更することができる。また、動きベクトル候補のグループ分けは、図2(b)に示すものに限定されず、そのグループの個数も8個に限らず例えば16個,32個などのように、適当な値を採ることができる。また、動きベクトル検出回路の動作中に、ベクトル候補グループ指定手段15がグループの分け方を動的に変化させてもよい。
【0027】
以上の構成を備える第1実施形態に係る動きベクトル検出回路の作用効果について図3(a)(b)を用いて説明する。図3(a)(b)にそれぞれ示す同一の動きベクトル候補20に対して、図15に示す従来の動きベクトル検出装置と図1に示す第1実施形態に係る動きベクトル検出回路によりそれぞれ動きベクトルの検索を行う場合を例にとり説明する。図3(a)に示す従来の動きベクトル検出装置のように、固定の検索順序21に従って動きベクトルを検出する場合、図3(a)に示す最終的に有効な、すなわち真の動きベクトルである動きベクトル候補20は、検出過程の後半に検出されることになる。
【0028】
これに対して、図3(b)に示す第1実施形態に係る動きベクトル検出回路のように、適宜検索順序を変更する場合は、検索順序22が適切であるならば、最終的に有効となる動きベクトル候補20の検出を検出過程の前半に行なうことができる。動きベクトル検出が固定サイクル数の検出過程で行なわれるタイプの動きベクトル検出回路ならば、どちらの方式でもそれほどの大差はないが、従来の動きベクトル検出装置の場合、動きベクトルの検出に要するサイクル数は可変であり、最終的に有効な動きベクトル候補の検出が早期であればあるほど、検出に要するサイクル数は小さくなり、消費電力も低下する。
【0029】
したがって、図15に示されるような検出サイクルを可変とすることができる従来の動きベクトル検出装置に対して、動的に動きベクトルの検索順序を変化させ得る動きベクトル候補グループ指定手段を付属させるようにした第1実施形態に係る動きベクトル検出回路は、真の動きベクトルである最終的に有効な動きベクトル候補についての累積加算を迅速に行なう上から非常に有意義である。
【0030】
上記第1実施形態に係る動きベクトル検出回路は、動きベクトル候補に対する検索過程の順位を可変とすることにより可変サイクルで累積加算を行なう際の検索速度の飛躍的な向上を図るようにしていたが、動きベクトル候補グループに対する可変の検討順序をどのような準則により行なうかについて、本発明の第2実施形態に係る動きベクトル検出回路により説明する。この第2実施形態に係る動きベクトル検出回路は、外部角速度あるいは外部角加速度を検出し、この角速度又は角加速度に基づいて動きベクトル候補のグループに対する検索順位を決定したり、撮像された動画像に存在する特徴点を用いて大域動きベクトルを検出し、この大域動きベクトルから動きベクトル候補グループの検索優先順位を決定するものである。
【0031】
第2実施形態に係る動きベクトル検出回路は、図4に示すように、参照動きベクトルの検出のために必要な情報は、ビデオカメラ25等の撮像装置より送られてくることになる。図4において、ビデオかカメラ25は内蔵ジャイロスコープ26を備えており、ケーブル27を介して画像処理装置30に接続されている。この画像処理装置30は、図1に示される構成を備える動きベクトル検出回路を含んでおり、撮像装置より送られてくる動画像を用いてマクロブロック情報D1と参照画像情報D2を得て、これらの情報に基づいて累積加算の制御を行なうと共に、マクロブロックおよび参照画像内の動きベクトル候補を複数のグループに分割して、どのグループから累積加算の演算を開始するのが演算効率の上から最適かを考慮して検索順位を決定し、対象となる特定領域内の画素に対して累積加算を行ない、両者の画素の信号差をとって最小値と比較し、動きベクトル候補の中から動きベクトルとして有効なものを検出する。
【0032】
この第2実施形態に係る動きベクトル検出回路の最少動きベクトルは、図5に示すように動画中の特定物体の特徴ある画像については、フレーム全体にわたってサーチして、フレームの間の差分をとることによって得られる。すなわち、図5(a)のような動画像の前フレームの画像における検出対象としての移動する車両31は特徴点32を有しており、図5(b)の動画像の現フレーム画像には移動後の車両33とこの車両33の特徴点34とが示されている。図5(b)に示すように、前フレーム画像の特徴点32と現フレーム画像の特徴点34との移動軌跡が、特徴点の移動によ検知される大域動きベクトル35として求められることになる。このような図4および図5により説明される手法により参照動きベクトルが求められるが、この例においては、参考となる動きベクトルの数が1つであるので、順位付けの方法は図6に示すような手順により行なわれることになる。
【0033】
図6において、動きベクトル候補検討範囲36を2列4段からなる8つの動きベクトル候補検討グループ37a、37b,37c,37d,37e,37f,37g,37hに分割する。ここで、参照動きベクトル38が含まれる動きベクトル候補グループ37cが、累積加算の優先順位1番となる。グループ37c以外で、最も参照動きベクトル38に近い動きベクトルグループ37aが第2順位の優先順位となる。後は、右回りに第1順位のグループ37cを中心として近いものから優先させて順番に検討順位39を割り振っている。すなわち、37d→37e→37b→37f→37g→37hのような検討順位39が割り当てられているが、優先順位を割り振る方法は特にこの通りでなくてもよく、動きベクトル候補グループの分割状況等の影響を考慮して割り当てることもできる。また、動きベクトルの検出過程において、その動きベクトルの検出状況を考慮して動的に変化させることにより動きベクトル候補のグループの累積加算の順位を割り振ることもできる。
【0034】
次に、本発明の第3実施形態に係る動きベクトル回路について、図7ないし図9を用いて説明する。この第3実施形態に係る動きベクトル検出回路は、同一フレーム内で既に検出された動きベクトルに基づいて、動きベクトル候補グループの優先順位付けを行ない、その順位に従って動きベクトル候補に対する累積加算を行なうようにしたものである。この第3実施形態に係る動きベクトル検出回路においては、参照動きベクトルが1つではなく複数個となるため、動きベクトル候補グループの優先順位を決定する際に、適当な重み付けを行なってから順位付けを行なう必要がある。以下、第3実施形態の詳細について説明する。
【0035】
図7は第3実施形態に係る動きベクトル検出回路を説明するのものであり、フレーム40内は複数のマクロブロック41により分割されている。同一フレーム40内における、現時点において動きベクトルを検出中のマクロブロック「*」と、参照動きベクトルを与えるマクロブロックA,B,Cの位置関係を示している。参照動きベクトルを含む動きベクトル候補グループに対して、図8に示すような重み付けを行なった。図8において、動きベクトル候補検討範囲であるマクロブロック41は、更に複数の特定領域42aないし42hに分割されている。符号43は参考となるAの動きベクトルであり、44はBの動きベクトル、45はCの動きベクトル、46はA,B,Cの動きベクトルのx,y成分のそれぞれの中間値から作成された動きベクトルであり、A,B,Cの動きベクトル43,44,45を含む各動きベクトル候補グループに対して1点を加算し、A,B,Cの動きベクトル43,44,45の各x成分、各y成分のそれぞれ中間値から求められる参考ベクトル46を含むベクトル候補グループに対して2点を加算することにより重み付けがなされている。
【0036】
図9では、重み係数の大きい動きベクトル候補グループから順次に動きベクトルの検索を行ない、重みゼロの動きベクトル候補グループに関しては、重み係数の最も大きい動きベクトル候補グループを中心に、近いものから右回りに動きベクトル候補の検討を行なっている。具体的には、重み係数が3で最もい動きベクトルグループ42cから検索を開始して、重み係数1のグループを右回りで動きベクトル候補グループ42d、42b、42f、42g、42hの順に動きベクトル候補についての累積加算が行なわれる。この検索の順序は、図9に矢印47により、動きベクトル候補グループの検討順序として示されている。
【0037】
なお、この第3実施形態に係る動きベクトル検出回路において、図7に示された参考となるマクロブロックは、図示の通りでなくてもよいし、数も異なっていても良い。また、図8に示された重み付けの方式は単純な例であり、これよりも複雑な重み付けを行なってもかまわない。また、図9に示した検索順序は、例えば同格のグループに対して左回りとするなどのように、他の方式により適宜に行なうようにしても良い。
【0038】
上述した第3実施形態に係る動きベクトル検出回路は、同一フレーム内の動きベクトルを用いて、動きベクトル候補に関する累積加算の順位を可変にしていたが、本発明はこれに限定されず、第4実施形態に係る動きベクトル検出回路のように、時間的に前後となるフレームにおいて既に検出された動きベクトルに基づいて動きベクトル候補グループの優先順位を決定するようにしても良い。この第4実施形態に係る動きベクトル検出回路における動きベクトル候補グループの優先順位づけも、参考となるベクトルが複数であるため、適当な重み付けを加えてから行なう必要がある。以下、第4実施形態に係る動きベクトル検出回路について説明する。
【0039】
図10は時間的に異なるフレーム内における、参考となるマクロブロックの位置関係を示したものである。現在動きベクトル検出中のマクロブロックと同じ座標に存在するマクロブロック「*」と、その近傍に存在するマクロブロックABCDである。参考となる動きベクトルを含む動きベクトル候補グループに対して図11のような重み付けを行なった。なお、図11および図12においては、便宜上図8および図9と同じ符号を用いて説明する。Aの参考動きベクトル43,Bの参考動きベクトル44,Cの参考動きベクトル45,Dの参考動きベクトル48を含む各ベクトル候補グループに対してそれぞれ1点を加算し、「*」の参考動きベクトル49を含む動きベクトル候補グループに対して2点を加算した。したがって、動きベクトル候補検討範囲41内の特定領域42aないし42hの重み係数は、候補グループ42cが3、グループ42eが2,グループ42fが1となり、図12では、重み係数の大きいベクトル候補グループから順次に動きベクトルの検索を行ない、重みゼロのベクトル候補グループ42a,42b,42d,42g,42hに関しては、重み係数の最も大きいベクトル候補グループを中心に、近いものから右まわりに動きベクトル候補の検討を行なっている。具体的な検討順位は、図12に(1)から(8)を付したように、42c→42e→42f→42a→42d→42g→42b→42hとなる。
【0040】
参考となるマクロブロックは、図10に示したものに限定されず、また、マクロブロックの数も異なっていても良い。また、図11に示した重み付け方式も単純な例であって、さらに複雑な方法により重み付けを行なうようにしても良い。また、図12に示した検索順序も適宜他の方式で行なっても良い。
【0041】
次に、本発明の第5実施形態に係る動きベクトル検出回路について図13を用いて説明する。この第5実施形態に係る動きベクトル検出回路も、時間的に前後となるフレーム内で既に検出された動きベクトルに基づいてベクトル候補グループの優先順位付けを行なうものであり、参考となるベクトル候補グループの優先順位付けも、参考となるベクトルが複数であるため、適当な重み付けをしてから行なう必要がある。ここでは、第2実施形態に係る動きベクトル検出回路における撮像装置からの角加速度情報から計算したベクトルと、第4実施形態に係る動きベクトル検出回路における異なる時点のフレームの動きベクトル情報の両方を参考にした場合の重み付けの例を図13を用いて説明する。この場合、第4実施形態における参考動きベクトルの起点を原点でなく、第2実施形態に係る動きベクトルの終点にとっている。
【0042】
図13において、重み付け係数は、動きベクトル候補グループ42cの係数が「1+2=3」で最も重く、動きベクトル候補グループ42eは「1+1=2」で次に重く、動きベクトル候補グループ42fが「1」で、他のグループには重み付け係数が付されていない。このため、第3または第4実施形態と同様にグループの累積加算順位を割り振ると、グループ42c→42e→42f→42a→42d→42g→42b→42hのような順番となる。
【0043】
なお、図13に示した重み付けの方法は、一例を示すのみであってこの方法と異なっていても構わないし、また、参考にする動きベクトルの数や種類もこの例に限定されることはない。また、動きベクトル検出動作中に複数種類の重み付け方法を切り替えることも可能である。
【0044】
最後に、本発明の第6実施形態に係る動きベクトル検出方法について図14を用いて説明する。図14は第6実施形態に係る動きベクトル検出方法を示すフローチャートである。この第6実施形態に係る動きベクトル検出方法は、動画像データにおけるフレーム又はフィールド内における所定範囲の画像をマクロブロックとして、このマクロブロック内に存在する動きベクトル候補を選択して、原画像と参照画像の動きベクトル候補に対応する画素の信号強度差を算出し、マクロブロック内の画素について算出された信号強度差を累積加算して累積加算結果を求め、マクロブロック内の更に特定範囲内の動きベクトル候補の中から極大値または極小値となる累積結果を与える動きベクトル候補を動きベクトルとして選択するものである。
【0045】
第6実施形態に係る動きベクトル検出方法は、動画像データにおけるフレーム又はフィールド内における所定範囲の画像であるマクロブロックに対して、適当な範囲のベクトルを動きベクトル候補として設定して、原画像と参照画像の動きベクトル候補に対応する画素の信号強度差を算出し、マクロブロック内の画素について算出された信号強度差を累積加算して累積加算結果を求め、設定された動きベクトル候補の中から極大値または極小値となる累積結果を与える動きベクトル候補を動きベクトルとして選択する動きベクトル検出方法に適用される。
【0046】
図14において、動きベクトル検出方法は、動きベクトル候補に設定された探索範囲における動きベクトル候補を複数の動きベクトル候補グループにグループ化するステップST1と、真の動きベクトルが含まれている蓋然性の高い動きベクトル候補グループから低いものまでの順番を予測してこの順番に従って動きベクトル検出のための累積加算の順位を決定するステップST2と、前記動きベクトル候補に関する原画像データと参照画像データとを並列的に入力して、前記決定された累積加算の順位に従って複数の動きベクトルに関する累積加算を複数段のパイプラインに並より列的に処理するステップST3と、前記複数段のパイプラインの段数に対応した数の動きベクトルを選択するステップST4と、累積加算の停止を含んだ前記パイプラインにより動きベクトル候補の検討を行なうステップST5と、その順位の動きベクトル候補グループに含まれる全ての動きベクトル候補に対して検討が行なわれたか否かを判断するステップST6と、順位に従って全ての動きベクトル候補グループについて動きベクトルの検討が行なわれたか否かを判断するステップST7と、残った動きベクトルを真の動きベクトルとして出力するステップST8と、を備えている。
【0047】
ステップST6において、グループ内の動きベクトル候補の全てについて検討が行なわれていない場合には、ステップST4に戻り、ステップST4,ST5,ST6の処理ルーチンを繰り返す。ステップST6でグループ内の全ての動きベクトル候補に対する検討が行なわれた場合にはステップST7で全てのグループについて検討が終了したか否かが判断されるが、もしも残っているグループがある場合には、ステップST3に戻りステップST3ないしST6の処理動作を繰り返すことになる。ステップST7において、全てのグループについて動きベクトルの検出が終了されたものと判断されたときには、ステップST8において残った動きベクトル候補が真の動きベクトルであるものとして動きベクトルの検出が終了する。
【0048】
また、図14に示される動きベクトル検出方法において、複数に分割された前記特定領域の順位を決定する第3のステップST3が、動画像内の目標物体の特徴点となる部分をフレーム全体に対するサーチを行なって発見することにより得られる目標物体の大域的な動きベクトルを前記参照動きベクトルとして用いて、前記動きベクトル候補グループにおける優先順位を決定するステップを含むようにしても良い。
【0049】
さらに、図14に示される動きベクトル検出方法において、複数に分割された前記特定領域の順位を決定する第3のステップST3は、前記参照動きベクトルが選択された後この参照動きベクトルに対して適当な重み付けを行なうステップを含むように構成しても良い。
【0050】
【発明の効果】
以上詳細に説明したように、本発明に係る動きベクトル検出回路によれば、累積加算の演算サイクルを可変とし、複数の動きベクトル候補に対する差分絶対値の累積加算を行なう際に、真の動きベクトルが存在する蓋然性の高い領域から順に累積加算を行ない、動きベクトルが確定したとき他の領域に対する累積加算を停止するようにしたので、動きベクトルの検出時間の短縮と検出効率の飛躍的な向上を可能とし、検出に要する消費電力も低減できるという効果を奏する。
【0051】
また、全てのマクロブロックの動きベクトルに近い高品質な参考動きベクトルを得ることができ、フレーム中で注目している物体に関するマクロブロックの動きベクトルに近い高品質な参考動きベクトルを得ることもできる。さらに、空間的に相関の強い動画像においては、高品質な参考動きベクトルを得ることができると共に、時間的に相関の強い動画像においても、高品質な参考動きベクトルを得ることができる。また、以上の効果が複合することによって、より高性能なベクトル候補グループの優先順位付けを行なうことができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態に係る動きベクトル検出回路の構成を示すブロック図である。
【図2】(a)図15に示す従来の動きベクトル検出装置の検出順序、(b)図1に示される第1実施形態に係る動きベクトル検出回路の検出順序をそれぞれ示す説明図である。
【図3】(a)図15に示す従来の動きベクトル検出装置の検出順序、(b)図1に示される第1実施形態に係る動きベクトル検出回路における動きベクトル候補グループの検出順序をそれぞれ示す説明図である。
【図4】第2実施形態に係る動きベクトル検出回路の撮像装置を画像処理装置と共に示す説明図である。
【図5】第2実施形態における特徴点の移動を(a)前フレームと(b)現フレームとの差により検知した大域動きベクトルを示す説明図である。
【図6】第2実施形態に係る動きベクトル検出回路における動きベクトル検出候補グループの検出順位を示す説明図である。
【図7】本発明の第3実施形態に係る動きベクトル検出回路における同一フレーム内の動きベクトルの既検出および検出中のそれぞれのマクロブロックの関係を示す説明図である。
【図8】第3実施形態に係る動きベクトル検出回路における参照動きベクトルとベクトル候補グループの重み付けの例を示す説明図である。
【図9】第3実施形態に係る動きベクトル検出回路における動きベクトル候補グループの重み付けと優先順位付けの例を示す説明図である。
【図10】本発明の第4実施形態に係る動きベクトル検出回路における時間的に異なるフレーム内の既検出動きベクトルに基づいた動きベクトル候補グループの優先順位付け例を示す説明図である。
【図11】第4実施形態に係る動きベクトル検出回路における参照動きベクトルとベクトル候補グループの重み付けの例を示す説明図である。
【図12】第3実施形態に係る動きベクトル検出回路における動きベクトル候補グループの重み付けと優先順位付けの例を示す説明図である。
【図13】本発明の第5実施形態に係る動きベクトル検出回路における参照動きベクトルとベクトル候補グループの重み付けの例を示す説明図である。
【図14】本発明の第6実施形態に係る動きベクトル検出方法を示すフローチャートである。
【図15】従来の動きベクトル検出装置の構成を示すブロック図である。
【符号の説明】
1 累積加算手段
2a〜2n 第1ないし第nの差分絶対値累積加算回路
4 最小値情報管理回路
5 制御手段
10 累積加算停止手段
11 個別停止回路
15 動きベクトル候補グループ指定手段
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a motion vector detecting circuit for obtaining a motion vector for a macroblock within a predetermined range in a frame or a field of moving image information, and in particular, to each of an original image and a reference image corresponding to a motion vector candidate for the macroblock. The present invention relates to a motion vector detection circuit that accumulatively adds signal intensity differences of pixels and selects the smallest one of the accumulation results as a motion vector.
[0002]
[Prior art]
Generally, in processing of moving image information, a motion vector is detected by calculating a value related to a pixel in a macroblock using the following method. That is, for a given motion vector candidate, the signal intensity of the pixel in the macroblock on the original image and the pixel intensity on the reference image that has a range corresponding to this macroblock and is translated by an amount corresponding to the motion vector , And a value representing the difference between the signal intensities is cumulatively added for all pixels in the macroblock, and this operation is performed for all the motion vector candidates to obtain for each motion vector candidate. The obtained accumulation results are sequentially compared, and a candidate having the minimum accumulation result is estimated as a motion vector. In the above method, the reference image refers to an image in a predetermined area corresponding to a macroblock obtained by translating a macroblock within a predetermined range in a frame or a field of an original image by an amount equivalent to a motion vector.
[0003]
In such general motion vector detection, in order to perform a cumulative addition process at a high speed with a small data amount, a plurality of cumulative addition circuits are arranged in parallel, and a motion vector candidate is determined for each of the cumulative addition circuits. The motion vector detection circuit is configured to allocate operations and output data of the accumulation results in a pipelined manner. The accumulative addition circuit in such a motion vector detection circuit calculates the signal intensity difference based on the difference in luminance between the pixels constituting the macroblock of the original image and the corresponding pixels in the reference image. The calculation of the original image pixel luminance value−the reference image pixel luminance value | is performed in each accumulation circuit.
[0004]
Specifically, when detecting a motion vector by the above-described pipeline method, cumulative addition is performed on an area corresponding to each motion vector, and the same evaluation is performed for all predetermined motion vector candidates. A motion vector candidate that gives the minimum (or maximum) evaluation value from among them is selected and adopted as the motion vector of the macroblock. If the number of motion vector candidates that can be evaluated at one time is defined as the parallel number, the motion vector detection is completed by repeating the cumulative addition by the number obtained by dividing the number of all motion vector candidates by the parallel number. Therefore, when processing is performed with the number of parallels m, this processing is repeated until m candidates are selected from among the motion vector candidates and there are no remaining candidates. For example, when the total number of motion vector candidates is 1024 and there are 16 columns, the detection of the motion vector ends by repeating the cumulative addition 64 times.
[0005]
Therefore, the first evaluation of the cumulative addition values of the motion vector candidates 1 to m is performed first, and then the evaluation of the motion vector ends unless the evaluation from the second evaluation to the n-th evaluation is continuously repeated. Will not do. Such a motion vector detection circuit must always perform a cumulative addition operation for a fixed number of cycles regardless of the quality of the input original image. There is a problem that power consumption cost required for driving a circuit for detecting a motion vector increases. In order to solve such a problem, the inventor of the present application has already proposed a motion vector detecting device for stopping an unnecessary cumulative addition operation in Japanese Patent Application No. 8-341928.
[0006]
This conventional motion vector detection apparatus selects a motion vector candidate of a specific area in a macroblock which is an image in a predetermined range in a frame or a field of original image data, and selects a motion vector candidate of an original image and a reference image. The signal intensity difference of the corresponding pixel is calculated, the signal intensity difference calculated for the pixels in the macroblock is cumulatively added to obtain the accumulation result, and the maximum value is obtained from among the motion vector candidates in the specific region in the macroblock. A motion vector detecting device that selects a motion vector candidate that gives a cumulative result of a value or a minimum value as a motion vector is provided with a configuration as shown in FIG.
[0007]
That is, in FIG. 15, the motion vector detecting device inputs the original image data D <b> 1 and the reference image data D <b> 2 for the motion vector candidate in parallel, and processes the cumulative addition for a plurality of motion vectors in parallel in a pipelined manner. , And an accumulator 1 comprising a plurality of absolute difference accumulators 2a, 2b to 2n, and an accumulator 1 for stopping the accumulator operation of each accumulator 2a, 2b to 2n. The control unit controls the supply of the original image data D1 and the reference image data D2 related to the motion vector candidate to the cumulative addition stop unit 10 including the stop circuit 11 and the cumulative addition circuits 2a and 2b to 2n of the cumulative addition unit 1 and individually stops the addition. The circuit 11 outputs an individual stop signal S3 to stop the individual cumulative addition to the circuit 11, and outputs the corresponding cumulative addition circuit 2a, 2b or And control means 5 for controlling the stopping of 2n accumulating operation, and a.
[0008]
The individual cumulative addition results of the individual difference absolute value cumulative addition circuits 2a, 2b to 2n constituting the cumulative addition means 1 are output to the minimum value information management circuit 4 as a cumulative addition signal S1, and the minimum value information management circuit 4 The cumulative addition signal S1 is compared with the minimum value of the absolute value of the difference input so far, and the comparison result signal S2 is output to the control means 5. The control means 5 stops the cumulative addition of the individual absolute difference value cumulative addition circuits 2a to 2n constituting the cumulative addition means 1 based on the comparison result signal S2 supplied from the minimum value information management circuit 4. The signal S3 is output to the cumulative addition stopping means 10.
[0009]
[Problems to be solved by the invention]
However, in the conventional motion vector detecting device as shown in FIG. 15, the improvement efficiency is affected by the quality of the input moving image, and the examination order of the vector candidates that eventually become the motion vectors is in the rear order in the whole. When it becomes, the examination order is practically such that the cumulative addition for almost all of the motion vector candidates in the earlier order is performed, and then the cumulative addition for the motion vector candidates is finally performed, which is very convenient from the viewpoint of improvement efficiency. Did not. For example, if the motion vector candidates are considered in the fixed order and the motion vectors on the screen are directed in the reverse direction as a whole, the efficiency of finding the motion vectors of all macroblocks decreases. There was a possibility that the situation would occur.
[0010]
In the conventional motion vector detecting apparatus described above, when detecting a motion vector by cumulative addition, if a motion vector candidate that is a final motion vector can be found in the initial process of the search operation, actual cumulative addition is performed. As a result, the motion vector search efficiency is greatly improved by shortening the operation time for the calculation, and the power consumption of the individual arithmetic circuits that perform the cumulative addition for each motion vector candidate in the detection device can be reduced. is there.
[0011]
The present invention provides a motion vector detection circuit that can reduce the operation time for detecting a motion vector, that is, improve the operation efficiency, and reduce the power consumption during the operation for searching, in order to solve the above problem. The purpose is to provide.
[0012]
[Means for Solving the Problems]
In order to achieve the above object, a motion vector detection circuit according to claim 1 comprises a frame for moving image data. Also Sets a vector in an appropriate range as a motion vector candidate for a macroblock which is a predetermined range of images in a field, and calculates a signal intensity difference between pixels corresponding to the motion vector candidates of the original image and the reference image. A cumulative addition result is obtained by cumulatively adding the signal intensity differences calculated for the pixels in the macroblock, and a motion vector candidate that gives a cumulative result of a maximum value or a minimum value from among the set motion vector candidates is a motion vector. A grouping means for dividing a motion vector candidate in a search range set as the motion vector candidate into a plurality of motion vector candidate groups; and a motion vector having a high probability of containing a true motion vector. Predict the order from the vector candidate group to the lowest, and follow this predicted order. Rank determining means for determining the order of cumulative addition for motion vector detection with respect to each motion vector candidate group; and a source related to the motion vector candidates of a plurality of motion vector candidate groups according to the rank determined by the rank determining means. Cumulative addition means comprising a plurality of cumulative addition circuits connected in a pipeline for inputting image data and reference image data in parallel and performing cumulative addition on a plurality of motion vector candidates in parallel; Said Cumulative addition stopping means for individually stopping the cumulative addition processing operation of the cumulative addition means for each of the cumulative addition circuits; and supplying the original image data and the reference image data relating to the motion vector candidate to each of the cumulative addition circuits. The accumulative addition stop means outputs an individual stop signal for controlling and stopping the accumulative addition of the individual accumulative addition circuit to control the stop of the accumulative addition processing of the accumulative addition circuit, and is determined by the rank determining means. In accordance with the order of the examinations, the cumulative addition means examines the motion vector candidates in the group having a high probability, and completes the examination of the motion vector candidates having a high probability as the final motion vector candidates at the beginning of a series of examination operations. Control means for outputting the stop signal to the cumulative addition stop means at the beginning of the examination operation. Further, after the reference motion vector having a high probability as the final motion vector candidate is selected, the rank determining means appropriately weights the reference motion vector having a high probability with respect to the priority of the cumulative addition order. Weighting means for determining the priority of the motion vector candidate group including the motion vector candidate weighted for the priority of the cumulative addition order by the weighting means. It is characterized by that.
[0013]
The motion vector detecting circuit according to claim 2 is the one according to claim 1, wherein the grouping means and the order determining means constitute a motion vector candidate group designating means, and the grouping means comprises For each grouped motion vector candidate group, the order determination means dynamically sets priorities, and according to the order, the signal intensities of pixels of the original image and the reference image corresponding to the motion vector candidate for each motion vector candidate group. It is characterized in that cumulative addition of differences is performed.
[0014]
According to a third aspect of the present invention, in the motion vector detection circuit according to the first aspect, the order determining means is incorporated in an imaging device and calculates an angular velocity or an angular acceleration of a motion in a moving image captured by the imaging device. It includes a measuring means for measuring and detects a motion vector in a moving image using a reference motion vector obtained based on a measured value of the angular velocity or the angular acceleration supplied from the measuring means.
[0015]
According to a fourth aspect of the present invention, in the motion vector detecting circuit according to the first aspect, the order determining means finds a portion serving as a feature point of the target object in the moving image by searching the entire frame. The global motion vector of the target object obtained as described above is used as a reference motion vector to determine the priority in the motion vector candidate group.
[0016]
Further, in the motion vector detection circuit according to claim 5, in the device according to claim 1, the order determination means exists in the same frame as a frame including a macroblock for which motion vector detection is performed, and By using, as a reference motion vector, a motion vector of one or more macroblocks that have been subjected to motion vector detection before the macroblock and are present in the vicinity of the macroblock, the motion vector candidate group It is characterized in that priorities are determined.
[0017]
The motion vector detecting circuit according to claim 6 is the circuit according to claim 1, wherein the order determining means is included in a frame at a time different from a frame including a macroblock for performing motion vector detection. By using, as a reference motion vector, a motion vector in one or more macroblocks for which motion vector detection has been completed among macroblocks existing at the same coordinates as the macroblock or nearby coordinates, the priority of the motion vector candidate group is determined. It is characterized in that it is determined.
[0018]
Further, the motion vector detection circuit according to claim 7 is: A signal difference value between each pixel in the macroblock region in the original image and each pixel in the reference image region corresponding to the motion vector candidate corresponding to each pixel in the macroblock region is determined in parallel for each of the plurality of motion vector candidates. A plurality of circuits are provided for each of the cumulative additions, and the individual circuits individually stop a plurality of the cumulative additions that are being processed in parallel when the cumulative addition value exceeds the minimum value of the cumulative addition result during the cumulative addition. Circuit, a selection circuit for selecting a motion vector candidate having the minimum value of the cumulative addition result as a motion vector, and a high probability of being a final motion vector candidate. After the reference motion vector is selected Probable For the reference motion vector Regarding the priority of the cumulative addition order Weight appropriately I ,this Of cumulative addition priority Weighted Includes motion vector candidates Determine priority of motion vector candidate group Ranking determining means It is characterized by:
[0019]
In order to achieve the above object, a motion vector detecting method according to claim 8 is a method for detecting a frame in moving image data. Also Is in the field of For a macroblock that is an image in a predetermined range, a vector in an appropriate range is set as a motion vector candidate, and a signal intensity difference between pixels corresponding to the motion vector candidate in the original image and the reference image is calculated. A motion that obtains a cumulative addition result by cumulatively adding the signal intensity differences calculated for the pixels of, and selects, as a motion vector, a motion vector candidate that gives a cumulative result of a maximum value or a minimum value from among the set motion vector candidates. In the vector detection method, grouping motion vector candidates in a search range set as the motion vector candidates into a plurality of motion vector candidate groups; After a highly probable reference motion vector which is a final motion vector candidate is selected, a weighting step of appropriately weighting the highly probable reference motion vector with respect to the priority of the cumulative addition order is included. By determining the priority of the motion vector candidate group that includes the motion vector candidates weighted by the priority of the cumulative addition order, Estimating the order from the most probable motion vector group including the true motion vector to the lowest, and determining the order of cumulative addition for motion vector detection according to the order; Image data and reference image data are input in parallel, and cumulative addition for a plurality of motion vectors is processed in parallel by a multi-stage pipeline in accordance with the determined order of the cumulative addition; and Selecting a number of motion vectors corresponding to the number of stages in the pipeline, examining the motion vector candidates by the pipeline including stopping the cumulative addition, and selecting all motion vectors included in the motion vector candidate group of the order. Determining whether or not the motion vector candidate has been considered; And outputting the vector candidates as a true motion vector candidate is characterized in that it comprises.
[0020]
In the motion vector detecting method according to the ninth aspect, in the method according to the eighth aspect, the step of grouping into the plurality of motion vector candidate groups includes: It is characterized in that a global motion vector of the target object obtained by performing a search on the entire object and finding it is used as a reference motion vector.
[0022]
By configuring the present invention as described above, the vector candidates to be examined are divided into groups for each predetermined area, and the order of studying the motion vectors is appropriately changed in units of groups, so that macroblocks with reduced discovery efficiency in the frame Is prevented from continuing. Specifically, the motion vector study candidates are prioritized based on the following criteria. When focusing on a certain macroblock in a certain frame,
1) In the same frame, a vector candidate group including a motion vector of a macroblock present in the vicinity where a motion vector is detected before the macroblock is included, or a vector candidate group in the vicinity is prioritized.
2) Prioritize a vector candidate group containing a motion vector of the macroblock or a neighboring macroblock or a nearby vector candidate group in a temporally preceding and succeeding frame in which motion vector detection has already been completed.
3) When the motion vector detecting circuit is used in combination with a hand camera or the like, a device capable of acquiring angular velocity or angular acceleration information, for example, a device such as an optical fiber gyro may be mounted for the purpose of preventing camera shake. Priority is given to a vector candidate group including a motion vector based on information from this type of device or a vector candidate group near the vector candidate group.
4) A vector candidate group that includes a global motion vector of the target object or a vector candidate group near the vector candidate group obtained by searching for a feature point of the target object is prioritized.
These techniques can statistically improve the order in which the vectors that eventually become motion vectors are considered. By making such an improvement, the efficiency of the motion vector detection circuit can be further increased. It should be noted that the motion vector detecting circuit and the motion vector detecting method according to the present invention are not limited to the accumulative adding means and the accumulative stopping means in the motion vector detecting apparatus and method disclosed in Japanese Patent Application No. 8-341919, but also include a grouping means and a ranking means. And a determining means.
[0023]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, preferred embodiments of a motion vector detection circuit and a motion vector detection method according to the present invention will be described in detail with reference to the accompanying drawings. First, a motion vector detection circuit according to a first embodiment having the most basic configuration of the motion vector detection circuit according to the present invention will be described with reference to FIG. The motion vector detection circuit according to the first embodiment can divide the motion vector candidates into groups that exist in a plurality of specific regions and dynamically set the search order of the motion vector candidates for each motion vector candidate group. It is like that.
[0024]
As shown in FIG. 1, the motion vector detection circuit according to the first embodiment has a structure in which a motion vector candidate group designation block 15 is added to the conventional motion vector detection device shown in FIG. The motion vector candidate group designating block 15 includes a region dividing unit and a rank determining unit. The control unit 5 supplies information D3 such as a reference motion vector to the vector candidate group designation block 15, and acquires motion vector candidate group information D4 instead. A specific description will be given below.
[0025]
In the detection of the motion vector, the accumulative addition means 1 individually accumulates the difference between the signal value of each pixel of the macroblock of the cumulatively added original image and the pixel of the reference image area corresponding to the motion vector candidate. The addition is performed, and a motion vector candidate that gives the smallest cumulative addition result is selected as a motion vector. In the motion vector detecting device according to the conventional example shown in FIG. 15, the motion vector candidates are sequentially examined in a fixed order as shown in FIG. On the other hand, in the motion vector detecting circuit according to the first embodiment of the present invention, as shown in FIG. 2B, the motion vector candidate is a motion vector composed of eight partial regions in two columns and four stages. The motion vector candidates are divided into candidate groups, and the motion vector candidates are examined by accumulatively adding the difference in signal value between the corresponding pixels of the original image and the reference image in the area of the motion vector candidate group according to the priority of each group. It is performed sequentially.
[0026]
The priority of the group is determined based on the motion vector candidate group information D4. However, the group information D4 is not a fixed value, and can be appropriately changed in the process of detecting the motion vector. The grouping of the motion vector candidates is not limited to the one shown in FIG. 2B, and the number of groups is not limited to eight, but may be an appropriate value such as 16 or 32. Can be. Further, during the operation of the motion vector detection circuit, the vector candidate group specifying means 15 may dynamically change the way of grouping.
[0027]
The operation and effect of the motion vector detection circuit according to the first embodiment having the above configuration will be described with reference to FIGS. For the same motion vector candidates 20 shown in FIGS. 3 (a) and 3 (b), the motion vector detecting device according to the related art shown in FIG. 15 and the motion vector detecting circuit according to the first embodiment shown in FIG. An example will be described in which a search is performed. When a motion vector is detected according to a fixed search order 21 as in the conventional motion vector detection device shown in FIG. 3A, the motion vector is finally effective, that is, a true motion vector shown in FIG. The motion vector candidate 20 will be detected in the latter half of the detection process.
[0028]
On the other hand, when the search order is appropriately changed as in the motion vector detection circuit according to the first embodiment shown in FIG. The motion vector candidate 20 can be detected in the first half of the detection process. In the case of a motion vector detection circuit of the type in which the motion vector detection is performed in the process of detecting a fixed number of cycles, there is not so much difference in either method, but in the case of the conventional motion vector detection device, the number of cycles required for detecting the motion vector Is variable, and the earlier the final valid motion vector candidate is detected, the smaller the number of cycles required for the detection and the lower the power consumption.
[0029]
Therefore, a motion vector candidate group designating means capable of dynamically changing the search order of motion vectors is added to a conventional motion vector detecting device capable of changing the detection cycle as shown in FIG. The motion vector detecting circuit according to the first embodiment described above is very significant from the viewpoint of quickly accumulating and adding a finally valid motion vector candidate that is a true motion vector.
[0030]
The motion vector detection circuit according to the first embodiment is designed to dramatically improve the search speed when performing cumulative addition in a variable cycle by making the order of the search process for the motion vector candidates variable. A description will be given of a rule for performing a variable study order on a motion vector candidate group by using a motion vector detection circuit according to the second embodiment of the present invention. The motion vector detection circuit according to the second embodiment detects an external angular velocity or an external angular acceleration, determines a search order for a group of motion vector candidates based on the angular velocity or the angular acceleration, or adds a search order to a captured moving image. A global motion vector is detected using existing feature points, and a search priority of a motion vector candidate group is determined from the global motion vector.
[0031]
In the motion vector detection circuit according to the second embodiment, as shown in FIG. 4, information necessary for detecting a reference motion vector is sent from an imaging device such as a video camera 25. In FIG. 4, the video camera 25 has a built-in gyroscope 26 and is connected to an image processing device 30 via a cable 27. The image processing device 30 includes a motion vector detection circuit having the configuration shown in FIG. 1, and obtains macroblock information D1 and reference image information D2 using a moving image sent from the imaging device. Control of the cumulative addition based on the information of the macroblock and the motion vector candidates in the macroblock and the reference image are divided into a plurality of groups, and from which group the operation of the cumulative addition is started is optimal in terms of calculation efficiency. In consideration of the above, the search order is determined, cumulative addition is performed for pixels in the specific region of interest, the signal difference between the two pixels is calculated and compared with the minimum value, and the motion vector is selected from among the motion vector candidates. As valid ones.
[0032]
The minimum motion vector of the motion vector detection circuit according to the second embodiment is, as shown in FIG. about Is obtained by searching across the frames and taking the differences between the frames. That is, the moving vehicle 31 as a detection target in the image of the previous frame of the moving image as shown in FIG. 5A has the feature point 32, and the current frame image of the moving image in FIG. The vehicle 33 after the movement and the characteristic points 34 of the vehicle 33 are shown. As shown in FIG. 5B, the locus of movement between the feature point 32 of the previous frame image and the feature point 34 of the current frame image is determined by the movement of the feature point. R This is obtained as the detected global motion vector 35. The reference motion vector is obtained by the method described with reference to FIGS. 4 and 5. In this example, since the number of reference motion vectors is one, the ranking method is shown in FIG. 6. It will be performed by such a procedure.
[0033]
In FIG. 6, the motion vector candidate study range 36 is divided into eight motion vector candidate study groups 37a, 37b, 37c, 37d, 37e, 37f, 37g, and 37h, each of which has two columns and four stages. Here, the motion vector candidate group 37c including the reference motion vector 38 has the first priority of the cumulative addition. Other than the group 37c, the motion vector group 37a closest to the reference motion vector 38 has the second priority. After that, the study order 39 is allocated in order from the closest one with the first order group 37c as the center clockwise. That is, although the study order 39 such as 37d → 37e → 37b → 37f → 37g → 37h is assigned, the method of assigning the priority order does not need to be particularly this way. Assignments can be made in consideration of the impact. In addition, in the process of detecting a motion vector, the order of cumulative addition of a group of motion vector candidates can be assigned by dynamically changing the motion vector in consideration of the detection state of the motion vector.
[0034]
Next, a motion vector circuit according to a third embodiment of the present invention will be described with reference to FIGS. The motion vector detection circuit according to the third embodiment assigns priorities to motion vector candidate groups based on motion vectors already detected in the same frame, and performs cumulative addition on the motion vector candidates according to the order. It was made. In the motion vector detecting circuit according to the third embodiment, since the number of reference motion vectors is not one but a plurality, the priorities of motion vector candidate groups are determined after appropriate weighting. Need to be done. Hereinafter, details of the third embodiment will be described.
[0035]
FIG. 7 illustrates a motion vector detection circuit according to the third embodiment. A frame 40 is divided into a plurality of macro blocks 41. The positional relationship between a macroblock “*” for which a motion vector is currently detected in the same frame 40 and macroblocks A, B, and C that provide a reference motion vector is shown. Weighting as shown in FIG. 8 was performed on the motion vector candidate group including the reference motion vector. In FIG. 8, a macroblock 41 which is a motion vector candidate study range is further divided into a plurality of specific regions 42a to 42h. Reference numeral 43 denotes a reference A motion vector, reference numeral 44 denotes a B motion vector, reference numeral 45 denotes a C motion vector, and reference numeral 46 denotes a motion vector created from the intermediate values of the x and y components of the A, B, and C motion vectors. One point is added to each motion vector candidate group including the A, B, and C motion vectors 43, 44, and 45, and each of the A, B, and C motion vectors 43, 44, and 45 is added. Weighting is performed by adding two points to a vector candidate group including a reference vector 46 obtained from an intermediate value of each of the x component and each y component.
[0036]
In FIG. 9, motion vectors are sequentially searched from a motion vector candidate group having a large weight coefficient, and Motion For vector candidate groups, the largest weighting factor Motion With the vector candidate group at the center, the motion vector candidates are examined clockwise from the closest one. Specifically, when the weight coefficient is 3, Heavy The search is started from the motion vector group 42c, and the cumulative addition for the motion vector candidates is performed in the order of the motion vector candidate groups 42d, 42b, 42f, 42g, and 42h in the clockwise direction from the group of the weight coefficient 1. This search order is shown by an arrow 47 in FIG. 9 as a study order of the motion vector candidate group.
[0037]
In the motion vector detecting circuit according to the third embodiment, the reference macro blocks shown in FIG. 7 may not be as shown in the drawing, and may be different in number. The weighting method shown in FIG. 8 is a simple example, and more complicated weighting may be performed. Further, the search order shown in FIG. 9 may be appropriately performed by another method such as, for example, counterclockwise for a group of the same rank.
[0038]
Although the motion vector detection circuit according to the third embodiment described above uses the motion vectors in the same frame to change the order of the cumulative addition for the motion vector candidates, the present invention is not limited to this. As in the motion vector detection circuit according to the embodiment, the priorities of the motion vector candidate groups may be determined based on the motion vectors already detected in the preceding and succeeding frames. The prioritization of the motion vector candidate groups in the motion vector detection circuit according to the fourth embodiment also needs to be performed after appropriate weighting since there are a plurality of reference vectors. Hereinafter, a motion vector detection circuit according to the fourth embodiment will be described.
[0039]
FIG. 10 shows the positional relationship of a reference macroblock in a temporally different frame. The macro block “*” exists at the same coordinates as the macro block currently detecting the motion vector, and the macro block ABCD existing in the vicinity of the macro block “*”. Weighting as shown in FIG. 11 was performed on a motion vector candidate group including a reference motion vector. 11 and 12 are described using the same reference numerals as in FIGS. 8 and 9 for convenience. One point is added to each vector candidate group including the reference motion vector 43 of A, the reference motion vector 44 of B, the reference motion vector 45 of C, and the reference motion vector 48 of D, and the reference motion vector of “*” is added. Two points were added to the motion vector candidate group including 49. Accordingly, the weighting factors of the specific regions 42a to 42h in the motion vector candidate study range 41 are 3 for the candidate group 42c, 2 for the group 42e, and 1 for the group 42f. In FIG. , A motion vector search is performed, and for the vector candidate groups 42a, 42b, 42d, 42g, and 42h having zero weight, the motion vector candidates are examined from the closest one to the clockwise centering on the vector candidate group having the largest weight coefficient. I do. As shown in (1) to (8) in FIG. 12, the specific study order is 42c → 42e → 42f → 42a → 42d → 42g → 42b → 42h.
[0040]
The reference macro block is not limited to the one shown in FIG. 10, and the number of macro blocks may be different. Further, the weighting method shown in FIG. 11 is also a simple example, and weighting may be performed by a more complicated method. Further, the search order shown in FIG. 12 may be performed by another method as appropriate.
[0041]
Next, a motion vector detection circuit according to a fifth embodiment of the present invention will be described with reference to FIG. The motion vector detecting circuit according to the fifth embodiment also prioritizes the vector candidate groups based on the motion vectors already detected in the temporally preceding and succeeding frames. Since there are a plurality of reference vectors, it is necessary to perform the prioritization of the priorities after giving an appropriate weight. Here, both the vector calculated from the angular acceleration information from the imaging device in the motion vector detection circuit according to the second embodiment and the motion vector information of the frame at different time points in the motion vector detection circuit according to the fourth embodiment are referred to. An example of weighting in the case of the above will be described with reference to FIG. In this case, the starting point of the reference motion vector in the fourth embodiment is not the origin but the end point of the motion vector according to the second embodiment.
[0042]
In FIG. 13, the weighting coefficient is the heaviest when the coefficient of the motion vector candidate group 42c is “1 + 2 = 3”, the motion vector candidate group 42e is the next heaviest at “1 + 1 = 2”, and the motion vector candidate group 42f is “1”. Thus, no weighting coefficient is assigned to the other groups. Therefore, when the cumulative addition order of the group is allocated in the same manner as in the third or fourth embodiment, the order is such as group 42c → 42e → 42f → 42a → 42d → 42g → 42b → 42h.
[0043]
It should be noted that the weighting method shown in FIG. 13 is merely an example and may be different from this method, and the number and type of motion vectors to be referred to are not limited to this example. . It is also possible to switch between a plurality of types of weighting methods during the motion vector detection operation.
[0044]
Finally, a motion vector detection method according to the sixth embodiment of the present invention will be described with reference to FIG. FIG. 14 is a flowchart showing a motion vector detection method according to the sixth embodiment. In the motion vector detection method according to the sixth embodiment, an image in a predetermined range in a frame or a field in moving image data is set as a macroblock, a motion vector candidate existing in the macroblock is selected, and an original image is referred to. A signal strength difference of a pixel corresponding to a motion vector candidate of an image is calculated, and a signal strength difference calculated for a pixel in a macroblock is cumulatively added to obtain a cumulative addition result. A motion vector candidate that gives a cumulative result of a local maximum value or a local minimum value is selected as a motion vector from the vector candidates.
[0045]
The motion vector detection method according to the sixth embodiment sets an appropriate range of vectors as a motion vector candidate for a macroblock that is a predetermined range of images in a frame or a field in moving image data, The signal strength difference of the pixel corresponding to the motion vector candidate of the reference image is calculated, the signal strength difference calculated for the pixel in the macro block is cumulatively added to obtain a cumulative addition result, and from among the set motion vector candidates, The present invention is applied to a motion vector detection method in which a motion vector candidate that gives a cumulative result of a maximum value or a minimum value is selected as a motion vector.
[0046]
In FIG. 14, the motion vector detection method includes a step ST1 of grouping motion vector candidates in a search range set as motion vector candidates into a plurality of motion vector candidate groups, and a high probability that a true motion vector is included. Step ST2 of predicting the order from the motion vector candidate group to the lowest one and determining the order of cumulative addition for motion vector detection according to this order; Step ST3 of processing the cumulative addition for a plurality of motion vectors in parallel in a plurality of pipelines according to the determined order of the cumulative addition, and corresponding to the number of stages of the plurality of pipelines. ST4 for selecting a number of motion vectors, and said pipeline including stopping accumulation. Step ST5 for examining the motion vector candidates according to the above, Step ST6 for judging whether all the motion vector candidates included in the motion vector candidate group of the order have been examined, and all the motion vectors according to the order. The method includes a step ST7 for determining whether or not a motion vector has been examined for a candidate group, and a step ST8 for outputting the remaining motion vector as a true motion vector.
[0047]
If all the motion vector candidates in the group have not been examined in step ST6, the process returns to step ST4, and the processing routine of steps ST4, ST5, and ST6 is repeated. If all the motion vector candidates in the group have been examined in step ST6, it is determined in step ST7 whether or not the examination has been completed for all the groups. Then, the process returns to step ST3 to repeat the processing operations of steps ST3 to ST6. When it is determined in step ST7 that the detection of the motion vectors has been completed for all the groups, the detection of the motion vectors ends assuming that the remaining motion vector candidates in step ST8 are true motion vectors.
[0048]
Further, in the motion vector detection method shown in FIG. 14, the third step ST3 of determining the order of the specific region divided into a plurality of parts is performed by searching the whole frame for a portion serving as a feature point of the target object in the moving image. And determining a priority order in the motion vector candidate group using a global motion vector of the target object obtained by performing the search as a reference motion vector.
[0049]
Further, in the motion vector detection method shown in FIG. 14, the third step ST3 of determining the order of the specific region divided into a plurality of regions is performed after the reference motion vector is selected. May be configured to include a step of performing appropriate weighting.
[0050]
【The invention's effect】
As described above in detail, according to the motion vector detection circuit of the present invention, when the operation cycle of the cumulative addition is made variable and the cumulative addition of the absolute difference value for a plurality of motion vector candidates is performed, the true motion vector Cumulative addition is performed in order from the region with the highest probability of existence, and when the motion vector is determined, the cumulative addition for other regions is stopped, so that the detection time of the motion vector is shortened and the detection efficiency is dramatically improved. This makes it possible to reduce the power consumption required for detection.
[0051]
In addition, it is possible to obtain a high-quality reference motion vector close to the motion vectors of all macroblocks, and it is also possible to obtain a high-quality reference motion vector close to the macroblock motion vector related to the object of interest in the frame. . Furthermore, a high-quality reference motion vector can be obtained for a moving image having a strong spatial correlation, and a high-quality reference motion vector can be obtained for a moving image having a strong temporal correlation. Further, by combining the above effects, it is possible to prioritize higher-performance vector candidate groups.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a motion vector detection circuit according to a first embodiment of the present invention.
2A is an explanatory diagram showing the detection order of the conventional motion vector detection device shown in FIG. 15, and FIG. 2B is an explanatory diagram showing the detection order of the motion vector detection circuit according to the first embodiment shown in FIG.
3A shows the detection order of the conventional motion vector detection device shown in FIG. 15, and FIG. 3B shows the detection order of a motion vector candidate group in the motion vector detection circuit according to the first embodiment shown in FIG. FIG.
FIG. 4 is an explanatory diagram showing an imaging device of a motion vector detection circuit according to a second embodiment together with an image processing device.
FIG. 5 is an explanatory diagram showing global motion vectors in which movement of a feature point in the second embodiment is detected based on a difference between (a) a previous frame and (b) a current frame.
FIG. 6 is an explanatory diagram showing a detection order of motion vector detection candidate groups in a motion vector detection circuit according to a second embodiment.
FIG. 7 is an explanatory diagram showing a relationship between a macroblock that has been detected and a macroblock being detected in the same frame in the motion vector detection circuit according to the third embodiment of the present invention.
FIG. 8 is an explanatory diagram illustrating an example of weighting of a reference motion vector and a vector candidate group in the motion vector detection circuit according to the third embodiment.
FIG. 9 is an explanatory diagram showing an example of weighting and prioritization of a motion vector candidate group in the motion vector detection circuit according to the third embodiment.
FIG. 10 is an explanatory diagram illustrating an example of prioritizing motion vector candidate groups based on detected motion vectors in temporally different frames in the motion vector detection circuit according to the fourth embodiment of the present invention.
FIG. 11 is an explanatory diagram showing an example of weighting of a reference motion vector and a vector candidate group in the motion vector detection circuit according to the fourth embodiment.
FIG. 12 is an explanatory diagram showing an example of weighting and prioritizing of motion vector candidate groups in the motion vector detection circuit according to the third embodiment.
FIG. 13 is an explanatory diagram showing an example of weighting of a reference motion vector and a vector candidate group in a motion vector detection circuit according to a fifth embodiment of the present invention.
FIG. 14 is a flowchart illustrating a motion vector detection method according to a sixth embodiment of the present invention.
FIG. 15 is a block diagram showing a configuration of a conventional motion vector detection device.
[Explanation of symbols]
1 Cumulative addition means
2a to 2n First to nth difference absolute value accumulative addition circuits
4 Minimum value information management circuit
5 control means
10 Cumulative addition stop means
11 Individual stop circuit
15 Motion vector candidate group designation means

Claims (9)

動画像データにおけるフレームまたはフィールド内における所定範囲の画像であるマクロブロックに対して、適当な範囲のベクトルを動きベクトル候補として設定して、原画像と参照画像の動きベクトル候補に対応する画素の信号強度差を算出し、マクロブロック内の画素について算出された信号強度差を累積加算して累積加算結果を求め、設定された動きベクトル候補の中から極大値または極小値となる累積結果を与える動きベクトル候補を動きベクトルとして選択する動きベクトル検出回路において、
前記動きベクトル候補に設定された探索範囲における動きベクトル候補を複数の動きベクトル候補グループに分けるグループ化手段と、
真の動きベクトルが含まれている蓋然性の高い動きベクトル候補グループから低いものまでその順番を予測してこの予測した順番に従ってそれぞれの動きベクトル候補グループに対して動きベクトル検出のための累積加算の順位を決定する順位決定手段と、
前記順位決定手段により決定された順位に従って複数の動きベクトル候補グループの前記動きベクトル候補に関する原画像データと参照画像データとを並列的に入力して複数の動きベクトル候補に関する累積加算を並列的に処理するパイプライン状に接続された複数の累積加算回路よりなる累積加算手段と、
前記累積加算手段の累積加算処理動作を各々の累積加算回路毎に個別に停止させる累積加算停止手段と、
各々の累積加算回路に対して前記動きベクトル候補に関する原画像データと参照画像データとの供給を制御し、個別の累積加算回路の累積加算を停止させる個別の停止信号を前記累積加算停止手段から出力させてその累積加算回路の累積加算処理の停止を制御すると共に、前記順位決定手段により決定された検討の順位に従って、蓋然性の高いグループにおける動きベクトル候補の検討を前記累積加算手段に行なわせ、一連の検討動作の初期に最終的な動きベクトル候補となる蓋然性の高い動きベクトル候補の検討を済ませることにより前記検討動作の初期に前記累積加算停止手段に前記停止信号を出力させる制御手段と、
を備え、さらに、
前記順位決定手段は、前記最終的な動きベクトル候補となる蓋然性の高い参照動きベクトルが選択された後この蓋然性の高い参照動きベクトルに対して累積加算順位の優先度についての適当な重み付けを行なう重み付け手段を備え、この重み付け手段により累積加算順位の優先度の重み付けがなされた動きベクトル候補が含まれる動きベクトル候補グループの優先順位を決定することを特徴とする動きベクトル検出回路。
For a macroblock is an image of a predetermined range in the frame or field in the video data, the appropriate range vector set as a vector candidate motion, the pixels corresponding to the motion vector candidate of the reference image and the original image The signal strength difference is calculated, the signal strength difference calculated for the pixels in the macroblock is cumulatively added to obtain a cumulative addition result, and a cumulative result that is a maximum value or a minimum value from the set motion vector candidates is given. In a motion vector detection circuit that selects a motion vector candidate as a motion vector,
Grouping means for dividing the motion vector candidates in the search range set as the motion vector candidates into a plurality of motion vector candidate groups,
The order of motion vector candidates from the most probable motion vector candidate group including the true motion vector to the lowest one is predicted, and the order of cumulative addition for motion vector detection is performed on each motion vector candidate group according to the predicted order. Ranking determining means for determining
According to the order determined by the order determining means, original image data and reference image data regarding the motion vector candidates of a plurality of motion vector candidate groups are input in parallel, and cumulative addition regarding the plurality of motion vector candidates is processed in parallel. Accumulating means comprising a plurality of accumulating circuits connected in a pipeline manner,
And accumulating stopping means for stopping individually for each cumulative addition circuit of each cumulative addition processing operation of the accumulating means,
Controlling the supply of the original image data and the reference image data relating to the motion vector candidate to each of the cumulative addition circuits, and outputting from the cumulative addition stopping means individual stop signals for stopping the cumulative addition of the individual cumulative addition circuits. In addition to controlling the stop of the accumulative addition process of the accumulative adder, the accumulative adder is made to examine a motion vector candidate in a group having a high probability according to the order of examination determined by the order determiner. Control means for outputting the stop signal to the accumulative addition stop means at the beginning of the examination operation by completing examination of a motion vector candidate with high probability to be a final motion vector candidate at the beginning of the examination operation;
And ,
After the reference motion vector having a high probability as the final motion vector candidate is selected, the rank determining means performs appropriate weighting on the priority of the cumulative addition order with respect to the reference motion vector having a high probability. comprising means, the motion vector detecting circuit according to claim that you prioritize the motion vector candidate group weighted priority of the cumulative addition ranking include motion vector candidate made by the weighting means.
前記グループ化手段と前記順位決定手段とにより動きベクトル候補グループ指定手段が構成されると共に、前記グループ化手段によりグループ化された動きベクトル候補グループ毎に、前記順位決定手段が動的に優先順位を設定し、この順位に従って動きベクトル候補グループ毎の動きベクトル候補に対応する原画像と参照画像の画素の信号強度差の累積加算を行なうことを特徴とする請求項1に記載の動きベクトル検出回路。The grouping means and the order determining means constitute a motion vector candidate group designating means, and the order determining means dynamically assigns a priority to each motion vector candidate group grouped by the grouping means. 2. The motion vector detecting circuit according to claim 1, wherein the motion vector detecting circuit is configured to perform a cumulative addition of a signal intensity difference between a pixel of an original image and a pixel of a reference image corresponding to a motion vector candidate for each motion vector candidate group. 前記順位決定手段は、撮像装置に組み込まれてこの撮像装置が撮像した動画像における動きの角速度または角加速度を測定する測定手段を含み、この測定手段から供給される角速度または角加速度の測定値に基づいて求められる参照動きベクトルを用いて動画像内の動きベクトルを検出することを特徴とする請求項1に記載の動きベクトル検出回路。The ranking determining means includes a measuring means incorporated in the imaging device for measuring an angular velocity or an angular acceleration of a motion in a moving image captured by the imaging device, and a measurement value of the angular velocity or the angular acceleration supplied from the measuring means is included. The motion vector detecting circuit according to claim 1, wherein the motion vector in the moving image is detected using a reference motion vector obtained based on the motion vector. 前記順位決定手段は、動画像内の目標物体の特徴点となる部分をフレーム全体に対するサーチを行なって発見することにより得られる目標物体の大域的な動きベクトルを参照動きベクトルとして用いて、前記動きベクトル候補グループにおける優先順位を決定することを特徴とする請求項1に記載の動きベクトル検出回路。The ranking determining means uses the global motion vector of the target object obtained by searching for a feature point of the target object in the moving image by searching the entire frame as a reference motion vector, and 2. The motion vector detecting circuit according to claim 1, wherein priorities in the vector candidate groups are determined. 前記順位決定手段は、動きベクトル検出を行なうマクロブロックが含まれるフレームと同一のフレーム内に存在し、かつ、当該マクロブロックより以前に動きベクトル検出が行なわれたマクロブロックであって、当該マクロブロックの近傍に存在する単数もしくは複数のマクロブロックにおける動きベクトルを参照動きベクトルとして用いることにより、動きベクトル候補グループの優先順位を決定することを特徴とする請求項1に記載の動きベクトル検出回路。The rank determining means is a macroblock which is present in the same frame as a frame including a macroblock for which a motion vector is to be detected, and for which a motion vector has been detected before the macroblock, and 2. The motion vector detecting circuit according to claim 1, wherein the priority of the motion vector candidate group is determined by using, as a reference motion vector, a motion vector in one or a plurality of macroblocks existing in the vicinity of. 前記順位決定手段は、動きベクトル検出を行なうマクロブロックが含まれるフレームとは異なる時点のフレームに含まれ、当該マクロブロックと同じ座標もしくは近傍の座標に存在するマクロブロックのうち、既に動きベクトル検出が終了した単数もしくは複数のマクロブロックにおける動きベクトルを参照動きベクトルとして用いることにより、動きベクトル候補グループの優先順位を決定することを特徴とする請求項1に記載の動きベクトル検出回路。The rank determining means is included in a frame at a different time point from a frame including a macroblock for which a motion vector is to be detected. 2. The motion vector detecting circuit according to claim 1, wherein the priority order of the motion vector candidate group is determined by using a motion vector in the completed one or more macroblocks as a reference motion vector. 原画像中のマクロブロック領域における各画素と、動きベクトル候補に対応する参照画像領域における前記マクロブロック領域の各画素に対応する各画素との信号差分値を、複数の動きベクトル候補毎に並列にそれぞれ累積加算するために複数設けられると共に、個々の回路は累積加算中に累積加算値が累積加算結果の最小値を超えたときに並列処理されている複数の累積加算を個別に停止させる累積加算回路と、
前記累積加算結果の最小値となった動きベクトル候補を動きベクトルとして選択する選択回路と、
最終的な動きベクトル候補となる蓋然性の高い参照動きベクトルが選択された後この蓋然性の高い参照動きベクトルに対して累積加算順位の優先度についての適当な重み付けを行な、この累積加算順位の優先度の重み付けがなされた動きベクトル候補が含まれる動きベクトル候補グループの優先順位を決定する順位決定手段と、
を備えることを特徴とする動きベクトル検出回路。
A signal difference value between each pixel in the macroblock region in the original image and each pixel in the reference image region corresponding to the motion vector candidate corresponding to each pixel in the macroblock region is determined in parallel for each of the plurality of motion vector candidates. A plurality of circuits are provided for each of the cumulative additions, and the individual circuits individually stop a plurality of the cumulative additions that are being processed in parallel when the cumulative addition value exceeds the minimum value of the cumulative addition result during the cumulative addition. Circuit and
A selection circuit for selecting a motion vector candidate having a minimum value of the cumulative addition result as a motion vector,
Final motion high reference motion vector of probability of the vector candidates have rows appropriate weighting of the priority of the cumulative addition order with respect to this highly probable reference motion vectors after being selected, the cumulative addition ranking a rank determining means for determining a priority order of the motion vector candidate group weighting priority includes made motion vector candidates,
Motion-out vector detecting circuit you comprising: a.
動画像データにおけるフレームまたはフィールド内所定範囲の画像であるマクロブロックに対して、適当な範囲のベクトルを動きベクトル候補として設定して、原画像と参照画像の動きベクトル候補に対応する画素の信号強度差を算出し、マクロブロック内の画素について算出された信号強度差を累積加算して累積加算結果を求め、設定された動きベクトル候補の中から極大値または極小値となる累積結果を与える動きベクトル候補を動きベクトルとして選択する動きベクトル検出方法において、
前記動きベクトル候補に設定された探索範囲における動きベクトル候補を複数の動きベクトル候補グループにグループ化するステップと、
最終的な動きベクトル候補となる蓋然性の高い参照動きベクトルが選択された後この蓋然性の高い参照動きベクトルに対して累積加算順位の優先度についての適当な重み付けを行なう重み付け過程を含み、この重み付け過程により累積加算順位の優先度の重み付けがなされた動きベクトル候補が含まれる動きベクトル候補グループの優先順位を決定することにより、真の動きベクトルが含まれている蓋然性の高い動きベクトルグループから低いものまでの順番を予測してこの順番に従って動きベクトル検出のための累積加算の順位を決定するステップと、
前記動きベクトル候補に関する原画像データと参照画像データとを並列的に入力して、前記決定された累積加算の順位に従って複数の動きベクトルに関する累積加算を複数段のパイプラインにより並列的に処理するステップと、
前記複数段のパイプラインの段数に対応した数の動きベクトルを選択するステップと、
累積加算の停止を含んだ前記パイプラインにより動きベクトル候補の検討を行なうステップと、
その順位の動きベクトル候補グループに含まれる全ての動きベクトル候補に対して検討が行なわれたか否かを判断するステップと、
残った動きベクトル候補を真の動きベクトル候補として出力するステップと、
を備えることを特徴とする動きベクトル検出方法。
Frame or in the moving image data for a macroblock is an image of a predetermined range in the field, the proper range vector set as a vector candidate motion, the pixels corresponding to the motion vector candidate of the reference image and the original image The signal strength difference is calculated, the signal strength difference calculated for the pixels in the macroblock is cumulatively added to obtain a cumulative addition result, and a cumulative result that is a maximum value or a minimum value from the set motion vector candidates is given. In a motion vector detection method of selecting a motion vector candidate as a motion vector,
Grouping motion vector candidates in a search range set as the motion vector candidates into a plurality of motion vector candidate groups;
After a highly probable reference motion vector which is a final motion vector candidate is selected, a weighting step of appropriately weighting the highly probable reference motion vector with respect to the priority of the cumulative addition order is included. By determining the priority order of the motion vector candidate group including the motion vector candidates weighted with the priority of the cumulative addition order, the motion vector group including the true motion vector from the high probability to the low motion vector group is determined. And determining the order of cumulative addition for motion vector detection according to the order,
Inputting original image data and reference image data for the motion vector candidate in parallel, and performing cumulative addition for a plurality of motion vectors in parallel using a plurality of pipelines according to the determined cumulative addition order; When,
Selecting a number of motion vectors corresponding to the number of stages of the plurality of pipelines,
Examining motion vector candidates by said pipeline including stopping cumulative addition;
Judging whether or not all the motion vector candidates included in the motion vector candidate group of the order have been examined;
Outputting the remaining motion vector candidates as true motion vector candidates;
A motion vector detection method comprising:
前記複数の動きベクトル候補グループにグループ化するステップは、動画像内の目標物体の特徴点となる部分をフレーム全体に対するサーチを行なって発見することにより得られる目標物体の大域的な動きベクトルを参照動きベクトルとして用いて行なうことを特徴とする請求項8に記載の動きベクトル検出方法。The step of grouping into a plurality of motion vector candidate groups refers to a global motion vector of a target object obtained by searching for a feature point of the target object in the moving image by searching the entire frame. 9. The method according to claim 8, wherein the method is performed using the motion vector.
JP01998798A 1998-01-30 1998-01-30 Motion vector detection circuit and motion vector detection method Expired - Fee Related JP3540142B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP01998798A JP3540142B2 (en) 1998-01-30 1998-01-30 Motion vector detection circuit and motion vector detection method
US09/238,122 US6370194B2 (en) 1998-01-30 1999-01-27 Motion vector estimation circuit and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01998798A JP3540142B2 (en) 1998-01-30 1998-01-30 Motion vector detection circuit and motion vector detection method

Publications (2)

Publication Number Publication Date
JPH11219436A JPH11219436A (en) 1999-08-10
JP3540142B2 true JP3540142B2 (en) 2004-07-07

Family

ID=12014542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01998798A Expired - Fee Related JP3540142B2 (en) 1998-01-30 1998-01-30 Motion vector detection circuit and motion vector detection method

Country Status (2)

Country Link
US (1) US6370194B2 (en)
JP (1) JP3540142B2 (en)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000070879A1 (en) * 1999-05-13 2000-11-23 Stmicroelectronics Asia Pacific Pte Ltd. Adaptive motion estimator
US6654502B1 (en) * 2000-06-07 2003-11-25 Intel Corporation Adaptive early exit techniques in image correlation
US6907080B1 (en) * 2000-06-07 2005-06-14 Intel Corporation Adaptive early exit techniques in image correlation
US6700996B1 (en) * 2000-06-07 2004-03-02 Intel Corporation Adaptive early exit techniques in image correlation
JP3979894B2 (en) * 2002-07-22 2007-09-19 本田技研工業株式会社 Object detection apparatus and method
US7453940B2 (en) * 2003-07-15 2008-11-18 Lsi Corporation High quality, low memory bandwidth motion estimation processor
KR20050041293A (en) * 2003-10-30 2005-05-04 삼성전자주식회사 Apparatus and method for estimating motion
JP4687994B2 (en) * 2004-04-09 2011-05-25 ソニー株式会社 Image processing apparatus and method, recording medium, and program
EP1592255A1 (en) * 2004-04-30 2005-11-02 Matsushita Electric Industrial Co., Ltd. Motion vector estimation with improved motion vector selection
JP4488805B2 (en) * 2004-06-25 2010-06-23 パナソニック株式会社 Motion vector detection apparatus and method
US8462850B2 (en) * 2004-07-02 2013-06-11 Qualcomm Incorporated Motion estimation in video compression systems
GB2432068B (en) * 2005-11-02 2010-10-06 Imagination Tech Ltd Motion estimation
US8260008B2 (en) 2005-11-11 2012-09-04 Eyelock, Inc. Methods for performing biometric recognition of a human eye and corroboration of same
JP4166781B2 (en) * 2005-12-09 2008-10-15 松下電器産業株式会社 Motion vector detection apparatus and motion vector detection method
KR20070069615A (en) * 2005-12-28 2007-07-03 삼성전자주식회사 Motion estimator and motion estimating method
US8509313B2 (en) * 2006-10-10 2013-08-13 Texas Instruments Incorporated Video error concealment
US20080100716A1 (en) * 2006-11-01 2008-05-01 Guoyi Fu Estimating A Point Spread Function Of A Blurred Digital Image Using Gyro Data
JP5239095B2 (en) * 2008-04-08 2013-07-17 富士フイルム株式会社 Image processing system, image processing method, and program
US20090304293A1 (en) * 2008-06-08 2009-12-10 Te-Hao Chang Motion estimation method and related apparatus for efficiently selecting motion vector
JP4999788B2 (en) * 2008-06-26 2012-08-15 三菱電機株式会社 Moving target detection apparatus, computer program, and moving target detection method
JP5367098B2 (en) 2010-02-09 2013-12-11 日本電信電話株式会社 Motion vector predictive coding method, motion vector predictive decoding method, moving picture coding apparatus, moving picture decoding apparatus, and programs thereof
CN102884793B (en) * 2010-02-09 2016-03-23 日本电信电话株式会社 Motion vector prediction coding method, motion vector prediction coding/decoding method, moving picture encoder and moving picture decoder
CA2788946A1 (en) 2010-02-09 2011-08-18 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof
US9819358B2 (en) * 2010-02-19 2017-11-14 Skype Entropy encoding based on observed frequency
US9609342B2 (en) * 2010-02-19 2017-03-28 Skype Compression for frames of a video signal using selected candidate blocks
US8681873B2 (en) * 2010-02-19 2014-03-25 Skype Data compression for video
US9313526B2 (en) 2010-02-19 2016-04-12 Skype Data compression for video
US9078009B2 (en) * 2010-02-19 2015-07-07 Skype Data compression for video utilizing non-translational motion information
US8558903B2 (en) * 2010-03-25 2013-10-15 Apple Inc. Accelerometer / gyro-facilitated video stabilization
US8611415B1 (en) * 2010-11-15 2013-12-17 Google Inc. System and method for coding using improved motion estimation
GB201113527D0 (en) * 2011-08-04 2011-09-21 Imagination Tech Ltd External vectors in a motion estimation system
CN104301703A (en) * 2013-07-16 2015-01-21 联咏科技股份有限公司 Matching search method and matching search system
US9213901B2 (en) * 2013-09-04 2015-12-15 Xerox Corporation Robust and computationally efficient video-based object tracking in regularized motion environments
US10123036B2 (en) * 2014-06-27 2018-11-06 Microsoft Technology Licensing, Llc Motion vector selection for video encoding
US10554965B2 (en) 2014-08-18 2020-02-04 Google Llc Motion-compensated partitioning
US10462457B2 (en) 2016-01-29 2019-10-29 Google Llc Dynamic reference motion vector coding mode
US10397600B1 (en) 2016-01-29 2019-08-27 Google Llc Dynamic reference motion vector coding mode
US11126199B2 (en) * 2018-04-16 2021-09-21 Baidu Usa Llc Learning based speed planner for autonomous driving vehicles

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2642160B2 (en) * 1988-08-26 1997-08-20 富士通株式会社 Motion detection method of image processing device
JP3146232B2 (en) * 1991-09-20 2001-03-12 ヤマハ発動機株式会社 Pattern matching method
JPH07107484A (en) * 1993-10-01 1995-04-21 Mitsubishi Electric Corp Picture transmitter
JPH07288819A (en) * 1994-04-19 1995-10-31 Sony Corp Motion vector detector
KR100378636B1 (en) * 1994-09-02 2003-06-18 사르노프 코포레이션 Method and apparatus for global-to-local block motion estimation
JPH08140087A (en) * 1994-11-08 1996-05-31 Sony Corp Method and device for detecting movement and recorder with built-in camera
JP3089165B2 (en) * 1994-11-10 2000-09-18 株式会社グラフィックス・コミュニケーション・ラボラトリーズ Motion vector search device
JP3784086B2 (en) * 1994-11-25 2006-06-07 三菱電機株式会社 Video signal encoding / decoding device and encoding / decoding method
US5696836A (en) * 1995-03-17 1997-12-09 Lsi Logic Corporation Motion estimation processor architecture for full search block matching
JPH08275049A (en) * 1995-03-31 1996-10-18 Hitachi Ltd Image pickup device
JP2768646B2 (en) * 1995-04-05 1998-06-25 株式会社グラフィックス・コミュニケーション・ラボラトリーズ Motion vector search method and search device
FR2742248B1 (en) * 1995-12-06 1998-01-23 Thomson Multimedia Sa METHOD FOR PROCESSING DATA IN MATRIX NETWORKS IN A MOTION ESTIMATION SYSTEM
US5719642A (en) * 1996-05-07 1998-02-17 National Science Council Of R.O.C. Full-search block matching motion estimation processor
US5973742A (en) * 1996-05-24 1999-10-26 Lsi Logic Corporation System and method for performing motion estimation with reduced memory loading latency
US6016163A (en) * 1997-03-12 2000-01-18 Scientific-Atlanta, Inc. Methods and apparatus for comparing blocks of pixels

Also Published As

Publication number Publication date
JPH11219436A (en) 1999-08-10
US6370194B2 (en) 2002-04-09
US20010014124A1 (en) 2001-08-16

Similar Documents

Publication Publication Date Title
JP3540142B2 (en) Motion vector detection circuit and motion vector detection method
EP2555522A2 (en) External vectors in a motion estimation system
JP2010288110A (en) Image processing apparatus and method
KR20070069615A (en) Motion estimator and motion estimating method
WO2011067870A1 (en) Image processing device and image processing method
KR20030008150A (en) Recognizing film and video objects occurring in parallel in single television signal fields
JPH02138678A (en) Multiple forecast for estimating motion of dot in electronic image
US5754237A (en) Method for determining motion vectors using a hierarchical motion estimation
US20070280544A1 (en) Method of dividing a picture into parts
JPH09214899A (en) Image prediction processing method an its device
RU2012103557A (en) Prediction of the motion vector of the current image section indicating the reference zone, which overlaps several sections of the reference image, encoding and decoding using it
JP3230804B2 (en) Block matching method by moving the target window
WO2004064403A1 (en) Efficient predictive image parameter estimation
JP3299671B2 (en) Image motion detection device
US20030067986A1 (en) Circuit and method for full search block matching
JP4498296B2 (en) Object detection device
JP2004229150A (en) Motion vector searching method and device
US20040120402A1 (en) Motion estimation apparatus for image data compression
KR0147330B1 (en) Full search method
JP2810528B2 (en) Motion vector search circuit in motion compensated interframe predictive coding
Tao et al. Motion estimation based on an improved block matching technique
CN114979607B (en) Image processing method, image processor and electronic equipment
JPH02241187A (en) Predicting device and detecting device for motion vector of picture
CN106101722A (en) The quasi-all direction search method of layering improved based on YANG structure and system
JP2852870B2 (en) Motion vector detection method and apparatus in image coding

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040105

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: 20040316

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040324

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080402

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090402

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100402

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100402

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees