[go: up one dir, main page]

JP3601506B2 - Apparatus and method for detecting motion vector, and apparatus and method for correcting image vibration - Google Patents

Apparatus and method for detecting motion vector, and apparatus and method for correcting image vibration Download PDF

Info

Publication number
JP3601506B2
JP3601506B2 JP2001343752A JP2001343752A JP3601506B2 JP 3601506 B2 JP3601506 B2 JP 3601506B2 JP 2001343752 A JP2001343752 A JP 2001343752A JP 2001343752 A JP2001343752 A JP 2001343752A JP 3601506 B2 JP3601506 B2 JP 3601506B2
Authority
JP
Japan
Prior art keywords
motion vector
screen
vector
macro
macroblock
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 - Lifetime
Application number
JP2001343752A
Other languages
Japanese (ja)
Other versions
JP2002203247A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2001343752A priority Critical patent/JP3601506B2/en
Publication of JP2002203247A publication Critical patent/JP2002203247A/en
Application granted granted Critical
Publication of JP3601506B2 publication Critical patent/JP3601506B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Studio Devices (AREA)
  • Image Analysis (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、動きベクトル検出装置及び方法、並びに、画像の振動補正装置及び方法に関し、例えばハンディタイプのビデオカメラの撮像出力などのビデオデータに含まれる所謂手振れによる画像の移動量を検出して補正する画像の手振れ補正装置などに適用される。
【0002】
【従来の技術】
一般に、ハンディタイプのビデオカメラでは、撮影時の手振れすなわちカメラの振動が画像の振動となって現れる。そこで、このような手振れによる画像の振動を補正する画像の手振れ補正装置として、例えば特開昭63−166370号公報に開示されているように、画像の動きベクトルを検出し、この動きベクトルに基づいて、画像メモリに貯えられているビデオデータを補正するものが提案されている。
【0003】
画像の動きベクトルの検出には、例えばブロックマッチング法が採用される。このブロックマッチング法による画像の動きベクトルの検出では、画面を多数の領域(ブロックと称する)に分割し、各ブロックの中心に位置する前フィールドの代表点画素と現フィールドのブロック内の各画素の画像データとのフィールド差の絶対値を演算し、各ブロックのフィールド差分絶対値を対応する画素毎に積算して相関積分値を求めて、1ブロック分の画素配列に対応する座標を有する相関積算値表を形成する。そして、この相関積算値表における相関積分値の最小値の座標値を画像の動きベクトルの座標値として画面全体の動きベクトルを決定している。
【0004】
一般に、上述の如きブロックマッチング法では、カメラの手振れによる画像の動きベクトルと被写体の動きによる動きベクトルとが同時に発生するので、これらの判別が難しい。従来、手振れによる画像の動きベクトルの検出精度を高める手法として、1画面を複数の領域(マクロブロック)に分割し、上記マクロブロック毎の動きベクトル(マクロベクトル)を求め、それらから画面全体の動きベクトルを決定する手法が知られている。例えば図13に示すように、1画面の4×3の12マクロブロックに分割して求めたマクロベクトルについての多数決により(2,0)を画面全体の動きベクトルとすることにより、動き物体MVによる動きベクトルの影響を除去するようにしていた。
【0005】
【発明が解決しようとする課題】
ところで、マクロブロック単位の相関積算値表の最小値を求めることにより動きベクトルを検出し、上記マクロブロック毎の動きベクトルから画面全体の動きベクトルを検出する手法では、動き物体があると、手振れベクトルの情報を含む背景画像が上記動き物体によりマスクされてしまうので、画像中の動き物体の占める割合が大きい程、手振れベクトルが上記マクロブロック単位の動きベクトルとして検出される割合が低下し、正しい手振れベクトルの検出が困難になるという問題点がある。
【0006】
そこで、本件出願人は、互いに隣接しないマクロブロックが生じるような形態で1画面を複数のマクロブロックに分割して、マクロブロック単位の相関積算値表の最小値を求めることにより動きベクトルを検出し、図14に示すように、空間的に分離された位置にある少なくとも二つのマクロブロックにおいて検出される同一の動きベクトル(独立同一ベクトル)を手振れベクトルとする手法を例えば特願平3−100384号などにおいて先に提案している。上記図14には、各マクロブロックの動きベクトルと(マクロベクトル)その発生パターンの1例を示してある。
【0007】
しかし、例えば図15にマクロベクトルを示すように、大きな動き物体画面に進入してきたような場合などでは、上述の多数決や独立同一ベクトルによる手法によっても、動き物体による動きベクトル(−3,0)と手振れベクトル(1,−2)との判定ができなくなる場合がある。
【0008】
そこで、本発明は、このような実情に鑑みてなされたものであり、ハンディタイプのビデオカメラなどにおける高性能の手振れ補正を可能にすることを目的とし、画像中に動き物体がある場合にも動きベクトルを高精度に検出することのできる動きベクトル検出装置及び方法、画像の振動補正装置及び方法を提供するものである。
【0009】
【課題を解決するための手段】
本発明に係る動きベクトル検出装置は、互いに隣接しないマクロブロックが生じるような形態で、1画面を複数のマクロブロックに分割し、上記マクロブロック毎に動きベクトルを検出するマクロベクトル検出手段と、互いに隣接しない少なくとも2つの上記マクロブロックにおいて上記マクロベクトル検出手段により略同一の動きベクトルが検出されるとき、当該マクロブロックを有効マクロブロックとして、当該有効マクロブロックに基づいて画面全体の動きベクトルを検出する動きベクトル検出手段と、上記有効マクロブロックの位置情報を記憶する記憶手段と、上記動きベクトル検出手段により上記画面全体の動きベクトルが検出されないとき、現画面の同一の動きベクトルを有するマクロブロックの位置情報と、上記記憶手段に記憶される前画面の有効マクロブロックの位置情報との時間相関に基づいて、現画面の画面全体の動きベクトルを出力する判定手段とを備えることを特徴とする。
【0010】
また、本発明に係る動きベクトル検出方法は、互いに隣接しないマクロブロックが生じるような形態で、1画面を複数のマクロブロックに分割し、上記マクロブロック毎に動きベクトルを検出するステップと、互いに隣接しない少なくとも2つの上記マクロブロックにおいて略同一の動きベクトルが検出されるとき、当該マクロブロックを有効マクロブロックとして、当該有効マクロブロックに基づいて画面全体の動きベクトルを検出するステップと、上記有効マクロブロックの位置情報を記憶するステップと、上記画面全体の動きベクトルが検出されないとき、現画面の同一の動きベクトルを有するマクロブロックの位置情報と、上記記憶される前画面の有効マクロブロックの位置情報との時間相関に基づいて、現画面の画面全体の動きベクトルを出力するステップとを備えることを特徴とする。
【0011】
また、本発明に係る画像の振動補正装置は、互いに隣接しないマクロブロックが生じるような形態で、1画面を複数のマクロブロックに分割し、上記マクロブロック毎に動きベクトルを検出するマクロベクトル検出手段と、互いに隣接しない少なくとも2つの上記マクロブロックにおいて上記マクロベクトル検出手段により略同一の動きベクトルが検出されるとき、当該マクロブロックを有効マクロブロックとして、当該有効マクロブロックに基づいて画面全体の動きベクトルを検出する動きベクトル検出手段と、上記有効マクロブロックの位置情報を記憶する記憶手段と、上記動きベクトル検出手段により上記画面全体の動きベクトルが検出されないとき、現画面の同一の動きベクトルを有するマクロブロックの位置情報と、上記記憶手段に記憶される前画面の有効マクロブロックの位置情報との時間相関に基づいて、現画面の画面全体の動きベクトルを出力する判定手段と、上記判定手段より出力される画面全体の動きベクトルに基づいて、上記画面を構成する画像の振動を補正する補正手段とを備えることを特徴とする。
【0012】
さらに、本発明に係る画像の振動補正方法は、互いに隣接しないマクロブロックが生じるような形態で、1画面を複数のマクロブロックに分割し、上記マクロブロック毎に動きベクトルを検出するステップと、互いに隣接しない少なくとも2つの上記マクロブロックにおいて略同一の動きベクトルが検出されるとき、当該マクロブロックを有効マクロブロックとして、当該有効マクロブロックに基づいて画面全体の動きベクトルを検出するステップと、上記有効マクロブロックの位置情報を記憶するステップと、上記画面全体の動きベクトルが検出されないとき、現画面の同一の動きベクトルを有するマクロブロックの位置情報と、上記記憶される前画面の有効マクロブロックの位置情報との時間相関に基づいて、現画面の画面全体の動きベクトルを出力するステップと、上記出力される画面全体の動きベクトルに基づいて、上記画面を構成する画像の振動を補正するステップとを備えることを特徴とする。
【0013】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【0014】
本発明に係る画像の動きベクトル検出装置は、例えば図1のように構成される。
【0015】
この図1に示した動きベクトル検出装置10は、ハンディタイプのビデオカメラにおける手振れ等による画像の振動を補正する振動補正装置に本発明を適用したもので、補正信号発生部20及び補正部30とともに振動補正装置を構成している。この図1において、信号入力端子1には、上記ビデオカメラの図示しない撮像部による撮像出力として得られるビデオ信号をディジタル化した入力ビデオデータが供給される。
【0016】
この動きベクトル検出装置10は、入力ビデオデータが上記信号入力端子1を介して供給されるフィールド差分検出部11と、このフィールド差分検出部11の出力が供給されるマクロベクトル検出部12と、このマクロベクトル検出部12の出力が供給される独立・準独立同一ベクトル判定部15と、上記マクロベクトル検出部12及び独立・準独立同一ベクトル判定部15の出力が供給される手振れベクトル判定部16とを備えてなる。
【0017】
上記フィールド差分検出部11は、上記入力ビデオデータが上記信号入力端子1を介して供給される代表点メモリ11Aと減算回路11Bからなる。
【0018】
上記代表点メモリ11Aは、入力ビデオデータで構成される1フィールドの画像を複数に分割した各ブロック毎の代表点画素の画像データIk (0,0)を記憶する。具体的には、例えば図2に示すように、1フィールドの画面をm画素×nラインのブロックに分割し、図3に示すように各ブロックの中心の画素S(0,0)を代表点とし、各代表点画素の画像データIk (0,0)を上記代表点メモリ11Aに1フィールド期間記憶する。なお、上記代表点は、画面上で均一にばらまかれている。そして、この代表点メモリ11Aから読み出される1フィールド前の各代表点画素の画像データIk−1 (0,0)が上記減算回路11Bに供給される。
【0019】
また、上記減算回路11Bは、上記信号入力端子1を介して供給される入力ビデオデータすなわち現フィールドの画像データについて、ブロック毎のm×n個の各画素の画像データIk (x,y)と上記代表点メモリ11Aから読み出される前フィールドの対応するブロックの代表点画素の画像データIk−1 (0,0)との差分すなわちフィールド間差の絶対値|Ik−1 (0,0)−Ik (x,y)|を検出する。
【0020】
そして、上記フィールド差分検出部11は、上記減算回路11Bにより得られるフィールド差分絶対値|Ik−1 (0,0)−Ik (x,y)|を上記マクロベクトル検出部12に供給する。
【0021】
上記マクロベクトル検出部12は、上記フィールド差分検出部11により得られたフィールド差分絶対値|Ik−1 (0,0)−Ik (x,y)|が供給されるマクロブロック化回路13と、このマクロブロック化回路13によりマクロブロック化されたフィールド差分絶対値|Ik−1 (0,0)−Ik (x,y)|が供給される第1乃至第12のマクロベクトル検出回路14A〜14L及びベクトル検出回路14Mからなる。
【0022】
上記マクロブロック化回路13は、上記フィールド差分検出部11により得られたフィールド差分絶対値|Ik−1 (0,0)−Ik (x,y)|について、互いに隣接しないマクロブロックが生じる形態で、1画面を複数のマクロブロックに分割するもので、例えば図4に示すように、1画面を4×3の12個のマクロブロックB1〜B12に分割する。
【0023】
そして、このマクロブロック化回路13によりマクロブロック化されたフィールド差分絶対値|Ik−1 (0,0)−Ik (x,y)|は、各マクロブロックB1〜B12に対応するマクロベクトル検出回路14A〜14Lにマクロブロック毎に供給されるとともに、上記ベクトル検出回路14Mに全マクロブロックが供給される。
【0024】
上記第1のマクロベクトル検出回路14Aは、第1のマクロブロックB1のフィールド差分絶対値|Ik−1 (0,0)−Ik (x,y)|について、上記m×n個の画素で構成されるブロックの各フィールド差分絶対値を対応する画素毎に積算して、上記第1のマクロブロックB1の相関積算値表を形成し、その極小値座標を動きベクトル候補として検出する。以下同様に、上記第2乃至第12の絶対値積分回路14B〜14Lは、それぞれ対応する第2乃至第12のマクロブロックB2〜B12の相関積算値表を形成し、各極小値座標を動きベクトル候補として検出する。また、上記第13の絶対値積分回路14Mは、上記第1乃至第12のマクロブロックB1〜B12からなる1画面全体の相関積算値表を形成し、その極小値座標を動きベクトル候補として検出する。
【0025】
ここで、上記マクロベクトル検出部12により形成された各相関積算値表の相関積算値は、各ブロックの代表点画素の画像データIk−1 (0,0)と他の画素の画像データIk (x,y)とのフィールド間相関を示すもので、相関の強い画素に対応する座標ほど小さな値となり、動きベクトルに対応する座標の相関積算値が最小値となるので、相関積算値表の最小値の座標を検出することにより動きベクトルを検出することができる。なお、上記相関積算値表の最小値は極小値の1つであって、画像中の動き物体の占める割合が大きいときには、例えば図5に示すように、マクロブロックB1において、上記動き物体による動きベクトルが上記相関積算値表の最小値座標(3,1)として検出され、背景ベクトルすなわち手振れベクトルが上記マクロブロック単位の動きベクトルを示す座標として検出される割合が低下するが、上記手振れベクトルは上記相関積算値表の極小値の座標(−1,0)として検出されることになる。
【0026】
すなわち、この実施の形態において、上記フィールド差分検出部11及びマクロベクトル検出部12は、互いに隣接しないマクロブロックが生じるような形態で、1画面を複数のマクロブロックに分割し、上記マクロブロック毎に動きベクトルを検出するもので、本発明に係る画像の動きベクトル検出装置におけるマクロベクトル検出手段として機能している。
【0027】
そして、上記マクロベクトル検出部12は、上記第1乃至第12のマクロベクトル検出回路14A〜14Lにより検出した各マクロブロックB1〜B12の動きベクトルすなわち各マクロベクトルと上記ベクトル検出回路14Mにより検出した1画面全体の動きベクトルを上記独立・準独立同一ベクトル判定部15及び上記手振れベクトル判定部16に供給する。
【0028】
上記独立・準独立同一ベクトル判定部15は、上記マクロベクトル検出部12から供給される各マクロベクトル及び画面全体の動きベクトルについて、同一の動きベクトルの発生パターンを判定し、空間的に分離された位置にある少なくとも二つのマクロブロックにおいて同一の動きベクトル(独立同一ベクトル)が検出された場合に、その動きベクトルを画面全体の動きベクトル候補として出力する。例えば上記図5に示した状態では、空間的に分離された位置にある2つマクロブロックB1,4に同一の動きベクトル(−1,0)があるので、この動きベクトル(−1,0)を手振れベクトルとする。このように、上記独立・準独立同一ベクトル判定部15は、各マクロブロックの積算値の最小値ベクトルだけでなく、極小値ベクトルも動きベクトルの候補とすることにより、動き物体が画面中に占める割合が非常に大きいときでも、正しい動きベクトルを検出できる確率が高まり、動き物体の影響を軽減して、誤差の少ない動きベクトルを得ることができる。
【0029】
また、上記独立・準独立同一ベクトル判定部15は、上記マクロベクトル検出部12から供給される各マクロベクトル及び画面全体の動きベクトルについて、同一の動きベクトルの発生パターンを判定し、図6に同一マクロベクトルの発生パターンの一例を示すように、凹状に配置された各マクロブロックにおいて略同一の動きベクトル(準独立同一ベクトル)が検出された場合に、当該動きベクトルを画面全体の動きベクトル候補として出力する。
【0030】
ここで、画面中の存在する自動車や人物などの動き物体は、凸状に現れる場合が多いので、このように凹状に配置された各マクロブロックにおいて略同一の動きベクトルが検出された場合に、当該動きベクトルを画面全体の動きベクトル候補とすることによって、上記独立・準独立同一ベクトル判定部15において動きベクトルを確実に検出することができる。
【0031】
また、上記手振れベクトル判定部16は、本発明に係る画像の動きベクトル検出装置における手振れベクトル判定手段として機能するもので、重なり度算出回路16Aとマクロブロック有効判定メモリ16Bとを備えてなる。
【0032】
この手振れベクトル判定部16において、上記重なり度算出回路16Aは、上記独立・準独立同一ベクトル判定部15により動きベクトルが検出された場合には、その動きベクトルをそのまま出力する。また、上記重なり度算出回路16Aは、1フィールド毎に出力する動きベクトルと同じマクロベクトルが得られた各マクロブロックを示す情報を有効マクロブロック情報として上記マクロブロック有効判定メモリ16Bに記憶させる。
【0033】
例えば、前のフィールドにおいて図7に示すようなマクロベクトルが得られて動きベクトル(−1,2)が検出されたとすると、上記マクロブロック有効判定メモリ16Bには、上記動きベクトル(−1,2)と同じマクロベクトルが得られた図8に斜線を施して示す各マクロブロックB1,B4,B5,B9を示す情報が有効マクロブロック情報として上記マクロブロック有効判定メモリ16Bに記憶される。
【0034】
さらに、上記重なり度算出回路16Aは、上記独立・準独立同一ベクトル判定部15において動きベクトルを検出できない場合に、上記マクロブロック有効判定メモリ16Bから1フィールド前の有効マクロブロック情報を読み出して、上記マクロベクトル検出部12から供給される現フィールドの各マクロベクトルの時間相関を判定し、上記時間相関が有為と判定されたマクロブロックの動きベクトルを画面全体の動きベクトルとして出力する。
【0035】
例えば、現フィールドにおいて図9に示すようなマクロベクトルが得られたとすると、独立同一ベクトルも準備独立同一ベクトルも存在しないので、上記独立・準独立同一ベクトル判定部15では、動きベクトルを検出できない。ここで、動き物体による動きベクトルを示す(7,0)のマクロベクトルが検出された数は9個であり、背景ベクトル(手振れベクトル)を示す(−4,1)のマクロベクトルが検出された数は3個であるから、単純に多数決では動きベクトルが(7,0)に決定してしまうことになる。
【0036】
そこで、上記重なり度算出回路16Aは、現フィールドにおいて(7,0)が動きベクトルであるとすると、上記マクロブロック有効判定メモリ16Bから読み出される前フィールドの有効マクロブロック情報により示される前フィールドで有効であった4個のマクロブロックB1,B4,B5,B9のうち、マクロブロックB4の1個だけが(7,0)であるから、−3+1=−2点とカウントする。また、現フィールドにおいて上記(7,0)のマクロベクトルが得られた図10に斜線を施して示す9個のB2〜B4,B6〜B8,B10〜B12のうち、前フィールドではマクロブロックB4の1個だけが有効マクロブロックであるから、−8+1=−7点とカウントする。そして、現フィールドにおいて(7,0)が動きベクトルであるとする場合の評価点を−2−7=−9点とカウントする。
【0037】
また、上記重なり度算出回路16Aは、現フィールドにおいて(−4,−1)が動きベクトルであるとすると、上記マクロブロック有効判定メモリ16Bから読み出される前フィールドの有効マクロブロック情報により示される前フィールドで有効であった4個のマクロブロックB1,B4,B5,B9のうち、マクロブロックB1,B5,B9の3個が(−4,−1)であるから、3−1=2点とカウントする。また、現フィールドにおいて上記(−4,−1)のマクロベクトルが得られた図11に斜線を施して示す3個のマクロブロックB1,B5,B9が全て前フィールドでは有効マクロブロックであるから、3−0=3点とカウントする。そして、現フィールドにおいて(−4,−1)が動きベクトルであるとする場合の評価点を2+3=5点とカウントする。
【0038】
上記重なり度算出回路16Aは、現フィールドにおいて(7,0)が動きベクトルであるとする場合の評価点は−9点であるのに対し、現フィールドにおいて(−4,−1)が動きベクトルであるとする場合の評価点は5点であるから、上記(−4,−1)が動きベクトルであると判定することができる。
【0039】
このようにこの実施の形態の動きベクトル検出装置では、上記フィールド差分検出部11及びマクロベクトル検出部12により、互いに隣接しないマクロブロックが生じるような形態で、1画面を複数のマクロブロックに分割し、上記マクロブロック毎に動きベクトルを検出する。そして、手振れベクトル判定部16は、上記マクロベクトル検出部12により得られた各マクロブロック毎の動きベクトルの時間相関を判定し、時間相関のある時間相関が有為と判定されたマクロブロックの動きベクトルを画面全体の動きベクトルすなわち手振れベクトルとして出力するので、独立同一ベクトルや準備独立同一ベクトルによる手法や単純な多数決では決定することができない大きな動き物体画面に進入してきたような場合などにおける手振れベクトルを確実に検出して出力することができる。
【0040】
なお、上記重なり度算出回路16Aにおいて、現フィールドの各マクロベクトルの時間相関を判定する手法は、上記手法に限定されるものでない。
【0041】
そして、この動きベクトル検出装置10は、上記独立・準独立同一ベクトル判定部15により検出した動きベクトルを上記補正信号発生部20に供給する。
【0042】
また、上記補正信号発生部20は、上記動きベクトル検出装置10により検出された動きベクトルV’を入力として、X=Xt−1−V’なる補正量Xの画面の振動補正信号を形成し、この画面の振動補正信号を上記補正部30に供給する。
【0043】
そして、上記補正部30は、例えば図12に示すように、上記補正信号発生部20から画面の振動補正信号が供給されるアドレス制御回路31及びセレクト信号発生回路32と、上記アドレス制御回路31から供給されるアドレス信号に従ってビデオデータの書き込み/読み出しが行われるフィールドメモリ33及び周辺メモリ34と、上記フィールドメモリ33及び周辺メモリ34から読み出されるビデオデータを上記セレクト信号発生回路32から供給されるセレクト信号に応じて選択的に出力するセレクタ35とを備えてなる。
【0044】
上記フィールドメモリ33には、上記信号入力端子1を介して供給される入力ビデオデータが順次書き込まれる。そして、このフィールドメモリ33の読み出しアドレスが上記画面の振動補正信号により上記動きベクトルに応じて制御される。これにより、上記フィールドメモリ33からは、1フィールドの入力ビデオデータが上記動きベクトルに応じて移動されたビデオデータが得られる。そして、このフィールドメモリ33から読み出されるビデオデータと上記周辺メモリ34から読み出される周辺ビデオデータとが上記セレクタ35による選択によって合成され、画面の振動補正処理済みのビデオデータとして信号出力端子2から出力される。
【0045】
なお、上記周辺メモリ34には、上記セレクタ35を介して出力される画面の振動補正処理済みのビデオデータによる画像の補正範囲に相当する周辺部分のビデオデータが周辺ビデオデータとして逐次書き込まれる。
【0046】
【発明の効果】
以上の説明からも明らかなように、本発明によれば、互いに隣接しないマクロブロックが生じるような形態で、1画面を複数のマクロブロックに分割し、上記マクロブロック毎に動きベクトルを検出し、検出された各動きベクトルに基づいて画面全体の動きベクトルを検出するための有効マクロブロックを特定し、当該有効マクロブロックの動きベクトルに基づいて動きベクトルを検出し、上記動きベクトルを検出した現画面の上記有効マクロブロックと、前画面の画面全体の動きベクトルを検出するときに用いた有効マクロブロックとの位置情報の相関に基づいて、上記動きベクトルを画面全体の動きベクトルとして出力するので、独立同一ベクトルや準備独立同一ベクトルによる手法や単純な多数決では決定することができない大きな動き物体画面に進入してきたような場合などにおける動きベクトルを確実に検出して出力することができ、正しい動きベクトルを検出できる確率が高まり、動き物体の影響を軽減して、誤差の少ない動きベクトルを得ることができる。
【図面の簡単な説明】
【図1】本発明に係る画像の動きベクトル検出装置を設けた画像の振動補正装置の構成を示すブロック図である。
【図2】上記動きベクトル検出装置における画面のブロック分割の状態を示す図である。
【図3】ブロック分割された画面の1ブロックの構造を示す図である。
【図4】1画面を12分割したマクロブロックの状態を示す図である。
【図5】独立・準独立同一ベクトル判定部により動きベクトルとして検出する独立同一ベクトルの発生パターンの一例を示す図である。
【図6】上記独立・準独立同一ベクトル判定部により動きベクトルとして検出する準独立同一ベクトルの発生パターンの一例を示す図である。
【図7】上記独立・準独立同一ベクトル判定部により動きベクトルが検出された前フィールドのマクロベクトルの発生状態を示す図である。
【図8】上記独立・準独立同一ベクトル判定部により動きベクトルが検出された前フィールドのマクロベクトルの発生パターンを示す図である。
【図9】上記独立・準独立同一ベクトル判定部により動きベクトルが検出できない現フィールドのマクロベクトルの発生状態を示す図である。
【図10】現フィールドにおける物体による動きベクトルの発生パターンを示す図である。
【図11】現フィールドにおけるき動きベクトルの発生パターンを示す図である。
【図12】上記画面の振動補正装置の補正部の構成を示すブロック図である。
【図13】マクロベクトルの多数決により動きベクトルを決定する手法の説明に供する図である。
【図14】空間的に分離された位置のマクロベクトルにより動きベクトルを決定する手法の説明に供する図である。
【図15】空間的に分離された位置のマクロベクトルにより動きベクトルを決定する手法の破綻例の説明に供する図である。
【符号の説明】
10 動きベクトル検出装置、11 フィールド差分検出部、12 マクロベクトル検出部、15 独立・準独立ベクトル判定部、16 手振れベクトル判定部、20 補正信号発生部、30 補正部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a motion vector detecting device and method, and an image vibration correcting device and method, and detects and corrects a moving amount of an image due to a so-called camera shake included in video data such as an imaging output of a handy type video camera. The present invention is applied to an image stabilization device for a moving image.
[0002]
[Prior art]
In general, in a handy type video camera, camera shake during shooting, that is, camera vibration appears as image vibration. Therefore, as an image stabilization device for correcting image vibration caused by such a camera shake, for example, as disclosed in Japanese Patent Application Laid-Open No. 63-166370, a motion vector of an image is detected and based on this motion vector. A technique for correcting video data stored in an image memory has been proposed.
[0003]
For example, a block matching method is employed for detecting a motion vector of an image. In the detection of a motion vector of an image by the block matching method, a screen is divided into a number of regions (referred to as blocks), and a representative point pixel of a previous field located at the center of each block and a pixel of each pixel in a block of the current field are determined. The absolute value of the field difference from the image data is calculated, the absolute value of the field difference of each block is integrated for each corresponding pixel to obtain a correlation integral value, and the correlation integration having coordinates corresponding to the pixel array of one block Form a value table. Then, the motion vector of the entire screen is determined using the coordinate value of the minimum value of the correlation integral value in the correlation integrated value table as the coordinate value of the motion vector of the image.
[0004]
In general, in the above-described block matching method, a motion vector of an image due to camera shake and a motion vector due to a motion of a subject are simultaneously generated, so that it is difficult to determine these. 2. Description of the Related Art Conventionally, as a method for improving the accuracy of detecting a motion vector of an image due to camera shake, one screen is divided into a plurality of regions (macroblocks), and motion vectors (macrovectors) for each macroblock are obtained. Techniques for determining vectors are known. For example, as shown in FIG. 13, (2, 0) is determined as a motion vector of the entire screen by a majority decision on macro vectors obtained by dividing one screen into 4 × 3 macroblocks. The effect of the motion vector was removed.
[0005]
[Problems to be solved by the invention]
By the way, in the method of detecting a motion vector by obtaining a minimum value of a correlation integrated value table in a macroblock unit and detecting a motion vector of the entire screen from the motion vector of each macroblock, if there is a moving object, a camera shake vector Since the background image including the information of the moving object is masked by the moving object, the larger the proportion of the moving object in the image is, the lower the rate at which the camera shake vector is detected as the motion vector in the macroblock unit is, and the correct camera shake is. There is a problem that it is difficult to detect the vector.
[0006]
Accordingly, the present applicant divides one screen into a plurality of macroblocks in such a manner that macroblocks that are not adjacent to each other are generated, and detects a motion vector by obtaining a minimum value of a correlation integrated value table for each macroblock. As shown in FIG. 14, a method of using the same motion vector (independent same vector) detected in at least two macroblocks located at spatially separated positions as a camera shake vector is disclosed in, for example, Japanese Patent Application No. 3-100384. And so on. FIG. 14 shows an example of a motion vector of each macroblock and a (macrovector) generation pattern thereof.
[0007]
However, for example, as shown in a macro vector in FIG. 15, when a large moving object screen is entered, the motion vector (−3, 0) based on the moving object can be obtained by the above-described majority decision or the independent identical vector method. And the camera shake vector (1, -2) may not be able to be determined.
[0008]
Accordingly, the present invention has been made in view of such circumstances, and aims to enable high-performance camera shake correction in a handy-type video camera or the like, and even when a moving object is present in an image. An object of the present invention is to provide a motion vector detecting device and method capable of detecting a motion vector with high accuracy, and an image vibration correcting device and method.
[0009]
[Means for Solving the Problems]
A motion vector detecting apparatus according to the present invention divides one screen into a plurality of macro blocks in such a manner that macro blocks that are not adjacent to each other are generated, and macro vector detecting means for detecting a motion vector for each macro block. When substantially the same motion vector is detected by the macro vector detection means in at least two non-adjacent macro blocks, the macro block is set as an effective macro block, and a motion vector of the entire screen is detected based on the effective macro block. Motion vector detection means, storage means for storing position information of the effective macroblock, and position of a macroblock having the same motion vector on the current screen when the motion vector of the entire screen is not detected by the motion vector detection means. Information and Is based on the time correlation between the position information of the effective macro block of the previous screen is characterized by comprising a determination means for outputting the entire screen of the motion vector of the current screen.
[0010]
In addition, the motion vector detecting method according to the present invention includes a step of dividing one screen into a plurality of macroblocks and detecting a motion vector for each macroblock in such a manner that macroblocks not adjacent to each other occur. Detecting substantially the same motion vector in at least two of the macroblocks, determining the macroblock as an effective macroblock, and detecting a motion vector of the entire screen based on the effective macroblock; Storing the position information of the macro block having the same motion vector of the current screen when the motion vector of the entire screen is not detected, and the position information of the effective macro block of the previous screen to be stored. Of the current screen based on the time correlation of Characterized in that it comprises a step of outputting the torque.
[0011]
In addition, the image vibration correction apparatus according to the present invention divides one screen into a plurality of macroblocks in such a manner that macroblocks that are not adjacent to each other occur, and detects a motion vector for each macroblock. And when substantially the same motion vector is detected by the macro vector detecting means in at least two macro blocks that are not adjacent to each other, the macro block is regarded as an effective macro block, and the motion vector of the entire screen is determined based on the effective macro block. , A storage unit for storing the position information of the effective macroblock, and a macro having the same motion vector of the current screen when the motion vector of the entire screen is not detected by the motion vector detection means. Block position information and the storage means A determination unit that outputs a motion vector of the entire screen of the current screen based on the time correlation with the position information of the effective macroblock of the previous screen to be stored, and a motion vector of the entire screen output from the determination unit based on the motion vector. And a correcting means for correcting the vibration of the image forming the screen.
[0012]
Further, in the image vibration correction method according to the present invention, a screen is divided into a plurality of macroblocks in such a manner that macroblocks not adjacent to each other are generated, and a motion vector is detected for each macroblock. Detecting substantially the same motion vector in at least two non-adjacent macroblocks as a valid macroblock and detecting a motion vector of the entire screen based on the valid macroblock; Storing the position information of the block, and when the motion vector of the entire screen is not detected, the position information of the macro block having the same motion vector of the current screen and the position information of the effective macro block of the previous screen to be stored. Based on the time correlation with the And outputting the torque, based on the motion vector of the entire screen to be the output, characterized in that it comprises a step of correcting the vibration of the image constituting the screen.
[0013]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0014]
An apparatus for detecting a motion vector of an image according to the present invention is configured, for example, as shown in FIG.
[0015]
The motion vector detecting device 10 shown in FIG. 1 is a device in which the present invention is applied to a vibration correcting device that corrects image vibration due to camera shake in a handy type video camera, and includes a correction signal generating unit 20 and a correcting unit 30. It constitutes a vibration correction device. In FIG. 1, a signal input terminal 1 is supplied with input video data obtained by digitizing a video signal obtained as an imaging output by an imaging unit (not shown) of the video camera.
[0016]
The motion vector detection device 10 includes a field difference detection unit 11 to which input video data is supplied through the signal input terminal 1, a macro vector detection unit 12 to which an output of the field difference detection unit 11 is supplied, An independent / quasi-independent identical vector determining unit 15 to which the output of the macro vector detecting unit 12 is supplied; and a camera shake vector determining unit 16 to which the outputs of the macro vector detecting unit 12 and the independent / quasi-independent identical vector determining unit 15 are supplied. Is provided.
[0017]
The field difference detection unit 11 includes a representative point memory 11A to which the input video data is supplied via the signal input terminal 1, and a subtraction circuit 11B.
[0018]
The representative point memory 11A stores image data Ik (0,0) of representative point pixels for each block obtained by dividing an image of one field composed of input video data into a plurality of blocks. Specifically, for example, as shown in FIG. 2, a screen of one field is divided into blocks of m pixels × n lines, and as shown in FIG. 3, a pixel S (0,0) at the center of each block is set as a representative point. The image data Ik (0,0) of each representative point pixel is stored in the representative point memory 11A for one field period. Note that the representative points are uniformly distributed on the screen. Then, the image data Ik-1 (0,0) of each representative point pixel one field before, which is read from the representative point memory 11A, is supplied to the subtraction circuit 11B.
[0019]
Further, the subtraction circuit 11B converts the image data Ik (x, y) of m × n pixels in each block into the input video data supplied through the signal input terminal 1, that is, the image data of the current field. Absolute value | Ik-1 (0,0) -Ik of the difference between the image data Ik-1 (0,0) of the representative point pixel of the block corresponding to the previous field read from the representative point memory 11A, that is, the difference between the fields. (X, y) |.
[0020]
Then, the field difference detection unit 11 supplies the macro vector detection unit 12 with the field difference absolute value | Ik-1 (0,0) -Ik (x, y) | obtained by the subtraction circuit 11B.
[0021]
The macro vector detection unit 12 includes a macro block generation circuit 13 to which the field difference absolute value | Ik-1 (0,0) -Ik (x, y) | obtained by the field difference detection unit 11 is supplied. First to twelfth macro vector detection circuits 14A to 14L to which the field difference absolute value | Ik-1 (0,0) -Ik (x, y) | And a vector detection circuit 14M.
[0022]
The macroblocking circuit 13 generates macroblocks that are not adjacent to each other with respect to the field difference absolute value | Ik-1 (0,0) -Ik (x, y) | obtained by the field difference detection unit 11. One screen is divided into a plurality of macro blocks. For example, as shown in FIG. 4, one screen is divided into 4 × 3 12 macro blocks B1 to B12.
[0023]
The field difference absolute value | Ik-1 (0,0) -Ik (x, y) | which has been macroblocked by the macroblocking circuit 13 is a macro vector detection circuit corresponding to each of the macroblocks B1 to B12. 14A to 14L are supplied for each macroblock, and all the macroblocks are supplied to the vector detection circuit 14M.
[0024]
The first macro vector detection circuit 14A is configured by the m × n pixels for the field difference absolute value | Ik−1 (0,0) −Ik (x, y) | of the first macro block B1. The absolute value of each field difference of the block to be processed is integrated for each corresponding pixel to form a correlation integrated value table of the first macroblock B1, and the minimum value coordinates are detected as motion vector candidates. Similarly, the second to twelfth absolute value integrators 14B to 14L form a correlation integrated value table of the corresponding second to twelfth macroblocks B2 to B12, and convert each minimum value coordinate to a motion vector. Detect as a candidate. Further, the thirteenth absolute value integration circuit 14M forms a correlation integrated value table of the entire one screen including the first to twelfth macroblocks B1 to B12, and detects the minimum value coordinates as motion vector candidates. .
[0025]
Here, the correlation integrated value of each correlation integrated value table formed by the macro vector detection unit 12 is represented by image data Ik-1 (0, 0) of a representative point pixel of each block and image data Ik (Ik) of another pixel. x, y), and indicates a smaller value for a coordinate corresponding to a pixel having a strong correlation, and a minimum value of a correlation integrated value of a coordinate corresponding to a motion vector. The motion vector can be detected by detecting the coordinates of the value. Note that the minimum value of the correlation integrated value table is one of the minimum values, and when the proportion of the moving object in the image is large, for example, as shown in FIG. The vector is detected as the minimum value coordinate (3, 1) in the correlation integrated value table, and the ratio of the background vector, that is, the camera shake vector, detected as the coordinate indicating the motion vector in the macroblock unit decreases. This is detected as the coordinates (-1, 0) of the minimum value in the correlation integrated value table.
[0026]
That is, in this embodiment, the field difference detection unit 11 and the macro vector detection unit 12 divide one screen into a plurality of macroblocks in such a manner that macroblocks that are not adjacent to each other are generated. It detects a motion vector and functions as a macro vector detecting means in the image motion vector detecting device according to the present invention.
[0027]
Then, the macro vector detection unit 12 detects the motion vectors of the macro blocks B1 to B12 detected by the first to twelfth macro vector detection circuits 14A to 14L, that is, the macro vectors and the ones detected by the vector detection circuit 14M. The motion vector of the entire screen is supplied to the independent / quasi-independent identical vector determination unit 15 and the camera shake vector determination unit 16.
[0028]
The independent / quasi-independent identical vector determination unit 15 determines the occurrence pattern of the same motion vector for each macro vector supplied from the macro vector detection unit 12 and the motion vector of the entire screen, and is spatially separated. When the same motion vector (independent same vector) is detected in at least two macroblocks at the position, the motion vector is output as a motion vector candidate for the entire screen. For example, in the state shown in FIG. 5, the same motion vector (-1, 0) is present in the two macroblocks B1, 4 at spatially separated positions. Is the camera shake vector. As described above, the independent / quasi-independent identical vector determination unit 15 sets not only the minimum value vector of the integrated value of each macroblock but also the minimum value vector as a motion vector candidate, so that the moving object occupies the screen. Even when the ratio is very large, the probability that a correct motion vector can be detected increases, and the influence of a moving object can be reduced, and a motion vector with a small error can be obtained.
[0029]
The independent / quasi-independent identical vector determination unit 15 determines the same motion vector generation pattern for each macro vector supplied from the macro vector detection unit 12 and the motion vector of the entire screen, and the same as in FIG. As shown in an example of a macro vector generation pattern, when substantially the same motion vector (quasi-independent same vector) is detected in each macro block arranged in a concave shape, the motion vector is used as a motion vector candidate for the entire screen. Output.
[0030]
Here, a moving object such as a car or a person present on the screen often appears in a convex shape, so that when substantially the same motion vector is detected in each of the macroblocks arranged in a concave shape as described above, By using the motion vector as a motion vector candidate for the entire screen, the independent / quasi-independent identical vector determination unit 15 can reliably detect the motion vector.
[0031]
The camera shake vector determination unit 16 functions as a camera shake vector determination unit in the image motion vector detection device according to the present invention, and includes an overlap degree calculation circuit 16A and a macroblock validity determination memory 16B.
[0032]
When the motion vector is detected by the independent / quasi-independent identical vector determination unit 15 in the camera shake vector determination unit 16, the overlap degree calculation circuit 16 </ b> A outputs the motion vector as it is. In addition, the overlapping degree calculation circuit 16A stores information indicating each macro block in which the same macro vector as the motion vector output for each field is obtained in the macro block validity determination memory 16B as valid macro block information.
[0033]
For example, assuming that a macro vector as shown in FIG. 7 is obtained in the previous field and a motion vector (-1, 2) is detected, the motion vector (-1, 2, 3) is stored in the macro block validity determination memory 16B. 8) obtained by obtaining the same macro vector as that shown in FIG. 8 are stored in the macroblock validity determination memory 16B as valid macroblock information, indicating macroblocks B1, B4, B5, and B9.
[0034]
Further, when the independent / quasi-independent identical vector determination unit 15 cannot detect a motion vector, the overlap degree calculation circuit 16A reads out valid macroblock information one field before from the macroblock validity determination memory 16B, and The time correlation of each macro vector of the current field supplied from the macro vector detection unit 12 is determined, and the motion vector of the macro block whose time correlation is determined to be significant is output as the motion vector of the entire screen.
[0035]
For example, if a macro vector as shown in FIG. 9 is obtained in the current field, there is no independent identical vector and no prepared independent identical vector, so that the independent / quasi-independent identical vector determination unit 15 cannot detect a motion vector. Here, the number of detected (7, 0) macro vectors indicating the motion vector due to the moving object is 9, and the (-4, 1) macro vector indicating the background vector (camera shake vector) is detected. Since the number is three, the motion vector is simply determined to be (7, 0) by majority decision.
[0036]
Therefore, assuming that (7, 0) is a motion vector in the current field, the overlapping degree calculating circuit 16A determines that the current field is valid in the previous field indicated by the valid macroblock information of the previous field read from the macroblock validity determination memory 16B. Of the four macroblocks B1, B4, B5, and B9, only one of the macroblocks B4 is (7, 0), so that -3 + 1 = -2 points are counted. Also, of the nine B2 to B4, B6 to B8, and B10 to B12 hatched in FIG. 10 in which the (7, 0) macro vector is obtained in the current field, of the macroblock B4 in the previous field. Since only one is a valid macro block, it is counted as -8 + 1 = -7 points. Then, the evaluation points when (7, 0) are motion vectors in the current field are counted as −2−7 = −9 points.
[0037]
If the current field is (-4, -1) as a motion vector, the overlap degree calculating circuit 16A calculates the previous field indicated by the valid macroblock information of the previous field read from the macroblock validity determination memory 16B. Of the four macroblocks B1, B4, B5, and B9 that were effective in step (3), three of the macroblocks B1, B5, and B9 are (-4, -1), so that 3-1 = 2 points. I do. In addition, since the three macroblocks B1, B5, and B9 indicated by hatching in FIG. 11 in which the (-4, -1) macrovector is obtained in the current field are all valid macroblocks in the previous field, 3-0 = count 3 points. Then, the evaluation points when (-4, -1) are motion vectors in the current field are counted as 2 + 3 = 5 points.
[0038]
The above-described overlap degree calculating circuit 16A estimates that the evaluation point is −9 when (7, 0) is a motion vector in the current field, but the (−4, −1) is the motion vector in the current field. Since there are five evaluation points in the case of, it can be determined that the above (-4, -1) is a motion vector.
[0039]
As described above, in the motion vector detection device of this embodiment, the screen is divided into a plurality of macroblocks by the field difference detection unit 11 and the macro vector detection unit 12 in such a manner that macroblocks that are not adjacent to each other are generated. , A motion vector is detected for each macroblock. Then, the camera shake vector determination unit 16 determines the time correlation of the motion vector of each macroblock obtained by the macro vector detection unit 12, and determines the motion of the macroblock for which the time correlation having the time correlation is determined to be significant. Since the vector is output as a motion vector of the entire screen, i.e., a camera shake vector, a camera shake vector in a case of entering a large moving object screen that cannot be determined by a method using the same independent vector or the preparation independent same vector or a simple majority decision. Can be reliably detected and output.
[0040]
The method of determining the time correlation of each macro vector of the current field in the overlapping degree calculation circuit 16A is not limited to the above method.
[0041]
Then, the motion vector detection device 10 supplies the motion vector detected by the independent / quasi-independent identical vector determination unit 15 to the correction signal generation unit 20.
[0042]
In addition, the correction signal generator 20 outputs the motion vector V detected by the motion vector detector 10. t 'As input and X t = X t-1 -V t 'Correction amount X t A vibration correction signal for the screen is formed, and the vibration correction signal for the screen is supplied to the correction unit 30.
[0043]
The correction unit 30 includes, for example, an address control circuit 31 and a select signal generation circuit 32 to which a screen vibration correction signal is supplied from the correction signal generation unit 20 as shown in FIG. A field memory 33 and a peripheral memory 34 in which video data is written / read in accordance with the supplied address signal, and a select signal supplied from the select signal generating circuit 32 to the video data read from the field memory 33 and the peripheral memory 34. And a selector 35 for selectively outputting the signals in accordance with the conditions.
[0044]
Input video data supplied through the signal input terminal 1 is sequentially written into the field memory 33. Then, the read address of the field memory 33 is controlled according to the motion vector by the vibration correction signal for the screen. As a result, video data obtained by moving one field of input video data in accordance with the motion vector is obtained from the field memory 33. Then, the video data read from the field memory 33 and the peripheral video data read from the peripheral memory 34 are combined by selection by the selector 35, and output from the signal output terminal 2 as video data subjected to screen vibration correction processing. You.
[0045]
In the peripheral memory 34, video data of a peripheral portion corresponding to a correction range of an image based on video data subjected to a vibration correction process of a screen output via the selector 35 is sequentially written as peripheral video data.
[0046]
【The invention's effect】
As is clear from the above description, according to the present invention, one screen is divided into a plurality of macroblocks in such a manner that macroblocks that are not adjacent to each other are generated, and a motion vector is detected for each macroblock. An effective macroblock for detecting a motion vector of the entire screen based on each detected motion vector is specified, a motion vector is detected based on a motion vector of the effective macroblock, and the current screen on which the motion vector is detected is detected. The motion vector is output as a motion vector of the entire screen based on the correlation between the effective macroblock of the above and the position information of the effective macroblock used when detecting the motion vector of the entire screen of the previous screen. Large movements that cannot be determined by the same vector, preparation independent It is possible to reliably detect and output a motion vector such as when entering an object screen, and the probability of detecting a correct motion vector increases. Obtainable.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an image vibration correction device provided with an image motion vector detection device according to the present invention.
FIG. 2 is a diagram showing a state of block division of a screen in the motion vector detection device.
FIG. 3 is a diagram showing a structure of one block of a screen divided into blocks.
FIG. 4 is a diagram showing a state of a macro block obtained by dividing one screen into 12 parts.
FIG. 5 is a diagram illustrating an example of an occurrence pattern of an independent identical vector detected as a motion vector by an independent / quasi-independent identical vector determination unit.
FIG. 6 is a diagram showing an example of a generation pattern of a quasi-independent identical vector detected as a motion vector by the independent / quasi-independent identical vector determination unit.
FIG. 7 is a diagram showing a macro vector generation state of a previous field in which a motion vector has been detected by the independent / quasi-independent same vector determination unit.
FIG. 8 is a diagram illustrating a macro vector generation pattern of a previous field in which a motion vector is detected by the independent / quasi-independent same vector determination unit.
FIG. 9 is a diagram showing a generation state of a macro vector of a current field in which a motion vector cannot be detected by the independent / quasi-independent same vector determination unit.
FIG. 10 is a diagram illustrating a generation pattern of a motion vector due to an object in a current field.
FIG. 11 is a diagram showing a generation pattern of a motion vector in a current field.
FIG. 12 is a block diagram illustrating a configuration of a correction unit of the screen vibration correction device.
FIG. 13 is a diagram provided for describing a method of determining a motion vector by majority decision of a macro vector.
FIG. 14 is a diagram for explaining a method of determining a motion vector by using macro vectors at spatially separated positions.
FIG. 15 is a diagram provided for describing a failure example of a method of determining a motion vector using macro vectors at spatially separated positions.
[Explanation of symbols]
Reference Signs List 10 motion vector detection device, 11 field difference detection unit, 12 macro vector detection unit, 15 independent / quasi-independent vector determination unit, 16 camera shake vector determination unit, 20 correction signal generation unit, 30 correction unit

Claims (4)

互いに隣接しないマクロブロックが生じるような形態で、1画面を複数のマクロブロックに分割し、上記マクロブロック毎に動きベクトルを検出するマクロベクトル検出手段と、
互いに隣接しない少なくとも2つの上記マクロブロックにおいて上記マクロベクトル検出手段により略同一の動きベクトルが検出されるとき、当該マクロブロックを有効マクロブロックとして、当該有効マクロブロックに基づいて画面全体の動きベクトルを検出する動きベクトル検出手段と、
上記有効マクロブロックの位置情報を記憶する記憶手段と、
上記動きベクトル検出手段により上記画面全体の動きベクトルが検出されないとき、現画面の同一の動きベクトルを有するマクロブロックの位置情報と、上記記憶手段に記憶される前画面の有効マクロブロックの位置情報との時間相関に基づいて、現画面の画面全体の動きベクトルを出力する判定手段と
を備える動きベクトル検出装置。
Macro vector detecting means for dividing one screen into a plurality of macro blocks and detecting a motion vector for each macro block in such a manner that macro blocks which are not adjacent to each other are generated;
When substantially the same motion vector is detected by the macro vector detection means in at least two macro blocks that are not adjacent to each other, the macro block is determined as an effective macro block, and a motion vector of the entire screen is detected based on the effective macro block. Motion vector detecting means,
Storage means for storing the position information of the effective macroblock;
When the motion vector of the entire screen is not detected by the motion vector detection means, the position information of the macroblock having the same motion vector of the current screen and the position information of the effective macroblock of the previous screen stored in the storage means Determining means for outputting a motion vector of the entire screen of the current screen based on the time correlation of the motion vector.
互いに隣接しないマクロブロックが生じるような形態で、1画面を複数のマクロブロックに分割し、上記マクロブロック毎に動きベクトルを検出するステップと、
互いに隣接しない少なくとも2つの上記マクロブロックにおいて略同一の動きベクトルが検出されるとき、当該マクロブロックを有効マクロブロックとして、当該有効マクロブロックに基づいて画面全体の動きベクトルを検出するステップと、
上記有効マクロブロックの位置情報を記憶するステップと、
上記画面全体の動きベクトルが検出されないとき、現画面の同一の動きベクトルを有するマクロブロックの位置情報と、上記記憶される前画面の有効マクロブロックの位置情報との時間相関に基づいて、現画面の画面全体の動きベクトルを出力するステップと
を備える動きベクトル検出方法。
Dividing one screen into a plurality of macroblocks and detecting a motion vector for each macroblock in such a manner that macroblocks not adjacent to each other occur;
Detecting substantially the same motion vector in at least two of the macroblocks that are not adjacent to each other as a valid macroblock and detecting a motion vector of the entire screen based on the valid macroblock;
Storing the position information of the effective macroblock;
When the motion vector of the entire screen is not detected, based on the time correlation between the position information of the macro block having the same motion vector of the current screen and the stored position information of the effective macro block of the previous screen, the current screen is detected. And outputting a motion vector of the entire screen.
互いに隣接しないマクロブロックが生じるような形態で、1画面を複数のマクロブロックに分割し、上記マクロブロック毎に動きベクトルを検出するマクロベクトル検出手段と、
互いに隣接しない少なくとも2つの上記マクロブロックにおいて上記マクロベクトル検出手段により略同一の動きベクトルが検出されるとき、当該マクロブロックを有効マクロブロックとして、当該有効マクロブロックに基づいて画面全体の動きベクトルを検出する動きベクトル検出手段と、
上記有効マクロブロックの位置情報を記憶する記憶手段と、
上記動きベクトル検出手段により上記画面全体の動きベクトルが検出されないとき、現画面の同一の動きベクトルを有するマクロブロックの位置情報と、上記記憶手段に記憶される前画面の有効マクロブロックの位置情報との時間相関に基づいて、現画面の画面全体の動きベクトルを出力する判定手段と、
上記判定手段より出力される画面全体の動きベクトルに基づいて、上記画面を構成する画像の振動を補正する補正手段と
を備える画像の振動補正装置。
Macro vector detecting means for dividing one screen into a plurality of macro blocks and detecting a motion vector for each macro block in such a manner that macro blocks which are not adjacent to each other are generated;
When substantially the same motion vector is detected by the macro vector detection means in at least two macro blocks that are not adjacent to each other, the macro block is determined as an effective macro block, and a motion vector of the entire screen is detected based on the effective macro block. Motion vector detecting means,
Storage means for storing the position information of the effective macroblock;
When the motion vector of the entire screen is not detected by the motion vector detection means, the position information of the macroblock having the same motion vector of the current screen and the position information of the effective macroblock of the previous screen stored in the storage means Determining means for outputting a motion vector of the entire screen of the current screen based on the time correlation of
An image vibration correction apparatus comprising: a correction unit configured to correct a vibration of an image forming the screen based on a motion vector of the entire screen output from the determination unit.
互いに隣接しないマクロブロックが生じるような形態で、1画面を複数のマクロブロックに分割し、上記マクロブロック毎に動きベクトルを検出するステップと、
互いに隣接しない少なくとも2つの上記マクロブロックにおいて略同一の動きベクトルが検出されるとき、当該マクロブロックを有効マクロブロックとして、当該有効マクロブロックに基づいて画面全体の動きベクトルを検出するステップと、
上記有効マクロブロックの位置情報を記憶するステップと、
上記画面全体の動きベクトルが検出されないとき、現画面の同一の動きベクトルを有するマクロブロックの位置情報と、上記記憶される前画面の有効マクロブロックの位置情報との時間相関に基づいて、現画面の画面全体の動きベクトルを出力するステップと、
上記出力される画面全体の動きベクトルに基づいて、上記画面を構成する画像の振動を補正するステップと
を備える画像の振動補正方法。
Dividing one screen into a plurality of macroblocks and detecting a motion vector for each macroblock in such a manner that macroblocks not adjacent to each other occur;
Detecting substantially the same motion vector in at least two of the macroblocks that are not adjacent to each other as a valid macroblock and detecting a motion vector of the entire screen based on the valid macroblock;
Storing the position information of the effective macroblock;
When the motion vector of the entire screen is not detected, based on the time correlation between the position information of the macro block having the same motion vector of the current screen and the stored position information of the effective macro block of the previous screen, the current screen is detected. Outputting a motion vector of the entire screen of
Correcting the vibration of the image forming the screen based on the output motion vector of the entire screen.
JP2001343752A 2001-11-08 2001-11-08 Apparatus and method for detecting motion vector, and apparatus and method for correcting image vibration Expired - Lifetime JP3601506B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001343752A JP3601506B2 (en) 2001-11-08 2001-11-08 Apparatus and method for detecting motion vector, and apparatus and method for correcting image vibration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001343752A JP3601506B2 (en) 2001-11-08 2001-11-08 Apparatus and method for detecting motion vector, and apparatus and method for correcting image vibration

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP16829892A Division JP3466640B2 (en) 1992-06-04 1992-06-04 Apparatus and method for detecting motion vector, apparatus and method for correcting image vibration

Publications (2)

Publication Number Publication Date
JP2002203247A JP2002203247A (en) 2002-07-19
JP3601506B2 true JP3601506B2 (en) 2004-12-15

Family

ID=19157385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001343752A Expired - Lifetime JP3601506B2 (en) 2001-11-08 2001-11-08 Apparatus and method for detecting motion vector, and apparatus and method for correcting image vibration

Country Status (1)

Country Link
JP (1) JP3601506B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7777781B2 (en) * 2005-08-26 2010-08-17 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Method and system for determining the motion of an imaging apparatus
JP4595834B2 (en) * 2006-03-03 2010-12-08 日本ビクター株式会社 Motion vector detection method and apparatus
US8013895B2 (en) 2006-08-07 2011-09-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Optical motion sensing

Also Published As

Publication number Publication date
JP2002203247A (en) 2002-07-19

Similar Documents

Publication Publication Date Title
JP4639555B2 (en) Motion vector detection apparatus and method, camera shake correction apparatus and method, and imaging apparatus
JPH05122586A (en) Blurring corrector for image
KR100262793B1 (en) Image stabilization device
US20120051662A1 (en) Image processing apparatus and storage medium
JP3601506B2 (en) Apparatus and method for detecting motion vector, and apparatus and method for correcting image vibration
JP2008010958A (en) Imaging apparatus and method
JP3465264B2 (en) Apparatus and method for detecting motion of video data
JP3252418B2 (en) Image shake determination device
JP2017022597A (en) Image processing apparatus, control method thereof, and control program
JP3225598B2 (en) Image shake detection device
JP3252448B2 (en) Apparatus and method for detecting motion vector and apparatus and method for correcting image vibration
JP3223582B2 (en) Image shake detection device
JP3466640B2 (en) Apparatus and method for detecting motion vector, apparatus and method for correcting image vibration
JP3271273B2 (en) Image vibration determination apparatus, image vibration correction apparatus, image vibration determination method, and image vibration correction method
JP3223577B2 (en) Image stabilization device
JP2006215655A (en) Method, apparatus, program and program storage medium for detecting motion vector
JP3221052B2 (en) Image shake detection device
JP3727460B2 (en) Motion vector detection circuit
JP3200900B2 (en) Image shake determination device
JP3252415B2 (en) Image stabilization device
JPH10173992A (en) Image correction device
JP3252416B2 (en) Image stabilization device
JP2008048459A (en) Image composing apparatus
JP3200888B2 (en) Image vibration correction device
JP3271274B2 (en) Image vibration determination apparatus, image vibration correction apparatus, image vibration determination method, and image vibration correction method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040820

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040913

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

Free format text: PAYMENT UNTIL: 20091001

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101001

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101001

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111001

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111001

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121001

Year of fee payment: 8

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121001

Year of fee payment: 8