JP2008147974A - 動きベクトル検出装置、検出方法、および検出プログラム - Google Patents

動きベクトル検出装置、検出方法、および検出プログラム Download PDF

Info

Publication number
JP2008147974A
JP2008147974A JP2006332544A JP2006332544A JP2008147974A JP 2008147974 A JP2008147974 A JP 2008147974A JP 2006332544 A JP2006332544 A JP 2006332544A JP 2006332544 A JP2006332544 A JP 2006332544A JP 2008147974 A JP2008147974 A JP 2008147974A
Authority
JP
Japan
Prior art keywords
pixel
difference
motion vector
block
image
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.)
Withdrawn
Application number
JP2006332544A
Other languages
English (en)
Inventor
Yasushi Sukama
康 洲鎌
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006332544A priority Critical patent/JP2008147974A/ja
Publication of JP2008147974A publication Critical patent/JP2008147974A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】ブロック勾配法による動きベクトル検出において、画像のエッジ部分での検出精度の低下を防止する。
【解決手段】ブロックを構成する各画素に対応して、近傍の画素の間の画素値の差分と、1時刻前の画像内で同一位置の画素との間の画素値の差分とを求める手段2と、各画素に対する差分とブロック中心画素に対する差分との差を閾値と比較して、各画素に対する差分を動きベクトルの計算における加算に含めるべきかを判定する手段3と、加算に含めるべきと判定された画素に対する差分を用いてブロック中心画素に対する動きベクトルを計算する手段4とを備える。
【選択図】図1

Description

本発明は画像処理方式に係り、さらに詳しくはIP変換などの画像変換、動画像圧縮、動物体認識などのために用いられる動きベクトルを検出するための動きベクトル検出装置、検出方法、および検出プログラムに関する。
画像変換、例えばインタレース画像をプログレッシブ画像に変換するIP変換などにおいては、例えばトップフィールド、またはボトムフィールド内の画素の補間のために動きベクトルを用いる方法がある。またMPEGなどの動画像圧縮符号化方式においては、動きベクトルを用いた圧縮を行うことによって、符号化効率を高めることができる。さらに画像中の動体検出などのように、多数の画像処理技術において動きベクトルが利用されている。
動きベクトルを検出する方法としてブロックマッチングや勾配法がある。ブロックマッチングは画像を一定の大きさのブロックに分割し、そのブロックをテンプレートとして動かすことによって、それぞれのブロックに対する動きベクトルを求めるものであるが、一般に計算に時間がかかり、またメモリ量が大きくなるという問題点がある。
これに対して勾配法、例えばブロック勾配法は、ある画素を中心として、画像の一定の大きさの領域(3×3画素など)に対する動きベクトルを中心画素に対する動きベクトルとして検出するために勾配法の条件式を解くものであり、ブロックマッチング法と比べて演算量は小さくなるが、ノイズに弱く、特に画像のエッジ部分で著しく精度が落ちるという問題点がある。
このような動きベクトル検出に関する従来技術としての特許文献1では、例えば水平方向、または垂直方向の一方の画像勾配しかない画像において動きベクトル検出が不可能となるという問題点を解決するために、異なる演算式に基づいて求めた複数の動きベクトルを、対応する動きベクトルの検出単位における画像の特徴に応じて選択して出力する技術が開示されている。
しかしながらこのような従来技術を用いても、特に勾配法を用いる場合に画像のエッジ部分で動きベクトルの検出精度が落ちてしまうという問題点を解決することはできなかった。
特開2004−153363「動きベクトル検出方法及び動きベクトル検出装置」
本発明の課題は、上述の問題点に鑑み、勾配法、特にブロック勾配法を用いる動きベクトル検出方式において、画像のエッジ部分で精度が落ちるという問題点を解決し、動きベクトルの検出精度を向上させることである。
本発明の動きベクトル検出装置は、入力画像内でブロックを構成する複数の各画素に対応して、現時点の画像内の注目画素の近傍の画素の間の画素値の差分と、1時刻前の画像内で該注目画素に対応する画素と該注目画素との間の画素値の差分とを、該注目画素をブロック内で移動させながら求める画素値差分計算手段と、画素値差分計算手段の出力する
前記ブロック内の各画素に対する画素値の差分と該ブロックの中心画素に対する画素値の差分との差の絶対値をあらかじめ定められた閾値と比較して、その画素値の差分を動きベクトルの計算における加算に含めるべきか否かを判定する加算判定手段と、加算判定手段によって加算に含めるべきものと判定された画素値の差分を用いて、ブロックの中心画素に対する動きベクトルを計算する動きベクトル計算手段とを備える。
本発明においては、例えば画素値の差分として注目画素の横方向の隣接画素の間、縦方向の隣接画素の間、および注目画素と1時刻前の画像内で同一位置の画素との間の差分が求められ、各画素に対する差分とブロック中心画素に対する差分との差の絶対値があらかじめ定められたそれぞれの閾値より小さい場合にのみ、その画素に対する画素値の差分が動きベクトル計算における加算に含められることによって、そのような差分の値が大きくなる画像のエッジ部分に対する差分が動きベクトル計算に含まれないものとなる。
本発明の動きベクトル検出方法は、以上の動きベクトル検出装置の動作に対応する方法であり、また動きベクトル検出プログラムはその方法を計算機に実行させるものである。
本発明によれば、ある画素に対する画素値の差分の内であらかじめ定められた閾値より大きいものがある場合に、その画素に対する画素値の差分が動きベクトルの計算から除外されることによって、特に画像のエッジ部分における動きベクトル検出精度の低下を防止することが可能となり、またそのような画素に対応する画素値の差分を計算から除外することによって、動きベクトル検出のための処理を高速化することが可能となる。
図1は本発明の動きベクトル検出装置の原理構成ブロック図であり、装置1は少なくとも画素値差分計算手段2、加算判定手段3、および動きベクトル計算手段4を備える。
画素値差分計算手段2は、ブロックを構成する各画素に対応して、例えばx方向、y方向の隣接画素の間の画素値の差分と、1時刻前の画像内で同一位置の画素との間の差分を求めるものである。加算判定手段3は、各画素に対する差分とブロック中心画素に対する差分との差を閾値と比較して、各画素に対する差分を動きベクトル計算内の加算に含めるべきかを判定し、動きベクトル計算手段4は加算に含めるべきと判定された画素に対する差分を用いてブロック中心画素に対する動きベクトルを計算する。
本発明においては、その基本としてブロック勾配法を用いるために、具体的な実施形態をさらに説明する前に、まず通常のブロック勾配法について説明する。図2は、ブロック勾配法における画素値の差分の求め方の説明図である。同図において左側の画像は時刻t−1における画像、右側の画像は時刻tにおける画像であるとする。
図2において中央の画素E(x,y,t)を注目画素とし、この注目画素に対するx方向の画素値差分、y方向の画素値の差分、t方向の画素値の差分(いずれも絶対値)を次式を用いて求めるものとする。なおこの式は一例であり、差分の計算に異なる式を用いることも可能である。
本実施例では、5×5個の画素によって構成されるブロック領域に対応して、ブロックの中心画素に対する動きベクトルを検出するためのブロック勾配法を用いて、勾配法の条件式を解くものとする。図3は、5×5個の画素によって構成されるブロック内の画素番号の例である。中央の画素、すなわち画素番号0から始め、画素番号24までの画素のそれぞれに対するx方向画素値差分Ex0からEx24、y方向差分Ey0からEy24、t方向差分Et0からEt24を図2の考え方によって求める。
これらの画素値差分と動きベクトル(u,v)を用いることによって、ブロック勾配法の条件式が次のように求められる。
ここで動きベクトル(u,v)は次式によって与えられる。
以上がブロック勾配法の一般的説明であるが、本発明においては画素番号で1から24の画素のそれぞれに対応するx方向差分、y方向差分、t方向差分と、中央の画素、すな
わち画素番号0の画素に対するx方向差分、y方向差分、t方向差分との間でそれぞれ差を取り、その差の絶対値をあらかじめ定められた閾値、すなわちx方向の閾値、y方向の閾値、t方向の閾値とそれぞれ比較し、差の絶対値のいずれかが閾値以上となる画素に対するx方向、y方向、t方向の差分を、動きベクトル(u,v)を計算するための総和から除外し、動きベクトルの計算を行うものとする。これは閾値以上となる画素が、画像の領域として別の領域であるものと考えて、ブロック勾配法の拘束条件が成り立たない、すなわち動きベクトルが同一の領域にない画素であるものと考えるためである。
図4は、画像内の1つのブロックに対する画素値の具体例である。本実施例では、動きベクトル検出対象の画素を中心とする5×5個の画素によって1つのブロックが構成されるものとするが、この5×5個の画素に対して前述のx方向の差分、y方向の差分をそれぞれ計算するために、ブロックの周辺画素を加えた7×7個の画素の画素値が必要となる。また時間t方向の差分を求めるために、1時刻前のt−1における画素値も必要となる。図4の左側は時刻tにおける7×7個の画素の画素値を示し、右側は時刻t−1における7×7個の画素の画素値を示す。
図5は、前述の(1)式によって求められるE、E、およびEの値を示す。5×5個の画素によって構成されるブロック内のすべての画素に対して、x方向の差分(の絶対値)E、y方向の差分E、およびt方向の差分Eが示されている。
図5の差分に対して、各画素の差分と中央の画素の差分との差の絶対値が、各方向の閾値を越える画素を黒塗りとした結果を図6の上側に示す、その最も左側には各画素のx方向の差分Eと中央の画素の差分Ex0との差の絶対値が、x方向の閾値Ethx=10以上となる画素を黒塗りで示している。
中央には同様にy方向の差の絶対値がy方向の閾値Ethy=20以上となる画素を黒塗りで示し、最も右側にはt方向の差の絶対値がt方向の閾値Etht=30以上となる画素を黒塗りで示している。
図6の下側はこれらの3つの閾値条件のいずれかが成立する画素を黒塗りで示した状態を示す。本実施例では、中央の画素に対する動きベクトルの検出にあたり、黒塗りの画素に対するエッジ成分(差分)E、E、およびEを、前述の動きベクトル(u,v)の算出のための(3)式における加算から除外して、u,vの計算を行うことにする。
図7は、本実施例における動きベクトル検出方法、および検出プログラムの詳細フローチャートである。同図において処理が開始されると、まずステップS1からS14のy方向のループの処理が行われる。このループではy座標、すなわち縦方向の座標が“1”、すなわち最も上のラインがまず取られ、ループの繰り返し毎に1ラインずつ、画像の高さの値にy座標が達するまでループが繰り返される。
続いてステップS2からS13で、x方向のループの処理が行われる。このループでは、フィールド画像内でx座標が“1”、すなわち最も左側の列から始めて画素1個ずつ、画像の幅にx座標が一致するまで処理が繰り返される。
続いてステップS3で、ステップS1、S2のループの選択結果としての画素、最初は最も左上の画素を中心画素として、基本的には5×5個の画素によって決定されるブロックに対応してEx0、Ey0、Et0の計算が行われる。なお、この処理は後述するステップS7における処理の一部と重複するが、例えば図8の装置の構成で、これらの値をそれぞれ個別のレジスタに格納するために、またソフトウェアによる処理では別のメモリに格納するために行われる。
続いてステップS4からS11において、ブロック内のy方向ループとして、y座標、すなわちy_blkの値がy−N/2からy+N/2までのラインに対する処理が1ラインずつ行われる。ここでNはブロック内でy方向の画素の数、すなわちN=5であり、ブロック内のラインが上から1ラインずつ選択されて処理が行われることになる。なおN/2はNを2で割った結果の整数部である。
続いてステップS5からS10によって構成されるループによって、ブロック内のx方向ループの処理が行われる。すなわち、x_blkの値がx−N/2からx+N/2までの画素が1画素ずつ選択されて、ステップS6からS9の処理が行われることになる。
ステップS6では、まず動きベクトル(u,v)の計算式の内部で必要となる総和の値、すなわちE、E、E2(=E )、E2(=E )、およびEの総和の値がすべて初期化されて“0”とされ、ステップS7で座標(x_blk,y_blk)の画素に対するE、E、およびEの値が計算される。
続いてステップS8で、図6で説明した3つの閾値条件のいずれか1つがこの画素に対して成立しているか否かが判定され、成立していない場合にはE、E、E、E、Eの値がそれぞれの総和の式に加算された後に、また1つでも閾値条件が成立する場合にはその加算を行うことなく、ステップS10で1つのx方向ブロック内ループを終了する。
ブロック内の一番上のライン上で最も左側の画素から右側の画素に対してステップS6からS9の処理が繰り返され、その後ステップS4からS11で1ラインずつ、下のラインについて同様の処理が繰り返され、ブロック内のすべての画素に対する処理を終了すると、ステップS12で、求められたそれぞれの総和の値を用いて、ブロック内の中心画素(x,y)に対して動きベクトル(u,v)が算出される。
ステップS2からS13までのループにおいて、画像内の最も上のラインの最も左側の画素から1画素ずつ、その画素を中心画素とするブロックに対して動きベクトル算出が繰り返され、それが終了すると、ステップS1からS14のループにおいて、上から2番目、3番目..のライン内の画素に対する処理が繰り返され、画像高さ、すなわち最も下のラインの画素に対する処理までが繰り返されて、動きベクトル算出処理を終了する。
図8は、動きベクトル検出装置の詳細構成ブロック図である。同図において動きベクトル検出装置10に対しては、前フレーム保持メモリ11と、現フレーム保持メモリ12とが接続され、前フレーム保持メモリ11からは、例えば前フレーム内のトップフィールドの画像データが、また現フレーム保持メモリ12からは同様に現フレーム内のトップフィールドの画像データが動きベクトル検出装置10に与えられ、動きベクトル検出装置10からは入力画像内の各画素に対する動きベクトル(u,v)が出力される。
動きベクトル検出装置10は、前フレーム保持メモリ11から入力される画像データを格納するラインバッファ13、現フレーム保持メモリ12から入力され、周辺画素を含み、1つのブロックの画像データを含むN行(Nライン分)のデータを格納するラインバッファN行14、t方向差分を計算するE計算部15、x方向差分を計算するE計算部16、y方向差分を計算するE計算部17、加算判定部18、5つの乗算器19から19、5つの加算器20から20、それぞれ加算結果を格納するΣE格納部21、ΣE格納部22、ΣE 格納部23、ΣE格納部24、ΣE 格納部25、および動きベクトル計算部26によって構成されている。
本実施例において、最も特徴的な構成要素としての加算判定部18は、ブロックの中央の画素に対応するEt0、Ex0、Ey0、加算判定の対象となる画素に対応するE、E、Eをそれぞれ格納する6個のレジスタ31から36、これら6個のレジスタに格納されている値とx方向、y方向、t方向に対する閾値を用いて、図6で説明した3つの閾値条件が1つでも成立するか否かを判定する比較部37、比較部37の判定結果に従って、3つの閾値条件のいずれも成立しない場合にはE、E、Eの値をそれぞれ出力し、いずれか1つの閾値条件が成立する場合にはそれぞれ“0”を出力する3つのセレクタ38から40によって構成されている。
なお、本発明の特許請求の範囲の請求項1における画素値差分計算手段は図8の各計算部15〜17に対応し、加算判定手段は加算判定部18に相当し、動きベクトル計算手段はそれぞれ5つの乗算器19と加算器20、5つの格納部21〜25、および動きベクトル計算部26に相当する。
図8において3つの閾値条件のいずれも成立しない場合には、セレクタ38からEが2つの乗算器19、19に出力され、またセレクタ39からEの値が乗算器19に対する2つの入力として、また乗算器19と19に対する1つの入力として与えられる。さらにセレクタ40からEの値が乗算器19と19とに対する1つの入力として、また乗算器19に対する2つの入力として与えられる。
乗算器19の出力は加算器20によってΣEに加算され、乗算器19の出力は加算器20によってΣEに加算され、乗算器19の出力は加算器20によってΣE に加算され、乗算器19の出力は加算器20によってΣEに加算され、また乗算器19の出力は加算器20によってΣE に加算される。
図9は、本発明の動きベクトル検出方式と従来技術としてのブロックマッチング、およびブロック勾配法との比較の説明図である。まず演算量については、本発明とブロック勾配法との演算量はほぼ同じで、ブロックマッチングに比べてかなり小さく、画像の拡大、縮小、および回転に対しても対応が可能である。例えば観覧車の画像のように、回転するような物体の画像に対しては、ブロックマッチングではある方向のテンプレートを動かすために、動きベクトルを検出することが困難である。検出精度については、本発明においてはブロック内の画素と中央の画素との画素値の差分の差の絶対値がある閾値以上になる場合には、その画素に対する差分を動きベクトル算出のための総和に加算しないことによって、ブロック勾配法の欠点である画像のエッジ部分で精度が落ちてしまうことを防止することができ、ブロックマッチングと同程度の検出精度を得ることができる。
なお、以上の説明では、インタレース方式のフィールド画像を例として、本発明の動きベクトル検出方式を説明したが、本発明の適用範囲はこれに限定されることなく、各種の画像処理に適用可能なことは当然である。
本発明の動きベクトル検出装置の原理構成ブロック図である。 ブロック勾配法における画素値の差分の求め方の説明図である。 1つのブロック内の画素の番号の説明図である。 1つのブロックに対応する画素の画素値の具体例である。 図4の具体例に対する画素値の差分の説明図である。 本実施例において動きベクトルの算出に使用しない画素の説明図である。 本実施例における動きベクトル算出方式の処理フローチャートである。 本実施例における動きベクトル検出装置の詳細構成ブロック図である。 本発明と従来技術との比較を示す図である。
符号の説明
1、10 動きベクトル検出装置
2 画素値差分計算手段
3 加算判定手段
4 動きベクトル計算手段
11 前フレーム保持メモリ
12 現フレーム保持メモリ
13 ラインバッファ
14 ラインバッファN行
15 E計算部
16 E計算部
17 E計算部
18 加算判定部
19 乗算器
20 加算器
21 ΣE格納部
22 ΣE格納部
23 ΣE 格納部
24 ΣE格納部
25 ΣE 格納部
26 動きベクトル計算部
31 Et0レジスタ
32 Eレジスタ
33 Ex0レジスタ
34 Eレジスタ
35 Ey0レジスタ
36 Eレジスタ
37 比較部
38、39、40 セレクタ

Claims (5)

  1. 入力画像内でブロックを構成する複数の各画素に対応して、現時点の画像内の注目画素の近傍の画素の間の画素値の差分と、1時刻前の画像内で該注目画素に対応する画素と該注目画素との間の画素値の差分とを、該注目画素をブロック内で移動させながら求める画素値差分計算手段と、
    該画素値差分計算手段の出力する前記ブロック内の各画素に対する画素値の差分と該ブロックの中心画素に対する画素値の差分との差の絶対値をあらかじめ定められた閾値と比較して、動きベクトルの計算における加算に、該各画素に対する画素値の差分を含めるべきか否かを判定する加算判定手段と、
    該加算判定手段によって加算に含めるべきものと判定された画素値の差分を用いて、前記ブロックの中心画素に対する動きベクトルを計算する動きベクトル計算手段とを備えることを特徴とする動きベクトル検出装置。
  2. 前記加算判定手段が、前記差の絶対値が前記閾値より大きい特に、前記画素値の差分を前記加算に含めないものと判定することを特徴とする請求項1記載の動きベクトル検出装置。
  3. 前記画素値の差分が、注目画素の横方向の隣接画素の間、縦方向の隣接画素の間、および注目画素と1時刻前の画像内で同一位置の画素との間の画素値の差分であることを特徴とする請求項1記載の動きベクトル検出装置。
  4. 入力画像内でブロックを構成する複数の各画素に対応して、現時点の画像内の注目画素の近傍の画素の間の画素値の差分と、1時刻前の画像内で該注目画素に対応する画素と該注目画素との間の画素値の差分とを、該注目画素をブロック内で移動させながら求め、
    前記ブロック内の各画素に対する画素値の差分と該ブロックの中心画素に対する画素値の差分との差の絶対値をあらかじめ定められた閾値と比較して、動きベクトルの計算における加算に、該各画素に対する画素値の差分を含めるべきか否かを判定し、
    加算に含めるべきものと判定された画素値の差分を用いて、前記ブロックの中心画素に対する動きベクトルを計算することを特徴とする動きベクトル検出方法。
  5. 請求項4に記載の動きベクトル検出方法を計算機に実行させるための動きベクトル検出プログラム。
JP2006332544A 2006-12-08 2006-12-08 動きベクトル検出装置、検出方法、および検出プログラム Withdrawn JP2008147974A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006332544A JP2008147974A (ja) 2006-12-08 2006-12-08 動きベクトル検出装置、検出方法、および検出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006332544A JP2008147974A (ja) 2006-12-08 2006-12-08 動きベクトル検出装置、検出方法、および検出プログラム

Publications (1)

Publication Number Publication Date
JP2008147974A true JP2008147974A (ja) 2008-06-26

Family

ID=39607659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006332544A Withdrawn JP2008147974A (ja) 2006-12-08 2006-12-08 動きベクトル検出装置、検出方法、および検出プログラム

Country Status (1)

Country Link
JP (1) JP2008147974A (ja)

Similar Documents

Publication Publication Date Title
US7636451B2 (en) Digital watermark embedding apparatus and method, and digital watermark detection apparatus and method
US8804834B2 (en) Image processing apparatus, image processing method and image processing program
US9436981B2 (en) Dictionary creation device, image processing device, image processing system, dictionary creation method, image processing method, and program
CN111640089A (zh) 一种基于特征图中心点的缺陷检测方法及装置
US8948502B2 (en) Image processing method, and image processor
JP4513034B2 (ja) 画像信号処理装置、画像信号処理方法、およびプログラム
US6876778B2 (en) Edge enhancement method and apparatus in digital image scalar-up circuit
JP4659793B2 (ja) 画像処理装置及び画像処理方法
JP4496595B2 (ja) 画像処理装置および画像処理方法、並びに記録媒体
CN112001949A (zh) 确定目标点移动速度的方法、装置、可读存储介质及设备
JP2006215655A (ja) 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体
US8559518B2 (en) System and method for motion estimation of digital video using multiple recursion rules
JP5417312B2 (ja) 画像検索装置、および画像検索プログラム
KR101204866B1 (ko) 윈도우 기반 영상 처리에서 고속으로 윈도우 영역 내 화소 연산을 수행하기 위한 방법 및 장치
JP2008147974A (ja) 動きベクトル検出装置、検出方法、および検出プログラム
JP5683153B2 (ja) 画像処理装置および画像処理方法
JP2006215657A (ja) 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体
JP2006201914A (ja) 画像フィルタ装置、方法およびコンピュータプログラム
WO2016142965A1 (ja) 映像処理装置、映像処理方法及び映像処理プログラムを記憶する記録媒体
JP2010039968A (ja) オブジェクト検出装置及び検出方法
EP2924649A1 (en) Method and an apparatus for generating an approximate nearest neighbor field (annf) for images and video sequences
EP3001685A1 (en) Method and apparatus for estimating absolute motion values in image sequences
JP4859168B2 (ja) 動き検出装置及び動き検出方法
US9667960B1 (en) Low complexity cost function for sub-pixel motion estimation
TWI493476B (zh) 影像處理電路與方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100302