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

Image processing apparatus and image processing method Download PDF

Info

Publication number
JP3941644B2
JP3941644B2 JP2002274058A JP2002274058A JP3941644B2 JP 3941644 B2 JP3941644 B2 JP 3941644B2 JP 2002274058 A JP2002274058 A JP 2002274058A JP 2002274058 A JP2002274058 A JP 2002274058A JP 3941644 B2 JP3941644 B2 JP 3941644B2
Authority
JP
Japan
Prior art keywords
pixel
evaluation value
stored
image processing
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.)
Expired - Fee Related
Application number
JP2002274058A
Other languages
Japanese (ja)
Other versions
JP2004078862A5 (en
JP2004078862A (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 JP2002274058A priority Critical patent/JP3941644B2/en
Priority to TW092122124A priority patent/TWI260509B/en
Priority to EP03018473A priority patent/EP1394744A3/en
Priority to US10/640,614 priority patent/US7522748B2/en
Priority to KR1020030056461A priority patent/KR101014637B1/en
Priority to CN031545289A priority patent/CN100407232C/en
Publication of JP2004078862A publication Critical patent/JP2004078862A/en
Publication of JP2004078862A5 publication Critical patent/JP2004078862A5/ja
Application granted granted Critical
Publication of JP3941644B2 publication Critical patent/JP3941644B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、例えば、画像データに基づいて動きベクトルを生成する画像処理装置および画像処理方法に関するものである。
【0002】
【従来の技術】
従来より、画像のフレーム間での動きベクトルを検出する手法として、ブロックマッチングが知られている。
【0003】
図1は一般的な画像処理装置を示す図である。図2は図1に示した一般的な画像処理装置の動作を示すフローチャートである。
図1,2を参照しながら、ブロックマッチングについて説明する。
【0004】
ブロックマッチングとは、ある時間T−1における画像中のあるブロックが、次の時間Tにどの位置に動いたかを示す動きベクトルを求めるものである。
【0005】
例えば、画像処理装置1sは、図1に示すように、フレームメモリ3s−T、フレームメモリ3s−T−1、探索範囲メモリms、参照ブロックメモリmr、位相ブロックメモリmp、演算部pc、評価テーブルメモリmv、および最小値探索部psを有する。
【0006】
画像処理装置1sは、時間Tにおいて探索範囲を設定し、その範囲内で時刻T−1の参照ブロックと探索範囲内の各位相(位置)におけるブロックの内の画素のマッチングを行い、最もマッチングの近い位相を、時刻Tでのブロックの位置とする。
そこで、2フレーム間でのブロックのシフト量を動きベクトルとする。
【0007】
図2を参照しながら、画像処理装置1sの動作を説明する。
連続する入力画像が時間的に蓄えられているフレームメモリTとフレームメモリT−1から、動きベクトルを求めたい位置での探索範囲と参照ブロックbrをそれぞれ読み出す(ST1,ST2)。
それらは探索範囲メモリmsおよび参照ブロックメモリmrに蓄えられる(ST3)。
【0008】
次に、探索範囲メモリmsから各位相ごとに参照ブロックbrと同じ形状と大きさを持つブロックを読み出す。これを位相ブロックbpとする。
位相は、後述する評価テーブルへの記録が終わった時点で順次更新され、そのたびにその位相での位相ブロックbpが読み出される(ST4)。
【0009】
読み出された位相ブロックbpは、例えば図1に示すように、位相ブロックメモリmpに蓄えられる。
【0010】
図3は、位相シフトによる位相ブロックの読み出しから、評価テーブルメモリmrへの記録までの動作の一具体例を説明するための図である。図3(a)は位相シフト前の状態を示す図、図3(b)は位相シフト後の状態を示す図である。図3を参照しながら評価テーブルメモリへの記録までの動作を説明する。
参照ブロックサイズを3×3画素、探索範囲を5×5画素としている。
【0011】
ここで、位相1から、位相2にシフトしたときに読み出される位相ブロックbpが水平方向に1画素ずれた位置のものとなっている。例えば更新による位相のシフト量は1画素である。
【0012】
次に演算部pcにより、参照ブロックbrと位相ブロックbpの間での対応する画素ごとの差分絶対値を演算し、それらの値の差分絶対値総和Sを求める。
【0013】
【数1】

Figure 0003941644
【0014】
差分絶対値総和Sは、参照ブロックbrの内の画素の画素値kと、対応する位相ブロックbpの内の画素の画素値kを用いて、例えば、数式(1)により計算される(ST5)。
【0015】
次に、その差分絶対値総和Sを、評価テーブルに記憶させる(ST6)。
具体的には、図1のように、その差分絶対値総和Sを評価テーブルメモリmvに記憶する。評価テーブルでは、読み出される位相ブロックに対応した位相ごとに、差分絶対値総和Sが記憶される。
【0016】
一般的な画像処理装置1sは、図3に示したように、例えば位相1から位相2にシフトした場合に、そのシフトに応じて評価テーブルに記憶させる位置もシフトする。
【0017】
探索範囲内の全ての、位相ブロックbpの読み出しから評価テーブルへの記録が終了すると(ST7)、最小値探索部psでは、評価テーブル内の最小値を探索する(ST8)。
【0018】
一方、ステップST7において、すべての位相の評価値テーブルが記録していないと判別されると、ステップST3の処理に戻る。
それは、参照ブロックbrと最も近い探索範囲内のブロックを探索していることになる。
【0019】
上述したように、評価テーブルでは読み出される位相ブロックbpに対応した位相ごとに差分絶対値総和Sが記録されている。したがって、評価テーブル内で最小値が分かれば、探索範囲の内の参照ブロックbrに対応するブロックの位相が分かる。その位相の情報を動きベクトルとして出力する。
【0020】
【発明が解決しようとする課題】
上述した一般的な画像処理装置の問題点として、以下の3点が挙げられる。
1.位相ブロック、評価テーブルの値を一旦、格納する手順が必要である。そのためのメモリを回路の中に用意しなければならないので、回路のレイアウトが複雑になる。また、例えば、1フレーム内で多数の位置において動きベクトルを算出したい場合、その位置ごとに順を追って動きベクトルを探索する必要があり時間的なロスが生じる。
2.評価テーブル内の全ての値が記録されてはじめて、最小値の探索が始まる。そのため、各位相ブロックの読み出しと、最小値探索の2回分位相の更新をする必要がある。
3.この場合の出力は動きベクトルであり、例えば、動きベクトルから抽出される画素を読み出す処理を行う場合、動きベクトルからその画素を抽出するという別の手順が必要になる。
【0021】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、少ない計算量で動きベクトルを算出可能な画像処理装置および画像処理方法を提供することである。
【0022】
【課題を解決するための手段】
前記目的を達成するために、本発明の第1の観点の画像処理装置は、第1の画像データおよび第2の画像データのマッチングを行う画像処理装置であって、マッチングデータを含む画像素子を少なくとも1つ有し、前記画像素子は、前記第1の画像データ内の参照用の第1の画素を記憶する第1の画素記憶手段と、前記第1の画素に応じて、前記第2の画像データの所定の探索範囲内の第2の画素を記憶する第2の画素記憶手段と、前記第1の画素と前記第2の画素から画素のマッチングの度合いを示す評価値を計算する演算手段と、評価値を記憶する評価値記憶手段と、前記第1の画素記憶手段に記憶されている第1の画素と第2の画素記憶手段に記憶されている第2の画素とから得られる評価値が、前記評価値記憶手段に記憶されている評価値よりも評価が高い場合に前記評価値記憶手段に記憶されている評価値を上記第1の画素と第2の画素により得られた評価値に更新する評価値更新手段と、を有し、前記画像素子内に記憶されているマッチングデータの評価値演算は、当該画像素子内の演算手段によって演算される。
【0023】
第1の観点の画像処理装置によれば、第1の画像データおよび第2の画像データのマッチングを行い、マッチングデータを含む画像素子を少なくとも1つ有する。
画像素子において、第1の画素記憶手段は、第1の画像データ内の参照用の第1の画素を記憶する。
第2の画素記憶手段は、第1の画素に応じて、第2の画像データの所定の探索範囲内の第2の画素を記憶する。
前記第1の画素と前記第2の画素から画素のマッチングの度合いを示す評価値を計算する。
評価値記憶手段は、第1の評価値を記憶する。
評価値更新手段は、第1の画素記憶手段に記憶されている第1の画素と第2の画素記憶手段に記憶されている第2の画素とから得られる第2の評価値と、評価値記憶手段に記憶されている第1の評価値とに基づき記評価値記憶手段に記憶されている第1の評価値を更新する。
前記画像素子内に記憶されているマッチングデータの評価値演算は、当該画像素子内の演算手段によって演算される。
【0024】
さらに、前記目的を達成するために、第2の観点の画像処理装置は、第1の画像データおよび第2の画像データのマッチングを行う画像処理装置であって、マッチングデータを含む複数の画像素子を有し、前記画像素子は、前記第1の画像データの内の参照用の第1の画素を記憶する第1の画素記憶手段と、前記第1の画素に応じて、前記第2の画像データの所定の探索範囲の内の第2の画素を記憶する第2の画素記憶手段と、前記第1の画素と前記第2の画素から画素のマッチングの度合いを示す評価値を計算する演算手段と、前記第1の画素と前記第2の画素とから得られる評価値を記憶する評価値記憶手段と、前記評価値記憶手段に記憶されている評価値と、隣接する他の画像素子に記憶されている評価値とに基づき、当該画像素子と隣接する他の画素素子からなるブロックのマッチングの度合いを示す新たな評価値を出力する新評価値演算手段と、新たな評価値を記憶する新評価値記憶手段と、前記新評価値記憶手段に記憶されている新たな評価値よりも前記新評価値演算手段から出力された新たな評価値の評価が高い場合に、当該出力された新たな評価値を前記新評価値記憶手段に記憶して新たな評価値を更新する新評価値更新手段と、を有し、前記画像素子内に記憶されているマッチングデータの評価値演算は、当該画像素子内の演算手段によって演算される。
【0025】
さらに、前記目的を達成するために、第3の観点の画像処理装置は、時間的に異なる複数の画像データのマッチングを行う画像処理装置であって、マッチングデータを含む複数の画像素子を有し、前記画像素子は、前記時間的に異なる前記画像データそれぞれの画素を記憶する複数の第1の画素記憶手段と、前記第1の画素値記憶手段に記憶されている前記画素それぞれを記憶する複数の第2の画素記憶手段と、前記複数の第1の画素記憶手段に記憶されている前記画素のマッチングの度合いを示す第1の評価値を演算する第1の演算手段と、前記第1の評価値を記憶する第1の評価値記憶手段と、当該画像素子と隣接する他の画像素子からなるブロックのマッチングの度合いを示す第2の評価値を、前記第1の評価値と、隣接する他の画像素子の第1の評価値とに基づいて演算し出力する第2の演算手段と、前記第2の評価値を記憶する第2の評価値記憶手段と、前記第2の評価値記憶手段に記憶されている第2の評価値よりも前記第2の演算手段から出力された第2の評価値の評価が高い場合に、当該出力された第2の評価値を前記第2の評価値記憶手段に記憶して第2の評価値を更新する更新手段と、を有し、前記画像素子内に記憶されているマッチングデータの評価値演算は、当該画像素子内の演算手段によって演算される。
【0026】
さらに、前記目的を達成するために、第4の観点の画像処理方法は、第1の画像データおよび第2の画像データのマッチングを行い、マッチングデータを含み、評価値を記憶する評価値記憶手段を備えた少なくとも1つの画像素子を有する画像処理装置の画像処理方法であって、前記画像素子は、前記第1の画像データの内の参照用の第1の画素を記憶し、前記第1の画素に応じて、前記第2の画像データの所定の探索範囲の内の第2の画素を記憶し、前記第1の画素と前記第2の画素から画素のマッチングの度合いを示す評価値を計算し、前記第1の画素と前記第2の画素とから得られる評価値が、前記評価値記憶手段に記憶されている評価値よりも評価が高い場合に前記評価値記憶手段に記憶されている評価値を上記第1の画素と第2の画素により得られた評価値に更新し、前記画像素子内に記憶されているマッチングデータの評価値演算は、当該画像素子内の演算手段によって演算される。
【0027】
さらに、前記目的を達成するために、第5の観点の画像処理方法は、第1の画像データおよび第2の画像データのマッチングを行い、マッチングデータを含む複数の画像素子を有する画像処理装置の画像処理方法であって、前記画像素子は、前記第1の画像データの内の参照用の第1の画素を記憶し、前記第1の画素に応じて、前記第2の画像データの所定の探索範囲の内の第2の画素を記憶し、前記第1の画素と前記第2の画素から画素のマッチングの度合いを示す評価値を計算し、前記第1の画素と前記第2の画素とから得られる評価値を記憶し、当該画像素子と隣接する他の画素素子からなるブロックのマッチングの度合いを示す新たな評価値を記憶し、前記記憶されている評価値と、隣接する他の画像素子に記憶されている評価値とに基づき、当該画像素子と隣接する他の画素素子からなるブロックのマッチングの度合いを示す新たな評価値を出力し、前記記憶されている新たな評価値よりも前記出力された新たな評価値の評価が高い場合に、当該出力された新たな評価値により前記記憶されている新たな評価値を更新し、前記画像素子内に記憶されているマッチングデータの評価値演算は、当該画像素子内の演算手段によって演算される。
【0028】
さらに、前記目的を達成するために、第6の観点の画像処理方法は、時間的に異なる複数の画像データのマッチングを行い、マッチングデータを含む複数の画像素子を有する画像処理装置の画像処理方法であって、前記画像素子は、前記時間的に異なる前記画像データそれぞれの複数の第1の画素を記憶し、前記複数の第1の画素に対応する複数の第2の画素を記憶し、前記記憶されている複数の第1の画素における画素のマッチングの度合いを示す第1の評価値を計算し、当該画像素子と隣接する他の画像素子からなるブロックのマッチングの度合いを示す第2の評価値を記憶し、当該画像素子と隣接する他の画像素子からなるブロックのマッチングの度合いを示す第2の評価値を、前記第1の評価値と、隣接する他の画像素子の第1の評価値とに基づいて計算し、前記記憶されている第2の評価値よりも計算により得られた第2の評価値の評価が高い場合に、当該計算により得られた第2の評価値により前記記憶されている第2の評価値を更新し、前記画像素子内に記憶されているマッチングデータの評価値演算は、当該画像素子内の演算手段によって演算される。
【0029】
【発明の実施の形態】
第1実施の形態
本実施の形態に係る画像処理装置1は、複数のフレームを有する動画像のフレーム間の動きベクトルの検出を行う。
【0030】
画素マッチング
図4は、本発明に係る画像処理装置の第1の実施の形態の機能ブロック図である。
図5(a)は第1の実施の形態に係る画像処理装置のメモリを示す図である。図5(b)は図5(a)に示した画像処理装置のメモリの内の素子の機能ブロック図である。
【0031】
本実施の形態に係る画像処理装置1は、図4に示すように、メモリ2、複数のフレームメモリ3、読出部4、および制御部100を有する。
【0032】
メモリ2は、後述するように、フレームメモリ3からの所定のデータ、例えば、画素の画素値および位相(位相情報とも言う)に基づいて、動きベクトルを生成および記憶する。
【0033】
フレームメモリ3は、例えば複数のフレームメモリ3、具体的にはフレームメモリ3−T、フレームメモリ3−T−1を有する。
フレームメモリ3−Tは、入力された時刻Tの画像データ(単に画像とも言う)を記憶する。
フレームメモリ3−T−1は、時刻T−1の画像データを記憶する。
また、所定の時間後には、フレームメモリ3−Tに記憶された画像データがフレームメモリ3−T−1に記憶され、フレームメモリ3−Tには新たに画像データが記憶される。
【0034】
読出部4は、メモリ2に記憶された動きベクトルを素子20毎に読み出す。
制御部100は、メモリ2、フレームメモリ3、および読出部4を、所定の処理に応じた制御を行う。
制御部100は、例えば、フレームメモリ3に画像を記憶させる。
制御部100は、例えば、フレームメモリ3から所定の探索範囲spおよび参照範囲の内の画素、および探索範囲spの内の探索領域tpと、参照領域trとの位相をメモリ2に出力する。
【0035】
各構成要素について詳細に説明する。
本実施の形態に係る画像処理装置1のメモリ2は、例えば、図5(a)に示すように、格子状に複数の素子20を有する。
簡単のために、メモリ2の内に3×3の素子(画素)20−1〜9を設ける。素子20それぞれは接続されている。
【0036】
各素子(画素)20ごとに一遍にマッチングを行う場合を説明する。
素子20は、図5(b)に示すように、複数の画素21、例えば画素21−1,2、最小画素差分記憶部22、動きベクトル記憶部23、減算器24、絶対値生成部25、比較更新部26、および更新部27とを有する。
【0037】
素子20は、具体的には、単に1画素を記憶する(格納するとも言う)だけでなく例えば2画素分の画素値を格納し、それらの差分絶対値を演算し、その結果である差分絶対値を格納する。
マッチングデータは、例えば、画素値や、差分絶対値や、所定の演算結果を示すデータ等の所定のマッチング処理に係るデータである。
【0038】
画素21は、複数の画素、例えば画素21−1および画素21−2を有する。画素21−1は、例えば、フレームメモリ3−Tの内の探索範囲spの内の画素の画素値が入力される。
画素21−2は、例えば、フレームメモリ3−T−1の参照領域trの内の画素の画素値が入力される。
【0039】
最小画素差分記憶部22は、差分絶対値を記憶する。
最小画素差分記憶部22は、比較更新部26により、記憶している差分絶対値の更新が行われる。
【0040】
動きベクトル記憶部23は、後述するように、動きベクトルを記憶する。
動きベクトル記憶部23は、更新部27により、動きベクトルの更新が行われる。
【0041】
減算器24は、画素21−1に記憶された画素値と、画素21−2に記憶された画素値とに応じて、それらの画素値の差分値を絶対値生成部25に出力する。
【0042】
絶対値生成部25は、減算器24から出力された、画素21−1の画素値と画素21−2の画素値との差分値に基づいて、その差分値の絶対値(差分絶対値とも言う)を比較更新部26に出力する。
【0043】
比較更新部26は、絶対値生成部25から出力された差分絶対値と、最小画素差分記憶部22に記憶されている差分絶対値とを比較する。
【0044】
比較更新部26は、その比較の結果、絶対値生成部25から出力された差分絶対値が小さい場合には、この小さい方の差分絶対値を最小画素記憶部22に記憶させることで、差分絶対値を更新する。
比較更新部26は、上述の比較の結果、最小画素差分記憶部22の差分絶対値の更新を行う場合に、更新部27に差分絶対値が更新されたことを示す更新情報を出力する。
【0045】
更新部27は、比較更新部26から出力された更新情報、および位相情報に基づいて、動きベクトル記憶部23に記憶されている動きベクトルを更新する。
具体的には、更新部27は、比較更新部26から差分絶対値が更新されたことを示す更新情報が出力した場合には、その時の探索領域tpと参照領域trとの位相情報(位相)を動きベクトルとして、動きベクトル記憶部23に記憶させ、動きベクトルを更新する。
【0046】
上述したように、メモリ2は、画素値以外の動きベクトルや差分絶対値といった情報を付加情報として記憶する。
【0047】
図6は、図4に示した画像処理装置の画素マッチングにおける位相の更新と、探索領域tpの読み出しを説明するための図である。図6(a)は、探索範囲内の位相を示す図である。図6(b)は位相と探索領域tpの関係を示す図である。
【0048】
位相(位相情報)は、例えば探索範囲spの中心と、探索領域tpの中心とのずれである。例えば、図6(a)に示すように位相を定義する。
具体的には、図6(a)に示すように、探索範囲sp(5×5)の中心と、探索領域tp(3×3)の中心とが一致している場合には、位相(0,0)である。
【0049】
例えば、探索範囲sp(5×5)の中心と、探索領域tp(3×3)の中心が、図に向かって右に1単位ずれた場合には、位相(1,0)である。
その他の位相も探索範囲spの中心と探索領域tpの中心とのずれを、位相の座標とする。
【0050】
図6(b)は、位相の更新と探索領域tpの読出しを示す図である。
例えば、制御部100は、図6(b)に示すように、位相を順に(−1,−1)、(0,−1)、(1、−1)、(−1,0)、(0,0)、(0,1)、(−1,1)、(0,1)、(1,1)と更新して、それに応じて探索領域tpの内の画素を読み出し、メモリ2の内の対応する素子20に出力する。
後述するように、差分絶対値が最小の場合の位相を、真の動きベクトルとする。
【0051】
また、制御部100の、画素の読み出す順番、および位相の順番は、この形態に限られるものではない。全ての画素を読み出すことができれば順番は、上述の形態に限られるものではない。
ここで図5においては、各素子の保有する画素21−1に、探索領域tpの内の1画素を格納する。
【0052】
図7は、図1に示した画像処理装置1の動作を説明するためのフローチャートである。画像処理装置1の動作、特に、動きベクトルを生成する動作を、図7を参照しながら説明する。
【0053】
例えば制御部100は、フレームメモリ3−T−1から、任意の3×3の参照領域trの各画素を、メモリ20内の対応する各素子20ごとに格納する(ST11)。
具体的には、図4に示すように、各素子20の画素21−2に参照領域trの1画素を格納する。
【0054】
制御部100は、フレームメモリ3−Tにおいて、探索範囲spの内で位相を更新(シフト)しながら(ST12)、探索領域tp(3×3)の内の画素を読み出し、対応するメモリ2の内の各素子20ごとに格納する(ST13)。
具体的には、図4に示すように制御部100は、各素子20の画素21−1に探索領域tpの内の、対応する1画素を格納する。
【0055】
制御部100では、探索領域tpの位相の更新と、探索領域tpの内の画素の読み出しは、例えば、図6に示すように、(−1,−1)〜(1,1)の範囲で1画素ずつ位相をずらして計9回行われ、9回終わると終了する。
【0056】
各素子20の減算器24および絶対値生成部25で、画素21−1に格納された画素値と画素21−2に格納された画素値の差分絶対値が演算される。これを例えば差分絶対値aとする(ST14)。
比較更新部26では、メモリ2の内の素子20の最小画素差分記憶部22に記憶されている差分絶対値(例えば差分絶対値bと言う)と、差分絶対値aとが比較される(ST15)。
【0057】
ステップST15の比較の結果、比較更新部26では、差分絶対値aが小さい場合、最小画素差分記憶部22に差分絶対値aを記憶し、差分絶対値を更新する(ST16,ST17)。
一方、比較更新部26では、差分絶対値aが大きい場合は更新を行わず(ST16)、次の探索領域tpの位相の更新および探索領域tpの内の画素の読み出し処理へ移行する。
ところで、初期状態では素子20の最小画素差分記憶部22には、差分絶対値が格納されていない。その場合は、最小画素差分記憶部22には、無条件に最初の差分絶対値が格納される。
【0058】
ステップST17において、比較更新部26では、差分絶対値が更新された場合のみ、差分絶対値が更新されたことを示す更新情報が更新部27に出力される。
更新部27では、比較更新部26から差分絶対値が更新されたことを示す更新情報が出力された場合には、その時の探索領域tpの位相を、動きベクトル記憶部23に記憶させて、動きベクトルが更新される(ST18)。
【0059】
そして、全ての位相の更新が終了した時点で(ST19)、各素子20におい、最小画素差分記憶部21−2には、探索範囲spにおける画素差分絶対値の最小値が記憶され、それが更新されたときの位相(動きベクトル)が動きベクトル記憶部23に記憶されている。
【0060】
一方、ステップST19において、全ての位相の更新が終了していない場合には、ステップST12の処理に戻る。
【0061】
この各動きベクトルは、参照領域trの各画素20が時刻Tに探索範囲spの内のどの位置に移動したかを、画素20間の差分絶対値に基づいて求めたものである。最終的に、読出部4は、各素子20から、これらの動きベクトルを読出し出力する。
【0062】
以上、説明したように、画像データを記憶する複数のフレームメモリ3と、フレームメモリ3からのデータに応じて、動きベクトルを生成および記憶するメモリ2と、メモリから素子毎の動きベクトルを読出す読出部4と、それらを制御する制御部100とを設ける。そして、メモリ2には格子状に複数の素子20を設ける。
【0063】
素子20には、異なるフレームメモリの所定の画素の画素値を記憶する画素21−1〜2と、画素21−1〜2の画素値の差分値を出力する減算器24と、減算器24から出力された差分値の絶対値(差分絶対値)を出力する絶対値生成部25と、差分絶対値を記憶する最小画素差分記憶部22と、差分絶対値と、最小画素差分記憶部22に記憶されている差分絶対値を比較し、比較の結果、最小画素記憶部22の差分絶対値を更新し、更新したことを示す更新情報を出力する比較更新部26と、比較更新部26から差分絶対値が更新されたことを示す更新情報が出力した場合には、その時の位相座標を動きベクトルとして、動きベクトル記憶部23に記憶させて、動きベクトルを更新する更新部27とを設けたので、少ない計算量で動きベクトルを算出することができる。
【0064】
また、探索範囲sp内のすべての位相における評価テーブルの演算および最小値の探索という2段階の位相の更新を、一括して行うことができる。
【0065】
また、差分絶対値の最小値のみを更新していくので、例えば最小値の探索のための評価テーブルを別のメモリ上に生成する必要がないので、メモリを縮小することができる。
【0066】
本実施の形態に係る画像処理装置1では、3×3のサイズのメモリ2を用いて説明したが、これに限定されるものではない。
例えば、1フレームの全画素数分の素子20を有するメモリ2を設けた場合には、1フレーム分の全画素ごとの動きベクトルが、位相の更新を終了させた時点で1度に求めることができる。
【0067】
第2の実施の形態
ブロックマッチング
図8は、本発明に係る画像処理装置1aの第2の実施の形態の機能ブロック図である。
図9(a)は図8に示した画像処理装置1aのメモリを示す図である。図9(b)は図8に示したメモリの構成の一具体例を示す図である。図9(c)は図8に示した画像処理装置1aの動きベクトルが格納されるメモリの構成を示す図である。
【0068】
本実施の形態に係る画像処理装置1aは、図8に示すように、メモリ2a、複数のフレームメモリ3a、例えばフレームメモリ3a−T,T−1、読出部4、および制御部100aを有する。
【0069】
第1の実施の形態に係る画像処理装置1において、例えば、3×3のブロックマッチングでは、3×3の素子で、ある注目画素の動きベクトルを求めた。
第2の実施の形態の画像処理装置1aでは、隣接する3×3の画素の動きベクトルを1度に求める。
【0070】
メモリ2aは、第1の実施の形態に係る画像処理装置1のメモリ2と同様に、単に1画素を格納するだけでなく2画素分格納でき、それらの差分絶対値を演算する。また、その結果である差分絶対値を格納する。
【0071】
画素マッチングを応用したブロックマッチングの一具体例を説明する。
画像処理装置1aと、第1の実施の形態に係る画像処理装置1との大きな相違点は、メモリの構成が異なる点である。相違点のみ説明する。
【0072】
本実施の形態に係る画像処理装置1aのメモリ2aは、例えば図9に示すように、格子状に複数の素子20aを有する。
簡単のために、メモリ2aの内に5×5の素子20a−1〜25を設ける。各素子20それぞれは接続されている。
各素子20ごとに一遍にマッチングを行う場合を説明する。
ここで、素子20a−1〜25を区別しない場合には、単に素子(画素)20aという。探索範囲spを画素単位で(−1,−1)から(1,1)として説明する。
【0073】
メモリ2aは、素子20a間の配線により、図9(a)に示すように、注目する素子(例えば素子20a−5)の8近傍の素子(例えば素子20a−1〜4および素子20a−6〜9)に格納されている差分絶対値を注目する素子に送ることができる。
【0074】
各素子20aには、それら9つの差分絶対値を受取り加算する処理を有する。そのため注目する素子20aでは、その差分絶対値の総和を求め、それを格納する。
【0075】
但し、各素子20aは、予め保持されている差分絶対値の総和との比較を行い、小さい場合のみその値を更新する。その差分絶対値の総和が更新された場合、その時の動きベクトル(動きベクトル)も予め格納されているものから更新される。
以下、詳細に説明する。
【0076】
素子20aは、図9(c)に示すように、複数の画素21a、例えば画素21a−1〜2、画素差分記憶部22a−1、差分総和記憶部22a−2、動きベクトル記憶部23、減算器24、絶対値生成部25a、比較更新部26a、更新部27、および加算部28とを有する。
【0077】
素子20aと、第1の実施の形態に係る素子20との相違点は、画素差分記憶部22a−1、差分総和記憶部22a−2、絶対値生成部25a、比較更新部26a、加算部28である。
【0078】
画素差分記憶部22a−1は、絶対値生成部25aから出力された、画素21a−1と画素21a−2の差分絶対値を記憶する。
画素差分記憶部22a−1は、記憶している差分絶対値を加算部28に出力する。
【0079】
差分総和記憶部22a−2は、差分絶対値総和を記憶する。この差分絶対値総和は、後述するように比較更新部26aにより所定の条件の場合に更新される。
【0080】
絶対値生成部25aは、減算器24から出力された、画素21−1の画素値と画素21−2の画素値との差分値に基づいて、その差分値の絶対値(差分絶対値とも言う)を画素差分記憶部22a−1に出力する。
【0081】
比較更新部26aは、加算部28から出力された差分絶対値総和Aと、差分総和記憶部22a−2に記憶されている差分絶対値総和(差分絶対値総和Bと言う)とを比較して、比較の結果、差分絶対値総和Aが小さい場合には、差分絶対値総和Aを差分総和記憶部22a−2に記憶させて、差分絶対値総和を更新する。
【0082】
比較更新部26aは、上述した更新を行った場合には、更新を行ったことを示す更新情報を更新部27に出力する。
比較更新部26aは、比較の結果、差分絶対値総和Aが大きい場合には、差分総和記憶部22a−2に記憶されている差分絶対値総和Bの更新を行わない。
【0083】
加算部28は、その画素の近傍の8つの素子20a(8近傍の素子20aとも言う)それぞれから出力された差分絶対値a、および画素差分記憶部22a−1から出力された差分絶対値aに基づいて、それらを加算して、差分絶対値総和Aを生成し、比較更新部26aに出力する。
【0084】
図10は図8に示した画像処理装置の動作、特に位相の更新と探索領域tpの読み出しを行う動作について説明するための図である。図10(a)は探索範囲sp内の位相を示す図である。図10(b)は位相と探索領域tpの関係を示す図である。
【0085】
図10(a)に示すように、例えば、位相は探索範囲spの中心と探索領域tpの中心とのずれを示す。例えば、図10(a)に示すように位相の座標を定義する。
具体的には、図10(a)に示すように、探索範囲sp(7×7)の中心と、探索領域tp(5×5)の中心とが一致した場合には、位相(0,0)である。
【0086】
例えば、探索範囲sp(7×7)の中心と、探索領域tp(5×5)の中心が、向かって右に1単位ずれた場合には、位相(1,0)である。
その他の状態も探索範囲spの中心と探索領域tpの中心とのずれを位相の座標とする。
【0087】
例えば、制御部100aは、図10(b)に示すように、位相を順に(−1,−1)、(0,−1)、(1、−1)、(−1,0)、(0,0)、(0,1)、(−1,1)、(0,1)、(1,1)と更新して、それに応じて探索領域tpの内の画素を読み出し、メモリ2aの内の対応する素子20aに出力する。
また、制御部100aの読み出す順番は、この形態に限られるものではない。全ての画素を読み出すことができれば順番は、上述の形態に限られない。
【0088】
図11は、図8に示した画像処理装置1aの動作を説明するためのフローチャートである。画像処理装置1の動作、特に動きベクトル検出の動作を、図11を参照しながら説明する。
この場合では、注目素子とは、図9において、実際に動きベクトルが格納される素子20aの1つと想定する。ここで注目素子はメモリ2aの端にある素子ではない。
【0089】
例えば制御部100aは、フレームメモリ3a−T−1から、任意の5×5の参照領域trの各画素をメモリ2a内の各素子20aごとに格納する(ST21)。ここで図8においては、各素子20aの保有する画素21−2の部分に参照領域trの1画素を格納する。
【0090】
制御部100aは、探索範囲sp内で位相を更新しながら(ST22)、5×5の領域を読み出し、その領域内の各画素をメモリ2a内の各素子20aごとに格納する(ST23)。この5×5の領域を「探索領域tp」と名付ける。ここで図8においては、各素子20aの保有する画素21a−1の部分に探索領域tpの1画素を格納することになる。
位相の更新と探索領域tpの読み出しは、例えば、図10に示すように(−1,−1)〜(1,1)の範囲で9回行われ、9回終わると終了する。
【0091】
次に各素子20a内で、画素21a−1に格納された値と画素21a−2に格納された値の差分絶対値aを演算する(ST24)。その結果を、各素子20a内の画素差分記憶部22a−1に格納する。
【0092】
次に各注目素子において、加算部28は、その8近傍の素子20aから差分絶対値aを読み込み、画素差分記憶部22a−1に記憶されている差分絶対値aと加算し、差分絶対値総和Aを求める(ST25)。
【0093】
次に各注目素子において、比較更新部26aは、差分総和記憶部22a−2に予め格納されている差分絶対値総和(差分絶対値総和B)と、加算部28から出力された差分絶対値総和Aを比較して(ST26,ST27)、差分絶対値総和Aが小さい場合には、差分総和記憶部22a−2に格納する値を、差分絶対値総和Bから差分絶対値総和Aに更新する(ST28)。
【0094】
一方、ステップST27において、比較更新部26aでは、差分絶対値総和Aが大きい場合には更新を行わない。制御部100aでは、次の位相の更新および探索領域tpの読み出しへと移行する。ステップST22に戻る。
【0095】
ところで、初期状態では注目素子に差分絶対値総和は格納されていない。その場合は、無条件に最初の差分絶対値総和が格納される。
【0096】
ステップST29において、更新部27では、ある注目素子の差分絶対値総和が更新された場合のみ、そのときの位相を真の動きベクトルとして、その注目素子の、動きベクトル記憶部23に予め格納されている動きベクトルを更新する。
【0097】
そして、位相の更新が終了した時点で(ST30)、9つの各注目素子20aには探索範囲spにおける画素差分絶対値総和の最小値と、それが格納されたときの動きベクトルが格納されている。
一方、ステップST30において、位相の更新が終了していないと判別した場合には、ステップST22の処理に戻る。
【0098】
図12は、図8に示した画像処理装置のフレームの参照領域trから切り出されるブロックを示す図である。
この各動きベクトルは、図12に示すように参照領域tr内から切り出される9個の3×3のブロックが、時刻Tに探索範囲sp内のどの位置に移ったかを、3×3のブロック間の差分絶対値総和に基づいて求めたものである。
最終的には読出部4は、各注目素子から、これらの動きベクトルを読み出し出力する。
【0099】
以上、説明したように、画像処理装置1aでは、注目素子とその隣接する素子(3×3の素子)の差分絶対値とを加算した差分総和値に基づいて、3×3の画素の動きベクトルを1度に生成することができる。
【0100】
本実施の形態では、3×3のブロックサイズで探索範囲spを画素単位で(−1,−1)〜(1,1)の場合のブロックマッチングを実現するメモリを説明したが、この形態に限られるものではない。
例えば、各素子20a間の配線を周辺の5×5の素子20aから注目素子に接続するように変更することで、5×5のさらに大きなブロックサイズでのマッチングも可能である。
【0101】
また、メモリ2a内の全素子数を5×5の場合で説明したが、例えばメモリ2aに1フレーム内全画素数分の素子を設けた場合には、全画素ごとの動きベクトルが、位相の更新を終了させた時点で1度に求められる。
【0102】
また、動きベクトルを検出する機能を持つ素子20aを多数用いてメモリ2aを構成することで、隣接する複数の画素ごとの動きベクトルを一括して求めることができる。
【0103】
第3の実施の形態
対応画素検出
上述した第2の実施の形態に係る画像処理装置1aの画素マッチングでは、ブロックマッチングの最終的な結果として、動きベクトルがメモリ2a内に格納される。
【0104】
第3の実施の形態に係る画像処理装置1bは、注目するフレームとその前後のフレームで、「対応画素」そのものを直接格納し出力する。
ここで、「対応画素」とは、ある注目画素を含み、注目画素の前後のフレームにおいて、注目画素が動いても動きベクトルによって補正して同じ画素として対応させることができる画素を指す。このような格納される「対応画素」は、後述するクラス分類適応処理に利用可能である。
【0105】
図13は、本発明の第3の実施の形態に係る画像処理装置の対応画素の摘出を説明するための概念図である。
横軸はx軸、縦軸はy軸、斜軸は時間軸である。
本実施の形態では、図13に示すように、注目画素+前後2フレーム分の画素、すなわち計5画素を対応画素として、メモリに抽出する場合を考える。
【0106】
簡単のために対応画素深索のためのブロックサイズを3×3画素、探索範囲spを画素単位で(−1,−1)〜(1,1)として説明する。注目画素とそれ以外の前後2フレーム間の対応画素では、等速であるという拘束条件をつけている。
【0107】
すなわち、フレームT−1において、例えば、(−1,−1)(図13では、まる7)、の位置に対応画素がある場合、フレームT−2では(−2,−2)(図13では、まる9)、フレームT+1では、(1,1)(図13では、まる19)、フレームT+2では(2,2)(図13では、まる41)に必ず対応画素が存在する。但し、注目画素の位置を(0,0)(図13では、まる5)とした。
【0108】
本実施の形態に係る画像処理装置1bは、注目フレームTにおける注目画素を中心とした3×3のブロックとそれ以外の各フレームの3×3のブロックとの差分絶対値をそれぞれ演算し、それらを全て足し合わせたものが最小となる動きベクトルを生成する。
最小となる位相において、図13に示すような3×3のブロックの中心の画素を対応画素として、画像処理装置1bの内のメモリ2bに格納し出力する。
【0109】
図14は、本発明に係る画像処理装置の第3の実施の形態の機能ブロック図である。
本実施の形態に係る画像処理装置1bは、図14に示すように、メモリ2b、複数のフレームメモリ3b、例えばフレームメモリ3b−T+2,T+1,T,T−1,T−2、読出部4、および制御部100bを有する。
画像処理装置1bと、第2の実施の形態に係る画像処理装置1aとの大きな相違点は、メモリの構成が異なる点である。
【0110】
また、5つのフレームメモリ3b−T+2,T+1,T,T−1,T−2を有するのに伴い、制御部の動作が異なる。相違点のみ説明する。
【0111】
制御部100bは、フレームメモリ3b−T+2に、例えば入力された画像を記憶させ、所定のタイミングで、その画像をフレームメモリ3b−T+1に出力する。
【0112】
制御部100bは、フレームメモリ3b−T+1に、フレームメモリ3b−T+2から出力された画像を記憶させ、所定のタイミングで、その画像をフレームメモリ3b−Tに出力する。
制御部100bは、フレームメモリ3b−Tに、フレームメモリ3b−T+1から出力された画像を記憶させ、所定のタイミングで、その画像をフレームメモリ3b−T−1に出力する。
制御部100bは、フレームメモリ3b−T−1に、フレームメモリ3b−Tから出力された画像を記憶させ、所定のタイミングで、その画像をフレームメモリ3b−T−2に出力する。
制御部100bは、フレームメモリ3b−T−2に、フレームメモリ3b−T−1から出力された画像を記憶させる。
【0113】
制御部100bは、フレームメモリ3b−Tから所定の参照範囲(5×5)の内の画素の画素値をメモリ2bに出力する。
制御部100bは、フレームメモリ3b−T−2から、所定の探索範囲spT−2(9×9)の内の探索領域tpT−2(5×5)の画素、およびその位相情報をメモリ2bに出力する。
制御部100bは、フレームメモリ3b−T−1から、所定の探索範囲spT−1(7×7)の内の探索領域tpT−1(5×5)の画素、およびその位相情報をメモリ2bに出力する。
制御部100bは、フレームメモリ3b−T+1から、所定の探索範囲spT+1(7×7)の内の探索領域tpT+1(5×5)の画素、およびその位相情報をメモリ2bに出力する。
制御部100bは、フレームメモリ3b−T+2から、所定の探索範囲spT+2(9×9)の内の探索領域tpT+2(5×5)の画素、およびその位相情報をメモリ2bに出力する。
【0114】
上述した探索領域tp(5×5)の内の画素を読み出す場合には、制御部100bは、フレームメモリ3b−T−2,T−1,T+1,T+2それぞれの探索領域tpの内の画素が、例えば図14に示したように直線状になるように設定する。
【0115】
図15(a)は図14に示した画像処理装置1bのメモリ2bを示す図である。図15(b)は対応画素が格納されるメモリを示す図である。図15(c)は図15(a)に示したメモリ2bの素子20bの機能ブロック図である。
【0116】
本実施の形態に係る画像処理装置1bのメモリ2bは、例えば図15に示すように、5×5の素子20b−1〜25を有しており、各素子20bそれぞれは接続されている。
【0117】
3×3のブロックマッチングでは、ある注目画素における対応画素を求めるには3×3の素子で十分であるが、本実施の形態に係る画像処理装置1bでは、図14(b)に示すように、隣接する3×3の画素の動きベクトルを1度に求める。
【0118】
メモリ2bは、図15(a)に示すように、複数の素子20b、例えば格子状に形成された素子20b−1〜25を有する。
【0119】
素子20bは、図15(c)に示すように、複数の画素21b、例えば画素21b−T,T+2,T+1,T−1,T−2、差分絶対値総和A記憶部22b−1、差分絶対値総和B記憶部22b−2、複数の減算器24b、例えば減算器24b−1〜4、複数の絶対値生成部25b、例えば絶対値生成部25b−1〜4、加算器250、比較更新部26b、更新部27b、加算部28b、複数の対応画素210b、例えば対応画素210b−T,T+2,T+1,T−1,T−2を有する。
【0120】
画素21b−Tは、フレームTの注目する画素(注目画素とも言う)の画素値を記憶する。
画素21b−T+2、画素21b−T+1、画素21b−T−1、画素21b−T−2それぞれは、図13に示すように、注目フレームの前後±2フレームにおいて、時空間で注目画素を通る直線上に存在する4つの画素の画素値を記憶する。
【0121】
差分絶対値総和A記憶部22b−1は、格納している注目画素と4つの各画素間でそれぞれ差分絶対値を求めた合計(差分絶対値総和Aとも言う)を記憶する。
【0122】
差分絶対値総和B記憶部22b−2は、注目素子の近傍の8つの素子(8近傍の素子とも言う)にある差分絶対値総和Aの合計(差分絶対値総和Bとも言う)を記憶する。
【0123】
減算器24b−1は、画素3b−T−2から出力された画素値と、画素3b−Tから出力された画素値とを減算し絶対値生成部25b−1に出力する。
減算器24b−2は、画素3b−T−1から出力された画素値と、画素3b−Tから出力された画素値とを減算し絶対値生成部25b−2に出力する。
減算器24b−3は、画素3b−T+1から出力された画素値と、画素3b−Tから出力された画素値とを減算し絶対値生成部25b−3に出力する。
減算器24b−4は、画素3b−T+2から出力された画素値と、画素3b−Tから出力された画素値とを減算し絶対値生成部25b−4に出力する。
【0124】
絶対値生成部25−1は、減算器24b−1から出力された差分値の絶対値(差分絶対値)を加算器250に出力する。
絶対値生成部25−2は、減算器24b−2から出力された差分絶対値を加算器250に出力する。
絶対値生成部25−3は、減算器24b−3から出力された差分絶対値を加算器250に出力する。
絶対値生成部25−4は、減算器24b−4から出力された差分絶対値を加算器250に出力する。
【0125】
加算器250は、絶対値生成部25−1〜4それぞれから出力された差分絶対値を加算し、差分絶対値和A記憶部22b−1に出力する。
【0126】
比較更新部26bは、加算部28bから出力される差分絶対値Bと、差分絶対値総和B記憶部22b−2に記憶されている差分絶対値総和Bとを比較し、比較の結果、加算部28bから出力された差分絶対値総和Bが小さい場合には、その小さい方の差分絶対値総和Bを差分絶対値総和B記憶部22b−2に記憶させて更新する。
また、比較更新部26bは、上述した更新を行った場合には、差分絶対値総和B記憶部22b−2の差分絶対値総和Bを更新したことを示す更新情報を更新部27bに出力する。
【0127】
更新部27bは、比較更新部26bから、差分絶対値和Bが更新されたことを示す更新情報が出力されると、画素21b−T−2,T−1,T,T+1,T+2それぞれから出力された画素値を、対応画素210T−2,T−1,T+1,T+2に記憶させて更新する。
【0128】
加算部28bは、差分絶対値総和A記憶部22b−1から出力された差分絶対値総和A、および隣接する8つの各素子20bそれぞれから出力された、差分絶対値総和Aを加算し、比較更新部26bに出力する。
【0129】
上述したように、素子2bは、注目画素21b−Tと格納された他の4画素(画素21b−T+2、画素21b−T+1、画素21b−T−1、画素21b−T−2)に対して、それぞれ差分絶対値を演算できる。また、それぞれの差分絶対値の合計を求める演算もできる。
【0130】
本実施の形態に係る画像処理装置1bのブロックマッチングでは、素子間の配線により、図15(a)に示すように、注目する素子(例えば、図15(a)の素子20b−5)の8近傍の素子(図15(a)の素子20b−1〜4,6〜9)に格納されている差分絶対値総和Aを、注目する素子20b−5に送ることができる。
【0131】
各素子20bには、それら9つの差分絶対値総和Aを受取り全て加算する処理を有している。そのため注目する素子では、その差分絶対値総和Aの合計(差分絶対値総和B)を求め、それを格納できる。
【0132】
但し、予め保持されている差分絶対値総和との比較を行い、小さい場合のみ、その値を更新する。
その差分絶対値の総和が更新された場合、その時に格納されている5つの画素(画素21b−T、画素21b−T+2、画素21b−T+1、画素21b−T−1、画素21b−T−2に記憶されている画素)を、それぞれ対応画素210b−T、対応画素210b−T+2、対応画素210b−T+1、対応画素210b−T−1、対応画素210b−T−2に予め格納されている画素から全て更新する。
【0133】
図16(a)はフレームT+2の探索範囲spT+2(9×9)と、探索領域tpT+2の位相を示す図である。図16(b)はフレームT+1の探索範囲spT+1(7×7)と、探索領域tpT+1の位相を示す図である。図16(c)はフレームT−1の探索範囲spT−1(7×7)と、探索領域tpT−1の位相を示す図である。図16(d)はフレームT−2の探索範囲spT−2(9×9)と、探索領域tpT−2の位相を示す図である。図16(e)は図14に示した画像処理装置1bの位相の更新と探索領域tpの読み出しの処理を説明するための図である。
【0134】
制御部100bは、図16(a)〜(d)に示すように、位相の座標を設定する。横軸はx軸、縦軸はy軸である。
制御部100bは、図16(e)に示すように、例えば探索領域tpT+1の位相を基準として、順に(−1,−1)、(0,−1)、(1,−1)、(−1,0)、(0,0)、(0,1)、(−1,1)、(0,1)、(1,1)と更新して、それに応じて各フレームの探索範囲spの内の探索領域tpを更新する。
【0135】
この場合には、動きベクトルは、この位相それぞれに対応して、(−1,−1)、(0,−1)、(1,−1)、(−1,0)、(0,0)、(0,1)、(−1,1)、(0,1)、(1,1)である。
【0136】
また、制御部100bは、各素子20bの画素21b−T+2の部分に探索領域tpT+2の1画素を格納し、各素子20bの画素21b−T+1の部分に探索領域tpT+1の1画素を格納し、各素子20bの画素21b−T−1の部分に探索領域tpT−1の1画素を格納し、各素子20bの画素21b−T−2の部分に探索領域tpT−2の1画素を格納する。
【0137】
図17は、図14に示した画像処理装置の動作を説明するためのフローチャートである。この場合では、注目素子とは、図15(a)において、実際に対応画素が格納される素子の1つと想定する。注目画素はメモリの端にある素子ではないとする。
【0138】
まず、注目画素が存在するフレームが存在すると想定するフレームメモリTから、任意の5×5の参照領域trの各画素をメモリ2b内の各素子20bごとに格納する。ここで図15(c)においては、各素子20bの画素20b−Tに参照領域trの1画素分を格納する(ST101)。
【0139】
次に、図14に示す注目フレームと時間的に前後するフレームメモリ3b−T+2、フレームメモリ3b−T+1、フレームメモリ3b−T−1、フレームメモリ3b−T−2のそれぞれから、探索範囲sp内で位相を更新しながら、5×5の領域を読み出し、その領域内の各画素をメモリ2b内の各素子20bごとに格納する(ST102)。
【0140】
この5×5の領域を「探索領域tp」と名付ける。但し、上述したように各フレームメモリそれぞれから読み出される探索領域tpの位相は、例えば図13に示すように時空間で必ず直線上にある。
したがって、各フレームごとにそれぞれ位相を更新するのではなく、ある1つのフレームを基準として更新することで、その他の位相は一意に決まる。
【0141】
例えば、探索領域tpT+1の位相を基準とすると、探索領域tpT+1の空間的な位相が(1,1)の場合、フレームメモリT+2から読み出される探索領域tpT+2の空間的な位相は(2,2)、フレームメモリT−1から読み出される探索領域tpT−1の空間的な位相は(−1,−1)、フレームメモリT−2から読み出される探索領域tpT−2の空間的な位相は(−2,−2)となる。
【0142】
制御部100bは、位相の更新と探索領域tpの読み出しは、例えば図16に示すように探索領域tpT+1を基準として(−1,−1)〜(1,1)の範囲で9回行い、9回終わると終了する。
【0143】
各素子20bの画素21b−T−1に探索領域tpT−1の1画素を格納する(ST103)。各素子20bの保有する画素21b−T−2に探索領域tpT−2の1画素を格納する(ST104)。各素子20bの保有する画素21b−T+1に探索領域tpT+1の1画素を格納する(ST105)。各素子20bの画素21b−T+2に探索領域tpT+2の1画素を格納する(ST106)。
上述したステップST103〜106の順番は、この順番でなくともよい。
【0144】
次に各素子20b内で、減算器24b−2および絶対値生成部25b−2は、差分画素21b−Tに格納された値と画素21b−T−1に格納された値の差分絶対値aを演算する(ST107)。同様に各素子20b内で、減算器24b−1および絶対値生成部25b−1は、画素21b−Tに格納された値と画素21b−T−2に格納された値の差分絶対値bを演算する(ST108)。同様に各素子20b内で、減算器24b−3および絶対値生成部25b−3は、画素21b−Tに格納された値と画素21b−T+1に格納された値の差分絶対値cを演算する(ST109)。同様に各素子20b内で、減算器24b−4および絶対値生成部25b−4は、画素Tに格納された値と画素T+2に格納された値の差分絶対値dを演算する(ST110)。
上述したステップST107〜110の順番は、この順番でなくともよい。
【0145】
次に、加算器250は、差分絶対値a、b、c、dの和を演算し、差分絶対値総和Aを生成し、差分絶対値総和A記憶部22b−1に格納する(ST111)。
次に、配線によって接続されている各注目素子の8近傍の素子、例えば注目素子を図15に示した素子20b−5とすると、その素子20b−5の8近傍の素子20b−1〜9それぞれにおいて格納されている差分絶対値総和Aを注目の素子20b−5が読み込む。
例えば注目の素子20b−5において、その内の加算部28bは、それらの値と加算器250から出力された差分絶対値総和Aを加算して合計を差分絶対値総和Bとして求め(ST112)、比較更新部26bに出力する。
【0146】
次に各注目素子20bにおいて、比較更新部26bは、差分絶対値総和B記憶部22b−2に、予め格納されている差分絶対値総和(差分絶対値総和C)と差分絶対値総和Bを比較して(ST113)、差分絶対値総和Bが小さい場合には、格納する値を差分絶対値総和Cから差分絶対値総和Bに更新する(ST114,115)。逆に、差分絶対値総和Cが大きい場合は更新を行わず、次の位相の更新および探索領域tpの読み出しへと移行する。ステップST102に戻る。初期状態では注目素子20bに差分絶対値総和Cは格納されていない。その場合は、無条件に最初の差分絶対値総和Bが格納される。
【0147】
次に、ある注目素子20bの更新部27bでは、差分絶対値総和B記憶部22b−2に記憶されている差分絶対値総和が更新された場合のみ、画素21b−T、画素21b−T+2、画素21b−T+1、画素21b−T−1、画素21b−T−2に格納されている画素値を、それぞれ対応画素210b−T、対応画素210b−T+2、対応画素210b−T+1、対応画素210b−T−1、対応画素210b−T−2へ改めて格納する。すなわち、真の対応画素として、その注目素子20bに格納する対応画素が更新される(ST116)。
【0148】
以上、位相の更新が終了した時点で、9つの各注目素子20bには探索範囲spにおける画素差分絶対値総和Bの最小値と、それが格納されたときに更新された対応画素が格納されている(ST117)。
一方、ステップST117において、位相の更新が終了されていないと判別された場合には、ステップST102の処理に戻る。
【0149】
この演算自体は、図12に示すように、参照領域tr内から切り出される9個の3×3のブロックが時刻Tに探索範囲sp内のどの位置に移ったかを、3×3のブロック間の差分絶対値総和に基づいて求めたものである。
【0150】
この状態では、その点では、第2の実施の形態に係る画像処理装置1aの「ブロックマッチング」の場合と同じであるが、第3の実施の形態に係る画像処理装置1bは、そのときのブロックの中央の画素を直接、注目画素の「対応画素」として格納および出力する。
また、2フレーム間でのブロックマッチングとは違って、5フレーム間での動きの等速性を仮定した演算により、画像にノイズがある場合でも「対応画素」の検出精度が向上するほか、後述するクラス分類適応処理によるノイズ除去とも親和性がよい。
【0151】
最終的には各注目素子から、例えば読出部4は、これらの5フレームにおける対応画素を読み出し出力する。例えば出力された結果は、後述するクラス分類適応処理などに利用される。
【0152】
上述した形態に限られるものではない。例えば、本実施の形態では、3×3のブロックサイズで、探索範囲spを画素単位で(−1,−1)〜(1,1)の場合の対応画素の抽出および出力を行うメモリを説明したが、これに限定されるものではない。
【0153】
例えば、各素子間の配線を周辺の5×5の素子から注目素子に接続するように変更することで、5×5のさらに大きなブロックサイズで処理することができる。
また、メモリ2b内の全素子数を5×5の場合で説明したが、例えばメモリに1フレーム内全画素数分の素子を設けた場合には、全画素ごとの対応画素が、位相の更新を終了させた時点で1度に求められる。
【0154】
第4の実施の形態
対応画素検出を使ったクラス分類適応処理
図18は、本発明に係る画像処理装置の第4の実施の形態の機能ブロック図である。
第4の実施の形態に係る画像処理装置1cは、第3の実施の形態に係る画像処理装置1bのメモリ2bを用いて、クラス分類適応処理によるノイズ除去を行う。
【0155】
クラス分類適応処理とは、高画質の原画像(教師画像とも言う)を劣化させて、低画質の劣化画像(生徒画像とも言う)を作成し、教師画像と生徒画像間で統計的な学習を行い、その学習したデータを利用して、劣化画像が入力された場合でも、高画質な画像に変換して出力する処理である。
【0156】
クラス分類適応処理およびそれによるノイズ除去は、既に出願番号410304058で詳細が述べられているが、本実施の形態に係る画像処理装置1cは、具体的に、メモリを用いて上述した処理を行う。
また、例としてSD(Standard)フォーマットの入力画像の場合を想定するが、他のフォーマットでも同じ処理が可能である。
【0157】
学習
第4の実施の形態に係る画像処理装置1cは、図18に示すように、メモリ2b、複数のフレームメモリ3b、例えばフレームメモリ3b−T+2,T+1,T,T−1,T−2、読出部4c、ノイズ付加部5、クラスコード生成部6、正規方程式加算部7、係数記憶部(RAM)8、および制御部100cを有する
【0158】
画像処理装置1cと、第3の実施の形態に係る画像処理装置1bとの大きな相違点は、ノイズ付加部5、クラスコード生成部6、正規方程式加算部7、および係数記憶部(RAM)8をさらに有する点である。相違点のみ説明する。
【0159】
ノイズ付加部5は、入力画像に、ノイズ成分を付加する。例えば、ノイズ付加部5は、コンピュータシミュレーション的にランダムノイズを発生させ付加する。
【0160】
図19は、図18に示した画像処理装置1cのノイズ付加部の第1の具体例を示す機能ブロック図である。
第1の具体例に係るノイズ付加部5−1は、図19に示すようにRFモジュレータ(RF MODULATOR)51、アテネータ減衰器52、およびRFデモジュレータ(RF DEMODULATOR)53を有する。
【0161】
ノイズ付加部5−1において、RFモジュレータ(RF MODULATOR)51では、入力画像、例えばSD画像に応じてRF変調処理し、アテネータ減衰器52により減衰させ、RFデモジュレータ(RF DEMODULATOR)53によりRF復調処理を行い、ノイズを付加する。
【0162】
図20は、図18に示した画像処理装置1cのノイズ付加部の第2の具体例を示す機能ブロック図である。
第2の具体例に係るノイズ付加部5−2は、図20に示すようにRFモジュレータ51、アテネータ減衰器52、RFデモジュレータ53、減算器54、および加算器55を有する。
【0163】
ノイズ付加部5−2において、RFモジュレータ(RF MODULATOR)51では、背景が一様な画像(レベルが一様)をRF変調処理し、アテネータ減衰器52により減衰し、RFデモジュレータ(RF DEMODULATOR)53によりRF復調処理を行い、減算器54により、もとの背景が一様な画像との差分処理が行われノイズ成分のみが加算器55に出力され、加算器55では、そのノイズ成分が入力画像(SD画像)に加算されて出力される。
【0164】
図21は、図18に示した画像処理装置1cのノイズ付加部の第3の具体例を示す機能ブロック図である。
第3の具体例に係るノイズ付加部5−3は、図21に示すように、RFモジュレータ(RF MODULATOR)51、アテネータ減衰器52、RFデモジュレータ(RF DEMODULATOR)53、減算器54、加算器55、およびフレーム加算器56を有する。
【0165】
ノイズ付加部5−3において、RFモジュレータ51では、背景が一様な画像(レベルが一様)をRF変調処理し、アテネータ減衰器52により減衰し、RFデモジュレータ53によりRF復調処理を行い、フレーム加算器56および減算器54によりノイズ除去を行った画像と原の画像間での差分をとり、ノイズ成分だけを抽出し、加算器55により、このノイズ成分が入力画像(SD画像)に加算されて出力される。
【0166】
読出部4cは、素子ごとの対応画素を読み出し、クラスコード生成部6および正規方程式加算部7に出力する。
【0167】
クラスコード生成部6は、読出部4cから出力された素子ごとの対応画素の値に基づいて、ノイズ成分を検出して、クラスコードを生成し、正規方程式加算部7に出力する。
【0168】
図22は、図18に示した画像処理装置1cのクラスコード生成部のクラスコードを発生(ノイズ成分検出)させる原理を説明するための図である。
【0169】
クラスコード生成部6は、例えば図22に示すように、メモリ2bから順次出力される対応画素それぞれに対し、ノイズ成分を検出し、それをクラスコードとして記述し発生させる。
メモリ2bにより抽出された1つの対応画素は、時刻T−2〜T+2の5フレーム間で、基本的に動きに追従して押出した同じ画素とみなせるので、速い動きではぼけ等の劣化は見られる場合もあるが、基本的には時間的な変動はほとんどない。
【0170】
そのため、出力された対応画素内の値の変動がある場合、それはノイズであるとみなせる。したがって、そのノイズの変動をクラスコードとして記述することで、ノイズの変動に応じた後述する予測演算ができる。
【0171】
クラスコード生成部6は、対応画素内の5画素の最大値b、最小値aを求め、最大値bおよび最小値に応じたコード、例えば、平均値、具体的には、(最小値a+最大値b)/2より各対応画素のレベルが上ならば1、下ならば0であるような平均値コードを生成する。例えば、平均値コードは、図22に示したような場合には、「10100」である。
【0172】
また、クラスコード生成部6は、対応画素内でのダイナミックレンジ(最大値b−最小値a)を求め、それを2進数で表現し、ダイナミックレンジコードを生成する。
【0173】
例えば、ダイナミックレンジが18の場合、ダイナミックレンジコードは、「10010」である。
クラスコード生成部6は、平均値コードおよびダイナミックレンジコードを合成して、クラスコードを生成する。
【0174】
例えば、上述した場合には、平均値コード「10100」と、ダイナミックレンジコード「10010」を合成して、クラスコード「1010010010」を生成する。
ここで、平均値コードは、ノイズの時間変動であり、ダイナミックレンジコードは、ノイズレベルの大きさを表現している。
画像処理装置1cは、このコードごとに分類することでノイズの変動やレベルに的確に対応した処理が行うことができる。
【0175】
正規方程式加算部7は、具体的には、クラスコード生成部6から出力されたクラスコードごとに、読出部4から出力された対応画素と教師画像の画素とに基づいて正規方程式を生成し、クラスコードごとの予測係数を生成する。
【0176】
具体的には、正規方程式加算部7は、対応画素をXT+2、XT+1、X、XT−1、XT−2として、フレームメモリTの対応画素Xに対してノイズを付加する前の教師画像から同じ位置の画素をyとして、数式(2)に示すような正規方程式を生成する。
【0177】
【数2】
Figure 0003941644
Figure 0003941644
【0178】
ここで、aT+2、aT+1、a、aT−1、aT−2は推定すべき予測係数である。
正規方程式加算部7は、クラスごとに対応画素と教師画像の画素を、数式(2)に代入して正規方程式を生成し、必要な数の正規方程式が求められたとき最小自乗推定によって、この予測係数を推定する。
【0179】
正規方程式加算部7は、クラスコードごとの予測係数を決定し、係数記憶部(RAM)8に出力する。
係数記憶部(RAM)8は、正規方程式加算部7から出力された、クラスコードごとの予測係数を記憶する。
【0180】
制御部100cは、各フレームメモリT−2,T−1,T,T+1,T+2に保持されている画像から参照領域trを読み出し、メモリ2cに格納する。また、読み出された参照領域trに対応している探索範囲spを他のフレームメモリに設定し、位相を更新しながら探索領域tpを読み出しメモリ2cに格納していく。
【0181】
制御部100cは、読み出す参照領域trとして、例えばラスタスキャンのような順序で、フレームメモリT内で適当に位相をシフトしながら順次読み出していき、メモリ2cが最終的にフレームメモリ内の全画素の対応画素を出力できるようにする。
【0182】
図23は、図18に示した画像処理装置1cが、クラス分類適応処理のために、参照領域trのメモリに読み出すべき手順を説明するための図である。図23(a)はシフト前の状態を示す図である。図23(b)は、シフト後の状態を示す図である。
【0183】
例えば、制御部100cは、メモリ2bが5×5の場合、図23(a),(b)に示すように3×3画素ごとにシフトして参照領域trを切り出せば、対応画素がフレームメモリT内の全ての画素位置で得る。このため、フレームメモリTの全ての画素を処理できる。この場合、1つの参照領域trの読み出しに対し、メモリ2cは位相の異なる9つの対応画素を得て、この9つの対応画素を順次出力する。
【0184】
以上、説明した構成の画像処理装置の動作を、相違点のみ簡単に説明する。
ノイズ付加部5では、入力画像にノイズ成分が付加される。
フレームメモリT−2,T−1,T,T+1,T+2では、ノイズ成分が付加された入力画像を順次、記憶する。
【0185】
制御部100cでは、各フレームメモリから、所定の探索範囲spの内の探索領域tpの画素の画素値、および位相情報が読み出され、メモリ2bに出力される。
読出部4cでは、メモリ2bの各素子20bごとの対応画素が読み出され、クラスコード生成部6および正規方程式加算部7に出力される。
【0186】
クラスコード生成部6では、読出部4cから出力された素子ごとの対応画素の値に基づいて、ノイズ成分が検出され、上述した図22に示すように所定の処理によりクラスコードが生成され、正規方程式加算部7に出力される。
【0187】
正規方程式加算部7では、クラスコードごとに、読出部4から出力された対応画素と教師画像の画素とに基づいて、上述した所定の処理により正規方程式が生成され、クラスコードごとの予測係数が生成され、係数記憶部(RAM)8に記憶される。
【0188】
以上、説明したように、本実施の形態に係る画像処理装置1cでは、入力画像にノイズ成分を付加するノイズ付加部5と、フレームメモリ3b−T+2,T+1,T,T−1,T−2と、メモリ2bと、メモリ2bの内の素子ごとに対応画素を読み出す読出部4cと、その対応画素に応じてクラスコードを生成するクラスコード生成部6と、クラスコード、対応画素および入力画素に応じて正規方程式を生成して予測係数を生成する正規方程式加算部7と、予測係数を記憶する係数記憶部(RAM)8と、所定の制御を行う制御部100cとを設けたので、所定の入力画像にノイズ成分が付加され、入力画像、およびノイズ成分が付加された画像に基づいて、クラスコードを生成して、学習を行うことができる。
この学習結果の情報は、例えば、第5の実施の形態に係る画像処理装置によりノイズ成分が付加された画像から元の高画質の画像を生成する際に用いられる。
【0189】
第5の実施の形態
予測
図24は、本発明に係る画像処理装置の第5の実施の形態の機能ブロック示す図である。
本実施の形態に係る画像処理装置1dは、例えば第4の実施の形態に係る画像処理装置1cで説明したクラスコードを用いて、入力画像のノイズ成分を推定し、もとの高画質な画像を生成する。
【0190】
画像処理装置1dは、例えば図24に示すように、メモリ2d、複数のフレームメモリ3b、例えばフレームメモリ3b−T+2,T+1,T,T−1,T−2、読出部4c、クラスコード生成部6、係数記憶部8d、推定演算部9、および制御部100dを有する
【0191】
本実施の形態に係る画像処理装置1dと、第4の実施の形態に係る画像処理装置1cとの、大きな相違点は、係数記憶部8d、推定演算部9を有することである。
【0192】
画像処理装置1dの制御部100dは、ノイズの予測処理を行う場合に、入力画像の5フレーム分(現フレームと前後2フレーム分)を、フレームメモリ3b−T+2〜T−2それぞれに保持する。
【0193】
制御部100dは、各フレームメモリ3bTに保持されている画像から参照領域trを読み出し、メモリ2dに格納する。
制御部100dは、読み出された参照領域trに対応している探索範囲spを他のフレームメモリ3b−T−2、T−1、T+1、T+2に設定し、位相を更新しながら探索領域tpを読み出しメモリ2dに格納していく。
【0194】
制御部100dは、読み出す参照領域trとしては、例えばラスタスキャンのような順序で、フレームメモリT内で所定の順番に位相をシフトしながら順次読み出していき、メモリ2dが最終的にフレームメモリ内の全画素の対応画素を出力する。
【0195】
例えば、制御部100dは、メモリ3dが5×5の場合、図23(a),(b)に示すように3×3画素ごとにシフトして参照領域trを切り出せば、フレームメモリT内の全ての画素位置で対応画素を得る。このため、フレームメモリTの全ての画素を処理できる。この場合、1つの参照領域trの読み出しに対し、メモリ2dは位相の異なる9つの対応画素を得て、この9つの対応画素を順次出力する。
【0196】
クラスコード生成部6は、メモリ2dから順次出力される対応画素それぞれに、画素のノイズ成分に基づいて、クラスコードを生成する。
【0197】
係数記憶部(ROM)8dは、例えば、第4の実施の形態に係る画像処理装置1cで学習時に係数記憶部8に記憶されたクラスコードごとの予測係数を記憶する。
係数記憶部8dは、クラスコード生成部6から出力されたクラスコードに応じて、記憶されているクラスコードに応じた予測係数を出力する。
【0198】
推定演算部9は、係数記憶部8dから出力された予測係数および対応画素に応じて、予測値を推定し出力する。
具体的には、推定演算部9は、係数記憶部8dから出力された予測係数aT+2、aT+1、a、aT−1、aT−2と、対応画素XT+2、XT+1、X、XT−1、XT−2に応じて、例えば上述した数式(2)により予測値yを算出して出力する。この予想値yはノイズ成分が除去された画素値である。
【0199】
以上、説明した構成の画像処理装置の動作を、相違点のみ簡単に説明する。
制御部100dは、フレームメモリT−2,T−1,T,T+1,T+2に、ノイズ成分が付加された入力画像を記憶する。
【0200】
制御部100dでは、各フレームメモリから、所定の探索範囲spの内の探索領域tpの画素の画素値、および位相情報が読み出され、メモリ2dに出力される。
読出部4cでは、メモリ2dの各素子20dごとの対応画素が読み出され、クラスコード生成部6および推定演算部9に出力される。
【0201】
クラスコード生成部6では、読出部4cから出力された素子ごとの対応画素の値に基づいて、ノイズ成分が検出され、上述した図23に示すように所定の処理によりクラスコードが生成され、推定演算部9に出力される。
【0202】
推定演算部9では、係数記憶部(ROM)8dから出力された予測係数および対応画素に応じて、上述した所定の処理を行い、予測値が推定され出力される。
【0203】
以上、説明したように、本実施の形態に係る画像処理装置1dでは、フレームメモリ3b−T+2,T+1,T,T−1,T−2と、メモリ2dと、メモリ2dの内の素子ごとに対応画素を読み出す読出部4cと、その対応画素に応じてクラスコードを生成するクラスコード生成部6と、クラスコードに応じた係数を記憶する係数記憶部(ROM)8dと、係数記憶部(ROM)8dから出力された予測係数および対応画素に応じて、予想値を生成する推定演算部9と、所定の制御を行う制御部100dとを設けたので、フレームメモリTに保持されているノイズがある入力画像に対して、1画素単位でノイズ除去をした画素を出力することができる。
【0204】
また、上述した構成により、クラス分類適応処理に必要な画素などを直接に探索および出力できる。これにより、例えば、動きベクトル検出後に動きベクトルによる位相補正を行い、必要な画素抽出するような手順を簡略化することができる。
【0205】
第6の実施の形態
図25は、本発明に係る画像処理装置の第6の実施の形態の機能ブロック図である。図26(a)は図25に示した画像処理装置のメモリの構成図、図26(b)は図26(a)に示したメモリの予想画素が格納される素子を示す図、図26(c)は図26(a)に示したメモリの素子の機能ブロック図である。
【0206】
本実施の形態に係る画像処理装置1eは、図25に示すように、メモリ2e、複数のフレームメモリ3b、例えばフレームメモリ3b−T+2,T+1,T,T−1,T−2、係数記憶部(ROM)8e、および制御部100eを有する。
【0207】
画像処理装置1eは、メモリ2eの素子20eそれぞれに、第5の実施の形態に係る画像処理装置1dのクラス分類適応処理機能を有することである。相違点のみ説明する。
【0208】
メモリ2eは、例えば図26(a)に示すように、5×5の素子20e−1〜25を有しており、各素子20eが配線により接続されている。
【0209】
素子20eは、図26(c)に示すように、複数の画素21b、例えば画素21b−T,T+2,T+1,T−1,T−2、差分絶対値総和A記憶部22b−1、差分絶対値総和B記憶部22b−2、複数の減算器24b、例えば減算器24b−1〜4、複数の絶対値生成部25b、例えば絶対値生成部25b−1〜4、加算器250、比較更新部26e、クラスコード生成部6e、推定演算部9e、および加算部28bを有する。
【0210】
クラスコード生成部6eは、比較更新部26eから、差分絶対値総和を更新したことを示す更新情報と、画素21b−T,T+2,T+1,T−1,T−2から出力された画素値に応じて、クラスコードを生成し、係数記憶部(ROM)8eに出力する。
【0211】
具体的には、クラスコード生成部6eは、比較更新部26eから、差分絶対値総和を更新したことを示す更新情報が入力されると、画素21b−T,T+2,T+1,T−1,T−2から出力された画素値に応じたクラスコードを生成し、係数記憶部(ROM)8eに出力する。
【0212】
推定演算部9eは、係数記憶部(ROM)8eから出力された予測係数、および画素21b−T,T+2,T+1,T−1,T−2から出力された画素に基づいて、予測値を推定し出力する。
【0213】
以上説明した構成の画像処理装置1eの動作を、相違点のみ簡単に説明する。制御部100eは、ノイズの予測処理を行う場合に、入力画像の5フレーム分(現フレームと前後2フレーム分)を、フレームメモリ3b−T+2〜T−2それぞれに保持する。
【0214】
制御部100eは、各フレームメモリ3bTに保持されている画像から参照領域trを読み出し、メモリ2eに格納する。
制御部100eは、読み出された参照領域trに対応している探索範囲spを他のフレームメモリ3b−T−2、T−1、T+1、T+2に設定し、位相を更新しながら探索領域tpを読み出しメモリ2eに格納していく。
【0215】
制御部100eは、読み出す参照領域trとしては、例えばラスタスキャンのような順序で、フレームメモリT内で所定の順番に位相をシフトしながら順次読み出していき、メモリ2eが最終的にフレームメモリ内の全画素の対応画素を出力できるようにする。
【0216】
メモリ2eの内の素子20eにおいて、クラスコード生成部6eでは、比較更新部26eから、差分絶対値総和を更新したことを示す更新情報が入力されると、画素21b−T,T+2,T+1,T−1,T−2から出力された画素値に応じたクラスコードを生成し、係数記憶部(ROM)8eに出力する。
【0217】
係数記憶部(ROM)8eでは、クラスコード生成部6eから出力されたクラスコードに応じて、記憶している係数が推定演算部9eに出力される。
推定演算部9eでは、係数記憶部(ROM)8eから出力された予測係数、および画素21b−T,T+2,T+1,T−1,T−2から出力された画素に基づいて、予測値が推定され出力される。
【0218】
推定演算部9では、係数記憶部(ROM)8eから出力された予測係数および対応画素に応じて、上述した所定の処理を行い、予測値が推定され、例えばフレームメモリ等へ出力される。
【0219】
以上、説明したように、本実施の形態に係る画像処理装置1eでは、メモリ2eの各素子20eごとに、クラスコード生成部6e、推定演算部9eをさらに設けたことにより、クラス分類適応処理機能を持たせることができる。
【0220】
具体的には、差分絶対値総和が更新されるたびに、画素T、画素T+1、画素T+2、画素T−1、画素T−2に格納されている画素を使って、クラス分類適応処理によるノイズ除去がなされ、予測された画素がその都度出力される。画素の出力のたびに、別のフレームメモリなどに、その値がかき換えられるようにしておくと最終的にノイズ除去後の画像が得られる。
【0221】
なお、本発明は本実施の形態に限られるものではなく、任意好適な種々の改変が可能である。
例えば、第4の実施の形態に係る画像処理装置1cと、第5の実施の形態に係る画像処理装置1dとをまとめてもよい。こうすることにより、ノイズ成分を学習してクラスコードを生成し、生成されたクラスコードに応じてノイズ成分を推定し高画質の画像を生成することができる。
【0222】
第7の実施の形態
プレーンマッチング
図27は、本発明に係る画像処理装置に係る第7の実施の形態の動作を説明するための概念図である。
例えば、図27(a)に示すように、入力画像の中に、時間の経過により移動するオブジェクトob1,ob2が存在し、所定の大きさの参照ブロックを設定した場合に、図27(b)に示すように、参照ブロック内に複数のオブジェクトが含まれてしまう場合がある。
【0223】
ブロックマッチングでは、ブロック全体の動きとして、動きベクトルを捉えるものであるため、参照ブロックの注目画素が本来持っている動き(オブジェクトob1)が別のオブジェクト(オブジェクトob2)の動きベクトルになってしまったり、両者のオブジェクトの中間の動きが求まってしまう場合がある。
【0224】
本実施の形態に係る画像処理装置では、後述するプレーンマッチングを行い、参照ブロック内に複数のオブジェクトが含まれている場合であっても、正確な動きベクトルを生成する。
【0225】
図28は、本発明に係る画像処理装置の第7の実施の形態のプレーンマッチングの動作を説明するための概念図である。図28を参照しながら、画像処理装置のプレーンマッチングの動作を説明する。
【0226】
プレーンマッチングは、例えば、図28(a)に示すようにオブジェクトob1,2が存在する場合に、図28(b)に示すように参照ブロックを設定し、図28(c)に示すように参照ブロックの内から注目画素と同一のオブジェクトだけの画素を摘出し、抽出した画素に基づいてマッチングを行う。
画像中から、プレーンマッチングのために、同一のオブジェクトごとの画素を抽出することを「プレーン分離」と言う。
【0227】
図29は、本発明に係る画像処理装置の第7の実施の形態の機能ブロック図である。
本実施の形態に係る画像処理装置1fは、図29に示すように、メモリ2f、複数のフレームメモリ3f、例えばフレームメモリ3f−T,T−1、読出部4f、制御部100f、およびプレーン分離部110を有する。相違点のみ説明する。
【0228】
メモリ2fは、例えば図29に示すように、入力画像のサイズをw×bとすると、(w−2)×(h−2)のようにほぼ全画面の素子数を有する。
画像処理装置1fは、動きベクトルの探索を行うために、例えば予めフレームメモリ3f−T−1の全画面にプレーン分離処理を行い、各画素のプレーン情報を、メモリ2fの内の全素子に格納する処理を行う。
【0229】
フレームメモリ3f−Tは、時刻Tのフレームを記憶する。フレームメモリ3f−Tは、例えば探索範囲sp(w×h)の大きさのフレームメモリであり、例えば制御部100fにより、所定の探索領域tp(w−2)×(h−2)の内の画素が読出され、メモリ2fに出力される。
【0230】
フレームメモリ3f−T−1は、時刻T−1のフレームを記憶する。フレームメモリ3f−T−1は、例えばw×hの大きさのフレームメモリであり、例えば制御部100fにより、所定の参照領域tr(w−2)×(h−2)の内の画素が読み出され、メモリ2fに出力される。
【0231】
読出部4fは、メモリ2fの各素子ごとに記憶されている動きベクトルを読み出して出力する。
プレーン分離部110は、フレームメモリ3f−T−1に記憶されている画像データに基づいて、後述するプレーン分離処理を行い、処理の結果のプレーン情報をメモリ2fに出力する。
制御部100fは、後述する所定の処理を行う。
【0232】
各構成要素について、以下、詳細に説明する。
メモリの構成
図30(a)は図29に示した画像処理装置のメモリを模式的に示す図である。図30(b)は図30(a)の一部を拡大した図である。図30(c)は図30(b)に示したメモリの素子の機能ブロック図である。
【0233】
メモリ2fは、図30(a),(b)に示すように、複数の素子20fを有する。
素子20fは、図30(c)に示すように、画素20−1、画素20−2、画素差分記憶部22f−1、差分総和記憶部22f−2、動きベクトル記憶部23、減算器24、絶対値生成部25、比較更新部26f、更新部27、加算部28f、プレーン情報記憶部29、およびスイッチ(Switch)30を有する。
【0234】
メモリ2fは、素子20f間の配線により、例えば図15に示すように、注目する素子(図15では素子20f−5)の8近傍の素子(図15では素子20f−1〜4,6〜9)に格納されている差分絶対値を、注目する素子に出力する。但し、各素子20fごとに、出力するか否かの判定を、スイッチ(switch)30が行う。
【0235】
また、メモリ2fは、第1の実施の形態に係るメモリ2aと同様に、単に1画素を格納するだけでなく2画素分、格納でき、それらの差分絶対値を演算できる。また、その結果である差分絶対値を格納する。
また、本実施の形態に格納される画素に対応した「プレーン情報」が格納できる点が、第2の実施の形態に係る画像処理装置とは異なる。
以下、各構成要素の相違点のみ説明する。
【0236】
画素差分記憶部22f−1は、記憶している差分絶対値を加算部28fへ出力する。
差分総和記憶部22f−2は、加算部28fから出力されたデータと、差分総和記憶部22a−2に記憶されている総和差分絶対値を総和に基づいて、更新を差分総和記憶部22a−2に出力する。
【0237】
加算部28fは、スイッチ30から出力されたデータ、および画素差分記憶部22f−1に記憶されている総和差分絶対値に基づいて、それらを加算し、比較更新部26fに出力する。
【0238】
比較更新部26fは、加算部28fから出力された差分絶対値総和Aと、差分総和記憶部22a−2に記憶されている差分絶対値総和(差分絶対値総和Bと言う)とを比較して、比較の結果、差分絶対値総和Aが小さい場合には、差分絶対値総和Aを差分総和記憶部22f−2に記憶させて、差分絶対値総和を更新する。
【0239】
比較更新部26fは、上述した更新を行った場合には、更新を行ったことを示す更新情報を更新部27に出力する。
比較更新部26fは、比較の結果、差分絶対値総和Aが大きい場合には、差分総和記憶部22a−2に記憶されている差分絶対値総和Bの更新を行わない。
【0240】
更新部27fは、比較更新部26fから出力された更新情報、および位相情報に基づいて、動きベクトル記憶部23に記憶されている動きベクトルを更新する。
具体的には、更新部27fは、比較更新部26fから差分絶対値が更新されたことを示す更新情報が出力した場合には、その時の位相を動きベクトルとして、動きベクトル記憶部23に記憶させることで、動きベクトルを更新する。
【0241】
加算部28fは、画素差分記憶部22a−1から出力された差分絶対値a、および、スイッチ30から出力された、その画素の近傍の8つの素子20a(8近傍の素子20aとも言う)それぞれの差分絶対値aに基づいて、それらを加算して、差分絶対値総和Aを生成し、比較更新部26fに出力する。
プレーン情報記憶部29は、後述するプレーン情報を記憶する。
【0242】
スイッチ30は、プレーン情報の一致の判定を行い、各素子20fの差分絶対値aを加算部28fに出力するゲートの役割を有する。
例えばスイッチ(Switch)30は、注目する素子20fのプレーン情報と、他の8近傍の素子20fのプレーン情報に応じて、差分絶対値を加算部28fに出力する。
【0243】
具体的には、スイッチ30は、注目する素子20fのプレーン情報記憶部29に記憶されているプレーン情報と、他の8近傍の素子20fそれぞれのプレーン情報記憶部29に記憶されているプレーン情報とを比較し、一致している場合には、画素差分記憶部22f−1に記憶されている差分絶対値を加算部28fに出力し、一致していない場合には8近傍の素子20fそれぞれに記憶されている差分値絶対値を加算部28fに出力しない。
【0244】
各素子201の総和が更新された場合、その時の動きベクトル(動きベクトル)も予め格納されているものから更新される。
【0245】
プレーン分離とプレーン情報
図31は、図29に示した画像処理装置のプレーン分離部の処理を説明するための図である。
入力画像中の背景やそれぞれのオブジェクトなどの各要素をプレーンと言う。また、それぞれのプレーンに分離することをプレーン分離と言う。
【0246】
プレーン分離部110は、例えば図31に示すように「プレーン1にはLEVEL1を割り当てる」というようにプレーン分離された各プレーンに所定の値(ラベル)を割り当てる。画像中の各画素がどのプレーンに属しているかを表したものを、プレーン情報と言う。
以下、プレーン分離の手法の一具体例を説明する。
【0247】
図32は、画像処理装置1fのプレーン分離部の一具体例を示す機能ブロックである。
例えばプレーン分離部110は、入力された画像を、画像中の同じオブジェクトや背景などでは、その内部の輝度や色は同じ様なレベルであるということを利用して、所定のプレーンに分離する。
【0248】
プレーン分離部110は、例えば図32に示すように、ヒストグラム演算部111、ピーク検出部112、谷検出部113、消去部114、谷統合部115、およびラベリング部116を有する。
【0249】
ヒストグラム演算部111は、入力画像に応じて、レベル(輝度あるいは色)ごとのヒストグラム(度数分布)を生成し、保持する。
図33は、図32に示した画像処理装置1fのプレーン分離部のヒストグラム演算部111が生成するヒストグラムの一具体例を示す図である。横軸はレベル、縦軸はヒストグラム(度数)を示す。
【0250】
ヒストグラム演算部111は、入力画像に応じて、例えば図33に示すようにヒストグラムを生成する。
ヒストグラム演算部111は、生成したヒストグラム(度数分布)を、ピーク検出部112に出力する。
【0251】
ピーク検出部112は、入力されたヒストグラムに基づいて、そのヒストグラムの内の最大の度数のレベル(ピーク)を検出し、谷検出部113に出力する。例えば、ピーク検出部112は、ヒストグラム演算部111から出力されたヒストグラム、または消去部114から出力されたヒストグラムに基づいて、そのヒストグラムの内の最大の度数のレベル(ピーク)を検出し、谷検出部113に出力する。
【0252】
谷検出部113は、ヒストグラムのピークに基づいて、例えば、そのピークを含むオブジェクトの度数を特定する。
例えば、谷検出部113は、ピーク検出部112から出力された、最大の度数のレベル(ピーク)に基づいてヒストグラムの、そのレベルピークの両脇の谷を2点それぞれ検出する。
【0253】
具体的には、谷検出部113は、ピークを中心とした所定の範囲内、例えば+aの内で最も度数の少ない点を右側の谷とし、所定の範囲内、例えば−aの内で、最も度数の少ない点を左側の谷とする。
【0254】
消去部114は、例えば、所定のピークを含むオブジェクトの度数を消去する。
例えば、消去部114は、ヒストグラムのピークを中心として、左右の2点の谷に囲まれるレベルに対応する度数を、ヒストグラムの中から消去し、ピーク検出部112に出力する。
【0255】
図34は、図32に示した画像処理装置のプレーン分離部の消去部の動作を説明するためのヒストグラムの一具体例である。
消去部114は、例えば図34に示すように、所定のピークを中心として、左右の2点の谷に囲まれるレベルに対応する度数を、ヒストグラムの中から消去し、ピーク検出部112に出力する。
【0256】
消去部114は、ヒストグラム中の全てのレベルに対する度数が0になったと判別した場合には、谷の度数を谷統合部115に出力する。
【0257】
谷統合部115は、消去部114から出力された各谷の度数に基づいて、レベルの近い谷を統合し、所定のラベリング部116に出力する。
具体的には、谷統合部115は、各谷に対してレベルの近い谷は統合する。
より具体的には、谷統合部115は、谷の検出された順を優先して、先に検出された谷の所定の範囲、例えば±bの範囲に含まれる他の谷を消去する。
【0258】
図35は、図32に示した画像処理装置の谷統合部により統合される前のヒストグラムの谷を説明するための図である。図36は、図32に示した画像処理装置の谷統合部により統合されたヒストグラムの谷を説明するための図である。
【0259】
谷統合部115では、具体的には、例えば図35に示すように消去部114から出力された各谷の度数に基づいて、図36に示すように、レベルの近い谷を統合する。
【0260】
ラベリング部116は、入力画像、および谷統合部115から出力された画像に応じて、プレーン分離された各プレーンに所定の値(ラベル)ラベルを割り当てる。具体的には、ラベリング部116は、入力画像の各画素に対して、各谷の間に存在する画素は同じプレーンとみなし、同じラベルを割り当てる。
【0261】
ラベリング部116は、より具体的には、各画素ごとにレベル(輝度あるいは色)がどの谷の内部にあるかを判定し、その谷の内部の画素ごとに同一ラベルを割り当てる。
【0262】
図37は、図32に示した画像処理装置のプレーン分離部の動作を説明するためのフローチャートである。
【0263】
ステップST201において、ヒストグラム演算部111では、値レベル(輝度あるいは色)ごとのヒストグラムが生成され保持される。
また、ヒストグラム演算部111では、生成されたヒストグラムが、ピーク検出部112に出力される。
【0264】
ステップST202において、ピーク検出部112では、入力されたヒストグラムに基づいて、そのヒストグラムの内の最大の度数のレベル(ピーク)が検出され、谷検出部113に出力される。
具体的には、ピーク検出部112では、ヒストグラム演算部111から出力されたヒストグラム、または消去部114から出力されたヒストグラムに基づいて、そのヒストグラムの内の最大の度数のレベル(ピーク)が検出され、谷検出部113に出力される。
【0265】
ステップST203において、谷検出部113では、ピークの両脇の谷が検出される。具体的には、谷検出部113では、ピークを中心とした+aの範囲内での最も度数の少ない点を右側の谷とする。また、谷検出部113では、−aの範囲内での最も度数の少ない点を左側の谷とする。
【0266】
谷検出部113は、ヒストグラムのピークに基づいて、例えば、そのピークを含むオブジェクトの度数を特定する。
例えば、谷検出部113は、ピーク検出部112から出力された、最大の度数のレベル(ピーク)に基づいてヒストグラムの、そのレベルピークの両脇の谷を2点それぞれ検出する。
具体的には、谷検出部113は、ピークを中心とした所定の範囲内、例えば+aの内で最も度数の少ない点を右側の谷とし、所定の範囲内、例えば−aの内で、最も度数の少ない点を左側の谷とする。
【0267】
ステップST205において、消去部114では、左右の2点の谷に囲まれるレベルに対応する度数がヒストグラム中から消去される。
また、消去部114では、ヒストグラムの中の全てのレベルに対する度数が0になったか否かが判別され、0になっていないと判別された場合には、ステップST202の処理に戻る。
【0268】
一方、ステップST205の判別において、消去部114では、ヒストグラム中の全てのレベルに対する度数が0になったと判別された場合には、谷の度数が谷統合部115に出力される。
【0269】
ステップST206において、谷統合部115では、消去部114から出力された各谷の度数に基づいて、レベルの近いものが統合され、所定のラベリング部116に出力される。具体的には、谷統合部115では、各谷に対してレベルの近いものが統合される。より具体的には、谷統合部115では、谷の検出された順を優先して、先に検出された谷の所定の範囲、例えば±bの範囲に含まれる他の谷が消去される。
【0270】
ステップST207において、ラベリング部116では、入力画像、および谷統合部115から出力された画像に応じて、プレーン分離された各プレーンに所定の値(ラベル)ラベルが割り当てられる。
【0271】
具体的には、ラベリング部116では、入力画像の各画素に対して、各谷の間に存在する画素は同じプレーンとみなし、同じラベルが割り当てられる。ラベリング部116では、より具体的には、各画素ごとにレベル(輝度あるいは色)がどの谷の内部にあるかが判定され、その谷の内部の画素ごとに同一ラベルが割り当てられる。
そして、一連のプレーン分離に関する動作を終了する。
【0272】
図38は、図29に示した画像処理装置の動作を説明するためのフローチャートである。画像処理装置1fの動作を、素子20fを中心に図38を参照しながら説明する。
【0273】
簡単のため、プレーンマッチングを行うメモリに関して、簡単のためにブロックサイズ3×3画素、探索範囲spを画素単位で(−1,−1)〜(1,1)として説明する。
【0274】
ここで、注目素子とは、図30(b)において、実際に動きベクトルが格納される素子の1つと想定する。メモリ20fの端にある素子ではない。
簡単な説明のために画像のサイズをw×bとする。
【0275】
プレーン分離部110では、フレームメモリ3f−T−1に記憶されている画像に基づいて、上述した所定のプレーン分離処理が行われ、処理の結果のプレーン情報がメモリ2fの内の各素子20fごとに出力される。
素子20fそれぞれは、プレーン分離部110から出力されたプレーン情報を記憶する。
具体的には、素子20fのプレーン情報記憶部29それぞれに、1画素分のプレーン情報が格納される(ST301)。
【0276】
フレームメモリ3f−T−1から、図29に示すように、(w−2)×(h−2)参照領域trの各画素が、メモリ2fの内の各素子20fそれぞれに格納される。
具体的には、図30(c)に示すように、各素子2fの画素20−2に参照領域trの1画素を格納することになる。
次に、探索範囲sp内で位相を更新しながら、(w−2)×(h−2)の領域を読み出し、その領域内の各画素をメモリ内の各素子ごとに格納する(ST302)。この(w−2)×(h−2)の領域を「探索領域tp」と言う。
【0277】
図30(c)に示すように、各素子20fの画素20−1の部分に探索領域tpの1画素を格納することになる。
位相の更新と探索領域tpの読み出しは、実際には探索領域tpの画素数が違うだけで前述したブロックマッチングの場合と同様で(−1,−1)〜(1−1)の範囲で9回行われ、9回終わると終了する。
【0278】
各素子20内で、減算器24では、画素20−1に格納された値と画素20−2に格納された値の差分値が生成され、絶対値生成部25では減算器24から出力された差分値の絶対値(差分絶対値a)が生成され、画素差分記憶部22f−1では差分絶対値aが格納される(ST305)。
【0279】
次に各注目素子において、その8近傍の素子からプレーン情報を読み出される。
具体的には、スイッチ30では、注目素子20fのプレーン情報記憶部29に記憶されているプレーン情報と、他の8近傍の素子20fのプレーン情報記憶部29が記憶する各プレーン情報とが同じであるか否かの判定が行われる。
スイッチ30では、同じであると判定された素子20fの画素差分記憶部22f−1が記憶している差分絶対値aが読み出されて加算される。
加算部28fでは、スイッチ30それぞれから出力された差分絶対値aが加算され、差分絶対値総和Aが求められる(ST306)。
【0280】
次に各注目素子において、比較更新部26fでは、予め格納されている差分絶対値総和(差分絶対値総和B)と差分絶対値総和Aが比較され(ST307)、差分絶対値総和Aが小さい場合、差分総和記憶部22f−2に格納する値を差分絶対値総和Bから差分絶対値総和Aに更新する(ST309)。
一方、比較更新部26fでは、差分絶対値総和Aが大きい場合は更新を行わず、次の位相の更新および探索領域tpの読み出しへと移行する。
ところで、初期状態では注目素子に差分絶対値総和は格納されていない。その場合は、無条件に最初の差分絶対値総和が格納される。
【0281】
次に、ある注目素子の差分絶対値総和が更新された場合のみ、そのときの位相を真の動きベクトルとしてその注目素子に予め格納されている動きベクトルが更新される(ST310)。
以上より位相の更新が終了した時点で、9つの各注目素子には探索範囲spにおける画素差分絶対値総和の最小値と、それが格納されたときの動きベクトルが格納されている。
読出部4fでは、各注目素子から、これらの動きベクトルが読出され出力される。
【0282】
以上、説明したように本実施の形態に係る画像処理装置では、入力画像に応じてレベル(輝度あるいは色)ごとのヒストグラム(度数分布)を生成するヒストグラム演算部111と、そのヒストグラムに基づいて、そのヒストグラムの内の最大の度数のレベル(ピーク)を検出するピーク検出部112と、ヒストグラムのピークに基づいて、例えば、そのピークを含むオブジェクトの度数を特定する谷検出部113と、所定のピークを含むオブジェクトの度数を消去する消去部114と、消去部114から出力された各谷の度数に基づいて、レベルの近い谷を統合する谷統合部115と、入力画像、および谷統合部115から出力された画像に応じて、プレーン分離された各プレーンに所定の値(ラベル)ラベルを割り当てるラベリング部116とを有するプレーン分離部110と、素子20fそれぞれに、プレーン情報を記憶するプレーン情報記憶部29と、プレーン情報の一致の判定を行い、各素子20fの差分絶対値aを加算部28fに出力するスイッチ30とを設けたので、例えば参照ブロックの内に複数のオブジェクトが含まれている場合であっても、正確な動きベクトルを生成することができる。
【0283】
第8の実施の形態
図39は、本発明に係る画像処理装置の第8の実施の形態の機能ブロック図である。
本実施の形態に係る画像処理装置1gは、図39に示すように、メモリ2g、複数のフレームメモリ3g、例えばフレームメモリ3g−T,T−1、読出部4g、制御部100g、プレーン分離部110g、プレーン情報バッファ120を有する。
【0284】
画像処理装置1gと、第7の実施の形態に係る画像処理装置1fの相違点は、メモリ2g、複数のフレームメモリ3g、例えばフレームメモリ3g−T,T−1、読出部4g、制御部100g、プレーン分離部110g、およびプレーン情報バッファ120である。相違点のみ説明する。
【0285】
メモリ2gは、所定の数の素子20f、例えば5×5の素子20fを有する。プレーン分離部110gは、フレームメモリ3g−T−1に記憶されている画像データの参照領域tr、例えば5×5の大きさの参照領域trごとに、その参照領域trの内の画素に基づいてプレーン分離処理を行い、処理の結果のプレーン情報をプレーン情報バッファ120に出力する。
【0286】
また、このプレーン分離部110gは、この形態に限られるものではない。プレーン分離部110gは、フレームメモリ3g−T−1に記憶されている画像データに基づいて、フレームメモリT−1に記憶されている画像のプレーン分離処理を行い、処理の結果のプレーン情報をプレーン情報バッファ120に出力してもよい。
【0287】
プレーン情報バッファ120は、例えば、プレーン分離部110gから出力された全画面サイズの画素を記憶する。
プレーン情報バッファ120は、例えば、プレーン分離部110gから出力された5×5の参照領域trごとのプレーン情報を、所定の位置(アドレス)に格納してもよい。
プレーン情報バッファ120は、所定の位置(アドレス)のプレーン情報をメモリ2gに出力し、メモリ2gの対応する素子20fのプレーン情報記憶部29に記憶させる。
【0288】
制御部100gは、例えば、上述した処理に応じて所定の処理を行う。
また、制御部100gは、例えば上述した処理に応じて、フレームメモリ3gやメモリ2g等に、所定のデータの書込み処理や読み込み処理等を行う。
【0289】
以上、説明した構成の画像処理装置の動作を、相違点のみ簡単に説明する。
プレーン分離部110gでは、フレームメモリ3g−T−1に記憶されている画像データの参照領域tr、例えば5×5の大きさの参照領域trごとに、その参照領域trの内の画素に基づいてプレーン分離処理が行われ、処理の結果のプレーン情報がプレーン情報バッファ120に出力され、プレーン情報バッファ120では、そのプレーン情報が所定の位置(アドレス)に格納される。
【0290】
以降は、上述した第7の実施の形態と同様に、メモリ2gにおいて、画素21−1に参照領域trの画素が記憶され、画素21−2に探索領域tpの画素が記憶される。
【0291】
減算器24により画素21−1に記憶されている画素と、画素21−2に記憶されている探索領域tpの画素の差分値が生成され、絶対値生成部25によりその差分値の絶対値である差分絶対値が生成され、画素差分記憶部22−1に記憶される。
【0292】
スイッチ30では、プレーン情報記憶部29に記憶されているプレーン情報と、注目素子の周辺の素子20のプレーン情報記憶部29に記憶されているプレーン情報とが比較され、一致している場合には、その周辺部の素子20の画素差分記憶部22f−1に記憶されている差分絶対値が、注目画素の加算部28fに出力される。
加算部28fでは、スイッチ30から出力された差分絶対値と、画素差分記憶部22f−1に記憶されている差分絶対値が加算され、比較更新部26fに出力される。
【0293】
比較更新部26fでは、差分総和記憶部22f−2に記憶されている差分総和値と、加算部28fから出力された差分総和値とが比較され、加算部28fから出力された差分総和値の方が小さい場合には、その小さい差分総和値が差分総和記憶部22f−2に出力される。差分総和記憶部22f−2では、その差分総和値が記憶されて、更新される。
【0294】
また、比較更新部26fでは、画素差分記憶部22f−2に記憶されている差分総和値を更新した場合には、更新したことを示す更新情報を更新部27が出力される。
更新部27では、比較更新部26fから、その更新したことを示す更新情報が出力されると、探索領域tpと参照領域trとの位相情報が動きベクトル記憶部23に記憶される。
探索範囲spの内の探索領域tpの位相が更新されて、全ての探索範囲spの内の全ての位相の探索領域tpと参照領域trとが比較され、動きベクトルが生成される。
【0295】
以上、説明したように、本実施の形態に係る画像処理装置1gは、第7の実施の形態に係る画像処理装置1fと比べて、フレームメモリ3g−T−1に記憶されている画像データに基づいて、プレーン分離を行いプレーン情報を生成するプレーン分離部110gと、そのプレーン情報を記憶するプレーン情報記憶部29とを設け、所定の大きさ、例えば5×5の素子20fを含むメモリ2gに、所定の探索範囲spおよび参照領域trの内の画像とを入力し、周辺の素子20fのプレーン情報と一致している場合にのみ、差分総和記憶部22f−2に記憶されている差分総和値を更新し、更新された場合にのみ動きベクトルを更新するので、参照領域trの内に複数のオブジェクトがある場合であっても、正確に動きベクトルを生成することができる。
また、プレーン情報バッファ120を設けたことにより、全画面サイズのプレーン情報を記憶して効率よく所定の処理を行うことができる。
【0296】
第9の実施の形態
プレーン情報を使った動きベクトルの補正
ブロックマッチングのブロックサイズやプレーンマッチングのプレーンの面積が小さい場合は、入力画像にノイズがのっていたりすると各画素の動きベクトル検出が誤る可能性が高くなる。
第9の実施の形態に係る画像処理装置1hのメモリ2hに格納されているプレーン情報を利用して、上述のような場合でも精度のよい動きベクトルを生成する。
【0297】
図40は、本発明に係る画像処理装置の第9の実施の形態の機能ブロック図である。
画像処理装置1hは、プレーンマッチング、動きベクトル検出の結果と、プレーン情報が格納されるメモリの構造を利用して、動きベクトルの検出を行う。
【0298】
画像処理装置1hは、図40に示すように、メモリ2f、複数のフレームメモリ3f、例えばフレームメモリ3f−T,T−1、読出部4h、制御部100h、プレーン分離部110h、および動きベクトル補正部130とを有する。
【0299】
画像処理装置1hのメモリ2fは、第7の実施の形態に係る画像処理装置1fのメモリ2fと同じ構造である。
画像処理装置1hは、メモリ2fの内に、プレーン情報や動きベクトルを格納される処理や、プレーンマッチング処理も、第7の実施の形態に係る画像処理装置1fとほぼ同様である。
【0300】
図41は、図40に示した画像処理装置の動きベクトル補正部の動作を説明するための図である。
画像処理装置1hは、上述した第7の実施の形態に係る画像処理装置1fのプレーンマッチングを出力するメモリ2fでの動きベクトル検出が終了した時点で、図41に示すように、ある注目画素に対する動きベクトルを出力する。以下、詳細に説明する。
【0301】
動きベクトル補正部130は、注目素子を中心とした、例えばメモリ内の5×5の格子領域に対して注目素子と同じプレーン情報をもつ素子のみから、動きベクトルを読み出し、その読み出された動きベクトルの頻度を求め、最も高い動きベクトルを注目素子の動きベクトルとする。
【0302】
具体的には、動きベクトル補正部130は、例えば読出部4hから出力された、注目素子を中心とした、例えばメモリ内の5×5の格子領域に対して注目素子のプレーン情報記憶部29に記憶されているプレーン情報と、同じプレーン情報をもつ素子のみから、動きベクトル記憶部23に記憶されている動きベクトルを読み出し、その読み出された動きベクトルの頻度を求め、最も高い動きベクトルを注目素子の動きベクトルとする。
【0303】
以上説明した構成の動作を、簡単に説明する。
読出部4hから注目素子を中心とした、例えばメモリ内の5×5の格子領域に対して注目素子のプレーン情報記憶部29に記憶されているプレーン情報と、同じプレーン情報をもつ素子のみから、動きベクトル記憶部23に記憶されている動きベクトルが読み出される。
動きベクトル補正部130では、その読み出された動きベクトルの頻度を求め、最も高い動きベクトルを注目素子の動きベクトルとする。
【0304】
以上、説明したように、動きベクトル補正部130は、注目画素周辺の同一のプレーンの画素はほぼ同じ動きであると仮定して、通常のマッチングでは注目画素の動きベクトルが誤っている場合でも、その注目画素が本来持っている可能性が高い動きベクトルを算出し、それに置き換えることで動きベクトルの精度をあげることができる。
【0305】
また、各素子ごとにプレーン情報を格納できるメモリ2fを設けたので、動きベクトルを導出する際に、誤りやすい複数のオブジェクトの境界部分などにおいても、動きベクトルを正確に求めることができる。
【0306】
また、注目画素の周辺の領域で同一プレーンごとに最頻の動きベクトルを求め、その動きベクトルを用いて補正することで、例えばノイズなどによって動きベクトルが誤りやすい場合でも、正確に動きベクトルを求めることができる。
【0307】
【発明の効果】
本発明によれば、少ない計算量で動きベクトルを算出可能な画像処理装置および画像処理方法を提供することができる。
【図面の簡単な説明】
【図1】一般的な画像処理装置を示す図である。
【図2】図1に示した一般的な画像処理装置の動作を示すフローチャートである。
【図3】位相シフトによる位相ブロック読み出しから、評価テーブルメモリへの記録までの動作の一具体例を説明するための図である。
【図4】本発明に係る画像処理装置の第1の実施の形態の機能ブロック図である。
【図5】(a)は第1の実施の形態に係る画像処理装置のメモリを示す図である。(b)は(a)に示した画像処理装置のメモリの内の素子の機能ブロック図である。
【図6】図4に示した画像処理装置の画素マッチングにおける位相の更新と、探索領域tpの読み出しを説明するための図である。(a)は、探索範囲内の位相を示す図である。(b)は位相と探索領域tpの関係を示す図である。
【図7】図1に示した画像処理装置1の動作を説明するためのフローチャートである。
【図8】本発明に係る画像処理装置の第2の実施の形態の機能ブロック図である。
【図9】(a)は図8に示した画像処理装置1aのメモリを示す図である。(b)は図8に示したメモリの構成の一具体例を示す図である。(c)は図8に示した画像処理装置1aの動きベクトルが格納されるメモリの構成を示す図である。
【図10】図8に示した画像処理装置の動作、特に位相の更新と探索領域tpの読み出しを行う動作について説明するための図である。(a)は探索範囲sp内の位相を示す図である。(b)は位相と探索領域tpの関係を示す図である。
【図11】図8に示した画像処理装置1aの動作を説明するためのフローチャートである。
【図12】図8に示した画像処理装置のフレームの参照領域trから切り出されるブロックを示す図である。
【図13】本発明の第3の実施の形態に係る画像処理装置の対応画素の摘出を説明するための概念図である。
【図14】本発明に係る画像処理装置の第3の実施の形態の機能ブロック図である。
【図15】(a)は図14に示した画像処理装置1bのメモリ2bを示す図である。(b)は対応画素が格納されるメモリを示す図である。(c)は、(a)に示したメモリ2bの素子20bの機能ブロック図である。
【図16】(a)は、フレームT+2の探索範囲spT+2(9×9)と、探索領域tpT+2の位相を示す図である。(b)は、フレームT+1の探索範囲spT+1(7×7)と、探索領域tpT+1の位相を示す図である。(c)は、フレームT−1の探索範囲spT−1(7×7)と、探索領域tpT−1の位相を示す図である。(d)は、フレームT−2の探索範囲spT−2(9×9)と、探索領域tpT−2の位相を示す図である。(e)は、図14に示した画像処理装置1bの位相の更新と探索領域tpの読み出しの処理を説明するための図である。
【図17】図14に示した画像処理装置の動作を説明するためのフローチャートである。
【図18】本発明に係る画像処理装置の第4の実施の形態の機能ブロック図である。
【図19】図18に示した画像処理装置1cのノイズ付加部の第1の具体例を示す機能ブロック図である。
【図20】図18に示した画像処理装置1cのノイズ付加部の第2の具体例を示す機能ブロック図である。
【図21】図18に示した画像処理装置1cのノイズ付加部の第3の具体例を示す機能ブロック図である。
【図22】図18に示した画像処理装置1cのクラスコード生成部のクラスコードを発生(ノイズ成分検出)させる原理を説明するための図である。
【図23】図18に示した画像処理装置1cが、クラス分類適応処理のために、参照領域trのメモリに読み出すべき手順を説明するための図である。(a)はシフト前の状態を示す図である。(b)は、シフト後の状態を示す図である。
【図24】本発明に係る画像処理装置の第5の実施の形態の機能ブロック示す図である。
【図25】本発明に係る画像処理装置の第6の実施の形態の機能ブロック図である。
【図26】(a)は図25に示した画像処理装置のメモリの構成図、(b)は(a)に示したメモリの予想画素が格納される素子を示す図、(c)は(a)に示したメモリの素子の機能ブロック図である。
【図27】本発明に係る画像処理装置に係る第7の実施の形態の動作を説明するための概念図である。
【図28】本発明に係る画像処理装置の第7の実施の形態のプレーンマッチングの動作を説明するための概念図である。
【図29】本発明に係る画像処理装置の第7の実施の形態の機能ブロック図である。
【図30】(a)は図29に示した画像処理装置のメモリを模式的に示す図である。(b)は(a)の一部を拡大した図である。(c)は(b)に示したメモリの素子の機能ブロック図である。
【図31】図29に示した画像処理装置のプレーン分離部の処理を説明するための図である。
【図32】画像処理装置1fのプレーン分離部の一具体例を示す機能ブロックである。
【図33】図32に示した画像処理装置1fのプレーン分離部のヒストグラム演算部が生成するヒストグラムの一具体例を示す図である。
【図34】図32に示した画像処理装置のプレーン分離部の消去部の動作を説明するためのヒストグラムの一具体例である。
【図35】図32に示した画像処理装置の谷統合部により統合される前のヒストグラムの谷を説明するための図である。
【図36】図32に示した画像処理装置の谷統合部により統合されるヒストグラムの谷を説明するための図である。
【図37】図32に示した画像処理装置のプレーン分離部の動作を説明するためのフローチャートである。
【図38】図29に示した画像処理装置の動作を説明するためのフローチャートである。
【図39】本発明に係る画像処理装置の第8の実施の形態の機能ブロック図である。
【図40】本発明に係る画像処理装置の第9の実施の形態の機能ブロック図である。
【図41】図40に示した画像処理装置の動きベクトル補正部の動作を説明するための図である。
【符号の説明】
1…画像処理装置、2…メモリ、3…フレームメモリ、4…読出部、5…ノイズ付加部、6…クラスコード生成部、7…正規方程式加算部、8…係数記憶部、9…推定演算部、20…素子、21…画素、22…最小画素差分記憶部、22a−1…画素差分記憶部、22a−2…差分総和記憶部、22b−1…差分絶対値総和A記憶部、22b−2…差分絶対値総和B記憶部、23…動きベクトル記憶部、24…減算器、25…絶対値生成部、26…比較更新部、27…更新部、28…加算器、29…プレーン情報記憶部、51…RFモジュレータ(RF MODULATOR)、52…アテネータ減衰器、53…RFデモジュレータ(RFDEMODULATOR)、54…減算器、55…加算器、56…フレーム加算器、100…制御部、110…プレーン分離部、111…ヒストグラム演算部、112…ピーク検出部、113…谷検出部、114…消去部、115…谷統合部、116…ラベリング部、120…プレーン情報バッファ、130…動きベクトル補正部、250…加算器。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and an image processing method for generating a motion vector based on image data, for example.
[0002]
[Prior art]
Conventionally, block matching is known as a method for detecting a motion vector between frames of an image.
[0003]
FIG. 1 is a diagram showing a general image processing apparatus. FIG. 2 is a flowchart showing the operation of the general image processing apparatus shown in FIG.
Block matching will be described with reference to FIGS.
[0004]
The block matching is to obtain a motion vector indicating to which position a certain block in the image at a certain time T-1 has moved at the next time T.
[0005]
For example, as shown in FIG. 1, the image processing apparatus 1s includes a frame memory 3s-T, a frame memory 3s-T-1, a search range memory ms, a reference block memory mr, a phase block memory mp, a calculation unit pc, and an evaluation table. It has a memory mv and a minimum value search unit ps.
[0006]
The image processing device 1 s sets a search range at time T, and within that range, matches the reference block at time T−1 and the pixels in the block at each phase (position) in the search range, and the most matching Let the near phase be the position of the block at time T.
Therefore, a block shift amount between two frames is used as a motion vector.
[0007]
The operation of the image processing apparatus 1s will be described with reference to FIG.
The search range and the reference block br at the position where the motion vector is to be obtained are read out from the frame memory T and the frame memory T-1 in which continuous input images are stored in time (ST1, ST2).
They are stored in the search range memory ms and the reference block memory mr (ST3).
[0008]
Next, a block having the same shape and size as the reference block br is read from the search range memory ms for each phase. This is a phase block bp.
The phase is sequentially updated when recording in an evaluation table, which will be described later, is completed, and the phase block bp at that phase is read each time (ST4).
[0009]
The read phase block bp is stored in the phase block memory mp, for example, as shown in FIG.
[0010]
FIG. 3 is a diagram for explaining a specific example of operations from reading a phase block by phase shift to recording in the evaluation table memory mr. FIG. 3A shows a state before the phase shift, and FIG. 3B shows a state after the phase shift. The operation up to recording in the evaluation table memory will be described with reference to FIG.
The reference block size is 3 × 3 pixels, and the search range is 5 × 5 pixels.
[0011]
Here, the phase block bp read when the phase 1 is shifted to the phase 2 is at a position shifted by one pixel in the horizontal direction. For example, the phase shift amount due to the update is one pixel.
[0012]
Next, the calculation unit pc calculates a difference absolute value for each corresponding pixel between the reference block br and the phase block bp, and obtains a difference absolute value sum S of these values.
[0013]
[Expression 1]
Figure 0003941644
[0014]
The sum of absolute differences S is the pixel value k of the pixels in the reference block br.sAnd the pixel value k of the pixel in the corresponding phase block bppFor example, it is calculated by Equation (1) (ST5).
[0015]
Next, the difference absolute value sum S is stored in the evaluation table (ST6).
Specifically, as shown in FIG. 1, the sum of absolute differences S is stored in the evaluation table memory mv. In the evaluation table, the sum of absolute differences S is stored for each phase corresponding to the read phase block.
[0016]
As shown in FIG. 3, for example, when the general image processing apparatus 1 s shifts from phase 1 to phase 2, for example, the position stored in the evaluation table is also shifted according to the shift.
[0017]
When all the phase blocks bp in the search range are read and recorded in the evaluation table (ST7), the minimum value search unit ps searches for the minimum value in the evaluation table (ST8).
[0018]
On the other hand, if it is determined in step ST7 that all phase evaluation value tables are not recorded, the process returns to step ST3.
That is, the block within the search range closest to the reference block br is searched.
[0019]
As described above, in the evaluation table, the sum of absolute differences S is recorded for each phase corresponding to the read phase block bp. Therefore, if the minimum value is known in the evaluation table, the phase of the block corresponding to the reference block br in the search range can be known. The phase information is output as a motion vector.
[0020]
[Problems to be solved by the invention]
The following three points are cited as problems of the general image processing apparatus described above.
1. A procedure for temporarily storing the values of the phase block and the evaluation table is necessary. Since a memory for this purpose must be prepared in the circuit, the circuit layout becomes complicated. For example, when motion vectors are to be calculated at a large number of positions within one frame, it is necessary to search for the motion vectors step by step for each position, resulting in a time loss.
2. Only after all the values in the evaluation table are recorded, the search for the minimum value begins. Therefore, it is necessary to read out each phase block and update the phase twice for the minimum value search.
3. The output in this case is a motion vector. For example, when a process of reading a pixel extracted from the motion vector is performed, another procedure of extracting the pixel from the motion vector is necessary.
[0021]
The present invention has been made in view of such circumstances, and an object thereof is to provide an image processing apparatus and an image processing method capable of calculating a motion vector with a small amount of calculation.
[0022]
[Means for Solving the Problems]
  In order to achieve the above object, an image processing apparatus according to a first aspect of the present invention is an image processing apparatus that performs matching between first image data and second image data, and includes an image element including matching data. At least one, and the image element includes first pixel storage means for storing a first pixel for reference in the first image data, and the second pixel according to the first pixel. Second pixel storage means for storing second pixels within a predetermined search range of image data; and arithmetic means for calculating an evaluation value indicating a degree of matching of the pixels from the first pixel and the second pixel. When,Evaluation valueObtained from the evaluation value storage means, the first pixel stored in the first pixel storage means, and the second pixel stored in the second pixel storage means.Evaluation valueIs stored in the evaluation value storage means.Evaluation valueStored in the evaluation value storage means when the evaluation is higher thanEvaluation valueThe aboveEvaluation values obtained by the first pixel and the second pixelEvaluation value update means for updating the matching data stored in the image element is calculated by the calculation means in the image element.
[0023]
  According to the image processing apparatus of the first aspect, the first image data and the second image data are matched, and at least one image element including the matching data is included.
  In the image element, the first pixel storage means stores the first pixel for reference in the first image data.
  The second pixel storage means stores a second pixel within a predetermined search range of the second image data according to the first pixel.
  An evaluation value indicating a degree of pixel matching is calculated from the first pixel and the second pixel.
  The evaluation value storage means stores the first evaluation value.
  The evaluation value update unit includes a second evaluation value obtained from the first pixel stored in the first pixel storage unit and the second pixel stored in the second pixel storage unit, and an evaluation value Based on the first evaluation value stored in the storage means, the first evaluation value stored in the evaluation value storage means is updated.
  The evaluation value calculation of the matching data stored in the image element is calculated by a calculation means in the image element.
[0024]
  In order to achieve the above object, an image processing apparatus according to a second aspect is an image processing apparatus that performs matching between first image data and second image data, and includes a plurality of image elements including matching data. The image element includes a first pixel storage unit that stores a first pixel for reference in the first image data, and the second image according to the first pixel. Second pixel storage means for storing a second pixel within a predetermined search range of data, and arithmetic means for calculating an evaluation value indicating a degree of matching of the pixels from the first pixel and the second pixel Evaluation value storage means for storing evaluation values obtained from the first pixel and the second pixel;An evaluation value stored in the evaluation value storage means;Evaluation values stored in other adjacent image elementsBased on the above, a new evaluation value indicating the degree of matching of a block composed of another pixel element adjacent to the image element is output.A new evaluation value calculation means;New evaluation value storage means for storing a new evaluation value, and the new evaluation value storage meansRememberedNewEvaluation valuethanOutput from the new evaluation value calculation meansNew evaluation valueIf the rating is high,The output new evaluation value is stored in the new evaluation value storage means.RememberNew evaluation valueNew evaluation value update means for updating, and the evaluation value calculation of the matching data stored in the image element is calculated by the calculation means in the image element.
[0025]
  In order to achieve the above object, an image processing apparatus according to a third aspect is an image processing apparatus that performs matching of a plurality of temporally different image data, and includes a plurality of image elements including matching data. The image element stores a plurality of first pixel storage means for storing pixels of the image data different in time and a plurality of the pixels stored in the first pixel value storage means. Second pixel storage means and the plurality of first pixel storage means stored in the plurality of first pixel storage meansThe degree of pixel matchingShow the first evaluation valueFirst computing means for computing, and the first evaluation valueFirst evaluation value storage means for storing;Based on the first evaluation value and the first evaluation value of another adjacent image element, the second evaluation value indicating the degree of matching of the block composed of another image element adjacent to the image element. A second calculating means for calculating and outputting;Second evaluation value storage means for storing a second evaluation value;The second evaluation value output from the second calculation means is more than the second evaluation value stored in the second evaluation value storage means.If the rating is high,The output second evaluation value isSecond evaluation value storage meansRememberUpdating means for updating the second evaluation value, and the evaluation value calculation of the matching data stored in the image element is calculated by the calculation means in the image element.
[0026]
  In order to achieve the above object, the image processing method according to the fourth aspect performs matching between the first image data and the second image data and includes matching data.Evaluation value storage means for storing the evaluation valueAn image processing method of an image processing apparatus having at least one image element, wherein the image element stores a first pixel for reference in the first image data, and according to the first pixel Storing a second pixel within a predetermined search range of the second image data, calculating an evaluation value indicating a degree of matching of the pixel from the first pixel and the second pixel, Obtained from the first pixel and the second pixel.Evaluation valueBut,Evaluation value stored in the evaluation value storage meansIf the rating is higher thanThe evaluation value stored in the evaluation value storage meansthe aboveEvaluation values obtained by the first pixel and the second pixelThe evaluation value calculation of the matching data stored in the image element is calculated by a calculation means in the image element.
[0027]
  Furthermore, in order to achieve the above object, an image processing method according to a fifth aspect of the present invention is an image processing apparatus that performs matching between first image data and second image data and includes a plurality of image elements including matching data. In the image processing method, the image element stores a first pixel for reference in the first image data, and a predetermined value of the second image data is determined according to the first pixel. Storing a second pixel within a search range, calculating an evaluation value indicating a degree of matching of the pixel from the first pixel and the second pixel, and calculating the first pixel and the second pixel; Memorize the evaluation value obtained fromStoring a new evaluation value indicating the degree of matching of a block composed of another pixel element adjacent to the image element, and the stored evaluation value;Evaluation values stored in other adjacent image elementsAnd a new evaluation value indicating the degree of matching of the block composed of other pixel elements adjacent to the image element,RememberedNewEvaluation valuethanThe outputNew evaluation valueIf the rating is high,The stored new evaluation value is determined by the output new evaluation value.The evaluation value of the matching data that is updated and stored in the image element is calculated by a calculation means in the image element.
[0028]
  Further, in order to achieve the above object, an image processing method according to a sixth aspect is an image processing method of an image processing apparatus that performs matching of a plurality of temporally different image data and has a plurality of image elements including matching data. The image element stores a plurality of first pixels of the image data different in time, stores a plurality of second pixels corresponding to the plurality of first pixels, and In a plurality of stored first pixelsThe degree of pixel matchingShow the first evaluation valueCalculate and store a second evaluation value indicating the degree of matching of the block composed of another image element adjacent to the image element, and indicate the degree of matching of the block composed of the other image element adjacent to the image element. A second evaluation value is calculated based on the first evaluation value and the first evaluation value of another adjacent image element, and is obtained by calculation from the stored second evaluation value. Of the second evaluation valueIf the rating is high,Stored by the second evaluation value obtained by the calculationThe second evaluation value is updated, and the evaluation value calculation of the matching data stored in the image element is calculated by the calculation means in the image element.
[0029]
DETAILED DESCRIPTION OF THE INVENTION
First embodiment
The image processing apparatus 1 according to the present embodiment detects a motion vector between frames of a moving image having a plurality of frames.
[0030]
Pixel matching
FIG. 4 is a functional block diagram of the first embodiment of the image processing apparatus according to the present invention.
FIG. 5A is a diagram illustrating a memory of the image processing apparatus according to the first embodiment. FIG. 5B is a functional block diagram of elements in the memory of the image processing apparatus shown in FIG.
[0031]
As shown in FIG. 4, the image processing apparatus 1 according to the present embodiment includes a memory 2, a plurality of frame memories 3, a reading unit 4, and a control unit 100.
[0032]
As will be described later, the memory 2 generates and stores motion vectors based on predetermined data from the frame memory 3, for example, pixel values and phases (also referred to as phase information) of pixels.
[0033]
The frame memory 3 includes, for example, a plurality of frame memories 3, specifically a frame memory 3-T and a frame memory 3-T-1.
The frame memory 3-T stores input image data (also simply referred to as an image) at time T.
The frame memory 3-T-1 stores image data at time T-1.
Further, after a predetermined time, the image data stored in the frame memory 3-T is stored in the frame memory 3-T-1, and new image data is stored in the frame memory 3-T.
[0034]
The reading unit 4 reads the motion vector stored in the memory 2 for each element 20.
The control unit 100 controls the memory 2, the frame memory 3, and the reading unit 4 according to a predetermined process.
For example, the control unit 100 stores an image in the frame memory 3.
For example, the control unit 100 outputs to the memory 2 from the frame memory 3 the pixels in a predetermined search range sp and reference range, and the phase of the search region tp in the search range sp and the reference region tr.
[0035]
Each component will be described in detail.
The memory 2 of the image processing apparatus 1 according to the present embodiment includes, for example, a plurality of elements 20 in a lattice shape as illustrated in FIG.
For simplicity, 3 × 3 elements (pixels) 20-1 to 9 are provided in the memory 2. Each element 20 is connected.
[0036]
A case where matching is performed for each element (pixel) 20 at once will be described.
As shown in FIG. 5B, the element 20 includes a plurality of pixels 21, for example, pixels 21-1 and 21, a minimum pixel difference storage unit 22, a motion vector storage unit 23, a subtractor 24, an absolute value generation unit 25, A comparison update unit 26 and an update unit 27 are included.
[0037]
Specifically, the element 20 not only simply stores (also stores) one pixel, but also stores, for example, pixel values for two pixels, calculates a difference absolute value thereof, and calculates a difference absolute value as a result thereof. Stores a value.
The matching data is data relating to a predetermined matching process such as a pixel value, a difference absolute value, or data indicating a predetermined calculation result.
[0038]
The pixel 21 has a plurality of pixels, for example, a pixel 21-1 and a pixel 21-2. For example, the pixel value of the pixel in the search range sp in the frame memory 3-T is input to the pixel 21-1.
For example, the pixel value of the pixel in the reference region tr of the frame memory 3-T-1 is input to the pixel 21-2.
[0039]
The minimum pixel difference storage unit 22 stores the absolute difference value.
In the minimum pixel difference storage unit 22, the stored difference absolute value is updated by the comparison update unit 26.
[0040]
The motion vector storage unit 23 stores a motion vector as will be described later.
The motion vector storage unit 23 is updated by the update unit 27.
[0041]
The subtractor 24 outputs a difference value between the pixel values stored in the pixel 21-1 and the pixel value stored in the pixel 21-2 to the absolute value generation unit 25.
[0042]
Based on the difference value between the pixel value of the pixel 21-1 and the pixel value of the pixel 21-2 output from the subtractor 24, the absolute value generation unit 25 is also referred to as an absolute value of the difference value (also referred to as a difference absolute value). ) Is output to the comparison update unit 26.
[0043]
The comparison update unit 26 compares the difference absolute value output from the absolute value generation unit 25 with the difference absolute value stored in the minimum pixel difference storage unit 22.
[0044]
When the difference absolute value output from the absolute value generation unit 25 is small as a result of the comparison, the comparison update unit 26 stores the smaller difference absolute value in the minimum pixel storage unit 22, thereby calculating the absolute difference. Update the value.
The comparison update unit 26 outputs update information indicating that the difference absolute value has been updated to the update unit 27 when the absolute difference value of the minimum pixel difference storage unit 22 is updated as a result of the above comparison.
[0045]
The update unit 27 updates the motion vector stored in the motion vector storage unit 23 based on the update information output from the comparison update unit 26 and the phase information.
Specifically, when the update information indicating that the difference absolute value has been updated is output from the comparison update unit 26, the update unit 27 outputs phase information (phase) between the search region tp and the reference region tr at that time. Is stored in the motion vector storage unit 23 as a motion vector, and the motion vector is updated.
[0046]
As described above, the memory 2 stores information such as motion vectors other than pixel values and absolute difference values as additional information.
[0047]
FIG. 6 is a diagram for explaining the phase update and the reading of the search region tp in the pixel matching of the image processing apparatus shown in FIG. FIG. 6A shows the phase within the search range. FIG. 6B is a diagram showing the relationship between the phase and the search area tp.
[0048]
The phase (phase information) is, for example, a shift between the center of the search range sp and the center of the search region tp. For example, the phase is defined as shown in FIG.
Specifically, as shown in FIG. 6A, when the center of the search range sp (5 × 5) coincides with the center of the search region tp (3 × 3), the phase (0 , 0).
[0049]
For example, when the center of the search range sp (5 × 5) and the center of the search region tp (3 × 3) are shifted by one unit to the right in the figure, the phase is (1, 0).
In other phases, the shift between the center of the search range sp and the center of the search region tp is used as phase coordinates.
[0050]
FIG. 6B is a diagram showing phase update and reading of the search region tp.
For example, as illustrated in FIG. 6B, the control unit 100 sequentially sets the phases to (−1, −1), (0, −1), (1, −1), (−1, 0), ( (0,0), (0,1), (-1,1), (0,1), (1,1) are updated and the pixels in the search area tp are read out accordingly, Output to the corresponding element 20.
As will be described later, the phase when the absolute difference value is the minimum is taken as a true motion vector.
[0051]
Further, the order of reading pixels and the order of phases of the control unit 100 are not limited to this form. The order is not limited to the above-described form as long as all pixels can be read out.
Here, in FIG. 5, one pixel in the search region tp is stored in the pixel 21-1 held by each element.
[0052]
FIG. 7 is a flowchart for explaining the operation of the image processing apparatus 1 shown in FIG. The operation of the image processing apparatus 1, in particular, the operation for generating a motion vector will be described with reference to FIG.
[0053]
For example, the control unit 100 stores each pixel in an arbitrary 3 × 3 reference region tr from the frame memory 3-T-1 for each corresponding element 20 in the memory 20 (ST11).
Specifically, as shown in FIG. 4, one pixel of the reference region tr is stored in the pixel 21-2 of each element 20.
[0054]
The control unit 100 reads out pixels in the search region tp (3 × 3) while updating (shifting) the phase within the search range sp in the frame memory 3-T (ST12), Is stored for each element 20 (ST13).
Specifically, as illustrated in FIG. 4, the control unit 100 stores a corresponding one pixel in the search region tp in the pixel 21-1 of each element 20.
[0055]
In the control unit 100, the update of the phase of the search region tp and the reading of the pixels in the search region tp are performed within the range of (−1, −1) to (1, 1), for example, as shown in FIG. The process is performed a total of 9 times by shifting the phase one pixel at a time.
[0056]
The subtractor 24 and the absolute value generation unit 25 of each element 20 calculate a difference absolute value between the pixel value stored in the pixel 21-1 and the pixel value stored in the pixel 21-2. This is set as, for example, an absolute difference value a (ST14).
In the comparison update unit 26, the difference absolute value (for example, referred to as difference absolute value b) stored in the minimum pixel difference storage unit 22 of the element 20 in the memory 2 is compared with the difference absolute value a (ST15). ).
[0057]
As a result of the comparison in step ST15, when the difference absolute value a is small, the comparison update unit 26 stores the difference absolute value a in the minimum pixel difference storage unit 22 and updates the difference absolute value (ST16, ST17).
On the other hand, when the difference absolute value a is large, the comparison / update unit 26 does not perform update (ST16), and proceeds to update the phase of the next search region tp and read out the pixels in the search region tp.
By the way, the absolute difference value is not stored in the minimum pixel difference storage unit 22 of the element 20 in the initial state. In that case, the first pixel absolute difference value is unconditionally stored in the minimum pixel difference storage unit 22.
[0058]
In step ST <b> 17, the comparison update unit 26 outputs update information indicating that the difference absolute value has been updated to the update unit 27 only when the difference absolute value is updated.
In the update unit 27, when update information indicating that the difference absolute value has been updated is output from the comparison update unit 26, the phase of the search region tp at that time is stored in the motion vector storage unit 23, and the motion The vector is updated (ST18).
[0059]
When the update of all phases is completed (ST19), the minimum value of the pixel difference absolute value in the search range sp is stored in the minimum pixel difference storage unit 21-2 in each element 20 and updated. The phase (motion vector) at this time is stored in the motion vector storage unit 23.
[0060]
On the other hand, if all the phases have not been updated in step ST19, the process returns to step ST12.
[0061]
Each motion vector is obtained based on the absolute value of the difference between the pixels 20 to which position within the search range sp each pixel 20 in the reference region tr has moved at time T. Finally, the reading unit 4 reads and outputs these motion vectors from each element 20.
[0062]
As described above, a plurality of frame memories 3 that store image data, a memory 2 that generates and stores motion vectors according to data from the frame memory 3, and a motion vector for each element is read from the memory. A reading unit 4 and a control unit 100 for controlling them are provided. The memory 2 is provided with a plurality of elements 20 in a lattice pattern.
[0063]
The element 20 includes pixels 21-1 and 2 that store pixel values of predetermined pixels in different frame memories, a subtractor 24 that outputs a difference value between the pixel values of the pixels 21-1 and 2, and a subtractor 24. The absolute value generation unit 25 that outputs the absolute value (difference absolute value) of the output difference value, the minimum pixel difference storage unit 22 that stores the difference absolute value, the absolute difference value, and the minimum pixel difference storage unit 22 The difference absolute value being compared, the difference absolute value in the minimum pixel storage unit 22 is updated as a result of the comparison, and the comparison update unit 26 that outputs update information indicating that the update has been performed. When the update information indicating that the value has been updated is output, since the phase coordinate at that time is stored in the motion vector storage unit 23 as a motion vector, and the update unit 27 for updating the motion vector is provided, Move with less computation It is possible to calculate the torque.
[0064]
Further, the two-stage phase update, that is, the calculation of the evaluation table and the search for the minimum value in all phases within the search range sp can be performed in a lump.
[0065]
In addition, since only the minimum value of the absolute difference value is updated, for example, it is not necessary to generate an evaluation table for searching for the minimum value in another memory, so that the memory can be reduced.
[0066]
Although the image processing apparatus 1 according to the present embodiment has been described using the memory 2 having a size of 3 × 3, the present invention is not limited to this.
For example, when the memory 2 having the elements 20 for the total number of pixels in one frame is provided, the motion vector for all the pixels in one frame can be obtained at a time when the phase update is completed. it can.
[0067]
Second embodiment
Block matching
FIG. 8 is a functional block diagram of the second embodiment of the image processing apparatus 1a according to the present invention.
FIG. 9A shows a memory of the image processing apparatus 1a shown in FIG. FIG. 9B shows a specific example of the configuration of the memory shown in FIG. FIG. 9C is a diagram showing a configuration of a memory in which the motion vector of the image processing apparatus 1a shown in FIG. 8 is stored.
[0068]
As shown in FIG. 8, the image processing apparatus 1a according to the present embodiment includes a memory 2a, a plurality of frame memories 3a, for example, frame memories 3a-T and T-1, a reading unit 4, and a control unit 100a.
[0069]
In the image processing apparatus 1 according to the first embodiment, for example, in 3 × 3 block matching, a motion vector of a certain pixel of interest is obtained using 3 × 3 elements.
In the image processing apparatus 1a according to the second embodiment, the motion vectors of adjacent 3 × 3 pixels are obtained at a time.
[0070]
Similar to the memory 2 of the image processing apparatus 1 according to the first embodiment, the memory 2a can store not only one pixel but also two pixels, and calculates the absolute value of the difference between them. Also, the absolute value of the difference that is the result is stored.
[0071]
A specific example of block matching using pixel matching will be described.
The major difference between the image processing apparatus 1a and the image processing apparatus 1 according to the first embodiment is that the memory configuration is different. Only the differences will be described.
[0072]
The memory 2a of the image processing apparatus 1a according to the present embodiment includes a plurality of elements 20a in a lattice shape, for example, as shown in FIG.
For simplicity, 5 × 5 elements 20 a-1 to 25 are provided in the memory 2 a. Each element 20 is connected.
A case where matching is performed for each element 20 will be described.
Here, when the elements 20a-1 to 20a-25 are not distinguished, they are simply referred to as elements (pixels) 20a. The search range sp will be described as (-1, -1) to (1, 1) in pixel units.
[0073]
As shown in FIG. 9A, the memory 2a is connected to the elements near the target element (for example, the element 20a-5) (for example, the elements 20a-1 to 20 and the elements 20a-6 to 20a-6) by wiring between the elements 20a. The absolute difference value stored in 9) can be sent to the element of interest.
[0074]
Each element 20a has a process of receiving and adding the nine difference absolute values. Therefore, in the element 20a to which attention is paid, the sum of absolute differences is obtained and stored.
[0075]
However, each element 20a performs comparison with the sum of absolute difference values held in advance, and updates the value only when it is small. When the sum of the absolute differences is updated, the motion vector (motion vector) at that time is also updated from the one stored in advance.
Details will be described below.
[0076]
As shown in FIG. 9C, the element 20a includes a plurality of pixels 21a, for example, pixels 21a-1 and 21, pixel difference storage unit 22a-1, difference sum storage unit 22a-2, motion vector storage unit 23, subtraction. And an absolute value generator 25a, a comparison / update unit 26a, an update unit 27, and an adder 28.
[0077]
The differences between the element 20a and the element 20 according to the first embodiment are the pixel difference storage unit 22a-1, the difference sum storage unit 22a-2, the absolute value generation unit 25a, the comparison update unit 26a, and the addition unit 28. It is.
[0078]
The pixel difference storage unit 22a-1 stores the absolute difference value between the pixel 21a-1 and the pixel 21a-2 output from the absolute value generation unit 25a.
The pixel difference storage unit 22 a-1 outputs the stored difference absolute value to the addition unit 28.
[0079]
The difference sum storage unit 22a-2 stores the difference absolute value sum. This difference absolute value sum is updated by the comparison / update unit 26a under a predetermined condition as will be described later.
[0080]
Based on the difference value between the pixel value of the pixel 21-1 and the pixel value of the pixel 21-2 output from the subtractor 24, the absolute value generation unit 25 a (also referred to as a difference absolute value). ) To the pixel difference storage unit 22a-1.
[0081]
The comparison update unit 26a compares the difference absolute value sum A output from the addition unit 28 with the difference absolute value sum (referred to as difference absolute value sum B) stored in the difference sum storage unit 22a-2. If the difference absolute value sum A is small as a result of the comparison, the difference absolute value sum A is stored in the difference sum storage unit 22a-2, and the difference absolute value sum is updated.
[0082]
When the above-described update is performed, the comparison update unit 26a outputs update information indicating that the update has been performed to the update unit 27.
When the difference absolute value sum A is large as a result of the comparison, the comparison update unit 26a does not update the difference absolute value sum B stored in the difference sum storage 22a-2.
[0083]
The adding unit 28 calculates the difference absolute value a output from each of the eight elements 20a (also referred to as the eight adjacent elements 20a) in the vicinity of the pixel and the difference absolute value a output from the pixel difference storage unit 22a-1. Based on these, the difference absolute value sum A is generated and output to the comparison update unit 26a.
[0084]
FIG. 10 is a diagram for explaining the operation of the image processing apparatus shown in FIG. 8, particularly the operation of updating the phase and reading the search area tp. FIG. 10A shows the phase within the search range sp. FIG. 10B is a diagram showing the relationship between the phase and the search area tp.
[0085]
As shown in FIG. 10A, for example, the phase indicates a shift between the center of the search range sp and the center of the search region tp. For example, phase coordinates are defined as shown in FIG.
Specifically, as shown in FIG. 10A, when the center of the search range sp (7 × 7) matches the center of the search region tp (5 × 5), the phase (0, 0 ).
[0086]
For example, when the center of the search range sp (7 × 7) and the center of the search region tp (5 × 5) are shifted to the right by one unit, the phase is (1, 0).
In other states, the shift between the center of the search range sp and the center of the search region tp is used as phase coordinates.
[0087]
For example, as illustrated in FIG. 10B, the control unit 100 a sequentially sets the phases to (−1, −1), (0, −1), (1, −1), (−1, 0), ( (0,0), (0,1), (-1,1), (0,1), (1,1), and the pixels in the search region tp are read out accordingly, and the memory 2a To the corresponding element 20a.
Further, the reading order of the control unit 100a is not limited to this form. The order is not limited to the above-described form as long as all pixels can be read out.
[0088]
FIG. 11 is a flowchart for explaining the operation of the image processing apparatus 1a shown in FIG. The operation of the image processing apparatus 1, particularly the motion vector detection operation, will be described with reference to FIG.
In this case, the element of interest is assumed to be one of the elements 20a in which a motion vector is actually stored in FIG. Here, the element of interest is not an element at the end of the memory 2a.
[0089]
For example, the control unit 100a stores each pixel of an arbitrary 5 × 5 reference region tr from the frame memory 3a-T-1 for each element 20a in the memory 2a (ST21). Here, in FIG. 8, one pixel of the reference region tr is stored in the pixel 21-2 possessed by each element 20 a.
[0090]
The controller 100a reads the 5 × 5 area while updating the phase within the search range sp (ST22), and stores each pixel in the area for each element 20a in the memory 2a (ST23). This 5 × 5 area is named “search area tp”. Here, in FIG. 8, one pixel of the search region tp is stored in the portion of the pixel 21a-1 held by each element 20a.
The update of the phase and the reading of the search area tp are performed nine times in the range of (−1, −1) to (1, 1), for example, as shown in FIG.
[0091]
Next, in each element 20a, the difference absolute value a between the value stored in the pixel 21a-1 and the value stored in the pixel 21a-2 is calculated (ST24). The result is stored in the pixel difference storage unit 22a-1 in each element 20a.
[0092]
Next, in each element of interest, the adder 28 reads the difference absolute value a from the eight neighboring elements 20a, adds the difference absolute value a stored in the pixel difference storage unit 22a-1, and sums the difference absolute value. A is obtained (ST25).
[0093]
Next, in each element of interest, the comparison / update unit 26a includes the difference absolute value sum (difference absolute value sum B) stored in advance in the difference sum storage unit 22a-2 and the difference absolute value sum output from the addition unit 28. A is compared (ST26, ST27), and when the difference absolute value sum A is small, the value stored in the difference sum storage unit 22a-2 is updated from the difference absolute value sum B to the difference absolute value sum A ( ST28).
[0094]
On the other hand, in step ST27, the comparison / update unit 26a does not update when the difference absolute value sum A is large. In the control unit 100a, the process proceeds to the next phase update and reading of the search region tp. The process returns to step ST22.
[0095]
By the way, in the initial state, the sum of absolute differences is not stored in the element of interest. In that case, the first sum of absolute differences is stored unconditionally.
[0096]
In step ST29, only when the sum of absolute differences of a certain element of interest is updated, the update unit 27 stores the phase at that time as a true motion vector in the motion vector storage unit 23 of that element of interest in advance. Update motion vector.
[0097]
When the phase update is completed (ST30), each of the nine target elements 20a stores the minimum pixel difference absolute value sum in the search range sp and the motion vector when it is stored. .
On the other hand, if it is determined in step ST30 that the phase update has not ended, the process returns to step ST22.
[0098]
FIG. 12 is a diagram showing blocks cut out from the frame reference area tr of the image processing apparatus shown in FIG.
As shown in FIG. 12, each motion vector indicates the position in the search range sp at which nine 3 × 3 blocks cut out from the reference region tr have moved at time T between 3 × 3 blocks. Is obtained based on the sum of absolute differences.
Finally, the reading unit 4 reads and outputs these motion vectors from each element of interest.
[0099]
As described above, in the image processing device 1a, the motion vector of the 3 × 3 pixel is based on the sum of the differences obtained by adding the difference absolute value between the element of interest and the adjacent element (3 × 3 element). Can be generated at a time.
[0100]
In the present embodiment, the memory that realizes block matching when the search range sp is (−1, −1) to (1, 1) in a pixel unit with a 3 × 3 block size has been described. It is not limited.
For example, by changing the wiring between the elements 20a so as to connect the peripheral 5 × 5 element 20a to the target element, matching with a larger block size of 5 × 5 is also possible.
[0101]
In addition, although the case where the total number of elements in the memory 2a is 5 × 5 has been described, for example, when the memory 2a is provided with the number of elements corresponding to the total number of pixels in one frame, It is obtained once when the update is finished.
[0102]
Further, by configuring the memory 2a using a large number of elements 20a having a function of detecting a motion vector, it is possible to obtain a motion vector for each of a plurality of adjacent pixels at once.
[0103]
Third embodiment
Supported pixel detection
In the pixel matching of the image processing apparatus 1a according to the second embodiment described above, a motion vector is stored in the memory 2a as a final result of the block matching.
[0104]
The image processing device 1b according to the third embodiment directly stores and outputs the “corresponding pixel” itself in the frame of interest and the frames before and after it.
Here, the “corresponding pixel” refers to a pixel that includes a certain pixel of interest and can be corrected by a motion vector and correspond to the same pixel even if the pixel of interest moves in frames before and after the pixel of interest. Such stored “corresponding pixels” can be used for class classification adaptation processing described later.
[0105]
FIG. 13 is a conceptual diagram for explaining extraction of corresponding pixels of the image processing apparatus according to the third embodiment of the present invention.
The horizontal axis is the x axis, the vertical axis is the y axis, and the oblique axis is the time axis.
In the present embodiment, as shown in FIG. 13, a case is considered where pixels of interest + pixels for two frames before and after, that is, a total of five pixels are extracted to the memory as corresponding pixels.
[0106]
For the sake of simplicity, description will be made assuming that the block size for the corresponding pixel search is 3 × 3 pixels and the search range sp is (−1, −1) to (1, 1) in units of pixels. The corresponding pixel between the target pixel and the other two frames before and after that is constrained to have a constant speed.
[0107]
That is, in the frame T-1, for example, when there is a corresponding pixel at the position (-1, -1) (round 7 in FIG. 13), in the frame T-2, (-2, -2) (FIG. 13 Then, the corresponding pixel always exists in (9), (1, 1) in frame T + 1 (19 in FIG. 13), and (2, 2) in frame T + 2 (41 in FIG. 13). However, the position of the target pixel is (0, 0) (5 in FIG. 13).
[0108]
The image processing apparatus 1b according to the present embodiment calculates the absolute difference between the 3 × 3 block centered on the target pixel in the target frame T and the 3 × 3 block of each of the other frames. The motion vector that minimizes the sum of all the is generated.
At the minimum phase, the central pixel of the 3 × 3 block as shown in FIG. 13 is stored as a corresponding pixel in the memory 2b of the image processing apparatus 1b and output.
[0109]
FIG. 14 is a functional block diagram of the third embodiment of the image processing apparatus according to the present invention.
As shown in FIG. 14, the image processing apparatus 1b according to the present embodiment includes a memory 2b, a plurality of frame memories 3b, for example, frame memories 3b-T + 2, T + 1, T, T-1, T-2, and a reading unit 4. And a control unit 100b.
The major difference between the image processing device 1b and the image processing device 1a according to the second embodiment is that the memory configuration is different.
[0110]
Further, the operation of the control unit is different with the five frame memories 3b-T + 2, T + 1, T, T-1, and T-2. Only the differences will be described.
[0111]
The control unit 100b stores, for example, an input image in the frame memory 3b-T + 2, and outputs the image to the frame memory 3b-T + 1 at a predetermined timing.
[0112]
The control unit 100b stores the image output from the frame memory 3b-T + 2 in the frame memory 3b-T + 1, and outputs the image to the frame memory 3b-T at a predetermined timing.
The control unit 100b stores the image output from the frame memory 3b-T + 1 in the frame memory 3b-T, and outputs the image to the frame memory 3b-T-1 at a predetermined timing.
The control unit 100b stores the image output from the frame memory 3b-T in the frame memory 3b-T-1, and outputs the image to the frame memory 3b-T-2 at a predetermined timing.
The control unit 100b stores the image output from the frame memory 3b-T-1 in the frame memory 3b-T-2.
[0113]
The control unit 100b outputs pixel values of pixels within a predetermined reference range (5 × 5) from the frame memory 3b-T to the memory 2b.
The control unit 100b transfers, from the frame memory 3b-T-2, the pixels in the search region tpT-2 (5 × 5) within the predetermined search range spT-2 (9 × 9) and phase information thereof to the memory 2b. Output.
The control unit 100b transfers, from the frame memory 3b-T-1, the pixels in the search region tpT-1 (5 × 5) within the predetermined search range spT-1 (7 × 7) and the phase information thereof to the memory 2b. Output.
The control unit 100b outputs, from the frame memory 3b-T + 1, the pixels in the search region tpT + 1 (5 × 5) within the predetermined search range spT + 1 (7 × 7) and the phase information thereof to the memory 2b.
The control unit 100b outputs, from the frame memory 3b-T + 2, the pixels in the search region tpT + 2 (5 × 5) within the predetermined search range spT + 2 (9 × 9) and phase information thereof to the memory 2b.
[0114]
When the pixels in the search area tp (5 × 5) described above are read, the control unit 100b determines that the pixels in the search areas tp of the frame memories 3b-T-2, T-1, T + 1, and T + 2 respectively. For example, it is set to be linear as shown in FIG.
[0115]
FIG. 15A is a diagram showing the memory 2b of the image processing apparatus 1b shown in FIG. FIG. 15B is a diagram illustrating a memory in which corresponding pixels are stored. FIG. 15C is a functional block diagram of the element 20b of the memory 2b shown in FIG.
[0116]
The memory 2b of the image processing apparatus 1b according to the present embodiment includes, for example, 5 × 5 elements 20b-1 to 25 as shown in FIG. 15, and each element 20b is connected.
[0117]
In 3 × 3 block matching, a 3 × 3 element is sufficient to obtain a corresponding pixel in a certain target pixel. However, in the image processing apparatus 1b according to the present embodiment, as illustrated in FIG. The motion vectors of adjacent 3 × 3 pixels are obtained at a time.
[0118]
As shown in FIG. 15A, the memory 2b includes a plurality of elements 20b, for example, elements 20b-1 to 25 formed in a lattice shape.
[0119]
As shown in FIG. 15C, the element 20b includes a plurality of pixels 21b, for example, pixels 21b-T, T + 2, T + 1, T-1, and T-2, a difference absolute value sum A storage unit 22b-1, a difference absolute Value sum B storage unit 22b-2, a plurality of subtractors 24b, for example, subtracters 24b-1 to 4, a plurality of absolute value generation units 25b, for example, absolute value generation units 25b-1 to 4, an adder 250, a comparison update unit 26b, an updating unit 27b, an adding unit 28b, and a plurality of corresponding pixels 210b, for example, corresponding pixels 210b-T, T + 2, T + 1, T-1, and T-2.
[0120]
The pixel 21b-T stores a pixel value of a target pixel (also referred to as a target pixel) of the frame T.
As shown in FIG. 13, each of the pixel 21b-T + 2, the pixel 21b-T + 1, the pixel 21b-T-1, and the pixel 21b-T-2 is a straight line that passes through the pixel of interest in time and space in ± 2 frames before and after the frame of interest. The pixel values of the four pixels existing above are stored.
[0121]
The difference absolute value sum total A storage unit 22b-1 stores a sum (also referred to as difference absolute value sum A) in which difference absolute values are calculated between the stored target pixel and each of the four pixels.
[0122]
The difference absolute value sum B storage unit 22b-2 stores the sum of the difference absolute value sum A (also referred to as difference absolute value sum B) in eight elements in the vicinity of the element of interest (also referred to as an element in the vicinity of 8).
[0123]
The subtractor 24b-1 subtracts the pixel value output from the pixel 3b-T-2 and the pixel value output from the pixel 3b-T and outputs the result to the absolute value generation unit 25b-1.
The subtractor 24b-2 subtracts the pixel value output from the pixel 3b-T-1 and the pixel value output from the pixel 3b-T and outputs the result to the absolute value generation unit 25b-2.
The subtractor 24b-3 subtracts the pixel value output from the pixel 3b-T + 1 and the pixel value output from the pixel 3b-T and outputs the result to the absolute value generation unit 25b-3.
The subtractor 24b-4 subtracts the pixel value output from the pixel 3b-T + 2 and the pixel value output from the pixel 3b-T and outputs the result to the absolute value generation unit 25b-4.
[0124]
The absolute value generation unit 25-1 outputs the absolute value (difference absolute value) of the difference value output from the subtractor 24b-1 to the adder 250.
The absolute value generation unit 25-2 outputs the difference absolute value output from the subtractor 24b-2 to the adder 250.
The absolute value generation unit 25-3 outputs the difference absolute value output from the subtractor 24b-3 to the adder 250.
The absolute value generation unit 25-4 outputs the difference absolute value output from the subtractor 24b-4 to the adder 250.
[0125]
The adder 250 adds the difference absolute values output from the absolute value generation units 25-1 to 25-4, and outputs the sum to the difference absolute value sum A storage unit 22b-1.
[0126]
The comparison update unit 26b compares the difference absolute value B output from the addition unit 28b with the difference absolute value sum B stored in the difference absolute value sum B storage unit 22b-2. When the difference absolute value sum B output from 28b is small, the smaller difference absolute value sum B is stored and updated in the difference absolute value sum B storage unit 22b-2.
Moreover, the comparison update part 26b outputs the update information which shows having updated the difference absolute value sum total B of the difference absolute value sum total B memory | storage part 22b-2 to the update part 27b, when performing the update mentioned above.
[0127]
When the update information indicating that the difference absolute value sum B has been updated is output from the comparison update unit 26b, the update unit 27b outputs from each of the pixels 21b-T-2, T-1, T, T + 1, and T + 2. The obtained pixel values are stored in the corresponding pixels 210T-2, T-1, T + 1, T + 2 and updated.
[0128]
The adding unit 28b adds the difference absolute value sum A output from the difference absolute value sum A storage unit 22b-1 and the difference absolute value sum A output from each of the eight adjacent elements 20b, and performs comparison update. To the unit 26b.
[0129]
As described above, the element 2b corresponds to the pixel of interest 21b-T and the other four pixels stored (pixel 21b-T + 2, pixel 21b-T + 1, pixel 21b-T-1, pixel 21b-T-2). , Each difference absolute value can be calculated. Moreover, the calculation which calculates | requires the sum total of each difference absolute value can also be performed.
[0130]
In block matching of the image processing apparatus 1b according to the present embodiment, due to wiring between elements, as shown in FIG. 15A, 8 of the element of interest (for example, the element 20b-5 in FIG. 15A). The sum of absolute differences A stored in the neighboring elements (elements 20b-1 to 4, 6-9 in FIG. 15A) can be sent to the element 20b-5 of interest.
[0131]
Each element 20b has a process of receiving and adding all the nine difference absolute value sums A. Therefore, in the element of interest, the sum of the difference absolute value sum A (difference absolute value sum B) can be obtained and stored.
[0132]
However, a comparison with the sum of absolute differences held in advance is performed, and the value is updated only when the difference is small.
When the sum of the absolute differences is updated, the five pixels (pixel 21b-T, pixel 21b-T + 2, pixel 21b-T + 1, pixel 21b-T-1, pixel 21b-T-2) stored at that time are updated. Are stored in advance in the corresponding pixel 210b-T, the corresponding pixel 210b-T + 2, the corresponding pixel 210b-T + 1, the corresponding pixel 210b-T-1, and the corresponding pixel 210b-T-2, respectively. Update everything from
[0133]
FIG. 16A is a diagram showing the phases of the search range spT + 2 (9 × 9) of the frame T + 2 and the search region tpT + 2. FIG. 16B is a diagram showing the phases of the search range spT + 1 (7 × 7) of the frame T + 1 and the search region tpT + 1. FIG. 16C shows the phase of the search range spT-1 (7 × 7) in the frame T-1 and the search region tpT-1. FIG. 16D shows the phase of the search range spT-2 (9 × 9) of the frame T-2 and the search region tpT-2. FIG. 16E is a diagram for explaining the process of updating the phase and reading the search area tp of the image processing apparatus 1b shown in FIG.
[0134]
The controller 100b sets phase coordinates as shown in FIGS. The horizontal axis is the x axis, and the vertical axis is the y axis.
As illustrated in FIG. 16E, the control unit 100b sequentially sets (−1, −1), (0, −1), (1, −1), (−, for example, with reference to the phase of the search region tpT + 1. 1, 0), (0, 0), (0, 1), (-1, 1), (0, 1), (1, 1) and updates the search range sp of each frame accordingly. The search area tp is updated.
[0135]
In this case, the motion vector corresponds to each of the phases, (-1, -1), (0, -1), (1, -1), (-1, 0), (0, 0). ), (0, 1), (-1, 1), (0, 1), (1, 1).
[0136]
The control unit 100b stores one pixel of the search region tpT + 2 in the pixel 21b-T + 2 portion of each element 20b, stores one pixel of the search region tpT + 1 in the pixel 21b-T + 1 portion of each element 20b, One pixel of the search region tpT-1 is stored in the pixel 21b-T-1 portion of the element 20b, and one pixel of the search region tpT-2 is stored in the pixel 21b-T-2 portion of each element 20b.
[0137]
FIG. 17 is a flowchart for explaining the operation of the image processing apparatus shown in FIG. In this case, the element of interest is assumed to be one of the elements in which the corresponding pixel is actually stored in FIG. It is assumed that the target pixel is not an element at the end of the memory.
[0138]
First, each pixel in an arbitrary 5 × 5 reference region tr is stored for each element 20b in the memory 2b from the frame memory T that is assumed to have a frame in which the pixel of interest exists. Here, in FIG. 15C, one pixel of the reference region tr is stored in the pixel 20b-T of each element 20b (ST101).
[0139]
Next, within the search range sp from each of the frame memory 3b-T + 2, the frame memory 3b-T + 1, the frame memory 3b-T-1, and the frame memory 3b-T-2 which are temporally shifted from the target frame shown in FIG. While updating the phase, the 5 × 5 area is read and each pixel in the area is stored for each element 20b in the memory 2b (ST102).
[0140]
This 5 × 5 area is named “search area tp”. However, as described above, the phase of the search area tp read from each frame memory is always on a straight line in the space-time as shown in FIG.
Therefore, instead of updating the phase for each frame, the other phases are uniquely determined by updating on the basis of one certain frame.
[0141]
For example, on the basis of the phase of the search region tpT + 1, when the spatial phase of the search region tpT + 1 is (1, 1), the spatial phase of the search region tpT + 2 read from the frame memory T + 2 is (2, 2). The spatial phase of the search area tpT-1 read from the frame memory T-1 is (-1, -1), and the spatial phase of the search area tpT-2 read from the frame memory T-2 is (-2, -2).
[0142]
For example, as illustrated in FIG. 16, the control unit 100 b updates the phase and reads the search region tp nine times in the range of (−1, −1) to (1, 1) with reference to the search region tpT + 1. It ends when it ends.
[0143]
One pixel of the search region tpT-1 is stored in the pixel 21b-T-1 of each element 20b (ST103). One pixel of the search region tpT-2 is stored in the pixel 21b-T-2 held by each element 20b (ST104). One pixel of the search region tpT + 1 is stored in the pixel 21b-T + 1 held by each element 20b (ST105). One pixel of the search region tpT + 2 is stored in the pixel 21b-T + 2 of each element 20b (ST106).
The order of steps ST103 to ST106 described above may not be this order.
[0144]
Next, in each element 20b, the subtractor 24b-2 and the absolute value generation unit 25b-2 have a difference absolute value a between the value stored in the difference pixel 21b-T and the value stored in the pixel 21b-T-1. Is calculated (ST107). Similarly, in each element 20b, the subtractor 24b-1 and the absolute value generation unit 25b-1 calculate the difference absolute value b between the value stored in the pixel 21b-T and the value stored in the pixel 21b-T-2. Calculate (ST108). Similarly, in each element 20b, the subtractor 24b-3 and the absolute value generation unit 25b-3 calculate the difference absolute value c between the value stored in the pixel 21b-T and the value stored in the pixel 21b-T + 1. (ST109). Similarly, in each element 20b, the subtractor 24b-4 and the absolute value generation unit 25b-4 calculate a difference absolute value d between the value stored in the pixel T and the value stored in the pixel T + 2 (ST110).
The order of steps ST107 to 110 described above may not be this order.
[0145]
Next, the adder 250 calculates the sum of the absolute difference values a, b, c, and d, generates an absolute difference total A, and stores it in the absolute difference total A storage unit 22b-1 (ST111).
Next, assuming that an element in the vicinity of 8 of each element of interest connected by the wiring, for example, the element of interest is the element 20b-5 shown in FIG. 15, the elements 20b-1 to 9 in the vicinity of 8 of the element 20b-5 respectively. The element 20b-5 of interest reads the difference absolute value sum A stored in FIG.
For example, in the element of interest 20b-5, the adding unit 28b adds the difference absolute value sum A output from the adder 250 and obtains the sum as the difference absolute value sum B (ST112). It outputs to the comparison update part 26b.
[0146]
Next, in each element of interest 20b, the comparison / update unit 26b compares the difference absolute value sum (difference absolute value sum C) and the difference absolute value sum B stored in advance in the difference absolute value sum B storage unit 22b-2. If the difference absolute value sum B is small (ST113), the stored value is updated from the difference absolute value sum C to the difference absolute value sum B (ST 114, 115). Conversely, when the absolute difference sum C is large, the update is not performed, and the process proceeds to the next phase update and the search area tp reading. The process returns to step ST102. In the initial state, the sum of absolute differences C is not stored in the element of interest 20b. In that case, the first sum of absolute differences B is stored unconditionally.
[0147]
Next, in the update unit 27b of a certain element of interest 20b, only when the difference absolute value sum stored in the difference absolute value sum B storage unit 22b-2 is updated, the pixel 21b-T, the pixel 21b-T + 2, the pixel 21b-T + 1, pixel 21b-T-1, and pixel value stored in pixel 21b-T-2 are represented by corresponding pixel 210b-T, corresponding pixel 210b-T + 2, corresponding pixel 210b-T + 1, and corresponding pixel 210b-T, respectively. −1, the corresponding pixel 210b-T-2 is stored again. That is, the corresponding pixel stored in the target element 20b is updated as a true corresponding pixel (ST116).
[0148]
As described above, at the time when the phase update is completed, each of the nine target elements 20b stores the minimum value of the pixel difference absolute value sum B in the search range sp and the corresponding pixel updated when it is stored. (ST117).
On the other hand, if it is determined in step ST117 that the phase update has not been completed, the process returns to step ST102.
[0149]
As shown in FIG. 12, this calculation itself indicates to which position within the search range sp the nine 3 × 3 blocks cut out from the reference region tr have moved to at the time T between the 3 × 3 blocks. This is obtained based on the sum of absolute differences.
[0150]
In this state, in this respect, it is the same as the case of “block matching” of the image processing apparatus 1a according to the second embodiment, but the image processing apparatus 1b according to the third embodiment The central pixel of the block is directly stored and output as the “corresponding pixel” of the target pixel.
Unlike block matching between two frames, the calculation assuming the constant velocity of motion between five frames improves the detection accuracy of “corresponding pixels” even when there is noise in the image. This also has good affinity for noise removal by the class classification adaptive processing.
[0151]
Finally, for example, the reading unit 4 reads and outputs the corresponding pixels in these five frames from each element of interest. For example, the output result is used for class classification adaptation processing described later.
[0152]
It is not restricted to the form mentioned above. For example, in the present embodiment, a memory that extracts and outputs corresponding pixels when the search range sp is (−1, −1) to (1, 1) in a pixel unit with a 3 × 3 block size is described. However, the present invention is not limited to this.
[0153]
For example, by changing the wiring between each element so as to connect the peripheral 5 × 5 element to the target element, it is possible to process with a larger block size of 5 × 5.
Further, although the case where the total number of elements in the memory 2b is 5 × 5 has been described, for example, when the memory is provided with the number of elements corresponding to the total number of pixels in one frame, the corresponding pixels for all the pixels are updated in phase. It is obtained at a time when ending is completed.
[0154]
Fourth embodiment
Class classification adaptive processing using corresponding pixel detection
FIG. 18 is a functional block diagram of the fourth embodiment of the image processing apparatus according to the present invention.
The image processing apparatus 1c according to the fourth embodiment performs noise removal by class classification adaptive processing using the memory 2b of the image processing apparatus 1b according to the third embodiment.
[0155]
Class classification adaptive processing is a process of degrading a high-quality original image (also called a teacher image) to create a low-quality deteriorated image (also called a student image), and performing statistical learning between the teacher image and the student image. This process is performed by using the learned data, and converting and outputting a high-quality image even when a deteriorated image is input.
[0156]
The class classification adaptive processing and noise removal by the classification processing have already been described in detail in application number 410304058, but the image processing apparatus 1c according to the present embodiment specifically performs the above-described processing using a memory.
In addition, as an example, an input image in the SD (Standard) format is assumed, but the same processing is possible in other formats.
[0157]
Learning
As shown in FIG. 18, the image processing apparatus 1c according to the fourth embodiment includes a memory 2b, a plurality of frame memories 3b, for example, frame memories 3b-T + 2, T + 1, T, T-1, T-2, and reading. Unit 4c, noise adding unit 5, class code generating unit 6, normal equation adding unit 7, coefficient storage unit (RAM) 8, and control unit 100c.
[0158]
The major difference between the image processing device 1c and the image processing device 1b according to the third embodiment is that a noise adding unit 5, a class code generating unit 6, a normal equation adding unit 7, and a coefficient storage unit (RAM) 8 are used. It is a point which has further. Only the differences will be described.
[0159]
The noise adding unit 5 adds a noise component to the input image. For example, the noise adding unit 5 generates and adds random noise by computer simulation.
[0160]
FIG. 19 is a functional block diagram showing a first specific example of the noise adding unit of the image processing apparatus 1c shown in FIG.
The noise adding unit 5-1 according to the first specific example includes an RF modulator (RF MODUATOR) 51, an attenuator attenuator 52, and an RF demodulator (RF DEMODULATOR) 53 as shown in FIG.
[0161]
In the noise adding unit 5-1, an RF modulator (RF MODULATOR) 51 performs RF modulation processing according to an input image, for example, an SD image, attenuates it by an attenuator attenuator 52, and performs RF demodulation by an RF demodulator (RF DEMODULATOR) 53. Process and add noise.
[0162]
FIG. 20 is a functional block diagram showing a second specific example of the noise adding unit of the image processing apparatus 1c shown in FIG.
The noise adding unit 5-2 according to the second specific example includes an RF modulator 51, an attenuator attenuator 52, an RF demodulator 53, a subtractor 54, and an adder 55 as shown in FIG.
[0163]
In the noise adding unit 5-2, an RF modulator (RF MODUTOR) 51 performs an RF modulation process on an image with a uniform background (uniform level), attenuates it by an attenuator attenuator 52, and an RF demodulator (RF DEMODULATOR). The RF demodulating process is performed by 53, the subtractor 54 performs the difference process with the original image having a uniform background, and outputs only the noise component to the adder 55. The adder 55 inputs the noise component. It is added to the image (SD image) and output.
[0164]
FIG. 21 is a functional block diagram showing a third specific example of the noise adding unit of the image processing apparatus 1c shown in FIG.
As shown in FIG. 21, the noise adding unit 5-3 according to the third specific example includes an RF modulator 51, an attenuator 52, an RF demodulator 53, a subtractor 54, and an adder. 55 and a frame adder 56.
[0165]
In the noise adding unit 5-3, the RF modulator 51 performs RF modulation processing on an image having a uniform background (level is uniform), attenuates it by an attenuator attenuator 52, performs RF demodulation processing by an RF demodulator 53, The difference between the image from which noise has been removed by the frame adder 56 and the subtracter 54 and the original image is taken, and only the noise component is extracted. The adder 55 adds this noise component to the input image (SD image). Is output.
[0166]
The reading unit 4 c reads the corresponding pixel for each element and outputs it to the class code generating unit 6 and the normal equation adding unit 7.
[0167]
The class code generation unit 6 detects a noise component based on the value of the corresponding pixel for each element output from the reading unit 4c, generates a class code, and outputs the class code to the normal equation addition unit 7.
[0168]
FIG. 22 is a diagram for explaining the principle of generating a class code (noise component detection) of the class code generation unit of the image processing apparatus 1c shown in FIG.
[0169]
For example, as shown in FIG. 22, the class code generation unit 6 detects a noise component for each corresponding pixel sequentially output from the memory 2b, and describes and generates it as a class code.
One corresponding pixel extracted by the memory 2b can basically be regarded as the same pixel pushed out following the movement between the five frames from time T-2 to T + 2, so that deterioration such as blur is seen in a fast movement. In some cases, there is basically no temporal variation.
[0170]
Therefore, if there is a variation in the value in the corresponding pixel that is output, it can be regarded as noise. Therefore, by describing the noise variation as a class code, a prediction calculation described later according to the noise variation can be performed.
[0171]
The class code generation unit 6 obtains the maximum value b and the minimum value a of the five pixels in the corresponding pixel, and codes according to the maximum value b and the minimum value, for example, an average value, specifically, (minimum value a + maximum An average value code is generated such that the value is 1 if the level of each corresponding pixel is higher than the value b) / 2 and 0 if it is lower. For example, the average code is “10100” in the case shown in FIG.
[0172]
Further, the class code generation unit 6 obtains a dynamic range (maximum value b−minimum value a) in the corresponding pixel, expresses it in binary, and generates a dynamic range code.
[0173]
For example, when the dynamic range is 18, the dynamic range code is “10010”.
The class code generation unit 6 combines the average value code and the dynamic range code to generate a class code.
[0174]
For example, in the case described above, the average value code “10100” and the dynamic range code “10010” are synthesized to generate the class code “1010010010”.
Here, the average value code is the time variation of the noise, and the dynamic range code expresses the magnitude of the noise level.
The image processing apparatus 1c can perform processing corresponding to noise fluctuation and level accurately by classifying each code.
[0175]
Specifically, the normal equation adding unit 7 generates a normal equation for each class code output from the class code generating unit 6 based on the corresponding pixel output from the reading unit 4 and the pixel of the teacher image, Generate prediction coefficients for each class code.
[0176]
Specifically, the normal equation adding unit 7 sets the corresponding pixel to XT + 2, XT + 1, XT, XT-1, XT-2The corresponding pixel X of the frame memory TTA normal equation as shown in Equation (2) is generated with y being the pixel at the same position from the teacher image before adding noise.
[0177]
[Expression 2]
Figure 0003941644
Figure 0003941644
[0178]
Where aT + 2, AT + 1, AT, AT-1, AT-2Is the prediction coefficient to be estimated.
The normal equation adding unit 7 generates a normal equation by substituting the corresponding pixel and the teacher image pixel for each class into the equation (2), and when the required number of normal equations is obtained, this is performed by least square estimation. Estimate the prediction coefficient.
[0179]
The normal equation addition unit 7 determines a prediction coefficient for each class code and outputs the prediction coefficient to the coefficient storage unit (RAM) 8.
The coefficient storage unit (RAM) 8 stores the prediction coefficient for each class code output from the normal equation addition unit 7.
[0180]
The control unit 100c reads the reference area tr from the images held in the frame memories T-2, T-1, T, T + 1, and T + 2 and stores them in the memory 2c. Further, the search range sp corresponding to the read reference region tr is set in another frame memory, and the search region tp is read and stored in the memory 2c while updating the phase.
[0181]
The control unit 100c sequentially reads out the reference area tr to be read out in the order of, for example, raster scan while appropriately shifting the phase in the frame memory T, and the memory 2c finally stores all the pixels in the frame memory. The corresponding pixel can be output.
[0182]
FIG. 23 is a diagram for describing a procedure that the image processing apparatus 1c illustrated in FIG. 18 should read out to the memory in the reference area tr for the class classification adaptation process. FIG. 23A shows a state before the shift. FIG. 23B is a diagram illustrating a state after the shift.
[0183]
For example, when the memory 2b is 5 × 5, the control unit 100c shifts by 3 × 3 pixels and cuts out the reference area tr as shown in FIGS. 23A and 23B. Obtained at all pixel locations in T. For this reason, all the pixels of the frame memory T can be processed. In this case, for reading of one reference region tr, the memory 2c obtains nine corresponding pixels having different phases and sequentially outputs the nine corresponding pixels.
[0184]
The operation of the image processing apparatus having the above-described configuration will be briefly described only with respect to differences.
The noise adding unit 5 adds a noise component to the input image.
The frame memories T-2, T-1, T, T + 1, and T + 2 sequentially store input images to which noise components have been added.
[0185]
In the control unit 100c, the pixel value and phase information of the pixels in the search region tp within the predetermined search range sp are read from each frame memory and output to the memory 2b.
In the reading unit 4c, the corresponding pixel for each element 20b of the memory 2b is read and output to the class code generating unit 6 and the normal equation adding unit 7.
[0186]
The class code generation unit 6 detects a noise component based on the value of the corresponding pixel for each element output from the reading unit 4c, and generates a class code by a predetermined process as shown in FIG. It is output to the equation adding unit 7.
[0187]
In the normal equation adding unit 7, for each class code, a normal equation is generated by the predetermined processing described above based on the corresponding pixel output from the reading unit 4 and the pixel of the teacher image, and the prediction coefficient for each class code is determined. It is generated and stored in the coefficient storage unit (RAM) 8.
[0188]
As described above, in the image processing device 1c according to the present embodiment, the noise adding unit 5 that adds a noise component to the input image and the frame memories 3b-T + 2, T + 1, T, T-1, and T-2. A memory 2b, a reading unit 4c that reads out a corresponding pixel for each element in the memory 2b, a class code generation unit 6 that generates a class code according to the corresponding pixel, a class code, a corresponding pixel, and an input pixel Accordingly, a normal equation adding unit 7 for generating a normal equation and generating a prediction coefficient in response, a coefficient storage unit (RAM) 8 for storing the prediction coefficient, and a control unit 100c for performing a predetermined control are provided. A noise component is added to the input image, and learning can be performed by generating a class code based on the input image and the image with the noise component added.
This learning result information is used, for example, when an original high-quality image is generated from an image to which a noise component is added by the image processing apparatus according to the fifth embodiment.
[0189]
Fifth embodiment
prediction
FIG. 24 is a functional block diagram of the fifth embodiment of the image processing apparatus according to the present invention.
The image processing apparatus 1d according to the present embodiment estimates the noise component of the input image using, for example, the class code described in the image processing apparatus 1c according to the fourth embodiment, and the original high-quality image. Is generated.
[0190]
For example, as shown in FIG. 24, the image processing apparatus 1d includes a memory 2d, a plurality of frame memories 3b, for example, frame memories 3b-T + 2, T + 1, T, T-1, T-2, a reading unit 4c, and a class code generating unit. 6, a coefficient storage unit 8d, an estimation calculation unit 9, and a control unit 100d
[0191]
A major difference between the image processing apparatus 1d according to the present embodiment and the image processing apparatus 1c according to the fourth embodiment is that the coefficient storage unit 8d and the estimation calculation unit 9 are provided.
[0192]
When the noise prediction process is performed, the control unit 100d of the image processing apparatus 1d holds five frames of the input image (the current frame and two frames before and after) in the frame memories 3b-T + 2 to T-2.
[0193]
The control unit 100d reads the reference area tr from the image held in each frame memory 3bT and stores it in the memory 2d.
The control unit 100d sets the search range sp corresponding to the read reference region tr to the other frame memories 3b-T-2, T-1, T + 1, T + 2, and updates the phase while searching for the search region tp. Are read and stored in the memory 2d.
[0194]
The control unit 100d sequentially reads out the reference area tr to be read out in the order of, for example, raster scan while shifting the phase in a predetermined order in the frame memory T, and the memory 2d is finally stored in the frame memory. Output the corresponding pixels of all pixels.
[0195]
For example, when the memory 3d is 5 × 5, the control unit 100d shifts by 3 × 3 pixels and cuts out the reference area tr as shown in FIGS. 23A and 23B. Corresponding pixels are obtained at all pixel positions. For this reason, all the pixels of the frame memory T can be processed. In this case, for reading out one reference region tr, the memory 2d obtains nine corresponding pixels having different phases and sequentially outputs the nine corresponding pixels.
[0196]
The class code generation unit 6 generates a class code for each corresponding pixel sequentially output from the memory 2d based on the noise component of the pixel.
[0197]
The coefficient storage unit (ROM) 8d stores, for example, a prediction coefficient for each class code stored in the coefficient storage unit 8 during learning by the image processing device 1c according to the fourth embodiment.
The coefficient storage unit 8d outputs a prediction coefficient corresponding to the stored class code in accordance with the class code output from the class code generation unit 6.
[0198]
The estimation calculation unit 9 estimates and outputs a predicted value according to the prediction coefficient and the corresponding pixel output from the coefficient storage unit 8d.
Specifically, the estimation calculation unit 9 outputs the prediction coefficient a output from the coefficient storage unit 8d.T + 2, AT + 1, AT, AT-1, AT-2And corresponding pixel XT + 2, XT + 1, XT, XT-1, XT-2In response to this, for example, the predicted value y is calculated and output according to the above-described equation (2). This expected value y is a pixel value from which a noise component has been removed.
[0199]
The operation of the image processing apparatus having the above-described configuration will be briefly described only with respect to differences.
The control unit 100d stores the input image to which the noise component is added in the frame memories T-2, T-1, T, T + 1, and T + 2.
[0200]
In the control unit 100d, the pixel value of the pixel in the search region tp within the predetermined search range sp and the phase information are read from each frame memory and output to the memory 2d.
In the reading unit 4c, the corresponding pixel for each element 20d of the memory 2d is read and output to the class code generation unit 6 and the estimation calculation unit 9.
[0201]
In the class code generation unit 6, a noise component is detected based on the value of the corresponding pixel for each element output from the reading unit 4c, and a class code is generated by a predetermined process as shown in FIG. It is output to the calculation unit 9.
[0202]
The estimation calculation unit 9 performs the predetermined processing described above according to the prediction coefficient and the corresponding pixel output from the coefficient storage unit (ROM) 8d, and estimates and outputs the predicted value.
[0203]
As described above, in the image processing apparatus 1d according to the present embodiment, the frame memory 3b-T + 2, T + 1, T, T-1, T-2, the memory 2d, and each element in the memory 2d A reading unit 4c that reads out the corresponding pixel, a class code generation unit 6 that generates a class code according to the corresponding pixel, a coefficient storage unit (ROM) 8d that stores a coefficient according to the class code, and a coefficient storage unit (ROM ) Since the estimation calculation unit 9 for generating the predicted value and the control unit 100d for performing the predetermined control are provided according to the prediction coefficient and the corresponding pixel output from 8d, the noise held in the frame memory T is reduced. It is possible to output a pixel from which noise is removed in units of one pixel for a certain input image.
[0204]
Further, with the configuration described above, it is possible to directly search for and output pixels and the like necessary for the class classification adaptive processing. Thereby, for example, it is possible to simplify the procedure of performing phase correction using a motion vector after detecting a motion vector and extracting necessary pixels.
[0205]
Sixth embodiment
FIG. 25 is a functional block diagram of the sixth embodiment of the image processing apparatus according to the present invention. 26A is a configuration diagram of the memory of the image processing apparatus shown in FIG. 25, FIG. 26B is a diagram showing an element in which an expected pixel of the memory shown in FIG. 26A is stored, and FIG. FIG. 27C is a functional block diagram of the memory element shown in FIG.
[0206]
As shown in FIG. 25, the image processing apparatus 1e according to the present embodiment includes a memory 2e, a plurality of frame memories 3b, for example, frame memories 3b-T + 2, T + 1, T, T-1, T-2, and a coefficient storage unit. (ROM) 8e and a control unit 100e.
[0207]
The image processing device 1e has the class classification adaptive processing function of the image processing device 1d according to the fifth embodiment in each of the elements 20e of the memory 2e. Only the differences will be described.
[0208]
For example, as shown in FIG. 26A, the memory 2e includes 5 × 5 elements 20e-1 to 25e, and each element 20e is connected by wiring.
[0209]
As shown in FIG. 26C, the element 20e includes a plurality of pixels 21b, for example, pixels 21b-T, T + 2, T + 1, T-1, and T-2, a difference absolute value sum A storage unit 22b-1, and a difference absolute Value sum B storage unit 22b-2, a plurality of subtractors 24b, for example, subtracters 24b-1 to 4, a plurality of absolute value generation units 25b, for example, absolute value generation units 25b-1 to 4, an adder 250, a comparison update unit 26e, a class code generation unit 6e, an estimation calculation unit 9e, and an addition unit 28b.
[0210]
The class code generation unit 6e receives the update information indicating that the difference absolute value sum has been updated from the comparison update unit 26e and the pixel values output from the pixels 21b-T, T + 2, T + 1, T-1, and T-2. In response, a class code is generated and output to the coefficient storage unit (ROM) 8e.
[0211]
Specifically, when the update information indicating that the difference absolute value sum is updated is input from the comparison update unit 26e, the class code generation unit 6e receives the pixels 21b-T, T + 2, T + 1, T-1, and T. A class code corresponding to the pixel value output from -2 is generated and output to the coefficient storage unit (ROM) 8e.
[0212]
The estimation calculation unit 9e estimates the prediction value based on the prediction coefficient output from the coefficient storage unit (ROM) 8e and the pixels output from the pixels 21b-T, T + 2, T + 1, T-1, and T-2. And output.
[0213]
The operation of the image processing apparatus 1e having the above-described configuration will be briefly described only with respect to differences. When the noise prediction process is performed, the control unit 100e holds 5 frames of the input image (the current frame and 2 frames before and after) in each of the frame memories 3b-T + 2 to T-2.
[0214]
The control unit 100e reads the reference area tr from the image held in each frame memory 3bT and stores it in the memory 2e.
The control unit 100e sets the search range sp corresponding to the read reference region tr in the other frame memories 3b-T-2, T-1, T + 1, T + 2, and updates the phase while searching for the search region tp. Are stored in the memory 2e.
[0215]
The control unit 100e sequentially reads out the reference area tr to be read out in the order of raster scan, for example, while shifting the phase in a predetermined order in the frame memory T, and the memory 2e is finally stored in the frame memory. The corresponding pixels of all pixels can be output.
[0216]
In the element 20e in the memory 2e, in the class code generation unit 6e, when update information indicating that the difference absolute value sum has been updated is input from the comparison update unit 26e, the pixels 21b-T, T + 2, T + 1, T A class code corresponding to the pixel value output from −1 and T−2 is generated and output to the coefficient storage unit (ROM) 8e.
[0217]
In the coefficient storage unit (ROM) 8e, the stored coefficient is output to the estimation calculation unit 9e in accordance with the class code output from the class code generation unit 6e.
The estimation calculation unit 9e estimates the prediction value based on the prediction coefficient output from the coefficient storage unit (ROM) 8e and the pixels output from the pixels 21b-T, T + 2, T + 1, T-1, and T-2. And output.
[0218]
The estimation calculation unit 9 performs the above-described predetermined processing according to the prediction coefficient output from the coefficient storage unit (ROM) 8e and the corresponding pixel, and estimates the prediction value, for example, outputs it to a frame memory or the like.
[0219]
As described above, in the image processing device 1e according to the present embodiment, the class code adaptive processing function is provided by further providing the class code generation unit 6e and the estimation calculation unit 9e for each element 20e of the memory 2e. Can be given.
[0220]
Specifically, every time the sum of absolute differences is updated, noise generated by the class classification adaptation process using the pixels stored in the pixel T, the pixel T + 1, the pixel T + 2, the pixel T-1, and the pixel T-2. Removal is performed and the predicted pixel is output each time. If the value is changed in another frame memory each time a pixel is output, an image after noise removal is finally obtained.
[0221]
Note that the present invention is not limited to the present embodiment, and various suitable modifications can be made.
For example, the image processing apparatus 1c according to the fourth embodiment may be combined with the image processing apparatus 1d according to the fifth embodiment. By doing so, it is possible to learn a noise component, generate a class code, estimate the noise component according to the generated class code, and generate a high-quality image.
[0222]
Seventh embodiment
Plain matching
FIG. 27 is a conceptual diagram for explaining the operation of the seventh embodiment of the image processing apparatus according to the present invention.
For example, as shown in FIG. 27A, when objects ob1 and ob2 that move over time exist in the input image and a reference block of a predetermined size is set, FIG. As shown in FIG. 2, there are cases where a plurality of objects are included in the reference block.
[0223]
In block matching, a motion vector is captured as the motion of the entire block, so the motion (object ob1) originally possessed by the pixel of interest of the reference block becomes the motion vector of another object (object ob2). In some cases, an intermediate movement between the two objects is obtained.
[0224]
The image processing apparatus according to the present embodiment performs plane matching, which will be described later, and generates an accurate motion vector even when a plurality of objects are included in the reference block.
[0225]
FIG. 28 is a conceptual diagram for explaining the operation of plane matching in the seventh embodiment of the image processing apparatus according to the present invention. The plane matching operation of the image processing apparatus will be described with reference to FIG.
[0226]
In the plane matching, for example, when objects ob1 and 2 exist as shown in FIG. 28A, a reference block is set as shown in FIG. 28B, and the reference is shown as shown in FIG. From the block, pixels of the same object as the target pixel are extracted, and matching is performed based on the extracted pixels.
Extracting pixels for the same object from the image for plane matching is called “plane separation”.
[0227]
FIG. 29 is a functional block diagram of the seventh embodiment of the image processing apparatus according to the present invention.
As shown in FIG. 29, the image processing device 1f according to the present embodiment includes a memory 2f, a plurality of frame memories 3f, for example, frame memories 3f-T and T-1, a reading unit 4f, a control unit 100f, and plane separation. Part 110. Only the differences will be described.
[0228]
For example, as shown in FIG. 29, the memory 2 f has the number of elements of almost the entire screen as (w−2) × (h−2) when the size of the input image is w × b.
In order to search for a motion vector, the image processing device 1f performs plane separation processing on the entire screen of the frame memory 3f-T-1 in advance, for example, and stores plane information of each pixel in all elements in the memory 2f. Perform the process.
[0229]
The frame memory 3f-T stores a frame at time T. The frame memory 3f-T is, for example, a frame memory having a size of the search range sp (w × h). For example, the control unit 100f performs a frame memory 3f-T within a predetermined search region tp (w-2) × (h-2). Pixels are read out and output to the memory 2f.
[0230]
The frame memory 3f-T-1 stores the frame at time T-1. The frame memory 3f-T-1 is a frame memory having a size of, for example, w × h. For example, the control unit 100f reads pixels in a predetermined reference region tr (w-2) × (h-2). And output to the memory 2f.
[0231]
The reading unit 4f reads and outputs a motion vector stored for each element of the memory 2f.
The plane separation unit 110 performs a later-described plane separation process based on the image data stored in the frame memory 3f-T-1, and outputs the plane information as a result of the process to the memory 2f.
The control unit 100f performs a predetermined process described later.
[0232]
Each component will be described in detail below.
Memory configuration
FIG. 30A schematically shows a memory of the image processing apparatus shown in FIG. FIG. 30B is an enlarged view of a part of FIG. FIG. 30C is a functional block diagram of the elements of the memory shown in FIG.
[0233]
As shown in FIGS. 30A and 30B, the memory 2f includes a plurality of elements 20f.
As shown in FIG. 30C, the element 20f includes a pixel 20-1, a pixel 20-2, a pixel difference storage unit 22f-1, a difference sum storage unit 22f-2, a motion vector storage unit 23, a subtractor 24, An absolute value generation unit 25, a comparison update unit 26f, an update unit 27, an addition unit 28f, a plane information storage unit 29, and a switch 30 are provided.
[0234]
For example, as shown in FIG. 15, the memory 2 f has eight neighboring elements (elements 20 f-1 to 4, 6 to 9 in FIG. 15) by wiring between the elements 20 f. ) Is output to the element of interest. However, the switch 30 determines whether or not to output for each element 20f.
[0235]
Further, the memory 2f can store not only one pixel but two pixels as well as the memory 2a according to the first embodiment, and can calculate the absolute value of the difference between them. Also, the absolute value of the difference that is the result is stored.
Further, the point that “plane information” corresponding to the pixels stored in the present embodiment can be stored is different from the image processing apparatus according to the second embodiment.
Only the differences between the components will be described below.
[0236]
The pixel difference storage unit 22f-1 outputs the stored difference absolute value to the addition unit 28f.
The difference sum storage unit 22f-2 updates the difference sum storage unit 22a-2 based on the sum of the data output from the addition unit 28f and the sum total absolute value stored in the difference sum storage unit 22a-2. Output to.
[0237]
The adder 28f adds them based on the data output from the switch 30 and the sum difference absolute value stored in the pixel difference storage unit 22f-1, and outputs the result to the comparison update unit 26f.
[0238]
The comparison update unit 26f compares the difference absolute value sum A output from the addition unit 28f with the difference absolute value sum (referred to as difference absolute value sum B) stored in the difference sum storage unit 22a-2. If the difference absolute value sum A is small as a result of the comparison, the difference absolute value sum A is stored in the difference sum storage unit 22f-2, and the difference absolute value sum is updated.
[0239]
When the above-described update is performed, the comparison update unit 26f outputs update information indicating that the update has been performed to the update unit 27.
When the difference absolute value sum A is large as a result of the comparison, the comparison update unit 26f does not update the difference absolute value sum B stored in the difference sum storage 22a-2.
[0240]
The update unit 27f updates the motion vector stored in the motion vector storage unit 23 based on the update information and the phase information output from the comparison update unit 26f.
Specifically, when the update information indicating that the difference absolute value has been updated is output from the comparison update unit 26f, the update unit 27f stores the phase at that time in the motion vector storage unit 23 as a motion vector. Thus, the motion vector is updated.
[0241]
The adding unit 28f includes the absolute difference value a output from the pixel difference storage unit 22a-1 and each of the eight elements 20a (also referred to as the eight adjacent elements 20a) output from the switch 30 in the vicinity of the pixel. Based on the difference absolute value a, they are added to generate the difference absolute value sum A and output to the comparison update unit 26f.
The plane information storage unit 29 stores plane information described later.
[0242]
The switch 30 has a role of a gate that determines whether the plane information matches and outputs the absolute difference value a of each element 20f to the adder 28f.
For example, the switch 30 outputs the absolute difference value to the adder 28f according to the plane information of the element 20f of interest and the plane information of the other eight neighboring elements 20f.
[0243]
Specifically, the switch 30 includes plane information stored in the plane information storage unit 29 of the element 20f of interest, and plane information stored in the plane information storage unit 29 of each of the other eight neighboring elements 20f. If they match, the difference absolute value stored in the pixel difference storage unit 22f-1 is output to the addition unit 28f, and if they do not match, they are stored in each of the eight neighboring elements 20f. The absolute value of the difference value that has been set is not output to the adder 28f.
[0244]
When the sum total of each element 201 is updated, the motion vector (motion vector) at that time is also updated from the one stored in advance.
[0245]
Plane separation and plane information
FIG. 31 is a diagram for explaining the processing of the plane separation unit of the image processing apparatus shown in FIG.
Each element such as the background and each object in the input image is called a plane. Further, separation into each plane is called plane separation.
[0246]
For example, as illustrated in FIG. 31, the plane separation unit 110 assigns a predetermined value (label) to each plane separated, such as “allocate LEVEL 1 to plane 1”. The plane information that indicates which plane each pixel in the image belongs to is called plane information.
Hereinafter, a specific example of the plane separation method will be described.
[0247]
FIG. 32 is a functional block illustrating a specific example of the plane separation unit of the image processing apparatus 1f.
For example, the plane separation unit 110 separates an input image into predetermined planes using the fact that the brightness and color inside the same object and background in the image are at the same level.
[0248]
For example, as illustrated in FIG. 32, the plane separation unit 110 includes a histogram calculation unit 111, a peak detection unit 112, a valley detection unit 113, an erasure unit 114, a valley integration unit 115, and a labeling unit 116.
[0249]
The histogram calculation unit 111 generates and holds a histogram (frequency distribution) for each level (luminance or color) according to the input image.
FIG. 33 is a diagram illustrating a specific example of a histogram generated by the histogram calculation unit 111 of the plane separation unit of the image processing device 1f illustrated in FIG. The horizontal axis indicates the level, and the vertical axis indicates the histogram (frequency).
[0250]
The histogram calculation unit 111 generates a histogram according to the input image, for example, as shown in FIG.
The histogram calculation unit 111 outputs the generated histogram (frequency distribution) to the peak detection unit 112.
[0251]
Based on the input histogram, the peak detector 112 detects the maximum frequency level (peak) in the histogram and outputs it to the valley detector 113. For example, the peak detecting unit 112 detects the maximum frequency level (peak) in the histogram based on the histogram output from the histogram calculating unit 111 or the histogram output from the erasing unit 114, and detects valleys. Output to the unit 113.
[0252]
The valley detection unit 113 specifies, for example, the frequency of an object including the peak based on the peak of the histogram.
For example, the valley detection unit 113 detects two valleys on both sides of the level peak in the histogram based on the maximum frequency level (peak) output from the peak detection unit 112.
[0253]
Specifically, the valley detecting unit 113 sets the point with the lowest frequency in the predetermined range centered on the peak, for example, + a as the right valley, and is the most in the predetermined range, for example, −a. The point with less frequency is the valley on the left.
[0254]
For example, the erasing unit 114 erases the frequency of an object including a predetermined peak.
For example, the erasure unit 114 erases the frequency corresponding to the level surrounded by the two valleys on the left and right with the peak of the histogram as the center, and outputs the frequency to the peak detection unit 112.
[0255]
FIG. 34 is a specific example of a histogram for explaining the operation of the erasure unit of the plane separation unit of the image processing apparatus shown in FIG.
For example, as shown in FIG. 34, the erasure unit 114 erases the frequency corresponding to the level surrounded by the two valleys on the left and right with a predetermined peak as the center, and outputs the frequency to the peak detection unit 112. .
[0256]
When determining that the frequencies for all levels in the histogram have become 0, the erasure unit 114 outputs the valley frequencies to the valley integration unit 115.
[0257]
The valley integration unit 115 integrates valleys having similar levels based on the frequency of each valley output from the erasing unit 114, and outputs the valleys to a predetermined labeling unit 116.
Specifically, the valley integration unit 115 integrates valleys having levels close to each valley.
More specifically, the valley integration unit 115 prioritizes the order in which valleys are detected, and erases other valleys included in a predetermined range of previously detected valleys, for example, a range of ± b.
[0258]
FIG. 35 is a diagram for explaining valleys in the histogram before being integrated by the valley integration unit of the image processing apparatus shown in FIG. FIG. 36 is a diagram for explaining histogram valleys integrated by the valley integration unit of the image processing apparatus shown in FIG. 32.
[0259]
Specifically, the valley integration unit 115 integrates valleys having similar levels as shown in FIG. 36 based on the frequency of each valley output from the erasing unit 114 as shown in FIG. 35, for example.
[0260]
The labeling unit 116 assigns a predetermined value (label) label to each plane separated in accordance with the input image and the image output from the valley integration unit 115. Specifically, the labeling unit 116 assigns the same label to each pixel of the input image by regarding the pixels existing between the valleys as the same plane.
[0261]
More specifically, the labeling unit 116 determines in which valley the level (luminance or color) is in each pixel, and assigns the same label to each pixel in the valley.
[0262]
FIG. 37 is a flowchart for explaining the operation of the plane separation unit of the image processing apparatus shown in FIG.
[0263]
In step ST201, the histogram calculation unit 111 generates and holds a histogram for each value level (luminance or color).
In addition, the histogram calculation unit 111 outputs the generated histogram to the peak detection unit 112.
[0264]
In step ST202, the peak detecting unit 112 detects the maximum frequency level (peak) in the histogram based on the input histogram and outputs the detected level (peak) to the valley detecting unit 113.
Specifically, the peak detection unit 112 detects the maximum frequency level (peak) in the histogram based on the histogram output from the histogram calculation unit 111 or the histogram output from the erasure unit 114. Are output to the valley detection unit 113.
[0265]
In step ST203, the valley detection unit 113 detects valleys on both sides of the peak. Specifically, in the valley detecting unit 113, the point having the lowest frequency within the range of + a centering on the peak is set as the valley on the right side. Further, in the valley detecting unit 113, the point having the lowest frequency within the range of −a is set as the left valley.
[0266]
The valley detection unit 113 specifies, for example, the frequency of an object including the peak based on the peak of the histogram.
For example, the valley detection unit 113 detects two valleys on both sides of the level peak in the histogram based on the maximum frequency level (peak) output from the peak detection unit 112.
Specifically, the valley detecting unit 113 sets the point with the lowest frequency in the predetermined range centered on the peak, for example, + a as the right valley, and is the most in the predetermined range, for example, −a. The point with less frequency is the valley on the left.
[0267]
In step ST205, the erasing unit 114 erases the frequencies corresponding to the levels surrounded by the two left and right valleys from the histogram.
Further, the erasing unit 114 determines whether or not the frequencies for all levels in the histogram have become 0. If it is determined that the frequencies have not become 0, the process returns to step ST202.
[0268]
On the other hand, if it is determined in step ST205 that the frequencies for all levels in the histogram have become 0, the erasure unit 114 outputs the valley frequency to the valley integration unit 115.
[0269]
In step ST <b> 206, the valley integration unit 115 integrates the levels close to each other based on the frequency of each valley output from the erasing unit 114, and outputs the result to the predetermined labeling unit 116. Specifically, in the valley integration unit 115, those having levels close to each valley are integrated. More specifically, in the valley integration unit 115, priority is given to the order in which valleys are detected, and other valleys included in a predetermined range of previously detected valleys, for example, a range of ± b, are deleted.
[0270]
In step ST207, the labeling unit 116 assigns a predetermined value (label) label to each plane separated in accordance with the input image and the image output from the valley integration unit 115.
[0271]
Specifically, in the labeling unit 116, the pixels existing between the valleys are regarded as the same plane and the same label is assigned to the pixels of the input image. More specifically, the labeling unit 116 determines in which valley the level (luminance or color) is in each pixel, and assigns the same label to each pixel in the valley.
Then, a series of operations relating to plane separation is completed.
[0272]
FIG. 38 is a flowchart for explaining the operation of the image processing apparatus shown in FIG. The operation of the image processing device 1f will be described with reference to FIG.
[0273]
For simplicity, the memory for plane matching will be described as a block size of 3 × 3 pixels and the search range sp as (−1, −1) to (1, 1) for each pixel.
[0274]
Here, the element of interest is assumed to be one of the elements in which a motion vector is actually stored in FIG. It is not an element at the end of the memory 20f.
For the sake of simple explanation, the image size is assumed to be w × b.
[0275]
In the plane separation unit 110, the above-described predetermined plane separation processing is performed based on the image stored in the frame memory 3f-T-1, and the plane information as a result of the processing is obtained for each element 20f in the memory 2f. Is output.
Each of the elements 20f stores the plane information output from the plane separation unit 110.
Specifically, plane information for one pixel is stored in each plane information storage unit 29 of the element 20f (ST301).
[0276]
From the frame memory 3f-T-1, as shown in FIG. 29, each pixel of the (w-2) × (h-2) reference region tr is stored in each element 20f in the memory 2f.
Specifically, as shown in FIG. 30C, one pixel of the reference region tr is stored in the pixel 20-2 of each element 2f.
Next, while updating the phase within the search range sp, the area of (w−2) × (h−2) is read, and each pixel in the area is stored for each element in the memory (ST302). This (w-2) × (h-2) area is referred to as a “search area tp”.
[0277]
As shown in FIG. 30C, one pixel of the search region tp is stored in the pixel 20-1 portion of each element 20f.
The update of the phase and the reading of the search area tp are actually the same as in the case of the block matching described above except that the number of pixels in the search area tp is different. It is done once and it ends when it finishes 9 times.
[0278]
Within each element 20, the subtractor 24 generates a difference value between the value stored in the pixel 20-1 and the value stored in the pixel 20-2, and the absolute value generation unit 25 outputs the difference value. An absolute value of the difference value (difference absolute value a) is generated, and the difference absolute value a is stored in the pixel difference storage unit 22f-1 (ST305).
[0279]
Next, in each element of interest, plane information is read from the elements in the vicinity of the eight elements.
Specifically, in the switch 30, the plane information stored in the plane information storage unit 29 of the element of interest 20f is the same as the plane information stored in the plane information storage unit 29 of the other eight neighboring elements 20f. A determination is made whether or not there is.
In the switch 30, the difference absolute value a stored in the pixel difference storage unit 22f-1 of the element 20f determined to be the same is read and added.
In the adder 28f, the difference absolute value a output from each of the switches 30 is added to obtain the difference absolute value sum A (ST306).
[0280]
Next, in each element of interest, the comparison update unit 26f compares the difference absolute value sum (difference absolute value sum B) stored in advance with the difference absolute value sum A (ST307), and the difference absolute value sum A is small. Then, the value stored in the difference sum storage unit 22f-2 is updated from the difference absolute value sum B to the difference absolute value sum A (ST309).
On the other hand, in the comparison update unit 26f, when the difference absolute value sum A is large, the update is not performed, and the process proceeds to the update of the next phase and the reading of the search region tp.
By the way, in the initial state, the sum of absolute differences is not stored in the element of interest. In that case, the first sum of absolute differences is stored unconditionally.
[0281]
Next, only when the sum of absolute differences of a certain element of interest is updated, a motion vector stored in the element of interest in advance is updated with the phase at that time as a true motion vector (ST310).
As described above, at the time when the update of the phase is completed, each of the nine target elements stores the minimum value of the sum total of the pixel difference absolute values in the search range sp and the motion vector when it is stored.
The reading unit 4f reads and outputs these motion vectors from each element of interest.
[0282]
As described above, in the image processing apparatus according to the present embodiment, the histogram calculation unit 111 that generates a histogram (frequency distribution) for each level (luminance or color) according to the input image, and the histogram, A peak detection unit 112 that detects the level (peak) of the maximum frequency in the histogram, a valley detection unit 113 that specifies the frequency of an object including the peak, for example, based on the peak of the histogram, and a predetermined peak From the erasing unit 114 that erases the frequency of objects including the valley integration unit 115 that integrates valleys that are close in level based on the frequency of each valley that is output from the erasing unit 114, the input image, and the valley integration unit 115 A labeling unit 1 that assigns a predetermined value (label) label to each plane separated according to the output image. 6, the plane information storage unit 29 that stores plane information in each of the elements 20 f and the plane information storage unit 29 are determined to match, and the difference absolute value a of each element 20 f is output to the adder 28 f. For example, an accurate motion vector can be generated even when a plurality of objects are included in the reference block.
[0283]
Eighth embodiment
FIG. 39 is a functional block diagram of the eighth embodiment of the image processing apparatus according to the present invention.
As shown in FIG. 39, the image processing apparatus 1g according to the present embodiment includes a memory 2g, a plurality of frame memories 3g, for example, frame memories 3g-T and T-1, a reading unit 4g, a control unit 100g, and a plane separation unit. 110 g and a plane information buffer 120.
[0284]
The difference between the image processing device 1g and the image processing device 1f according to the seventh embodiment is that a memory 2g, a plurality of frame memories 3g, for example, frame memories 3g-T and T-1, a reading unit 4g, and a control unit 100g. A plane separation unit 110g and a plane information buffer 120. Only the differences will be described.
[0285]
The memory 2g has a predetermined number of elements 20f, for example, 5 × 5 elements 20f. The plane separation unit 110g, for each reference region tr of image data stored in the frame memory 3g-T-1, for example, a reference region tr having a size of 5 × 5, is based on the pixels in the reference region tr. A plane separation process is performed, and the plane information as a result of the process is output to the plane information buffer 120.
[0286]
The plane separation unit 110g is not limited to this form. The plane separation unit 110g performs plane separation processing on the image stored in the frame memory T-1 based on the image data stored in the frame memory 3g-T-1, and obtains plane information as a result of the processing as a plane. You may output to the information buffer 120.
[0287]
The plane information buffer 120 stores, for example, pixels of the full screen size output from the plane separation unit 110g.
For example, the plane information buffer 120 may store the plane information for each 5 × 5 reference area tr output from the plane separation unit 110g at a predetermined position (address).
The plane information buffer 120 outputs plane information at a predetermined position (address) to the memory 2g and stores it in the plane information storage unit 29 of the corresponding element 20f of the memory 2g.
[0288]
For example, the control unit 100g performs predetermined processing according to the above-described processing.
In addition, the control unit 100g performs predetermined data write processing, read processing, and the like in the frame memory 3g, the memory 2g, and the like, for example, according to the above-described processing.
[0289]
The operation of the image processing apparatus having the above-described configuration will be briefly described only with respect to differences.
In the plane separation unit 110g, for each reference region tr of the image data stored in the frame memory 3g-T-1, for example, a reference region tr having a size of 5 × 5, based on the pixels in the reference region tr. Plane separation processing is performed, and plane information as a result of the processing is output to the plane information buffer 120, and the plane information buffer 120 stores the plane information at a predetermined position (address).
[0290]
Thereafter, as in the seventh embodiment described above, in the memory 2g, the pixel in the reference region tr is stored in the pixel 21-1, and the pixel in the search region tp is stored in the pixel 21-2.
[0291]
The subtracter 24 generates a difference value between the pixel stored in the pixel 21-1 and the pixel in the search region tp stored in the pixel 21-2, and the absolute value generation unit 25 calculates the absolute value of the difference value. A certain difference absolute value is generated and stored in the pixel difference storage unit 22-1.
[0292]
In the switch 30, the plane information stored in the plane information storage unit 29 is compared with the plane information stored in the plane information storage unit 29 of the element 20 around the target element. The absolute difference value stored in the pixel difference storage unit 22f-1 of the peripheral element 20 is output to the target pixel adding unit 28f.
In the adding unit 28f, the difference absolute value output from the switch 30 and the difference absolute value stored in the pixel difference storage unit 22f-1 are added and output to the comparison update unit 26f.
[0293]
In the comparison update unit 26f, the difference sum value stored in the difference sum storage unit 22f-2 is compared with the difference sum value output from the adder 28f, and the difference sum value output from the adder 28f is compared. Is small, the small difference sum value is output to the difference sum storage unit 22f-2. In the difference sum storage unit 22f-2, the difference sum value is stored and updated.
[0294]
Further, in the comparison update unit 26f, when the difference sum value stored in the pixel difference storage unit 22f-2 is updated, the update unit 27 outputs update information indicating that the difference is updated.
In the update unit 27, when update information indicating that the update has been performed is output from the comparison update unit 26f, the phase information of the search region tp and the reference region tr is stored in the motion vector storage unit 23.
The phase of the search area tp in the search range sp is updated, the search areas tp of all phases in all the search ranges sp are compared with the reference area tr, and a motion vector is generated.
[0295]
As described above, the image processing apparatus 1g according to the present embodiment has a higher image data stored in the frame memory 3g-T-1 than the image processing apparatus 1f according to the seventh embodiment. Based on this, a plane separation unit 110g for performing plane separation and generating plane information and a plane information storage unit 29 for storing the plane information are provided, and the memory 2g including the element 20f of a predetermined size, for example, 5 × 5 is provided. The difference sum value stored in the difference sum storage unit 22f-2 is input only when the image within the predetermined search range sp and the reference region tr is input and matches the plane information of the peripheral element 20f. And the motion vector is updated only when it is updated. Therefore, even when there are a plurality of objects in the reference region tr, the motion vector is generated accurately. It can be.
Also, by providing the plane information buffer 120, plane information of the full screen size can be stored and predetermined processing can be performed efficiently.
[0296]
Ninth embodiment
Motion vector correction using plane information
When the block size of block matching or the area of the plane of plane matching is small, there is a high possibility that the motion vector detection of each pixel is erroneous if there is noise in the input image.
Using the plane information stored in the memory 2h of the image processing apparatus 1h according to the ninth embodiment, an accurate motion vector is generated even in the above case.
[0297]
FIG. 40 is a functional block diagram of the ninth embodiment of the image processing apparatus according to the present invention.
The image processing apparatus 1h detects a motion vector by using a result of plane matching and motion vector detection and a memory structure in which plane information is stored.
[0298]
As shown in FIG. 40, the image processing apparatus 1h includes a memory 2f, a plurality of frame memories 3f, for example, frame memories 3f-T and T-1, a reading unit 4h, a control unit 100h, a plane separation unit 110h, and motion vector correction. Part 130.
[0299]
The memory 2f of the image processing device 1h has the same structure as the memory 2f of the image processing device 1f according to the seventh embodiment.
The image processing device 1h is substantially the same as the image processing device 1f according to the seventh embodiment in the processing for storing plane information and motion vectors in the memory 2f and the plane matching processing.
[0300]
FIG. 41 is a diagram for explaining the operation of the motion vector correction unit of the image processing apparatus shown in FIG.
As shown in FIG. 41, the image processing device 1h performs processing for a certain target pixel at the time when the motion vector detection in the memory 2f that outputs the plane matching of the image processing device 1f according to the seventh embodiment is completed. Output motion vector. Details will be described below.
[0301]
The motion vector correction unit 130 reads the motion vector from only the element having the same plane information as the target element with respect to the 5 × 5 lattice area in the memory, for example, centered on the target element, and the read motion The vector frequency is obtained, and the highest motion vector is set as the motion vector of the element of interest.
[0302]
Specifically, the motion vector correction unit 130 stores, for example, a 5 × 5 lattice area in the memory centered on the element of interest output from the reading unit 4h, for example, in the plane information storage unit 29 of the element of interest. Read the motion vector stored in the motion vector storage unit 23 from only the elements having the same plane information as the stored plane information, obtain the frequency of the read motion vector, and pay attention to the highest motion vector Let it be the motion vector of the element.
[0303]
The operation of the configuration described above will be briefly described.
From the reading unit 4h, for example, only from the element having the same plane information as the plane information stored in the plane information storage unit 29 of the element of interest with respect to the 5 × 5 lattice area in the memory centered on the element of interest, The motion vector stored in the motion vector storage unit 23 is read out.
The motion vector correction unit 130 obtains the frequency of the read motion vector and sets the highest motion vector as the motion vector of the element of interest.
[0304]
As described above, the motion vector correction unit 130 assumes that the pixels of the same plane around the target pixel have almost the same motion, and even if the motion vector of the target pixel is incorrect in normal matching, It is possible to improve the accuracy of the motion vector by calculating a motion vector that is likely to be possessed by the target pixel and replacing it.
[0305]
In addition, since the memory 2f capable of storing plane information is provided for each element, the motion vector can be accurately obtained even in the boundary portions of a plurality of objects that are likely to be erroneous when the motion vector is derived.
[0306]
In addition, by obtaining the most frequent motion vector for each same plane in the area around the pixel of interest and correcting the motion vector, even if the motion vector is likely to be erroneous due to noise, for example, the motion vector is accurately obtained. be able to.
[0307]
【The invention's effect】
According to the present invention, it is possible to provide an image processing apparatus and an image processing method capable of calculating a motion vector with a small amount of calculation.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a general image processing apparatus.
FIG. 2 is a flowchart showing an operation of the general image processing apparatus shown in FIG. 1;
FIG. 3 is a diagram for explaining a specific example of operations from phase block reading by phase shift to recording in an evaluation table memory;
FIG. 4 is a functional block diagram of the first embodiment of the image processing apparatus according to the present invention.
FIG. 5A is a diagram illustrating a memory of the image processing apparatus according to the first embodiment. (B) is a functional block diagram of elements in the memory of the image processing apparatus shown in (a).
6 is a diagram for explaining phase update and reading of a search region tp in pixel matching of the image processing apparatus shown in FIG. 4; FIG. (A) is a figure which shows the phase within a search range. (B) is a figure which shows the relationship between a phase and the search area | region tp.
7 is a flowchart for explaining the operation of the image processing apparatus 1 shown in FIG. 1;
FIG. 8 is a functional block diagram of a second embodiment of an image processing apparatus according to the present invention.
9A is a diagram showing a memory of the image processing apparatus 1a shown in FIG. FIG. 9B is a diagram showing a specific example of the configuration of the memory shown in FIG. (C) is a diagram showing a configuration of a memory in which a motion vector of the image processing apparatus 1a shown in FIG. 8 is stored.
10 is a diagram for explaining an operation of the image processing apparatus shown in FIG. 8, particularly an operation for updating a phase and reading a search region tp. FIG. (A) is a figure which shows the phase in the search range sp. (B) is a figure which shows the relationship between a phase and the search area | region tp.
11 is a flowchart for explaining the operation of the image processing apparatus 1a shown in FIG.
12 is a diagram showing blocks cut out from a reference area tr of a frame of the image processing apparatus shown in FIG. 8;
FIG. 13 is a conceptual diagram for explaining extraction of corresponding pixels of an image processing apparatus according to a third embodiment of the present invention.
FIG. 14 is a functional block diagram of a third embodiment of an image processing apparatus according to the present invention.
15A is a diagram showing a memory 2b of the image processing apparatus 1b shown in FIG. (B) is a diagram showing a memory in which corresponding pixels are stored. (C) is a functional block diagram of the element 20b of the memory 2b shown in (a).
FIG. 16A is a diagram showing the phases of a search range spT + 2 (9 × 9) of a frame T + 2 and a search region tpT + 2. (B) is a diagram showing the phases of the search range spT + 1 (7 × 7) of the frame T + 1 and the search region tpT + 1. (C) is a figure which shows the phase of search range spT-1 (7 * 7) of flame | frame T-1, and search area | region tpT-1. (D) is a diagram showing the search range spT-2 (9 × 9) of the frame T-2 and the phase of the search region tpT-2. (E) is a figure for demonstrating the process of the update of the phase of the image processing apparatus 1b shown in FIG. 14, and the reading of the search area | region tp.
17 is a flowchart for explaining the operation of the image processing apparatus shown in FIG. 14;
FIG. 18 is a functional block diagram of an image processing apparatus according to a fourth embodiment of the present invention.
FIG. 19 is a functional block diagram showing a first specific example of a noise adding unit of the image processing apparatus 1c shown in FIG.
20 is a functional block diagram showing a second specific example of the noise adding unit of the image processing apparatus 1c shown in FIG.
FIG. 21 is a functional block diagram illustrating a third specific example of the noise adding unit of the image processing apparatus 1c illustrated in FIG. 18;
22 is a diagram for explaining the principle of generating a class code (detecting a noise component) in a class code generation unit of the image processing apparatus 1c shown in FIG. 18;
FIG. 23 is a diagram for describing a procedure that the image processing apparatus 1c illustrated in FIG. 18 should read out to the memory in the reference region tr for the class classification adaptation process. (A) is a figure which shows the state before a shift. (B) is a figure which shows the state after a shift.
FIG. 24 is a functional block diagram of a fifth embodiment of an image processing apparatus according to the present invention;
FIG. 25 is a functional block diagram of a sixth embodiment of an image processing apparatus according to the present invention;
26A is a configuration diagram of a memory of the image processing apparatus illustrated in FIG. 25, FIG. 26B is a diagram illustrating an element in which an expected pixel of the memory illustrated in FIG. It is a functional block diagram of the element of the memory shown to a).
FIG. 27 is a conceptual diagram for explaining the operation of the seventh embodiment of the image processing apparatus according to the present invention;
FIG. 28 is a conceptual diagram for explaining an operation of plane matching in the seventh embodiment of the image processing apparatus according to the present invention;
FIG. 29 is a functional block diagram of an image processing apparatus according to a seventh embodiment of the present invention.
30A is a diagram schematically illustrating a memory of the image processing apparatus illustrated in FIG. 29. FIG. (B) is the figure which expanded a part of (a). (C) is a functional block diagram of the element of the memory shown in (b).
31 is a diagram for explaining processing of a plane separation unit of the image processing apparatus shown in FIG. 29;
FIG. 32 is a functional block illustrating a specific example of a plane separation unit of the image processing device if.
FIG. 33 is a diagram illustrating a specific example of a histogram generated by a histogram calculation unit of the plane separation unit of the image processing device if shown in FIG. 32;
34 is a specific example of a histogram for explaining the operation of the erasing unit of the plane separation unit of the image processing apparatus shown in FIG. 32. FIG.
35 is a diagram for explaining a valley of a histogram before integration by a valley integration unit of the image processing apparatus shown in FIG. 32;
36 is a diagram for explaining histogram valleys integrated by a valley integration unit of the image processing apparatus shown in FIG. 32;
FIG. 37 is a flowchart for explaining the operation of the plane separation unit of the image processing apparatus shown in FIG. 32;
38 is a flowchart for explaining the operation of the image processing apparatus shown in FIG. 29;
FIG. 39 is a functional block diagram of an eighth embodiment of an image processing apparatus according to the present invention;
FIG. 40 is a functional block diagram of an image processing apparatus according to a ninth embodiment of the present invention.
41 is a diagram for explaining the operation of the motion vector correction unit of the image processing apparatus shown in FIG. 40;
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Image processing apparatus, 2 ... Memory, 3 ... Frame memory, 4 ... Reading part, 5 ... Noise addition part, 6 ... Class code production | generation part, 7 ... Normal equation addition part, 8 ... Coefficient memory | storage part, 9 ... Estimation calculation , 20 ... element, 21 ... pixel, 22 ... minimum pixel difference storage unit, 22a-1 ... pixel difference storage unit, 22a-2 ... difference sum storage unit, 22b-1 ... difference absolute value sum A storage unit, 22b- 2 ... absolute difference sum B storage unit, 23 ... motion vector storage unit, 24 ... subtractor, 25 ... absolute value generation unit, 26 ... comparison update unit, 27 ... update unit, 28 ... adder, 29 ... plane information storage , 51... RF modulator (RF MODULATOR), 52... Attenuator, 53... RF demodulator (RF DEMODULATOR), 54 ... Subtractor, 55 ... Adder, 56 ... Frame adder, 100 ... Control unit, DESCRIPTION OF SYMBOLS 10 ... Plane separation part, 111 ... Histogram calculation part, 112 ... Peak detection part, 113 ... Valley detection part, 114 ... Erasing part, 115 ... Valley integration part, 116 ... Labeling part, 120 ... Plane information buffer, 130 ... Motion vector Correction unit, 250... Adder.

Claims (40)

第1の画像データおよび第2の画像データのマッチングを行う画像処理装置であって、
マッチングデータを含む画像素子を少なくとも1つ有し、
前記画像素子は、
前記第1の画像データ内の参照用の第1の画素を記憶する第1の画素記憶手段と、
前記第1の画素に応じて、前記第2の画像データの所定の探索範囲内の第2の画素を記
憶する第2の画素記憶手段と、
前記第1の画素と前記第2の画素から画素のマッチングの度合いを示す評価値を計算する演算手段と、
評価値を記憶する評価値記憶手段と、
前記第1の画素記憶手段に記憶されている第1の画素と第2の画素記憶手段に記憶されている第2の画素とから得られる評価値が、前記評価値記憶手段に記憶されている評価値よりも評価が高い場合に前記評価値記憶手段に記憶されている評価値を上記第1の画素と第2の画素により得られた評価値に更新する評価値更新手段と、
を有し、
前記画像素子内に記憶されているマッチングデータの評価値演算は、当該画像素子内の演算手段によって演算される
画像処理装置。
An image processing apparatus that performs matching between first image data and second image data,
Having at least one image element containing matching data;
The image element is:
First pixel storage means for storing a first pixel for reference in the first image data;
A second pixel storage means for storing a second pixel within a predetermined search range of the second image data in accordance with the first pixel;
Computing means for calculating an evaluation value indicating a degree of matching of pixels from the first pixel and the second pixel;
Evaluation value storage means for storing the evaluation value;
Wherein is that evaluation values obtained from the second pixel stored in the first pixel and the second pixel storage means stored in the first pixel storage means, are stored in the evaluation value storage unit and evaluation value updating means for updating the evaluation value evaluation values that have been stored in the storage means on the evaluation value obtained by the first pixel and the second pixel if that evaluation rating than a higher value,
Have
An image processing apparatus in which an evaluation value calculation of matching data stored in the image element is calculated by a calculation means in the image element.
前記第1の画素と第2の画素との位相に関する位相情報を記憶する位相情報記憶手段と、
前記評価値更新手段が前記評価値を更新した場合には、前記位相情報記憶手段に記憶されている位相情報を更新する位相情報更新手段と
を有する請求項1に記載の画像処理装置。
Phase information storage means for storing phase information relating to the phase of the first pixel and the second pixel;
When said evaluation value updating means has updated the evaluation value, the image processing apparatus according to claim 1 and a phase information updating means for updating the phase information stored in the phase information storage means.
前記評価値更新手段は、
前記第1の画素記憶手段に記憶されている第1の画素と前記第2の画素記憶手段に記憶されている第2の画素とから得られる評価値と、前記評価値記憶手段に記憶されている評価値とを比較し、前記比較の結果に応じて、前記評価値記憶手段に記憶されている評価値を更新することを特徴とする
請求項1に記載の画像処理装置。
The evaluation value update means includes
Wherein a first pixel is that evaluation values obtained from the second pixel stored in the first pixel stored the second pixel storage means in the storage means, stored in the evaluation value storage unit comparing the Tei Ru evaluation value, depending on the result of the comparison, the image processing apparatus according to claim 1, characterized in that updating the evaluation value that has been stored in the evaluation value storage means.
前記評価値は、差分値である
請求項1に記載の画像処理装置。
The image processing apparatus according to claim 1, wherein the evaluation value is a difference value.
前記評価値更新手段が、前記第1の画素と、前記第2の画像データの所定の探索範囲の内の第2の画素とのマッチング処理の結果、最も評価の高い評価値が前記評価値記憶手段に記憶されているときの、前記位相情報更新手段に記憶されている位相情報を、動きベクトルとする請求項2に記載の画像処理装置。As a result of the matching processing between the first pixel and the second pixel within a predetermined search range of the second image data, the evaluation value update unit stores the evaluation value having the highest evaluation value as the evaluation value storage. The image processing apparatus according to claim 2, wherein the phase information stored in the phase information update unit when stored in the unit is a motion vector. 前記評価値更新手段は、前記第1の画素記憶手段に記憶されている第1の画素と前記第2の画素記憶手段に記憶されている第2の画素とから得られる評価値と、前記評価値記憶手段に記憶されている評価値とを比較し、前記第1の画素と前記第2の画素により得られた評価値の方が小さい場合には、前記評価値記憶手段に記憶されている評価値を上記第1の画素と第2の画素により得られた評価値に更新する
請求項1に記載の画像処理装置。
The evaluation value update means, said a first pixel is that evaluation values obtained from the second pixel stored in the first pixel stored the second pixel storage means in the storage means, wherein comparing the evaluation values that have been stored in the evaluation value storage unit, the first when the direction of evaluation value obtained by the second pixel and the pixel is small, it is stored in the evaluation value storage unit The image processing apparatus according to claim 1, wherein the evaluation value is updated to an evaluation value obtained by the first pixel and the second pixel .
第1の画像データおよび第2の画像データのマッチングを行う画像処理装置であって、
マッチングデータを含む複数の画像素子を有し、
前記画像素子は、
前記第1の画像データの内の参照用の第1の画素を記憶する第1の画素記憶手段と、
前記第1の画素に応じて、前記第2の画像データの所定の探索範囲の内の第2の画素を記憶する第2の画素記憶手段と、
前記第1の画素と前記第2の画素から画素のマッチングの度合いを示す評価値を計算する演算手段と、
前記第1の画素と前記第2の画素とから得られる評価値を記憶する評価値記憶手段と、
前記評価値記憶手段に記憶されている評価値と、隣接する他の画像素子に記憶されている評価値とに基づき、当該画像素子と隣接する他の画素素子からなるブロックのマッチングの度合いを示す新たな評価値を出力する新評価値演算手段と、
新たな評価値を記憶する新評価値記憶手段と、
前記新評価値記憶手段に記憶されている新たな評価値よりも前記新評価値演算手段から出力された新たな評価値の評価が高い場合に、当該出力された新たな評価値を前記新評価値記憶手段に記憶して新たな評価値を更新する新評価値更新手段と、
を有し、
前記画像素子内に記憶されているマッチングデータの評価値演算は、当該画像素子内の演算手段によって演算される
画像処理装置。
An image processing apparatus that performs matching between first image data and second image data,
A plurality of image elements including matching data;
The image element is:
First pixel storage means for storing a first pixel for reference in the first image data;
Second pixel storage means for storing a second pixel within a predetermined search range of the second image data according to the first pixel;
Computing means for calculating an evaluation value indicating a degree of matching of pixels from the first pixel and the second pixel;
Evaluation value storage means for storing evaluation values obtained from the first pixel and the second pixel;
Based on the evaluation value stored in the evaluation value storage means and the evaluation value stored in another adjacent image element, the degree of matching of the block composed of another pixel element adjacent to the image element is indicated. A new evaluation value calculation means for outputting a new evaluation value;
New evaluation value storage means for storing a new evaluation value;
Wherein when the evaluation of the new evaluation value new evaluation value output from said new estimated value computing unit than the new evaluation value that is stored in the storage means is high, the new evaluation of new evaluation values corresponding output New evaluation value update means for storing a new evaluation value stored in the value storage means ;
Have
An image processing apparatus in which an evaluation value calculation of matching data stored in the image element is calculated by a calculation means in the image element.
前記評価値は差分値であり、前記新たな評価値は前記差分値の総和である
請求項7に記載の画像処理装置。
The image processing apparatus according to claim 7, wherein the evaluation value is a difference value, and the new evaluation value is a sum of the difference values.
前記新評価値更新手段は、前記新評価値記憶手段に記憶されている新たな評価値と、前記新評価値演算手段から出力された新たな評価値とを比較し、前記比較の結果に応じて、当該出力された新たな評価値を前記新評価値記憶手段に記憶して新たな評価値を更新する
請求項7に記載の画像処理装置。
The new evaluation value updating means compares the a new evaluation value that is stored in the new evaluation value storage unit, and a new evaluation value output from the new evaluation value calculating means, depending on the result of the comparison The image processing apparatus according to claim 7, wherein the output new evaluation value is stored in the new evaluation value storage unit and the new evaluation value is updated.
前記第1の画素と第2の画素の位相に関する位相情報を記憶する位相情報記憶手段をさらに有する
請求項7に記載の画像処理装置。
The image processing apparatus according to claim 7, further comprising a phase information storage unit that stores phase information regarding a phase of the first pixel and the second pixel.
前記新評価値更新手段が前記新たな評価値を更新した場合には、前記位相情報記憶手段に記憶されている位相情報を更新する位相情報更新手段を有する
請求項10に記載の画像処理装置。
When said new evaluation value updating means has updated the new evaluation value, the image processing apparatus according to claim 10 having a phase information updating means for updating the phase information stored in the phase information storage means.
前記新評価値更新手段が、前記第1の画素と、前記第2の画像データの所定の探索範囲の内の第2の画素とのマッチングの処理結果、最も評価が高い新たな評価値が前記新評価値記憶手段に記憶されているときの、前記位相情報記憶手段に記憶されている位相情報を、動きベクトルとする
請求項7に記載の画像処理装置。
The new evaluation value update means, said first pixel, the matching processing result of the second pixel of the predetermined search range of the second image data, Highest Rated new evaluation value the The image processing apparatus according to claim 7, wherein the phase information stored in the phase information storage unit when stored in the new evaluation value storage unit is a motion vector.
前記新評価値更新手段は、前記新評価値記憶手段に記憶されている新たな評価値と、前記新評価値演算手段から出力された新たな評価値とを比較し、当該出力された新たな評価値が小さい場合には、当該出力された新たな評価値を前記新評価値記憶手段に記憶して新たな評価値を更新する
請求項7に記載の画像処理装置。
The new evaluation value update means, said a new evaluation value that is stored in the new evaluation value storage means, compares the new evaluation value output from said new estimated value computing unit, a new, which is the output The image processing apparatus according to claim 7, wherein , when the evaluation value is small, the output new evaluation value is stored in the new evaluation value storage unit , and the new evaluation value is updated.
時間的に異なる複数の画像データのマッチングを行う画像処理装置であって、
マッチングデータを含む複数の画像素子を有し、
前記画像素子は、
前記時間的に異なる前記画像データそれぞれの画素を記憶する複数の第1の画素記憶手段と、
前記第1の画素値記憶手段に記憶されている前記画素それぞれを記憶する複数の第2の画素記憶手段と、
前記複数の第1の画素記憶手段に記憶されている前記画素のマッチングの度合いを示す第1の評価値を演算する第1の演算手段と、
前記第1の評価値を記憶する第1の評価値記憶手段と、
当該画像素子と隣接する他の画像素子からなるブロックのマッチングの度合いを示す第2の評価値を、前記第1の評価値と、隣接する他の画像素子の第1の評価値とに基づいて演算し出力する第2の演算手段と、
前記第2の評価値を記憶する第2の評価値記憶手段と、
前記第2の評価値記憶手段に記憶されている第2の評価値よりも前記第2の演算手段から出力された第2の評価値の評価が高い場合に、当該出力された第2の評価値を前記第2の評価値記憶手段に記憶して第2の評価値を更新する更新手段と、
を有し、
前記画像素子内に記憶されているマッチングデータの評価値演算は、当該画像素子内の演算手段によって演算される
画像処理装置。
An image processing apparatus for matching a plurality of temporally different image data,
A plurality of image elements including matching data;
The image element is:
A plurality of first pixel storage means for storing pixels of the image data different in time;
A plurality of second pixel storage means for storing each of the pixels stored in the first pixel value storage means;
First calculation means for calculating a first evaluation value indicating a degree of matching of the pixels stored in the plurality of first pixel storage means ;
First evaluation value storage means for storing the first evaluation value;
Based on the first evaluation value and the first evaluation value of another adjacent image element, the second evaluation value indicating the degree of matching of the block composed of another image element adjacent to the image element. Second computing means for computing and outputting;
A second evaluation value storage means for storing the second evaluation value,
When the second evaluation value output from the second calculation means is higher than the second evaluation value stored in the second evaluation value storage means, the output second evaluation and updating means for updating the second evaluation value and stores the value in the second evaluation value storage means,
Have
An image processing apparatus in which an evaluation value calculation of matching data stored in the image element is calculated by a calculation means in the image element.
前記第1の評価値は、前記複数の第1の画素記憶手段に記憶されている前記画素の差分値の総和の時間総和差分値である
請求項14に記載の画像処理装置。
The image processing apparatus according to claim 14, wherein the first evaluation value is a time total difference value of a sum of difference values of the pixels stored in the plurality of first pixel storage units.
前記第2の評価値は、当該画像素子の前記第1の評価値と、隣接する他の素子の第1の評価値の総和である
請求項14に記載の画像処理装置。
The image processing apparatus according to claim 14, wherein the second evaluation value is a sum of the first evaluation value of the image element and the first evaluation value of another adjacent element.
前記第2の評価値は、当該画像素子の前記第1の評価値と、前記所定の領域の内の他の画像素子の第1の評価値を加算することで得られる
請求項14に記載の画像処理装置。
The second evaluation value, the a first evaluation value of the image element, according to claim 14 which is obtained by adding the first evaluation values of the other picture elements of said predetermined area Image processing device.
前記更新手段は、前記第2の評価値を更新した場合には、前記複数の第1の画素値記憶手段に記憶されている画素値を、前記複数の第2の画素値記憶手段に記憶させる
請求項14に記載の画像処理装置。
The updating unit, when updating the second evaluation value, causes the plurality of second pixel value storage units to store the pixel values stored in the plurality of first pixel value storage units. The image processing apparatus according to claim 14.
前記更新手段が、前記複数の画像データの、所定の領域の内の対応する画素それぞれについてマッチング処理の結果、最小の総和差分値が前記第2の評価値記憶手段に記憶されているとき、前記第2の画素記憶手段に記憶されている画素を対応画素とする
請求項18に記載の画像処理装置。
When the update means stores the minimum total difference value in the second evaluation value storage means as a result of the matching process for each of the corresponding pixels in the predetermined area of the plurality of image data, The image processing apparatus according to claim 18, wherein a pixel stored in the second pixel storage unit is a corresponding pixel.
前記第2の画素値記憶手段に記憶されている、時間的に異なる前記画像データそれぞれの画素の画素値に基づいて、前記画像データに含まれるノイズ成分に応じたノイズ情報を生成するノイズ情報生成手段を有する
請求項14に記載の画像処理装置。
Noise information generation for generating noise information corresponding to a noise component included in the image data based on pixel values of pixels of the image data different in time stored in the second pixel value storage unit The image processing apparatus according to claim 14, further comprising: means.
前記第2の画素値記憶手段に記憶されている、時間的に異なる前記画像データそれぞれの画素の画素値に基づいて、ノイズ成分の大きさを示すノイズ成分量情報と、前記ノイズ成分の時間変動を示すノイズ成分時間変動情報を生成するノイズ情報生成手段と、
当該ノイズ成分量情報とノイズ成分時間変動情報、および、当該時間的に異なる前記画像データそれぞれの画素の画素値に基づいて、当該ノイズ成分量情報とノイズ成分時間変動情報に対応した、ノイズ成分を除去するためのノイズ除去情報を生成するノイズ除去情報生成手段とを有する
請求項14に記載の画像処理装置。
Based on the pixel value of each pixel of the image data different in time stored in the second pixel value storage means, noise component amount information indicating the size of the noise component, and temporal variation of the noise component Noise information generation means for generating noise component time variation information indicating,
Based on the noise component amount information, the noise component time variation information, and the pixel value of each pixel of the image data different in time, the noise component corresponding to the noise component amount information and the noise component time variation information is obtained. The image processing apparatus according to claim 14, further comprising noise removal information generation means for generating noise removal information for removal.
前記ノイズ成分量情報とノイズ成分時間変動情報に対応した、ノイズ成分を除去するためのノイズ除去情報を生成するノイズ除去情報を記憶するノイズ除去情報記憶手段を有する
請求項21に記載の画像処理装置。
The image processing device according to claim 21, further comprising noise removal information storage means for storing noise removal information for generating noise removal information for removing noise components corresponding to the noise component amount information and noise component time variation information. .
前記第2の画素値記憶手段から出力された画素の画素値と、前記ノイズ情報生成手段により生成された前記ノイズ情報とに基づいて、ノイズ成分を除去した画素を推定する推定手段を有する
請求項20に記載の画像処理装置。
An estimation unit that estimates a pixel from which a noise component is removed based on a pixel value of a pixel output from the second pixel value storage unit and the noise information generated by the noise information generation unit. The image processing apparatus according to 20.
前記第2の画素値記憶手段に記憶されている、時間的に異なる前記画像データそれぞれの画素の画素値に基づいて、ノイズ成分の大きさを示すノイズ成分量情報と、前記ノイズ成分の時間変動を示すノイズ成分時間変動情報を生成するノイズ情報生成手段と、
前記第2の画素値記憶手段から出力された画素の画素値、前記ノイズ成分量情報、前記ノイズ成分時間変動情報、および前記ノイズ除去情報に基づいて、ノイズ成分を除去した画素を推定する推定手段とを有する
請求項22に記載の画像処理装置。
Based on the pixel value of each pixel of the image data different in time stored in the second pixel value storage means, noise component amount information indicating the size of the noise component, and temporal variation of the noise component Noise information generation means for generating noise component time variation information indicating,
Estimation means for estimating a pixel from which a noise component has been removed based on the pixel value of the pixel output from the second pixel value storage means, the noise component amount information, the noise component time variation information, and the noise removal information The image processing apparatus according to claim 22.
第1の画像データおよび第2の画像データのマッチングを行い、マッチングデータを含み、評価値を記憶する評価値記憶手段を備えた少なくとも1つの画像素子を有する画像処理装置の画像処理方法であって、
前記画像素子は、
前記第1の画像データの内の参照用の第1の画素を記憶し、
前記第1の画素に応じて、前記第2の画像データの所定の探索範囲の内の第2の画素を記憶し、
前記第1の画素と前記第2の画素から画素のマッチングの度合いを示す評価値を計算し、
前記第1の画素と前記第2の画素とから得られる評価値が、前記評価値記憶手段に記憶されている評価値よりも評価が高い場合に前記評価値記憶手段に記憶されている評価値を上記第1の画素と第2の画素により得られた評価値に更新し、
前記画像素子内に記憶されているマッチングデータの評価値演算は、当該画像素子内の演算手段によって演算される
画像処理方法。
Performs matching of the first image data and second image data, viewing including the matching data, a image processing method for an image processing apparatus having at least one image element with an evaluation value storage means for storing the evaluation value And
The image element is:
Storing a first pixel for reference in the first image data;
According to the first pixel, storing a second pixel within a predetermined search range of the second image data;
Calculating an evaluation value indicating a degree of matching of pixels from the first pixel and the second pixel;
Wherein is that evaluation values obtained from the first pixel and the second pixel, evaluation the evaluation value evaluation than the evaluation value stored in the storage means is stored in the evaluation value storage means when a higher the value is updated on the evaluation value obtained by the first and second pixels,
An image processing method in which evaluation value calculation of matching data stored in the image element is calculated by a calculation means in the image element.
前記評価値を更新した場合には、記憶している第1の画素と第2の画素との位相に関する位相情報を更新する
請求項25に記載の画像処理方法。
The image processing method according to claim 25, wherein when the evaluation value is updated, the stored phase information regarding the phase of the first pixel and the second pixel is updated.
前記第1の画素と、前記第2の画像データの所定の探索範囲の内の第2の画素とのマッチング処理の結果、前記画像素子が最も評価が高い評価値を記憶しているときの位相情報を、動きベクトルとする
請求項26に記載の画像処理方法。
As a result of matching processing between the first pixel and a second pixel within a predetermined search range of the second image data, the phase when the image element stores the highest evaluation value 27. The image processing method according to claim 26, wherein the information is a motion vector.
前記評価値を更新する場合には、前記記憶している第1の画素と前記記憶している第2の画素とから得られる評価値と、前記評価値記憶手段に記憶されている評価値とを比較し、当該第1の画素と第2の画素とから得られる評価値の方が小さい場合には、前記評価値 記憶手段に記憶されている評価値を上記第1の画素と第2の画素により得られた評価値に更新する
請求項25に記載の画像処理方法。
When updating the evaluation value , the evaluation value obtained from the stored first pixel and the stored second pixel, the evaluation value stored in the evaluation value storage means, If the evaluation value obtained from the first pixel and the second pixel is smaller, the evaluation value stored in the evaluation value storage means is used as the first pixel and the second pixel. The image processing method according to claim 25, wherein the evaluation value obtained by the pixel is updated.
第1の画像データおよび第2の画像データのマッチングを行い、マッチングデータを含む複数の画像素子を有する画像処理装置の画像処理方法であって、
前記画像素子は、
前記第1の画像データの内の参照用の第1の画素を記憶し、
前記第1の画素に応じて、前記第2の画像データの所定の探索範囲の内の第2の画素を記憶し、
前記第1の画素と前記第2の画素から画素のマッチングの度合いを示す評価値を計算し、
前記第1の画素と前記第2の画素とから得られる評価値を記憶し、
当該画像素子と隣接する他の画素素子からなるブロックのマッチングの度合いを示す新たな評価値を記憶し、
前記記憶されている評価値と、隣接する他の画像素子に記憶されている評価値とに基づき、当該画像素子と隣接する他の画素素子からなるブロックのマッチングの度合いを示す新たな評価値を出力し、
前記記憶されている新たな評価値よりも前記出力された新たな評価値の評価が高い場合に、当該出力された新たな評価値により前記記憶されている新たな評価値を更新し、
前記画像素子内に記憶されているマッチングデータの評価値演算は、当該画像素子内の演算手段によって演算される
画像処理方法。
An image processing method for an image processing apparatus that performs matching between first image data and second image data and includes a plurality of image elements including matching data,
The image element is:
Storing a first pixel for reference in the first image data;
According to the first pixel, storing a second pixel within a predetermined search range of the second image data;
Calculating an evaluation value indicating a degree of matching of pixels from the first pixel and the second pixel;
Storing evaluation values obtained from the first pixel and the second pixel;
Storing a new evaluation value indicating the degree of matching of a block composed of another pixel element adjacent to the image element;
Based on the stored evaluation value and the evaluation value stored in the other adjacent image element, a new evaluation value indicating the degree of matching of the block composed of the other pixel element adjacent to the image element is obtained. Output,
If the evaluation of a new evaluation values the output than the new evaluation value that is the storage is high, update the new evaluation value that is the storage by the outputted new evaluation value,
An image processing method in which evaluation value calculation of matching data stored in the image element is calculated by a calculation means in the image element.
前記新たな評価値を更新した場合には、記憶している第1の画素と第2の画素との位相に関する位相情報を更新する
請求項29に記載の画像処理方法。
30. The image processing method according to claim 29, wherein when the new evaluation value is updated, the stored phase information regarding the phase of the first pixel and the second pixel is updated.
前記第1の画素と、前記第2の画像データの所定の探索範囲の内の第2の画素とのマッチング処理の結果、前記画像素子が最も評価が高い新たな評価値を記憶しているときの位相情報を、動きベクトルとする
請求項30に記載の画像処理方法。
When the image element stores a new evaluation value with the highest evaluation as a result of the matching process between the first pixel and a second pixel within a predetermined search range of the second image data the image processing method according to claim 30 of the phase information, and motion vector.
前記記憶している新たな評価値と、前記生成された第2の新たな評価値とを比較し、前記第2の新たな評価値が小さい場合には、当該第2の新たな評価値を第1の新たな評価値として更新する
請求項29に記載の画像処理方法。
And a new evaluation value you are the storage, compared with the second new evaluation value said generated when the second new evaluation value is small, the second new evaluation value 30. The image processing method according to claim 29, wherein the image processing method is updated as a first new evaluation value.
時間的に異なる複数の画像データのマッチングを行い、マッチングデータを含む複数の画像素子を有する画像処理装置の画像処理方法であって、
前記画像素子は、
前記時間的に異なる前記画像データそれぞれの複数の第1の画素を記憶し、
前記複数の第1の画素に対応する複数の第2の画素を記憶し、
前記記憶されている複数の第1の画素における画素のマッチングの度合いを示す第1の評価値を計算し、
当該画像素子と隣接する他の画像素子からなるブロックのマッチングの度合いを示す第2の評価値を記憶し、
当該画像素子と隣接する他の画像素子からなるブロックのマッチングの度合いを示す第2の評価値を、前記第1の評価値と、隣接する他の画像素子の第1の評価値とに基づいて計算し、
前記記憶されている第2の評価値よりも計算により得られた第2の評価値の評価が高い場合に、当該計算により得られた第2の評価値により前記記憶されている第2の評価値を更新し、
前記画像素子内に記憶されているマッチングデータの評価値演算は、当該画像素子内の演算手段によって演算される
画像処理方法。
An image processing method of an image processing apparatus that performs matching of a plurality of temporally different image data and has a plurality of image elements including matching data,
The image element is:
Storing a plurality of first pixels of each of the temporally different image data;
Storing a plurality of second pixels corresponding to the plurality of first pixels;
Calculating a first evaluation value indicating a degree of matching of pixels among the plurality of first pixels stored ;
Storing a second evaluation value indicating a degree of matching of a block formed of another image element adjacent to the image element;
Based on the first evaluation value and the first evaluation value of another adjacent image element, the second evaluation value indicating the degree of matching of the block composed of another image element adjacent to the image element. Calculate
When the evaluation of the second evaluation value obtained by the calculation is higher than the stored second evaluation value, the second evaluation stored by the second evaluation value obtained by the calculation Update the value,
An image processing method in which evaluation value calculation of matching data stored in the image element is calculated by a calculation means in the image element.
前記第2の評価値を更新した場合には、前記記憶している複数の第1の画素を前記複数の第2の画素とする
請求項33に記載の画像処理方法。
34. The image processing method according to claim 33, wherein when the second evaluation value is updated, the plurality of stored first pixels are set as the plurality of second pixels.
前記複数の画像データの、所定の領域の内の対応する画素それぞれについてマッチング処理の結果、最小の総和差分値が前記画像素子に記憶されているとき、前記記憶している第2の画素を対応画素とする
請求項34に記載の画像処理方法。
When the minimum sum difference value is stored in the image element as a result of the matching process for each corresponding pixel in the predetermined region of the plurality of image data, the stored second pixel is associated The image processing method according to claim 34, wherein the image processing method is a pixel.
前記記憶している時間的に異なる前記画像データそれぞれの画素の画素値に基づいて、前記画像データに含まれるノイズ成分に応じたノイズ情報を生成する
請求項33に記載の画像処理方法。
34. The image processing method according to claim 33, wherein noise information corresponding to a noise component included in the image data is generated based on a pixel value of each pixel of the stored temporally different image data.
前記記憶している、時間的に異なる前記画像データそれぞれの画素の画素値に基づいて、ノイズ成分の大きさを示すノイズ成分量情報と、前記ノイズ成分の時間変動を示すノイズ成分時間変動情報を生成し、
当該ノイズ成分量情報とノイズ成分時間変動情報、および、当該時間的に異なる前記画像データそれぞれの画素の画素値に基づいて、当該ノイズ成分量情報とノイズ成分時間変動情報に対応した、ノイズ成分を除去するためのノイズ除去情報を生成する
請求項34に記載の画像処理方法。
Based on the pixel value of each pixel of the image data stored in time that is stored, noise component amount information indicating the magnitude of the noise component, and noise component time variation information indicating time variation of the noise component. Generate
Based on the noise component amount information and the noise component time variation information, and the pixel value of each pixel of the image data different in time, the noise component corresponding to the noise component amount information and the noise component time variation information is obtained. The image processing method according to claim 34, wherein noise removal information for removal is generated.
前記ノイズ成分量情報とノイズ成分時間変動情報に対応した、ノイズ成分を除去するためのノイズ除去情報を生成するノイズ除去情報を記憶する
請求項37に記載の画像処理方法。
The image processing method according to claim 37, wherein noise removal information for generating noise removal information for removing noise components corresponding to the noise component amount information and noise component time variation information is stored.
前記出力された画素の画素値と、前記生成されたノイズ情報とに基づいて、ノイズ成分を除去した画素を推定する
請求項36に記載の画像処理方法。
37. The image processing method according to claim 36, wherein a pixel from which a noise component has been removed is estimated based on a pixel value of the output pixel and the generated noise information.
前記記憶している、時間的に異なる前記画像データそれぞれの画素の画素値に基づいて、ノイズ成分の大きさを示すノイズ成分量情報と、前記ノイズ成分の時間変動を示すノイズ成分時間変動情報を生成し、
前記出力された画素の画素値、前記ノイズ成分量情報、前記ノイズ成分時間変動情報、および前記ノイズ除去情報に基づいて、ノイズ成分を除去した画素を推定する
請求項38に記載の画像処理方法。
Based on the pixel value of each pixel of the image data stored in time that is stored, noise component amount information indicating the magnitude of the noise component, and noise component time variation information indicating time variation of the noise component. Generate
The image processing method according to claim 38, wherein a pixel from which a noise component has been removed is estimated based on the pixel value of the output pixel, the noise component amount information, the noise component time variation information, and the noise removal information.
JP2002274058A 2002-08-15 2002-08-15 Image processing apparatus and image processing method Expired - Fee Related JP3941644B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2002274058A JP3941644B2 (en) 2002-08-15 2002-08-15 Image processing apparatus and image processing method
TW092122124A TWI260509B (en) 2002-08-15 2003-08-12 Method and apparatus for processing image data and semiconductor storage device
US10/640,614 US7522748B2 (en) 2002-08-15 2003-08-14 Method and apparatus for processing image data and semiconductor storage device
KR1020030056461A KR101014637B1 (en) 2002-08-15 2003-08-14 Method and Apparatus for Processing Image Data and Semiconductor Storage Device
EP03018473A EP1394744A3 (en) 2002-08-15 2003-08-14 Method and apparatus for processing image data and semiconductor storage device
CN031545289A CN100407232C (en) 2002-08-15 2003-08-15 Image processing device, computer program product and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002274058A JP3941644B2 (en) 2002-08-15 2002-08-15 Image processing apparatus and image processing method

Publications (3)

Publication Number Publication Date
JP2004078862A JP2004078862A (en) 2004-03-11
JP2004078862A5 JP2004078862A5 (en) 2005-04-07
JP3941644B2 true JP3941644B2 (en) 2007-07-04

Family

ID=32024978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002274058A Expired - Fee Related JP3941644B2 (en) 2002-08-15 2002-08-15 Image processing apparatus and image processing method

Country Status (1)

Country Link
JP (1) JP3941644B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3031152B2 (en) * 1993-12-24 2000-04-10 日本電気株式会社 Motion prediction processor and motion prediction device
JP3631868B2 (en) * 1996-12-20 2005-03-23 株式会社東芝 Motion vector detection apparatus and method
JP4344968B2 (en) * 1999-10-28 2009-10-14 ソニー株式会社 Image processing apparatus and image processing method, and data processing apparatus and data processing method
JP3903890B2 (en) * 2002-08-15 2007-04-11 ソニー株式会社 Image processing apparatus and image processing method

Also Published As

Publication number Publication date
JP2004078862A (en) 2004-03-11

Similar Documents

Publication Publication Date Title
JP4181473B2 (en) Video object trajectory synthesis apparatus, method and program thereof
KR101092287B1 (en) Image processing apparatus and image processing method
US6987884B2 (en) Image processing device and method, and recorded medium
KR100973429B1 (en) Background motion vector detection
JP2012525042A (en) Object tracking using moment and acceleration vectors in motion estimation systems
JP2004534336A (en) MOTION OR DEPTH ESTIMATION METHOD AND ESTIMATION UNIT, AND IMAGE PROCESSING APPARATUS HAVING SUCH MOTION ESTIMATION UNIT
TW200535724A (en) Robust camera pan vector estimation using iterative center of mass
JP4362895B2 (en) Data processing apparatus, data processing method, and recording medium
JP2005528708A (en) Unit and method for estimating current motion vector
JP2005505841A (en) Apparatus and method for motion estimation
JP3903890B2 (en) Image processing apparatus and image processing method
JP2001520781A (en) Motion or depth estimation
JP4517409B2 (en) Data processing apparatus and data processing method
KR101014637B1 (en) Method and Apparatus for Processing Image Data and Semiconductor Storage Device
KR20050097936A (en) Efficient predictive image parameter estimation
JP2003348528A (en) Representative image selection method, representative image selection apparatus, representative image selection program and recording medium for representative image selection program
JP4407015B2 (en) Noise removing apparatus and noise removing method
JP3299671B2 (en) Image motion detection device
JPH0795591A (en) Digital picture signal processing unit
JP3941644B2 (en) Image processing apparatus and image processing method
JP3849817B2 (en) Image processing apparatus and image processing method
JP3175914B2 (en) Image encoding method and image encoding device
KR20060103430A (en) Motion vector fields refinement to track small fast moving objects
JP4228705B2 (en) Motion vector search method and apparatus
JP3651093B2 (en) Motion vector detection apparatus and method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040430

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040430

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060926

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070326

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

Free format text: PAYMENT UNTIL: 20100413

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120413

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140413

Year of fee payment: 7

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