Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3985653B2 - Motion vector detection apparatus and method, recording medium, and program - Google Patents
[go: Go Back, main page]

JP3985653B2 - Motion vector detection apparatus and method, recording medium, and program - Google Patents

Motion vector detection apparatus and method, recording medium, and program Download PDF

Info

Publication number
JP3985653B2
JP3985653B2 JP2002296136A JP2002296136A JP3985653B2 JP 3985653 B2 JP3985653 B2 JP 3985653B2 JP 2002296136 A JP2002296136 A JP 2002296136A JP 2002296136 A JP2002296136 A JP 2002296136A JP 3985653 B2 JP3985653 B2 JP 3985653B2
Authority
JP
Japan
Prior art keywords
pixel
motion vector
frame
pixels
feature amount
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
JP2002296136A
Other languages
Japanese (ja)
Other versions
JP2004134946A (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 JP2002296136A priority Critical patent/JP3985653B2/en
Priority to US10/677,537 priority patent/US7636481B2/en
Publication of JP2004134946A publication Critical patent/JP2004134946A/en
Priority to US11/672,283 priority patent/US8098944B2/en
Priority to US11/672,616 priority patent/US8103114B2/en
Application granted granted Critical
Publication of JP3985653B2 publication Critical patent/JP3985653B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Analysis (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、動きベクトル検出装置及び方法、記録媒体、並びにプログラムに関し、特に、動きベクトルを、迅速に検出することができるようにした動きベクトル検出装置及び方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
図1は、画像の動きを示す動きベクトルを利用して動画像を効率よく圧縮する従来の画像処理装置の動き検出部1の構成例を示している(例えば、特許文献1および特許文献2参照)。
【0003】
フレームメモリ11は、入力端子Tinから入力された画像信号の1フレーム分の画像情報を格納するとともに、格納している画像情報を、次に入力されたフレームの画像情報を格納するとき、フレームメモリ12および特徴量抽出部13に出力する。
【0004】
フレームメモリ12は、フレームメモリ11から入力された1フレーム分の画像情報を格納するとともに、格納している画像情報を、次にフレームメモリ11から入力されたフレームの画像情報を格納するとき、動きベクトル検出部13に出力する。
【0005】
動きベクトル検出部13は、フレームメモリ11から入力された1フレーム分の画像情報を、カレントフレームFcの画像情報とし、フレームメモリ12から入力された1フレーム(フレームメモリ11から入力されるフレームより1フレーム分過去のフレーム)分の画像情報を、参照フレームFrの画像情報として、ブロックマッチングにより動きベクトルを検出する。動きベクトル検出部13は、検出した動きベクトルを、出力端子Toutを介して出力する。
【0006】
ここで、ブロックマッチングのアルゴリズムについて、図2を参照して説明する。例えば、カレントフレームFc上に、動きベクトルを検出するために注目する画素(注目画素)P(i,j)を中心としたL(画素数)×L(画素数)からなる基準ブロックBb、並びに参照フレームFr上に、注目画素P(i,j)の位置に対応するサーチエリアSR、およびそのサーチエリアSR内に、L(画素数)×L(画素数)の画素からなる参照ブロックBrn(n=1,2,・・・m)がそれぞれ設定される。
【0007】
次に、この基準ブロックBbの各画素と、参照ブロックBrnの各画素間の差分の絶対値の和が、参照ブロックBrnをサーチエリアSR内の全域で水平方向、または、垂直方向に1画素ずつ移動することにより形成される参照ブロックBr1乃至参照ブロックBrm(参照ブロックBrnが、サーチエリアSR内にm個設定できるものとする)のそれぞれについて算出される。
【0008】
このようにして求められた基準ブロックBbの各画素と参照ブロックBrnの各画素間の差分絶対値和が最小となる参照ブロックBrが、基準ブロックBbに最も近い(類似している)参照ブロックBrとして求められる。そして、カレントフレームFc上の注目画素P(i,j)に対応する参照フレームFr上の画素P’(i,j)を始点とし、基準ブロックBbに最も近いものとして検出された参照ブロックBrnの中心となる画素Pn(i,j)を終点とするベクトルが、注目画素P(i,j)の動きベクトルV(Vx,Vy)として出力される。
【0009】
次に、図3のフローチャートを参照して、図1の動き検出部1の動き検出処理について説明する。
【0010】
ステップS1において、動きベクトル検出部13は、フレームメモリ11から入力されたカレントフレームFc上の注目画素P(i,j)の画素位置に応じて、サーチエリアSRを設定する。
【0011】
ステップS2において、動きベクトル検出部13は、基準ブロックBbの各画素の画素値と参照ブロックBrnの各画素の画素値間の差分絶対値和の最小値を設定する変数minを初期化する。具体的には、変数minが、画素の階調数に基準ブロックBbを構成する画素数を乗じた値に設定される。例えば、1画素が8ビットのデータであり、基準ブロックBbが3画素×3画素である場合、1画素の階調数は、256階調(256色)(=2の8乗)で、画素数は、9個となるので、変数minは、2304(=256×9)に初期化される。
【0012】
ステップS3において、動きベクトル検出部13は、生成された参照ブロックBrの数をカウントするカウンタ変数nを1に初期化する。
【0013】
ステップS4において、動きベクトル検出部13は、基準ブロックBbと参照ブロックBrnの画素間の差分絶対値和が代入される変数sumを0に初期化する。
【0014】
ステップS5において、動きベクトル検出部13は、基準ブロックBbと参照ブロックBrnの画素間の差分絶対値和(=sum)を求める。すなわち、動きベクトル検出部13は、式(1)で示される演算を実行して、基準ブロックBbと参照ブロックBrnの画素間の差分絶対値和を求める。式(1)中、P_Bb(i,j)は、基準ブロックBbの各画素を、P_Brn(i,j)は、基準ブロックBrnの各画素を示している。
【数1】

Figure 0003985653
【0015】
ステップS6において、動きベクトル検出部13は、変数minが変数sumよりも大きいか否かを判定し、大きいと判定した場合、ステップS7に進み、変数minを変数sumに更新し、その時点でのカウンタ変数nの値を動きベクトル番号として登録する。すなわち、今求めた差分絶対値和を示す変数sumが、最小値を示す変数minよりも小さいと言うことは、これまで演算したどの参照ブロックBrよりも、今演算している参照ブロックBrが基準ブロックBbに類似したものであるとみなすことができるので、動きベクトルを求める際の候補とされ、その時点でのカウンタnが動きベクトル番号として登録される。
【0016】
ステップS6において、変数minが変数sumよりも大きくないと判定された場合、ステップS7の処理はスキップされる。
【0017】
ステップS8において、動きベクトル検出部13は、カウンタ変数nがサーチエリアSRの参照ブロックBrの総数mであるか否か、すなわち、いまの参照ブロックBrが、参照ブロックBrmであるか否かを判定し、例えば、総数mではないと判定した場合、ステップS9において、カウンタ変数nを1だけインクリメントして、ステップS4に戻る。
【0018】
ステップS8において、カウンタ変数nがサーチエリアSR内の参照ブロックBrの総数mである、すなわち、今の参照ブロックBrが参照ブロックBrmであると判定された場合、ステップS10において、動きベクトル検出部13は、登録されている動きベクトル番号に基づいて動きベクトルを出力する。すなわち、ステップS4乃至S9が繰り返されることにより、差分絶対値和が最小となる参照ブロックBrnに対応するカウンタ変数nが動きベクトル番号として登録されることになるので、動きベクトル検出部13は、カレントフレームFc上の注目画素P(i,j)に対応する参照フレームFr上の画素P’(i,j)を始点とし、動きベクトル番号に対応する参照ブロックBrnの中心となる画素Pn(i,j)を終点とするベクトルを、注目画素P(i,j)の動きベクトルV(Vx,Vy)として求めて出力する。
【0019】
【特許文献1】
特開平07−087494号公報
【0020】
【特許文献2】
特開平07−059093号公報
【0021】
【発明が解決しようとする課題】
しかしながら、上述したブロックマッチングでは、式(1)における演算量が膨大となり、動きベクトルを迅速に検出することができない課題があった。
【0022】
本発明はこのような状況に鑑みてなされたものであり、迅速に、かつ、精度良く、動きベクトルを検出することができるようにするものである。
【0023】
【課題を解決するための手段】
本発明の動きベクトル検出装置は、第1のフレームより時間的に前の第2フレームの各画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレス毎に、前記画素の位置情報を記憶する記憶手段と、前記第1のフレームの注目画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレスに記憶されている前記位置情報を検出する第1の検出手段と、前記注目画素の位置と、前記第1の検出手段により検出された前記位置情報で特定される前記第2のフレームの候補画素の位置とからベクトルを算出する算出手段と、前記ベクトルのうち、前記注目画素位置における時間的に1 フレーム前の動きベクトルと最も近い前記ベクトルを、前記注目画素の動きベクトルとして検出する第2の検出手段とを備えることを特徴とする。
【0024】
本発明の動きベクトル検出方法は、第1のフレームより時間的に前の第2フレームの各画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレス毎に、前記画素の位置情報を記憶する記憶ステップと、前記第1のフレームの注目画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレスに記憶されている前記位置情報を検出する第1の検出ステップと、前記注目画素の位置と、前記第1の検出ステップの処理で検出された前記位置情報で特定される前記第2のフレームの候補画素の位置とからベクトルを算出する算出ステップと、前記ベクトルのうち、前記注目画素位置における時間的に1 フレーム前の動きベクトルと最も近い前記ベクトルを、前記注目画素の動きベクトルとして検出する第2の検出ステップとを含むことを特徴とする。
【0025】
本発明の記録媒体のプログラムは、第1のフレームより時間的に前の第2フレームの各画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレス毎に、前記画素の位置情報を記憶する記憶ステップと、前記第1のフレームの注目画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレスに記憶されている前記位置情報を検出する第1の検出ステップと、前記注目画素の位置と、前記第1の検出ステップの処理で検出された前記位置情報で特定される前記第2のフレームの候補画素の位置とからベクトルを算出する算出ステップと、前記ベクトルのうち、前記注目画素位置における時間的に1 フレーム前の動きベクトルと最も近い前記ベクトルを、前記注目画素の動きベクトルとして検出する第2の検出ステップとを含むことを特徴とする。
【0026】
本発明のプログラムは、第1のフレームより時間的に前の第2フレームの各画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレス毎に、前記画素の位置情報を記憶する記憶ステップと、前記第1のフレームの注目画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレスに記憶されている前記位置情報を検出する第1の検出ステップと、前記注目画素の位置と、前記第1の検出ステップの処理で検出された前記位置情報で特定される前記第2のフレームの候補画素の位置とからベクトルを算出する算出ステップと、前記ベクトルのうち、前記注目画素位置における時間的に1 フレーム前の動きベクトルと最も近い前記ベクトルを、前記注目画素の動きベクトルとして検出する第2の検出ステップとを含む処理をコンピュータに実行させることを特徴とする。
【0027】
本発明の動きベクトル検出装置及び方法、並びにプログラムにおいては、第1のフレームより時間的に前の第2フレームの各画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレス毎に、前記画素の位置情報が記憶され、前記第1のフレームの注目画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレスに記憶されている前記位置情報が検出され、前記注目画素の位置と、検出された前記位置情報で特定される前記第2のフレームの候補画素の位置とからベクトルが算出され、前記ベクトルのうち、前記注目画素位置における時間的に1 フレーム前の動きベクトルと最も近い前記ベクトルが、前記注目画素の動きベクトルとして検出される。
【0028】
【発明の実施の形態】
図4は、画像の動きを示す動きベクトルを利用して動画像を効率よく圧縮する本発明を適用した画像処理装置の動き検出部51の構成例を示している。
【0029】
フレームメモリ61は、入力端子Tinから入力された画像信号の1フレーム分の画像情報を格納するとともに、格納している画像情報を、次に入力されたフレームの画像情報を格納するとき、特徴量抽出部62およびフレームメモリ63に出力する。
【0030】
特徴量抽出部62は、フレームメモリ61から供給されたフレーム(カレントフレームFc)上の動きベクトルを検出するために注目する画素(注目画素P)の特徴量を抽出する。具体的には、例えば、式(2)に示すような、注目画素Pと、その周辺の8個の画素の画素値の関数fの値が特徴量とされる。式(2)中、iは、垂直方向を、jは、水平方向を、Li,jは、位置(i,j)の画素値を示している。
【数2】
Figure 0003985653
【0031】
特徴量抽出部62は、抽出した特徴量を、動きベクトル検出部66に出力する。
【0032】
フレームメモリ63は、フレームメモリ61から入力された1フレーム分の画像情報を格納するとともに、格納している画像情報を、次にフレームメモリ61から入力されたフレームの画像情報を格納するとき、特徴量抽出部64に出力する。
【0033】
特徴量抽出部64は、フレームメモリ63から入力されたフレーム(参照フレームFr)(特徴量抽出部62で特徴量が抽出される注目画素のフレームより1フレーム分過去のフレーム)上の各画素の特徴量を、特徴量抽出部62が注目画素Pの特徴量を抽出する場合と同様の方法で抽出する。特徴量抽出部64は、抽出した、参照フレームFr上の各画素の特徴量を、位置情報(例えば、座標情報)とともに、データベース制御部65に供給する。
【0034】
データベース制御部65は、図5に示すような、特徴量アドレス0乃至aと、フラグアドレス0乃至bによって示されるa×b個のセルにより構成されているデータベース71を有している。データベース制御部65は、特徴量抽出部64から供給された、参照フレームFrの各画素の位置情報を、それとともに供給された特徴量に対応する特徴量アドレスに対応付けて、フラグアドレス1乃至bの順に格納する。フラグアドレス0には、現在、その特徴量アドレスに格納されている位置情報の数が格納される。
【0035】
例えば、特徴量アドレス1に、1つの位置情報が格納されており(フラグアドレス1に格納されており)、フラグアドレス0(セル(1,0))に1が格納されている場合において、特徴量アドレス1に対応する特徴量の入力があったとき、その特徴量とともに入力された位置情報は、特徴量アドレス1に対応するフラグアドレス2(セル(1,2))に格納され、フラグアドレス0(セル(1,0))の値は、インクリメントされて2となる。
【0036】
図4に戻り、動きベクトル検出部66は、特徴量抽出部62から供給されたカレントフレームFc上の注目画素Pの特徴量と、データベース制御部65のデータベース71に設定されている参照フレームに関する情報(以下、参照フレーム特徴量情報と称する)を利用して、注目画素Pに対応する動きベクトルを検出する。
【0037】
例えば、動きベクトル検出部66は、カレントフレームFcの注目画素Pの位置と、データベース71において、注目画素Pの特徴量に対応する特徴量アドレスに対応付けられて設定されている各位置情報により特定される参照フレームFr上の各画素(以下、適宜、候補画素と称する)の位置とからベクトルをそれぞれ算出する。そして動きベクトル検出部66は、注目画素Pの過去のベクトルと最も近いベクトルが算出されたときの候補画素(参照画素)を検出するとともに、カレントフレームFc上の注目画素Pに対応する参照フレームFr上の画素を始点とし、参照画素を終点とするベクトルを、注目画素Pの動きベクトルとして検出する。
【0038】
次に、データベース71(参照フレーム特徴量情報)を生成する場合のデータベース制御部65の動作を、図6のフローチャートを参照して説明する。
【0039】
ステップS31において、データベース制御部65は、データベース71を初期化する。全てのフラグアドレス0のセルに0が書き込まれ、フラグアドレス1乃至bに格納されている位置情報が消去される。
【0040】
次に、ステップS32において、データベース制御部65は、フレーム内の画素数をカウントするカウンタ変数nを0に初期化する。
【0041】
ステップS33において、データベース制御部65は、特徴量抽出部64から、参照フレームFr上の1個の画素の特徴量とその位置情報を取得する。
【0042】
次に、ステップS34において、データベース制御部65は、データベース71の、取得した特徴量に対応する特徴量アドレスを検出するとともに、検出した特徴量アドレスの、フラグアドレス0に設定されている値Kを1だけインクリメントする。
【0043】
ステップS35において、データベース制御部65は、ステップS33で取得した位置情報を、ステップS34で検出した特徴量アドレスのフラグアドレスK+1に設定する。
【0044】
ステップS36において、データベース制御部65は、カウンタ変数nを1だけインクリメントする。
【0045】
次に、ステップS37において、データベース制御部65は、カウンタ変数n=1フレームの画素数であるか否かを判定し、カウンタ変数n=1フレームの画素数ではないと判定した場合、ステップS33に戻り、それ以降の処理を行う。ステップS37で、カウンタ変数n=1フレームの画素数であると判定された場合、すなわち、データベース71に、参照フレームFrの各画素の位置情報が、その特徴量に対応する特徴量アドレスに対応付けられて設定されたとき、処理は終了する。
【0046】
以上のようにしてデータベース71(参照フレーム特徴量情報)が生成される。
【0047】
次に、動きベクトル検出処理を、図7のフローチャートを参照して説明する。
【0048】
ステップS51において、動きベクトル検出部66は、特徴量抽出部62から、カレントフレームFcの注目画素Pの特徴量を取得すると、ステップS52において、データベース制御部65のデータベース71から、ステップS51で取得した特徴量に対応する特徴量アドレスに対応付けられて設定されている位置情報の1つを読み取る。
【0049】
次に、ステップS53において、動きベクトル検出部66は、注目画素Pの画素値を、フレームメモリ61から読み取り、ステップS54において、ステップS52で読み取った位置情報により特定される参照フレームFrの画素(候補画素)の画素値を、フレームメモリ63から読み取る。
【0050】
ステップS55において、動きベクトル検出部66は、ステップS53で読み取った注目画素Pの画素値と、ステップS54で読み取った候補画素の画素値の差分絶対値を算出する。
【0051】
次に、ステップS56において、動きベクトル検出部66は、ステップS51で取得した特徴量に対応する特徴量アドレスに対応付けられている位置情報のすべてを読み取ったか否かを判定し、読み取っていない位置情報がまだ残っていると判定した場合、ステップS52に戻って次の位置情報をデータベース71から読み取り、それ以降の処理を実行する。
【0052】
ステップS56で、すべての位置情報が読み取られたと判定された場合(すべての候補画素との差分絶対値が算出されたとき)、ステップS57に進み、動きベクトル検出部66は、ステップS55で算出した差分絶対値の最小値が算出されたときの候補画素を検出する。
【0053】
次に、ステップS58において、動きベクトル検出部66は、カレントフレームFcの注目画素Pに対応する参照フレームFr上の画素を始点とし、ステップS57で検出した候補画素(参照画素)を終点とするベクトルを、注目画素Pの動きベクトルとして検出する。
【0054】
すなわちこの動きベクトル検出方法では、例えば、データベース71において、図8に示すカレントフレームFcの注目画素Pの特徴量に対応する特徴量アドレスに、図8に示す参照フレームFr上の3個の候補画素Pr1乃至Pr3の位置情報が設定されている場合、注目画素Pの画素値と、各候補画素Pr1乃至Pr3の画素値との差分絶対値がそれぞれ算出され、最も小さい差分絶対値が算出された候補画素Prが参照画素として検出される。そしてカレントフレームFcの注目画素Pに対応する参照フレームFr上の画素を始点とし、検出された参照画素を終点とするベクトルが、注目画素Pの動きベクトルとして検出される。
【0055】
図7に戻り、ステップS59において、動きベクトル検出部66は、カレントフレームFcのすべての画素の特徴量を、特徴量抽出部62から取得したか否かを判定し、特徴量を取得してない画素がカレントフレームFc上にまだ残っていると判定した場合、ステップS51に戻って次の注目画素Pの特徴量を取得し、それ以降の処理を実行する。
【0056】
ステップS59で、カレントフレームFc上のすべての画素の特徴量が取得されたと判定された場合、すなわちカレントフレームFcのすべての画素に対応する動きベクトルが検出されたとき、処理は終了する。
【0057】
なお以上において候補画素は、注目画素Pの特徴量に対応する特徴量アドレスに対応付けられている位置情報で特定される画素とされたが、その画素の周辺の画素をさらに候補画素とすることもできる。
【0058】
例えば、図9の例の場合、画素Pr1乃至Pr3と、それらを中心とする所定の大きさのブロックの4隅の画素Pr11乃至Pr14,Pr21乃至Pr24,Pr31乃至Pr34が候補画素となる。
【0059】
また、すべての候補画素の周辺画素ではなく、候補画素の信頼度を評価して信頼度が最も高かった候補画素の周辺画素のみを候補画素に含めることもできる。なお信頼度が最も高いとは、例えば、注目画素Pとの差分絶対値が最も小さいことを意味する。
【0060】
例えば、図10の場合、画素Pr1乃至Pr3と、信頼度が最も高かった画素Pr1の周辺の4個の画素Pr11乃至画素Pr14が候補画素となる。
【0061】
また、図9に示したように、注目画素Pの特徴量に対応する特徴量アドレスに応付けられている位置情報で特定される画素(以下、第1の候補画素と称する)と、それの周辺の画素(以下、第2の候補画素と称する)とを候補画素とするが、ステップS55での算出結果に、第1の候補画素の信頼度に応じた重み付けをすることができる。
【0062】
例えば、画素Pr1乃至画素Pr3の評価値が、それぞれ評価値H1乃至評価値H3とあった場合、画素Pr1と画素Pr11乃至Pr14について得られたステップS55での差分絶対値のそれぞれには評価値H1が乗算され、画素Pr2と画素Pr21乃至Pr24について得られたステップS55での差分絶対値のそれぞれには評価値H2が乗算され、そして画素Pr3と画素Pr31乃至Pr34について得られたステップS55での差分絶対値のそれぞれには評価値H3が乗算される。
【0063】
次に、他の動きベクトル検出処理を、図11のフローチャートを参照して説明する。
【0064】
ステップS71において、動きベクトル検出部66は、特徴量抽出部62から、カレントフレームFcの注目画素Pの特徴量を取得すると、ステップS72において、注目画素Pの位置に対応したサーチエリアSRを設定する。
【0065】
次に、ステップS73において、動きベクトル検出部66は、データベース制御部65のデータベース71において、ステップS71で取得した特徴量に対応する特徴量アドレスに対応付けられて設定されている位置情報のうち、ステップS72で設定したサーチエリアSR内の画素の位置情報を読み取る。
【0066】
ステップS74において、動きベクトル検出部66は、ステップS73で読み取った位置情報の1つの選択する。
【0067】
ステップS75乃至ステップS77においては、図7のステップS53乃至ステップS55における場合と同様の処理が行われるので、その説明は省略する。
【0068】
ステップS78において、動きベクトル検出部66は、ステップS73で読み取ったサーチエリアSR内の位置情報のすべてを選択したか否かを判定し、選択されていない位置情報がまだ残っていると判定した場合、ステップS74に戻って次の位置情報を選択し、それ以降の処理を実行する。
【0069】
ステップS78で、すべての位置情報が選択されたと判定された場合(サーチエリア内のすべての候補画素との差分絶対値が算出されたとき)、ステップS79に進む。
【0070】
ステップS79乃至ステップS81においては、図7のステップS57乃至ステップS59における場合と同様の処理が行われるので、その説明は省略する。
【0071】
すなわちこの例の場合、データベース71において、例えば、図12に示すカレントフレームFcの注目画素Pの特徴量に対応する特徴量アドレスに、図12に示す参照フレームFr上の3個の候補画素Pr1乃至Pr3の位置情報が設定されている場合、そのうちの、設定されたサーチエリアSR内の候補画素Pr2,Pr3の画素値について差分絶対値が算出され、そのうち最も小さい差分絶対値が算出されたときの候補画素Prが参照画素として検出される。
【0072】
このようにサーチエリアSR内の候補画素についてのみ差分絶対値が算出されるので、動きベクトル検出をより迅速に行うことができる。
【0073】
なお、この例の場合においても、候補画素を、図9および図10を参照して上述したように決定したり、ステップS77で算出される差分絶対値に重み付けすることができる。
【0074】
次に、他の動きベクトル検出処理を、図13のフローチャートを参照して説明する。
【0075】
ステップS91において、動きベクトル検出部66は、特徴量抽出部62から、カレントフレームFcの注目画素Pの特徴量を取得すると、ステップS92において、注目画素Pを中心とする基準ブロックBbを生成する。
【0076】
次に、ステップS93において、動きベクトル検出部66は、データベース制御部65のデータベース71から、ステップS91で取得した特徴量に対応する特徴量アドレスに対応付けられて設定されている位置情報の1つを読み取る。
【0077】
ステップS94において、動きベクトル検出部66は、ステップS93で読み取った位置情報により特定される画素(候補画素)を中心とする参照ブロックBrを生成する。
【0078】
次に、ステップS95において、動きベクトル検出部66は、ステップS92で生成した基準ブロックBbの各画素の画素値と、ステップS94で生成した参照ブロックBrの各画素の画素値との差分絶対値和を算出する。
【0079】
ステップS96において、動きベクトル検出部66は、ステップS91で取得した特徴量に対応する特徴量アドレスに対応付けられている位置情報のすべてを読み取ったか否かを判定し、読み取られていない位置情報がまだ残っていると判定した場合、ステップS93に戻り、次の位置情報を読み取る。
【0080】
ステップS96で、すべての位置情報が読み取られたと判定された場合(すべての候補画素についての差分絶対値和が算出されたとき)、ステップS97に進み、動きベクトル検出部66は、ステップS95で算出した差分絶対値和の最小値が算出されたときの候補画素(参照画素)を検出する。
【0081】
ステップS98において、動きベクトル検出部66は、カレントフレームFcの注目画素Pに対応する参照フレームFr上の画素を始点とし、ステップS97で検出された参照画素を終点とするベクトルを、注目画素Pの動きベクトルとして検出する。
【0082】
ステップS99においては、図7のステップS59における場合と同様の処理が行われるので、その説明は省略する。
【0083】
なお、この例の場合においても、候補画素を、図9および図10を参照して上述したように決定したり、ステップS95で算出される差分絶対値和に重み付けすることができる。
【0084】
次に、他の動きベクトル検出処理を、図14のフローチャートを参照して説明する。
【0085】
ステップS111において、動きベクトル検出部66は、特徴量抽出部62から、カレントフレームFcの注目画素Pの特徴量を取得すると、ステップS112において、注目画素Pを中心とする基準ブロックBbを生成する。
【0086】
次に、ステップS113において、動きベクトル検出部66は、注目画素Pの位置に対応するサーチエリアSRを設定する。
【0087】
ステップS114において、動きベクトル検出部66は、データベース制御部65のデータベース71において、ステップS111で取得した特徴量に対応する特徴量アドレスに対応付けられて設定されている位置情報のうち、ステップS113で設定したサーチエリアSR内の画素の位置情報を読み取る。
【0088】
次に、ステップS115において、動きベクトル検出部66は、ステップS114で読み取った位置情報の1つを選択する。
【0089】
ステップS116,117においては、図13のステップS94,95における場合と同様の処理が行われているので、その説明は省略する。
【0090】
ステップS118において、動きベクトル検出部66は、ステップS114で読み取られた位置情報のすべてを選択したか否かを判定し、選択されていない位置情報がまだ残っていると判定した場合、ステップS115に戻り、次の位置情報を選択する。
【0091】
ステップS118で、すべての位置情報が選択されたと判定された場合、ステップS119に進む。
【0092】
ステップS119乃至ステップS121においては、図13のステップS97乃至ステップS99における場合と同様の処理が行われるので、その説明は省略する。
【0093】
なお、この例の場合においても、候補画素を、図9および図10を参照して上述したように決定したり、ステップS117で算出された差分絶対値和に重み付けすることができる。
【0094】
次に、他の動きベクトル検出処理を、図15のフローチャートを参照して説明する。
【0095】
ステップS131において、動きベクトル検出部66は、特徴量抽出部62から、注目画素Pの特徴量を取得すると、ステップS132において、データベース制御部65のデータベース71から、ステップS131で取得した特徴量に対応する特徴量アドレスに対応付けられて設定されている位置情報の1つを読み取る。
【0096】
次に、ステップS133において、動きベクトル検出部66は、注目画素Pに対応する参照フレームFr上の画素を始点とし、ステップS132で読み取った位置情報により特定される候補画素を終点とするベクトルを算出する。
【0097】
ステップS134において、動きベクトル検出部66は、ステップS131で取得した特徴量に対応する特徴量アドレスに対応付けられている位置情報のすべてを読み取ったか否かを判定し、読み取っていない位置情報がまだ残っていると判定した場合、ステップS132に戻って、次の位置情報をデータベース71から読み取り、それ以降の処理を行う。
【0098】
ステップS134で、すべての位置情報が読み取られたと判定された場合(すべての候補画素とのベクトルが算出されたとき)、ステップS135に進み、動きベクトル検出部66は、ステップS133で算出されたベクトルのうち、注目画素Pの、カレントフレームFcの1つ前のフレームにおける動きベクトルと最も近いベクトルを検出し、それを注目画素Pの動きベクトルとする。
【0099】
なお、注目画素Pの動きベクトルは、次のステップS136において、注目画素Pの位置に関連付けて記憶されるので、動きベクトル検出部66は、記憶したこの情報から、注目画素Pの、カレントフレームFcの1つ前のフレームにおける動きベクトルを取得する。
【0100】
ステップS136で、ステップS135で検出された動きベクトルが記憶されると、ステップS137に進む。ステップS137おいては、図7のステップS59における場合と同様の処理が行われるので、その説明は省略する。
【0101】
なお、この例の場合においても、候補画素を、図9および図10を参照して上述したように決定したり、ステップS133で算出されるベクトルに重み付けをすることができる。
【0102】
次に、他の動きベクトル検出処理を、図16のフローチャートを参照して説明する。
【0103】
ステップS151において、動きベクトル検出部66は、特徴量抽出部62から、カレントフレームFcの注目画素Pの特徴量を取得すると、ステップS152において、データベース制御部65のデータベース71から、ステップS151で取得した特徴量に対応する特徴量アドレスに対応付けられて設定されている位置情報を読み取る。
【0104】
次に、ステップS153において、動きベクトル検出部66は、ステップS152で読み取った位置情報により特定される候補画素の重心点を算出する。
【0105】
ステップS154において、動きベクトル検出部66は、カレントフレームFcの注目画素Pに対応する参照フレームFr上の画素を始点とし、ステップS153で検出した候補画素の重心点を終点とするベクトルを、注目画素Pの動きベクトルとして検出する。
【0106】
ステップS155においては、図7のステップS59における場合と同様の処理が行われるので、その説明は省略する。
【0107】
なお、この例の場合においても、候補画素を、図9および図10を参照して上述したように決定することができる。
【0108】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ(図17)などに、記録媒体からインストールされる。
【0109】
この記録媒体は、図17に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク131(フレキシブルディスクを含む)、光ディスク132(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク133(MD(Mini-Disk)(商標)を含む)、もしくは半導体メモリ134などよりなるパッケージメディアなどにより構成される。
【0110】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0111】
【発明の効果】
本発明によれば、動きベクトルを迅速に検出することができる。
【図面の簡単な説明】
【図1】従来の動き検出部の構成例を示している。
【図2】ブロックマッチングのアルゴリズムを説明する図である。
【図3】従来の動き検出処理を説明するフローチャートである。
【図4】本発明を適用した動き検出部の構成例を示しているブロック図である。
【図5】図4のデータベースのデータ構造を示している図である。
【図6】データベース生成処理を説明するフローチャートである。
【図7】動きベクトル検出処理を説明するフローチャートである。
【図8】動きベクトル検出処理を説明する図である。
【図9】候補画素の決定方法を説明する図である。
【図10】候補画素の他の決定方法を説明する図である。
【図11】他の動きベクトル検出処理を説明するフローチャートである。
【図12】動きベクトル検出処理を説明する他の図である。
【図13】他の動きベクトル検出処理を説明するフローチャートである。
【図14】他の動きベクトル検出処理を説明するフローチャートである。
【図15】他の動きベクトル検出処理を説明するフローチャートである。
【図16】他の動きベクトル検出処理を説明するフローチャートである。
【図17】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
51 動き検出部, 61 フレームメモリ, 62 特徴量抽出部, 63フレームメモリ, 64 特徴量抽出部, 65 データベース制御部, 66 動きベクトル検出部, 71 データベース[0001]
BACKGROUND OF THE INVENTION
  The present inventionMotion vector detection deviceAnd a method, a recording medium, and a program, in particular, a motion vector can be detected quickly.Motion vector detection deviceAnd a method, a recording medium, and a program.
[0002]
[Prior art]
FIG. 1 shows a configuration example of a motion detection unit 1 of a conventional image processing apparatus that efficiently compresses a moving image using a motion vector indicating the motion of the image (see, for example, Patent Document 1 and Patent Document 2). ).
[0003]
The frame memory 11 stores the image information for one frame of the image signal input from the input terminal Tin, and stores the stored image information and the image information of the next input frame. 12 and the feature quantity extraction unit 13.
[0004]
The frame memory 12 stores the image information for one frame input from the frame memory 11, moves the stored image information, and then stores the image information of the frame input from the frame memory 11. Output to the vector detection unit 13.
[0005]
The motion vector detection unit 13 uses the image information for one frame input from the frame memory 11 as the image information of the current frame Fc, and 1 frame input from the frame memory 12 (1 frame from the frame input from the frame memory 11). The motion vector is detected by block matching using the image information of the past frame) as the image information of the reference frame Fr. The motion vector detection unit 13 outputs the detected motion vector via the output terminal Tout.
[0006]
Here, a block matching algorithm will be described with reference to FIG. For example, on the current frame Fc, a reference block Bb consisting of L (number of pixels) × L (number of pixels) centered on a pixel of interest (target pixel) P (i, j) for detecting a motion vector, and On the reference frame Fr, a search area SR corresponding to the position of the target pixel P (i, j), and a reference block Brn (L (number of pixels) × L (number of pixels) in the search area SR). n = 1, 2,... m) are set.
[0007]
Next, the sum of the absolute values of the differences between the pixels of the base block Bb and the pixels of the reference block Brn is determined so that the reference block Brn is moved by one pixel in the horizontal direction or the vertical direction throughout the search area SR. Calculation is performed for each of reference blocks Br1 to Brm (m is assumed that m reference blocks Brn can be set in the search area SR) formed by moving.
[0008]
The reference block Br having the smallest difference absolute value sum between each pixel of the base block Bb and the reference block Brn thus obtained is the closest (similar) reference block Br to the base block Bb. As required. Then, the reference block Brn detected as the closest to the base block Bb, starting from the pixel P ′ (i, j) on the reference frame Fr corresponding to the target pixel P (i, j) on the current frame Fc. A vector whose end point is the center pixel Pn (i, j) is output as the motion vector V (Vx, Vy) of the pixel of interest P (i, j).
[0009]
Next, the motion detection processing of the motion detection unit 1 in FIG. 1 will be described with reference to the flowchart in FIG.
[0010]
In step S <b> 1, the motion vector detection unit 13 sets the search area SR according to the pixel position of the pixel of interest P (i, j) on the current frame Fc input from the frame memory 11.
[0011]
In step S2, the motion vector detection unit 13 initializes a variable min that sets a minimum value of the sum of absolute differences between the pixel value of each pixel of the base block Bb and the pixel value of each pixel of the reference block Brn. Specifically, the variable min is set to a value obtained by multiplying the number of gradations of the pixel by the number of pixels constituting the reference block Bb. For example, when one pixel is 8-bit data and the reference block Bb is 3 pixels × 3 pixels, the number of gradations of one pixel is 256 gradations (256 colors) (= 2 to the 8th power). Since the number is nine, the variable min is initialized to 2304 (= 256 × 9).
[0012]
In step S3, the motion vector detection unit 13 initializes a counter variable n that counts the number of generated reference blocks Br to 1.
[0013]
In step S4, the motion vector detection unit 13 initializes a variable sum to which the sum of absolute difference values between the pixels of the base block Bb and the reference block Brn is substituted to 0.
[0014]
In step S5, the motion vector detection unit 13 obtains the sum of absolute differences (= sum) between the pixels of the base block Bb and the reference block Brn. That is, the motion vector detection unit 13 performs the calculation represented by Expression (1) to obtain the sum of absolute differences between the pixels of the base block Bb and the reference block Brn. In Expression (1), P_Bb (i, j) represents each pixel of the reference block Bb, and P_Brn (i, j) represents each pixel of the reference block Brn.
[Expression 1]
Figure 0003985653
[0015]
In step S6, the motion vector detection unit 13 determines whether or not the variable min is larger than the variable sum. If it is determined that the variable min is larger, the process proceeds to step S7, where the variable min is updated to the variable sum. The value of the counter variable n is registered as a motion vector number. In other words, the fact that the variable sum indicating the sum of absolute differences thus obtained is smaller than the variable min indicating the minimum value means that the reference block Br currently being calculated is the standard than any reference block Br calculated so far. Since it can be regarded as being similar to the block Bb, it is a candidate for obtaining a motion vector, and the counter n at that time is registered as a motion vector number.
[0016]
If it is determined in step S6 that the variable min is not greater than the variable sum, the process of step S7 is skipped.
[0017]
In step S8, the motion vector detection unit 13 determines whether or not the counter variable n is the total number m of reference blocks Br in the search area SR, that is, whether or not the current reference block Br is a reference block Brm. For example, if it is determined that the total number is not m, the counter variable n is incremented by 1 in step S9, and the process returns to step S4.
[0018]
If it is determined in step S8 that the counter variable n is the total number m of the reference blocks Br in the search area SR, that is, it is determined that the current reference block Br is the reference block Brm, in step S10, the motion vector detection unit 13 Outputs a motion vector based on the registered motion vector number. That is, by repeating steps S4 to S9, the counter variable n corresponding to the reference block Brn having the smallest difference absolute value sum is registered as the motion vector number. A pixel Pn (i, j, which is the center of the reference block Brn corresponding to the motion vector number starts from the pixel P ′ (i, j) on the reference frame Fr corresponding to the target pixel P (i, j) on the frame Fc. A vector having j) as an end point is obtained and output as a motion vector V (Vx, Vy) of the target pixel P (i, j).
[0019]
[Patent Document 1]
Japanese Patent Application Laid-Open No. 07-087494
[0020]
[Patent Document 2]
JP 07-059093 A
[0021]
[Problems to be solved by the invention]
However, the block matching described above has a problem that the amount of calculation in Expression (1) becomes enormous and the motion vector cannot be detected quickly.
[0022]
The present invention has been made in view of such a situation, and makes it possible to detect a motion vector quickly and accurately.
[0023]
[Means for Solving the Problems]
  Of the present inventionMotion vector detection deviceIs each pixel of the second frame temporally prior to the first frameAnd the pixel values of pixels around the pixelStorage means for storing position information of the pixel for each address corresponding to a feature amount, and a target pixel of the first frameAnd the pixel values of pixels around the pixelFirst detection means for detecting the position information stored at an address corresponding to a feature amount, the position of the target pixel, and the first information specified by the position information detected by the first detection means. Calculating means for calculating a vector from the positions of candidate pixels of the second frame, and the pixel of interest among the vectorsIn positionTemporally1 flameAnd second detection means for detecting the vector closest to the previous motion vector as a motion vector of the pixel of interest.
[0024]
  Of the present inventionMotion vector detection methodIs each pixel of the second frame temporally prior to the first frameAnd the pixel values of pixels around the pixelA storage step of storing the position information of the pixel for each address corresponding to a feature amount; and a target pixel of the first frameAnd the pixel values of pixels around the pixelIt is specified by the first detection step for detecting the position information stored at the address corresponding to the feature amount, the position of the target pixel, and the position information detected in the processing of the first detection step. A calculation step of calculating a vector from the position of the candidate pixel of the second frame, and the target pixel of the vectorIn positionTemporally1 flameAnd a second detection step of detecting the vector closest to the previous motion vector as the motion vector of the pixel of interest.
[0025]
  The recording medium program according to the present invention includes each pixel of the second frame temporally prior to the first frame.And the pixel values of pixels around the pixelA storage step of storing the position information of the pixel for each address corresponding to a feature amount; and a target pixel of the first frameAnd the pixel values of pixels around the pixelIt is specified by the first detection step for detecting the position information stored at the address corresponding to the feature amount, the position of the target pixel, and the position information detected in the processing of the first detection step. A calculation step of calculating a vector from the position of the candidate pixel of the second frame, and the target pixel of the vectorIn positionTemporally1 flameAnd a second detection step of detecting the vector closest to the previous motion vector as the motion vector of the pixel of interest.
[0026]
  The program of the present invention uses each pixel of the second frame temporally before the first frame.And the pixel values of pixels around the pixelA storage step of storing the position information of the pixel for each address corresponding to a feature amount; and a target pixel of the first frameAnd the pixel values of pixels around the pixelIt is specified by the first detection step for detecting the position information stored at the address corresponding to the feature amount, the position of the target pixel, and the position information detected in the processing of the first detection step. A calculation step of calculating a vector from the position of the candidate pixel of the second frame, and the target pixel of the vectorIn positionTemporally1 flameA computer is caused to execute a process including a second detection step of detecting the vector closest to the previous motion vector as a motion vector of the target pixel.
[0027]
  Of the present inventionMotion vector detection deviceAnd a method, and a program, each pixel of the second frame temporally prior to the first frameAnd the pixel values of pixels around the pixelFor each address corresponding to the feature amount, position information of the pixel is stored, and the target pixel of the first frameAnd the pixel values of pixels around the pixelThe position information stored at the address corresponding to the feature amount is detected, and a vector is calculated from the position of the target pixel and the position of the candidate pixel of the second frame specified by the detected position information. The pixel of interest among the vectorsIn positionTemporally1 flameThe vector closest to the previous motion vector is detected as the motion vector of the pixel of interest.
[0028]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 4 shows a configuration example of the motion detection unit 51 of the image processing apparatus to which the present invention for efficiently compressing a moving image using a motion vector indicating the motion of the image is applied.
[0029]
The frame memory 61 stores image information for one frame of the image signal input from the input terminal Tin, and stores the stored image information as the next input frame image information. The data is output to the extraction unit 62 and the frame memory 63.
[0030]
The feature amount extraction unit 62 extracts a feature amount of a pixel of interest (a pixel of interest P) for detecting a motion vector on the frame (current frame Fc) supplied from the frame memory 61. Specifically, for example, the value of the function f of the pixel value of the pixel of interest P and the eight neighboring pixels as shown in the equation (2) is used as the feature amount. In Expression (2), i represents the vertical direction, j represents the horizontal direction, and Li, j represents the pixel value at the position (i, j).
[Expression 2]
Figure 0003985653
[0031]
The feature quantity extraction unit 62 outputs the extracted feature quantity to the motion vector detection unit 66.
[0032]
The frame memory 63 stores the image information for one frame input from the frame memory 61, and stores the stored image information and then the image information of the frame input from the frame memory 61. It outputs to the quantity extraction part 64.
[0033]
The feature amount extraction unit 64 outputs each pixel on the frame (reference frame Fr) input from the frame memory 63 (one frame past the frame of the target pixel from which the feature amount is extracted by the feature amount extraction unit 62). The feature amount is extracted by the same method as when the feature amount extraction unit 62 extracts the feature amount of the target pixel P. The feature quantity extraction unit 64 supplies the extracted feature quantity of each pixel on the reference frame Fr to the database control unit 65 together with position information (for example, coordinate information).
[0034]
The database control unit 65 has a database 71 composed of a × b cells indicated by feature amount addresses 0 to a and flag addresses 0 to b as shown in FIG. The database control unit 65 associates the positional information of each pixel of the reference frame Fr supplied from the feature amount extraction unit 64 with the feature amount address corresponding to the feature amount supplied together with the flag address 1 to b. Store in order. The flag address 0 stores the number of position information currently stored in the feature amount address.
[0035]
For example, when one piece of position information is stored in the feature amount address 1 (stored in the flag address 1) and 1 is stored in the flag address 0 (cell (1, 0)), the feature When the feature amount corresponding to the quantity address 1 is input, the positional information input together with the feature quantity is stored in the flag address 2 (cell (1, 2)) corresponding to the feature quantity address 1, and the flag address The value of 0 (cell (1, 0)) is incremented to 2.
[0036]
Returning to FIG. 4, the motion vector detection unit 66 includes the feature amount of the target pixel P on the current frame Fc supplied from the feature amount extraction unit 62 and information on the reference frame set in the database 71 of the database control unit 65. (Hereinafter referred to as reference frame feature amount information) is used to detect a motion vector corresponding to the target pixel P.
[0037]
For example, the motion vector detection unit 66 specifies the position of the target pixel P in the current frame Fc and each position information set in the database 71 in association with the feature amount address corresponding to the feature amount of the target pixel P. A vector is calculated from the position of each pixel (hereinafter referred to as a candidate pixel as appropriate) on the reference frame Fr. Then, the motion vector detection unit 66 detects a candidate pixel (reference pixel) when a vector closest to the past vector of the target pixel P is calculated, and at the same time, the reference frame Fr corresponding to the target pixel P on the current frame Fc. A vector starting from the upper pixel and ending at the reference pixel is detected as a motion vector of the pixel of interest P.
[0038]
Next, the operation of the database control unit 65 when generating the database 71 (reference frame feature amount information) will be described with reference to the flowchart of FIG.
[0039]
In step S31, the database control unit 65 initializes the database 71. 0 is written in all the cells of flag address 0, and the position information stored in flag addresses 1 to b is erased.
[0040]
Next, in step S32, the database control unit 65 initializes a counter variable n for counting the number of pixels in the frame to 0.
[0041]
In step S <b> 33, the database control unit 65 acquires the feature amount of one pixel on the reference frame Fr and its position information from the feature amount extraction unit 64.
[0042]
Next, in step S34, the database control unit 65 detects a feature amount address corresponding to the acquired feature amount in the database 71, and sets the value K of the detected feature amount address set to the flag address 0. Increment by one.
[0043]
In step S35, the database control unit 65 sets the position information acquired in step S33 to the flag address K + 1 of the feature amount address detected in step S34.
[0044]
In step S36, the database control unit 65 increments the counter variable n by 1.
[0045]
Next, in step S37, the database control unit 65 determines whether or not the counter variable n = 1 is the number of pixels in one frame, and if it is determined that the counter variable n is not the number of pixels in one frame, the process proceeds to step S33. Return and perform further processing. When it is determined in step S37 that the counter variable n is the number of pixels of one frame, that is, the position information of each pixel of the reference frame Fr is associated with the feature amount address corresponding to the feature amount in the database 71. If it has been set, the process ends.
[0046]
The database 71 (reference frame feature amount information) is generated as described above.
[0047]
Next, the motion vector detection process will be described with reference to the flowchart of FIG.
[0048]
In step S51, the motion vector detection unit 66 acquires the feature amount of the target pixel P of the current frame Fc from the feature amount extraction unit 62. In step S52, the motion vector detection unit 66 acquires from the database 71 of the database control unit 65 in step S51. One of the position information set in association with the feature amount address corresponding to the feature amount is read.
[0049]
Next, in step S53, the motion vector detection unit 66 reads the pixel value of the target pixel P from the frame memory 61, and in step S54, the pixel (candidate) of the reference frame Fr specified by the position information read in step S52. Pixel value) is read from the frame memory 63.
[0050]
In step S55, the motion vector detection unit 66 calculates the absolute difference between the pixel value of the target pixel P read in step S53 and the pixel value of the candidate pixel read in step S54.
[0051]
Next, in step S56, the motion vector detection unit 66 determines whether or not all of the position information associated with the feature amount address corresponding to the feature amount acquired in step S51 has been read, and the position that has not been read. If it is determined that the information still remains, the process returns to step S52, the next position information is read from the database 71, and the subsequent processing is executed.
[0052]
If it is determined in step S56 that all the position information has been read (when the difference absolute values from all candidate pixels have been calculated), the process proceeds to step S57, and the motion vector detection unit 66 calculates in step S55. A candidate pixel when the minimum difference absolute value is calculated is detected.
[0053]
Next, in step S58, the motion vector detection unit 66 uses a pixel on the reference frame Fr corresponding to the target pixel P of the current frame Fc as a start point, and a vector having the candidate pixel (reference pixel) detected in step S57 as an end point. Are detected as the motion vector of the target pixel P.
[0054]
That is, in this motion vector detection method, for example, in the database 71, three candidate pixels on the reference frame Fr shown in FIG. 8 are assigned to the feature quantity address corresponding to the feature quantity of the target pixel P of the current frame Fc shown in FIG. When the position information of Pr1 to Pr3 is set, the difference absolute value between the pixel value of the target pixel P and the pixel value of each candidate pixel Pr1 to Pr3 is calculated, and the candidate for which the smallest difference absolute value is calculated Pixel Pr is detected as a reference pixel. A vector starting from a pixel on the reference frame Fr corresponding to the target pixel P in the current frame Fc and having the detected reference pixel as an end point is detected as a motion vector of the target pixel P.
[0055]
Returning to FIG. 7, in step S <b> 59, the motion vector detection unit 66 determines whether or not the feature amount of all the pixels of the current frame Fc has been acquired from the feature amount extraction unit 62, and has not acquired the feature amount. If it is determined that the pixel still remains on the current frame Fc, the process returns to step S51 to acquire the feature amount of the next pixel of interest P, and the subsequent processing is executed.
[0056]
If it is determined in step S59 that the feature values of all the pixels on the current frame Fc have been acquired, that is, if motion vectors corresponding to all the pixels of the current frame Fc have been detected, the process ends.
[0057]
In the above description, the candidate pixel is a pixel specified by the position information associated with the feature amount address corresponding to the feature amount of the target pixel P. However, pixels around the pixel are further set as candidate pixels. You can also.
[0058]
For example, in the example of FIG. 9, the pixels Pr1 to Pr3 and the pixels Pr11 to Pr14, Pr21 to Pr24, and Pr31 to Pr34 at the four corners of a block of a predetermined size centering on the pixels are candidate pixels.
[0059]
Further, it is possible to include not only the peripheral pixels of all candidate pixels but only the peripheral pixels of the candidate pixel having the highest reliability by evaluating the reliability of the candidate pixels. Note that the highest reliability means, for example, that the difference absolute value from the target pixel P is the smallest.
[0060]
For example, in the case of FIG. 10, the pixels Pr1 to Pr3 and the four pixels Pr11 to Pr14 around the pixel Pr1 having the highest reliability are candidate pixels.
[0061]
Further, as shown in FIG. 9, a pixel (hereinafter referred to as a first candidate pixel) specified by position information associated with a feature amount address corresponding to a feature amount of the target pixel P, Although surrounding pixels (hereinafter referred to as second candidate pixels) are set as candidate pixels, the calculation result in step S55 can be weighted according to the reliability of the first candidate pixel.
[0062]
For example, when the evaluation values of the pixels Pr1 to Pr3 are the evaluation values H1 to H3, respectively, the absolute value of the difference in step S55 obtained for the pixels Pr1 and Pr11 to Pr14 is the evaluation value H1. Is multiplied by an evaluation value H2 for each of the difference absolute values obtained in step S55 obtained for the pixel Pr2 and the pixels Pr21 to Pr24, and the difference obtained in step S55 is obtained for the pixel Pr3 and the pixels Pr31 to Pr34. Each of the absolute values is multiplied by the evaluation value H3.
[0063]
Next, another motion vector detection process will be described with reference to the flowchart of FIG.
[0064]
In step S71, when the motion vector detection unit 66 acquires the feature amount of the target pixel P of the current frame Fc from the feature amount extraction unit 62, the motion vector detection unit 66 sets a search area SR corresponding to the position of the target pixel P in step S72. .
[0065]
Next, in step S73, the motion vector detection unit 66 includes, among the position information set in the database 71 of the database control unit 65 in association with the feature amount address corresponding to the feature amount acquired in step S71. The pixel position information in the search area SR set in step S72 is read.
[0066]
In step S74, the motion vector detection unit 66 selects one of the position information read in step S73.
[0067]
In steps S75 to S77, the same processing as in steps S53 to S55 of FIG. 7 is performed, and thus the description thereof is omitted.
[0068]
In step S78, the motion vector detection unit 66 determines whether or not all the position information in the search area SR read in step S73 has been selected, and determines that position information that has not been selected still remains. Returning to step S74, the next position information is selected, and the subsequent processing is executed.
[0069]
If it is determined in step S78 that all position information has been selected (when absolute differences from all candidate pixels in the search area have been calculated), the process proceeds to step S79.
[0070]
In steps S79 to S81, the same processing as in steps S57 to S59 of FIG. 7 is performed, and thus the description thereof is omitted.
[0071]
That is, in the case of this example, in the database 71, for example, three candidate pixels Pr1 through Pr1 on the reference frame Fr shown in FIG. 12 are assigned to the feature quantity address corresponding to the feature quantity of the target pixel P of the current frame Fc shown in FIG. When the position information of Pr3 is set, the difference absolute value is calculated for the pixel values of the candidate pixels Pr2 and Pr3 in the set search area SR, and the smallest difference absolute value is calculated. Candidate pixel Pr is detected as a reference pixel.
[0072]
In this way, since the absolute difference value is calculated only for the candidate pixels in the search area SR, motion vector detection can be performed more quickly.
[0073]
Even in this example, candidate pixels can be determined as described above with reference to FIGS. 9 and 10, or the difference absolute value calculated in step S77 can be weighted.
[0074]
Next, another motion vector detection process will be described with reference to the flowchart of FIG.
[0075]
In step S91, when the motion vector detection unit 66 acquires the feature amount of the target pixel P of the current frame Fc from the feature amount extraction unit 62, the motion vector detection unit 66 generates a reference block Bb centered on the target pixel P in step S92.
[0076]
Next, in step S93, the motion vector detecting unit 66 is one piece of position information set in association with the feature amount address corresponding to the feature amount acquired in step S91 from the database 71 of the database control unit 65. Read.
[0077]
In step S94, the motion vector detection unit 66 generates a reference block Br centered on the pixel (candidate pixel) specified by the position information read in step S93.
[0078]
Next, in step S95, the motion vector detection unit 66 sums the absolute difference between the pixel value of each pixel of the base block Bb generated in step S92 and the pixel value of each pixel of the reference block Br generated in step S94. Is calculated.
[0079]
In step S96, the motion vector detection unit 66 determines whether or not all of the position information associated with the feature amount address corresponding to the feature amount acquired in step S91 has been read. If it is determined that it still remains, the process returns to step S93 to read the next position information.
[0080]
If it is determined in step S96 that all position information has been read (when the sum of absolute differences is calculated for all candidate pixels), the process proceeds to step S97, and the motion vector detection unit 66 calculates in step S95. A candidate pixel (reference pixel) when the minimum value of the sum of absolute differences is calculated is detected.
[0081]
In step S98, the motion vector detection unit 66 sets a vector whose starting point is the pixel on the reference frame Fr corresponding to the target pixel P of the current frame Fc and whose end point is the reference pixel detected in step S97 to the target pixel P. Detect as motion vector.
[0082]
In step S99, the same processing as in step S59 of FIG. 7 is performed, and thus the description thereof is omitted.
[0083]
Even in this example, candidate pixels can be determined as described above with reference to FIGS. 9 and 10, or the sum of absolute differences calculated in step S95 can be weighted.
[0084]
Next, another motion vector detection process will be described with reference to the flowchart of FIG.
[0085]
In step S111, when the motion vector detection unit 66 acquires the feature amount of the target pixel P of the current frame Fc from the feature amount extraction unit 62, the motion vector detection unit 66 generates a reference block Bb centered on the target pixel P in step S112.
[0086]
Next, in step S113, the motion vector detection unit 66 sets a search area SR corresponding to the position of the target pixel P.
[0087]
In step S114, the motion vector detection unit 66 in step S113 among the position information set in the database 71 of the database control unit 65 in association with the feature amount address corresponding to the feature amount acquired in step S111. The position information of the pixels in the set search area SR is read.
[0088]
Next, in step S115, the motion vector detection unit 66 selects one of the position information read in step S114.
[0089]
In steps S116 and 117, processing similar to that in steps S94 and 95 of FIG.
[0090]
In step S118, the motion vector detection unit 66 determines whether or not all of the position information read in step S114 has been selected. If it is determined that position information that has not been selected still remains, the process proceeds to step S115. Return and select the next location information.
[0091]
If it is determined in step S118 that all position information has been selected, the process proceeds to step S119.
[0092]
In steps S119 to S121, the same processing as in steps S97 to S99 of FIG. 13 is performed, and thus the description thereof is omitted.
[0093]
Even in this example, the candidate pixels can be determined as described above with reference to FIGS. 9 and 10, or the sum of absolute differences calculated in step S117 can be weighted.
[0094]
Next, another motion vector detection process will be described with reference to the flowchart of FIG.
[0095]
In step S131, when the motion vector detection unit 66 acquires the feature amount of the target pixel P from the feature amount extraction unit 62, the motion vector detection unit 66 corresponds to the feature amount acquired in step S131 from the database 71 of the database control unit 65 in step S132. One of the position information set in association with the feature amount address is read.
[0096]
Next, in step S133, the motion vector detection unit 66 calculates a vector having a pixel on the reference frame Fr corresponding to the target pixel P as a start point and a candidate pixel specified by the position information read in step S132 as an end point. To do.
[0097]
In step S134, the motion vector detection unit 66 determines whether or not all of the position information associated with the feature amount address corresponding to the feature amount acquired in step S131 has been read. If it is determined that it remains, the process returns to step S132, the next position information is read from the database 71, and the subsequent processing is performed.
[0098]
When it is determined in step S134 that all position information has been read (when vectors with all candidate pixels are calculated), the process proceeds to step S135, and the motion vector detection unit 66 determines the vector calculated in step S133. Among them, a vector closest to the motion vector in the frame immediately before the current frame Fc of the target pixel P is detected, and is set as the motion vector of the target pixel P.
[0099]
Since the motion vector of the target pixel P is stored in association with the position of the target pixel P in the next step S136, the motion vector detection unit 66 determines that the current frame Fc of the target pixel P from the stored information. The motion vector in the previous frame is acquired.
[0100]
When the motion vector detected in step S135 is stored in step S136, the process proceeds to step S137. In step S137, the same processing as in step S59 of FIG. 7 is performed, and thus the description thereof is omitted.
[0101]
Even in this example, the candidate pixels can be determined as described above with reference to FIGS. 9 and 10, or the vectors calculated in step S133 can be weighted.
[0102]
Next, another motion vector detection process will be described with reference to the flowchart of FIG.
[0103]
In step S151, when the motion vector detection unit 66 acquires the feature amount of the target pixel P of the current frame Fc from the feature amount extraction unit 62, in step S152, the motion vector detection unit 66 acquires from the database 71 of the database control unit 65 in step S151. The position information set in association with the feature amount address corresponding to the feature amount is read.
[0104]
Next, in step S153, the motion vector detection unit 66 calculates the barycentric point of the candidate pixel specified by the position information read in step S152.
[0105]
In step S154, the motion vector detection unit 66 sets a vector starting from a pixel on the reference frame Fr corresponding to the target pixel P of the current frame Fc and ending at the center of gravity of the candidate pixel detected in step S153. Detect as P motion vector.
[0106]
In step S155, the same processing as in step S59 of FIG. 7 is performed, and thus the description thereof is omitted.
[0107]
Even in this example, the candidate pixels can be determined as described above with reference to FIGS. 9 and 10.
[0108]
The series of processes described above can also be executed by software. The software is a computer in which the program constituting the software is incorporated in dedicated hardware, or various functions can be executed by installing various programs, for example, a general-purpose personal computer (FIG. 17) and the like are installed from the recording medium.
[0109]
As shown in FIG. 17, this recording medium is distributed to provide a program to the user separately from the computer, and includes a magnetic disk 131 (including a flexible disk) on which the program is recorded, an optical disk 132 (CD- ROM (Compact Disk-Read Only Memory), DVD (including Digital Versatile Disk)), magneto-optical disk 133 (including MD (Mini-Disk) (trademark)), or a package medium composed of semiconductor memory 134, etc. Is done.
[0110]
Further, in the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in time series according to the described order, but is not necessarily performed in time series. It also includes processes that are executed individually.
[0111]
【The invention's effect】
According to the present invention, a motion vector can be detected quickly.
[Brief description of the drawings]
FIG. 1 shows a configuration example of a conventional motion detection unit.
FIG. 2 is a diagram illustrating a block matching algorithm.
FIG. 3 is a flowchart illustrating a conventional motion detection process.
FIG. 4 is a block diagram showing a configuration example of a motion detection unit to which the present invention is applied.
FIG. 5 is a diagram showing a data structure of the database in FIG. 4;
FIG. 6 is a flowchart illustrating database generation processing.
FIG. 7 is a flowchart illustrating motion vector detection processing.
FIG. 8 is a diagram illustrating motion vector detection processing.
FIG. 9 is a diagram for explaining a candidate pixel determination method;
FIG. 10 is a diagram illustrating another method for determining candidate pixels.
FIG. 11 is a flowchart illustrating another motion vector detection process.
FIG. 12 is another diagram for explaining motion vector detection processing;
FIG. 13 is a flowchart illustrating another motion vector detection process.
FIG. 14 is a flowchart illustrating another motion vector detection process.
FIG. 15 is a flowchart illustrating another motion vector detection process.
FIG. 16 is a flowchart illustrating another motion vector detection process.
FIG. 17 is a block diagram illustrating a configuration example of a personal computer.
[Explanation of symbols]
51 motion detection unit, 61 frame memory, 62 feature quantity extraction unit, 63 frame memory, 64 feature quantity extraction unit, 65 database control unit, 66 motion vector detection unit, 71 database

Claims (4)

動きベクトルを検出する動きベクトル検出装置において、
第1のフレームより時間的に前の第2フレームの各画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレス毎に、前記画素の位置情報を記憶する記憶手段と、
前記第1のフレームの注目画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレスに記憶されている前記位置情報を検出する第1の検出手段と、
前記注目画素の位置と、前記第1の検出手段により検出された前記位置情報で特定される前記第2のフレームの候補画素の位置とからベクトルを算出する算出手段と、
前記ベクトルのうち、前記注目画素位置における時間的に1 フレーム前の動きベクトルと最も近い前記ベクトルを、前記注目画素の動きベクトルとして検出する第2の検出手段と
を備えることを特徴とする動きベクトル検出装置
In a motion vector detection device for detecting a motion vector ,
Storage means for storing the position information of the pixels for each address corresponding to the feature amount calculated from the pixel values of the pixels in the second frame temporally prior to the first frame and the pixels around the pixels ;
First detection means for detecting the position information stored in an address corresponding to a feature amount calculated from a pixel value of a pixel of interest of the first frame and pixels around the pixel ;
Calculating means for calculating a vector from the position of the target pixel and the position of the candidate pixel of the second frame specified by the position information detected by the first detecting means;
A motion vector comprising: a second detection unit configured to detect, as the motion vector of the target pixel, the vector closest to the motion vector one frame before in the target pixel position among the vectors. Detection device .
動きベクトルを検出する動きベクトル検出装置の動きベクトル検出方法において、
第1のフレームより時間的に前の第2フレームの各画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレス毎に、前記画素の位置情報を記憶する記憶ステップと、
前記第1のフレームの注目画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレスに記憶されている前記位置情報を検出する第1の検出ステップと、
前記注目画素の位置と、前記第1の検出ステップの処理で検出された前記位置情報で特定される前記第2のフレームの候補画素の位置とからベクトルを算出する算出ステップと、
前記ベクトルのうち、前記注目画素位置における時間的に1 フレーム前の動きベクトルと最も近い前記ベクトルを、前記注目画素の動きベクトルとして検出する第2の検出ステップと
を含むことを特徴とする動きベクトル検出方法
In a motion vector detection method of a motion vector detection device for detecting a motion vector ,
A storage step of storing the position information of the pixels for each address corresponding to the feature amount calculated from the pixel values of the pixels of the second frame temporally prior to the first frame and the pixels around the pixels ;
A first detection step of detecting the position information stored in an address corresponding to a feature amount calculated from a pixel value of a pixel of interest of the first frame and pixels around the pixel ;
A calculation step of calculating a vector from the position of the target pixel and the position of the candidate pixel of the second frame specified by the position information detected in the processing of the first detection step;
A second detection step of detecting, as the motion vector of the target pixel, the vector closest to the motion vector one frame before in the target pixel position among the vectors. Detection method .
動きベクトルを検出する動きベクトル検出処理をコンピュータに実行させるプログラムであって、
第1のフレームより時間的に前の第2フレームの各画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレス毎に、前記画素の位置情報を記憶する記憶ステップと、
前記第1のフレームの注目画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレスに記憶されている前記位置情報を検出する第1の検出ステップと、
前記注目画素の位置と、前記第1の検出ステップの処理で検出された前記位置情報で特定される前記第2のフレームの候補画素の位置とからベクトルを算出する算出ステップと、
前記ベクトルのうち、前記注目画素位置における時間的に1 フレーム前の動きベクトルと最も近い前記ベクトルを、前記注目画素の動きベクトルとして検出する第2の検出ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
A program for causing a computer to execute a motion vector detection process for detecting a motion vector ,
A storage step of storing the position information of the pixels for each address corresponding to the feature amount calculated from the pixel values of the pixels of the second frame temporally prior to the first frame and the pixels around the pixels ;
A first detection step of detecting the position information stored in an address corresponding to a feature amount calculated from a pixel value of a pixel of interest of the first frame and pixels around the pixel ;
A calculation step of calculating a vector from the position of the target pixel and the position of the candidate pixel of the second frame specified by the position information detected in the processing of the first detection step;
A computer comprising: a second detection step of detecting, as the motion vector of the target pixel, the vector closest to the motion vector one frame before in the target pixel position among the vectors. A recording medium on which a readable program is recorded.
動きベクトルを検出する動きベクトル検出処理をコンピュータに実行させるプログラムであって、
第1のフレームより時間的に前の第2フレームの各画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレス毎に、前記画素の位置情報を記憶する記憶ステップと、
前記第1のフレームの注目画素及び当該画素周辺の画素の画素値から算出される特徴量に対応するアドレスに記憶されている前記位置情報を検出する第1の検出ステップと、
前記注目画素の位置と、前記第1の検出ステップの処理で検出された前記位置情報で特定される前記第2のフレームの候補画素の位置とからベクトルを算出する算出ステップと、
前記ベクトルのうち、前記注目画素位置における時間的に1 フレーム前の動きベクトルと最も近い前記ベクトルを、前記注目画素の動きベクトルとして検出する第2の検出ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
A program for causing a computer to execute a motion vector detection process for detecting a motion vector ,
A storage step of storing the position information of the pixels for each address corresponding to the feature amount calculated from the pixel values of the pixels of the second frame temporally prior to the first frame and the pixels around the pixels ;
A first detection step of detecting the position information stored in an address corresponding to a feature amount calculated from a pixel value of a pixel of interest of the first frame and pixels around the pixel ;
A calculation step of calculating a vector from the position of the target pixel and the position of the candidate pixel of the second frame specified by the position information detected in the processing of the first detection step;
Among the vector, the vector temporally closest to the preceding frame of the motion vector in the target pixel position, thereby executing the processing including a second detecting step of detecting a motion vector of the pixel of interest to the computer A program characterized by
JP2002296136A 2002-10-09 2002-10-09 Motion vector detection apparatus and method, recording medium, and program Expired - Fee Related JP3985653B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2002296136A JP3985653B2 (en) 2002-10-09 2002-10-09 Motion vector detection apparatus and method, recording medium, and program
US10/677,537 US7636481B2 (en) 2002-10-09 2003-10-03 Image processing apparatus, method, storage medium, and program for compressing an input image using a motion vector that is detected based on stored position information of pixels
US11/672,283 US8098944B2 (en) 2002-10-09 2007-02-07 Image processing apparatus, method, storage medium, and program
US11/672,616 US8103114B2 (en) 2002-10-09 2007-02-08 Image processing apparatus, method, storage medium, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002296136A JP3985653B2 (en) 2002-10-09 2002-10-09 Motion vector detection apparatus and method, recording medium, and program

Publications (2)

Publication Number Publication Date
JP2004134946A JP2004134946A (en) 2004-04-30
JP3985653B2 true JP3985653B2 (en) 2007-10-03

Family

ID=32286191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002296136A Expired - Fee Related JP3985653B2 (en) 2002-10-09 2002-10-09 Motion vector detection apparatus and method, recording medium, and program

Country Status (1)

Country Link
JP (1) JP3985653B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006331136A (en) * 2005-05-27 2006-12-07 Victor Co Of Japan Ltd Moving vector detection apparatus
CN113554125B (en) * 2021-09-18 2021-12-17 四川翼飞视科技有限公司 Object detection apparatus, method and storage medium combining global and local features

Also Published As

Publication number Publication date
JP2004134946A (en) 2004-04-30

Similar Documents

Publication Publication Date Title
US8693785B2 (en) Image matching devices and image matching methods thereof
EP1677250B9 (en) Image collation system and image collation method
US7986813B2 (en) Object pose estimation and comparison system using image sharpness differences, object pose estimation and comparison method using image sharpness differences, and program therefor
CN103959307B (en) Methods for Detecting and Describing Features from Grayscale Images
JP4604439B2 (en) Image processing apparatus, image processing method, and recording medium
JPWO2005043466A1 (en) Estimation system, estimation method, and estimation program for estimating object state
CN114742145B (en) Performance testing method, device, equipment and storage medium of target detection model
CN115239951A (en) Wall surface segmentation and identification method and system based on point cloud data processing
CN111814846A (en) Training method and recognition method of attribute recognition model and related equipment
US8103114B2 (en) Image processing apparatus, method, storage medium, and program
JP3985653B2 (en) Motion vector detection apparatus and method, recording medium, and program
JP6738293B2 (en) Camera calibration method, program and device
CN115035552B (en) Fall detection method and device, equipment terminal and readable storage medium
JP3985652B2 (en) Motion vector detection apparatus and method, recording medium, and program
JP4022916B2 (en) Motion vector detection apparatus and method, recording medium, and program
JP3774495B2 (en) Image information extracting apparatus and method
KR101982258B1 (en) Method for detecting object and object detecting apparatus
JP6717769B2 (en) Information processing device and program
CN110717910A (en) CT image target detection method and CT scanner
KR101454692B1 (en) Apparatus and method for object tracking
KR101585059B1 (en) Method and device for processing image data
JP6468642B2 (en) Information terminal equipment
CN115546714A (en) Target detection method, apparatus and storage medium
CN114627552B (en) Behavior recognition method and device and electronic equipment
US11606512B2 (en) System and method for robust model-based camera tracking and image occlusion removal

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070528

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070702

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

Free format text: PAYMENT UNTIL: 20100720

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100720

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110720

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110720

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120720

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120720

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130720

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees