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

JP4403330B2 - Motion vector detection device and detection method, and image signal processing device and processing method - Google Patents

Motion vector detection device and detection method, and image signal processing device and processing method Download PDF

Info

Publication number
JP4403330B2
JP4403330B2 JP2000020553A JP2000020553A JP4403330B2 JP 4403330 B2 JP4403330 B2 JP 4403330B2 JP 2000020553 A JP2000020553 A JP 2000020553A JP 2000020553 A JP2000020553 A JP 2000020553A JP 4403330 B2 JP4403330 B2 JP 4403330B2
Authority
JP
Japan
Prior art keywords
pixel
motion vector
pixels
straight line
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
JP2000020553A
Other languages
Japanese (ja)
Other versions
JP2001053981A (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 JP2000020553A priority Critical patent/JP4403330B2/en
Priority to US09/769,647 priority patent/US6687388B2/en
Publication of JP2001053981A publication Critical patent/JP2001053981A/en
Application granted granted Critical
Publication of JP4403330B2 publication Critical patent/JP4403330B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Picture Signal Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、動画像について動きベクトルを検出する動きベクトル検出装置および検出方法、並びに画像信号処理装置および処理方法に関する。
【0002】
【従来の技術】
画像からノイズを除去するために、従来から動き適応型リカーシブフィルタが使用されている。動き適応型リカーシブフィルタの構成の一例を図24に示す。注目フレーム、すなわち各時点における入力フレームの画像データが減算回路1100に供給される。減算回路1100には、さらに、フレームメモリ1099に記憶されている、前フレームすなわち注目フレームに対して1フレーム前のフレームの画像データが供給される。減算回路1100の出力が絶対値算出回路1101に供給されて絶対値に変換され、絶対値がしきい値処理回路1102に供給される。しきい値処理回路1102は、供給される絶対値を所定のしきい値の下でしきい値処理し、画素毎に動き/静止を判定する。
【0003】
しきい値処理回路1102による判定結果が重み設定値発生回路1103に供給される。重み設定値発生回路1103は、供給される判定結果に応じて重み設定値kの値を設定する。設定されるkの値は、入力フレームに対する振幅調整を行うアンプ1105に供給される。ここで、アンプ1104は入力信号をk倍し、また、アンプ1105はフレームメモリ内の画素データを(1−k)倍する。
【0004】
しきい値処理回路1102によって静止と判定される場合には、kの値として0〜0.5の間のある固定値が設定される。このような設定により、アンプ1104、1105の後段の加算器1106の出力は注目フレーム内の画素値と前フレーム内の画素値とが重み付け加算された値とされる。一方、しきい値処理回路1102によって動きと判定される場合には、kの値として1が設定される。このような設定により、加算器1106からは注目フレーム内の画素値がそのまま出力される。
【0005】
【発明が解決しようとする課題】
上述したような動き適応型リカーシブフィルタにおいては、次の(a)〜(d)のような問題がある。(a)静止部分に対して、一定の重み(固定値k)の下で重み付け加算を行うだけなので、ノイズの大きさや方向が変化する場合に、それに的確に対応するノイズ除去がなされない。(b)ノイズレベルが大きい場合、静止部分を動きと誤判定してしまうので、ノイズ除去効果が減少する。(c)動き部分を静止と誤判定し、尾引き状の劣化が見られる場合がある。(d)動き部分に対してはノイズ除去ができない。
【0006】
また、クラス分類適応処理を用いてノイズ除去を行う方法が提案されている。すなわち、ブロックマッチングを行うことによって動きベクトルを検出し、検出した動きベクトルに基づいて、フレーム間で対応する画素を用いたクラス分類適応処理を行うようにしたものである。この場合には、動き適応型リカーシブフィルタにおける問題点は解消若しくはその程度を軽減できるが、以下のような問題がある。
【0007】
(e)ブロックマッチングを用いているために処理が重い。(f)例えばフレームtとフレームt+1,フレームt+1とフレームt+2等、各フレーム間でそれぞれブロックマッチングを行う必要がある。それらのブロックマッチングがどれか1個でも誤るとノイズ除去の効果が軽減される。(g)ブロックマッチングでは、ブロック内に含まれてしまうような小さなオブジェクトの動きは検出できないので、そのような動きに起因して的確でない処理が行われるおそれがある。
【0008】
また、動きベクトル検出に係る動き適応型リカーシブフィルタ以外の従来技術として、ブロックマッチング法、勾配法等が挙げられる。ブロックマッチング法は、探索範囲毎にブロック内の画素差分の総和を計算し、計算値を比較する必要がある。このため、演算量が膨大となり、回路規模の縮小、処理時間の向上等の観点から問題があった。また、ブロック内に含まれるような細かい動きについては、動き量を正確に検出することができない。また、勾配法は、ノイズが加わった画像に対しては、動き量の検出精度が著しく劣化する。
【0009】
従って、この発明の目的は、動画に対して動きベクトルの算出を的確に行うことが可能な動きベクトル検出装置および検出方法、並びに画像信号処理装置および処理方法を提供することにある。
【0010】
【課題を解決するための手段】
請求項1の発明は、画像信号内の注目画素および注目画素の周辺に位置する複数の画素を含む対象画素毎に、各対象画素を通り、時間方向に延びる直線上に位置する複数の画素を抽出する抽出手段と、
各注目画素に対する各対象画素に対して、抽出手段によって直線の方向毎に抽出される複数の画素の画素値に基づいて、直線の方向毎に類似度を検出する類似度検出手段と、
対象画素毎の直線の方向毎に検出された類似度に基づいて、注目画素に対する動きベクトルを算出する動きベクトル算出手段とを備えることを特徴とする動きベクトル検出装置である。
【0011】
請求項13の発明は、画像信号内の注目画素および注目画素の周辺に位置する複数の画素を含む対象画素毎に、各対象画素を通り、時間方向に延びる直線上に位置する複数の画素を抽出する抽出ステップと、
各注目画素に対する各対象画素に対して、抽出ステップによって直線の方向毎に抽出される複数の画素の画素値に基づいて、直線の方向毎に類似度を検出する類似度検出ステップと、
対象画素毎の直線の方向毎に検出された類似度に基づいて、注目画素に対する動きベクトルを算出する動きベクトル算出ステップとを有することを特徴とする動きベクトル検出方法である。
【0012】
請求項14の発明は、画像信号内の注目画素を通り、時間方向に延びる直線と、注目画素の周辺に位置する画素を通り、直線と平行な直線との各々について、当該直線上に位置する複数の画素を抽出する抽出手段と、
抽出手段によって直線の方向毎に抽出される複数の画素に基づいて、直線の方向毎に類似度を検出する類似度検出手段と、
直線の方向毎に検出される類似度に基づいて、注目画素に対する動きベクトルを算出する動きベクトル算出手段とを備えることを特徴とする動きベクトル検出装置である。
【0013】
請求項19の発明は、画像信号内の注目画素を通り、時間方向に延びる直線と、注目画素の周辺に位置する画素を通り、直線と平行な直線との各々について、当該直線上に位置する複数の画素を抽出する抽出ステップと、
抽出ステップによって直線の方向毎に抽出される複数の画素に基づいて、直線の方向毎に類似度を検出する類似度検出ステップと、
直線の方向毎に検出される類似度に基づいて、注目画素に対する動きベクトルを算出する動きベクトル算出ステップとを備えることを特徴とする動きベクトル検出方法である。
【0014】
請求項20の発明は、画像信号をフレーム毎に記憶する複数個のフレームメモリと、
複数個のフレームメモリに記憶される各フレームから1個または複数個の画素を切出す第1の画像切出し手段と、
第1の画像切出し手段によって切出される画素の画素値に基づいて時空間内での画像レベル分布のパターンを検出し、検出結果に応じてクラス分類を行うクラス分類手段と、
クラス毎に予め決定された予測係数を記憶しており、記憶した予測係数の内から、クラス分類手段によるクラス分類結果に対応するものを出力する係数メモリと、
複数個のフレームメモリに記憶される各フレームから1個または複数個の画素を切出す第2の画像切出し手段と、
係数メモリの出力と、第2の画像切出し手段によって切出される画像領域のデータとに基づいて演算を行うことによって出力画像を生成する出力画像生成手段と、
画像信号内の注目画素および注目画素の周辺に位置する複数の画素を含む対象画素毎に、各対象画素を通り、時間方向に延びる直線上に位置する複数の画素を抽出する抽出手段と、注目画素の各々に対応する各対象画素に対して、抽出手段によって直線の方向毎に抽出される複数の画素の画素値に基づいて、直線の方向毎に類似度を検出する類似度検出手段と、対象画素毎の直線の方向毎に検出された類似度に基づいて、注目画素に対する動きベクトルを算出する動きベクトル算出手段を含む動きベクトル検出手段と、
動きベクトル検出手段によって検出される動きベクトルに基づいて、第1の画像切出し手段および/または第2の画像切出し手段によって切出される画素の位置を設定する切出し位置決定手段とを備えることを特徴とする画像信号処理装置である。
【0015】
請求項21の発明は、画像信号をフレーム毎に記憶する記憶ステップと、
記憶ステップによって記憶される各フレームから1個または複数個の画素を切出す第1の画像切出しステップと、
第1の画像切出しステップによって切出される画素の画素値に基づいて時空間内での画像レベル分布のパターンを検出し、検出結果に応じてクラス分類を行うクラス分類ステップと、
クラス毎に予め決定された予測係数を記憶しており、記憶した予測係数の内から、クラス分類手段によるクラス分類結果に対応するものを出力する係数出力ステップと、
記憶ステップによって記憶される各フレームから1個または複数個の画素を切出す第2の画像切出しステップと、
係数出力ステップによる出力と、第2の画像切出しステップによって切出される画像領域のデータとに基づいて演算を行うことによって出力画像を生成する出力画像生成ステップと、
画像信号内の注目画素および注目画素の周辺に位置する複数の画素を含む対象画素毎に、各対象画素を通り、時間方向に延びる直線上に位置する複数の画素を抽出する抽出ステップと、注目画素の各々に対応する各対象画素に対して、抽出ステップによって直線の方向毎に抽出される複数の画素の画素値に基づいて、直線の方向毎に類似度を検出する類似度検出ステップと、対象画素毎の直線の方向毎に検出された類似度に基づいて、注目画素に対する動きベクトルを算出する動きベクトル算出ステップを含む動きベクトル検出ステップと、
動きベクトル検出ステップによって検出される動きベクトルに基づいて、第1の画像切出しステップおよび/または第2の画像切出しステップによって切出される画素の位置を設定する切出し位置決定ステップとを有することを特徴とする画像信号処理方法である。
【0016】
以上のような発明によれば、時空間内で注目フレーム内の複数の画素を通る複数の直線上に位置する複数のフレーム内の画素の画素値に基づいてなされる演算処理の結果に基づいて動きベクトルが算出される。
【0017】
【発明の実施の形態】
この発明の第1の実施形態についての説明に先立ち、理解を容易とするために、ブロックマッチングとクラス分類適応処理とを組み合わせることによって動画像について動きを考慮してノイズ除去を行うようにした、先に提案された構成(特願平10−304058号参照)についてその概要を説明する。このような構成の一例を図1に示す。ノイズを除去されるべき入力画像信号がフレームメモリ200に供給される。フレームメモリ200には、フレームメモリ201、202がシフトレジスタ状に順次接続されている。これにより、フレームメモリ200、201、202には、時間的に連続する3個のフレームの画像データが記憶される。
【0018】
フレームメモリ200、201は、記憶しているフレームを動きベクトル検出部203に供給する。動きベクトル検出部203は、供給される2個のフレームに基づいてブロックマッチングを行って動きベクトルを検出し、検出した動きベクトルを領域切出し部205および206に供給する。また、フレームメモリ200,201、202は、記憶しているフレームを領域切出し部205および206に供給する。動きベクトル検出部204は、供給される2個のフレームに基づいてブロックマッチングを行って動きベクトルを検出し、検出した動きベクトルを領域切出し部205および206に供給する。
【0019】
領域切出し部206には、フレームメモリ200、201および202が記憶しているフレームが供給される。領域切出し部206は、動きベクトル検出部203から供給される動きベクトルおよび動きベクトル検出部204から供給される動きベクトルを参照して、供給されるフレームから、所定の位置の画像領域を切出す。切出された画像領域のデータがクラスコード発生部207に供給される。クラスコード発生部207は、供給されるデータから、例えばADRC(Adaptive Dynamic Range Coding)処理等によって時空間内のパターンを抽出し、抽出したパターンに従って分類されるクラスを示すクラスコードを生成する。
【0020】
このように、領域切出し部206が切出す画像領域は、クラス分類に係る処理に用いられるので、かかる画像領域はクラスタップと称される。クラスコードは、係数メモリ208に供給される。係数メモリ208は、クラス毎に予め決定された予測係数を記憶しており、記憶している予測係数の内から、クラスコードに対応するものを出力する。係数メモリ208の出力は、推定演算部209に供給される。
【0021】
一方、領域切出し部205には、フレームメモリ200,201,202が記憶しているフレームの画像データが供給される。領域切出し部205は、動きベクトル検出部204および203から供給される動きベクトルを参照して、供給されるフレームの画像データから所定の位置の画像領域を切出し、切出した画像領域のデータを推定演算部209に供給する。推定演算部209は、領域切出し部205から供給されるデータと、係数メモリ208から供給される予測係数とに基づいて所定の演算を行い、その結果として出力画像を生成する。この出力画像においてノイズが除去若しくは軽減されている。このように、領域切出し部205が切出す画像領域は、出力画像を予測生成するための演算に用いられるので、かかる画像領域はクラスタップと称される。
【0022】
領域切出し部206、205によってそれぞれ切出されるクラスタップ、予測タップのタップ構造について図2を参照して説明する。図2において、予測されるべき注目画素を黒丸で示し、クラスタップまたは予測タップとして切出される画素を、影を付した丸で示した。図2Aには、基本的なクラスタップ構造の一例を示す。注目画素を含む注目フレームf[0]と、時間的に注目フレームの前後に位置するフレーム、すなわちf[−1]、f[+1]とから、注目画素と同一の空間位置の画素がクラスタップとして抽出される。また、図2Bには、基本的な予測クラスタップ構造の一例を示す。注目フレームの画像データと、時間的に注目フレームの前後に位置するフレームの画像データとから、注目画素と、注目画素の周囲に位置する例えば12個の計13個の画素が予測タップとして抽出される。
【0023】
さらに、図1中の動きベクトル検出部203、204から出力される動きベクトルに応じて時間的に切出し位置がずらされる場合について図2C,図2Dに示す。図2Eに示すように、注目フレームにおける動きベクトルが(0,0)であり、前フレームにおける動きベクトルが(−1、−1)、後フレームにおける動きベクトルが(1、1)である場合に、フレーム全体におけるクラスタップ、予測タップの切出し位置が動きベクトルに従って平行移動させられる。このように、先の出願に係る構成では、クラスタップ、予測タップを切出す処理に先立って動きベクトルを検出する必要がある。この場合、動きベクトルを検出するためのブロックマッチング等の処理には大きな計算量が必要とされ、装置に大きな負荷が掛かるという問題があった。
【0024】
次に、この発明の第1の実施形態について説明する。この発明の第1の実施形態における、予測推定に係る構成の一例を図3に示す。入力画像信号がフレームメモリ21に供給される。フレームメモリ21には、フレームメモリ22、23、24、25がシフトレジスタ状に順次接続されている。これにより、フレームメモリ21〜25に、時間的に連続する5個のフレームの画像データが記憶される。以下の説明では、フレームメモリ23に記憶される画像データを注目フレームの画像データとして扱うものとする。また、フレームメモリ24,25に記憶される画像データを、それぞれ、注目フレームよりそれぞれ1フレーム、2フレーム前のフレームの画像データとして扱い、また、フレームメモリ22,21に記憶される画像データを、それぞれ、注目フレームよりそれぞれ1フレーム、2フレーム後のフレームの画像データとして扱うものとする。
【0025】
フレームメモリ21、22、23、24、25が記憶しているフレーム内の画像データがタップ配置決定部26に供給される。タップ配置決定部26は、供給されるデータに基づいてクラスタップ、予測タップとして切出すべき画素の位置を決定する。クラスタップとして切出すべき画素の位置に係る情報が領域切出し部28に供給される。また、予測タップとして切出すべき画素の位置に係る情報が領域切出し部27に供給される。領域切出し部27、28には、フレームメモリ21〜25が記憶しているフレームの画像データが供給される。領域切出し部28は、供給される各フレームから、タップ配置決定部26から供給される情報に従う位置の画素をクラスタップとして切出す。一方、領域切出し部27は、供給される各フレームから、タップ配置決定部26から供給される情報に従う位置の画素を予測タップとして切出す。
【0026】
領域切出し部28は、切出したクラスタップのデータをクラスコード発生部29に供給する。クラスコード発生部29は、供給されるデータから、例えばADRCおよびDR(ダイナミックレンジ)の量子化等の処理を行うことによって時空間内のパターンを抽出し、抽出したパターンに従って分類されるクラスを示すクラスコードを生成する。ノイズのない静止画像の場合、同一画素であればフレーム間での画素値の変動はあり得ない。また、動きに対しても、動きが速い場合についてはぼけ等の劣化が見られるが、基本的に同一画素では時間的な変動はない。
【0027】
従って、同一画素の値の変動がある場合に、その変動はノイズであると考えられる。このため、時間方向のみに広げたクラスタップ構造の下で1画素のみを切出し、切出した画素のデータに基づいてADRCを行うことによって、フレーム毎のノイズ成分を検出することができる。また、ADRCによって生成する再量子化コードのビット数が大きい程、ノイズレベルの変動をより的確に検出することができる。また、DRを量子化して、その値とADRCによる再量子化コードを含めて、クラスコードを演算することにより、ノイズレベルの違いを区別することができる。
【0028】
ADRC処理について以下に説明する。ADRCは、本来、VTR(Video Tape Recorder) 用の高能率符号化のために開発された適応的再量子化法であるが、信号レベルの局所的なパターンを短い語調で効率的に表現できるという特徴を有する。このため、クラス分類のコードを発生するための、画像信号の時空間内でのパターンの検出に使用することができる。すなわち、以下の式(1)により、クラスタップとして切出される領域内の最大値MAXと最小値MINとの間を指定されたビット数で均等に分割して再量子化する。
【0029】
DR=MAX−MIN+1
Q=〔(L−MIN+0.5)×2n /DR〕 (1)
ここで、DRは領域内のダイナミックレンジである。また、nはビット割り当て数であり、例えばn=2とすることができる。また、Lは領域内画素のデータレベルであり、Qが再量子化コードである。但し、大かっこ(〔‥‥〕)は切り捨て処理を意味する。
【0030】
これにより、1画素当たり例えば8ビットからなるクラスタップの画素データが例えば2ビットの再量子化コード値に変換される。このようにして生成される再量子化コード値により、クラスタップのデータにおけるレベル分布のパターンがより少ない情報量によって表現される。例えば7画素からなるクラスタップのタップ構造を用いる場合、上述したような処理により、各画素に対応する7個の再量子化コードq1 〜q7 が生成される。かかる出力に基づいてクラスコード発生回路4が発生するクラスコードclassは、次の式(2)のようなものである。
【0031】
【数1】

Figure 0004403330
ここで、nはクラスタップとして切出される画素の数である。また、pの値としては、例えばp=2とすることができる。
【0032】
クラスコードは、係数メモリ30に供給される。係数メモリ30はクラス毎に予め決定された予測係数を記憶しており、記憶している予測係数の内から、クラスコードに対応するものを出力する。係数メモリ30の出力は、推定演算部31に供給される。一方、領域切出し部27は、切出した予測タップのデータを推定演算部31に供給する。推定演算部31は、領域切出し部27から供給されるデータと、係数メモリ30から供給される予測係数とに基づいて以下の式(1)のような演算を行い、その結果として出力画像中の画素値yを順次生成する。
【0033】
y=w1×x1 +w2 ×x2 +‥‥+wn ×xn (3)
ここで、x1 ,‥‥,xn が各予測タップの画素データであり、w1 ,‥‥,wn が各予測係数である。
【0034】
次に、この発明の第1の実施形態における学習、すなわち予測係数を決定する処理について図4を参照して説明する。画像情報変換の結果として生成されるべきノイズを有しない画像(以下、教師画像と表記する)がノイズ付加部40と、正規方程式加算部50とに供給される。ノイズ付加部40は、供給される教師画像にノイズ成分を付加する。ノイズ付加部40の出力がフレームメモリ41に供給される。フレームメモリ41には、フレームメモリ42、43、44、45がシフトレジスタ状に順次接続されている。これにより、フレームメモリ41〜45に、時間的に連続する5個のフレームの画像データが記憶される。以下の説明では、フレームメモリ43に記憶される画像データを注目フレームの画像データとして扱うものとする。また、フレームメモリ44,45に記憶される画像データを、それぞれ、注目フレームよりそれぞれ1フレーム、2フレーム前のフレームの画像データとして扱い、また、フレームメモリ42,41に記憶される画像データを、それぞれ、注目フレームよりそれぞれ1フレーム、2フレーム後のフレームの画像データとして扱うものとする。
【0035】
フレームメモリ41〜45が記憶しているフレーム内のデータがタップ配置決定部46に供給される。タップ配置決定部26は、図3中のタップ配置決定部46と同様に、供給されるデータに基づいてクラスタップ、予測タップとして切出すべき画素の位置を決定する。クラスタップとして切出すべき画素の位置に係る情報が領域切出し部48に供給される。また、予測タップとして切出すべき画素の位置に係る情報が領域切出し部47に供給される。
【0036】
また、領域切出し部47、48には、フレームメモリ41〜45が記憶しているフレームが供給される。領域切出し部48は、供給される各フレームから、タップ配置決定部46から供給される情報に従う位置の画素をクラスタップとして切出す。一方、領域切出し部47は、供給される各フレームから、タップ配置決定部46から供給される情報に従う位置の画素を予測タップとして切出す。時空間内でクラスタップとして切出される画素位置の一例を図9Aに示す。また、時空間内で予測タップとして切出される画素位置の一例を図9Bに示す。
【0037】
領域切出し部48は、切出したクラスタップのデータをクラスコード発生部49に供給する。クラスコード発生部49は、供給されるデータから、図3中のクラスコード発生部29と同様な処理を行うことによって時空間内のパターンを抽出し、抽出したパターンに従って分類されるクラスを示すクラスコードを生成する。クラスコードが正規方程式加算部50に供給される。
【0038】
一方、領域切出し部47は、切出した予測タップのデータを正規方程式加算部50に供給する。正規方程式加算部50は、供給される教師画像、予測タップのデータおよびクラスコードに基づいて、予測係数を解とする正規方程式を解くために必要なデータを計算する。正規方程式加算部50の出力は、予測係数決定部51に供給される。予測係数決定部51は、所定の演算を行うことにより、クラス毎の予測係数を決定する。決定された予測係数がメモリ52に供給され、記憶される。メモリ52に記憶内容が図3中の係数メモリ30にロードされることにより、上述したような予測推定が可能とされる。
【0039】
予測係数を決定するための演算について説明する。図4に示したような構成に対し、複数種類の画像データが供給される。これらの画像データの種類数をmと表記する場合、式(3)から、以下の式(4)が設定される。
【0040】
k =w1 ×xk1+w2 ×xk2+‥‥+wn ×xkn (4)
(k=1,2,‥‥,m)
m>nの場合には、w1 ,‥‥,wn は一意に決まらないので、誤差ベクトルeの要素ek を以下の式(5)で定義して、式(6)によって定義される誤差ベクトルeの2乗を最小とするように予測係数を定めるようにする。すなわち、いわゆる最小2乗法によって予測係数を一意に定める。
【0041】
k =yk −{w1 ×xk1+w2 ×xk2+‥‥+wn ×xkn} (5)
(k=1,2,‥‥m)
【0042】
【数2】
Figure 0004403330
【0043】
式(6)のe2 を最小とする予測係数を求めるための実際的な計算方法としては、e2 を予測係数wi (i=1,2‥‥)で偏微分し(式(7))、iの各値について偏微分値が0となるように各予測係数wi を決定すれば良い。
【0044】
【数3】
Figure 0004403330
【0045】
式(7)から各予測係数wi を決定する具体的な手順について説明する。式(8)、(9)のようにXji,Yi を定義すると、式(7)は、式(10)の行列式の形に書くことができる。
【0046】
【数4】
Figure 0004403330
【0047】
【数5】
Figure 0004403330
【0048】
【数6】
Figure 0004403330
【0049】
式(10)が一般に正規方程式と呼ばれるものである。正規方程式加算部50は、供給されるデータに基づいて式(8)、(9)に示すような演算を行うことにより、Xji,Yi (i=1,2,‥‥,n)をそれぞれ計算する。予測係数決定部51は、掃き出し法等の一般的な行列解法に従って正規方程式(10)を解くことにより、予測係数wi (i=1,2,‥‥,n)を算出する。
【0050】
次に、ノイズ付加部40における、教師画像にノイズを付加する処理について詳細に説明する。ノイズを付加する方法としては、例えば以下の(1)〜(4)ような方法が考えられる。(1)コンピュータシミュレーション的にランダムノイズを発生させ、発生させたノイズを付加する。(2)教師画像に対してRF系を介してノイズを付加する。(3)レベルが一様な画像と、その画像をRF系を介してなる画像との差分をとり、その差分を教師画像に加算する。(4)レベルが一様な画像をRF系を介してなる画像と、該画像についてフレーム加算を行うことによってノイズ除去をした画像との差分をとることによってノイズ成分を抽出し、抽出したノイズ成分を教師画像に付加する。
【0051】
(2)の方法に係る構成の一例を図5に示す。教師画像がRF変調器61に供給される。RF変調器61は、教師画像にRF変調を施す。RF変調器61の出力がアテネータ減衰器62に供給される。アテネータ減衰器62は、RF変調器61の出力にアテネータ減衰処理を施す。アテネータ減衰器62の出力はRF復調器63に供給される。RF復調器63は、アテネータ減衰器62の出力をRF復調することにより、教師画像にノイズが付加された画像を生成する。なお、(2)の方法においては、教師画像と生徒画像との間での画素位置のずれを考慮する必要がある。
【0052】
(3)の方法に係る構成の一例を図6に示す。レベルが一様な画像がRF変調器71と減算器74とに供給される。RF変調器71は、供給される画像にRF変調を施す。RF変調器71の出力がアテネータ減衰器72に供給される。アテネータ減衰器72は、RF変調器71の出力にアテネータ減衰処理を施す。アテネータ減衰器72の出力はRF復調器73に供給される。RF復調器73は、アテネータ減衰器72の出力をRF復調する。RF復調器73の出力が減算器74に供給される。減算器74は、レベルが一様な画像とRF復調器73の出力との差分をとる。減算器74の出力が加算器75に供給される。加算器75には、さらに、教師画像が供給される。加算器75は、減算器74の出力を教師画像に加算することにより、教師画像にノイズが付加された画像を生成する。
【0053】
(4)の方法に係る構成の一例を図7に示す。レベルが一様な画像がRF変調器81に供給される。RF変調器81は、供給される画像にRF変調を施す。RF変調器81の出力がアテネータ減衰器82に供給される。アテネータ減衰器82は、RF変調器81の出力にアテネータ減衰処理を施す。アテネータ減衰器82の出力はRF復調器83に供給される。RF復調器83は、アテネータ減衰器82の出力をRF復調する。RF復調器83の出力がフレーム加算回路84と、減算器85とに供給される。
【0054】
フレーム加算回路84は、供給される画像をフレーム加算することによってRF復調器83の出力からノイズが除去されてなる画像を生成する。フレーム加算回路84の出力が減算器85に供給される。減算器85は、RF復調器83の出力とフレーム加算回路84の出力との差分をとることにより、RF系におけるノイズ成分を抽出する。減算器85の出力である、抽出されたノイズ成分は加算器86に供給される。加算器86には、さらに、教師画像が供給される。加算器86は、減算器85の出力を教師画像に加算することにより、教師画像にノイズが付加された画像を生成する。
【0055】
次に、タップ配置決定部26、46によってなされるタップ位置の決定方法について詳細に説明する。まず、図8を参照して原理的な説明を行う。ここで、水平、垂直方向にそれぞれ、各フレームにおける水平、垂直方向をとり、また、奥に向かう方向に時間をとる。すなわち、時間経過に従ってフレームf[−2],f[−1],f[0],f[+1],f[+2]が順に奥に見えるように図示されている。また、この方法を行うためには以下のような前提条件が満たされる必要がある。
【0056】
(P)5フレーム程度の微小な時間においては、画像の動きはほぼ等速直線運動である。本願出願人は、実際の画像について(P)が成り立つことを統計的に確認した。
(Q)ノイズが無い場合、各フレーム間での同じ画素の分散は0であるか、或いは0に極めて近い。
【0057】
この発明の第1の実施形態では、フレームf[−2]〜f[+2]を通る時空間内での直線を幾つか設定し、各直線上に位置するフレームf[−2]〜f[+2]内の画素値の分散をそれぞれ計算する。そして、分散が最小となる場合の直線を決定し、そのような直線が動きを示すものとする。
【0058】
より具体的には、図8に示すように、注目フレームf[0]上に、注目画素を中心として例えば5×5画素の領域(以下、投票範囲と表記する)を設定し、投票範囲から各画素(以下、投票画素と表記する)を順次取り出し、取り出した投票画素の各々について以下の処理を行う。すなわち、例えばフレームf[+1]上に投票画素に対応する画素位置を中心として探索範囲を設定する。探索範囲は、フレームf[+1]以外のフレーム上に設定しても良い。さらに、投票画素と探索範囲内の各画素(以下、探索画素と表記する)を通る各直線上にあるフレームf[−2]〜f[+2]内の各画素を取り出す。そして、取り出した画素の間で分散を計算し、計算される分散が最小となる時の直線に基づいて動きベクトルを算出する。分散が最小となる時の直線は、投票画素の各々に対応して1個ずつ決まるので、例えば5×5画素の画素領域内から投票画素を設定する場合においては25個の直線が決められることになる。この内で最も頻度が大きいものを、注目画素の動きを示す直線として最終的に決定する。
【0059】
処理手順の一例を図10に示す。ステップS1では、注目画素周辺の例えば5×5画素の領域から投票画素を取り出す。ステップS2では、例えばf[1]上に探索範囲を設定する。ステップS3では、探索範囲内の位置を示すパラメータa,bをそれぞれ0と設定する(初期化)。ここで、図8に示すように、a,bは探索範囲内での例えば水平方向、垂直方向の座標をそれぞれ示すものである。勿論、直行座標系以外座標系を用いて探索範囲内の位置を示すようにしても良い。(a,b)が設定される毎に1個の直線が決まる。ステップS4では、(a,b)によって決まる直線上にある、f[−2]〜f[+2]内の各画素を取り出す。
【0060】
ステップS5では、ステップS4で取り出された画素の間の分散を計算する。ステップS6では、ステップS5で計算された分散がそれ以前に他の(a,b)に対応して計算された分散の内で最小であるか否かを判定する。ステップS5で計算された分散がそれ以前に他の(a,b)に対応して計算された分散の内で最小であると判定される場合にはステップS7に移行し、それ以外の場合にはステップS8に移行する。ステップS7では、ステップS5で計算された分散値およびその時の(a,b)を保存し、さらにステップS8に移行する。ステップS8では、a,bの値を更新する。
【0061】
図8に示したようにa,bをとる場合には、a,bの値の更新は例えばラスタスキャン上に行うことができる。ステップS9では、ステップS8で更新されたa,bの値がステップS2で設定された探索範囲を越えるか否かをチェックする。探索範囲を越える場合には、最早、探索は終了したとの判断の下にステップS10に移行する。それ以外の場合にはステップS4に移行し、ステップS8で更新されたa,bの値の下での処理を行う。
【0062】
ステップS10では、ステップS7によって保存された、分散を最小とする(a,b)を投票する。ここで、投票とは、(a,b)の頻度分布を調べる処理である。ステップS11では、ステップS1によって投票画素として取り出された全ての画素に対して投票がなされたか否かを判定する。全ての投票画素に対して投票がなされたと判定される場合にはステップS12に移行し、それ以外の場合にはステップS1に移行して、投票画素として新たな画素を切出し、切出した画素についての処理を行う。
【0063】
ステップS12では、投票数の多い、すなわち頻度の大きい直線上にフレーム内におけるクラスタップおよび予測タップが設定される。このようにして、動きを的確に反映したタップ配置が行われる。
【0064】
ここで、投票によって頻度の大きい(a,b)を定めるようにしたので、入力画像におけるノイズに起因して(a,b)の値の決定が誤るおそれを回避若しくはその程度を減少させることができる。従って、動きをより精度良く反映したタップ配置が可能とされる。
【0065】
上述したこの発明の第1の画像は、動画像において動きベクトルを検出し、検出した動きベクトルを参照することによって、ノイズをより的確に除去するようにしたものであるが、この発明は、動きを把握することが必要な各種の画像信号処理を行う場合に適用することができる。
【0066】
次に、この発明の第2〜第5の実施形態における動きベクトル検出処理の概要について図11を参照して説明する。図11では、注目フレームf〔0〕を中心として、時間的に先行する2フレームすなわちフレームf〔−1〕およびフレームf〔−2〕、並びに時間的に後続する2フレームすなわちフレームf〔+1〕およびフレームf〔+2〕上の画素を図示した(各画素を丸で示す)。但し、注目画素は黒丸として図示した。なお、図面が煩雑となるのを避けるため、フレームf〔−2〕およびフレームf〔+2〕のみを点線の長方形として図示した。
【0067】
この発明の第2および第3の実施形態では、注目フレームf〔0〕内で注目画素の周囲に投票範囲が設定され、投票範囲内の投票画素の各々について、その画素を通る複数の直線の内で当該直線上に位置する各フレーム内の画素の分散が最小となるものが推定される。そして、投票、すなわち各投票画素について推定される直線パラメータの内で最も頻度が高いものを注目画素の動きの軌跡として採用する処理が行われることにより、動きベクトルが算出される。
【0068】
また、この発明の第4および第5の実施形態では、注目フレームf〔0〕内で注目画素の周囲に領域(以下、管範囲と表記する)を設定し、当該領域内の各画素を通る互いに平行な複数の直線からなる複数種類の直線群が設定される。以下、このような直線群を管と表記する。従って、管は、平行直線を規定する直線パラメータによって規定されることになる。そして、当該管を構成する各直線上に位置する、フレームf〔−2〕〜フレームf〔+2〕内の画素の分散の総和が最小となるような管を判定し、判定した管に係る直線パラメータに基づいて動きベクトルが算出される。
【0069】
以下、この発明の第2の実施形態について詳細に説明する。図12に、この発明の第2の実施形態に係る構成の一例を示す。入力画像信号は、フレームメモリ部10に入力される。フレームメモリ部10は、シフトレジスタ状に接続された5個のフレームメモリfm〔−2〕、fm〔−1〕、fm〔0〕、fm〔+1〕、fm〔+2〕を備えている。フレームメモリfm〔−2〕、fm〔−1〕、fm〔0〕、fm〔+1〕、fm〔+2〕には、それぞれ、入力画像信号内の連続する5個のフレームf〔−2〕、フレームf〔−1〕、フレームf〔0〕、フレームf〔+1〕、フレームf〔+2〕の画像データが記憶される。
【0070】
注目フレームf〔0〕の画像データがフレームメモリfm〔0〕から投票範囲決定部11内の領域切出し回路112に供給される。また、f〔−2〕、フレームf〔−1〕、フレームf〔0〕、フレームf〔+1〕、フレームf〔+2〕の画像データがそれぞれ、フレームメモリfm〔−2〕、fm〔−1〕、fm〔0〕、fm〔+1〕、fm〔+2〕から動きベクトル算出部12内の直線上画素切出し回路123に供給される。
【0071】
投票範囲初期設定回路111は初期の切出し領域を設定し、設定した初期の切出し領域を示すパラメータを領域切出し回路112に供給する。領域切出し回路112は、注目フレームf〔0〕の画像データから、供給されるパラメータに従って領域を切出す。
【0072】
領域切出し回路112は、切出した領域内の画素データを水平方向DR計算回路113および垂直方向DR計算回路114に供給する。水平方向DR計算回路113は、供給される画素データを水平方向にスキャン(図13A参照)することによって、水平方向のDR(ダイナミックレンジ)を計算する。水平方向DR計算回路113は、さらに、計算した水平方向のDRの内で最大のものを決定して、水平方向のDRの最大値を投票範囲決定回路116に供給する。
【0073】
また、垂直方向DR計算回路114は、供給される画素データを垂直方向にスキャン(図13B参照)することによって垂直方向のDRを計算する。垂直方向DR計算回路114は、さらに、計算した垂直方向のDRの内で最大のものを決定して、垂直方向のDRの最大値を投票範囲決定回路116に供給する。
【0074】
投票範囲決定回路116は、供給される水平方向および垂直方向のDRの最大値が共に予め設定されたしきい値を越える際に、その時に切出されている領域を動きベクトル検出のための演算処理に使用する投票範囲として最終的に決定する。
【0075】
一方、供給される水平方向および垂直方向のDRの最大値の内の少なくとも一方が予め設定されたしきい値以下となる場合には、投票範囲決定回路116は、その時に切出されている領域を示すパラメータを投票範囲更新回路115に供給する。投票範囲更新回路115は、供給されるパラメータに基づいて新たな領域を設定し、設定した領域を示すパラメータを領域切出し回路112に供給する。領域切出し回路112は、供給されるパラメータに基づいて、注目フレームf〔0〕の画像データから新たな領域を切出す。
【0076】
上述したような構成および動作により、水平方向および垂直方向のDRの最大値が共に予め設定されたしきい値を越えるという条件を満たすまで、投票範囲の候補として切出される領域を初期設定に係る領域から段階的に拡大する処理が行われる。これにより、動きベクトル検出のための演算処理に使用する投票範囲が最終的に決定される。例えば図14Aに示すように、初期に切出される領域が水平および垂直方向にそれぞれ、0番目〜11番目までの画素からなる矩形の領域とされ、その後、水平方向および垂直方向のDRの最大値が共にしきい値を越えるという条件が満たされるまで、水平および垂直方向にそれぞれ0番目〜22番目、0番目〜33番目、…の画素を含む矩形の領域が順次切出される。
【0077】
ここで、初期の切出し領域の大きさ、新たな領域を切出す際の領域の拡大の割合、DRについてのしきい値等は任意に設定することができる。また、新たな領域として、それ以前に切出された領域を拡大したもの以外にも、それ以前に切出された領域を回転或いは縮小したものを用いても良い。
【0078】
また、投票範囲として切出される領域における画素の密度を変化させるようにしても良い。例えば図14Bに示すように,黒で示した画素を切出しの対象から除外することにより、画素を例えば1個おきに切出すようにすることにより、投票範囲として切出される領域が拡大しても領域内の画素の総数が一定となるようにしても良い。
【0079】
また、上述の説明では、切出される領域の水平方向および垂直方向のDRについてしきい値判定を行うことによって投票範囲を決定するものとしたが、切出される領域全体のDRについてしきい値判定を行うことによって投票範囲を決定するようにしても良い。また、切出される領域のアクティビティを表現する量として当該領域全体の分散等を計算し、計算結果に応じて投票範囲を決定するようにしても良い。
【0080】
投票範囲決定部11によって決定された投票範囲を示すパラメータが投票範囲決定回路116から動きベクトル算出部12内の投票画素初期設定回路121に供給される。投票画素初期設定回路121は、投票画素を初期設定し、初期設定に係る投票画素位置を示すパラメータを直線パラメータ初期設定回路122に供給する。直線パラメータ初期設定回路122は、直線パラメータを初期設定する。初期設定された直線パラメータが画素切出し回路123に供給される。
【0081】
図15からわかるように、特定の投票画素と、当該投票画素に対する相対的な空間画素位置が(a,b)であるような例えばフレームf〔1〕内の画素とを通る直線は、(x,y,t)空間内で一意に特定される。従って、投票画素が設定された状況では、直線パラメータは、(a,b)として表現することができる。実際の処理においては、例えばフレームf〔1〕内に探索範囲を設定し、探索範囲内の探索画素位置によって直線パラメータが表現される。なお、直線パラメータが同一で投票画素が異なる2直線は、互いに平行となる。
【0082】
画素切出し回路123は、フレームメモリfm〔−2〕〜fm〔+2〕から、各フレームの画像データを供給される。画素切出し回路123は、供給される画像データから、直線パラメータ(a,b)によって規定される直線上に位置する各フレーム内の画素データを切出す。切出された画素データは、分散演算および直線パラメータ保持回路124に供給される。
【0083】
分散演算および直線パラメータ保持回路124は、供給される画素データに基づいて5個の画素の分散を計算する処理、計算値を比較する処理、並びに、比較結果に応じて計算値およびそれに対応する直線パラメータを保持する処理を行う。そして、分散演算および直線パラメータ保持回路124は、最終的に保持された直線パラメータを直線パラメータ投票回路125に供給する。また、分散演算および直線パラメータ保持回路124は、分散値の計算が完了した直線パラメータについての情報を直線パラメータ更新回路126に供給する。直線パラメータ更新回路126は、供給される情報に基づいて、画素切出し回路123による画素切出しに未だ用いられていない直線を示す直線パラメータを設定し、設定した直線パラメータを画素切出し回路123に供給する。
【0084】
直線パラメータ初期設定回路122、画素切出し回路123、分散演算および直線パラメータ保持回路124、直線パラメータ更新回路126の動作の結果として以下のような処理がなされる。探索範囲内の画素位置(a,b)として表現される直線パラメータによって特定される直線上に位置する各フレーム内の画素の分散値が初期設定に係る直線パラメータに対応するものから順に計算される。そして、分散値が最小となる際の直線パラメータが直線パラメータ投票回路125に供給される。
【0085】
直線パラメータ投票回路125は、直線パラメータを供給される毎に、供給される直線パラメータを示す情報を投票画素更新回路127に供給する。かかる情報が供給される毎に、投票画素更新回路127が投票画素の更新を行い、更新された投票画素を示す情報を直線パラメータ初期設定回路122に供給する。かかる情報に基づいて直線パラメータ初期設定回路122、画素切出し回路123、分散演算および直線パラメータ保持回路124、直線パラメータ更新回路126による、上述したような処理が行われる。このようにして、投票範囲内の各画素について、当該投票画素を通る直線の内で当該直線上に位置する各フレーム内の画素の分散が最小となるものに係る直線パラメータが順次決定される。
【0086】
上述したような処理により、投票範囲内の全ての投票画素に対応して直線パラメータが供給されると、直線パラメータ投票回路125は、供給された直線パラメータについて投票すなわち頻度を検出する処理を行う。これにより、最も頻度の大きい直線パラメータが注目画素の動きベクトルの軌跡として採用される。採用された直線パラメータを(a0 ,b0 )とすると、フレームf〔−2〕、〔−1〕、f〔0〕、f〔+1〕、f〔+2〕における注目画素の動きベクトルは、それぞれ、(−2×a0 ,−2×b0 ),(−a0 ,−b0 ),(0,0),(a0 ,b0 ),(2×a0 ,2×b0 )と演算される(図16参照)。
【0087】
上述したこの発明の第2の実施形態は、投票範囲の候補として切出される領域についてDR等を順次計算し、計算値がしきい値以上となる際の領域を投票範囲として採用すると共に、各投票画素について、当該投票画素を通る直線の内で当該直線上に位置する各フレーム内の画素の分散が最小となるものに係る直線パラメータを順次決定し、決定した直線パラメータの内で頻度が最大となるものに基づいて動きベクトルを計算するようにしたものである。
【0088】
これに対して、投票範囲の候補として切出される領域の各々についてDR等を並列的に算出し、算出値を比較して、比較結果に基づいて投票範囲を決定するようにしても良い。
【0089】
また、各投票画素について、当該投票画素を通る直線の内で当該直線上に位置する各フレーム内の画素の分散が最小となるものに係る直線パラメータを並列的に決定し、決定した直線パラメータの内で頻度が最大となるものに基づいて動きベクトルを計算するようにしても良い。
【0090】
このような観点から、以下に説明するこの発明の第3の実施形態が可能である。この発明の第3の実施形態に係る構成の一例を図17に示す。入力画像信号はフレームメモリ部10に供給される。フレームメモリ部10については図12を参照して上述したので、重複する説明を省略する。フレームメモリfm〔0〕から、注目フレームf〔0〕の画像データが投票範囲決定部21内の領域切出し回路2121 ,2122 ,‥‥21219に供給される。また、フレームメモリfm〔−2〕〜fm〔+2〕から、f〔−2〕〜〔+2〕の画像データが動きベクトル算出部22内の直線パラメータ推定回路2211 ,2212 ,‥‥,221144 に供給される。
【0091】
領域切出し回路2121 ,2122 ,‥‥,21219は、注目フレームf〔0〕の画像データから、それぞれ水平および垂直方向に0番目〜11番目、0番目〜22番目、‥‥、0番目〜209(=11×19)番目までの画素を含む矩形の領域を切出す。領域切出し回路2121 ,2122 ,‥‥21219によって切出される画像データは、それぞれ、水平DR算出回路2131 ,2132 ,‥‥,21319および垂直DR算出回路2141 ,2142 ,‥‥,21419に供給される。
【0092】
水平DR算出回路2131 ,2132 ,‥‥,21319および垂直DR算出回路2141 ,2142 ,‥‥,21419は、供給される画像データに基づいて、水平方向および垂直方向のDRを算出し、算出値を比較回路215に供給する。比較回路215は、供給される各算出値を比較し、比較結果に応じて投票範囲を決定する。
【0093】
ここで、投票範囲の候補として切出される領域の大きさ、DRについてのしきい値等は任意に設定することができる。また、図14Bを参照して上述したように、切出される領域における画素の密度を変化させるようにしても良い。
【0094】
また、上述の説明では、切出される領域の水平方向および垂直方向のDRに基づいて投票範囲を決定するものとしたが、切出される領域全体のDRや、切出される領域全体の分散等を計算し、計算結果に応じて投票範囲を決定するようにしても良い。
【0095】
以下の説明は、水平および垂直方向に0番目〜11番目までの画素を含む領域が投票範囲として採用される場合を例として行う。この場合には、投票画素は、(0,0),(0,1),‥‥,(11,11)の12×12=144個となる。これらの投票画素の各々に対応して、直線パラメータ推定回路2211 ,2212 ,‥‥,221144 が動きベクトル算出部22内に設けられている。投票範囲決定部21によって決定される投票範囲を示すパラメータは、動きベクトル算出部22内の144個の直線パラメータ推定回路2211 ,2212 ,‥‥,221144 に供給される。
【0096】
直線パラメータ推定回路2211 ,2212 ,‥‥,221144 は、投票範囲内の各画素に対して、当該画素を通る直線の内でその直線上にあるフレームf〔−2〕〜フレームf〔+2〕内の画素の分散が最小となるものに係る直線パラメータを推定する。推定される直線パラメータは、投票回路222に供給される。
【0097】
投票回路222は、供給される直線パラメータについて頻度を計数し、頻度データを生成する。頻度データは、比較回路223に供給される。比較回路223は、供給される頻度データに基づいて頻度が最大となる直線パラメータを特定する。動きベクトル演算回路224は、比較回路223によって特定される直線パラメータに基づいて動きベクトルを演算する。
【0098】
直線パラメータ推定回路2211 ,2212 ,‥‥,221144 の構成の一例を図18に示す。画素読込み回路301,302,303,304,305の各々には、投票範囲決定部21から供給される投票範囲に関連する画素位置情報が供給される。画素読込み回路301〜305の各々は、供給される画素位置情報に対応する画素データをそれぞれ、フレームメモリfm〔−2〕〜fm〔+2〕から読み出す。この一例では、探索画素は、投票画素位置に対する相対画素位置が(−8,−8),(−7,−8),‥‥,(8,8)であるような289個の画素とされている。
【0099】
画素抽出回路3061 ,3062 ,‥‥,306289 は、それぞれ、探索画素位置(−8,−8),(−7,−8),‥‥,(8,8)によって特定される直線上に位置する各フレーム内の画素を抽出し、抽出した画素データを分散計算回路3071 ,3072 ,‥‥,307289 にそれぞれ供給する。
【0100】
分散計算回路3071 ,3072 ,‥‥,307289 は、供給される画素データに基づいて分散を計算し、計算値を分散比較回路308に供給する。分散比較回路308は、供給される分散の計算値を比較することによって計算値が最小となる際の直線パラメータを特定し、特定した直線パラメータを出力する。
【0101】
上述の説明は、水平および垂直方向のそれぞれ0番目〜11番目の画素を含む領域が投票範囲として採用される場合を例とするものである。これに対して、より多くの画素を含む領域が投票範囲として採用される場合にも対応できるように、より多くの直線パラメータ推定回路を設けるようにしても良い。または、直線パラメータ推定回路を、時分割で動作するように制御しても良い。
【0102】
また、例えば図18を参照して上述した一例は、縦、横にそれぞれ17個ずつ、全部で289個の画素を含む領域を探索範囲として用いるようにしたものであるが、探索範囲はこれに限定されるものではなく、任意に設定できる。
【0103】
この発明の第2および第3の実施形態は、投票範囲内の各画素について、当該画素を通る直線の内で当該直線上に位置する各フレーム内の画素を抽出し、抽出した画素データの分散が最小となる際の直線に係る直線パラメータを投票に供するようにしたものである。これに対して、抽出した画素データの平均値と各画素値との間の差分の絶対値の総和を計算し、計算値に基づいて投票に供する直線パラメータを決定するようにしても良い。また、抽出した画素データについての隣接画素間の差分絶対値の総和に基づいて投票に供する直線パラメータを決定するようにしても良い。
【0104】
また、探索範囲内の画素の内の一部を探索画素として扱う処理によって直線パラメータを粗く推定し、その推定結果を利用して推定された点周辺を詳細に探索するような、階層的探索を行っても良い。このような処理について図19および図20を参照して説明する。図19に示す一例では、探索範囲が水平および垂直方向に17個(計289個)の画素を含んでいる。粗い推定を行う場合には斜線を付して示す3画素おきの画素(計25個の画素)を探索画素として扱う。すなわち25個の画素の各々と投票画素とを通る直線上にある、例えば5個のフレーム内の画素の分散を計算し、計算値が最小となる際の探索画素を粗い推定の結果として選択する。
【0105】
そして、粗い推定の結果として選択された画素を中心とする水平および垂直方向に5個(計25個)の画素を含む範囲(影を付して示す)において全ての画素を探索画素として扱う。すなわち、各画素と投票画素とを通る直線上にある、例えば5個のフレーム内の画素の分散を計算し、計算値が最小となる際の探索画素の画素位置に基づいて投票に供する直線パラメータを最終的に決定する。
【0106】
また、図20に示す他の例では、探索範囲が水平および垂直方向に17個(計289個)の画素を含んでいる。粗い推定を行う場合には斜線を付して示す2画素おきの画素(計25個の画素)を探索画素として扱う。そして、粗い推定の結果として選択された画素を中心とする水平および垂直方向に5個(計25個)の画素を含む範囲(影を付して示す)において全ての画素を探索画素として扱うことにより、投票に供する直線パラメータを最終的に決定する。
【0107】
図19および図20を参照して上述したような階層的探索処理を行う場合には、探索範囲内の例えば25個の画素位置に対応して分散等の計算や計算値の比較を行う構成により、投票に供する直線パラメータを選択することが可能とされる。このため、分散等の計算に係る構成を小規模化することができる。
【0108】
次に、この発明の第4の実施形態について説明する。上述したように、この発明の第4の実施形態は、動画像における動きを直線の代わりに管と見たてて動きベクトルを検出するようにしたものである。すなわち、この発明の第4の実施形態では、時空間内の直線の代わりにそれを空間方向の拡大してなる面の分散を演算することにより、ノイズの影響を避け、動きベクトルを正確に算出するようになされている。
【0109】
この発明の第4の実施形態の構成の一例を図21に示す。入力画像はフレームメモリ部10に入力される。フレームメモリ部10については、図12を参照して上述したので重複する説明を省略する。フレームメモリfm〔0〕の記憶内容である、注目フレームf〔0〕の画像データが管範囲決定部41内の管切出し回路412に供給される。また、フレームf〔−2〕〜f〔+2〕の画像データがフレームメモリfm〔−2〕〜fm〔+2〕から、動きベクトル算出部42内の直線上画素切出し回路423に供給される。
【0110】
管範囲初期設定回路411が初期の管範囲を設定し、設定した初期の管範囲を示すパラメータを管切出し回路412に供給する。管切出し回路412は、注目フレームf〔0〕の画像データから、供給されるパラメータに従って領域を切出す。
【0111】
切出された領域内の画素データが水平方向DR計算回路413および垂直方向DR計算回路414に供給される。水平方向DR計算回路413は、供給される画素データを水平方向にスキャンすることによって、水平方向のDRを順次計算する。水平方向DR計算回路413は、さらに、計算した水平方向のDRの内で最大のものを決定して、決定した水平方向のDRを管範囲決定回路416に供給する。
【0112】
また、垂直方向DR計算回路414は、供給される画素データを垂直方向にスキャンすることによって垂直方向のDRを順次計算する。垂直方向DR計算回路414は、さらに、計算した垂直方向のDRの内で最大のものを決定して、決定した垂直方向のDRを管範囲決定回路416に供給する。管範囲決定回路416は、供給される水平および垂直方向のDRが共に予め設定されたしきい値を越える際に、その時の管範囲を動きベクトルの算出処理に係る管範囲として最終的に決定する。
【0113】
一方、供給される水平および垂直方向のDRの内の少なくとも一方が予め設定されたしきい値以下となる場合には、管範囲決定回路416は、その時の管範囲を示すパラメータを管範囲更新回路415に供給する。管範囲更新回路415は、供給されるパラメータに基づいて、新たな領域を切出すためのパラメータを生成し、生成したパラメータを管切出し回路412に供給する。管切出し回路412は、注目フレームf〔0〕の画像データから、新たな設定に係る領域を切出す。
【0114】
上述したような構成および動作により、図14Aを参照して上述したように、水平方向および垂直方向のDRの最大値が共に予め設定されたしきい値を越えるという条件を満たすまで、管範囲の候補として切出される領域を初期設定に係る領域から段階的に拡大する処理が行われ、その結果として、動きベクトル検出のための演算処理に使用する管範囲が最終的に決定される。
【0115】
ここで、初期の切出し領域の大きさ、新たな領域を切出す際の領域の拡大の割合、DRについてのしきい値等は任意に設定することができる。また、管範囲の候補として切出される領域の大きさ、DRについてのしきい値等は任意に設定することができる。また、新たな領域として、それ以前に切出された領域を拡大したもの以外にも、切出された領域を回転或いは縮小したものを用いても良い。また、図14Bを参照して上述したように、管範囲の候補として切出される領域における画素の密度を変化させるようにしても良い。
【0116】
また、上述の説明では、切出される領域の水平方向および垂直方向のDRに基づいて管範囲を決定するものとしたが、切出される領域全体のDRや、切出される領域全体の分散等を計算し、計算結果に応じて管範囲を決定するようにしても良い。
【0117】
管範囲決定部41によって決定された管範囲を示すパラメータは、管範囲決定回路416から動きベクトル算出部42内の直線パラメータ初期設定回路421に供給される。直線パラメータ初期設定回路421は直線パラメータを初期設定し、初期設定した直線パラメータを平行直線初期設定回路422に供給する。直線パラメータに対応して、管範囲内の各画素を通るx−y−t空間内の互いに平行な直線の集合体としての管が規定される。平行直線初期設定回路422は、管を構成する互いに平行な直線の内の1個を初期設定設置直線として指定するパラメータを生成し、生成したパラメータを画素切出し回路423に供給する。
【0118】
画素切出し回路423には、さらに、フレームf〔−2〕〜f〔+2〕から、各フレームの画像データが供給される。画素切出し回路423は、初期設置直線上に位置する各フレーム内の画素を切出す。切出された画素に係る画素データは、分散演算および加算回路424に供給される。
【0119】
分散演算および加算回路424は、供給される画素データに基づいて分散を計算する処理、計算値を加算して分散の総和を計算する処理を行う。また、分散演算および加算回路424は、画素切出し回路423から供給される画像データに基づく分散の計算および加算が完了する毎に、その旨を示す情報を平行直線更新回路426に供給する。
【0120】
平行直線更新回路426は、管を構成する平行直線の内で画素切出し回路423による画素切出しに未だ用いられていないものを示すパラメータを生成し、生成したパラメータを画素切出し回路423に供給する。画素切出し回路423は、供給されるパラメータに対応する直線について、当該直線上に位置する各フレーム内の画素に係る画素データを切出し、切出した画素データを分散演算および加算回路424に供給する。
【0121】
直線パラメータ初期設定回路421、平行直線初期設定回路422、画素切出し回路423、分散演算および加算回路424、平行直線更新回路426の動作の結果として以下のような処理がなされる。すなわち、管内の各直線上に位置する各フレーム内の画素の分散が初期設定に係る直線から順に計算され、計算値が加算されて分散の総和が計算される。そして、分散の総和が分散総和判定および直線パラメータ保持回路425に供給される。
【0122】
分散総和判定および直線パラメータ保持回路425は、分散の総和を供給される毎に、その旨を示す情報を直線パラメータ更新回路427に供給する。また、分散総和判定および直線パラメータ保持回路425は、供給される分散の総和に基づく判定を行い、判定結果に基づいて直線パラメータを保持する。
【0123】
直線パラメータ更新回路427は、供給される情報に基づいて、未だ分散の総和の計算および分散の総和に基づく判定処理の対象とされていない管に係る直線パラメータを新たに設定し、設定した直線パラメータを平行直線初期設定回路422に供給する。かかる直線パラメータに基づいて画素切出し回路423、分散演算および加算回路424、平行直線更新回路426による、上述したような処理が行われる。このようにして、直線パラメータが設定されることによって規定される管の各々について、当該管内の直線上に位置する各フレーム内の画素の分散の総和が順次計算され、計算される分散の総和に基づく判定がなされる。
【0124】
分散総和判定および直線パラメータ保持回路425は、例えば以下のような処理を行うことにより、分散の総和に基づく判定を行う。まず、分散演算および加算回路424から最初に供給される、初期設定された直線パラメータに係る管についての分散の総和を保持すると共に、初期設定された直線パラメータを保持する。
【0125】
次に、分散演算および加算回路424からさらに供給される、直線パラメータ更新回路427によって2番目に設定される直線パラメータに係る管についての分散の総和を、初期設定された直線パラメータによって規定される管についての分散の総和と比較し、小さい方の分散の総和を保持すると共に、小さい方の分散の総和に係る直線パラメータを保持する。
【0126】
その後、分散演算および加算回路424からさらに供給される、直線パラメータ更新回路427によって3番目、4番目‥‥に設定される直線パラメータに係る管についての分散の総和を、その時点で保持されている分散の総和と比較し、小さい方の分散の総和を保持すると共に、当該小さい方の分散の総和に係る直線パラメータを保持する。
【0127】
このような処理を平行直線初期設定回路422およびに直線パラメータ更新回路427によって設定される直線パラメータによって規定される管の各々について行うことにより、最終的に保持される分散の総和として最小の分散が判定される。そして、最小の分散の総和に係る直線パラメータが動きベクトル演算回路428に出力される。動きベクトル演算回路428は、供給される直線パラメータに基づいて動きベクトルを演算する。
【0128】
上述したこの発明の第4の実施形態は、管範囲の候補として切出される領域についてDR等を順次計算し、計算値がしきい値を越える際の領域を管範囲として採用すると共に、直線パラメータによって規定される管における平行直線の各々の上に位置する各フレーム内の画素の分散の総和を順次計算し、計算値が最小となるような管を決定し、決定した管に係る直線パラメータに基づいて動きベクトルを算出するようにしたものである。
【0129】
これに対して、管範囲の候補として切出される領域の各々についてDR等を並列的に計算し、各計算値を比較して、比較結果に基づいて管範囲を決定するようにしても良い。
【0130】
また、直線パラメータによって規定される管における平行直線の各々の上に位置する各フレーム上の画素の分散の総和を並列的に計算し、計算値を比較することにより、分散の総和が最小となるような管を決定し、決定した管に係る直線パラメータに基づいて動きベクトルを算出するようにても良い。
【0131】
このような観点から、以下に説明するこの発明の第5の実施形態が可能である。この発明の第5の実施形態の構成の一例を図22に示す。入力画像はフレームメモリ部10に入力される。フレームメモリ部10については、図12を参照して上述したので、重複する説明を省略する。注目フレームf〔0〕の画像データがフレームメモリfm〔0〕から管範囲決定部51内の領域切出し回路5111 ,5112 ,‥‥,51119に供給される。また、f〔−2〕〜f〔+2〕の画像データがフレームメモリfm〔−2〕〜fm〔+2〕から、動きベクトル算出部52内の直線パラメータ推定回路5211 ,5212 ,‥‥,521144 に供給される。
【0132】
領域切出し回路5111 ,5112 ,‥‥,51119は、供給される注目フレームf〔0〕の画像データから、それぞれ水平および垂直方向に0番目から11番目、0番目から22番目、‥‥、0番目から209(=11×19)番目の画素を含む矩形の領域を切出す。切出された領域の画像データは、それぞれ、水平DR算出回路5131 ,5132 ,‥‥,51319および垂直DR算出回路5141 ,5142 ,‥‥,51419に供給される。
【0133】
水平DR計算回路5131 〜51319および垂直DR計算回路5141〜51419 は、供給される画像データに基づいて、水平方向および垂直方向のDRを計算し、計算値を比較回路515に供給する。比較回路515は、供給される各計算値を比較することにより、管範囲を決定する。
【0134】
ここで、初期の切出し領域の大きさ、新たな領域を切出す際の領域の拡大の割合、DRについてのしきい値等は任意に設定することができる。また、新たな領域として、それ以前に切出された領域を拡大したもの以外にも、それ以前に切出された領域を回転或いは縮小したものを用いても良い。また、図14Bを参照して上述したように、切出される領域における画素の密度を変化させるようにしても良い。
【0135】
また、上述の説明では、切出される領域の水平方向および垂直方向のDRについてしきい値判定を行うことによって管範囲を決定するものとしたが、切出される領域全体のDRについてしきい値判定を行うことによって管範囲を決定するようにしても良い。また、切出される領域のアクティビティを表現する量として当該領域全体の分散等を計算し、計算結果に応じて管範囲を決定するようにしても良い。
【0136】
管範囲決定部51によって決定された範囲を示すパラメータは、動きベクトル算出部52内の画素読込み回路521〜525に供給される。画素読み込み回路521〜525の各々は、供給される画素位置情報に対応する画像データを、フレームメモリfm〔−2〕〜fm〔+2〕から読み出し、保持する。
【0137】
以下の説明は、水平および垂直方向に0番目〜11番目までの画素を含む領域、すなわち、12×12=144個の画素を含む領域が管範囲として採用される場合を例として行う。上述したように、直線パラメータは、管範囲内の画素に対する探索範囲内の画素の相対画素位置として表現される。この一例では、直線パラメータは、(−8,−8),(−7,−8),‥‥,(+8,+8)の17×17=289個とされている。
【0138】
これらの直線パラメータの各々に対応して、画素抽出回路5261 ,5262 ,‥‥,526289 が設けられる。画素抽出回路5261 ,5262 ,‥‥,526289 は、各直線パラメータに係る管内の平行直線(この一例では1個の直線パラメータについて144本)上に位置する各フレーム内の画素データを、画素読込み回路5201〜5205に保持されているデータから抽出する。抽出される画素データは、分散総和計算回路5271 ,5272 ,‥‥,527289 にそれぞれ供給される。
【0139】
分散総和計算回路5271 〜527289 は、供給される画素データに基づいて分散の総和を計算し、計算した分散の総和を分散総和比較回路528に供給する。分散総和比較回路528は、供給される分散の総和を比較することによって分散の総和が最小となる際の直線パラメータを特定し、特定した直線パラメータを出力する。動きベクトル演算回路529は、供給される直線パラメータを動きベクトル演算回路529に供給する。動きベクトル演算回路529は、供給される直線パラメータに基づいて動きベクトルを演算する。
【0140】
分散総和計算回路5271 〜527289 の構成の一例を図23に示す。かかる一例は、管範囲が水平および垂直方向に0番目〜11番目までの画素を含む場合を前提とするものである。分散計算回路611 ,612 ,‥‥61144 は、画素読込み回路521〜525に保持されているデータから、直線パラメータによって特定される管を構成する各直線上に位置する各フレーム内の画素を抽出し、抽出した画素の分散を計算する。
【0141】
分散計算回路611 ,612 ,‥‥61144 から出力される計算値が加算器62に供給される。加算器62は、供給される計算値を加算することにより、分散の総和を算出する。
【0142】
図22および図23を参照して上述した構成および動作は、水平および垂直方向に0番目〜11番目までの画素を含む領域が管範囲として採用される場合を前提とするものである。これに対して、より多くの画素を含む領域を管範囲として採用する場合にも、この発明を適用することができる。そのような場合には、より多くの分散計算回路を設ける構成としても良し、または、分散計算回路を時分割で動作させるように制御しても良い。
【0143】
また、図22を参照して上述した構成の一例は、縦、横にそれぞれ17個ずつ、全部で289個の画素を含む領域を探索範囲として用いるようにしたものであるが、探索範囲はこれに限定されるものではなく、任意に設定できる。
【0144】
また、上述したこの発明の第4および第5の実施形態は、直線パラメータによって特定される管を構成する平行直線の各々について当該直線上に位置する画素の分散を計算し、計算値の総和が最小となる際の直線パラメータに基づいて動きベクトルを決定するようにしたものである。これに対して、管を構成する平行直線の各々について当該直線上に位置する画素の平均値と各画素値の差分の絶対値の総和を計算し、計算値が最小となる際の直線パラメータに基づいて動きベクトルを決定するようにしても良い。
【0145】
また、管を構成する平行直線の各々について当該直線上に位置する画素の隣接画素間差分の総和を計算し、計算値の総和が最小となる際の直線パラメータに基づいて動きベクトルを算出するようにしても良い。また、管を構成する平行直線の各々について当該直線上に位置する画素のDRを計算し、計算値に基づいて動きベクトルを算出するようにしても良い。
【0146】
また、この発明の第1〜第5の実施形態では、注目フレームを含む5個のフレームの画像データに基づいて動きベクトルを算出するものとしているが、これに限定されるものではない。例えば、注目フレームを含む3個のフレームの画像データに基づいて動きベクトルの算出処理を行うようにしても良い。
【0147】
この発明は、上述したこの発明の第1〜第5の実施形態に限定されるものでは無く、この発明の主旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0148】
【発明の効果】
この発明によれば、時空間内で注目フレーム内の複数の画素を通る複数の直線上に位置する複数のフレーム内の画素の画素値に基づいてなされる演算処理の結果に基づいて動きベクトルが算出される。このため、動きベクトルの算出処理に対するノイズの影響を低減することができる。また、ノイズレベルが様々に変化しても、それに応じた処理が可能となる。
【0149】
特に、投票範囲、管範囲等の、直線が通る複数の画素を含む注目フレーム内の領域を、当該領域内の画素の画素値のDR等を規範として可変的に設定するようにした場合には、オブジェクトの大きさに応じて適切な処理を行うことが可能とされる。すなわち、細かいオブジェクトの動きについては、より小さい投票範囲や管範囲を用いることで適切な処理を行うことが可能とされる。
【0150】
また、平坦部分ではより大きい投票範囲や管範囲を用いることにより、固定のブロックサイズの下で行われるブロックマッチングでは誤りやすい、平坦部分での動きベクトル検出を適切に行うことが可能とされる。
【0151】
また、演算量は一般的には投票範囲や管範囲の大きさに依存するが、多くの場合、ブロックマッチング法に比べてより少ない演算量で精度良い動きベクトル検出が可能とされる。また、ブロックマッチング等を用いる場合と異なり、各フレーム毎に動きを検出する必要がない。
【0152】
特に、上述したような方法で動きベクトルを計算し、計算した動きベクトルに応じて、クラス分類適応処理を行う際のクラスタップおよび予測タップの位置を設定するようにした場合には、例えば5フレーム分のタップ配置を一度に決定することができる。また、この場合、クラス分類適応処理の結果として、動き部分における尾を引くような画質劣化を防止若しくは軽減することができると共に、画像に空間的なぼけを生じさせることなくノイズを除去することができる。
【0153】
また、この場合、ブロックマッチング等を用いる場合と異なり、動きベクトルの検出が部分的に誤ることに起因して1フレームだけ極端にタップ配置が異なることが無いので、ノイズ除去等の処理を効率よく行うことができる。
【図面の簡単な説明】
【図1】先に提案された、ノイズ除去を行う構成について説明するためのブロック図である。
【図2】図1に示す構成におけるタップ構造について説明するための略線図である。
【図3】この発明の第1の実施形態における、ノイズ除去に係る構成について説明するためのブロック図である。
【図4】この発明の第1の実施形態における、予測係数の生成に係る構成について説明するためのブロック図である。
【図5】ノイズ付加に係る構成の一例を示すブロック図である。
【図6】ノイズ付加に係る構成の他の例を示すブロック図である。
【図7】ノイズ付加に係る構成のさらに他の例を示すブロック図である。
【図8】この発明の第1の実施形態におけるタップ位置の設定について原理的に説明するための略線図である。
【図9】この発明の第1の実施形態における基本的なタップ構造について説明するための略線図である。
【図10】この発明の第1の実施形態におけるタップ位置の設定に係る処理について説明するためのフローチャートである。
【図11】この発明の第2〜第5の実施形態の概要を説明するための略線図である。
【図12】この発明の第2の実施形態の構成について説明するためのブロック図である。
【図13】投票範囲を設定する処理について説明するための略線図である。
【図14】設定される投票範囲の例を示す略線図である。
【図15】直線パラメータについて説明するための略線図である。
【図16】フレーム毎に算出される動きベクトルについて説明するための略線図である。
【図17】この発明の第3の実施形態の構成について説明するためのブロック図である。
【図18】この発明の第3の実施形態の一部の構成について詳細に説明するためのブロック図である。
【図19】階層的探索の一例について説明するための略線図である。
【図20】階層的探索の他の例について説明するための略線図である。
【図21】この発明の第4の実施形態の構成について説明するためのブロック図である。
【図22】この発明の第5の実施形態の一部の構成について詳細に説明するためのブロック図である。
【図23】この発明の第5の実施形態の構成について詳細に説明するためのブロック図である。
【図24】従来の技術について説明するためのブロック図である。
【符号の説明】
26・・・タップ配置決定部、46・・・タップ配置決定部、115・・・投票範囲更新回路、116・・・投票範囲決定回路、124・・・分散演算および直線パラメータ保持回路、125・・・直線パラメータ投票回路、222・・・投票回路、415・・・管範囲更新回路、416・・・管範囲決定回路,425・・・分散総和判定および直線パラメータ保持回路、427・・・直線パラメータ更新回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a motion vector detection apparatus and detection method for detecting a motion vector for a moving image, and an image signal processing apparatus and processing method.
[0002]
[Prior art]
In order to remove noise from an image, a motion adaptive recursive filter has been conventionally used. An example of the configuration of the motion adaptive recursive filter is shown in FIG. The image data of the frame of interest, that is, the input frame at each time point is supplied to the subtraction circuit 1100. The subtracting circuit 1100 is further supplied with image data of the previous frame stored in the frame memory 1099, that is, the frame one frame before the frame of interest. The output of the subtraction circuit 1100 is supplied to the absolute value calculation circuit 1101 and converted into an absolute value, and the absolute value is supplied to the threshold value processing circuit 1102. The threshold processing circuit 1102 performs threshold processing on the supplied absolute value under a predetermined threshold, and determines movement / stillness for each pixel.
[0003]
The determination result by the threshold processing circuit 1102 is supplied to the weight setting value generation circuit 1103. The weight setting value generation circuit 1103 sets the value of the weight setting value k according to the supplied determination result. The set k value is supplied to an amplifier 1105 that performs amplitude adjustment on the input frame. Here, the amplifier 1104 multiplies the input signal by k, and the amplifier 1105 multiplies the pixel data in the frame memory by (1−k).
[0004]
When the threshold processing circuit 1102 determines that the object is stationary, a fixed value between 0 and 0.5 is set as the value of k. With this setting, the output of the adder 1106 at the subsequent stage of the amplifiers 1104 and 1105 is a value obtained by weighted addition of the pixel value in the frame of interest and the pixel value in the previous frame. On the other hand, if the threshold value processing circuit 1102 determines that the movement is made, 1 is set as the value of k. With this setting, the adder 1106 outputs the pixel value in the frame of interest as it is.
[0005]
[Problems to be solved by the invention]
The motion adaptive recursive filter as described above has the following problems (a) to (d). (A) Since only a weighted addition is performed on a stationary portion under a constant weight (fixed value k), noise removal corresponding to the magnitude or direction of the noise cannot be accurately performed. (B) When the noise level is high, the stationary part is erroneously determined as a motion, so that the noise removal effect is reduced. (C) A moving part may be erroneously determined to be stationary, and tail-like degradation may be observed. (D) Noise cannot be removed from moving parts.
[0006]
In addition, a method for removing noise using a class classification adaptive process has been proposed. That is, a motion vector is detected by performing block matching, and based on the detected motion vector, class classification adaptation processing using pixels corresponding between frames is performed. In this case, the problem in the motion adaptive recursive filter can be solved or reduced, but there are the following problems.
[0007]
(E) Processing is heavy because block matching is used. (F) It is necessary to perform block matching between each frame, for example, frame t and frame t + 1, frame t + 1 and frame t + 2, and the like. If any one of these block matching is wrong, the noise removal effect is reduced. (G) In block matching, since the movement of a small object that is included in a block cannot be detected, there is a possibility that an inaccurate process may be performed due to such movement.
[0008]
Further, as a prior art other than the motion adaptive recursive filter related to motion vector detection, there are a block matching method, a gradient method, and the like. In the block matching method, it is necessary to calculate the sum of pixel differences in a block for each search range and compare the calculated values. For this reason, the amount of calculation becomes enormous, and there is a problem from the viewpoint of reducing the circuit scale and improving the processing time. Also, the amount of movement cannot be accurately detected for fine movements such as those included in a block. In addition, in the gradient method, the motion amount detection accuracy is significantly deteriorated for an image with noise added.
[0009]
Accordingly, an object of the present invention is to provide a motion vector detection device and detection method, and an image signal processing device and processing method capable of accurately calculating a motion vector for a moving image.
[0010]
[Means for Solving the Problems]
According to the first aspect of the present invention, for each target pixel including a target pixel in the image signal and a plurality of pixels located around the target pixel, a plurality of pixels positioned on a straight line that passes through each target pixel and extends in the time direction are provided. Extracting means for extracting;
Similarity detection means for detecting similarity for each direction of a line based on pixel values of a plurality of pixels extracted for each direction of the line by the extraction means for each target pixel for each target pixel;
A motion vector detection device comprising: motion vector calculation means for calculating a motion vector for a pixel of interest based on a degree of similarity detected for each direction of a straight line for each target pixel.
[0011]
In the invention of claim 13, for each target pixel including a target pixel in the image signal and a plurality of pixels located around the target pixel, a plurality of pixels positioned on a straight line that passes through each target pixel and extends in the time direction are provided. An extraction step to extract;
For each target pixel for each pixel of interest, a similarity detection step for detecting a similarity for each direction of the straight line based on pixel values of a plurality of pixels extracted for each direction of the straight line by the extraction step;
A motion vector detection method comprising: a motion vector calculation step of calculating a motion vector for a target pixel based on a similarity detected for each direction of a straight line for each target pixel.
[0012]
According to the fourteenth aspect of the present invention, each of a straight line that passes through the pixel of interest in the image signal and extends in the time direction and a straight line that passes through the pixels located around the pixel of interest and is parallel to the straight line is positioned on the line. Extraction means for extracting a plurality of pixels;
Similarity detection means for detecting similarity for each direction of the straight line based on a plurality of pixels extracted for each direction of the straight line by the extraction means;
A motion vector detection device comprising: motion vector calculation means for calculating a motion vector for a pixel of interest based on a similarity detected for each direction of a straight line.
[0013]
According to a nineteenth aspect of the present invention, each of a straight line that passes through the target pixel in the image signal and extends in the time direction and a straight line that passes through the pixels located around the target pixel and is parallel to the straight line is positioned on the straight line. An extraction step for extracting a plurality of pixels;
A similarity detection step for detecting a similarity for each direction of the straight line based on a plurality of pixels extracted for each direction of the straight line by the extraction step;
A motion vector detection method comprising: a motion vector calculation step of calculating a motion vector for a pixel of interest based on a similarity detected for each direction of a straight line.
[0014]
The invention of claim 20 comprises a plurality of frame memories for storing image signals for each frame;
First image cutting means for cutting out one or more pixels from each frame stored in a plurality of frame memories;
A class classification unit that detects a pattern of an image level distribution in space-time based on a pixel value of a pixel cut out by the first image cutout unit, and performs class classification according to the detection result;
A coefficient memory that stores prediction coefficients predetermined for each class, and outputs a coefficient corresponding to the class classification result by the class classification means from the stored prediction coefficients;
Second image cutting means for cutting out one or more pixels from each frame stored in the plurality of frame memories;
Output image generating means for generating an output image by performing an operation based on the output of the coefficient memory and the data of the image area cut out by the second image cutting out means;
Extraction means for extracting a plurality of pixels located on a straight line passing through each target pixel and extending in the time direction for each target pixel including the target pixel in the image signal and a plurality of pixels located around the target pixel; Similarity detection means for detecting similarity for each direction of a line based on pixel values of a plurality of pixels extracted for each direction of the line by the extraction means for each target pixel corresponding to each of the pixels; Motion vector detection means including motion vector calculation means for calculating a motion vector for the target pixel based on the similarity detected for each direction of the straight line for each target pixel;
And a cut-out position determining means for setting a position of a pixel cut out by the first image cut-out means and / or the second image cut-out means based on the motion vector detected by the motion vector detection means. The image signal processing apparatus.
[0015]
The invention of claim 21 stores the image signal for each frame;
A first image cutting step of cutting one or more pixels from each frame stored by the storing step;
A class classification step for detecting a pattern of an image level distribution in the spatio-temporal based on a pixel value of a pixel extracted by the first image extraction step, and performing class classification according to the detection result;
A coefficient output step for storing a prediction coefficient determined in advance for each class, and outputting a result corresponding to the class classification result by the class classification means from among the stored prediction coefficients,
A second image cropping step of cropping one or more pixels from each frame stored by the storing step;
An output image generation step of generating an output image by performing an operation based on the output of the coefficient output step and the data of the image region cut out by the second image cutout step;
An extraction step of extracting a plurality of pixels located on a straight line that passes through each target pixel and extends in the time direction for each target pixel including the target pixel in the image signal and a plurality of pixels located around the target pixel; For each target pixel corresponding to each of the pixels, based on the pixel values of a plurality of pixels extracted for each straight line direction by the extraction step, a similarity detection step for detecting the similarity for each straight line direction; A motion vector detection step including a motion vector calculation step of calculating a motion vector for the target pixel based on the similarity detected for each direction of the straight line for each target pixel;
A cutout position determining step for setting a position of a pixel cut out by the first image cutout step and / or the second image cutout step based on the motion vector detected by the motion vector detection step. This is an image signal processing method.
[0016]
According to the invention as described above, based on the result of the arithmetic processing performed based on the pixel values of the pixels in the plurality of frames located on the plurality of straight lines passing through the plurality of pixels in the frame of interest in time and space. A motion vector is calculated.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Prior to the description of the first embodiment of the present invention, in order to facilitate understanding, noise removal is performed in consideration of movement of a moving image by combining block matching and class classification adaptive processing. The outline of the previously proposed configuration (see Japanese Patent Application No. 10-304058) will be described. An example of such a configuration is shown in FIG. An input image signal from which noise is to be removed is supplied to the frame memory 200. Frame memories 201 and 202 are sequentially connected to the frame memory 200 in a shift register shape. As a result, the frame memories 200, 201, and 202 store image data of three temporally continuous frames.
[0018]
The frame memories 200 and 201 supply the stored frames to the motion vector detection unit 203. The motion vector detection unit 203 detects a motion vector by performing block matching based on the two supplied frames, and supplies the detected motion vector to the region extraction units 205 and 206. The frame memories 200, 201, and 202 supply the stored frames to the area cutout units 205 and 206. The motion vector detection unit 204 detects a motion vector by performing block matching based on the two supplied frames, and supplies the detected motion vector to the region extraction units 205 and 206.
[0019]
The area cutout unit 206 is supplied with the frames stored in the frame memories 200, 201 and 202. The region extraction unit 206 refers to the motion vector supplied from the motion vector detection unit 203 and the motion vector supplied from the motion vector detection unit 204, and extracts an image region at a predetermined position from the supplied frame. Data of the clipped image area is supplied to the class code generation unit 207. The class code generation unit 207 extracts a pattern in space-time from the supplied data, for example, by ADRC (Adaptive Dynamic Range Coding) processing, and generates a class code indicating a class classified according to the extracted pattern.
[0020]
As described above, the image area cut out by the area cutout unit 206 is used for processing related to the class classification, and thus the image area is referred to as a class tap. The class code is supplied to the coefficient memory 208. The coefficient memory 208 stores prediction coefficients determined in advance for each class, and outputs one corresponding to the class code from the stored prediction coefficients. The output of the coefficient memory 208 is supplied to the estimation calculation unit 209.
[0021]
On the other hand, the image data of the frames stored in the frame memories 200, 201, and 202 are supplied to the area cutout unit 205. The area extraction unit 205 refers to the motion vectors supplied from the motion vector detection units 204 and 203, extracts an image area at a predetermined position from the supplied frame image data, and estimates and calculates the data of the extracted image area Part 209. The estimation calculation unit 209 performs a predetermined calculation based on the data supplied from the region cutout unit 205 and the prediction coefficient supplied from the coefficient memory 208, and generates an output image as a result. Noise is removed or reduced in the output image. As described above, the image region cut out by the region cutout unit 205 is used for calculation for predictive generation of the output image, and thus the image region is referred to as a class tap.
[0022]
A tap structure of class taps and prediction taps cut out by the area cutout units 206 and 205 will be described with reference to FIG. In FIG. 2, the target pixel to be predicted is indicated by a black circle, and the pixel cut out as a class tap or a prediction tap is indicated by a shaded circle. FIG. 2A shows an example of a basic class tap structure. From the frame of interest f [0] including the pixel of interest and the temporally located frames before and after the frame of interest, that is, f [-1] and f [+1], the pixel at the same spatial position as the pixel of interest is a class tap. Extracted as FIG. 2B shows an example of a basic prediction class tap structure. From the image data of the target frame and the image data of the frame located before and after the target frame in time, the target pixel and, for example, twelve pixels in total around the target pixel are extracted as prediction taps. The
[0023]
Further, FIGS. 2C and 2D show cases where the cutout position is shifted in time according to the motion vectors output from the motion vector detection units 203 and 204 in FIG. As shown in FIG. 2E, when the motion vector in the frame of interest is (0, 0), the motion vector in the previous frame is (−1, −1), and the motion vector in the subsequent frame is (1, 1). The cutout positions of the class tap and the prediction tap in the entire frame are translated according to the motion vector. Thus, in the configuration according to the previous application, it is necessary to detect the motion vector prior to the process of cutting out the class tap and the prediction tap. In this case, a large amount of calculation is required for processing such as block matching for detecting a motion vector, and there is a problem that a large load is applied to the apparatus.
[0024]
Next explained is the first embodiment of the invention. An example of a configuration relating to prediction estimation in the first embodiment of the present invention is shown in FIG. An input image signal is supplied to the frame memory 21. Frame memories 22, 23, 24, and 25 are sequentially connected to the frame memory 21 in a shift register shape. As a result, the image data of five frames that are temporally continuous is stored in the frame memories 21 to 25. In the following description, it is assumed that the image data stored in the frame memory 23 is handled as the image data of the frame of interest. Further, the image data stored in the frame memories 24 and 25 are treated as image data of the frames one frame and two frames before the target frame, respectively, and the image data stored in the frame memories 22 and 21 are Assume that each frame is handled as image data of one frame and two frames after the frame of interest.
[0025]
The image data in the frame stored in the frame memories 21, 22, 23, 24, and 25 is supplied to the tap arrangement determining unit 26. The tap arrangement determination unit 26 determines the positions of pixels to be extracted as class taps and prediction taps based on the supplied data. Information relating to the position of the pixel to be cut out as a class tap is supplied to the area cutout unit 28. In addition, information related to the position of the pixel to be extracted as a prediction tap is supplied to the region extraction unit 27. Image data of the frames stored in the frame memories 21 to 25 are supplied to the area extraction units 27 and 28. The area cutout unit 28 cuts out pixels at positions according to the information supplied from the tap arrangement determination unit 26 as class taps from the supplied frames. On the other hand, the region cutout unit 27 cuts out a pixel at a position according to the information supplied from the tap arrangement determination unit 26 as a prediction tap from each supplied frame.
[0026]
The area extraction unit 28 supplies the extracted class tap data to the class code generation unit 29. The class code generation unit 29 extracts a pattern in space-time by performing processing such as quantization of ADRC and DR (dynamic range), for example, from supplied data, and indicates a class classified according to the extracted pattern Generate class code. In the case of a still image without noise, there is no possibility that the pixel value varies between frames if the pixel is the same. Also, with respect to the motion, deterioration such as blur is observed when the motion is fast, but basically there is no temporal variation in the same pixel.
[0027]
Therefore, when there is a change in the value of the same pixel, the change is considered to be noise. For this reason, it is possible to detect a noise component for each frame by cutting out only one pixel under the class tap structure expanded only in the time direction and performing ADRC based on the data of the cut out pixel. In addition, as the number of bits of the re-quantization code generated by ADRC is larger, the noise level fluctuation can be detected more accurately. In addition, the noise level difference can be distinguished by quantizing the DR and calculating the class code including the value and the re-quantized code by ADRC.
[0028]
The ADRC process will be described below. ADRC is an adaptive requantization method originally developed for high-efficiency coding for VTR (Video Tape Recorder), but it can efficiently express local patterns of signal level in short tone. Has characteristics. Therefore, it can be used to detect a pattern in the space-time of an image signal for generating a class classification code. That is, according to the following equation (1), the maximum value MAX and the minimum value MIN in the region extracted as a class tap are equally divided by the designated number of bits and requantized.
[0029]
DR = MAX-MIN + 1
Q = [(L−MIN + 0.5) × 2 n / DR] (1)
Here, DR is a dynamic range within the region. Also, n is the number of bits allocated, and for example, n = 2 can be set. L is the data level of the pixels in the area, and Q is the requantization code. However, the brackets ([...]) Indicate truncation processing.
[0030]
As a result, class tap pixel data consisting of, for example, 8 bits per pixel is converted into, for example, a 2-bit requantization code value. The level quantization pattern in the class tap data is expressed with a smaller amount of information by the requantization code value generated in this way. For example, when a tap structure of class taps consisting of 7 pixels is used, seven requantization codes q corresponding to each pixel are obtained by the processing as described above. 1 ~ Q 7 Is generated. The class code class generated by the class code generation circuit 4 based on such output is as shown in the following equation (2).
[0031]
[Expression 1]
Figure 0004403330
Here, n is the number of pixels cut out as a class tap. Moreover, as a value of p, it can be set as p = 2, for example.
[0032]
The class code is supplied to the coefficient memory 30. The coefficient memory 30 stores prediction coefficients determined in advance for each class, and outputs one corresponding to the class code from the stored prediction coefficients. The output of the coefficient memory 30 is supplied to the estimation calculation unit 31. On the other hand, the region cutout unit 27 supplies the cut out prediction tap data to the estimation calculation unit 31. The estimation calculation unit 31 performs a calculation such as the following equation (1) based on the data supplied from the region cutout unit 27 and the prediction coefficient supplied from the coefficient memory 30, and as a result, in the output image Pixel values y are sequentially generated.
[0033]
y = w 1 X 1 + W 2 X 2 + ... + w n X n (3)
Where x 1 , ..., x n Is the pixel data of each prediction tap, and w 1 , ..., w n Are each prediction coefficient.
[0034]
Next, learning in the first embodiment of the present invention, that is, processing for determining a prediction coefficient will be described with reference to FIG. An image having no noise to be generated as a result of the image information conversion (hereinafter referred to as a teacher image) is supplied to the noise adding unit 40 and the normal equation adding unit 50. The noise adding unit 40 adds a noise component to the supplied teacher image. The output of the noise adding unit 40 is supplied to the frame memory 41. Frame memories 42, 43, 44, and 45 are sequentially connected to the frame memory 41 in a shift register shape. As a result, the image data of five frames that are temporally continuous is stored in the frame memories 41 to 45. In the following description, it is assumed that the image data stored in the frame memory 43 is handled as the image data of the frame of interest. Further, the image data stored in the frame memories 44 and 45 are treated as image data of frames one and two frames before the target frame, respectively, and the image data stored in the frame memories 42 and 41 are Assume that each frame is handled as image data of one frame and two frames after the frame of interest.
[0035]
Data in the frame stored in the frame memories 41 to 45 is supplied to the tap arrangement determining unit 46. Similar to the tap arrangement determination unit 46 in FIG. 3, the tap arrangement determination unit 26 determines the positions of pixels to be extracted as class taps and prediction taps based on the supplied data. Information relating to the position of the pixel to be cut out as a class tap is supplied to the area cutout unit 48. In addition, information regarding the position of the pixel to be extracted as a prediction tap is supplied to the region extraction unit 47.
[0036]
In addition, the frames stored in the frame memories 41 to 45 are supplied to the area extraction units 47 and 48. The area cutout unit 48 cuts out a pixel at a position according to the information supplied from the tap arrangement determination unit 46 as a class tap from each supplied frame. On the other hand, the region cutout unit 47 cuts out a pixel at a position according to the information supplied from the tap arrangement determination unit 46 as a prediction tap from each supplied frame. An example of a pixel position cut out as a class tap in the space-time is shown in FIG. 9A. Moreover, an example of the pixel position cut out as a prediction tap in space time is shown in FIG. 9B.
[0037]
The area extraction unit 48 supplies the extracted class tap data to the class code generation unit 49. The class code generation unit 49 extracts a pattern in the spatio-temporal from the supplied data by performing the same processing as the class code generation unit 29 in FIG. 3, and indicates a class classified according to the extracted pattern Generate code. The class code is supplied to the normal equation adding unit 50.
[0038]
On the other hand, the region cutout unit 47 supplies the cut out prediction tap data to the normal equation addition unit 50. The normal equation adding unit 50 calculates data necessary for solving a normal equation having a prediction coefficient as a solution, based on the supplied teacher image, prediction tap data, and class code. The output of the normal equation adding unit 50 is supplied to the prediction coefficient determining unit 51. The prediction coefficient determination unit 51 determines a prediction coefficient for each class by performing a predetermined calculation. The determined prediction coefficient is supplied to the memory 52 and stored therein. The stored contents are loaded into the coefficient memory 30 in FIG. 3 in the memory 52, thereby enabling the prediction estimation as described above.
[0039]
The calculation for determining the prediction coefficient will be described. A plurality of types of image data are supplied to the configuration as shown in FIG. When the number of types of these image data is expressed as m, the following equation (4) is set from the equation (3).
[0040]
y k = W 1 X k1 + W 2 X k2 + ... + w n X kn (4)
(K = 1, 2,..., M)
If m> n, w 1 , ..., w n Is not uniquely determined, the element e of the error vector e k Is defined by the following equation (5), and the prediction coefficient is determined so as to minimize the square of the error vector e defined by the equation (6). That is, the prediction coefficient is uniquely determined by a so-called least square method.
[0041]
e k = Y k -{W 1 X k1 + W 2 X k2 + ... + w n X kn } (5)
(K = 1, 2, ... m)
[0042]
[Expression 2]
Figure 0004403330
[0043]
E in equation (6) 2 As a practical calculation method for obtaining the prediction coefficient that minimizes 2 Prediction coefficient w i (i = 1, 2...) is partially differentiated (equation (7)), and each prediction coefficient w i You just have to decide.
[0044]
[Equation 3]
Figure 0004403330
[0045]
From Equation (7), each prediction coefficient w i A specific procedure for determining the will be described. X as in equations (8) and (9) ji , Y i (7) can be written in the form of the determinant of equation (10).
[0046]
[Expression 4]
Figure 0004403330
[0047]
[Equation 5]
Figure 0004403330
[0048]
[Formula 6]
Figure 0004403330
[0049]
Equation (10) is generally called a normal equation. The normal equation adding unit 50 performs an operation as shown in the equations (8) and (9) based on the supplied data, so that X ji , Y i (I = 1, 2,..., N) are calculated. The prediction coefficient determination unit 51 solves the normal equation (10) according to a general matrix solution method such as a sweep-out method, so that the prediction coefficient w i (I = 1, 2,..., N) is calculated.
[0050]
Next, the process of adding noise to the teacher image in the noise adding unit 40 will be described in detail. As a method for adding noise, for example, the following methods (1) to (4) are conceivable. (1) Generate random noise by computer simulation and add the generated noise. (2) Add noise to the teacher image via the RF system. (3) The difference between the image having a uniform level and the image formed through the RF system is taken, and the difference is added to the teacher image. (4) A noise component is extracted by taking a difference between an image having a uniform level via an RF system and an image from which noise is removed by performing frame addition on the image, and the extracted noise component Is added to the teacher image.
[0051]
An example of the configuration related to the method (2) is shown in FIG. A teacher image is supplied to the RF modulator 61. The RF modulator 61 performs RF modulation on the teacher image. The output of the RF modulator 61 is supplied to the attenuator attenuator 62. The attenuator attenuator 62 performs attenuator attenuation processing on the output of the RF modulator 61. The output of the attenuator attenuator 62 is supplied to the RF demodulator 63. The RF demodulator 63 RF-demodulates the output of the attenuator attenuator 62 to generate an image in which noise is added to the teacher image. In the method (2), it is necessary to take into account the pixel position shift between the teacher image and the student image.
[0052]
An example of the configuration according to the method (3) is shown in FIG. An image having a uniform level is supplied to the RF modulator 71 and the subtracter 74. The RF modulator 71 performs RF modulation on the supplied image. The output of the RF modulator 71 is supplied to the attenuator attenuator 72. The attenuator attenuator 72 performs an attenuator attenuation process on the output of the RF modulator 71. The output of the attenuator attenuator 72 is supplied to the RF demodulator 73. The RF demodulator 73 performs RF demodulation on the output of the attenuator attenuator 72. The output of the RF demodulator 73 is supplied to the subtracter 74. The subtracter 74 takes a difference between an image having a uniform level and the output of the RF demodulator 73. The output of the subtracter 74 is supplied to the adder 75. The adder 75 is further supplied with a teacher image. The adder 75 adds the output of the subtracter 74 to the teacher image, thereby generating an image in which noise is added to the teacher image.
[0053]
An example of the configuration related to the method (4) is shown in FIG. An image having a uniform level is supplied to the RF modulator 81. The RF modulator 81 performs RF modulation on the supplied image. The output of the RF modulator 81 is supplied to the attenuator attenuator 82. The attenuator attenuator 82 performs an attenuator attenuation process on the output of the RF modulator 81. The output of the attenuator attenuator 82 is supplied to the RF demodulator 83. The RF demodulator 83 performs RF demodulation on the output of the attenuator attenuator 82. The output of the RF demodulator 83 is supplied to the frame addition circuit 84 and the subtracter 85.
[0054]
The frame addition circuit 84 generates an image in which noise is removed from the output of the RF demodulator 83 by performing frame addition on the supplied image. The output of the frame addition circuit 84 is supplied to the subtracter 85. The subtractor 85 extracts a noise component in the RF system by taking the difference between the output of the RF demodulator 83 and the output of the frame addition circuit 84. The extracted noise component, which is the output of the subtractor 85, is supplied to the adder 86. Further, a teacher image is supplied to the adder 86. The adder 86 adds the output of the subtracter 85 to the teacher image, thereby generating an image in which noise is added to the teacher image.
[0055]
Next, the tap position determination method performed by the tap arrangement determination units 26 and 46 will be described in detail. First, the principle will be described with reference to FIG. Here, the horizontal and vertical directions in each frame are taken in the horizontal and vertical directions, respectively, and time is taken in the direction toward the back. That is, the frames f [−2], f [−1], f [0], f [+1], and f [+2] are shown in the back in order as time passes. In order to perform this method, the following preconditions must be satisfied.
[0056]
(P) In a minute time of about 5 frames, the motion of the image is a substantially constant linear motion. The applicant of the present application statistically confirmed that (P) holds for an actual image.
(Q) In the absence of noise, the variance of the same pixel between frames is 0 or very close to 0.
[0057]
In the first embodiment of the present invention, several straight lines in space-time passing through the frames f [−2] to f [+2] are set, and the frames f [−2] to f [ +2] is calculated for each pixel value. Then, it is assumed that a straight line when the variance is minimum is determined, and such a straight line indicates movement.
[0058]
More specifically, as shown in FIG. 8, for example, a region of 5 × 5 pixels (hereinafter, referred to as a voting range) is set on the attention frame f [0] with the attention pixel as a center, Each pixel (hereinafter referred to as a voting pixel) is sequentially extracted, and the following processing is performed for each of the extracted voting pixels. That is, for example, a search range is set around the pixel position corresponding to the voting pixel on the frame f [+1]. The search range may be set on a frame other than the frame f [+1]. Further, each pixel in the frames f [−2] to f [+2] on each straight line passing through the voting pixel and each pixel within the search range (hereinafter referred to as a search pixel) is extracted. Then, a variance is calculated between the extracted pixels, and a motion vector is calculated based on a straight line when the calculated variance is minimum. Since one straight line corresponding to each of the voting pixels is determined for each of the voting pixels, for example, when voting pixels are set from within a pixel area of 5 × 5 pixels, 25 straight lines are determined. become. Of these, the one with the highest frequency is finally determined as a straight line indicating the movement of the pixel of interest.
[0059]
An example of the processing procedure is shown in FIG. In step S1, voting pixels are extracted from an area of, for example, 5 × 5 pixels around the target pixel. In step S2, for example, a search range is set on f [1]. In step S3, parameters a and b indicating positions within the search range are set to 0 (initialization). Here, as shown in FIG. 8, a and b indicate, for example, horizontal and vertical coordinates within the search range. Of course, a position within the search range may be indicated using a coordinate system other than the orthogonal coordinate system. Each time (a, b) is set, one straight line is determined. In step S4, each pixel in f [−2] to f [+2] on the straight line determined by (a, b) is extracted.
[0060]
In step S5, the variance between the pixels extracted in step S4 is calculated. In step S6, it is determined whether or not the variance calculated in step S5 is the smallest among the variances previously calculated corresponding to other (a, b). If it is determined that the variance calculated in step S5 is the smallest among the variances previously calculated corresponding to the other (a, b), the process proceeds to step S7, otherwise. Proceeds to step S8. In step S7, the variance value calculated in step S5 and (a, b) at that time are stored, and the process proceeds to step S8. In step S8, the values of a and b are updated.
[0061]
When a and b are taken as shown in FIG. 8, the values of a and b can be updated, for example, on a raster scan. In step S9, it is checked whether or not the values of a and b updated in step S8 exceed the search range set in step S2. If the search range is exceeded, the process proceeds to step S10 under the determination that the search has ended. In other cases, the process proceeds to step S4, and processing is performed under the values of a and b updated in step S8.
[0062]
In step S10, votes (a, b) stored in step S7 that minimize the variance are voted. Here, voting is a process for examining the frequency distribution of (a, b). In step S11, it is determined whether or not voting has been performed for all the pixels extracted as voting pixels in step S1. If it is determined that all the voting pixels have been voted, the process proceeds to step S12. Otherwise, the process proceeds to step S1, and a new pixel is extracted as a voting pixel. Process.
[0063]
In step S12, class taps and prediction taps in a frame are set on a straight line with a large number of votes, that is, a high frequency. In this manner, tap arrangement that accurately reflects the movement is performed.
[0064]
Here, since (a, b) having a high frequency is determined by voting, it is possible to avoid or reduce the possibility of erroneous determination of the value of (a, b) due to noise in the input image. it can. Therefore, it is possible to arrange taps that reflect movement more accurately.
[0065]
In the first image of the present invention described above, a motion vector is detected in a moving image, and noise is more accurately removed by referring to the detected motion vector. The present invention can be applied when performing various image signal processing that needs to be understood.
[0066]
Next, an outline of motion vector detection processing in the second to fifth embodiments of the present invention will be described with reference to FIG. In FIG. 11, two frames that precede in time, ie, frame f [-1] and frame f [-2], and two frames that follow in time, ie, frame f [+1], centered on the frame of interest f [0]. In addition, pixels on the frame f [+2] are illustrated (each pixel is indicated by a circle). However, the target pixel is illustrated as a black circle. Note that only the frame f [−2] and the frame f [+2] are illustrated as dotted rectangles in order to avoid complicated drawings.
[0067]
In the second and third embodiments of the present invention, a voting range is set around the pixel of interest in the frame of interest f [0], and each of the voting pixels in the voting range has a plurality of straight lines passing through the pixel. The pixel having the smallest variance among the frames located on the straight line is estimated. Then, a motion vector is calculated by performing a vote, that is, a process of adopting the most frequently used linear parameter estimated for each voting pixel as a motion trajectory of the pixel of interest.
[0068]
In the fourth and fifth embodiments of the present invention, a region (hereinafter referred to as a tube range) is set around the pixel of interest in the frame of interest f [0], and passes through each pixel in the region. A plurality of types of straight line groups including a plurality of straight lines parallel to each other are set. Hereinafter, such a straight line group is referred to as a tube. Thus, the tube is defined by the linear parameters that define the parallel straight lines. Then, a tube that is located on each straight line that constitutes the tube and that has a minimum sum of variances of pixels in the frame f [−2] to the frame f [+2] is determined, and the straight line related to the determined tube A motion vector is calculated based on the parameter.
[0069]
The second embodiment of the present invention will be described in detail below. FIG. 12 shows an example of a configuration according to the second embodiment of the present invention. The input image signal is input to the frame memory unit 10. The frame memory unit 10 includes five frame memories fm [−2], fm [−1], fm [0], fm [+1], and fm [+2] connected in a shift register shape. The frame memories fm [−2], fm [−1], fm [0], fm [+1], and fm [+2] have five consecutive frames f [−2], Image data of the frame f [-1], the frame f [0], the frame f [+1], and the frame f [+2] is stored.
[0070]
The image data of the frame of interest f [0] is supplied from the frame memory fm [0] to the area extraction circuit 112 in the voting range determination unit 11. In addition, image data of f [−2], frame f [−1], frame f [0], frame f [+1], and frame f [+2] are respectively stored in frame memories fm [−2] and fm [−1]. ], Fm [0], fm [+1], and fm [+2] are supplied to the pixel extraction circuit 123 on the straight line in the motion vector calculation unit 12.
[0071]
The voting range initial setting circuit 111 sets an initial cutout area, and supplies a parameter indicating the set initial cutout area to the area cutout circuit 112. The area extraction circuit 112 extracts an area from the image data of the target frame f [0] according to the supplied parameters.
[0072]
The area extraction circuit 112 supplies pixel data in the extracted area to the horizontal direction DR calculation circuit 113 and the vertical direction DR calculation circuit 114. The horizontal direction DR calculation circuit 113 calculates horizontal DR (dynamic range) by scanning the supplied pixel data in the horizontal direction (see FIG. 13A). The horizontal direction DR calculation circuit 113 further determines the maximum one of the calculated horizontal direction DRs and supplies the maximum value of the horizontal direction DR to the voting range determination circuit 116.
[0073]
Further, the vertical DR calculation circuit 114 calculates the vertical DR by scanning the supplied pixel data in the vertical direction (see FIG. 13B). The vertical DR calculation circuit 114 further determines the maximum one of the calculated vertical DRs, and supplies the maximum value of the vertical DR to the voting range determination circuit 116.
[0074]
The voting range determination circuit 116 performs an operation for detecting a motion vector on a region cut out at the time when both the maximum values of DR supplied in the horizontal and vertical directions exceed a preset threshold value. The voting range to be used for processing is finally determined.
[0075]
On the other hand, if at least one of the supplied maximum values of the horizontal and vertical DRs is equal to or less than a preset threshold value, the voting range determination circuit 116 determines the area cut out at that time. Is supplied to the voting range update circuit 115. The voting range update circuit 115 sets a new area based on the supplied parameter, and supplies a parameter indicating the set area to the area extraction circuit 112. The area extraction circuit 112 extracts a new area from the image data of the frame of interest f [0] based on the supplied parameters.
[0076]
With the configuration and operation as described above, an area to be extracted as a candidate for the voting range is initially set until the condition that both the maximum values of DR in the horizontal direction and the vertical direction exceed a preset threshold value is satisfied. A process of expanding in steps from the area is performed. Thereby, the voting range used for the calculation process for motion vector detection is finally determined. For example, as shown in FIG. 14A, the initially cut out region is a rectangular region composed of the 0th to 11th pixels in the horizontal and vertical directions, respectively, and then the maximum DR value in the horizontal and vertical directions. Until the condition that both exceed the threshold value is satisfied, rectangular regions including the 0th to 22nd, 0th to 33rd,... Pixels in the horizontal and vertical directions are sequentially cut out.
[0077]
Here, the size of the initial cutout area, the ratio of area enlargement when cutting out a new area, the threshold value for DR, and the like can be arbitrarily set. Further, as a new area, in addition to an area obtained by enlarging an area cut out before that, an area obtained by rotating or reducing an area cut out before that may be used.
[0078]
Further, the density of pixels in a region cut out as a voting range may be changed. For example, as shown in FIG. 14B, by excluding the pixels shown in black from the object to be extracted, for example, by cutting out every other pixel, the area to be extracted as the voting range can be enlarged. The total number of pixels in the region may be constant.
[0079]
In the above description, the voting range is determined by performing threshold determination for the horizontal and vertical DRs of the region to be cut out. However, threshold determination is performed for the DR of the entire region to be cut out. The voting range may be determined by performing. Alternatively, the variance of the entire area may be calculated as an amount representing the activity of the extracted area, and the voting range may be determined according to the calculation result.
[0080]
A parameter indicating the voting range determined by the voting range determination unit 11 is supplied from the voting range determination circuit 116 to the voting pixel initial setting circuit 121 in the motion vector calculation unit 12. The voting pixel initial setting circuit 121 initializes voting pixels and supplies a parameter indicating the voting pixel position related to the initial setting to the linear parameter initial setting circuit 122. The straight line parameter initial setting circuit 122 initially sets the straight line parameters. The initially set straight line parameters are supplied to the pixel cutout circuit 123.
[0081]
As can be seen from FIG. 15, a straight line passing through a specific voting pixel and a pixel in the frame f [1], for example, whose spatial pixel position relative to the voting pixel is (a, b) is (x , Y, t) are uniquely specified in the space. Therefore, in a situation where voting pixels are set, the straight line parameter can be expressed as (a, b). In actual processing, for example, a search range is set in the frame f [1], and a straight line parameter is expressed by a search pixel position in the search range. Note that two straight lines having the same straight line parameter and different voting pixels are parallel to each other.
[0082]
The pixel cutout circuit 123 is supplied with image data of each frame from the frame memories fm [−2] to fm [+2]. The pixel cutout circuit 123 cuts out pixel data in each frame located on a straight line defined by the straight line parameters (a, b) from the supplied image data. The extracted pixel data is supplied to the dispersion calculation and linear parameter holding circuit 124.
[0083]
The dispersion calculation and linear parameter holding circuit 124 calculates the dispersion of five pixels based on the supplied pixel data, the process of comparing the calculated values, and the calculated value and the corresponding straight line according to the comparison result. Performs processing to retain parameters. Then, the dispersion calculation and linear parameter holding circuit 124 supplies the linear parameter finally held to the linear parameter voting circuit 125. Further, the variance calculation and linear parameter holding circuit 124 supplies information about the linear parameter for which the calculation of the variance value has been completed to the linear parameter update circuit 126. Based on the supplied information, the straight line parameter update circuit 126 sets a straight line parameter indicating a straight line that has not been used for the pixel cutout by the pixel cutout circuit 123 and supplies the set straight line parameter to the pixel cutout circuit 123.
[0084]
As a result of the operations of the linear parameter initial setting circuit 122, the pixel cutout circuit 123, the dispersion calculation and linear parameter holding circuit 124, and the linear parameter update circuit 126, the following processing is performed. The variance values of the pixels in each frame located on the straight line specified by the straight line parameter expressed as the pixel position (a, b) within the search range are calculated in order from the one corresponding to the initial straight line parameter. . Then, the linear parameter when the variance value is minimized is supplied to the linear parameter voting circuit 125.
[0085]
Each time the straight line parameter is supplied, the straight line parameter voting circuit 125 supplies information indicating the supplied straight line parameter to the voting pixel update circuit 127. Each time such information is supplied, the voting pixel update circuit 127 updates the voting pixels, and supplies information indicating the updated voting pixels to the linear parameter initial setting circuit 122. Based on such information, the processing as described above is performed by the linear parameter initial setting circuit 122, the pixel cutout circuit 123, the dispersion calculation and linear parameter holding circuit 124, and the linear parameter update circuit 126. In this way, for each pixel in the voting range, a linear parameter related to the smallest variance among pixels in each frame located on the straight line among the straight lines passing through the voting pixel is determined.
[0086]
When the straight line parameters are supplied to all the voting pixels in the voting range by the process as described above, the straight line parameter voting circuit 125 performs a process of voting, that is, detecting the frequency of the supplied straight line parameters. As a result, the most frequently used linear parameter is employed as the locus of the motion vector of the target pixel. The adopted linear parameter is (a 0 , B 0 ), The motion vectors of the pixel of interest in the frames f [−2], [−1], f [0], f [+1], and f [+2] are respectively (−2 × a 0 , -2 × b 0 ), (-A 0 , -B 0 ), (0, 0), (a 0 , B 0 ), (2 × a 0 , 2 x b 0 ) (See FIG. 16).
[0087]
In the second embodiment of the present invention described above, the DR and the like are sequentially calculated for the areas that are cut out as candidates for the voting range, and the areas when the calculated values are equal to or greater than the threshold are used as the voting ranges. With respect to the voting pixels, linear parameters related to the smallest dispersion of pixels in each frame located on the straight line among the straight lines passing through the voting pixel are sequentially determined, and the frequency is the maximum among the determined linear parameters. The motion vector is calculated based on the following.
[0088]
On the other hand, DR etc. may be calculated in parallel for each of the regions cut out as candidates for the voting range, the calculated values may be compared, and the voting range may be determined based on the comparison result.
[0089]
In addition, for each voting pixel, a straight line parameter is determined in parallel for a line that passes through the voting pixel and has a minimum variance of pixels in each frame located on the straight line. The motion vector may be calculated based on the one having the maximum frequency.
[0090]
From such a viewpoint, a third embodiment of the present invention described below is possible. An example of the configuration according to the third embodiment of the present invention is shown in FIG. The input image signal is supplied to the frame memory unit 10. The frame memory unit 10 has been described above with reference to FIG. The image data of the frame of interest f [0] from the frame memory fm [0] is extracted from the area extraction circuit 212 in the voting range determination unit 21. 1 , 212 2 , 212 19 To be supplied. Also, the image data of f [−2] to [+2] from the frame memories fm [−2] to fm [+2] is converted into the linear parameter estimation circuit 221 in the motion vector calculation unit 22. 1 221 2 , ..., 221 144 To be supplied.
[0091]
Area extraction circuit 212 1 , 212 2 , ..., 212 19 Includes pixels from 0th to 11th, 0th to 22nd,..., 0th to 209 (= 11 × 19) from the image data of the target frame f [0] in the horizontal and vertical directions, respectively. Cut out a rectangular area. Area extraction circuit 212 1 , 212 2 , 212 19 The image data cut out by the horizontal DR calculation circuit 213 respectively. 1 , 213 2 , ..., 213 19 And vertical DR calculation circuit 214 1 , 214 2 , ..., 214 19 To be supplied.
[0092]
Horizontal DR calculation circuit 213 1 , 213 2 , ..., 213 19 And vertical DR calculation circuit 214 1 , 214 2 , ..., 214 19 Calculates horizontal and vertical DR based on the supplied image data and supplies the calculated values to the comparison circuit 215. The comparison circuit 215 compares the supplied calculated values and determines a voting range according to the comparison result.
[0093]
Here, the size of a region cut out as a candidate for the voting range, a threshold value for DR, and the like can be arbitrarily set. Further, as described above with reference to FIG. 14B, the density of the pixels in the region to be cut out may be changed.
[0094]
In the above description, the voting range is determined based on the horizontal and vertical DRs of the area to be cut out. The voting range may be determined according to the calculation result.
[0095]
In the following description, a case where an area including the 0th to 11th pixels in the horizontal and vertical directions is adopted as the voting range will be described as an example. In this case, the number of voting pixels is 12 × 12 = 144 (0, 0), (0, 1),..., (11, 11). Corresponding to each of these voting pixels, the linear parameter estimation circuit 221 1 221 2 , ..., 221 144 Is provided in the motion vector calculation unit 22. The parameters indicating the voting range determined by the voting range determining unit 21 are 144 linear parameter estimation circuits 221 in the motion vector calculating unit 22. 1 221 2 , ..., 221 144 To be supplied.
[0096]
Linear parameter estimation circuit 221 1 221 2 , ..., 221 144 Is a straight line for each pixel in the voting range that has the smallest variance of the pixels in the frame f [-2] to the frame f [+2] on the straight line passing through the pixel. Estimate the parameters. The estimated linear parameter is supplied to the voting circuit 222.
[0097]
The voting circuit 222 counts the frequency of the supplied linear parameter and generates frequency data. The frequency data is supplied to the comparison circuit 223. The comparison circuit 223 specifies a linear parameter having the maximum frequency based on the supplied frequency data. The motion vector calculation circuit 224 calculates a motion vector based on the straight line parameter specified by the comparison circuit 223.
[0098]
Linear parameter estimation circuit 221 1 221 2 , ..., 221 144 An example of the configuration is shown in FIG. Pixel position information related to the voting range supplied from the voting range determination unit 21 is supplied to each of the pixel reading circuits 301, 302, 303, 304, and 305. Each of the pixel reading circuits 301 to 305 reads pixel data corresponding to the supplied pixel position information from the frame memories fm [−2] to fm [+2], respectively. In this example, the search pixels are 289 pixels whose relative pixel positions with respect to the voting pixel positions are (−8, −8), (−7, −8),..., (8, 8). ing.
[0099]
Pixel extraction circuit 306 1 , 306 2 , ..., 306 289 Extract and extract pixels in each frame located on a straight line specified by search pixel positions (−8, −8), (−7, −8),..., (8, 8), respectively. The distributed pixel circuit 307 1 307 2 307 289 To supply each.
[0100]
Distributed calculation circuit 307 1 307 2 307 289 Calculates the variance based on the supplied pixel data and supplies the calculated value to the variance comparison circuit 308. The variance comparison circuit 308 identifies the linear parameter when the calculated value is minimized by comparing the calculated values of the supplied variances, and outputs the identified linear parameter.
[0101]
The above description exemplifies a case where an area including the 0th to 11th pixels in the horizontal and vertical directions is adopted as the voting range. On the other hand, more linear parameter estimation circuits may be provided so as to cope with a case where an area including a larger number of pixels is adopted as the voting range. Alternatively, the linear parameter estimation circuit may be controlled to operate in a time division manner.
[0102]
In addition, for example, the example described above with reference to FIG. 18 uses a region including 289 pixels in total, 17 in each of the vertical and horizontal directions. It is not limited and can be set arbitrarily.
[0103]
In the second and third embodiments of the present invention, for each pixel in the voting range, a pixel in each frame located on the straight line is extracted from a straight line passing through the pixel, and distribution of the extracted pixel data is performed. The straight line parameter related to the straight line when the value is minimized is used for voting. On the other hand, the sum of the absolute values of the differences between the average value of the extracted pixel data and each pixel value may be calculated, and the linear parameter used for voting may be determined based on the calculated value. In addition, a straight line parameter for voting may be determined based on the sum of absolute differences between adjacent pixels for the extracted pixel data.
[0104]
In addition, a hierarchical search is performed in which a straight line parameter is roughly estimated by processing a part of the pixels within the search range as a search pixel, and the vicinity of the estimated point is searched in detail using the estimation result. You can go. Such processing will be described with reference to FIGS. 19 and 20. In the example shown in FIG. 19, the search range includes 17 (total 289) pixels in the horizontal and vertical directions. When performing rough estimation, every third pixel indicated by hatching (a total of 25 pixels) is treated as a search pixel. That is, the variance of pixels within, for example, five frames on a straight line passing through each of the 25 pixels and the voting pixels is calculated, and the search pixel when the calculated value is minimized is selected as a result of rough estimation. .
[0105]
Then, all pixels are treated as search pixels in a range (shown with shadows) including 5 (total 25) pixels in the horizontal and vertical directions centered on the pixel selected as a result of rough estimation. That is, a linear parameter that is used for voting based on the pixel position of the search pixel when calculating the variance of pixels within, for example, five frames on a straight line passing through each pixel and the voting pixel, and when the calculated value is minimized Is finally determined.
[0106]
In another example shown in FIG. 20, the search range includes 17 (total 289) pixels in the horizontal and vertical directions. When rough estimation is performed, every second pixel indicated by hatching (a total of 25 pixels) is treated as a search pixel. Then, all pixels are treated as search pixels in a range (shown with a shadow) including 5 (total 25) pixels in the horizontal and vertical directions centered on the pixel selected as a result of rough estimation. Thus, the linear parameter to be used for voting is finally determined.
[0107]
When the hierarchical search process described above with reference to FIG. 19 and FIG. 20 is performed, for example, the calculation of variance and the comparison of the calculated values are performed corresponding to, for example, 25 pixel positions within the search range. , It is possible to select a linear parameter for voting. For this reason, it is possible to reduce the size of the configuration related to calculation such as dispersion.
[0108]
Next explained is the fourth embodiment of the invention. As described above, in the fourth embodiment of the present invention, the motion vector is detected by regarding the motion in the moving image as a tube instead of a straight line. That is, in the fourth embodiment of the present invention, the influence of noise is avoided and the motion vector is accurately calculated by calculating the dispersion of the surface obtained by expanding the space direction instead of the straight line in the space-time. It is made to do.
[0109]
An example of the configuration of the fourth embodiment of the present invention is shown in FIG. The input image is input to the frame memory unit 10. The frame memory unit 10 has been described above with reference to FIG. The image data of the frame of interest f [0], which is the stored contents of the frame memory fm [0], is supplied to the tube cutout circuit 412 in the tube range determination unit 41. Further, the image data of the frames f [−2] to f [+2] are supplied from the frame memories fm [−2] to fm [+2] to the linear pixel cutout circuit 423 in the motion vector calculation unit 42.
[0110]
The tube range initial setting circuit 411 sets an initial tube range, and supplies a parameter indicating the set initial tube range to the tube cutting circuit 412. The tube cutout circuit 412 cuts out an area from the image data of the frame of interest f [0] according to the supplied parameters.
[0111]
Pixel data in the clipped area is supplied to the horizontal direction DR calculation circuit 413 and the vertical direction DR calculation circuit 414. The horizontal DR calculation circuit 413 sequentially calculates horizontal DR by scanning the supplied pixel data in the horizontal direction. The horizontal DR calculation circuit 413 further determines the maximum of the calculated horizontal DRs and supplies the determined horizontal DR to the tube range determination circuit 416.
[0112]
The vertical DR calculation circuit 414 sequentially calculates DR in the vertical direction by scanning the supplied pixel data in the vertical direction. The vertical DR calculation circuit 414 further determines the maximum of the calculated vertical DRs and supplies the determined vertical DR to the tube range determination circuit 416. The tube range determination circuit 416 finally determines the tube range at that time as a tube range for motion vector calculation processing when both the supplied horizontal and vertical DRs exceed a preset threshold value. .
[0113]
On the other hand, when at least one of the supplied horizontal and vertical DRs is equal to or less than a preset threshold value, the tube range determination circuit 416 sets a parameter indicating the tube range at that time as a tube range update circuit. 415 is supplied. The tube range update circuit 415 generates a parameter for cutting out a new area based on the supplied parameter, and supplies the generated parameter to the tube cutting circuit 412. The tube cutout circuit 412 cuts out an area related to a new setting from the image data of the frame of interest f [0].
[0114]
With the configuration and operation as described above, as described above with reference to FIG. 14A, until the maximum value of both the horizontal and vertical DR exceeds the preset threshold value, the condition of the tube range is satisfied. A process of expanding a region cut out as a candidate in a stepwise manner from the region related to the initial setting is performed, and as a result, a tube range used for a calculation process for motion vector detection is finally determined.
[0115]
Here, the size of the initial cutout area, the ratio of area enlargement when cutting out a new area, the threshold value for DR, and the like can be arbitrarily set. In addition, the size of the region cut out as a candidate for the tube range, the threshold value for DR, and the like can be arbitrarily set. Further, as a new area, in addition to an area obtained by enlarging a previously cut out area, an area obtained by rotating or reducing the cut out area may be used. Further, as described above with reference to FIG. 14B, the density of pixels in a region cut out as a tube range candidate may be changed.
[0116]
In the above description, the tube range is determined based on the horizontal and vertical DRs of the region to be cut out. However, the DR of the entire region to be cut out, the variance of the whole region to be cut out, etc. It is also possible to calculate and determine the pipe range according to the calculation result.
[0117]
The parameter indicating the tube range determined by the tube range determining unit 41 is supplied from the tube range determining circuit 416 to the linear parameter initial setting circuit 421 in the motion vector calculating unit 42. The straight line parameter initial setting circuit 421 initializes the straight line parameters and supplies the initially set straight line parameters to the parallel straight line initial setting circuit 422. Corresponding to the straight line parameters, a tube is defined as a collection of mutually parallel straight lines in xyt space that passes through each pixel in the tube range. The parallel straight line initial setting circuit 422 generates a parameter for designating one of the parallel straight lines constituting the tube as a default setting straight line, and supplies the generated parameter to the pixel cutout circuit 423.
[0118]
The pixel cutout circuit 423 is further supplied with image data of each frame from the frames f [−2] to f [+2]. The pixel cutout circuit 423 cuts out pixels in each frame located on the initial installation straight line. Pixel data relating to the cut out pixels is supplied to the dispersion calculation and addition circuit 424.
[0119]
The variance calculation and addition circuit 424 performs processing for calculating variance based on the supplied pixel data, and processing for adding the calculated values to calculate the total variance. Further, every time the calculation and addition of the variance based on the image data supplied from the pixel cutout circuit 423 is completed, the variance calculation and addition circuit 424 supplies information indicating that to the parallel line update circuit 426.
[0120]
The parallel straight line update circuit 426 generates a parameter indicating a parallel straight line constituting the tube that has not been used for the pixel cut out by the pixel cut out circuit 423, and supplies the generated parameter to the pixel cut out circuit 423. The pixel cutout circuit 423 cuts out pixel data related to pixels in each frame located on the straight line corresponding to the supplied parameter, and supplies the cut out pixel data to the dispersion calculation and addition circuit 424.
[0121]
As a result of the operations of the straight line parameter initial setting circuit 421, the parallel straight line initial setting circuit 422, the pixel cutout circuit 423, the dispersion calculation and addition circuit 424, and the parallel straight line update circuit 426, the following processing is performed. That is, the variance of the pixels in each frame located on each straight line in the tube is calculated in order from the straight line according to the initial setting, and the calculated value is added to calculate the total variance. Then, the total variance is supplied to the variance total determination and linear parameter holding circuit 425.
[0122]
Each time the variance total sum determination and linear parameter holding circuit 425 is supplied with the total variance, it supplies information indicating that to the linear parameter update circuit 427. Further, the variance sum determination and linear parameter holding circuit 425 performs determination based on the supplied sum of variances, and holds linear parameters based on the determination result.
[0123]
Based on the supplied information, the straight line parameter update circuit 427 newly sets a straight line parameter relating to a pipe that has not yet been subjected to calculation of the sum of variances and determination processing based on the sum of variances. Is supplied to the parallel straight line initial setting circuit 422. Based on such straight line parameters, the pixel cutout circuit 423, the dispersion calculation and addition circuit 424, and the parallel straight line update circuit 426 perform the processing as described above. In this way, for each of the tubes defined by setting the straight line parameters, the sum of the variance of the pixels in each frame located on the straight line in the tube is sequentially calculated, and the calculated sum of the variances is calculated. Based on the determination.
[0124]
The variance sum determination and linear parameter holding circuit 425 performs determination based on the variance sum by performing, for example, the following processing. First, the sum of the variances for the tubes relating to the initially set linear parameters supplied first from the variance calculation and addition circuit 424 is held, and the initialized linear parameters are held.
[0125]
Next, the sum of the variances for the tube relating to the second linear parameter set by the linear parameter update circuit 427, which is further supplied from the variance calculation and addition circuit 424, is defined by the initial linear parameter. Is compared with the sum of the variances for, and the sum of the smaller variances is retained, and the linear parameter relating to the sum of the smaller variances is retained.
[0126]
Thereafter, the sum of the variances for the tubes related to the linear parameters set in the third, fourth,... By the linear parameter update circuit 427, which is further supplied from the variance calculation and addition circuit 424, is held at that time. Compared with the sum of variances, the sum of the smaller variances is held, and the linear parameter related to the sum of the smaller variances is held.
[0127]
By performing such processing for each of the tubes defined by the parallel straight line initial setting circuit 422 and the straight line parameters set by the straight line parameter updating circuit 427, the minimum dispersion is finally obtained as the total sum of dispersions to be held. Determined. Then, a linear parameter related to the minimum sum of variances is output to the motion vector calculation circuit 428. The motion vector calculation circuit 428 calculates a motion vector based on the supplied linear parameter.
[0128]
In the above-described fourth embodiment of the present invention, DR and the like are sequentially calculated for a region cut out as a tube range candidate, the region when the calculated value exceeds the threshold value is adopted as the tube range, and the linear parameter is set. Sequentially calculate the sum of the variances of the pixels in each frame located on each of the parallel straight lines in the tube defined by, determine the tube with the smallest calculated value, and determine the linear parameters for the determined tube Based on this, a motion vector is calculated.
[0129]
On the other hand, DR etc. may be calculated in parallel for each of the regions cut out as candidates for the tube range, the calculated values may be compared, and the tube range may be determined based on the comparison result.
[0130]
In addition, the sum of the variances is minimized by calculating in parallel the sum of the variances of the pixels on each frame located on each of the parallel straight lines in the tube defined by the straight line parameters, and comparing the calculated values. Such a tube may be determined, and a motion vector may be calculated based on a linear parameter related to the determined tube.
[0131]
From such a viewpoint, the fifth embodiment of the present invention described below is possible. An example of the configuration of the fifth embodiment of the present invention is shown in FIG. The input image is input to the frame memory unit 10. The frame memory unit 10 has been described above with reference to FIG. The image data of the frame of interest f [0] is extracted from the frame memory fm [0] by the area extraction circuit 511 in the tube range determination unit 51 1 , 511 2 , ..., 511 19 To be supplied. Also, the image data of f [−2] to f [+2] is obtained from the frame memories fm [−2] to fm [+2], and the linear parameter estimation circuit 521 in the motion vector calculation unit 52 is obtained. 1 521 2 ,..., 521 144 To be supplied.
[0132]
Area extraction circuit 511 1 , 511 2 , ..., 511 19 Are the 0th to 11th, 0th to 22nd,..., 0th to 209 (= 11 × 19) th pixels in the horizontal and vertical directions, respectively, from the supplied image data of the target frame f [0]. Cut out a rectangular area containing. The image data of the clipped area is respectively converted into the horizontal DR calculation circuit 513. 1 513 2 513 19 And vertical DR calculation circuit 514 1 514 2 514, 514 19 To be supplied.
[0133]
Horizontal DR calculation circuit 513 1 ~ 513 19 And vertical DR calculation circuit 514 1 ~ 514 19 Calculates horizontal and vertical DR based on the supplied image data, and supplies the calculated value to the comparison circuit 515. The comparison circuit 515 determines the tube range by comparing each supplied calculation value.
[0134]
Here, the size of the initial cutout area, the ratio of area enlargement when cutting out a new area, the threshold value for DR, and the like can be arbitrarily set. Further, as a new area, in addition to an area obtained by enlarging an area cut out before that, an area obtained by rotating or reducing an area cut out before that may be used. Further, as described above with reference to FIG. 14B, the density of the pixels in the region to be cut out may be changed.
[0135]
In the above description, the tube range is determined by determining the threshold value for the horizontal and vertical DRs of the region to be cut out. However, the threshold value determination is performed for the DR of the entire region to be cut out. The tube range may be determined by performing the above. Further, the variance of the entire area may be calculated as an amount representing the activity of the extracted area, and the pipe range may be determined according to the calculation result.
[0136]
A parameter indicating the range determined by the tube range determination unit 51 is supplied to the pixel reading circuits 521 to 525 in the motion vector calculation unit 52. Each of the pixel reading circuits 521 to 525 reads and holds image data corresponding to the supplied pixel position information from the frame memories fm [−2] to fm [+2].
[0137]
In the following description, an example in which a region including 0th to 11th pixels in the horizontal and vertical directions, that is, a region including 12 × 12 = 144 pixels is employed as the tube range will be described. As described above, the straight line parameter is expressed as a relative pixel position of a pixel in the search range with respect to a pixel in the tube range. In this example, the number of linear parameters is 17 × 17 = 289 (−8, −8), (−7, −8),..., (+8, +8).
[0138]
Corresponding to each of these linear parameters, the pixel extraction circuit 526 1 526 2 ,..., 526 289 Is provided. Pixel extraction circuit 526 1 526 2 ,..., 526 289 Extract the pixel data in each frame located on the parallel straight line in the pipe related to each straight line parameter (144 lines in this example for one straight line parameter) from the data held in the pixel reading circuits 5201 to 5205 To do. The extracted pixel data is obtained from the variance sum calculation circuit 527. 1 527 2 527 289 Are supplied respectively.
[0139]
Distributed sum calculation circuit 527 1 ~ 527 289 Calculates the sum of variances based on the supplied pixel data, and supplies the calculated sum of variances to the variance sum comparison circuit 528. The total variance comparison circuit 528 identifies the linear parameter when the total variance is minimized by comparing the total variance supplied, and outputs the identified linear parameter. The motion vector calculation circuit 529 supplies the supplied linear parameter to the motion vector calculation circuit 529. The motion vector calculation circuit 529 calculates a motion vector based on the supplied linear parameter.
[0140]
Distributed sum calculation circuit 527 1 ~ 527 289 An example of the configuration is shown in FIG. Such an example is based on the premise that the tube range includes the 0th to 11th pixels in the horizontal and vertical directions. Distributed calculation circuit 61 1 , 61 2 , 61 144 Extracts the pixels in each frame located on each straight line constituting the tube specified by the straight line parameter from the data held in the pixel reading circuits 521 to 525, and calculates the variance of the extracted pixels.
[0141]
Distributed calculation circuit 61 1 , 61 2 , 61 144 Is output to the adder 62. The adder 62 calculates the total sum of variances by adding the supplied calculated values.
[0142]
The configurations and operations described above with reference to FIGS. 22 and 23 are based on the assumption that a region including the 0th to 11th pixels in the horizontal and vertical directions is adopted as the tube range. On the other hand, the present invention can also be applied to a case where a region including a larger number of pixels is adopted as the tube range. In such a case, a configuration may be employed in which more distributed calculation circuits are provided, or control may be performed so that the distributed calculation circuits are operated in a time division manner.
[0143]
In addition, in the example of the configuration described above with reference to FIG. 22, an area including 17 pixels in the vertical and horizontal directions and a total of 289 pixels is used as the search range. It is not limited to and can be set arbitrarily.
[0144]
In the fourth and fifth embodiments of the present invention described above, for each of the parallel straight lines constituting the tube specified by the straight line parameter, the variance of the pixels located on the straight line is calculated, and the sum of the calculated values is calculated. The motion vector is determined based on the linear parameter at the time of the minimum. On the other hand, for each of the parallel straight lines constituting the tube, the sum of the absolute value of the difference between each pixel value and the average value of the pixels located on the straight line is calculated, and the linear parameter when the calculated value is minimized is calculated. The motion vector may be determined on the basis of it.
[0145]
Further, for each of the parallel straight lines constituting the tube, the sum of the differences between adjacent pixels of the pixels located on the straight line is calculated, and the motion vector is calculated based on the straight line parameter when the sum of the calculated values is the minimum. Anyway. Alternatively, the DR of pixels located on the straight line constituting each tube may be calculated, and the motion vector may be calculated based on the calculated value.
[0146]
In the first to fifth embodiments of the present invention, the motion vector is calculated based on the image data of five frames including the frame of interest. However, the present invention is not limited to this. For example, the motion vector calculation process may be performed based on image data of three frames including the frame of interest.
[0147]
The present invention is not limited to the first to fifth embodiments of the present invention described above, and various modifications and applications can be made without departing from the gist of the present invention.
[0148]
【The invention's effect】
According to the present invention, the motion vector is calculated based on the result of the arithmetic processing performed based on the pixel values of the pixels in the plurality of frames located on the plurality of straight lines passing through the plurality of pixels in the frame of interest in space-time. Calculated. For this reason, it is possible to reduce the influence of noise on the motion vector calculation processing. Further, even if the noise level changes variously, processing corresponding to the noise level can be performed.
[0149]
In particular, when a region in a frame of interest including a plurality of pixels through which a straight line passes, such as a voting range and a tube range, is variably set based on the DR of the pixel value of the pixel in the region as a standard It is possible to perform appropriate processing according to the size of the object. That is, it is possible to perform appropriate processing for fine object movements by using a smaller voting range or tube range.
[0150]
In addition, by using a larger voting range or tube range in the flat portion, it is possible to appropriately perform motion vector detection in the flat portion, which is likely to be erroneous in block matching performed under a fixed block size.
[0151]
In general, the amount of calculation depends on the size of the voting range and the tube range, but in many cases, it is possible to detect a motion vector with high accuracy with a smaller amount of calculation compared to the block matching method. Further, unlike the case of using block matching or the like, it is not necessary to detect motion for each frame.
[0152]
In particular, when the motion vector is calculated by the method as described above, and the position of the class tap and the prediction tap when performing the class classification adaptive processing is set according to the calculated motion vector, for example, 5 frames Minute tap placement can be determined at a time. Further, in this case, as a result of the class classification adaptive processing, it is possible to prevent or reduce image quality deterioration that causes a tail in a moving part, and to remove noise without causing spatial blur in the image. it can.
[0153]
Also, in this case, unlike the case of using block matching or the like, the tap arrangement is not extremely different by one frame due to partial misdetection of motion vectors, so that processing such as noise removal can be performed efficiently. It can be carried out.
[Brief description of the drawings]
FIG. 1 is a block diagram for explaining a previously proposed configuration for noise removal;
2 is a schematic diagram for explaining a tap structure in the configuration shown in FIG. 1; FIG.
FIG. 3 is a block diagram for explaining a configuration relating to noise removal in the first embodiment of the present invention;
FIG. 4 is a block diagram for explaining a configuration related to generation of a prediction coefficient in the first embodiment of the present invention.
FIG. 5 is a block diagram illustrating an example of a configuration related to noise addition.
FIG. 6 is a block diagram illustrating another example of a configuration related to noise addition.
FIG. 7 is a block diagram showing still another example of a configuration related to noise addition.
FIG. 8 is a schematic diagram for explaining in principle the setting of the tap position in the first embodiment of the present invention;
FIG. 9 is a schematic diagram for illustrating a basic tap structure according to the first embodiment of the present invention.
FIG. 10 is a flowchart for explaining processing relating to setting of a tap position in the first embodiment of the present invention;
FIG. 11 is a schematic diagram for explaining an outline of second to fifth embodiments of the present invention;
FIG. 12 is a block diagram for explaining a configuration of a second embodiment of the present invention.
FIG. 13 is a schematic diagram for explaining processing for setting a voting range;
FIG. 14 is a schematic diagram illustrating an example of a set voting range.
FIG. 15 is a schematic diagram for explaining a straight line parameter;
FIG. 16 is a schematic diagram for explaining a motion vector calculated for each frame;
FIG. 17 is a block diagram for explaining a configuration of a third embodiment of the present invention;
FIG. 18 is a block diagram for explaining in detail the configuration of a part of the third embodiment of the present invention;
FIG. 19 is a schematic diagram for explaining an example of a hierarchical search;
FIG. 20 is a schematic diagram for explaining another example of the hierarchical search.
FIG. 21 is a block diagram for explaining a configuration of a fourth embodiment of the present invention.
FIG. 22 is a block diagram for explaining in detail the configuration of a part of the fifth embodiment of the present invention;
FIG. 23 is a block diagram for explaining in detail a configuration of a fifth embodiment of the present invention;
FIG. 24 is a block diagram for explaining a conventional technique.
[Explanation of symbols]
26 ... Tap arrangement determining unit, 46 ... Tap arrangement determining unit, 115 ... Voting range update circuit, 116 ... Voting range determining circuit, 124 ... Distributed calculation and linear parameter holding circuit, ..Linear parameter voting circuit, 222... Voting circuit, 415... Pipe range update circuit, 416... Pipe range determination circuit, 425. Parameter update circuit

Claims (21)

画像信号内の注目画素および上記注目画素の周辺に位置する複数の画素を含む対象画素毎に、各対象画素を通り、時間方向に延びる直線上に位置する複数の画素を抽出する抽出手段と、
各注目画素に対する各対象画素に対して、上記抽出手段によって直線の方向毎に抽出される複数の画素の画素値に基づいて、直線の方向毎に類似度を検出する類似度検出手段と、
上記対象画素毎の上記直線の方向毎に検出された上記類似度に基づいて、上記注目画素に対する動きベクトルを算出する動きベクトル算出手段とを備えることを特徴とする動きベクトル検出装置。
Extracting means for extracting a plurality of pixels located on a straight line passing through each target pixel and extending in the time direction for each target pixel including the target pixel in the image signal and a plurality of pixels located around the target pixel;
Similarity detection means for detecting similarity for each direction of a straight line based on pixel values of a plurality of pixels extracted for each direction of a straight line by the extraction means for each target pixel for each target pixel;
A motion vector detection device comprising: motion vector calculation means for calculating a motion vector for the pixel of interest based on the similarity detected for each direction of the straight line for each target pixel.
上記対象画素は、
上記注目画素を含むフレーム内の画像データに基づいて設定されることを特徴とする請求項1の動きベクトル検出装置。
The target pixel is
The motion vector detection apparatus according to claim 1, wherein the motion vector detection apparatus is set based on image data in a frame including the pixel of interest.
上記注目画素を含むフレーム内の複数の画素を切出し、切出した複数の画素の画素値のダイナミックレンジを計算し、計算されるダイナミックレンジに基づいて上記対象画素を決定することを特徴とする請求項2の動きベクトル検出装置。A plurality of pixels in a frame including the target pixel are cut out, a dynamic range of pixel values of the cut out plurality of pixels is calculated, and the target pixel is determined based on the calculated dynamic range. 2. A motion vector detection device. 上記注目画素を含むフレーム内の複数の画素を切出し、切出した複数の画素の画素値の分散を計算し、計算値に基づいて上記対象画素を決定することを特徴とする請求項2の動きベクトル検出装置。3. The motion vector according to claim 2, wherein a plurality of pixels in a frame including the target pixel are cut out, a variance of pixel values of the cut out plurality of pixels is calculated, and the target pixel is determined based on the calculated value. Detection device. 上記抽出手段は、
上記注目画素を含むフレームを含む3個以上のフレームから、上記直線上に位置する画素を抽出することを特徴とする請求項1の動きベクトル検出装置。
The extraction means is:
2. The motion vector detection apparatus according to claim 1, wherein pixels located on the straight line are extracted from three or more frames including a frame including the pixel of interest.
上記類似度検出手段は、
上記抽出手段によって上記直線の方向毎に抽出される複数の画素の画素値に基づいて演算を行う演算手段と、
上記演算手段の出力に基づいて上記類似度を検出する類似度検出手段とを備えることを特徴とする請求項1の動きベクトル検出装置。
The similarity detection means includes:
Computing means for computing based on pixel values of a plurality of pixels extracted for each direction of the straight line by the extracting means;
The motion vector detection apparatus according to claim 1, further comprising similarity detection means for detecting the similarity based on an output of the calculation means.
上記演算手段は、
上記複数の画素の画素値の分散を演算することを特徴とする請求項6の動きベクトル検出装置。
The computing means is
The motion vector detection device according to claim 6, wherein a variance of pixel values of the plurality of pixels is calculated.
上記類似度検出手段は、
上記演算手段によって演算される上記複数の画素の画素値の分散が小さい程、上記類似度が大きいことを検出することを特徴とする請求項7の動きベクトル検出装置。
The similarity detection means includes:
8. The motion vector detection apparatus according to claim 7, wherein the degree of similarity is detected as the variance of pixel values of the plurality of pixels calculated by the calculation means decreases.
上記演算手段は、
上記複数の画素の画素値について、隣接画素間の差分絶対値の総和を演算することを特徴とする請求項6の動きベクトル検出装置。
The computing means is
The motion vector detection device according to claim 6, wherein a sum of absolute differences between adjacent pixels is calculated for pixel values of the plurality of pixels.
上記演算手段は、
上記複数の画素の画素値について、ダイナミックレンジを演算することを特徴とする請求項6の動きベクトル検出装置。
The computing means is
The motion vector detection apparatus according to claim 6, wherein a dynamic range is calculated for pixel values of the plurality of pixels.
上記演算手段は、
上記複数の画素の画素値の平均値を計算し、計算した平均値と上記複数の画素の画素値の各々との差分絶対値の総和を演算することを特徴とする請求項6の動きベクトル検出装置。
The computing means is
7. The motion vector detection according to claim 6, wherein an average value of pixel values of the plurality of pixels is calculated, and a sum of absolute differences between the calculated average value and each of the pixel values of the plurality of pixels is calculated. apparatus.
上記動きベクトル算出手段は、
上記対象画素毎に、上記類似度が最大となる際の直線に係る直線パラメータを投票する投票手段と、
上記投票手段による投票結果に基づいて、上記注目画素に対する動きベクトルを演算する動きベクトル演算手段とを備えることを特徴とする請求項1の動きベクトル検出装置。
The motion vector calculation means includes
Voting means for voting a straight line parameter related to a straight line when the similarity is maximized for each target pixel;
2. The motion vector detecting device according to claim 1, further comprising motion vector computing means for computing a motion vector for the pixel of interest based on a voting result by the voting means.
画像信号内の注目画素および上記注目画素の周辺に位置する複数の画素を含む対象画素毎に、各対象画素を通り、時間方向に延びる直線上に位置する複数の画素を抽出する抽出ステップと、
各注目画素に対する各対象画素に対して、上記抽出ステップによって上記直線の方向毎に抽出される複数の画素の画素値に基づいて、上記直線の方向毎に類似度を検出する類似度検出ステップと、
上記対象画素毎の上記直線の方向毎に検出された上記類似度に基づいて、上記注目画素に対する動きベクトルを算出する動きベクトル算出ステップとを有することを特徴とする動きベクトル検出方法。
An extraction step of extracting a plurality of pixels located on a straight line that passes through each target pixel and extends in the time direction for each target pixel including the target pixel in the image signal and a plurality of pixels located around the target pixel;
A similarity detection step for detecting a similarity for each direction of the straight line based on pixel values of a plurality of pixels extracted for each direction of the straight line by the extraction step for each target pixel for each target pixel; ,
And a motion vector calculating step of calculating a motion vector for the target pixel based on the similarity detected for each direction of the straight line for each target pixel.
画像信号内の注目画素を通り、時間方向に延びる直線と、上記注目画素の周辺に位置する画素を通り、上記直線と平行な直線との各々について、当該直線上に位置する複数の画素を抽出する抽出手段と、
上記抽出手段によって上記直線の方向毎に抽出される複数の画素に基づいて、上記直線の方向毎に類似度を検出する類似度検出手段と、
上記直線の方向毎に検出される類似度に基づいて、上記注目画素に対する動きベクトルを算出する動きベクトル算出手段とを備えることを特徴とする動きベクトル検出装置。
A plurality of pixels located on the straight line are extracted for each of a straight line that passes through the pixel of interest in the image signal and extends in the time direction and a pixel that is positioned around the pixel of interest and is parallel to the straight line. Extraction means to
Similarity detection means for detecting similarity for each direction of the straight line based on a plurality of pixels extracted for each direction of the straight line by the extraction means;
A motion vector detection apparatus comprising: motion vector calculation means for calculating a motion vector for the pixel of interest based on a similarity detected for each direction of the straight line.
上記注目画素の周辺に位置する画素は、
上記注目画素を含むフレーム内の画像データに基づいて設定されることを特徴とする請求項14の動きベクトル検出装置。
Pixels located around the pixel of interest are
15. The motion vector detection device according to claim 14, wherein the motion vector detection device is set based on image data in a frame including the pixel of interest.
上記抽出手段は、
上記注目画素を含むフレームを含む3個以上のフレームから、上記直線上に位置する画素を抽出することを特徴とする請求項14の動きベクトル検出装置。
The extraction means is:
15. The motion vector detection device according to claim 14, wherein pixels located on the straight line are extracted from three or more frames including a frame including the pixel of interest.
上記類似度検出手段は、
上記抽出手段によって上記直線の方向毎に抽出される複数の画素の画素値に基づいて演算を行う演算手段と、
上記演算手段の出力に基づいて上記類似度を検出する類似度検出手段とを備えることを特徴とする請求項14の動きベクトル検出装置。
The similarity detection means includes:
Computing means for computing based on pixel values of a plurality of pixels extracted for each direction of the straight line by the extracting means;
15. The motion vector detection device according to claim 14, further comprising similarity detection means for detecting the similarity based on an output of the calculation means.
上記演算手段は、
上記抽出手段によって抽出される、上記直線上に位置する複数の画素についての分散と、上記注目画素の周辺に位置する画素を通り、上記直線と平行な直線上に位置する複数の画素についての分散、あるいは注目フレームの画素と他のフレームの画素の差分絶対値和、あるいは隣接画素の差分絶対値の総和をそれぞれ計算し、計算値の総和を算出することを特徴とする請求項17の動きベクトル検出装置。
The computing means is
Variance for a plurality of pixels located on the straight line, extracted by the extraction means, and variance for a plurality of pixels located on a straight line passing through the pixels located around the pixel of interest and parallel to the straight line 18. The motion vector according to claim 17, further comprising: calculating a sum of absolute values of differences between pixels of a target frame and pixels of other frames, or a sum of absolute differences of adjacent pixels, and calculating a sum of calculated values. Detection device.
画像信号内の注目画素を通り、時間方向に延びる直線と、上記注目画素の周辺に位置する画素を通り、上記直線と平行な直線との各々について、当該直線上に位置する複数の画素を抽出する抽出ステップと、
上記抽出ステップによって上記直線の方向毎に抽出される複数の画素に基づいて、上記直線の方向毎に類似度を検出する類似度検出ステップと、
上記直線の方向毎に検出される類似度に基づいて、上記注目画素に対する動きベクトルを算出する動きベクトル算出ステップとを備えることを特徴とする動きベクトル検出方法。
A plurality of pixels located on the straight line are extracted for each of a straight line that passes through the pixel of interest in the image signal and extends in the time direction and a pixel that is positioned around the pixel of interest and is parallel to the straight line. An extraction step to
A similarity detection step of detecting a similarity for each direction of the straight line based on a plurality of pixels extracted for each direction of the straight line by the extraction step;
A motion vector detection method comprising: a motion vector calculation step for calculating a motion vector for the pixel of interest based on a similarity detected for each direction of the straight line.
画像信号をフレーム毎に記憶する複数個のフレームメモリと、
上記複数個のフレームメモリに記憶される各フレームから1個または複数個の画素を切出す第1の画像切出し手段と、
上記第1の画像切出し手段によって切出される画素の画素値に基づいて時空間内での画像レベル分布のパターンを検出し、検出結果に応じてクラス分類を行うクラス分類手段と、
クラス毎に予め決定された予測係数を記憶しており、記憶した予測係数の内から、上記クラス分類手段によるクラス分類結果に対応するものを出力する係数メモリと、
上記複数個のフレームメモリに記憶される各フレームから1個または複数個の画素を切出す第2の画像切出し手段と、
上記係数メモリの出力と、上記第2の画像切出し手段によって切出される画像領域のデータとに基づいて演算を行うことによって出力画像を生成する出力画像生成手段と、
上記画像信号内の注目画素および上記注目画素の周辺に位置する複数の画素を含む対象画素毎に、各対象画素を通り、時間方向に延びる直線上に位置する複数の画素を抽出する抽出手段と、上記注目画素の各々に対応する各対象画素に対して、上記抽出手段によって上記直線の方向毎に抽出される複数の画素の画素値に基づいて、上記直線の方向毎に類似度を検出する類似度検出手段と、上記対象画素毎の上記直線の方向毎に検出された上記類似度に基づいて、上記注目画素に対する動きベクトルを算出する動きベクトル算出手段を含む動きベクトル検出手段と、
上記動きベクトル検出手段によって検出される動きベクトルに基づいて、上記第1の画像切出し手段および/または上記第2の画像切出し手段によって切出される画素の位置を設定する切出し位置決定手段とを備えることを特徴とする画像信号処理装置。
A plurality of frame memories for storing image signals for each frame;
First image cutting means for cutting out one or a plurality of pixels from each frame stored in the plurality of frame memories;
A class classification unit that detects a pattern of an image level distribution in a space-time based on a pixel value of a pixel cut out by the first image cut-out unit, and performs class classification according to the detection result;
A coefficient memory that stores a prediction coefficient predetermined for each class, and outputs one of the stored prediction coefficients corresponding to the class classification result by the class classification unit;
Second image cutting means for cutting out one or a plurality of pixels from each frame stored in the plurality of frame memories;
Output image generating means for generating an output image by performing an operation based on the output of the coefficient memory and the data of the image area cut out by the second image cutting out means;
Extraction means for extracting, for each target pixel including a target pixel in the image signal and a plurality of pixels located around the target pixel, a plurality of pixels positioned on a straight line that passes through each target pixel and extends in the time direction; , For each target pixel corresponding to each of the target pixels, a similarity is detected for each direction of the straight line based on pixel values of a plurality of pixels extracted by the extracting unit for each direction of the straight line. A motion vector detection means including a motion vector calculation means for calculating a motion vector for the target pixel based on the similarity detected for each direction of the straight line for each target pixel;
Clipping position determining means for setting the positions of pixels cut out by the first image cutting means and / or the second image cutting means based on the motion vector detected by the motion vector detecting means. An image signal processing apparatus.
画像信号をフレーム毎に記憶する記憶ステップと、
上記記憶ステップによって記憶される各フレームから1個または複数個の画素を切出す第1の画像切出しステップと、
上記第1の画像切出しステップによって切出される画素の画素値に基づいて時空間内での画像レベル分布のパターンを検出し、検出結果に応じてクラス分類を行うクラス分類ステップと、
クラス毎に予め決定された予測係数を記憶しており、記憶した予測係数の内から、上記クラス分類手段によるクラス分類結果に対応するものを出力する係数出力ステップと、
上記記憶ステップによって記憶される各フレームから1個または複数個の画素を切出す第2の画像切出しステップと、
上記係数出力ステップによる出力と、上記第2の画像切出しステップによって切出される画像領域のデータとに基づいて演算を行うことによって出力画像を生成する出力画像生成ステップと、
上記画像信号内の注目画素および上記注目画素の周辺に位置する複数の画素を含む対象画素毎に、各対象画素を通り、時間方向に延びる直線上に位置する複数の画素を抽出する抽出ステップと、上記注目画素の各々に対応する各対象画素に対して、上記抽出ステップによって上記直線の方向毎に抽出される複数の画素の画素値に基づいて、上記直線の方向毎に類似度を検出する類似度検出ステップと、上記対象画素毎の上記直線の方向毎に検出された上記類似度に基づいて、上記注目画素に対する動きベクトルを算出する動きベクトル算出ステップを含む動きベクトル検出ステップと、
上記動きベクトル検出ステップによって検出される動きベクトルに基づいて、上記第1の画像切出しステップおよび/または上記第2の画像切出しステップによって切出される画素の位置を設定する切出し位置決定ステップとを有することを特徴とする画像信号処理方法。
A storage step of storing an image signal for each frame;
A first image cutout step of cutting out one or more pixels from each frame stored by the storage step;
A class classification step of detecting a pattern of an image level distribution in the spatio-temporal based on a pixel value of a pixel cut out by the first image cutting step, and performing class classification according to the detection result;
A coefficient output step for storing a prediction coefficient determined in advance for each class, and outputting a result corresponding to the class classification result by the class classification means from among the stored prediction coefficients,
A second image cutout step of cutting out one or more pixels from each frame stored by the storage step;
An output image generation step of generating an output image by performing an operation based on the output of the coefficient output step and the data of the image region cut out by the second image cutout step;
An extraction step for extracting a plurality of pixels located on a straight line passing through each target pixel and extending in the time direction for each target pixel including the target pixel in the image signal and a plurality of pixels located around the target pixel; For each target pixel corresponding to each of the target pixels, a similarity is detected for each direction of the straight line based on pixel values of a plurality of pixels extracted for each direction of the straight line by the extraction step. A motion vector detection step including a similarity detection step, and a motion vector calculation step of calculating a motion vector for the target pixel based on the similarity detected for each direction of the straight line for each target pixel;
A cutout position determining step for setting a position of a pixel cut out by the first image cutout step and / or the second image cutout step based on the motion vector detected by the motion vector detection step. An image signal processing method characterized by the above.
JP2000020553A 1999-05-31 2000-01-28 Motion vector detection device and detection method, and image signal processing device and processing method Expired - Fee Related JP4403330B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000020553A JP4403330B2 (en) 1999-05-31 2000-01-28 Motion vector detection device and detection method, and image signal processing device and processing method
US09/769,647 US6687388B2 (en) 2000-01-28 2001-01-25 Picture processing apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP15256399 1999-05-31
JP11-152563 1999-05-31
JP2000020553A JP4403330B2 (en) 1999-05-31 2000-01-28 Motion vector detection device and detection method, and image signal processing device and processing method

Publications (2)

Publication Number Publication Date
JP2001053981A JP2001053981A (en) 2001-02-23
JP4403330B2 true JP4403330B2 (en) 2010-01-27

Family

ID=26481439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000020553A Expired - Fee Related JP4403330B2 (en) 1999-05-31 2000-01-28 Motion vector detection device and detection method, and image signal processing device and processing method

Country Status (1)

Country Link
JP (1) JP4403330B2 (en)

Also Published As

Publication number Publication date
JP2001053981A (en) 2001-02-23

Similar Documents

Publication Publication Date Title
US6687388B2 (en) Picture processing apparatus
KR100492127B1 (en) Apparatus and method of adaptive motion estimation
US4703351A (en) Apparatus for an efficient coding of television signals
KR101108634B1 (en) Image processing device and image processing method and recording medium
KR100303108B1 (en) Motion vector detection device and method
US6987884B2 (en) Image processing device and method, and recorded medium
US20060285596A1 (en) Motion-vector detecting device, motion-vector detecting method, and computer program
US7738556B2 (en) Apparatus and method for estimating motion vector with gradient method
JP2009509413A (en) Adaptive motion estimation for temporal prediction filters for irregular motion vector samples
JPWO2002013512A1 (en) Image processing device and method, and recording medium
US20050259738A1 (en) Image processing apparatus and method, and recording medium and program used therewith
JP4224882B2 (en) Data processing apparatus and data processing method
JP4517409B2 (en) Data processing apparatus and data processing method
EP1585337B1 (en) Image processing apparatus and method, recording medium and program
JP4407015B2 (en) Noise removing apparatus and noise removing method
JP2005150903A (en) Image processing apparatus, noise removal method, and noise removal program
US20090310679A1 (en) Video processing apparatus and methods
KR100816593B1 (en) An image processing apparatus, an image processing method, and a recording medium
US7522748B2 (en) Method and apparatus for processing image data and semiconductor storage device
JP4403330B2 (en) Motion vector detection device and detection method, and image signal processing device and processing method
JP3175914B2 (en) Image encoding method and image encoding device
JP3255656B2 (en) Video encoding device
JP4078806B2 (en) Image processing apparatus, image processing method, learning apparatus, and learning method
JP2980810B2 (en) Motion vector search method and apparatus
JP3237815B2 (en) Motion vector search method and apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090918

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091019

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

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131113

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees