(57)【要約】【課題】動きベクトルを迅速に検出することができるようにする。【解決手段】動きベクトル検出部６６は、データベース７１において、注目画素Ｐの特徴量に対応する特徴量アドレスに対応付けられて設定されている各位置情報により特定される参照フレームＦｒ上の各画素の重心を算出する。そして動きベクトル検出部６６は、カレントフレームＦｃ上の注目画素Ｐに対応する参照フレームＦｒ上の画素を始点とし、算出した重心を終点とするベクトルを、注目画素Ｐの動きベクトルとして検出する。本発明は、動きベクトルを生成する装置に適用することができる。【選択図】　　　図４
2004134945.tif 000002
【特許請求の範囲】
【請求項１】
動きベクトルを用いて入力画像を圧縮する画像処理装置において、
第１のフレームより時間的に前の第２のフレームの各画素の特徴量に対応するアドレス毎に、前記画素の位置情報を記憶する記憶手段と、
前記第１のフレームの注目画素の特徴量に対応するアドレスに記憶されている前記位置情報を検出する第１の検出手段と、
前記第１の検出手段により検出された前記位置情報で特定される前記第２のフレームの候補画素の重心を算出する算出手段と、
前記注目画素の位置と前記重心から、前記注目画素の動きベクトルを検出する第２の検出手段と
を備えることを特徴とする画像処理装置。
【請求項２】
動きベクトルを用いて入力画像を圧縮する画像処理装置の画像処理方法において、
第１のフレームより時間的に前の第２のフレームの各画素の特徴量に対応するアドレス毎に、前記画素の位置情報を記憶する記憶ステップと、
前記第１のフレームの注目画素の特徴量に対応するアドレスに記憶されている前記位置情報を検出する第１の検出ステップと、
前記第１の検出ステップの処理で検出された前記位置情報で特定される前記第２のフレームの候補画素の重心を算出する算出ステップと、
前記注目画素の位置と前記重心から、前記注目画素の動きベクトルを検出する第２の検出ステップと
を含むことを特徴とする画像処理方法。
【請求項３】
動きベクトルを用いて入力画像を圧縮するプログラムであって、
第１のフレームより時間的に前の第２のフレームの各画素の特徴量に対応するアドレス毎の、前記画素の位置情報の記憶を制御する記憶制御ステップと、
前記第１のフレームの注目画素の特徴量に対応するアドレスに記憶されている前記位置情報の検出を制御する第１の検出制御ステップと、
前記第１の検出制御ステップの処理で検出された前記位置情報で特定される前記第２のフレームの候補画素の重心の算出を制御する算出制御ステップと、
前記注目画素の位置と前記重心からの、前記注目画素の動きベクトルの検出を制御する第２の検出制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項４】
動きベクトルを用いて入力画像を圧縮するプログラムであって、
第１のフレームより時間的に前の第２のフレームの各画素の特徴量に対応するアドレス毎の、前記画素の位置情報の記憶を制御する記憶制御ステップと、
前記第１のフレームの注目画素の特徴量に対応するアドレスに記憶されている前記位置情報の検出を制御する第１の検出制御ステップと、
前記第１の検出制御ステップの処理で検出された前記位置情報で特定される前記第２のフレームの候補画素の重心の算出を制御する算出制御ステップと、
前記注目画素の位置と前記重心からの、前記注目画素の動きベクトルの検出を制御する第２の検出制御ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、動きベクトルを、迅速に検出することができるようにした画像処理装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
図１は、画像の動きを示す動きベクトルを利用して動画像を効率よく圧縮する従来の画像処理装置の動き検出部１の構成例を示している（例えば、特許文献１および特許文献２参照）。
【０００３】
フレームメモリ１１は、入力端子Ｔｉｎから入力された画像信号の１フレーム分の画像情報を格納するとともに、格納している画像情報を、次に入力されたフレームの画像情報を格納するとき、フレームメモリ１２および特徴量抽出部１３に出力する。
【０００４】
フレームメモリ１２は、フレームメモリ１１から入力された１フレーム分の画像情報を格納するとともに、格納している画像情報を、次にフレームメモリ１１から入力されたフレームの画像情報を格納するとき、動きベクトル検出部１３に出力する。
【０００５】
動きベクトル検出部１３は、フレームメモリ１１から入力された１フレーム分の画像情報を、カレントフレームＦｃの画像情報とし、フレームメモリ１２から入力された１フレーム（フレームメモリ１１から入力されるフレームより１フレーム分過去のフレーム）分の画像情報を、参照フレームＦｒの画像情報として、ブロックマッチングにより動きベクトルを検出する。動きベクトル検出部１３は、検出した動きベクトルを、出力端子Ｔｏｕｔを介して出力する。
【０００６】
ここで、ブロックマッチングのアルゴリズムについて、図２を参照して説明する。例えば、カレントフレームＦｃ上に、動きベクトルを検出するために注目する画素（注目画素）Ｐ（ｉ，ｊ）を中心としたＬ（画素数）×Ｌ（画素数）からなる基準ブロックＢｂ、並びに参照フレームＦｒ上に、注目画素Ｐ（ｉ，ｊ）の位置に対応するサーチエリアＳＲ、およびそのサーチエリアＳＲ内に、Ｌ（画素数）×Ｌ（画素数）の画素からなる参照ブロックＢｒｎ（ｎ＝１，２，・・・ｍ）がそれぞれ設定される。
【０００７】
次に、この基準ブロックＢｂの各画素と、参照ブロックＢｒｎの各画素間の差分の絶対値の和が、参照ブロックＢｒｎをサーチエリアＳＲ内の全域で水平方向、または、垂直方向に１画素ずつ移動することにより形成される参照ブロックＢｒ１乃至参照ブロックＢｒｍ（参照ブロックＢｒｎが、サーチエリアＳＲ内にｍ個設定できるものとする）のそれぞれについて算出される。
【０００８】
このようにして求められた基準ブロックＢｂの各画素と参照ブロックＢｒｎの各画素間の差分絶対値和が最小となる参照ブロックＢｒが、基準ブロックＢｂに最も近い（類似している）参照ブロックＢｒとして求められる。そして、カレントフレームＦｃ上の注目画素Ｐ（ｉ，ｊ）に対応する参照フレームＦｒ上の画素Ｐ’（ｉ，ｊ）を始点とし、基準ブロックＢｂに最も近いものとして検出された参照ブロックＢｒｎの中心となる画素Ｐｎ（ｉ，ｊ）を終点とするベクトルが、注目画素Ｐ（ｉ，ｊ）の動きベクトルＶ（Ｖｘ，Ｖｙ）として出力される。
【０００９】
次に、図３のフローチャートを参照して、図１の動き検出部１の動き検出処理について説明する。
【００１０】
ステップＳ１において、動きベクトル検出部１３は、フレームメモリ１１から入力されたカレントフレームＦｃ上の注目画素Ｐ（ｉ，ｊ）の画素位置に応じて、サーチエリアＳＲを設定する。
【００１１】
ステップＳ２において、動きベクトル検出部１３は、基準ブロックＢｂの各画素の画素値と参照ブロックＢｒｎの各画素の画素値間の差分絶対値和の最小値を設定する変数ｍｉｎを初期化する。具体的には、変数ｍｉｎが、画素の階調数に基準ブロックＢｂを構成する画素数を乗じた値に設定される。例えば、１画素が８ビットのデータであり、基準ブロックＢｂが３画素×３画素である場合、１画素の階調数は、２５６階調（２５６色）（＝２の８乗）で、画素数は、９個となるので、変数ｍｉｎは、２３０４（＝２５６×９）に初期化される。
【００１２】
ステップＳ３において、動きベクトル検出部１３は、生成された参照ブロックＢｒの数をカウントするカウンタ変数ｎを１に初期化する。
【００１３】
ステップＳ４において、動きベクトル検出部１３は、基準ブロックＢｂと参照ブロックＢｒｎの画素間の差分絶対値和が代入される変数ｓｕｍを０に初期化する。
【００１４】
ステップＳ５において、動きベクトル検出部１３は、基準ブロックＢｂと参照ブロックＢｒｎの画素間の差分絶対値和（＝ｓｕｍ）を求める。すなわち、動きベクトル検出部１３は、式（１）で示される演算を実行して、基準ブロックＢｂと参照ブロックＢｒｎの画素間の差分絶対値和を求める。式（１）中、Ｐ＿Ｂｂ（ｉ，ｊ）は、基準ブロックＢｂの各画素を、Ｐ＿Ｂｒｎ（ｉ，ｊ）は、基準ブロックＢｒｎの各画素を示している。
【数１】
2004134945.tif 000003
【００１５】
ステップＳ６において、動きベクトル検出部１３は、変数ｍｉｎが変数ｓｕｍよりも大きいか否かを判定し、大きいと判定した場合、ステップＳ７に進み、変数ｍｉｎを変数ｓｕｍに更新し、その時点でのカウンタ変数ｎの値を動きベクトル番号として登録する。すなわち、今求めた差分絶対値和を示す変数ｓｕｍが、最小値を示す変数ｍｉｎよりも小さいと言うことは、これまで演算したどの参照ブロックＢｒよりも、今演算している参照ブロックＢｒが基準ブロックＢｂに類似したものであるとみなすことができるので、動きベクトルを求める際の候補とされ、その時点でのカウンタｎが動きベクトル番号として登録される。
【００１６】
ステップＳ６において、変数ｍｉｎが変数ｓｕｍよりも大きくないと判定された場合、ステップＳ７の処理はスキップされる。
【００１７】
ステップＳ８において、動きベクトル検出部１３は、カウンタ変数ｎがサーチエリアＳＲの参照ブロックＢｒの総数ｍであるか否か、すなわち、いまの参照ブロックＢｒが、参照ブロックＢｒｍであるか否かを判定し、例えば、総数ｍではないと判定した場合、ステップＳ９において、カウンタ変数ｎを１だけインクリメントして、ステップＳ４に戻る。
【００１８】
ステップＳ８において、カウンタ変数ｎがサーチエリアＳＲ内の参照ブロックＢｒの総数ｍである、すなわち、今の参照ブロックＢｒが参照ブロックＢｒｍであると判定された場合、ステップＳ１０において、動きベクトル検出部１３は、登録されている動きベクトル番号に基づいて動きベクトルを出力する。すなわち、ステップＳ４乃至Ｓ９が繰り返されることにより、差分絶対値和が最小となる参照ブロックＢｒｎに対応するカウンタ変数ｎが動きベクトル番号として登録されることになるので、動きベクトル検出部１３は、カレントフレームＦｃ上の注目画素Ｐ（ｉ，ｊ）に対応する参照フレームＦｒ上の画素Ｐ’（ｉ，ｊ）を始点とし、動きベクトル番号に対応する参照ブロックＢｒｎの中心となる画素Ｐｎ（ｉ，ｊ）を終点とするベクトルを、注目画素Ｐ（ｉ，ｊ）の動きベクトルＶ（Ｖｘ，Ｖｙ）として求めて出力する。
【００１９】
【特許文献１】
特開平０７−０８７４９４号公報
【００２０】
【特許文献２】
特開昭６１−１０７８８６号公報
【００２１】
【発明が解決しようとする課題】
しかしながら、上述したブロックマッチングでは、式（１）における演算量が膨大となり、動きベクトルを迅速に検出することができない課題があった。
【００２２】
本発明はこのような状況に鑑みてなされたものであり、迅速に、かつ、精度良く、動きベクトルを検出することができるようにするものである。
【００２３】
【課題を解決するための手段】
本発明の画像処理装置は、第１のフレームより時間的に前の第２のフレームの各画素の特徴量に対応するアドレス毎に、画素の位置情報を記憶する記憶手段と、第１のフレームの注目画素の特徴量に対応するアドレスに記憶されている位置情報を検出する第１の検出手段と、第１の検出手段により検出された位置情報で特定される第２のフレームの候補画素の重心を算出する算出手段と、注目画素の位置と重心から、注目画素の動きベクトルを検出する第２の検出手段とを備えることを特徴とする。
【００２４】
本発明の画像処理方法は、第１のフレームより時間的に前の第２のフレームの各画素の特徴量に対応するアドレス毎に、画素の位置情報を記憶する記憶ステップと、第１のフレームの注目画素の特徴量に対応するアドレスに記憶されている位置情報を検出する第１の検出ステップと、第１の検出ステップの処理で検出された位置情報で特定される第２のフレームの候補画素の重心を算出する算出ステップと、注目画素の位置と重心から、注目画素の動きベクトルを検出する第２の検出ステップとを含むことを特徴とする。
【００２５】
本発明の記録媒体のプログラムは、第１のフレームより時間的に前の第２のフレームの各画素の特徴量に対応するアドレス毎の、画素の位置情報の記憶を制御する記憶制御ステップと、第１のフレームの注目画素の特徴量に対応するアドレスに記憶されている位置情報の検出を制御する第１の検出制御ステップと、第１の検出制御ステップの処理で検出された位置情報で特定される第２のフレームの候補画素の重心の算出を制御する算出制御ステップと、注目画素の位置と重心からの、注目画素の動きベクトルの検出を制御する第２の検出制御ステップとを含むことを特徴とする。
【００２６】
本発明のプログラムは、第１のフレームより時間的に前の第２のフレームの各画素の特徴量に対応するアドレス毎の、画素の位置情報の記憶を制御する記憶制御ステップと、第１のフレームの注目画素の特徴量に対応するアドレスに記憶されている位置情報の検出を制御する第１の検出制御ステップと、第１の検出制御ステップの処理で検出された位置情報で特定される第２のフレームの候補画素の重心の算出を制御する算出制御ステップと、注目画素の位置と重心からの、注目画素の動きベクトルの検出を制御する第２の検出制御ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００２７】
本発明の画像処理装置および方法、並びにプログラムにおいては、第１のフレームより時間的に前の第２のフレームの各画素の特徴量に対応するアドレス毎に、画素の位置情報が記憶され、第１のフレームの注目画素の特徴量に対応するアドレスに記憶されている位置情報が検出され、検出された位置情報で特定される第２のフレームの候補画素の重心が算出され、注目画素の位置と重心から、注目画素の動きベクトルが検出される。
【００２８】
【発明の実施の形態】
図４は、画像の動きを示す動きベクトルを利用して動画像を効率よく圧縮する本発明を適用した画像処理装置の動き検出部５１の構成例を示している。
【００２９】
フレームメモリ６１は、入力端子Ｔｉｎから入力された画像信号の１フレーム分の画像情報を格納するとともに、格納している画像情報を、次に入力されたフレームの画像情報を格納するとき、特徴量抽出部６２およびフレームメモリ６３に出力する。
【００３０】
特徴量抽出部６２は、フレームメモリ６１から供給されたフレーム（カレントフレームＦｃ）上の動きベクトルを検出するために注目する画素（注目画素Ｐ）の特徴量を抽出する。具体的には、例えば、式（２）に示すような、注目画素Ｐと、その周辺の８個の画素の画素値の関数ｆの値が特徴量とされる。式（２）中、ｉは、垂直方向を、ｊは、水平方向を、Ｌｉ，ｊは、位置（ｉ，ｊ）の画素値を示している。
【数２】
2004134945.tif 000004
【００３１】
特徴量抽出部６２は、抽出した特徴量を、動きベクトル検出部６６に出力する。
【００３２】
フレームメモリ６３は、フレームメモリ６１から入力された１フレーム分の画像情報を格納するとともに、格納している画像情報を、次にフレームメモリ６１から入力されたフレームの画像情報を格納するとき、特徴量抽出部６４に出力する。
【００３３】
特徴量抽出部６４は、フレームメモリ６３から入力されたフレーム（参照フレームＦｒ）（特徴量抽出部６２で特徴量が抽出される注目画素のフレームより１フレーム分過去のフレーム）上の各画素の特徴量を、特徴量抽出部６２が注目画素Ｐの特徴量を抽出する場合と同様の方法で抽出する。特徴量抽出部６４は、抽出した、参照フレームＦｒ上の各画素の特徴量を、位置情報（例えば、座標情報）とともに、データベース制御部６５に供給する。
【００３４】
データベース制御部６５は、図５に示すような、特徴量アドレス０乃至ａと、フラグアドレス０乃至ｂによって示されるａ×ｂ個のセルにより構成されているデータベース７１を有している。データベース制御部６５は、特徴量抽出部６４から供給された、参照フレームＦｒの各画素の位置情報を、それとともに供給された特徴量に対応する特徴量アドレスに対応付けて、フラグアドレス１乃至ｂの順に格納する。フラグアドレス０には、現在、その特徴量アドレスに格納されている位置情報の数が格納される。
【００３５】
例えば、特徴量アドレス１に、１つの位置情報が格納されており（フラグアドレス１に格納されており）、フラグアドレス０（セル（１，０））に１が格納されている場合において、特徴量アドレス１に対応する特徴量の入力があったとき、その特徴量とともに入力された位置情報は、特徴量アドレス１に対応するフラグアドレス２（セル（１，２））に格納され、フラグアドレス０（セル（１，０））の値は、インクリメントされて２となる。
【００３６】
図４に戻り、動きベクトル検出部６６は、特徴量抽出部６２から供給されたカレントフレームＦｃ上の注目画素Ｐの特徴量と、データベース制御部６５のデータベース７１に設定されている参照フレームに関する情報（以下、参照フレーム特徴量情報と称する）を利用して、注目画素Ｐに対応する動きベクトルを検出する。
【００３７】
例えば、動きベクトル検出部６６は、データベース７１において、注目画素Ｐの特徴量に対応する特徴量アドレスに対応付けられて設定されている各位置情報により特定される参照フレームＦｒ上の各画素（以下、適宜、候補画素と称する）の重心を算出する。そして動きベクトル検出部６６は、カレントフレームＦｃ上の注目画素Ｐに対応する参照フレームＦｒ上の画素を始点とし、算出した重心を終点とするベクトルを、注目画素Ｐの動きベクトルとして検出する。
【００３８】
次に、データベース７１（参照フレーム特徴量情報）を生成する場合のデータベース制御部６５の動作を、図６のフローチャートを参照して説明する。
【００３９】
ステップＳ３１において、データベース制御部６５は、データベース７１を初期化する。全てのフラグアドレス０のセルに０が書き込まれ、フラグアドレス１乃至ｂに格納されている位置情報が消去される。
【００４０】
次に、ステップＳ３２において、データベース制御部６５は、フレーム内の画素数をカウントするカウンタ変数ｎを０に初期化する。
【００４１】
ステップＳ３３において、データベース制御部６５は、特徴量抽出部６４から、参照フレームＦｒ上の１個の画素の特徴量とその位置情報を取得する。
【００４２】
次に、ステップＳ３４において、データベース制御部６５は、データベース７１の、取得した特徴量に対応する特徴量アドレスを検出するとともに、検出した特徴量アドレスの、フラグアドレス０に設定されている値Ｋを１だけインクリメントする。
【００４３】
ステップＳ３５において、データベース制御部６５は、ステップＳ３３で取得した位置情報を、ステップＳ３４で検出した特徴量アドレスのフラグアドレスＫ＋１に設定する。
【００４４】
ステップＳ３６において、データベース制御部６５は、カウンタ変数ｎを１だけインクリメントする。
【００４５】
次に、ステップＳ３７において、データベース制御部６５は、カウンタ変数ｎ＝１フレームの画素数であるか否かを判定し、カウンタ変数ｎ＝１フレームの画素数ではないと判定した場合、ステップＳ３３に戻り、それ以降の処理を行う。ステップＳ３７で、カウンタ変数ｎ＝１フレームの画素数であると判定された場合、すなわち、データベース７１に、参照フレームＦｒの各画素の位置情報が、その特徴量に対応する特徴量アドレスに対応付けられて設定されたとき、処理は終了する。
【００４６】
以上のようにしてデータベース７１（参照フレーム特徴量情報）が生成される。
【００４７】
次に、動きベクトル検出処理を、図７のフローチャートを参照して説明する。
【００４８】
ステップＳ５１において、動きベクトル検出部６６は、特徴量抽出部６２から、カレントフレームＦｃの注目画素Ｐの特徴量を取得すると、ステップＳ５２において、データベース制御部６５のデータベース７１から、ステップＳ５１で取得した特徴量に対応する特徴量アドレスに対応付けられて設定されている位置情報の１つを読み取る。
【００４９】
次に、ステップＳ５３において、動きベクトル検出部６６は、注目画素Ｐの画素値を、フレームメモリ６１から読み取り、ステップＳ５４において、ステップＳ５２で読み取った位置情報により特定される参照フレームＦｒの画素（候補画素）の画素値を、フレームメモリ６３から読み取る。
【００５０】
ステップＳ５５において、動きベクトル検出部６６は、ステップＳ５３で読み取った注目画素Ｐの画素値と、ステップＳ５４で読み取った候補画素の画素値の差分絶対値を算出する。
【００５１】
次に、ステップＳ５６において、動きベクトル検出部６６は、ステップＳ５１で取得した特徴量に対応する特徴量アドレスに対応付けられている位置情報のすべてを読み取ったか否かを判定し、読み取っていない位置情報がまだ残っていると判定した場合、ステップＳ５２に戻って次の位置情報をデータベース７１から読み取り、それ以降の処理を実行する。
【００５２】
ステップＳ５６で、すべての位置情報が読み取られたと判定された場合（すべての候補画素との差分絶対値が算出されたとき）、ステップＳ５７に進み、動きベクトル検出部６６は、ステップＳ５５で算出した差分絶対値の最小値が算出されたときの候補画素を検出する。
【００５３】
次に、ステップＳ５８において、動きベクトル検出部６６は、カレントフレームＦｃの注目画素Ｐに対応する参照フレームＦｒ上の画素を始点とし、ステップＳ５７で検出した候補画素（参照画素）を終点とするベクトルを、注目画素Ｐの動きベクトルとして検出する。
【００５４】
すなわちこの動きベクトル検出方法では、例えば、データベース７１において、図８に示すカレントフレームＦｃの注目画素Ｐの特徴量に対応する特徴量アドレスに、図８に示す参照フレームＦｒ上の３個の候補画素Ｐｒ１乃至Ｐｒ３の位置情報が設定されている場合、注目画素Ｐの画素値と、各候補画素Ｐｒ１乃至Ｐｒ３の画素値との差分絶対値がそれぞれ算出され、最も小さい差分絶対値が算出された候補画素Ｐｒが参照画素として検出される。そしてカレントフレームＦｃの注目画素Ｐに対応する参照フレームＦｒ上の画素を始点とし、検出された参照画素を終点とするベクトルが、注目画素Ｐの動きベクトルとして検出される。
【００５５】
図７に戻り、ステップＳ５９において、動きベクトル検出部６６は、カレントフレームＦｃのすべての画素の特徴量を、特徴量抽出部６２から取得したか否かを判定し、特徴量を取得してない画素がカレントフレームＦｃ上にまだ残っていると判定した場合、ステップＳ５１に戻って次の注目画素Ｐの特徴量を取得し、それ以降の処理を実行する。
【００５６】
ステップＳ５９で、カレントフレームＦｃ上のすべての画素の特徴量が取得されたと判定された場合、すなわちカレントフレームＦｃのすべての画素に対応する動きベクトルが検出されたとき、処理は終了する。
【００５７】
なお以上において候補画素は、注目画素Ｐの特徴量に対応する特徴量アドレスに対応付けられている位置情報で特定される画素とされたが、その画素の周辺の画素をさらに候補画素とすることもできる。
【００５８】
例えば、図９の例の場合、画素Ｐｒ１乃至Ｐｒ３と、それらを中心とする所定の大きさのブロックの４隅の画素Ｐｒ１１乃至Ｐｒ１４，Ｐｒ２１乃至Ｐｒ２４，Ｐｒ３１乃至Ｐｒ３４が候補画素となる。
【００５９】
また、すべての候補画素の周辺画素ではなく、候補画素の信頼度を評価して信頼度が最も高かった候補画素の周辺画素のみを候補画素に含めることもできる。なお信頼度が最も高いとは、例えば、注目画素Ｐとの差分絶対値が最も小さいことを意味する。
【００６０】
例えば、図１０の場合、画素Ｐｒ１乃至Ｐｒ３と、信頼度が最も高かった画素Ｐｒ１の周辺の４個の画素Ｐｒ１１乃至画素Ｐｒ１４が候補画素となる。
【００６１】
また、図９に示したように、注目画素Ｐの特徴量に対応する特徴量アドレスに応付けられている位置情報で特定される画素（以下、第１の候補画素と称する）と、それの周辺の画素（以下、第２の候補画素と称する）とを候補画素とするが、ステップＳ５５での算出結果に、第１の候補画素の信頼度に応じた重み付けをすることができる。
【００６２】
例えば、画素Ｐｒ１乃至画素Ｐｒ３の評価値が、それぞれ評価値Ｈ１乃至評価値Ｈ３とあった場合、画素Ｐｒ１と画素Ｐｒ１１乃至Ｐｒ１４について得られたステップＳ５５での差分絶対値のそれぞれには評価値Ｈ１が乗算され、画素Ｐｒ２と画素Ｐｒ２１乃至Ｐｒ２４について得られたステップＳ５５での差分絶対値のそれぞれには評価値Ｈ２が乗算され、そして画素Ｐｒ３と画素Ｐｒ３１乃至Ｐｒ３４について得られたステップＳ５５での差分絶対値のそれぞれには評価値Ｈ３が乗算される。
【００６３】
次に、他の動きベクトル検出処理を、図１１のフローチャートを参照して説明する。
【００６４】
ステップＳ７１において、動きベクトル検出部６６は、特徴量抽出部６２から、カレントフレームＦｃの注目画素Ｐの特徴量を取得すると、ステップＳ７２において、注目画素Ｐの位置に対応したサーチエリアＳＲを設定する。
【００６５】
次に、ステップＳ７３において、動きベクトル検出部６６は、データベース制御部６５のデータベース７１において、ステップＳ７１で取得した特徴量に対応する特徴量アドレスに対応付けられて設定されている位置情報のうち、ステップＳ７２で設定したサーチエリアＳＲ内の画素の位置情報を読み取る。
【００６６】
ステップＳ７４において、動きベクトル検出部６６は、ステップＳ７３で読み取った位置情報の１つの選択する。
【００６７】
ステップＳ７５乃至ステップＳ７７においては、図７のステップＳ５３乃至ステップＳ５５における場合と同様の処理が行われるので、その説明は省略する。
【００６８】
ステップＳ７８において、動きベクトル検出部６６は、ステップＳ７３で読み取ったサーチエリアＳＲ内の位置情報のすべてを選択したか否かを判定し、選択されていない位置情報がまだ残っていると判定した場合、ステップＳ７４に戻って次の位置情報を選択し、それ以降の処理を実行する。
【００６９】
ステップＳ７８で、すべての位置情報が選択されたと判定された場合（サーチエリア内のすべての候補画素との差分絶対値が算出されたとき）、ステップＳ７９に進む。
【００７０】
ステップＳ７９乃至ステップＳ８１においては、図７のステップＳ５７乃至ステップＳ５９における場合と同様の処理が行われるので、その説明は省略する。
【００７１】
すなわちこの例の場合、データベース７１において、例えば、図１２に示すカレントフレームＦｃの注目画素Ｐの特徴量に対応する特徴量アドレスに、図１２に示す参照フレームＦｒ上の３個の候補画素Ｐｒ１乃至Ｐｒ３の位置情報が設定されている場合、そのうちの、設定されたサーチエリアＳＲ内の候補画素Ｐｒ２，Ｐｒ３の画素値について差分絶対値が算出され、そのうち最も小さい差分絶対値が算出されたときの候補画素Ｐｒが参照画素として検出される。
【００７２】
このようにサーチエリアＳＲ内の候補画素についてのみ差分絶対値が算出されるので、動きベクトル検出をより迅速に行うことができる。
【００７３】
なお、この例の場合においても、候補画素を、図９および図１０を参照して上述したように決定したり、ステップＳ７７で算出される差分絶対値に重み付けすることができる。
【００７４】
次に、他の動きベクトル検出処理を、図１３のフローチャートを参照して説明する。
【００７５】
ステップＳ９１において、動きベクトル検出部６６は、特徴量抽出部６２から、カレントフレームＦｃの注目画素Ｐの特徴量を取得すると、ステップＳ９２において、注目画素Ｐを中心とする基準ブロックＢｂを生成する。
【００７６】
次に、ステップＳ９３において、動きベクトル検出部６６は、データベース制御部６５のデータベース７１から、ステップＳ９１で取得した特徴量に対応する特徴量アドレスに対応付けられて設定されている位置情報の１つを読み取る。
【００７７】
ステップＳ９４において、動きベクトル検出部６６は、ステップＳ９３で読み取った位置情報により特定される画素（候補画素）を中心とする参照ブロックＢｒを生成する。
【００７８】
次に、ステップＳ９５において、動きベクトル検出部６６は、ステップＳ９２で生成した基準ブロックＢｂの各画素の画素値と、ステップＳ９４で生成した参照ブロックＢｒの各画素の画素値との差分絶対値和を算出する。
【００７９】
ステップＳ９６において、動きベクトル検出部６６は、ステップＳ９１で取得した特徴量に対応する特徴量アドレスに対応付けられている位置情報のすべてを読み取ったか否かを判定し、読み取られていない位置情報がまだ残っていると判定した場合、ステップＳ９３に戻り、次の位置情報を読み取る。
【００８０】
ステップＳ９６で、すべての位置情報が読み取られたと判定された場合（すべての候補画素についての差分絶対値和が算出されたとき）、ステップＳ９７に進み、動きベクトル検出部６６は、ステップＳ９５で算出した差分絶対値和の最小値が算出されたときの候補画素（参照画素）を検出する。
【００８１】
ステップＳ９８において、動きベクトル検出部６６は、カレントフレームＦｃの注目画素Ｐに対応する参照フレームＦｒ上の画素を始点とし、ステップＳ９７で検出された参照画素を終点とするベクトルを、注目画素Ｐの動きベクトルとして検出する。
【００８２】
ステップＳ９９においては、図７のステップＳ５９における場合と同様の処理が行われるので、その説明は省略する。
【００８３】
なお、この例の場合においても、候補画素を、図９および図１０を参照して上述したように決定したり、ステップＳ９５で算出される差分絶対値和に重み付けすることができる。
【００８４】
次に、他の動きベクトル検出処理を、図１４のフローチャートを参照して説明する。
【００８５】
ステップＳ１１１において、動きベクトル検出部６６は、特徴量抽出部６２から、カレントフレームＦｃの注目画素Ｐの特徴量を取得すると、ステップＳ１１２において、注目画素Ｐを中心とする基準ブロックＢｂを生成する。
【００８６】
次に、ステップＳ１１３において、動きベクトル検出部６６は、注目画素Ｐの位置に対応するサーチエリアＳＲを設定する。
【００８７】
ステップＳ１１４において、動きベクトル検出部６６は、データベース制御部６５のデータベース７１において、ステップＳ１１１で取得した特徴量に対応する特徴量アドレスに対応付けられて設定されている位置情報のうち、ステップＳ１１３で設定したサーチエリアＳＲ内の画素の位置情報を読み取る。
【００８８】
次に、ステップＳ１１５において、動きベクトル検出部６６は、ステップＳ１１４で読み取った位置情報の１つを選択する。
【００８９】
ステップＳ１１６，１１７においては、図１３のステップＳ９４，９５における場合と同様の処理が行われているので、その説明は省略する。
【００９０】
ステップＳ１１８において、動きベクトル検出部６６は、ステップＳ１１４で読み取られた位置情報のすべてを選択したか否かを判定し、選択されていない位置情報がまだ残っていると判定した場合、ステップＳ１１５に戻り、次の位置情報を選択する。
【００９１】
ステップＳ１１８で、すべての位置情報が選択されたと判定された場合、ステップＳ１１９に進む。
【００９２】
ステップＳ１１９乃至ステップＳ１２１においては、図１３のステップＳ９７乃至ステップＳ９９における場合と同様の処理が行われるので、その説明は省略する。
【００９３】
なお、この例の場合においても、候補画素を、図９および図１０を参照して上述したように決定したり、ステップＳ１１７で算出された差分絶対値和に重み付けすることができる。
【００９４】
次に、他の動きベクトル検出処理を、図１５のフローチャートを参照して説明する。
【００９５】
ステップＳ１３１において、動きベクトル検出部６６は、特徴量抽出部６２から、注目画素Ｐの特徴量を取得すると、ステップＳ１３２において、データベース制御部６５のデータベース７１から、ステップＳ１３１で取得した特徴量に対応する特徴量アドレスに対応付けられて設定されている位置情報の１つを読み取る。
【００９６】
次に、ステップＳ１３３において、動きベクトル検出部６６は、注目画素Ｐに対応する参照フレームＦｒ上の画素を始点とし、ステップＳ１３２で読み取った位置情報により特定される候補画素を終点とするベクトルを算出する。
【００９７】
ステップＳ１３４において、動きベクトル検出部６６は、ステップＳ１３１で取得した特徴量に対応する特徴量アドレスに対応付けられている位置情報のすべてを読み取ったか否かを判定し、読み取っていない位置情報がまだ残っていると判定した場合、ステップＳ１３２に戻って、次の位置情報をデータベース７１から読み取り、それ以降の処理を行う。
【００９８】
ステップＳ１３４で、すべての位置情報が読み取られたと判定された場合（すべての候補画素とのベクトルが算出されたとき）、ステップＳ１３５に進み、動きベクトル検出部６６は、ステップＳ１３３で算出されたベクトルのうち、注目画素Ｐの、カレントフレームＦｃの１つ前のフレームにおける動きベクトルと最も近いベクトルを検出し、それを注目画素Ｐの動きベクトルとする。
【００９９】
なお、注目画素Ｐの動きベクトルは、次のステップＳ１３６において、注目画素Ｐの位置に関連付けて記憶されるので、動きベクトル検出部６６は、記憶したこの情報から、注目画素Ｐの、カレントフレームＦｃの１つ前のフレームにおける動きベクトルを取得する。
【０１００】
ステップＳ１３６で、ステップＳ１３５で検出された動きベクトルが記憶されると、ステップＳ１３７に進む。ステップＳ１３７おいては、図７のステップＳ５９における場合と同様の処理が行われるので、その説明は省略する。
【０１０１】
なお、この例の場合においても、候補画素を、図９および図１０を参照して上述したように決定したり、ステップＳ１３３で算出されるベクトルに重み付けをすることができる。
【０１０２】
次に、他の動きベクトル検出処理を、図１６のフローチャートを参照して説明する。
【０１０３】
ステップＳ１５１において、動きベクトル検出部６６は、特徴量抽出部６２から、カレントフレームＦｃの注目画素Ｐの特徴量を取得すると、ステップＳ１５２において、データベース制御部６５のデータベース７１から、ステップＳ１５１で取得した特徴量に対応する特徴量アドレスに対応付けられて設定されている位置情報を読み取る。
【０１０４】
次に、ステップＳ１５３において、動きベクトル検出部６６は、ステップＳ１５２で読み取った位置情報により特定される候補画素の重心を算出する。
【０１０５】
ステップＳ１５４において、動きベクトル検出部６６は、カレントフレームＦｃの注目画素Ｐに対応する参照フレームＦｒ上の画素を始点とし、ステップＳ１５３で検出した候補画素の重心を終点とするベクトルを、注目画素Ｐの動きベクトルとして検出する。
【０１０６】
ステップＳ１５５においては、図７のステップＳ５９における場合と同様の処理が行われるので、その説明は省略する。
【０１０７】
なお、この例の場合においても、候補画素を、図９および図１０を参照して上述したように決定することができる。
【０１０８】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ（図１７）などに、記録媒体からインストールされる。
【０１０９】
この記録媒体は、図１７に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク１３１（フレキシブルディスクを含む）、光ディスク１３２（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ　Ｄｉｓｋ−Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｋ）を含む）、光磁気ディスク１３３（ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）（商標）を含む）、もしくは半導体メモリ１３４などよりなるパッケージメディアなどにより構成される。
【０１１０】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１１１】
【発明の効果】
本発明によれば、動きベクトルを迅速に検出することができる。
【図面の簡単な説明】
【図１】従来の動き検出部の構成例を示している。
【図２】ブロックマッチングのアルゴリズムを説明する図である。
【図３】従来の動き検出処理を説明するフローチャートである。
【図４】本発明を適用した動き検出部の構成例を示しているブロック図である。
【図５】図４のデータベースのデータ構造を示している図である。
【図６】データベース生成処理を説明するフローチャートである。
【図７】動きベクトル検出処理を説明するフローチャートである。
【図８】動きベクトル検出処理を説明する図である。
【図９】候補画素の決定方法を説明する図である。
【図１０】候補画素の他の決定方法を説明する図である。
【図１１】他の動きベクトル検出処理を説明するフローチャートである。
【図１２】動きベクトル検出処理を説明する他の図である。
【図１３】他の動きベクトル検出処理を説明するフローチャートである。
【図１４】他の動きベクトル検出処理を説明するフローチャートである。
【図１５】他の動きベクトル検出処理を説明するフローチャートである。
【図１６】他の動きベクトル検出処理を説明するフローチャートである。
【図１７】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
５１　動き検出部，　６１　フレームメモリ，　６２　特徴量抽出部，　６３フレームメモリ，　６４　特徴量抽出部，　６５　データベース制御部，　６６　動きベクトル検出部，　７１　データベース
【図１】
2004134945.tif 000005
【図２】
2004134945.tif 000006
【図３】
2004134945.tif 000007
【図４】
2004134945.tif 000008
【図５】
2004134945.tif 000009
【図６】
2004134945.tif 000010
【図７】
2004134945.tif 000011
【図８】
2004134945.tif 000012
【図９】
2004134945.tif 000013
【図１０】
2004134945.tif 000014
【図１１】
2004134945.tif 000015
【図１２】
2004134945.tif 000016
【図１３】
2004134945.tif 000017
【図１４】
2004134945.tif 000018
【図１５】
2004134945.tif 000019
【図１６】
2004134945.tif 000020
【図１７】
2004134945.tif 000021