JP4224999B2 - Image processing apparatus and image processing method - Google Patents

Image processing apparatus and image processing method Download PDF

Info

Publication number
JP4224999B2
JP4224999B2 JP2002222044A JP2002222044A JP4224999B2 JP 4224999 B2 JP4224999 B2 JP 4224999B2 JP 2002222044 A JP2002222044 A JP 2002222044A JP 2002222044 A JP2002222044 A JP 2002222044A JP 4224999 B2 JP4224999 B2 JP 4224999B2
Authority
JP
Japan
Prior art keywords
pixel
feature amount
information
value
target pixel
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
JP2002222044A
Other languages
Japanese (ja)
Other versions
JP2004064564A (en
JP2004064564A5 (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 JP2002222044A priority Critical patent/JP4224999B2/en
Publication of JP2004064564A publication Critical patent/JP2004064564A/en
Publication of JP2004064564A5 publication Critical patent/JP2004064564A5/ja
Application granted granted Critical
Publication of JP4224999B2 publication Critical patent/JP4224999B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、たとえば動画像圧縮装置などに用いられる動き検出装置等の画像処理装置および画像処理方法に関するものである。
【0002】
【従来の技術】
画像処理装置においては、動画像圧縮を効率よく行うための主要技術の1つとして、画像の動きを示す動きベクトルを求める動き検出がある。この動きベクトルを求める手法はいくつか提案されているが、主な手法の1つとしてブロックマッチングアルゴリズムと呼ばれる手法がある。
【0003】
図1は、ブロックマッチングアルゴリズムを採用した従来の画像処理装置における動き検出装置の構成例を示すブロック図である。
【0004】
この動き検出装置1は、フレームメモリ2,3、および動きベクトル検出部4を有している。
動き検出装置1においては、入力端子TINから画像信号が入力されると、1画面の情報がフレームメモリ2に格納される。
次の画面情報が入力されると、先ほどの(前回に入力された)フレームメモリ2の情報がフレームメモリ3に格納され、現在(今回)入力された情報がフレームメモリに格納される。
すなわち、カレントフレームFcの情報がフレームメモリ2に、参照フレームFrの情報がフレームメモリ3に格納されていることになる。
次に、カレントフレームFc、参照フレームFrの情報が動きベクトル検出部4に送られる。そして、動きベクトル検出部4でブロック分けされて動きベクトル(Vx,Vy)が検出されて、端子TOUT から出力される。
【0005】
図2は、ブロックマッチングアルゴリズムの概要を説明するための図である。以下に、アルゴリズムの概要を図2に関連付けて説明する。
【0006】
このアルゴリズムにおいては、カレントフレームFc内の注目画素Fc(x,y)における動きベクトルは、注目画素Fc(x,y)を中心としてある基準ブロック範囲(L×L)の画素と、参照フレームFr内のサーチエリアSR内の前記ブロック範囲(L×L)と同じブロック範囲内の画素とで対応する画素との差分絶対値和を演算する。
サーチエリアSR内で抽出するブロック範囲を一画素ずつ移動させながら上述の演算を繰り返し、全てのブロックの中で最も差分絶対値和が最も小さいブロックの中心位置と注目画素位置との差分ベクトルを解(動きベクトル)とする。
【0007】
次に、図3に関連付けてカレントフレームFc内にある画素Fc(x,y)の動きベクトルを検出する処理手順を詳細に説明する。
【0008】
ステップSTl
ステップSTlにおいては、処理開始ST0後、注目画素の位置(x,y)から参照フレーム内の同位置を基準としたサーチエリアSRが決定する。
【0009】
ステップST2
ステップST2においては、演算結果の最小値を格納する変数minの初期化のために、演算式の最大値を代入する。1画素を8ビット、ブロック内の画素数を16とすると、28 ×16=4096をminに代入する。
【0010】
ステップST3
ステップST3においては、サーチエリアSR内のブロックをカウントするカウンタ変数nを1に初期化する。
【0011】
ステップST4
ステップST4においては、演算結果を代入する変数sumを0に初期化する。
【0012】
ステップST5
ステップST5においては、基準ブロックの範囲をL×L、カレントフレームFcのあるブロック内の画素をFc(i,j)、参照フレームFrのサーチエリアSR内のk番目のブロック内の画素をFrk(i,j)とすると、対応する画素との差分絶対値和、すなわち次の数1に示す演算を行い、演算結果をsumに代入する。
【0013】
【数1】

Figure 0004224999
【0014】
ステップST6
ステップST6においては、演算した差分絶対値和sumと差分絶対値和の最小値minとの大小関係の判別を行う。演算した差分絶対値和sumが小さい場合にはステップST7へ、大きい場合(等しいを含む)には演算結果が最小値ではないので更新手続きのステップST7をスキップしてステップST8へ進む。
【0015】
ステップST7
ステップST7においては、最小値minを演算結果sumに更新し、動きベクトル番号としてブロックのカウント値nを設定する。
【0016】
ステップST8
ステップST8においては、ブロックのカウント値nがサーチエリアSR内のブロック総数、つまり最後のブロックならば終了なのでステップST10へ、最後のブロックではなければ、ST9へ進む。
【0017】
ステップST9
ステップST9においては、ブロックのカウント値nをn+1にインクリメントして、演算を繰り返すためにステップST4へ進む。
【0018】
ステップST10
ステップST10においては、動き番号に格納されているブロック番号のブロックの中心画素と(x,y)から動きベクトルを求めて出力する。
【0019】
【発明が解決しようとする課題】
上述したブロックマッチングアルゴリズムは、式(1)の演算量が非常に膨大となっており、MPEG等の画像圧縮処理の大半の時間がこれに費やされるという不利益がある。
【0020】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、僅かな演算量のみでマッチング処理を行うことができ、しかも動きベクトル等を精度良く検出することを可能とする、画像処理装置および画像処理方法を提供することにある。
【0021】
【課題を解決するための手段】
上記目的を達成するため、本発明の第1の観点に係る画像処理装置は、入力画像データを所定数の画素を含むブロックにブロック化し、上記ブロック化された画像データ毎に特徴量を抽出する特徴量抽出手段と、上記特徴量をアドレスとして、上記ブロック化された画像データの位置情報を格納する格納手段と、注目位置の上記ブロックの上記特徴量に基づいて、上記格納手段に格納された上記画像データの位置情報と上記特徴量とのマッチング処理を行い、マッチングした結果、規定範囲外にある場合には、近傍の特徴量を選択して再度マッチング処理を行うマッチング手段とを有する。
【0022】
第1の観点では、上記特徴量には周辺画素値を含む。
【0023】
第1の観点では、上記画素値は複数のビットで表され、上記マッチング手段は、フレーム毎にバラツキを含む画像の場合には、上記複数ビットの所定ビットを除いてマッチング処理を行う。
好適には、上記複数ビットの下位側ビットをマスクしてマッチング処理を行う。
また、好適には、複数ビットのビット数を少なくして再量子化を行う。
【0024】
第1の観点では、上記特徴量には適応的量子化(ADRC)に基づく量子化コードを含む。
【0025】
第1の観点では、上記マッチング手段は、マッチング結果に基づいて注目ブロックの動き検出を行い、検出した動き情報の値が規定範囲外にあるときに、近傍の特徴量を選択して再度マッチング処理を行う。
【0026】
第1の観点では、上記マッチング手段は、マッチング処理を行う際の近傍の特徴量として、少なくとも特徴量をnビット表現した際の所定ビットを反転させたものを対象とする。
【0027】
第1の観点では、上記マッチング手段は、上記近傍の特徴量の選択において注目画素のパターンに応じてビット反転の形態を変更する
【0028】
本発明の第2の観点に係る画像処理装置は、画像データのカレントフレームの情報と参照フレームの情報とのマッチング処理を行う画像処理装置であって、上記参照フレームの情報に基づいて注目画素を中心とした所定のブロック範囲の画素値を含む特徴量をアドレスとして変換し、変換後の位置座標を含む情報を格納する格納手段と、上記カレントフレームの情報に含まれる注目画素の特徴量を、特徴量アドレスとして上記格納手段の格納情報を読み取り、カレントフレーム内の注目画素と上記格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離をそれぞれ演算し、各演算結果同士のマッチング処理を行い、特徴量が規定範囲外にある場合には、近傍の特徴量を選択して再度マッチング処理を行うマッチング手段とを有する。
【0029】
第2の観点では、上記マッチング手段は、カレントフレーム内の注目画素と上記格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離をそれぞれ演算し、複数の候補の中から距離が最小である位置情報に基づいた差分座標を注目画素の動き情報として検出し、検出した動き情報の値が想定される動き情報の規定値より小さいときは、検出した動き情報を正しい情報として判断し、検出した動き情報の値が想定される動き情報の規定値以上の場合は、想定外の動き情報として判断して、カレントフレーム内の画素と上記格納手段で近い特徴量アドレスを生成し、近傍画素の位置情報に基づいて再度マッチング処理を行う。
【0030】
本発明の第3の観点に係る画像処理装置は、画像データのカレントフレームの情報と参照フレームの情報とのマッチング処理を行う画像処理装置であって、上記カレントフレームの情報を受けて適応的量子化(ADRC)に基づく量子化コードをカレントフレームの特徴量として生成し、上記参照フレームの情報を受けて適応的量子化(ADRC)に基づく量子化コードを参照フレームの特徴量として生成する特徴量生成手段と、上記特徴量生成手段による参照フレームの特徴量をアドレスとして変換して、変換後の情報を格納する格納手段と、上記特徴量生成手段によるカレントフレームの特徴量を、特徴量アドレスとして上記格納手段の格納情報を読み取り、カレントフレーム内の注目画素と上記格納手段から読み込んだ特徴量アドレスに含まれる上記ADRCの量子化コードのマッチング処理を行い、特徴量が一致しない場合には、近傍の特徴量を選択して再度マッチング処理を行うマッチング手段とを有する。
【0031】
本発明の第4の観点に係る画像処理方法は、入力画像データを所定数の画素を含むブロックにブロック化する第1のステップと、上記ブロック化された画像データ毎に特徴量を抽出する第2のステップと、上記抽出された特徴量をアドレスとして、上記ブロック化された画像データの位置情報を格納手段に格納する第3のステップと、注目位置の上記ブロックの上記特徴量に基づいて、上記格納手段に格納された上記画像データの位置情報と上記特徴量とのマッチング処理を行い、マッチングした結果、規定範囲外にある場合には、近傍の特徴量を選択して再度マッチング処理を行う第4のステップとを有する。
【0032】
本発明の第5の観点に係る画像処理方法は、画像データのカレントフレームの情報と参照フレームの情報とのマッチング処理を行う画像処理方法であって、上記参照フレームの情報に基づいて注目画素を中心とした所定のブロック範囲の画素値を含む特徴量をアドレスとして変換し、変換後の位置座標を含む情報を格納手段に格納する第1のステップと、上記カレントフレームの情報に含まれる注目画素の特徴量を、特徴量アドレスとして上記格納手段の格納情報を読み取り、カレントフレーム内の注目画素と上記格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離をそれぞれ演算する第2のステップと、各演算結果同士のマッチング処理を行い、特徴量が規定範囲外にある場合には、近傍の特徴量を選択して再度マッチング処理を行う第3のステップとを有する。
【0033】
第5の観点では、上記第3のステップにおいては、上記演算結果の複数の候補の中から距離が最小である位置情報に基づいた差分座標を注目画素の動き情報として検出し、検出した動き情報の値が想定される動き情報の規定値により小さいときは、検出した動き情報を正しい情報として判断し、検出した動き情報の値が想定される動き情報の規定値以上の想定外の動き情報として判断して、カレントフレーム内の画素と上記格納手段で近い特徴量アドレスを生成し、近傍画素の位置情報に基づいて再度マッチング処理を行う。
【0034】
本発明の第6の観点に係る画像処理方法は、画像データのカレントフレームの情報と参照フレームの情報とのマッチング処理を行う画像処理方法であって、上記カレントフレームの情報を受けて適応的量子化(ADRC)に基づく量子化コードをカレントフレームの特徴量として生成する第1のステップと、上記参照フレームの情報を受けて適応的量子化(ADRC)に基づく量子化コードを参照フレームの特徴量と生成する第2のステップと、上記第2のステップによる参照フレームの特徴量をアドレスとして変換し、変換後の情報を格納手段に格納する第3のステップと、上記第1のステップによるカレントフレームの特徴量を、特徴量アドレスとして上記格納手段の格納情報を読み取り、カレントフレーム内の注目画素と上記格納手段から読み込んだ特徴量アドレスに含まれる上記ADRACの量子化コードのマッチング処理を行い、マッチングの結果、特徴量が一致しない場合には、近傍の特徴量を選択して再度マッチング処理を行う第4のステップとを有する。
【0035】
本発明によれば、入力画像データが、特徴抽出手段において、所定数の画素を含むブロックにブロック化され、ブロック化された画像データ毎に特徴量が抽出され格納手段およびマッチング手段に供給される。
格納手段においては、特徴量をアドレスとして、ブロック化された画像データの位置情報が格納される。
マッチング手段において、注目位置のブロックの上記特徴量に基づいて、格納手段に格納された上記画像データの位置情報と特徴量とのマッチング処理が行われる。
そして、マッチングした結果、規定範囲外にある場合には、近傍の特徴量が選択されて再度マッチング処理が行われる。
【0036】
また、本発明によれば、格納手段において、参照フレームの情報に基づいて注目画素を中心とした所定のブロック範囲の画素値を含む特徴量がアドレスとして変換され、変換後の位置座標を含む情報が格納される。
マッチング手段においては、カレントフレームの情報に含まれる注目画素の特徴量を、特徴量アドレスとして格納手段の格納情報が読み取られる。
マッチング手段においては、カレントフレーム内の注目画素と格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離がそれぞれ演算される。
マッチング手段においては、演算結果の複数の候補の中から距離が最小である位置情報に基づいた差分座標が注目画素の動き情報として検出される。
そして、検出した動き情報の値が想定される動き情報の規定値より小さいときは、検出した動き情報を正しい情報として判断される。
一方、検出した動き情報の値が想定される動き情報の規定値以上の想定外の動き情報として判断されて、カレントフレーム内の画素と格納手段で近い特徴量アドレスが生成され、近傍画素の位置情報に基づいて再度マッチング処理が行われる。
【0037】
また、本発明によれば、特徴量生成手段において、カレントフレームの情報を受けて適応的量子化(ADRC)に基づく量子化コードがカレントフレームの特徴量として生成され、マッチング手段に出力される。
また、特徴量生成手段において、参照フレームの情報を受けて適応的量子化(ADRC)に基づく量子化コードが参照フレームの特徴量として生成されて、格納手段に出力される。
格納手段においては、特徴量生成手段による参照フレームの特徴量がアドレスとして変換されて、変換後の情報が格納される。
マッチング手段においては、特徴量生成手段によるカレントフレームの特徴量を、特徴量アドレスとして格納手段の格納情報が読み取られる。
マッチング手段においては、カレントフレーム内の注目画素と格納手段から読み込んだ特徴量アドレスに含まれるADRCの量子化コードのマッチング処理が行われる。
そして、マッチング手段において、ADRCの量子化コードのマッチング処理の結果、一致した場合に注目画素の動き情報として検出される。
一方、特徴量が一致しない場合には、近傍の特徴量が選択して再度マッチング処理が行われる。
【0038】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
【0039】
第1実施形態
図4は、本発明に係る画像処理装置の要部である動き検出装置の第1の実施形態を示すブロック図である。
【0040】
本動き検出装置は、特徴量をアドレスとして位置情報を格納する動き検出メモリ(以下、MEメモリという)を設け、周辺画素値を特徴量としてマッチング処理を行うことにより、僅かな演算で動きベクトルを精度良く推定することを可能とするものである。
以下、本動き検出装置の具体的な構成および機能について、図面を参照しながら詳細に説明する。
【0041】
本動き検出装置10は、第1のフレームメモリ11、第2のフレームメモリ12、MEメモリ13、およびアドレス制御部14を有している。
なお、第1のフレームメモリ11により本発明に係る特徴量抽出手段が構成され、MEメモリ13により本発明に係る格納手段が構成され、アドレス制御部14により本発明に係るマッチング手段が構成される。
【0042】
第1のフレームメモリ11は、入力端子TINから入力された画像信号の1画面の情報を格納する。
第1のフレームメモリ11は、次の画面情報が入力されると先に格納した画面情報、すなわちカレントフレームFcの情報を格納し、カレントフレームFcの情報を第2のフレームメモリ12、およびアドレス制御部14に出力する。
また、第1のフレームメモリ11は、カレントフレームFcの情報とともに、注目画素の特徴量、つまりアドレス情報をアドレス制御部14に供給する。
【0043】
第2のフレームメモリ12は、第1のフレームメモリ11に格納されていた以前(たとえば1回前)の画面情報を参照フレームFrの情報として格納する。
【0044】
MEメモリ13は、第2のフレームメモリ12に格納されている参照フレームFrの情報に基づいて、注目画素を中心としたあるブロック範囲の画素値である特徴量をアドレスとして変換し、変換後の位置座標を含む情報を格納する。
【0045】
アドレス制御部14は、第1のフレームメモリ11から供給されたカレントフレームFcの情報に含まれる注目画素の特徴量を、特徴量アドレスとしてMEメモリ13の格納情報を読み取り、マッチング処理として、カレントフレーム内の注目画素とMEメモリ13から読み込んだ特徴量アドレス(位置座標)との距離を演算し、複数の候補の中から距離が最小である位置情報に基づいた差分座標を注目画素の動きベクトル(Vx,Vy)として検出する。
アドレス制御部14は、検出した動きベクトルMの値が想定される動きベクトルの最大値Mmax より小さいときは(規定範囲内にあるとき)、正しい動きベクトルとして判断し、端子TOUT から出力する。
アドレス制御部14は、検出した動きベクトルMの値が想定される動きベクトルの最大値Mmax より大きいときは(規定範囲外にあるとき(等しい場合も含む))、対応していない位置の動きベクトルと判断し、カレントフレーム内の画素とMEメモリ13で近い特徴量のアドレスを生成して、近傍画素の位置情報に基づいて(近傍の特徴量を選択して)再度マッチング処理を行う。
なお、アドレス制御部14は、たとえば近傍の特徴量の選択においてビット反転を行うが、このとき注目画素のパターンに応じてビット反転の形態を変更する。
このアドレス制御部14における処理については後でさらに詳述する。
【0046】
以下、本実施形態の特徴である特徴量アドレス方式を採用したMEメモリ13の構成および機能について、図5および図6に関連付けて、さらに詳細に説明する。
図5は、特徴量アドレス方式を採用したMEメモリの構成例を示す図である。また、図6は、参照フレームの情報をMEメモリに格納する手順を説明するためのフローチャートである。
【0047】
従来のメモリの場合、画素の位置情報をアドレスとして画素値を格納するものであるが、本MEメモリ13の場合、特徴量をアドレスとして、特徴量毎にその特徴量を持つ画素の位置情報を順次フラグアドレスFRGA1,2...、つまり図5のB、Cに格納していく。
本実施形態においては、1つのセルME−B1は、位置情報分の記憶容量を備えているものとする。同時に、フラグアドレスFRGA0には、その特徴量に格納した数をインクリメントして格納しておくものとする。
特徴量としては、注目画素を中心としたあるブロック内の画素値とする。たとえば、ブロック範囲を3×3、垂直方向をi、水平方向をj、位置(i,j)の画素値をL(i,j)とすると、この場合の特徴量は、次の数2のようになる。
【0048】
【数2】
Figure 0004224999
【0049】
次に、参照フレームの情報をMEメモリに格納する手順を、図6のフローチャートに関連付けて説明する。
参照フレームFrの情報がフレームメモリ12に格納されると処理を開始する。
【0050】
ステップST101
ステップST101においては、MEメモリ内の全データを0に初期化する。0を書き込むか、リセット信号をOnする。
【0051】
ステップST102
ステップST102においては、1フレームメモリ内の画素をカウントするカウンタ変数nを0に初期化する。
【0052】
ステップST103
ステップST103においては、図4のフレームメモリ11から注目画素Lnを中心としたあるブロック範囲の画素値を特徴量(特徴量アドレス)とする。
【0053】
ステップST104
ステップST104においては、特徴量アドレスをステップST103での特徴量、フラグアドレスを0とした場合のMEメモリ13の内容MEメモリ(特徴量、0)を読み込みフラグアドレスに設定する。
【0054】
ステップST105
ステップST105においては、特徴量アドレスをステップST103での特徴量、フラグアドレスを0とした場合のMEメモリ13の内容MEメモリ(特徴量、0)をインクリメントする。
【0055】
ステップST106
ステップST106においては、MEメモリ13の内容MEメモリ(特徴量、フラグアドレス+1)の内容に、注目画素Lnの位置情報を書き込む。
【0056】
ステップST107
ステップST107においては、カウント変数nをインクリメントする。
【0057】
ステップST108
ステップST108においては、注目画素Lnがフレーム内の最後の画素かの判別を行う。最後の画素ではなければ、ステップST103へ進んで次の画素に関して同処理を繰り返す。
また、最後の画素ならば、処理を終了するために、ステップST109へ進む。
【0058】
次に、本実施形態に係る動きベクトル検出の処理手順を、図4および図7に関連付けて説明する。
なお、図7は、本実施形態に係る動きベクトル検出の処理手順を説明するためのフローチャートである。
【0059】
ステップST201
ステップST201においては、フレームメモリ11,12にそれぞれカレントフレームFc、参照フレームFrの情報が格納された後に、参照フレームの情報を特徴量アドレスに変換しながらMEメモリ13に格納する。詳細は、上述(ステップST100〜ST109)している。
【0060】
ステップST202
ステップST202においては、1フレームの画素をカウントするカウント変数nを0に初期化する。
【0061】
ステップST203
ステップST203においては、第1のカレントフレーム11内の注目画素Lnの特徴量は、その画素を中心としたあるブロック範囲の画素値なので、それらを特徴量として、アドレス制御部14に送る。
【0062】
ステップST204
ステップST204においては、アドレス制御部14は、受け取った特徴量を特徴量アドレスとして、MEメモリ13から内容MEメモリ(特徴量アドレス、0)の値を読み込み、候補数を意味する変数knに代入する。
また、候補数カウンタを意味する変数kを1に、距離の最小値を意味する変数minを∞に、距離を意味する変数Lを0に初期化する。
【0063】
ステップST205
ステップST205においては、カレントフレーム内の注目画素LnとMEメモリ13から読み込んだMEメモリ内容(特徴量アドレス、k)=位置座標との距離を演算して、変数Lに代入する。
【0064】
ステップST206
ステップST206においては、ステップST205で求まった距離Lと距離の最小値minとの大小判別を行う。
その結果、min>Lならば、距離の最小値Lを更新するためにステップST207へ、min≦Lならば、更新ステップをスキップして、ステップST208へ進む。
【0065】
ステップST207
ステップST207においては、距離の最小値minをLに更新する。その際のフラグアドレス値、つまりkを変数ansに格納しておく。
【0066】
ステップST208
ステップST208においては、候補カウンタが候補数であるかの判別を行い、候補数である場合はステップST210へ、まだ候補がある場合は、ステップST209へ進む。
【0067】
ステップST209
ステップST209においては、候補カウンタkをインクリメント後、ステップST205へ進む。
【0068】
ステップST210
ステップST210においては、カレントフレーム内の画素Lnと距離が最少である位置情報、つまりMEメモリ(特徴量アドレス番号0,ans)の値を読み込み、差分座標を動きベクトルMとする。
【0069】
ステップST215
ステップST215においては、該当する特徴量アドレスで求まる動きベクトルMの値が、想定される動きベクトルの最大値Mmaxより小さいとき(M<Mmax )、正しい動きベクトルと判断され、ST211に進む。
該当する特徴量アドレスで求まる動きベクトルMの値が、想定される動きベクトルの最大値Mmax 以上のとき(M≧Mmax )、対応しない場所の動きベクトルと判断され、ST216に進む。
【0070】
ステップST216
ステップST216においては、カレントフレーム内の画素LnとMEメモリ13で近い特徴量のアドレスを生成して、その特徴量のアドレス(特徴量アドレス番号p,k)=位置座標との距離(近傍特徴量アドレスの候補数pn,候補数kn)を演算して、変数Lに代入する。
【0071】
ステップST217
ステップST217においては、ステップST205で求まった距離Lと距離の最小値minとの大小判別を行い、min>Lならば、距離の最小値Lを更新するためにステップST207へ、min≦Lならば、更新ステップをスキップして、ステップST208へ進む。
【0072】
ステップST218
ステップST218においては、距離の最小値minをLに更新する。その際のフラグアドレス値、つまりkを変数ansに格納しておく。
【0073】
ステップST219
ステップST219においては、候補カウンタが候補数であるかの判別を行い、候補数である場合はステップST210へ、まだ候補がある場合は、ステップc−WS9へ進む。
【0074】
ステップST220
ステップST220においては、候補カウンタkをインクリメント後、ステップST205へ進む。
【0075】
ステップST221
ステップST221においては、カレントフレーム内の画素Lnと距離が最少である位置情報、つまりMEメモリ(特徴量アドレス番号0,ans)の値を読み込み、差分座標を動きベクトルMとする。
【0076】
ステップST222,ST223
ステップST222およびST223においては、該当する特徴量アドレスで求まる動きベクトルMの値が、想定される動きベクトルの最大値Mmax より小さいとき(M<Mmax )、正しい動きベクトルと判断され、ST211に進む。
該当する特徴量アドレスで求まる動きベクトルMの値が、想定される動きベクトルの最大値Mmax 以上のとき(M≧Mmax )、対応しない場所の動きベクトルと判断され、別の近傍特徴量アドレスの生成のためST216に進む。
【0077】
ステップST211
ステップST211においては、注目画素の動きベクトルを出力する。
【0078】
ステップST212
ステップST212においては、画素のカウンタ変数nをインクリメントする。
【0079】
ステップST213
ステップST213においては、注目画素がカレントフレーム内の最後の画素であるかの判別を行い、最後の画素であれば終了のためステップST214へ、違う場合は、次の画素の動きベクトルを求めるためにステップST203へ進む。
【0080】
次に、近傍特徴量の算出について説明する。
動き物体のある部分の特徴量が隣接フレームで少量変化することがありうる。本実施形態においては、その対応として、特徴量が少々変化しても、近傍の特徴量から似た特徴量を当てはめて移動距離を求める手法を採用する。
特徴量空間の各要素間は直交の関係にあるため、ある特徴量は図8のd−a1のように要素の個数を軸とした特徴量空間で定義される。すなわち、d−a1で示す座標に特徴量を抽出した画素の空間座標をリンクさせる。
ある特徴量に対して近傍の特徴量は、図8中d−a2で示すように、各特徴量軸x,y,zの値に対してある範囲の振れ幅を許容する領域として定義される。本実施形態に係る特徴量は、上述したように、注目画素を中心としたあるブロック内の画素値である。たとえば、ブロック範囲を3×3、垂直方向をi、水平方向をj位置(1,j)の画素値をL(1,j)とすると、この場合の特徴量は、式(2)で与えられる。
【0081】
近傍特徴量の例としては、図9のST301の特徴量の1ビット反転を挙げることができる。特徴量が注目画素を中心としたあるブロック内の画素値であるので、以下の数3のように起こりうる変化は画素値に差分qnを足した値とする。
【0082】
【数3】
Figure 0004224999
【0083】
q1からq9までのどれか1つの値を変えることで、図7のステップST216の近傍特徴量アドレスの候補ができる。
式(3)のLどれか1つの値のビット反転の場合、近傍特徴量アドレス数Pn=9となる。
近傍特徴量の定義の仕方として、近い値から求めて、それでも解が求まらない場合に差qnを大きくして行く。このループは図7のステップST216からステップST223間のループに相当する。
この場合、特徴量の2ビット反転(図9のST302)のように、式(3)のqn値を変え個数を増やす方向で変化を与える。以上のループを回しても、演算内容はアドレス参照と差分演算と分岐のみなので、演算量が大幅に増大することはない。
【0084】
画素値としては、たとえば1画素=8ビットとした場合、コンピュータグラフィックス(CG)のような画像はフルビット(8ビット)情報でマッチング処理を行えるが、自然画像の場合は、フレーム毎にバラツキを含むので、複数ビットのうち所定ビットを除いて、マッチング処理を行うことが望ましい。具体的には、下位数ビットをマスクして使用してもよいし、ビット数を少なくして再量子化しても良い。
つまり、非線形/線形な量子化におけるビット数を削減する(量子化ビット数を少なくする)ことが望ましい。
【0085】
以上説明したように、本第1の実施形態によれば、カレントフレームFcの情報を格納し、カレントフレームFcの情報とともに、注目画素の特徴量であるアドレス情報を出力する第1のフレームメモリ11と、第1のフレームメモリ11に格納されていた以前の画面情報を参照フレームFrの情報として格納する第2のフレームメモリと、第2のフレームメモリ12に格納されている参照フレームFrの情報に基づいて、注目画素を中心としたあるブロック範囲の画素値を含む特徴量をアドレスとして変換し、変換後の位置情報を含む情報を格納するMEメモリ13と、第1のフレームメモリ11から供給されたカレントフレームFcの情報に含まれる注目画素の特徴量を、特徴量アドレスとしてMEメモリ13の格納情報を読み取り、カレントフレーム内の注目画素とMEメモリ13から読み込んだ特徴量アドレス(位置座標)との距離を演算し、複数の候補の中から距離が最小である位置情報に基づいた差分座標を注目画素の動きベクトル(Vx,Vy)として検出し、検出した動きベクトルMの値が想定される動きベクトルの最大値Mmax より小さいときは(規定範囲内にあるとき)、正しい動きベクトルとして判断し、端子TOUT から出力し、検出した動きベクトルMの値が想定される動きベクトルの最大値Mmax より大きいときは(規定範囲外にあるとき(等しい場合も含む))、対応していない位置の動きベクトルと判断し、カレントフレーム内の画素とMEメモリ13で近い特徴量のアドレスを生成して、近傍画素の位置情報に基づいて再度マッチング処理を行うアドレス制御部14とを設けたので、以下の効果を得ることができる。
すなわち、本第1の実施形態においては、ブロックエリア内の空間パターン情報を特徴量とし、候補数だけの距離演算比較をするだけなので、従来の手法よりも僅かな演算量で、かつ、精度の高い動きベクトル検出が可能となる利点がある。
【0086】
なお、候補数が多くなる場合は、MEメモリ13に格納する情報を1フレームの全情報ではなく、ある程度のエリアに区分してもよい。
【0087】
第2実施形態
図10は、本発明に係る画像処理装置としての動き検出装置の第2の実施形態を示すブロック図である。
【0088】
本第2の実施形態が上述した第1の実施形態と異なる点は、特徴量を求める特徴量生成手段としてのクラス生成部15を設けることによって、好ましい特徴量でマッチングが可能となる点である。
【0089】
クラス生成部15は、第1のフレームメモリ11のカレントフレームFcの情報を受けてADRCに基づく量子化コードをカレントフレームの特徴量として生成してアドレス制御部14Aに出力する。
また、クラス生成部15は、第2のフレームメモリ12の参照フレームFrの情報を受けてADRCに基づく量子化コードをカレントフレームの特徴量として生成してMEメモリ13に出力する。
【0090】
マッチング手段としてのアドレス制御部14Aは、カレントフレームの特徴量を、特徴量アドレスとしてMEメモリ13の格納情報を読み取り、カレントフレーム内の注目画素とMEメモリ13から読み込んだ特徴量アドレスに含まれるADRCの量子化コードのマッチングを行うことにより注目画素の動きベクトルを検出する。
【0091】
このように、本第2の実施形態に係るクラス生成部15での特徴量の生成としてADRCを用いる。ADRC(Adaptive Dynamic Range Coding)は、VTR(Video Tape Recorder)向け高性能符号化用に開発された適応的量子化法であるが、信号レベルの局所的なパターンを短い語長で効率的に表現できるので、この第2の実施形態では、ADRCを空間クラス分類のコード発生に使用している。
【0092】
ADRCは、空間クラスタップのダイナミックレンジをDR、ビット割り当てをn、空間クラスタップの画素のデータレベルをL、再量子化コードをQとして、以下の数3により、最大値MAXと最小値MINとの間を指定されたビット長で均等に分割して再量子化を行うアルゴリズムである。
【0093】
【数4】
Figure 0004224999
【0094】
ただし、〔〕は切り捨て処理を意味する。マッチング処理フローは、上述した図7の説明の特徴量をADRCの量子化コードとしたものと等価なので省略する。
【0095】
空間クラスタップの取り方の一例として、ブロックサイズが3×3の場合は、図11(A)に示すように全画素を使用してもよいし、図11(B)に示すように十文字で構成してもよく、クラスコードに与えられる情報量の制限の中で決定すればよい。
同様にして、ブロックサイズが5×5の場合の一例としては、図11(C),(D)に示すような形態が採用可能である。
図11(C)の例は十文字で構成する場合であり、図11(D)の例は十文字で構成し、さらに端部の画素を使用する場合である。
【0096】
例として、ブロックサイズが図11(A)に示すように3×3の場合のクラスコードは以下のように表すことができる。
【0097】
【数5】
Figure 0004224999
【0098】
次に、周辺画素値よりもADRC量子化コードを用いた方が優れていることを、図12(A),(B)に関連付けて説明する。
図12(A),(B)は、分かりやすいように画像のある1ラインが参照フレームからカレントフレームに移動した際の画素値を表示している。また、図13は輝度値の10進数表記と16進数表記との対応関係を示している。
【0099】
通常、自然画像の場合は、同じ絵柄(パターン)が移動しても、同じ画素値になる可能性は低く、図12(A),(B)に示すように、画素レベルがずれてしまう。
この場合、同じパターンとして正しく検出できるかがポイントとなる。周辺画素値を特徴量として用いた場合で、ノイズ成分の影響を抑えるために、下位ビットをマスクした場合のコード結果を載せている。
記載しているように、同じパターンであるにもかかわらず誤検出することがある。
これに対して、ADRCでの量子化コードは、信号レベルの局所的なパターンを短い語長で効率的に表現できることから微小なレベル変動に強く、同じコード結果が得られることが分かる。
具体的には、参照フレームのある1ラインのADRCコードは「01101」であり、カレントフレームのある1ラインのADRCコードも「01101」であり、両者が一致する。
【0100】
本第2の実施形態における近傍特徴量の算出について説明する。
動き物体のある部分の特徴量が隣接フレームで少量変化することがありうる。本実施形態においては、その対応として、特徴量が少々変化しても、近傍の特徴量から似た特徴量を当てはめて移動距離を求める手法を採用する。
特徴量空間の各要素間は直交の関係にあるため、ある特徴量は図8のd−a1のように要素の個数を軸とした特徴量空間で定義される。すなわち、d−a1で示す座標に特徴量を抽出した画素の空間座標をリンクさせる。
ある特徴量に対して近傍の特徴量は、図8中d−a2で示すように、各特徴量軸x,y,zの値に対してある範囲の振れ幅を許容する領域として定義される。本実施形態に係る特徴量は、上述したように、注目画素を中心としたあるブロック内の画素値である。たとえば、ブロック範囲を3×3、垂直方向をi、水平方向をj位置(1,j)の画素値をL(1,j)とすると、この場合の特徴量は、式(5)で与えられる。
【0101】
近傍特徴量の例としては、図9のST301の特徴量の1ビット反転を挙げることができる。特徴量が注目画素を中心としたあるブロック内の画素値であるので、以下の数6のように起こりうる変化は画素値に差分qnを足した値とする。
【0102】
【数6】
Figure 0004224999
【0103】
q1からqまでのどれか1つの値を変えることで、図7のステップST216の近傍特徴量アドレスの候補ができる。
式(6)のLどれか1つの値のビット反転の場合、近傍特徴量アドレス数Pn=9となる。
近傍特徴量の定義の仕方として、近い値から求めて、それでも解が求まらない場合に差qnを大きくして行く。このループは図7のステップST216からステップSRT223間のループに相当する。
この場合、特徴量の2ビット反転(図9のST302)のように、式(3)のqn値を変え個数を増やす方向で変化を与える。以上のループを回しても、演算内容はアドレス参照と差分演算と分岐のみなので、演算量が大幅に増大することはない。
【0104】
以上説明したように、本第2の実施形態によれば、ADRCの量子化コードを特徴量とすることによって従来よりも精度の高い動きベクトル検出が可能となる利点がある。
【0105】
【発明の効果】
本発明によれば、ブロックエリア内の空間パターン情報を特徴量とし、候補数だけの距離演算比較をするだけなので、従来の手法よりも僅かな演算量で、かつ、マッチング演算がブロック内の差分絶対値和ではなく、ブロック内の画素値をそのまま使用しており、すなわち空間特徴量を現しているために、精度の高い動きベクトル検出が可能となる利点がある。
【0106】
また、本発明によれば、ブロックエリア内の空間パターン情報としてADRCの量子化コードを特徴量とすることによって精度の高い動きベクトル検出が可能となる。
【図面の簡単な説明】
【図1】ブロックマッチングアルゴリズムを採用した従来の動き検出装置の構成例を示すブロック図である。
【図2】ブロックマッチングアルゴリズムの概要を説明するための図である。
【図3】カレントフレームFC内ある画素Fc(x,y)の動きベクトルを検出する処理手順を説明するためのフローチャートである。
【図4】本発明に係る動き検出装置の第1の実施形態を示すブロック図である。
【図5】本実施形態に係る特徴量アドレス方式における動きメモリの構造を説明するための図である。
【図6】本実施形態に係る特徴量アドレス方式における動きメモリへの格納手順を説明するための図である。
【図7】本実施形態に係る特徴量アドレス方式における動き検出の動作を説明するためのフローチャートである。
【図8】近傍特徴量の生成規範例を説明するための図である。
【図9】近傍特徴量の生成規範例を説明するための図である。
【図10】本発明に係る動き検出装置の第2の実施形態を示すブロック図である。
【図11】クラスタップのとり方の一例を示す図である。
【図12】周辺画素値よりもADRC量子化コードを用いた方が優れていることを説明するための図である。
【図13】輝度値の10進数と16進数との対応関係を示す図である。
【符号の説明】
10,10A…動き検出装置、11…第1のフレームメモリ、12…第2のフレームメモリ、13…動きベクトルメモリ(MEメモリ)、14,14A…アドレス制御部、15…クラス生成部。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and an image processing method such as a motion detection apparatus used in, for example, a moving image compression apparatus.
[0002]
[Prior art]
In an image processing apparatus, as one of main techniques for efficiently performing moving image compression, there is motion detection that obtains a motion vector indicating the motion of an image. Several methods for obtaining the motion vector have been proposed. One of the main methods is a method called a block matching algorithm.
[0003]
FIG. 1 is a block diagram illustrating a configuration example of a motion detection apparatus in a conventional image processing apparatus that employs a block matching algorithm.
[0004]
The motion detection device 1 includes frame memories 2 and 3 and a motion vector detection unit 4.
In the motion detection device 1, information of one screen is stored in the frame memory 2 when an image signal is input from the input terminal TIN.
When the next screen information is input, the information of the previous frame memory 2 (inputted last time) is stored in the frame memory 3, and the current (this time) input information is stored in the frame memory.
That is, information on the current frame Fc is stored in the frame memory 2, and information on the reference frame Fr is stored in the frame memory 3.
Next, information on the current frame Fc and the reference frame Fr is sent to the motion vector detection unit 4. Then, the motion vector detection unit 4 divides the block and detects the motion vector (Vx, Vy) and outputs it from the terminal TOUT.
[0005]
FIG. 2 is a diagram for explaining the outline of the block matching algorithm. Hereinafter, the outline of the algorithm will be described with reference to FIG.
[0006]
In this algorithm, the motion vector at the target pixel Fc (x, y) in the current frame Fc is a pixel in the reference block range (L × L) centered on the target pixel Fc (x, y) and the reference frame Fr. The sum of absolute differences between corresponding pixels and the pixels in the same block range as the block range (L × L) in the search area SR is calculated.
The above calculation is repeated while moving the block range to be extracted within the search area SR pixel by pixel, and the difference vector between the center position of the block having the smallest sum of absolute differences and the target pixel position is solved among all the blocks. (Motion vector).
[0007]
Next, the processing procedure for detecting the motion vector of the pixel Fc (x, y) in the current frame Fc will be described in detail with reference to FIG.
[0008]
Step STl
In step ST1, after the process start ST0, the search area SR based on the same position in the reference frame is determined from the position (x, y) of the target pixel.
[0009]
Step ST2
In step ST2, the maximum value of the arithmetic expression is substituted in order to initialize the variable min that stores the minimum value of the calculation result. If one pixel is 8 bits and the number of pixels in a block is 16, 28 X16 = 4096 is substituted for min.
[0010]
Step ST3
In step ST3, a counter variable n for counting blocks in the search area SR is initialized to 1.
[0011]
Step ST4
In step ST4, a variable sum for substituting the calculation result is initialized to zero.
[0012]
Step ST5
In step ST5, the range of the base block is L × L, the pixels in the block having the current frame Fc are Fc (i, j), and the pixels in the kth block in the search area SR of the reference frame Fr are Frk ( If i, j), the sum of absolute differences from the corresponding pixel, that is, the calculation shown in the following equation 1, is performed, and the calculation result is substituted into sum.
[0013]
[Expression 1]
Figure 0004224999
[0014]
Step ST6
In step ST6, the magnitude relationship between the calculated difference absolute value sum sum and the minimum value min of the difference absolute value sum is determined. When the calculated sum of absolute differences sum is small, the process proceeds to step ST7, and when it is large (including equal), the calculation result is not the minimum value, so step ST7 of the update procedure is skipped and the process proceeds to step ST8.
[0015]
Step ST7
In step ST7, the minimum value min is updated to the operation result sum, and the block count value n is set as the motion vector number.
[0016]
Step ST8
In step ST8, if the block count value n is the total number of blocks in the search area SR, that is, if it is the last block, the process is terminated. If not, the process proceeds to step ST10. If not, the process proceeds to ST9.
[0017]
Step ST9
In step ST9, the count value n of the block is incremented to n + 1, and the process proceeds to step ST4 to repeat the calculation.
[0018]
Step ST10
In step ST10, a motion vector is obtained from the central pixel of the block of the block number stored in the motion number and (x, y) and output.
[0019]
[Problems to be solved by the invention]
The block matching algorithm described above has a disadvantage that the amount of calculation of Expression (1) is very large, and most of the time for image compression processing such as MPEG is spent on this.
[0020]
The present invention has been made in view of such circumstances, and an object of the present invention is to perform image processing that can perform matching processing with only a small amount of calculation and can detect a motion vector or the like with high accuracy. An apparatus and an image processing method are provided.
[0021]
[Means for Solving the Problems]
To achieve the above object, an image processing apparatus according to a first aspect of the present invention blocks input image data into blocks including a predetermined number of pixels, and extracts feature amounts for each of the blocked image data. Stored in the storage means based on the feature quantity extraction means, storage means for storing the position information of the image data that has been blocked using the feature quantity as an address, and the feature quantity of the block at the position of interest. The image processing apparatus includes a matching unit that performs matching processing between the position information of the image data and the feature amount, and selects a nearby feature amount and performs matching processing again when the matching result is outside the specified range.
[0022]
In the first aspect, the feature amount includes a peripheral pixel value.
[0023]
In the first aspect, the pixel value is represented by a plurality of bits, and the matching unit performs a matching process except for the predetermined bits of the plurality of bits in the case of an image including variation for each frame.
Preferably, the lower-order bits of the plurality of bits are masked to perform the matching process.
Preferably, requantization is performed with a reduced number of bits.
[0024]
In the first aspect, the feature amount includes a quantization code based on adaptive quantization (ADRC).
[0025]
In the first aspect, the matching unit detects a motion of the block of interest based on the matching result, and selects a nearby feature amount and performs matching processing again when the detected motion information value is outside the specified range. I do.
[0026]
In the first aspect, the matching means targets at least a predetermined bit when the feature amount is expressed by n bits as a feature amount in the vicinity when performing the matching process.
[0027]
In the first aspect, the matching unit changes a bit inversion mode according to a pattern of a target pixel in selecting the feature quantity in the vicinity.
[0028]
An image processing apparatus according to a second aspect of the present invention is an image processing apparatus that performs matching processing between information on a current frame of image data and information on a reference frame, and determines a target pixel based on the information on the reference frame. A storage unit that converts a feature value including a pixel value of a predetermined block range at the center as an address, stores information including a position coordinate after conversion, and a feature value of a target pixel included in the information of the current frame, The storage information of the storage unit is read as a feature amount address, the distance between the pixel of interest in the current frame and the position coordinate included in the feature amount address read from the storage unit is calculated, and matching processing between the calculation results is performed. If the feature amount is out of the specified range, there is a matching means for selecting a nearby feature amount and performing matching processing again. .
[0029]
In the second aspect, the matching unit calculates the distance between the target pixel in the current frame and the position coordinate included in the feature amount address read from the storage unit, and the distance is the smallest among a plurality of candidates. Difference coordinates based on certain position information are detected as motion information of the pixel of interest, and when the detected motion information value is smaller than the expected value of the motion information, the detected motion information is determined as correct information and detected. If the value of the motion information is equal to or greater than the specified value of the assumed motion information, it is determined as unexpected motion information, and a feature amount address close to the pixel in the current frame is generated by the storage means, The matching process is performed again based on the position information.
[0030]
An image processing apparatus according to a third aspect of the present invention is an image processing apparatus that performs a matching process between information on a current frame of image data and information on a reference frame. That generates a quantization code based on quantization (ADRC) as a feature amount of a current frame, and that generates information about the reference frame and generates a quantization code based on adaptive quantization (ADRC) as a feature amount of the reference frame A generating means, a storage means for converting the feature quantity of the reference frame by the feature quantity generating means as an address, and storing the converted information, and a feature quantity of the current frame by the feature quantity generating means as a feature quantity address. Read the storage information of the storage means, the target pixel in the current frame and the feature amount address read from the storage means Performs matching processing of the quantization code of the ADRC included, if the feature value do not match, and a matching means for selecting to again matching the feature quantity of the neighborhood.
[0031]
An image processing method according to a fourth aspect of the present invention includes a first step of blocking input image data into blocks including a predetermined number of pixels, and a first step of extracting feature amounts for each of the blocked image data. Based on the second step, the third step of storing the position information of the blocked image data in the storage means using the extracted feature amount as an address, and the feature amount of the block at the target position, Matching processing is performed between the position information of the image data stored in the storage means and the feature amount. If the result of matching is outside the specified range, a nearby feature amount is selected and matching processing is performed again. And a fourth step.
[0032]
An image processing method according to a fifth aspect of the present invention is an image processing method for performing matching processing between information on a current frame of image data and information on a reference frame. A first step of converting, as an address, a feature value including a pixel value in a predetermined block range as a center, and storing information including the converted position coordinates in a storage unit; and a target pixel included in the current frame information The second step of reading the storage information of the storage means using the feature quantity as the feature quantity address and calculating the distance between the pixel of interest in the current frame and the position coordinates included in the feature quantity address read from the storage means, respectively If the feature value is outside the specified range, select the feature value in the vicinity and match again. And a third step of performing processing.
[0033]
In the fifth aspect, in the third step, the difference coordinate based on the position information with the shortest distance is detected as the motion information of the target pixel from the plurality of candidates of the calculation result, and the detected motion information When the value of the motion information is smaller than the assumed value of the assumed motion information, the detected motion information is determined as correct information, and the detected motion information value is as unexpected motion information that is greater than the assumed value of the assumed motion information. Judgment is made, a feature amount address close to the pixels in the current frame by the storage means is generated, and matching processing is performed again based on position information of neighboring pixels.
[0034]
An image processing method according to a sixth aspect of the present invention is an image processing method for performing matching processing between information on a current frame of image data and information on a reference frame. A first step of generating a quantization code based on quantization (ADRC) as a feature value of a current frame, and receiving a quantization code based on adaptive quantization (ADRC) in response to the information of the reference frame A second step of generating, a third step of converting the feature quantity of the reference frame in the second step as an address, and storing the converted information in the storage means, and a current frame in the first step The storage information of the storage means is read using the feature quantity as a feature quantity address, and the pixel of interest in the current frame and the storage means A matching process is performed on the ADRAC quantization code included in the read feature value address. If the matching result is that the feature values do not match, a neighboring feature value is selected and the matching process is performed again. Steps.
[0035]
According to the present invention, the input image data is blocked into blocks including a predetermined number of pixels in the feature extraction unit, and feature amounts are extracted for each of the blocked image data and supplied to the storage unit and the matching unit. .
The storage means stores the position information of the blocked image data with the feature quantity as an address.
In the matching unit, based on the feature amount of the block at the target position, the matching process between the position information of the image data stored in the storage unit and the feature amount is performed.
If the result of matching is outside the specified range, a nearby feature amount is selected and matching processing is performed again.
[0036]
Further, according to the present invention, in the storage means, the feature quantity including the pixel value in the predetermined block range centered on the target pixel is converted as an address based on the reference frame information, and the information including the converted position coordinates Is stored.
In the matching means, the storage information of the storage means is read with the feature quantity of the pixel of interest included in the current frame information as the feature quantity address.
In the matching means, the distance between the pixel of interest in the current frame and the position coordinate included in the feature amount address read from the storage means is calculated.
In the matching means, the difference coordinate based on the position information with the shortest distance is detected as the motion information of the pixel of interest from among the plurality of calculation result candidates.
And when the value of the detected motion information is smaller than the assumed value of the assumed motion information, the detected motion information is determined as correct information.
On the other hand, the detected motion information value is determined as unexpected motion information that is greater than or equal to the expected value of the motion information, and a feature amount address close to the storage means in the current frame is generated, and the position of the neighboring pixel Matching processing is performed again based on the information.
[0037]
Further, according to the present invention, the feature value generation means receives the information of the current frame, generates a quantization code based on adaptive quantization (ADRC) as the feature value of the current frame, and outputs it to the matching means.
In addition, the feature quantity generation means receives information on the reference frame, generates a quantization code based on adaptive quantization (ADRC) as a feature quantity of the reference frame, and outputs it to the storage means.
In the storage unit, the feature amount of the reference frame by the feature amount generation unit is converted as an address, and the converted information is stored.
In the matching unit, the storage information of the storage unit is read using the feature amount of the current frame by the feature amount generation unit as the feature amount address.
In the matching means, the target pixel in the current frame is matched with the ADRC quantization code included in the feature amount address read from the storage means.
Then, in the matching means, when matching is performed as a result of ADRC quantization code matching processing, it is detected as motion information of the pixel of interest.
On the other hand, if the feature amounts do not match, a nearby feature amount is selected and matching processing is performed again.
[0038]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0039]
First embodiment
FIG. 4 is a block diagram showing a first embodiment of a motion detection apparatus which is a main part of the image processing apparatus according to the present invention.
[0040]
This motion detection apparatus is provided with a motion detection memory (hereinafter referred to as ME memory) that stores position information using feature amounts as addresses, and performs a matching process using peripheral pixel values as feature amounts, so that a motion vector can be obtained with a slight calculation. It is possible to estimate with high accuracy.
Hereinafter, a specific configuration and function of the motion detection device will be described in detail with reference to the drawings.
[0041]
The motion detection apparatus 10 includes a first frame memory 11, a second frame memory 12, an ME memory 13, and an address control unit 14.
The first frame memory 11 constitutes a feature quantity extraction unit according to the present invention, the ME memory 13 constitutes a storage unit according to the present invention, and the address control unit 14 constitutes a matching unit according to the present invention. .
[0042]
The first frame memory 11 stores information of one screen of the image signal input from the input terminal TIN.
When the next screen information is input, the first frame memory 11 stores the previously stored screen information, that is, the information of the current frame Fc. The information of the current frame Fc is stored in the second frame memory 12 and the address control. To the unit 14.
Further, the first frame memory 11 supplies the feature amount of the target pixel, that is, address information, to the address control unit 14 together with information on the current frame Fc.
[0043]
The second frame memory 12 stores the previous (for example, previous) screen information stored in the first frame memory 11 as information of the reference frame Fr.
[0044]
Based on the information of the reference frame Fr stored in the second frame memory 12, the ME memory 13 converts a feature value, which is a pixel value in a block range centered on the pixel of interest, as an address, Stores information including position coordinates.
[0045]
  The address control unit 14 reads the storage information of the ME memory 13 using the feature amount of the target pixel included in the information of the current frame Fc supplied from the first frame memory 11 as the feature amount address, and performs matching processing as the current frame. The distance between the pixel of interest and the feature amount address (position coordinate) read from the ME memory 13 is calculated, and the difference coordinate based on the position information having the smallest distance among the plurality of candidates is calculated as the motion vector ( Vx, Vy).
  When the detected motion vector M is smaller than the assumed motion vector maximum value Mmax (when it is within the specified range), the address control unit 14 determines that it is a correct motion vector and outputs it from the terminal TOUT.
  When the value of the detected motion vector M is larger than the maximum value Mmax of the assumed motion vector (when it is outside the specified range (including the case where it is equal)), the address control unit 14 does not correspond to the motion vector. The address of the feature quantity close to the pixel in the current frame and the ME memory 13 is generated, and the matching process is performed again based on the position information of the neighboring pixel (selecting the feature quantity of the neighborhood).
  Address control unit14For example, bit inversion is performed when selecting a feature quantity in the vicinity. At this time, the bit inversion mode is changed according to the pattern of the target pixel.
  The processing in the address control unit 14 will be described in detail later.
[0046]
Hereinafter, the configuration and function of the ME memory 13 adopting the feature address method that is a feature of the present embodiment will be described in more detail with reference to FIGS. 5 and 6.
FIG. 5 is a diagram illustrating a configuration example of an ME memory that employs a feature address method. FIG. 6 is a flowchart for explaining a procedure for storing reference frame information in the ME memory.
[0047]
In the case of the conventional memory, the pixel value is stored using the position information of the pixel as an address. However, in the case of this ME memory 13, the position information of the pixel having the feature amount is obtained for each feature amount using the feature amount as an address. Sequential flag address FRGA1,2. . . That is, the data are stored in B and C in FIG.
In the present embodiment, it is assumed that one cell ME-B1 has a storage capacity for position information. At the same time, the number stored in the feature value is incremented and stored in the flag address FRGA0.
The feature value is a pixel value in a certain block centered on the target pixel. For example, if the block range is 3 × 3, the vertical direction is i, the horizontal direction is j, and the pixel value at the position (i, j) is L (i, j), the feature quantity in this case is It becomes like this.
[0048]
[Expression 2]
Figure 0004224999
[0049]
Next, the procedure for storing the reference frame information in the ME memory will be described with reference to the flowchart of FIG.
When the information of the reference frame Fr is stored in the frame memory 12, the process is started.
[0050]
Step ST101
In step ST101, all data in the ME memory is initialized to zero. Write 0 or turn on the reset signal.
[0051]
Step ST102
In step ST102, a counter variable n that counts pixels in one frame memory is initialized to zero.
[0052]
Step ST103
In step ST103, the pixel value in a certain block range centered on the target pixel Ln from the frame memory 11 of FIG. 4 is set as a feature amount (feature amount address).
[0053]
Step ST104
In step ST104, the feature amount address is the feature amount in step ST103, and the content ME memory (feature amount, 0) of the ME memory 13 when the flag address is 0 is read and set as the flag address.
[0054]
Step ST105
In step ST105, the ME memory 13 (feature amount, 0) in the ME memory 13 when the feature amount address is the feature amount in step ST103 and the flag address is 0 is incremented.
[0055]
Step ST106
In step ST106, the position information of the pixel of interest Ln is written into the contents of the ME memory 13 (features, flag address + 1).
[0056]
Step ST107
In step ST107, the count variable n is incremented.
[0057]
Step ST108
In step ST108, it is determined whether the target pixel Ln is the last pixel in the frame. If it is not the last pixel, the process proceeds to step ST103 and the same process is repeated for the next pixel.
If it is the last pixel, the process proceeds to step ST109 to end the process.
[0058]
Next, a motion vector detection processing procedure according to this embodiment will be described with reference to FIGS.
FIG. 7 is a flowchart for explaining the processing procedure of motion vector detection according to this embodiment.
[0059]
Step ST201
In step ST201, information on the current frame Fc and the reference frame Fr is stored in the frame memories 11 and 12, respectively, and then stored in the ME memory 13 while converting the information on the reference frame into a feature amount address. Details are described above (steps ST100 to ST109).
[0060]
Step ST202
In step ST202, a count variable n for counting pixels of one frame is initialized to zero.
[0061]
Step ST203
In step ST203, since the feature amount of the target pixel Ln in the first current frame 11 is a pixel value in a certain block range centering on the pixel, the feature amount is sent to the address control unit 14 as a feature amount.
[0062]
Step ST204
In step ST204, the address control unit 14 reads the value of the content ME memory (feature value address, 0) from the ME memory 13 using the received feature value as the feature value address, and substitutes the value into a variable kn indicating the number of candidates. .
In addition, a variable k meaning a candidate number counter is initialized to 1, a variable min meaning a minimum distance is set to ∞, and a variable L meaning a distance is initialized to 0.
[0063]
Step ST205
In step ST205, the distance between the target pixel Ln in the current frame and the ME memory contents (feature amount address, k) = position coordinates read from the ME memory 13 is calculated and substituted into the variable L.
[0064]
Step ST206
In step ST206, the size discrimination between the distance L obtained in step ST205 and the minimum distance min is performed.
As a result, if min> L, the process proceeds to step ST207 to update the minimum distance value L, and if min ≦ L, the update step is skipped and the process proceeds to step ST208.
[0065]
Step ST207
In step ST207, the minimum distance min is updated to L. The flag address value at that time, that is, k is stored in the variable ans.
[0066]
Step ST208
In step ST208, it is determined whether the candidate counter is the number of candidates. If it is the number of candidates, the process proceeds to step ST210, and if there are still candidates, the process proceeds to step ST209.
[0067]
Step ST209
In step ST209, after incrementing the candidate counter k, the process proceeds to step ST205.
[0068]
Step ST210
In step ST210, position information having the minimum distance from the pixel Ln in the current frame, that is, the value of the ME memory (feature amount address number 0, ans) is read, and the difference coordinate is set as the motion vector M.
[0069]
Step ST215
In step ST215, when the value of the motion vector M obtained from the corresponding feature quantity address is smaller than the maximum value Mmax of the assumed motion vector (M <Mmax), it is determined as a correct motion vector, and the process proceeds to ST211.
When the value of the motion vector M obtained from the corresponding feature amount address is equal to or greater than the maximum value Mmax of the assumed motion vector (M ≧ Mmax), it is determined as a motion vector at a non-corresponding location, and the process proceeds to ST216.
[0070]
Step ST216
In step ST216, an address of a feature quantity close to the pixel Ln in the current frame and the ME memory 13 is generated, and the feature quantity address (feature quantity address number p, k) = distance (positional feature quantity). The address candidate number pn and the candidate number kn) are calculated and substituted into the variable L.
[0071]
Step ST217
In step ST217, the distance L obtained in step ST205 is distinguished from the minimum distance min, and if min> L, the process proceeds to step ST207 to update the minimum distance L, and if min ≦ L. The update step is skipped and the process proceeds to step ST208.
[0072]
Step ST218
In step ST218, the minimum distance value min is updated to L. The flag address value at that time, that is, k is stored in the variable ans.
[0073]
Step ST219
In step ST219, it is determined whether the candidate counter is the number of candidates. If it is the number of candidates, the process proceeds to step ST210, and if there are still candidates, the process proceeds to step c-WS9.
[0074]
Step ST220
In step ST220, after incrementing the candidate counter k, the process proceeds to step ST205.
[0075]
Step ST221
In step ST221, the position information having the minimum distance from the pixel Ln in the current frame, that is, the value of the ME memory (feature amount address number 0, ans) is read, and the difference coordinate is set as the motion vector M.
[0076]
Steps ST222 and ST223
In steps ST222 and ST223, when the value of the motion vector M obtained from the corresponding feature quantity address is smaller than the maximum value Mmax of the assumed motion vector (M <Mmax), it is determined as a correct motion vector, and the process proceeds to ST211.
When the value of the motion vector M obtained from the corresponding feature amount address is equal to or greater than the maximum value Mmax of the assumed motion vector (M ≧ Mmax), it is determined as a motion vector at a non-corresponding location, and another neighborhood feature amount address is generated. Therefore, the process proceeds to ST216.
[0077]
Step ST211
In step ST211, the motion vector of the target pixel is output.
[0078]
Step ST212
In step ST212, the counter variable n of the pixel is incremented.
[0079]
Step ST213
In step ST213, it is determined whether the pixel of interest is the last pixel in the current frame. If it is the last pixel, the process ends to step ST214. If not, in order to obtain the motion vector of the next pixel. It progresses to step ST203.
[0080]
Next, calculation of the neighborhood feature amount will be described.
It is possible that the feature amount of a certain part of the moving object changes a little in adjacent frames. In the present embodiment, as a countermeasure, a method is adopted in which a moving distance is obtained by applying a similar feature amount from neighboring feature amounts even if the feature amount changes slightly.
Since the elements in the feature amount space are orthogonal to each other, a certain feature amount is defined in the feature amount space with the number of elements as an axis, as indicated by d-a1 in FIG. That is, the spatial coordinates of the pixel from which the feature amount is extracted are linked to the coordinates indicated by d-a1.
A feature quantity in the vicinity of a certain feature quantity is defined as a region that allows a certain range of fluctuation width for the values of the feature quantity axes x, y, and z, as indicated by d-a2 in FIG. . As described above, the feature amount according to the present embodiment is a pixel value in a certain block centered on the target pixel. For example, if the block range is 3 × 3, the vertical direction is i, and the horizontal direction is j (1, j), the pixel value is L (1, j), the feature value in this case is given by equation (2) It is done.
[0081]
As an example of the neighborhood feature amount, 1-bit inversion of the feature amount of ST301 in FIG. 9 can be given. Since the feature value is a pixel value in a certain block centered on the pixel of interest, a possible change as in the following Equation 3 is a value obtained by adding the difference qn to the pixel value.
[0082]
[Equation 3]
Figure 0004224999
[0083]
By changing any one of the values from q1 to q9, the neighborhood feature amount address candidates in step ST216 of FIG. 7 can be made.
In the case of bit inversion of one of the values of L in Expression (3), the neighborhood feature quantity address number Pn = 9.
As a method of defining the neighborhood feature quantity, the difference qn is increased when it is obtained from a close value and the solution cannot be obtained. This loop corresponds to the loop between step ST216 and step ST223 in FIG.
In this case, as in the case of 2-bit inversion of the feature value (ST302 in FIG. 9), the qn value in the equation (3) is changed and the number is increased. Even if the above loop is rotated, the calculation contents are only address reference, difference calculation, and branch, so that the calculation amount does not increase significantly.
[0084]
As a pixel value, for example, when 1 pixel = 8 bits, an image such as computer graphics (CG) can be matched with full-bit (8-bit) information, but in the case of a natural image, it varies from frame to frame. Therefore, it is desirable to perform the matching process by excluding predetermined bits from the plurality of bits. Specifically, the lower few bits may be masked and used, or the number of bits may be reduced and requantized.
In other words, it is desirable to reduce the number of bits in nonlinear / linear quantization (reduce the number of quantization bits).
[0085]
As described above, according to the first embodiment, the information of the current frame Fc is stored, and the first frame memory 11 that outputs the address information that is the feature amount of the target pixel together with the information of the current frame Fc. A second frame memory that stores the previous screen information stored in the first frame memory 11 as information of the reference frame Fr, and a reference frame Fr information stored in the second frame memory 12. On the basis of this, a feature amount including a pixel value in a certain block range centered on the target pixel is converted as an address, and the ME memory 13 storing information including the converted position information is supplied from the first frame memory 11. The information stored in the ME memory 13 is read using the feature quantity of the target pixel included in the information of the current frame Fc as the feature quantity address. The distance between the target pixel in the current frame and the feature amount address (position coordinate) read from the ME memory 13 is calculated, and the difference coordinate based on the position information having the minimum distance is selected from among a plurality of candidates. If it is detected as a vector (Vx, Vy) and the value of the detected motion vector M is smaller than the maximum value Mmax of the assumed motion vector (when it is within the specified range), it is determined as a correct motion vector, and from the terminal TOUT When the detected value of the motion vector M is greater than the maximum value Mmax of the assumed motion vector (when it is outside the specified range (including when it is equal)), it is determined as a motion vector at an unsupported position. The address of the feature quantity close to the pixel in the current frame and the ME memory 13 is generated, and the matching process is performed again based on the position information of the neighboring pixel. Since there is provided a scan control unit 14, it is possible to obtain the following effects.
That is, in the first embodiment, the spatial pattern information in the block area is used as a feature amount, and only the distance calculation comparison is performed for the number of candidates. Therefore, the calculation amount is smaller than that of the conventional method, and the accuracy is high. There is an advantage that high motion vector detection is possible.
[0086]
When the number of candidates increases, the information stored in the ME memory 13 may be divided into a certain area instead of all information of one frame.
[0087]
Second embodiment
FIG. 10 is a block diagram showing a second embodiment of a motion detection apparatus as an image processing apparatus according to the present invention.
[0088]
The second embodiment is different from the first embodiment described above in that a matching with a preferable feature amount is possible by providing a class generation unit 15 as a feature amount generation means for obtaining a feature amount. .
[0089]
The class generation unit 15 receives information on the current frame Fc of the first frame memory 11, generates a quantization code based on ADRC as a feature amount of the current frame, and outputs the generated feature code to the address control unit 14A.
Further, the class generation unit 15 receives the information of the reference frame Fr of the second frame memory 12, generates a quantization code based on ADRC as a feature amount of the current frame, and outputs it to the ME memory 13.
[0090]
The address control unit 14A as a matching unit reads the information stored in the ME memory 13 using the feature amount of the current frame as the feature amount address, and the target pixel in the current frame and the ADRC included in the feature amount address read from the ME memory 13 The motion vector of the pixel of interest is detected by matching the quantization codes.
[0091]
As described above, ADRC is used for generating the feature amount in the class generation unit 15 according to the second embodiment. ADRC (Adaptive Dynamic Range Coding) is an adaptive quantization method developed for high performance coding for VTR (Video Tape Recorder), but it efficiently expresses local patterns at the signal level with a short word length. Therefore, in this second embodiment, ADRC is used for code generation of space class classification.
[0092]
In ADRC, the maximum value MAX and the minimum value MIN are expressed by the following Equation 3, where DR is the dynamic range of the space class tap, n is the bit allocation, L is the data level of the pixel of the space class tap, and Q is the requantization code. Is an algorithm that performs re-quantization by equally dividing the space between the bits with a specified bit length.
[0093]
[Expression 4]
Figure 0004224999
[0094]
However, [] means a truncation process. Since the matching processing flow is equivalent to the case where the feature amount described in FIG. 7 is an ADRC quantization code, a description thereof will be omitted.
[0095]
As an example of how to take a space class tap, when the block size is 3 × 3, all pixels may be used as shown in FIG. 11A, or as shown in FIG. It may be configured and may be determined within the limit of the amount of information given to the class code.
Similarly, as an example in the case where the block size is 5 × 5, the forms shown in FIGS. 11C and 11D can be adopted.
The example of FIG. 11C is a case where it is composed of cross characters, and the example of FIG. 11D is a case where it is composed of cross characters and further uses end pixels.
[0096]
As an example, the class code when the block size is 3 × 3 as shown in FIG. 11A can be expressed as follows.
[0097]
[Equation 5]
Figure 0004224999
[0098]
Next, it will be described with reference to FIGS. 12A and 12B that the ADRC quantization code is superior to the peripheral pixel value.
12A and 12B display pixel values when one line of an image moves from the reference frame to the current frame for easy understanding. FIG. 13 shows the correspondence between the decimal notation and the hexadecimal notation of the luminance value.
[0099]
Normally, in the case of a natural image, even if the same pattern (pattern) is moved, the possibility of the same pixel value is low, and the pixel level is shifted as shown in FIGS.
In this case, the point is whether it can be correctly detected as the same pattern. In the case where the peripheral pixel value is used as the feature amount, a code result in the case where the lower bits are masked is included in order to suppress the influence of the noise component.
As described, false detection may occur despite the same pattern.
On the other hand, it can be seen that the ADRC quantization code can effectively express a local pattern of signal levels with a short word length, and thus is resistant to minute level fluctuations, and the same code result can be obtained.
Specifically, the ADRC code of one line with the reference frame is “01101”, and the ADRC code of one line with the current frame is also “01101”, and they match.
[0100]
The calculation of the neighborhood feature amount in the second embodiment will be described.
It is possible that the feature amount of a certain part of the moving object changes a little in adjacent frames. In the present embodiment, as a countermeasure, a method is adopted in which a moving distance is obtained by applying a similar feature amount from neighboring feature amounts even if the feature amount changes slightly.
Since the elements in the feature amount space are orthogonal to each other, a certain feature amount is defined in the feature amount space with the number of elements as an axis, as indicated by d-a1 in FIG. That is, the spatial coordinates of the pixel from which the feature amount is extracted are linked to the coordinates indicated by d-a1.
A feature quantity in the vicinity of a certain feature quantity is defined as a region that allows a certain range of fluctuation width for the values of the feature quantity axes x, y, and z, as indicated by d-a2 in FIG. . As described above, the feature amount according to the present embodiment is a pixel value in a certain block centered on the target pixel. For example, if the block range is 3 × 3, the vertical direction is i, and the horizontal direction is j (1, j), the pixel value is L (1, j), the feature value in this case is given by equation (5) It is done.
[0101]
  As an example of the neighborhood feature amount, 1-bit inversion of the feature amount of ST301 in FIG. 9 can be given. Since the feature value is a pixel value in a certain block centered on the pixel of interest, the change that can occur as shown in Equation 6 below is a difference in the pixel value.qnIs the value added.
[0102]
[Formula 6]
Figure 0004224999
[0103]
  q1To q9By changing any one of the above values, the neighborhood feature amount address candidates in step ST216 in FIG. 7 can be obtained.
  In the case of bit inversion of one of the values of L in Expression (6), the number of neighboring feature amount addresses Pn = 9.
  As a method of defining the neighborhood feature, it is different when the solution is not obtained even if it is obtained from a close value.qnGo bigger.This loopCorresponds to a loop between step ST216 and step SRT223 in FIG.
  In this case, as in 2-bit inversion of the feature value (ST302 in FIG. 9), the equation (3)qnChange in the direction of changing the value and increasing the number. Even if the above loop is rotated, the calculation contents are only address reference, difference calculation, and branch, so that the calculation amount does not increase significantly.
[0104]
As described above, according to the second embodiment, there is an advantage that a motion vector can be detected with higher accuracy than before by using an ADRC quantization code as a feature amount.
[0105]
【The invention's effect】
According to the present invention, the spatial pattern information in the block area is used as a feature amount, and only distance calculation comparison is performed for the number of candidates. Therefore, the amount of calculation is smaller than that of the conventional method, and the matching operation is a difference within the block. Since the pixel values in the block are used as they are instead of the absolute value sum, that is, the spatial feature amount is expressed, there is an advantage that highly accurate motion vector detection is possible.
[0106]
Further, according to the present invention, it is possible to detect a motion vector with high accuracy by using an ADRC quantization code as a feature amount as spatial pattern information in a block area.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration example of a conventional motion detection apparatus that employs a block matching algorithm.
FIG. 2 is a diagram for explaining an outline of a block matching algorithm;
FIG. 3 is a flowchart for explaining a processing procedure for detecting a motion vector of a pixel Fc (x, y) in a current frame FC.
FIG. 4 is a block diagram showing a first embodiment of a motion detection apparatus according to the present invention.
FIG. 5 is a diagram for explaining the structure of a motion memory in the feature quantity addressing method according to the present embodiment.
FIG. 6 is a diagram for explaining a storing procedure in a motion memory in the feature quantity addressing method according to the present embodiment.
FIG. 7 is a flowchart for explaining an operation of motion detection in the feature quantity address method according to the embodiment.
FIG. 8 is a diagram for explaining an example of generating a neighborhood feature quantity.
FIG. 9 is a diagram for explaining an example of generating a neighborhood feature quantity.
FIG. 10 is a block diagram showing a second embodiment of the motion detection apparatus according to the present invention.
FIG. 11 is a diagram illustrating an example of how to take a class tap.
FIG. 12 is a diagram for explaining that it is better to use an ADRC quantization code than a peripheral pixel value;
FIG. 13 is a diagram illustrating a correspondence relationship between a decimal number and a hexadecimal number of a luminance value.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 10,10A ... Motion detection apparatus, 11 ... 1st frame memory, 12 ... 2nd frame memory, 13 ... Motion vector memory (ME memory), 14, 14A ... Address control part, 15 ... Class generation part.

Claims (5)

画像データのカレントフレームの情報と参照フレームの情報とのマッチング処理を行う画像処理装置であって、
上記参照フレームの情報に基づいて、上記カレントフレーム内の注目画素に対応する参照フレームの位置を中心とした所定のブロック範囲内の各画素について、特徴量である画素値をアドレスとして、特徴量である画素値毎に当該特徴量である画素値を持つ画素の位置座標を格納する格納手段と、
上記カレントフレーム内の注目画素の特徴量を特徴量アドレスとして上記格納手段の格納情報を読み取り、カレントフレーム内の注目画素の位置座標注目画素の特徴量を特徴量アドレスとして上記格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離をそれぞれ演算して上記マッチング処理を行うマッチング手段と、を有し、
上記マッチング手段は、
上記カレントフレーム内の注目画素の位置座標と当該注目画素の特徴量を特徴量アドレスとして上記格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離をそれぞれ演算し、注目画素の位置座標と複数の候補の中から距離が最小である位置座標との差分を注目画素の動き情報として検出し、
検出した動き情報の値が想定される動き情報の規定値より小さいときは、検出した動き情報を正しい情報として判断し、
検出した動き情報の値が想定される動き情報の規定値以上の場合は、想定外の動き情報として判断して、
上記注目画素を中心とした所定のブロック範囲の画素値のそれぞれに位置座標の差分を足した値を上記注目画素に近い近傍画素の特徴量とし、位置座標の差分のどれか一つを変えて当該注目画素に近い近傍画素の特徴量の候補とし、カレントフレーム内の注目画素の位置座標と当該候補とした特徴量を特徴アドレスとして上記格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離をそれぞれ演算して再度マッチング処理を行い、上記動き情報の検出処理、当該検出した動き情報値に対する上記判断処理を行う
を有する画像処理装置。
An image processing apparatus that performs a matching process between information of a current frame of image data and information of a reference frame,
Based on the information of the reference frame , for each pixel in a predetermined block range centered on the position of the reference frame corresponding to the target pixel in the current frame, the pixel value that is the feature amount is used as an address , Storage means for storing the position coordinates of a pixel having a pixel value that is the feature amount for each pixel value ;
The storage information of the storage unit is read using the feature amount of the target pixel in the current frame as the feature amount address, and the position coordinates of the target pixel and the feature amount of the target pixel in the current frame are read from the storage unit as the feature amount address . a matching means for performing the matching process by computing the distance between the position coordinates included in the feature quantity addresses respectively, and
The matching means is
The distance between the position coordinates included in said stored read from unit feature quantity addresses the position coordinates and the feature quantity of the target pixel of the target pixel as the feature address in the current frame is calculated respectively, and the position coordinates of the pixel of interest The difference from the position coordinate with the smallest distance among the plurality of candidates is detected as the motion information of the target pixel,
When the value of the detected motion information is smaller than the assumed value of the assumed motion information, the detected motion information is determined as correct information,
If the detected motion information value is greater than or equal to the expected value of the motion information, it is determined as unexpected motion information,
A value obtained by adding a difference in position coordinates to each pixel value in a predetermined block range centered on the target pixel is used as a feature amount of a neighboring pixel close to the target pixel, and any one of the position coordinate differences is changed. A candidate for a feature quantity of a neighboring pixel close to the target pixel, and the position coordinates of the target pixel in the current frame and the position coordinates included in the feature quantity address read from the storage means using the feature quantity as the candidate as a feature address An image processing apparatus comprising: calculating a distance again, performing matching processing again, and performing detection processing for the motion information and determination processing for the detected motion information value.
上記マッチング手段は、上記注目画素に近い近傍画素の特徴量の候補を求める場合、上記注目画素の特徴量に近い値となるように上記位置座標の差分を設定し、検出した動き情報の値が想定される動き情報の規定値以上の場合は、当該差分値を大きく設定していく
請求項1記載の画像処理装置。
The matching means sets a difference between the position coordinates so as to be a value close to the feature amount of the pixel of interest when obtaining a feature amount candidate of a neighboring pixel close to the pixel of interest, and the value of the detected motion information is The image processing apparatus according to claim 1, wherein the difference value is set to be larger when the value is greater than a predetermined value of the assumed motion information.
画像データのカレントフレームの情報と参照フレームの情報とのマッチング処理を行う画像処理装置であって、
上記カレントフレームの情報を受けてカレントフレームの注目画素を中心とした所定ブロック内の各画素のパターン情報に関連付けた適応的量子化(ADRC)に基づく量子化コードを特徴量として生成し、上記参照フレームの情報を受けて上記カレントフレーム内の注目画素に対応する参照フレームの位置を中心とした所定のブロック範囲内の各画素のパターン情報に関連付けた適応的量子化(ADRC)に基づく量子化コードを特徴量として生成する特徴量生成手段と、
上記特徴量生成手段による参照フレームの情報に基づいて、上記カレントフレーム内の注目画素に対応する参照フレームの位置を中心とした所定のブロック範囲内の各画素について、特徴量である量子化コードをアドレスとして、特徴量である量子化コード毎に当該特徴量である量子化コードを持つ画素の位置座標を格納する格納手段と、
上記カレントフレーム内の注目画素の特徴量を特徴量アドレスとして上記格納手段の格納情報を読み取り、カレントフレーム内の注目画素の位置座標と注目画素の特徴量を特徴量アドレスとして上記格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離をそれぞれ演算して上記マッチング処理を行うマッチング手段と、を有し、
上記マッチング手段は、
上記カレントフレーム内の注目画素の位置座標と当該注目画素の特徴量を特徴量アド レスとして上記格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離をそれぞれ演算し、注目画素の位置座標と複数の候補の中から距離が最小である位置座標との差分を注目画素の動き情報として検出し、
検出した動き情報の値が想定される動き情報の規定値より小さいときは、検出した動き情報を正しい情報として判断し、
検出した動き情報の値が想定される動き情報の規定値以上の場合は、想定外の動き情報として判断して、
上記注目画素を中心とした所定のブロック範囲の画素値のそれぞれに位置座標の差分を足した値を上記注目画素に近い近傍画素の特徴量とし、位置座標の差分のどれか一つを変えて当該注目画素に近い近傍画素の特徴量の候補とし、カレントフレーム内の注目画素の位置座標と当該候補とした特徴量を特徴アドレスとして上記格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離をそれぞれ演算して再度マッチング処理を行い、上記動き情報の検出処理、当該検出した動き情報値に対する上記判断処理を行う
を有する画像処理装置。
An image processing apparatus that performs a matching process between information of a current frame of image data and information of a reference frame,
Based on the current frame information , a quantization code based on adaptive quantization (ADRC) associated with pattern information of each pixel in a predetermined block centered on the target pixel of the current frame is generated as a feature amount, and the above-mentioned reference A quantization code based on adaptive quantization (ADRC) that receives frame information and associates it with pattern information of each pixel within a predetermined block range centered on the position of the reference frame corresponding to the pixel of interest in the current frame a feature amount generating means for generating as a feature quantity,
Based on the reference frame information by the feature quantity generation means , a quantization code that is a feature quantity is obtained for each pixel within a predetermined block range centered on the position of the reference frame corresponding to the target pixel in the current frame. Storage means for storing the position coordinates of the pixel having the quantization code as the feature amount for each quantization code as the feature amount as an address ;
The storage information of the storage unit is read using the feature amount of the target pixel in the current frame as the feature amount address, and the position coordinates of the target pixel and the feature amount of the target pixel in the current frame are read from the storage unit as the feature amount address. Matching means for calculating the distance to the position coordinates included in the feature address and performing the matching process,
The matching means is
The distance between the position coordinates included in the read from said storage means as a feature addresses the position coordinates and the feature quantity of the target pixel of the target pixel features address in the current frame is calculated, respectively, the position coordinates of the pixel of interest And the difference between the position coordinate having the smallest distance from the plurality of candidates and detecting the movement information of the target pixel,
When the value of the detected motion information is smaller than the assumed value of the assumed motion information, the detected motion information is determined as correct information,
If the detected motion information value is greater than or equal to the expected value of the motion information, it is determined as unexpected motion information,
A value obtained by adding a difference in position coordinates to each pixel value in a predetermined block range centered on the target pixel is used as a feature amount of a neighboring pixel close to the target pixel, and any one of the position coordinate differences is changed. A candidate for a feature quantity of a neighboring pixel close to the target pixel, and the position coordinates of the target pixel in the current frame and the position coordinates included in the feature quantity address read from the storage means using the feature quantity as the candidate as a feature address An image processing apparatus comprising: calculating each distance, performing matching processing again, and performing the motion information detection processing and the determination processing for the detected motion information value .
画像データのカレントフレームの情報と参照フレームの情報とのマッチング処理を行う画像処理方法であって、
上記参照フレームの情報に基づいて、上記カレントフレーム内の注目画素に対応する参照フレームの位置を中心とした所定のブロック範囲内の各画素について、特徴量である画素値をアドレスとして、特徴量である画素値毎に当該特徴量である画素値を持つ画素の位置座標を格納する第1ステップと、
上記カレントフレーム内の注目画素の特徴量を特徴量アドレスとして上記格納手段の格納情報を読み取り、カレントフレーム内の注目画素の位置座標注目画素の特徴量を特徴量アドレスとして上記格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離をそれぞれ演算して上記マッチング処理を行う第2ステップと、を有し、
上記第2ステップにおいては、
上記カレントフレーム内の注目画素の位置座標と当該注目画素の特徴量を特徴量アドレスとして上記格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離をそれぞれ演算し、注目画素の位置座標と複数の候補の中から距離が最小である位置座標との差分を注目画素の動き情報として検出し、
検出した動き情報の値が想定される動き情報の規定値より小さいときは、検出した動き情報を正しい情報として判断し、
検出した動き情報の値が想定される動き情報の規定値以上の場合は、想定外の動き情報として判断して、
上記注目画素を中心とした所定のブロック範囲の画素値のそれぞれに位置座標の差分を足した値を上記注目画素に近い近傍画素の特徴量とし、位置座標の差分のどれか一つを変えて当該注目画素に近い近傍画素の特徴量の候補とし、カレントフレーム内の注目画素の位置座標と当該候補とした特徴量を特徴アドレスとして上記格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離をそれぞれ演算して再度マッチング処理を行い、上記動き情報の検出処理、当該検出した動き情報値に対する上記判断処理を行う
画像処理方法。
An image processing method for performing matching processing between current frame information and reference frame information of image data,
Based on the information of the reference frame , for each pixel in a predetermined block range centered on the position of the reference frame corresponding to the target pixel in the current frame, the pixel value that is the feature amount is used as an address , A first step of storing the position coordinates of a pixel having a pixel value that is the feature amount for each pixel value ;
The storage information of the storage unit is read using the feature amount of the target pixel in the current frame as the feature amount address, and the position coordinates of the target pixel and the feature amount of the target pixel in the current frame are read from the storage unit as the feature amount address . and a second step of performing the matching process by computing the distance between the position coordinates included in the feature quantity addresses respectively, and
In the second step,
The distance between the position coordinate of the target pixel in the current frame and the position coordinate included in the feature amount address read from the storage unit is calculated using the feature amount of the target pixel as the feature amount address, The difference from the position coordinate with the smallest distance among the plurality of candidates is detected as the motion information of the target pixel,
When the value of the detected motion information is smaller than the assumed value of the assumed motion information, the detected motion information is determined as correct information,
If the detected motion information value is greater than or equal to the expected value of the motion information, it is determined as unexpected motion information,
A value obtained by adding a difference in position coordinates to each pixel value in a predetermined block range centered on the target pixel is used as a feature amount of a neighboring pixel close to the target pixel, and any one of the position coordinate differences is changed. A candidate for a feature quantity of a neighboring pixel close to the target pixel, and the position coordinates of the target pixel in the current frame and the position coordinates included in the feature quantity address read from the storage means using the feature quantity as the candidate as a feature address An image processing method in which the distance is calculated and the matching process is performed again to perform the motion information detection process and the determination process for the detected motion information value .
画像データのカレントフレームの情報と参照フレームの情報とのマッチング処理を行う画像処理方法であって、
上記カレントフレームの情報を受けてカレントフレームの注目画素を中心とした所定ブロック内の各画素のパターン情報に関連付けた適応的量子化(ADRC)に基づく量子化コードを特徴量として生成する第1のステップと、
上記参照フレームの情報を受けて上記カレントフレーム内の注目画素に対応する参照フレームの位置を中心とした所定のブロック範囲内の各画素のパターン情報に関連付けた適応的量子化(ADRC)に基づく量子化コードを特徴量として生成する第2ステップと、
上記第2のステップによる参照フレームの情報に基づいて、上記カレントフレーム内の注目画素に対応する参照フレームの位置を中心とした所定のブロック範囲内の各画素につ いて、特徴量である量子化コードをアドレスとして、特徴量である量子化コード毎に当該特徴量である量子化コードを持つ画素の位置座標を格納する第3のステップと、
上記カレントフレーム内の注目画素の特徴量を特徴量アドレスとして上記格納手段の格納情報を読み取り、カレントフレーム内の注目画素の位置座標と注目画素の特徴量を特徴量アドレスとして上記格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離をそれぞれ演算して上記マッチング処理を行う第4のステップと、を有し、
上記第4のステップにおいては、
上記カレントフレーム内の注目画素の位置座標と当該注目画素の特徴量を特徴量アドレスとして上記格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離をそれぞれ演算し、注目画素の位置座標と複数の候補の中から距離が最小である位置座標との差分を注目画素の動き情報として検出し、
検出した動き情報の値が想定される動き情報の規定値より小さいときは、検出した動き情報を正しい情報として判断し、
検出した動き情報の値が想定される動き情報の規定値以上の場合は、想定外の動き情報として判断して、
上記注目画素を中心とした所定のブロック範囲の画素値のそれぞれに位置座標の差分を足した値を上記注目画素に近い近傍画素の特徴量とし、位置座標の差分のどれか一つを変えて当該注目画素に近い近傍画素の特徴量の候補とし、カレントフレーム内の注目画素の位置座標と当該候補とした特徴量を特徴アドレスとして上記格納手段から読み込んだ特徴量アドレスに含まれる位置座標との距離をそれぞれ演算して再度マッチング処理を行い、上記動き情報の検出処理、当該検出した動き情報値に対する上記判断処理を行う
画像処理方法。
An image processing method for performing matching processing between current frame information and reference frame information of image data,
First, a quantization code based on adaptive quantization (ADRC) associated with pattern information of each pixel in a predetermined block centered on a target pixel of the current frame is received as a feature amount in response to the current frame information. Steps,
Quantization based on adaptive quantization (ADRC) that receives information on the reference frame and associates it with pattern information of each pixel within a predetermined block range centered on the position of the reference frame corresponding to the pixel of interest in the current frame a second step of generating as a feature quantity code,
Based on the information of the reference frame according to the second step, quantization is each pixel have Nitsu, the feature quantity within a given block range position around the reference frame corresponding to the target pixel in the current frame A third step of storing the position coordinates of the pixel having the quantization code as the feature amount for each quantization code as the feature amount, with the code as an address ;
The storage information of the storage unit is read using the feature amount of the target pixel in the current frame as the feature amount address, and the position coordinates of the target pixel and the feature amount of the target pixel in the current frame are read from the storage unit as the feature amount address. A fourth step of calculating the distance to the position coordinates included in the feature amount address and performing the matching process,
In the fourth step,
The distance between the position coordinate of the target pixel in the current frame and the position coordinate included in the feature amount address read from the storage unit is calculated using the feature amount of the target pixel as the feature amount address, The difference from the position coordinate with the smallest distance among the plurality of candidates is detected as the motion information of the target pixel,
When the value of the detected motion information is smaller than the assumed value of the assumed motion information, the detected motion information is determined as correct information,
If the detected motion information value is greater than or equal to the expected value of the motion information, it is determined as unexpected motion information,
A value obtained by adding a difference in position coordinates to each pixel value in a predetermined block range centered on the target pixel is used as a feature amount of a neighboring pixel close to the target pixel, and any one of the position coordinate differences is changed. A candidate for a feature quantity of a neighboring pixel close to the target pixel, and the position coordinates of the target pixel in the current frame and the position coordinates included in the feature quantity address read from the storage means using the feature quantity as the candidate as a feature address An image processing method in which the distance is calculated and the matching process is performed again to perform the motion information detection process and the determination process for the detected motion information value .
JP2002222044A 2002-07-30 2002-07-30 Image processing apparatus and image processing method Expired - Fee Related JP4224999B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002222044A JP4224999B2 (en) 2002-07-30 2002-07-30 Image processing apparatus and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002222044A JP4224999B2 (en) 2002-07-30 2002-07-30 Image processing apparatus and image processing method

Publications (3)

Publication Number Publication Date
JP2004064564A JP2004064564A (en) 2004-02-26
JP2004064564A5 JP2004064564A5 (en) 2005-10-27
JP4224999B2 true JP4224999B2 (en) 2009-02-18

Family

ID=31942192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002222044A Expired - Fee Related JP4224999B2 (en) 2002-07-30 2002-07-30 Image processing apparatus and image processing method

Country Status (1)

Country Link
JP (1) JP4224999B2 (en)

Also Published As

Publication number Publication date
JP2004064564A (en) 2004-02-26

Similar Documents

Publication Publication Date Title
EP0446001B1 (en) Motion vector detection circuit used in hierarchical processing of moving picture signal
US8014566B2 (en) Image processing apparatus
US6041078A (en) Method for simplifying bit matched motion estimation
CN110049309B (en) Method and device for detecting stability of image frame in video stream
CN100553342C (en) Motion detection device
JP4337738B2 (en) Image signal processing apparatus and image signal processing method
JP4224999B2 (en) Image processing apparatus and image processing method
US8098944B2 (en) Image processing apparatus, method, storage medium, and program
EP3922024A1 (en) Point cloud global tetris packing
CN113516739A (en) Animation processing method and device, storage medium and electronic equipment
CN1902659B (en) Method and apparatus for image processing in a handheld device
KR20190087119A (en) Image processing device stabilizing image and method of stabilizing image
US7274824B2 (en) Method and apparatus to reduce the system load of motion estimation for DSP
JPWO2004012451A1 (en) Storage device, signal processing device, image signal processing device, and methods thereof
CN111581416A (en) Picture retrieval method, device and storage medium
US20150139326A1 (en) Cache management device, and motion picture system and method using the same
KR102131903B1 (en) Motion vector estimation method and motion vectror estimation apparatus
JP4329331B2 (en) Image processing apparatus and method, recording medium, and program
KR20190001444A (en) Motion prediction method for generating interpolation frame and apparatus
KR100792960B1 (en) Compensation apparatus for motion in the mobile terminal
JPH07284095A (en) View point adaptive-type image transmitting method and image transmitting device
JP4239557B2 (en) Image processing apparatus and method, recording medium, and program
CN116993620A (en) Deblurring method and electronic equipment
JP2019133440A (en) Determination program, determination method, and determination device
JP2004064564A5 (en)

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050707

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080812

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081014

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081117

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

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121205

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121205

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131205

Year of fee payment: 5

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