JP4544334B2 - 画像処理装置および画像処理方法 - Google Patents

画像処理装置および画像処理方法 Download PDF

Info

Publication number
JP4544334B2
JP4544334B2 JP2008105248A JP2008105248A JP4544334B2 JP 4544334 B2 JP4544334 B2 JP 4544334B2 JP 2008105248 A JP2008105248 A JP 2008105248A JP 2008105248 A JP2008105248 A JP 2008105248A JP 4544334 B2 JP4544334 B2 JP 4544334B2
Authority
JP
Japan
Prior art keywords
motion vector
value
image
block
calculation
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
JP2008105248A
Other languages
English (en)
Other versions
JP2009258868A (ja
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 JP2008105248A priority Critical patent/JP4544334B2/ja
Priority to US12/413,755 priority patent/US8446957B2/en
Priority to EP20090004732 priority patent/EP2111046A3/en
Priority to CN2009101344528A priority patent/CN101562704B/zh
Publication of JP2009258868A publication Critical patent/JP2009258868A/ja
Application granted granted Critical
Publication of JP4544334B2 publication Critical patent/JP4544334B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Description

この発明は、2画面間の画像全体に加わっている変形を表わすグローバルモーションを算出する画像処理装置および方法に関する。
2つの画面間の動きベクトルを、画像情報自身から求めるブロックマッチング手法は、歴史の古い技術である。
このブロックマッチング手法は、注目画面である参照画面と、当該参照画面の動きの元となる元画面(ターゲット画面と称する)との間の2画面間の動きベクトルを、算出する方法である。ブロックマッチング手法においては、所定の大きさの矩形領域のブロック(ターゲットブロックと参照ブロック)について、参照画面とターゲット画面との間での相関を算出することにより算出する。
ターゲット画面が時間的に参照画面よりも前の画面とされる場合と、参照画面が時間的にターゲット画面よりも前の画面とされる場合の両方がある。前者の例としては、例えば、MPEG(Moving Picture Experts Group)における動き検出の場合がある。また、後者の例としては、例えば、後述する画像フレームの重ね合わせによるノイズ低減の場合がある。
なお、この明細書で、画面とは、1フレームまたは1フィールドの画像データからなる画像を意味しているが、この明細書における以下の説明の便宜上、画面は1フレームからなるものとして、画面をフレームと称することとする。したがって、参照画面は参照フレーム、ターゲット画面はターゲットフレームと称することとする。
このブロックマッチングによる動きベクトル検出手法は、テレビジョンカメラのパン・チルト検出や被写体追尾、MPEG方式の動画符号化などを中心に開発が進んでいる。90年代に入ってからは、画像の重ね合わせによるセンサレス手ブレ補正や低照度撮影時のノイズ除去(Noise Reduction:以降、NRと表記する)など多岐に渡って応用が進められている。
また、ブロックマッチングによる動きベクトル検出手法は、画像認識や手ぶれ補正用途に留まらず、撮像装置のシャッター速度の自動調整や、液晶テレビの倍速フレームレート変換のように、新たな広がりを呈している。
ところで、画面内に設定された多数のターゲットブロックのそれぞれについての動きベクトル(ローカル動きベクトル)を検出し、当該検出した多数のローカル動きベクトル用いて、2画面間の画像全体に加わっている変形を表わすグローバルモーションを算出することが行なわれている。グローバルモーションは、通常は、画像の背景の動きおよび動き量を示すものとなる。
従来技術として、例えば、特許文献1(特開2007−221631号公報)においては、1画面を多数のブロックに分割し、ブロック毎のベクトルを求め、求めたそれらの動きベクトルを直接用いてグローバルモーションを算出している。この特許文献1の手法は、画素数が低い数年前までは、主として動画の手ブレ補正技術として用いられて来た手法の1つである。
上記特許文献1の発明によれば、低コストのハードウェア規模でグローバルモーションを検出し、動画および静止画の良好かつ高画質なセンサレス(ジャイロレス)手ブレ補正およびノイズリダクションを実現することできる。
しかし、1画面(画像)を、例えば16ブロック程度の大きなブロックに分割した場合には、画像中に動被写体が含まれる場合、その動被写体に追従することができないという問題がある。
そこで、ブロック数を例えば64個程度に多数個にすれば、比較的狭い画像領域についての多数のローカル動きベクトルを用いることができるので、ある程度、動被写体の動きに追従することができようになる。しかし、そのように構成した場合には、特許文献1の手法では、ハードウエアの規模が増大し、この特許文献1の手法の長所であるコストメリットが活かせないという問題が生じる。
一方、グローバルモーションを求める方法として、検出された複数個のローカル動きベクトルに対してアフィン変換を施す方法が提案されている。
図34に、アフィン変換の一般式を、(式1)として示す。この(式1)において、vは、ターゲットブロックの動きベクトルの水平成分、wはターゲットブロックの動きベクトルの垂直成分を示し、a,b,c,d,e,fは、アフィンパラメータを示している。ここで、通常のアフィン変換では、アフィンパラメータa,b,c,d,e,fは、固定値である。そして、x,yは、ターゲットブロックの中心座標の水平成分、垂直成分を示している。
グローバルモーションの収束演算過程において求められたアフィンパラメータと、各ターゲットブロックの中心の座標から、グローバルモーションに応じた動きベクトル(このベクトルを理想的な動きベクトルと呼ぶ)が得られる。この理想的なベクトルと、観測(ブロックマッチングにより検出)された動きベクトルとの間のエラーの総和εは、図35の(式2)のように表される。
グローバルモーションを導出するという命題は、上記のエラーの総和εを最小化するアフィンパラメータa〜fの推定であり、これは、例えば、最小自乗法によって解くことが可能である。図36、図37、図38の(式3)、(式4)、(式5)には、アフィンパラメータa〜fの導出過程と、その結果を示す。
このように、アフィン変換のパラメータは比較的容易に算出されるが、その効果は大きい。アフィン変換は、画像の平行移動、回転、拡大縮小の他、ある程度の変形にも対応できるため、大抵の手ブレ即ちカメラワークの微少な補正をカバーする。
上記のアフィン変換についての先行技術文献としては、特許文献2(特開2005−321902号公報)などがある。
上記の特許文献は、次の通りである。
特開2007−221631号公報 特開2005−321902号公報
しかしながら、アフィン変換は、“あおり”に対応できない欠点がある。“あおり”とは、手ブレのピッチ軸(鉛直方向軸)またはヨー軸(鉛直方向に直交する水平方向軸)の回転成分によってもたらされる現象で、正対した矩形平面が、図39に示すように、台形に変形してしまうことから、台形歪みやキーストーンとも呼ばれる。
すなわち、図39(A)の下側に示すように、カメラCAMの光軸Lzが、被写体OBJの矩形平面に直交するように、カメラCAMが被写体OBJに正対しているときには、被写体OBJの矩形平面の撮像画像は、図39(A)の上側に示すように、そのまま矩形平面となる。
これに対して、例えば図39(B)の下側に示すように、カメラCAMの光軸Lzが、被写体OBJに正対せずに、角度θだけピッチ軸回転(鉛直な面内で回転)した場合には、被写体OBJの矩形平面の撮像画像は、図39(B)の上側に示すように、左右方向(画像の水平方向)の長さが、角度θに応じて線形に変化する台形となる。
なお、図示は省略するが、カメラCAMの光軸Lzが、被写体OBJに正対せずに、角度θだけヨー軸回転(水平面内で回転)した場合には、被写体OBJの矩形平面の撮像画像は、上下方向(画像の垂直方向)の長さが、角度θに応じて線形に変化する台形となる。
手ブレによって、上述のように撮像されてしまった画像を、元通り正対した形に戻す処理が、“あおり”補正または台形補正であるが、アフィン変換のパラメータではこれを表現できない。すなわち、例えば、図39(B)に示されるような“あおり”台形画像を、長方形に戻す“あおり”補正を考えた場合、鉛直軸(y軸)に沿って上方を水平縮小し、下方を水平拡大すれば良い。ところが、アフィン変換のパラメータのうち、水平拡大縮小に関するパラメータはaであり、このパラメータaが一定値のため、アフィン変換ではこの補正に対応できないのである。
このような問題を回避するため、アフィン変換の代わりに正射影変換を用いることが考えられている。正射影変換は、図40の(式6)で表され、3次元空間における、任意の平面から平面への射影変換を表すことが可能である。
しかし、ここで想定するような、多数のベクトルに対して1つのグローバルモーションを特定するようなケースにおいて、正射影変換を適用するのは極めて難しい。図40の(式6)の形状から最小自乗法を用いるのは難しく、他の手法を用いた場合でも、膨大な演算が必要となるからである。
現実的な問題として、実際の撮像対象は立体物であるため、観測されたローカル動きベクトルには、互いに距離の異なる被写体が多数含まれる。そうした場合、正射影変換の当てはめは、単なる近似に過ぎないことになる。したがって、正射影変換の一般解を解くために要する膨大なコストを勘案すると、コスト対効果として釣り合わない、とする判断が妥当と言える。
より簡易的に正射影変換を適用する場合には、6つのベクトルに対して解を求める方法が採用可能である。求めるべきパラメータが12個あるため、6つのベクトルの座標を代入すれば、6元1次方程式が6本×2組でき、これは、6×6行列の逆行列計算により、比較的容易に解が導き出せるからである。したがって、多数のローカルベクトルから6つのベクトルを、適切に選択できさえすれば良いことになる。
しかしながら、撮像画像に動被写体が含まれている場合を考慮すると、ローカルベクトルの精度のそれぞれは、それほど期待できないので、多くのローカル動きベクトルの中から、精度の高いベクトルのみを抽出することは困難である。このため、多数のローカル動きベクトルから6つのベクトルを、適切に選択することは非常に困難である。
この発明は、以上の点にかんがみ、画像に“あおり”変形があっても、良好にグローバルモーションを検出することができるようにする手法を提供することを目的とする。
上記の課題を解決するために、発明においては、第1の座標で表すターゲット画面の画像中において設定された、複数の画素からなる所定の大きさのブロックの複数個のそれぞれについて、参照画面に対する前記ターゲット画面の前記ブロック毎の動きベクトルを検出する動きベクトル検出手段と、前記動きベクトル検出手段で検出された前記ターゲット画面の前記複数個のブロックについての複数個の動きベクトルから、前記画像中の画素で形成された画像を第2の座標上に変形と移動の変換を行うために、該第2の座標の座標成分を前記第1の座標の各座標成分の変数を用いて表す高次関数の係数を示すアフィンパラメータの少なくとも1つを、前記第1の座標上の画像が特定の座標軸に対して変位する変位軸についての変数の関数とした拡張したアフィン変換を用いて前記画像を変換するアフィン変換部と前記動きベクトル検出手段で検出された前記複数個のブロックについての動きベクトルと、前記第1の座標の画像と該画像の平行移動と回転を行う通常アフィン変換による前記第2の座標上の画像との間で得られる理論上の動きベクトルとの差の最大値および/または前記差の平均値を算出する第1の演算部と、前記差の最大値および/または前記差の平均値と予め定められた閾値との比較演算を行い、当該比較演算した結果が前記閾値以上の場合は該比較演算を繰り返し行い、前記比較演算された結果が前記閾値以下になると前記比較演算を完了する収束演算を行う第2の演算部と前記収束演算が完了した結果得られた前記動きベクトルから、前記拡張したアフィン変換のアフィンパラメータを求めて前記ターゲット画面をアフィン変換して該ターゲット画面の画像を補正し、前記参照画面と前記ターゲット画面の2画面間の前記画像全体に加わっている画像の背景の動きおよび動き量の変形を表わすグローバルモーションを算出する第3の演算部と、を有するグローバルモーション算出手段と、を備える画像処理装置を提供する。
また、本発明は、画像中において設定された、複数の画素からなる所定の大きさのブロックの複数個のそれぞれについて、前記ブロック毎の動きベクトルを検出する動きベクトル検出工程と、前記動きベクトル検出手段で検出された前記ターゲット画面の前記複数個のブロックについての複数個の動きベクトルから、前記画像中の画素で形成された画像を第2の座標上に変形と移動の変換を行うために、該第2の座標の座標成分を前記第1の座標の各座標成分の変数を用いて表す高次関数の係数を示すアフィンパラメータの少なくとも1つを、前記第1の座標上の画像が特定の座標軸に対して変位する変位軸についての変数の関数とした拡張したアフィン変換を用いて前記画像を変換するアフィン変換工程と、前記動きベクトル検出手段で検出された前記複数個のブロックについての動きベクトルと、前記第1の座標の画像と該画像の平行移動と回転を行う通常アフィン変換による前記第2の座標上の画像との間で得られる理論上の動きベクトルとの差の最大値および/または前記差の平均値を算出する第1の演算工程と、前記差の最大値および/または前記差の平均値と、予め定められた閾値と比較演算を行い、当該比較演算した結果が前記閾値以上の場合は該比較演算を繰り返し行い、前記比較演算された結果が前記閾値以下になると前記比較演算を完了する収束演算を行う第2の演算工程と、前記収束演算が完了した結果得られた前記動きベクトルから、前記拡張したアフィン変換のアフィンパラメータを求めて前記ターゲット画面をアフィン変換して該ターゲット画面の画像を補正し、前記参照画面と前記ターゲット画面の2画面間の前記画像全体に加わっている画像の背景の動きおよび動き量の変形を表わすグローバルモーションを算出する第3の演算工程と、を有するグローバルモーション算出工程と、を備える画像処理方法を提供する
拡張したアフィン変換は、変形パラメータが多くなり柔軟であるが故に、グローバルモーションの収束演算において、動被写体やノイズ等の誤った動きベクトル成分にも対応してしまい、収束演算において、エラーベクトルを排除できない可能性がある。
この発明によれば、画像の変位軸についての変数の関数とした拡張したアフィン変換を用いることにより、画像の“あおり”変形をも考慮したグローバルモーションが算出可能となる。
以下、この発明による画像処理装置および画像処理方法の実施形態を、撮像装置に適用した場合について、図を参照しながら説明する。
[第1の実施形態]
この第1の実施形態の撮像装置は、撮像素子(イメージャ)によって撮像された複数枚の静止画像を、位置合わせしながら重ね合わせて、画像のノイズ低減を行うようにするものである。
撮像装置を手で保持して撮影する環境は、手ぶれが生じ易い環境である。このような撮像装置の手持ち撮影時において、静止画を連写撮影した場合の、例えば1枚目をターゲットフレーム、2枚目以降を参照フレームとする。
参照フレーム全体に、平行移動、回転、拡大縮小を伴う変形処理を施すことにより、ターゲットフレームの位置に、参照フレームを位置合わせすることができる場合、この参照フレーム全体に加わっている変形処理がグローバルモーションである。グローバルモーションは、通常は、画像の背景の動きおよび動き量を示すものとなる。
手ぶれは、参照フレームがターゲットフレームに対して、平行移動、回転、拡大縮小を伴う画像変形をした分だけ、ターゲットフレームに対して、グローバルモーションが生じたことを意味している。
この実施形態では、説明の簡単のため、撮影した静止画の1枚目を基準(ターゲットフレーム)とするが、これは本質ではない。任意のn枚目をターゲットフレームとし、任意のm(n≠m)枚目を参照フレームとして、グローバルモーションを定義し直しても良い。また、動画中の時間的に異なる2枚のフレーム画像間を対象にして、グローバルモーションを定義してもよい。また、撮像画像の1フレームのうちの有効画枠全てを対象とせず、1フレームの画像の一部分のみに関して、グローバルモーションの処理を適用しても良い。
グローバルモーションが求められると、当該求められたグローバルモーションから、ターゲットフレームと参照フレームとの間の、画面全体に加わっている動きに応じた動きベクトル(これを以下グローバル動きベクトルという)を算出することができる。このグローバル動きベクトルは、画面に設定される多数個のターゲットブロックのそれぞれについて求めることができる。
そして、グローバルモーションに基づいて、グローバル動きベクトルを正確に求めることができれば、手ぶれを良好に補正することができる。あるいは、グローバル動きベクトルを手ぶれ分を補正しながら、フレーム画像を重ね合わせることができる。
以下の説明において、動きベクトル検出および動き補償(動きベクトルにより、2フレームの画像を位置合わせすること)を用いて複数枚の画像を重ね合わせて、ノイズを低減することをNR(Noise Reduction)と呼び、NRによりノイズ低減された画像をNR画像と称することとする。
この実施形態では、動きベクトルは、上述したブロックマッチング手法により検出する。そして、この実施形態では、1画面を多数個のブロックに分割して、そのブロック単位の動きベクトル(ローカル動きベクトルという)を、ブロックマッチング手法により検出すると共に、当該ローカル動きベクトルの信頼性の指標を、ブロックマッチング手法における相関値を用いて、後述するようにして検出する。そして、検出したローカル動きベクトルのうちの、信頼性の高いもののみから、グローバルモーションを算出し、算出したグローバルモーションからブロック(後述のターゲットブロック)毎のグローバル動きベクトルを検出するようにする。
[ブロックマッチングの概要]
図2〜図7は、ブロックマッチング手法の概要を説明するための図である。ここで説明するブロックマッチング手法においては、例えば、図2(A)に示すように、ターゲットフレーム100に、それぞれ水平方向の複数画素および垂直方向の複数ライン分からなる所定の大きさの矩形領域のブロック(ターゲットブロック)102を想定する。
ブロックマッチングにおいては、ターゲットブロック102と相関性の高いブロックを、参照フレーム101の中から検索する。この検索の結果、相関性が最も高いとして参照フレーム101内に検出された参照ブロック103(図51(B)参照)を、動き補償ブロックと呼ぶ。また、ターゲットブロック102と動き補償ブロック103(相関性が最も高い参照ブロック)との間の位置ずれ量を、動きベクトル(図2(B)の符号104参照)と称する。
ターゲットブロック102と動き補償ブロック103との間の位置ずれ(位置ずれ量と位置ずれ方向を含む)に対応する動きベクトル104は、参照フレーム101において、ターゲットフレーム100の各ターゲットブロック102の位置と同じ位置に、ターゲットブロック102の射影イメージブロック109を想定したとき、このターゲットブロックの射影イメージブロック109の位置(例えば中心位置)と、動き補償ブロック103の位置(例えば中心位置)との間の位置ずれに相当し、位置ずれ量と位置ずれの方向成分も有するものである。
ブロックマッチング処理の概要を説明する。図3において点線で示すように、参照フレーム101において、ターゲットフレーム100のターゲットブロック102の位置と同じ位置にターゲットブロック102の射影イメージブロック109を想定し、このターゲットブロック102の射影イメージブロック109の中心の座標を、動き検出の原点105とする。そして、動きベクトル104が、動き検出の原点105から或る範囲内に存在すると仮定し、この動き検出の原点105を中心した所定の範囲をサーチ範囲106(図3の一点鎖線参照)と設定する。
次に、ターゲットブロック102と同じ大きさのブロック(参照ブロックという)108を参照画面において設定する。そして、この参照ブロック108の位置を、設定されたサーチ範囲106内において、例えば水平方向および垂直方向に、1画素または複数画素単位で移動させるようにする。したがって、サーチ範囲106においては、複数個の参照ブロック108が設定されることになる。
ここで、参照ブロック108を、サーチ範囲106内を移動させるというのは、この例では、動き検出原点105がターゲットブロックの中心位置であるので、参照ブロック108の中心位置を、サーチ範囲106内を移動させることを意味し、参照ブロック108を構成する画素は、サーチ範囲106よりもはみ出すことがある。
そして、サーチ範囲において、設定される各参照ブロック108に対して、当該各参照ブロック108とターゲットブロック102との位置ずれ量および位置ずれ方向を表すベクトル(参照ベクトルという)107(図3参照)を設定し、それぞれの参照ベクトル107が指し示す位置にある参照ブロック108の画像内容と、ターゲットブロック102の画像内容との相関性を評価する。
参照ベクトル107は、図4に示すように、参照ブロック108の水平方向(X方向)の位置ずれ量Vxとし、垂直方向(Y方向)の位置ずれ量をVyとしたとき、ベクトル(Vx,Vy)と表すことができる。参照ブロック108の位置座標(例えば中心位置座標)とターゲットブロック102の位置座標(例えば中心位置座標)とが同じときには、参照ベクトル107は、ベクトル(0,0)と表す。
例えば、参照ブロック108が、ターゲットブロック102の位置から、X方向に1画素ずれた位置にある場合、参照ベクトル107はベクトル(1,0)となる。また、図5に示すように、参照ブロック108が、ターゲットブロック102の位置から、X方向に3画素、Y方向に2画素ずれた位置にある場合には、参照ベクトル107はベクトル(3,2)となる。
つまり、参照ベクトル107は、図5の例に示すように、対応する各参照ブロック108とターゲットブロック102との間での位置ずれ(位置ずれ量と位置ずれの方向を含むベクトルとなる)を意味する。なお、図5では、ターゲットブロック102および参照ブロック108の位置を、それぞれのブロックの中心位置としている。
参照ブロック108は、サーチ範囲106において移動するものとなるが、その場合に、参照ブロック108の中心位置がサーチ範囲106内を移動する。参照ブロック108は、水平方向および垂直方向の複数画素からなるので、ターゲットブロック102とブロックマッチング処理される対象となる参照ブロック108が移動する最大範囲は、図5に示すように、サーチ範囲106よりも広いマッチング処理範囲110となる。
そして、ターゲットブロック102の画像内容との相関が最も強いとして検出された参照ブロック108の位置を、ターゲットフレーム100のターゲットブロック102の、参照フレーム101における位置(動いた後の位置)として検出する。検出した参照ブロックを、前述した動き補償ブロック103とする。そして、その検出した動き補償ブロック103の位置と、ターゲットブロック102の位置との間の位置ずれ量を、方向成分を含む量としての動きベクトル104として検出するようにする(図2(B)参照)。
ここで、ターゲットブロック102と、サーチ範囲106において移動する参照ブロック108との相関の強さを表す相関値は、基本的にはターゲットブロック102と参照ブロック108との対応する画素値を用いて算出される。その算出方法としては、自乗平均を用いる方法やその他種々の方法が提案されている。
そのうち、動きベクトルを算出する際に一般的に用いられる相関値としては、例えば、ターゲットブロック102内の各画素の輝度値と、参照ブロック106内の対応する各画素の輝度値との差分の絶対値の、ブロック内の全画素についての総和が用いられる(図6参照)。この差分の絶対値の総和を差分絶対値和と呼ぶ。以下、この差分絶対値和をSAD(Sum of Absolute Difference)と記載することとする。
相関値としてSAD値が用いられる場合には、SAD値が小さいほど相関が強いものとされる。したがって、サーチ範囲106において移動する参照ブロック108のうち、SAD値が最小となる位置の参照ブロック108が最も相関が強い最強相関参照ブロックとなる。この最強相関参照ブロックが、動き補償ブロック103として検出され、その検出された動き補償ブロック103のターゲットブロック102の位置に対する位置ずれ量が動きベクトルとして検出される。
前述したように、ブロックマッチングでは、サーチ範囲106において設定される複数個の参照ブロック108のそれぞれの、ターゲットブロック102の位置に対する位置ずれ量は、方向成分を含む量としての参照ベクトル107で表現される。各参照ブロック108の参照ベクトル107は、参照ブロック108の参照フレーム102上の位置に応じた値となる。前述したように、ブロックマッチングでは、相関値であるSAD値が最小値となる参照ブロック108の参照ベクトルを、動きベクトル104として検出する。
そこで、ブロックマッチングでは、サーチ範囲106において設定される複数個の参照ブロック108のそれぞれとターゲットブロック102との間におけるSAD値(以下、説明の簡単のため参照ブロック108についてのSAD値という)を、先ず求める。
次に、求めたSAD値を、図7に示すように、それぞれの参照ブロック108の位置に応じた参照ベクトル107のそれぞれに対応させて、メモリに記憶しておく。そして、そのメモリに記憶された全ての参照ブロック108についてのSAD値の中から、最小のSAD値の参照ブロック108を検出することで、動きベクトル104を検出するようにしている。なお、以下、説明の簡単のため、参照ブロック106の位置に応じた参照ベクトル107を参照ブロック108の参照ベクトル107という。
サーチ範囲106において設定された複数個の参照ブロック108の位置に応じた参照ベクトル107のそれぞれに対応させて、それぞれの参照ブロック108についての相関値(この例では、SAD値)を記憶したものを相関値テーブルと呼ぶ。この例では、相関値として差分絶対値和であるSAD値を用いるので、この相関値テーブルを、差分絶対値和テーブル(以下SADテーブルという)と呼ぶことにする。
図7のSADテーブルTBLが、これを示しており、このSADテーブルTBLにおいて、それぞれの参照ブロック108についての相関値(この例ではSAD値)を相関値テーブル要素という。図7の例では、符号111で指し示すSAD値は、参照ベクトルがベクトル(0,0)のときのSAD値である。そして、図7の例では、SAD値の最小値は、参照ベクトルがベクトル(3,2)のときの「7」であるので、求める動きベクトル104は、当該(3,2)となる。
なお、上述の説明において、ターゲットブロック102および参照ブロック108の位置とは、それらのブロックの任意の特定の位置、例えば中心位置を意味するものである。参照ベクトル107は、参照フレーム102におけるターゲットブロック102の射影イメージブロック109の位置と、参照ブロック108の位置との間のずれ量(方向を含む)を示すものである。
そして、各参照ブロック108に対応する参照ベクトル107は、参照フレーム101上において、ターゲットブロック102に対応する射影イメージブロック109の位置からの、各参照ブロック108の位置ずれとなっている。したがって、参照ブロック108の位置が特定されると、その位置に対応して参照ベクトルの値も特定される。これにより、SADテーブル110のメモリにおける参照ブロックの相関値テーブル要素のアドレスが特定されると、対応する参照ベクトルは特定されることになる。
なお、SAD値は、同時に、2つ以上のターゲットブロックについて並列に計算するようにしてもよい。同時に処理するターゲットブロックが増加すると、処理は高速化する。しかし、SAD値を計算するハードウエアの規模が増大するので、処理の高速化と、回路規模の増大のトレードオフになる。
[実施形態のブロックマッチング]
以上のブロックマッチングの説明は、1つのターゲットブロックについての動きベクトルの算出についての説明である。このターゲットブロックのターゲットフレームの全体に占める割合は、通常、小さいので、これをそのままグローバル動きベクトルとすることは一般的には困難である。
この実施形態では、図8に示すように、ターゲットフレーム100を、例えば64画素×64ラインのような大きさのターゲットブロック102の複数個に分割し、この複数個のターゲットブロックのそれぞれについての動きベクトル(ローカル動きベクトル)104Bを先ず求める。このとき、この実施形態では、求めたそれぞれのローカル動きベクトルの信頼性を示す指標を、併せて算出するようにする。
そして、ローカル動きベクトルの信頼性の指標から、ターゲットフレームについて求めた複数個のローカル動きベクトルの中から、信頼性の高いローカル動きベクトルのみを抽出する。抽出した信頼性の高いローカル動きベクトルのみから、グローバルモーションを算出すると共に、ブロック単位のグローバル動きベクトルを算出する。そして、算出したブロック単位のグローバル動きベクトルを用いて、ターゲットフレームに対して、参照フレームをブロック単位で位置合わせを行い、位置合わせした両フレームを重ね合わせてNR画像を生成するようにする。
そして、この実施の形態の撮像装置において、静止画撮影においては、図9に示すように、高速で複数枚の静止画像の撮影を行い、1枚目の静止画撮影画像をターゲットフレーム100とする。そして、2枚目以降、所定枚数の静止画撮影画像を参照フレーム101として、重ね合わせを行い、その重ね合わせたものを静止画撮影画像として記録するようにする。
すなわち、撮影者が撮像装置のシャッターボタンを押下操作すると、高速で前記所定枚数の静止画像が撮影され、その1枚目に撮影した静止画像(フレーム)に対して、時間的に後で撮影された複数枚の静止画像(フレーム)が、重ね合わされて、記録されることになる。
なお、この実施形態では対象としないが、動画撮影時は、図10のように、撮像素子から出力されている現フレームの画像をターゲットフレーム100の画像とし、その前フレームの過去の画像を参照フレーム101の画像とする。つまり、動画撮影時には、現フレームの画像のノイズ低減を行うために、現フレームの前フレームの画像を現フレームに重ね合わせるということになる。
[撮像装置のハードウエア構成例]
図1は、この発明の画像処理装置の実施形態としての撮像装置の一例のブロック図を示すものである。
この図1に示すように、この実施形態の撮像装置は、システムバス2にCPU(Central Processing Unit)1が接続される。また、システムバス2に、撮像信号処理系10や、ユーザ操作入力部3、画像メモリ部4、記録再生装置部5などが接続されて構成されている。なお、この明細書においては、CPU1は、図示は省略するが、種々のソフトウエア処理を行なうプログラムを記憶するROM(Read Only Memory)やワークエリア用RAM(Random Access Memory)などを含むものとしている。
ユーザ操作入力部3を通じた撮像記録開始操作を受けて、図1の撮像装置の撮像信号処理系は、後述するような撮像画像データの記録処理を行なう。また、ユーザ操作入力部3を通じた撮像記録画像の再生開始操作を受けて、図1の撮像装置の撮像信号処理系10は、記録再生装置部5の記録媒体に記録された撮像画像データの再生処理を行なう。
図1に示すように、撮像信号処理系10においては、撮像レンズ10Lを備えるカメラ光学系(図示は省略)を通じた被写体からの入射光は、撮像素子11に照射されて撮像される。この例では、撮像素子11は、CCD(Charge Coupled Device)イメージャで構成されている。なお、撮像素子11は、CMOS(Complementary Metal Oxide Semiconductor)イメージャで構成してもよい。
この例の撮像装置においては、撮像記録開始操作がなされると、レンズ10Lを通じて入力された映像が、撮像素子11により撮像画像信号に変換される。そして、タイミング信号発生部12からのタイミング信号に同期した信号として、赤(R)、緑(G)、青(B)の3原色から構成されるベイヤー配列のRAW信号(生の信号)であるアナログ撮像信号が、撮像素子11から出力される。出力されたアナログ撮像信号は、前処理部13に供給され、欠陥補正やγ補正等の前処理が施され、データ変換部14に供給される。
データ変換部14は、これに入力されたRAW信号であるアナログ撮像信号を、輝度信号成分Yと、色差信号成分Cb/Crとにより構成されるデジタル撮像信号(YCデータ)に変換する。データ変換部14からのデジタル撮像信号は、ユーザ操作入力部3を通じた撮影指示に基づいて、画像メモリ部4に、書き込まれる。
すなわち、ユーザ操作入力部3を通じた撮影指示として、シャッターボタンの押下による静止画撮影指示であると、データ変換部14からのデジタル撮像信号は、フレームメモリ41〜4Nに書き込まれる。この場合に、データ変換部14からのデジタル撮像信号は、重ね合わせるべき前述した複数フレーム分が画像メモリ部4の第1〜第N(Nは、重ね合わせる静止画の枚数)のフレームメモリ41〜4Nに書き込まれる。
この例においては、シャッターボタンの押下の1枚目のフレームの画像データは、ターゲットフレームの画像データとして第1のフレームメモリ41に書き込まれる。そして、2枚目以降のフレーム画像のデータは、参照フレームの画像データとして、それぞれ第2〜第Nのフレームメモリ42〜4Nに順次に書き込まれる。
そして、複数フレーム分の画像が画像メモリ部4に書き込まれた後、ターゲットフレームの画像データと参照フレームの画像データが、グローバル動きベクトル算出部15によって読み込まれる。そして、グローバル動きベクトル算出部15で、後述するようなローカル動きベクトルLMVの検出、ローカル動きベクトルLMVの信頼性の算出、グローバルモーションの算出およびグローバル動きベクトルGMVの算出処理がなされる。
この実施形態では、グローバル動きベクトル算出部15からは、グローバル動きベクトルGVMの情報と、ターゲットフレームの画像データTGvと、参照フレームの画像データREFvとが出力される。
そして、グローバル動きベクトル算出部15からのグローバル動きベクトルGVMの情報と、参照フレームの画像データREFvとは動き補償画生成部16に供給される。動き補償画生成部16では、参照フレームの画像データREFvに対して、グローバル動きベクトルGVMによりグローバルモーションに対応する処理、つまり、平行移動、回転、拡大縮小を伴う変形処理を施して、動き補償画像を生成する。
そして、グローバル動きベクトル算出部15からのターゲットフレームの画像データTGvが加算部17に供給されると共に、動き補償画生成部16からの動き補償画像の画像データMCvが加算部17に供給される。加算部17では、両画像データTGvおよびMCvの対応する位置の画素が加算されることにより、画像の重ね合わせ処理がなされ、その加算画像(NR画像である)の画像データMIXvが出力される。
加算部17からの加算画像の画像データMIXvは、画像メモリ部4の第1のフレームメモリ41に、ターゲットフレームの画像データとして、その前のターゲットフレームの画像データに重ね書き(上書き)される。
すなわち、第1のフレームメモリ41のターゲットフレームの画像データは、最初は、シャッターボタンが押下された直後の1枚目のフレームの画像データとなる。第1のフレームメモリ41のターゲットフレームの画像データは、2枚目の参照フレームの動き補償画の画像データMCvとターゲットフレームとが加算されると、その加算結果の加算画像の画像データMIXvに書き換えられる。
そして、その加算画像の画像データMIXvが、3枚目の参照フレームの画像データに対するターゲットフレームの画像データとなる。そして、上述と同様にして、グローバル動きベクトル算出部15でグローバル動きベクトルGVMが算出され、加算部17で画像の重ね合わせ処理がなされる。
そして、その加算結果の加算画像の画像データMIXvが画像メモリ部4の第1のフレームメモリ41に、ターゲットフレームの画像データとして、その前のターゲットフレームの画像データに重ね書き(上書き)される。以下、4枚目以降の参照フレームに対しても同様の処理動作がなされる。
したがって、N枚目の参照フレームまでについての画像の重ね合わせ処理がなされた後には、画像メモリ部4の第1のフレームメモリ41には、重ね合わせるべきN枚の全てのフレームが重ね合わされたNR画像が書き込まれていることになる。
そして、この画像メモリ部4の第1フレームメモリ41に格納された重ね合わせ結果のNR画像である加算画像の画像データMIXvは、システムバス2を通じて静止画コーデック部18に供給されてコーデック変換される。静止画コーデック部18からの出力データは、記録再生装置部5の例えばDVD(Digital Versatile Disc)やハードディスクなどの記録媒体に記録される。この実施形態では、静止画コーデック部18では、JPEG(Joint Photographic Experts Group)方式の静止画についての画像圧縮符号化処理が行われる。
また、この静止画撮影モード時、シャッターボタンが押下操作される前においては、データ変換部14からの画像データは、画像メモリ部4の第1のフレームメモリ41を通じて、解像度変換部19に供給される。そして、画像データは、この解像度変換部19にて、所定の解像度に変換された後、NTSC(National Television System Committee)エンコーダ20に供給される。このNTSCエンコーダ20では、画像データは、NTSC方式の標準カラー映像信号に変換され、例えばLCD(Liquid Crystal Display;液晶ディスプレイ)からなるモニターディスプレイ6に供給される。モニターディスプレイ6の表示画面には、静止画撮影モード時のモニター画像がモニター表示される。
この記録再生装置部5の記録媒体に記録された静止画の画像データは、ユーザ操作入力部3を通じた再生開始操作に応じて読み出され、静止画コーデック部18に供給されて、再生デコードされる。そして、再生デコードされた静止画の画像データは、画像メモリ部4のバッファメモリ(図示は省略)を通じてNTSCエンコーダ20に供給される。NTSCエンコーダ20でNTSC方式の標準カラー映像信号に変換された画像データは、モニターディスプレイ6に供給され、再生画像がその表示画面に表示される。
なお、図1では、図示を省略したが、NTSCエンコーダ20からの出力映像信号は、映像出力端子を通じて外部に導出することが可能とされている。
なお、この実施形態では、静止画コーデック部18により画像データを圧縮して記録するようにしたが、静止画コーデック部18を省略して、画像データを圧縮せずに記録するようにしても良い。
また、上述したグローバル動きベクトル算出部15および動き補償画生成部16は、ハードウエアにより構成することできる。また、グローバル動きベクトル算出部15および動き補償画生成部16は、DSP(Digital Signal Processor)を用いて構成することもできる。さらには、グローバル動きベクトル算出部15および動き補償画生成部16は、CPU1によりソフトウエア処理とすることもできる。
同様に、加算部17も、ハードウエアにより構成することできるし、また、DSPを用いて構成することもできる。さらには、加算部17も、CPU1によりソフトウエア処理とすることもできる。また、静止画コーデック部18も、同様である。
[グローバル動きベクトル算出部15の説明]
グローバル動きベクトル算出部15では、この実施の形態では、先ず、図2〜図7を用いて説明した、SAD値を用いてブロックマッチング処理を行うことで、ローカル動きベクトル検出を行うようにする。ただし、この実施の形態では、グローバル動きベクトル算出部15は、後述するようなハードウエアで構成され、ローカル動きベクトルは、階層化ブロックマッチング処理および補間処理により、算出するようにする。
また、前述したように、この実施形態のグローバル動きベクトル算出部15では、ローカル動きベクトルのそれぞれの信頼性の指標も算出するようにする。
さらに、グローバル動きベクトル算出部15では、信頼性の高いローカル動きベクトルのみを用いてグローバルモーションを算出する。そして、算出したグローバルモーションから、ブロック単位のグローバル動きベクトルを算出する。
<階層化ブロックマッチング処理>
一般的な従来のブロックマッチングにおける動きベクトル検出処理では、サーチ範囲内を、ピクセル単位(1ピクセル単位または複数ピクセル単位)で参照ブロックを移動させて、各移動位置における参照ブロックについてのSAD値を算出する。そして、その算出したSAD値の中から最小値を示すSAD値を検出し、当該最小SAD値を呈する参照ブロック位置に基づいて動きベクトルを検出するようにする。
そして、この実施形態では、1フレームが多数のブロックに分割されるので、以上のブロックマッチング処理をターゲットブロックおよび参照ブロックを順次切り替えながら、全画面において処理を行う。これにより、ターゲットフレーム内の全てのターゲットブロックについてのローカル動きベクトルLMVの算出を行う。
しかし、このような従来の動きベクトル検出処理では、サーチ範囲内をピクセル単位で参照ブロックを移動させるようにするので、検索するサーチ範囲に比例して、SAD値を算出するマッチング処理回数が多くなって、マッチング処理時間が大きくなる。また、SADテーブルの容量も大きくなるという問題があった。
特に、静止画像の高画素化、並びに動画像のHD(High Definition)化が進み、1枚の画像サイズが非常に大きくなってきていることを考慮すると、この問題は大きい。また、システムバス2を介して画像メモリをアクセスする回数も多くなり、バス帯域を大きくしなければならなくなるという問題もある。
以上のことを考慮して、この実施の形態では、先ず、ターゲット画像(ターゲットフレーム)および参照画像(参照フレーム)を縮小した縮小画像と中間画像を用意する。そして、縮小画像、中間画像、原画画像の順に、ブロックマッチングによる動きベクトルサーチを、前段階でのブロックマッチングの結果を次段階におけるサーチに反映させて行うという階層化ブロックマッチングを行う。
この階層化ブロックマッチングを行うことで、演算量や処理時間を少なく、効率の良いローカル動きベクトルの算出を行うようにする。ここで、縮小画像のことを縮小面、中間画像のことを中間面、縮小化をしていない元の画像のことを基底面と呼ぶことにする。
図11は、この階層化ブロックマッチングを説明するための図である。すなわち、図11の例においては、基底面ターゲットフレーム201および基底面参照フレーム301を、1/a・1/b(1/a、1/bは、縮小倍率であって、a>1、b>1である)に縮小して、縮小面ターゲットフレーム211および縮小面参照フレーム311を生成する。
また、基底面ターゲットフレーム201および基底面参照フレーム301を、1/bに縮小して、中間面ターゲットフレーム221および中間面参照フレーム321を生成しておく。
縮小面や中間面の基底面に対する倍率は任意であるが、1/2〜1/8倍(画素数換算で1/4〜1/64倍)の範囲が適当である。なお、図11の例では、中間面に対する縮小面の縮小倍率は1/4(すなわち、a=4)、また、基底面に対する中間面の縮小倍率は1/4(すなわち、b=4)の場合として示している。
縮小面や中間面の作成にあたっても、その方法は任意である。しかし、単に、原画像の画素を、縮小倍率に応じて間引くだけで縮小面や中間面を作成する方法では、折り返し成分が発生し、1階層目(縮小面)で検出される動きベクトルが、正しいものから外れやすくなる。このため、通常、縮小倍率に応じたカットオフ周波数帯域を持つローパスフィルタを原画に対して施したのち、縮小倍率に応じたサブサンプリングを行う。
この実施形態では、倍率に応じたサブサンプリングにより消失する画素を含んだ、輝度平均値を生成し、それを縮小面画素や中間面画素としている。つまり、1/a縮小なら、a×a画素の正方領域の輝度平均値を算出し、これを縮小面画素や中間面画素の輝度値とする。この手法の場合、まず中間面を生成しておいてから、中間面から縮小面を生成しても、原画から直接縮小面を生成する場合と同じ結果が得られるため、より効率的である。
なお、縮小画像を得るに当たっては、水平方向の縮小率と垂直方向の縮小率は、上記のように同じであってよいし、また、異ならせても良い。
以上のようにして、縮小面および中間面を作成したら、先ず、縮小面ターゲットフレーム211に縮小面ターゲットブロック212を設定すると共に、縮小面参照フレーム311に縮小面サーチ範囲313を設定する。
そして、当該縮小面サーチ範囲313内の複数個の縮小面参照ブロック312について、縮小面の動きベクトル検出装置401で、上述したブロックマッチング処理を行い、最小SAD値を呈する縮小面参照ブロック位置を検出する。この縮小面参照ブロック位置の検出に基づき、縮小面動きベクトルMVsを検出する。
この例では、動きベクトル検出装置401は、縮小面ターゲットブロック212の大きさ(水平方向の画素数×垂直方向のライン数)のブロックをブロックマッチング処理単位として処理を実行するものである。
縮小面動きベクトルMVsの算出が終了したら、次に、縮小面ターゲットフレーム211をa倍したものに等しい中間面ターゲットフレーム221において、中間面ターゲットブロック222を設定する。
図11の例では、中間面の動きベクトル検出装置402は、縮小面の動きベクトル検出装置401におけるブロックマッチング処理単位と同じ大きさのブロックを中間面ターゲットブロックとしてブロックマッチング処理を行うようにしている。ここで、同じ大きさのブロックとは、同じピクセル数であって、同じ水平方向の画素数×同じ垂直方向のライン数からなるものである。
この例の場合、縮小面は中間面の1/aであるので、縮小面ターゲットブロック212に対応する中間面ターゲットフレームにおける領域には、中間面ターゲットブロック222が、a個含まれることなる。したがって、その中間面ターゲットブロック222のa個の全てが中間面の動きベクトル検出装置402におけるブロックマッチング処理対象として設定される。
そして、縮小面参照フレーム311をa倍したものに等しい中間面参照フレーム321において、縮小面動きベクトルMVsを中心とした中間面サーチ範囲323を設定する。この中間面サーチ範囲323内の複数個の中間面参照ブロック322について、動きベクトル検出装置402で、上述したブロックマッチング処理を行い、最小SAD値を呈する中間面参照ブロック位置を検出することにより、中間面動きベクトルMVmを検出する。
中間面の動きベクトル検出装置402では、a個の中間面ターゲットブロックのそれぞれについて、中間面サーチ範囲323内に設定したそれぞれの当該中間面ターゲットブロック用のサーチ範囲において、ブロックマッチング処理を実行する。これにより、それぞれの中間面ターゲットブロックについての動きベクトルの検出を行う。そして、それら複数個の動きベクトルのうち、最小のSAD値を呈する動きベクトルを、中間面における動きベクトル(中間面動きベクトル)MVmとして検出する。
縮小面動きベクトルMVsの算出が終了したら、次に、中間面ターゲットフレーム221をb倍したものに等しい基底面ターゲットフレーム201において、基底面ターゲットブロック202を設定する。
図11の例では、基底面の動きベクトル検出装置403も、動きベクトル検出装置401および402と同じ大きさ(同じピクセル数=同じ水平方向の画素数×同じ垂直方向のライン数)のブロックを処理単位ブロックとしてブロックマッチング処理を行うようにしている。
そして、前述したように、中間面動きベクトルMVmは、処理単位ブロックの単位で得られる。したがって、動きベクトル検出装置403で対象となる基底面ターゲットフレーム201における基底面ターゲットブロック202は、図11において、斜線を付して示すように、縮小面ターゲットブロックと同じ大きさのブロック(処理単位ブロック)のb倍の個数からなるものとして設定される。
一方、中間面参照フレーム321をb倍したものに等しい基底面参照フレーム301において、縮小面動きベクトルMVsと中間面動きベクトルMVmとの合成ベクトルを中心とした基底面サーチ範囲303を設定する。当該基底面サーチ範囲303内の複数個の基底面参照ブロック302について、動きベクトル検出装置403で、上述したブロックマッチング処理を行い、最小SAD値を呈する基底面参照ブロック位置を検出することにより、基底面動きベクトルMVbを検出する。
縮小面動きベクトルMVsおよび中間面動きベクトルMVmは、同じ大きさの処理単位ブロックの単位で得られる。このため、縮小面動きベクトルMVsと中間面動きベクトルMVmとの合成ベクトルを中心とした設定された基底面サーチ範囲303は、b個の基底面ターゲットブロック202を含む領域よりも若干広い領域とされる。
動きベクトル検出装置403では、b個の基底面ターゲットブロック202について、基底面サーチ範囲303内に設定したそれぞれの基底面ターゲットブロックについてのサーチ範囲において、ブロックマッチング処理を実行する。これにより、それぞれの基底面ターゲットブロックについての動きベクトルの検出を行う。そして、それら複数個の動きベクトルのうち、最小のSAD値を呈する動きベクトルを、基底面における動きベクトル(基底面動きベクトル)MVbとして検出する。
そして、以上のようにして求められた縮小面動きベクトルMVsと、中間面動きベクトルVMmと、基底面動きベクトルVMbとの合成ベクトルとして、基底面ターゲットフレーム201と基底面参照フレーム301との間における基底面ターゲットブロックについてのローカル動きベクトルLMVが検出される。
以上のような階層化ブロックマッチング処理を、ターゲットブロックおよび参照ブロックを順次切り替えながら、ターゲットフレームおよび参照フレームの全領域において、実行する。これにより、ターゲットフレーム内に設定した複数個のターゲットブロック単位の複数個のローカル動きベクトルLMVの全てが算出される。
図11の例で、動きベクトル検出装置401,402および403は、実際的には、1つの装置であって、画像メモリ部4から読み出されて入力されるターゲットブロックと、サーチ範囲から読み出される参照ブロックとが異なるのみである。
なお、ターゲットブロックの切り替えは、基底面ターゲットフレーム201において、全ての基底面ターゲットブロック202についてのローカル動きベクトルLMVを得るようにする場合には、次のようにする。すなわち、縮小面において、縮小面ターゲットブロックを、水平方向には、縮小倍率1/aおよび1/bに応じた水平方向の画素数分ずつ、ずらして設定する。また、垂直方向には、縮小倍率1/aおよび1/bに応じた垂直方向のライン数分ずつ、ずらして設定するようにすれば良い。
しかし、グローバルモーションを複数個のローカル動きベクトルLMVから求めるという目的からすると、次のようにしても良い。すなわち、基底面ターゲットフレーム201における飛び飛びの位置の基底面ターゲットブロックについてのローカル動きベクトルLMVを得るように、縮小面ターゲットブロックを、水平方向および垂直方向に、順次にずらして設定するようにしてもよい。
なお、上述した階層化ブロックマッチングは、中間面を省略し、縮小面と基底面のみの2階層で行っても良いし、逆に、中間面の階層が複数存在しても構わない。ただし、縮小倍率が大き過ぎて、動被写体と背景が同じ単位ブロックに含まれてしまう場合には、注意が必要である。すなわち、本来は異なる動きベクトルとして検出されるべきものが、1つの動きベクトルとして扱われてしまい、以降の階層ではリカバリが効かないため、縮小倍率の選定は慎重に行われる必要がある。
[ローカル動きベクトルLMVの信頼性の算出]
比較的ノイズの多い画像がターゲット画像の場合、SAD値がノイズの影響を受け、正しいベクトルが得られないケースが多い。図12は、夜景を撮影したもので、比較的ノイズの多い画像である。この図12の画像に対して、僅かに回転を伴いながら左方向に手ぶれして撮影された画像を参照画像として、両画像間の動きベクトルを図示すると、図13に示すような結果が得られる。この図13は、原画を1/8に縮小した縮小画像における縮小面動きベクトルを描画したものである。
この図13を見て分かるように、特にテクスチャのはっきりしない、夜空の動きベクトルが、全くバラバラの動きとして得られている。階層化ブロックマッチングにおいては、前述の通り、縮小画像の生成の際にはローパスフィルタが施されるため、比較的ノイズ耐性が高いが、この図13に示すように、ノイズの影響を受ける。
基底面のローカル動きベクトルLMVは、縮小面動きベクトルの周辺をサーチして得られるため、縮小面動きベクトルが、正しいものから外れている場合には、リカバリが効かず、ノイズの影響をまともに受け、さらに乱れることになる。
仮に、ノイズが全く無い撮像画像が対象であった場合でも、テクスチャがはっきりしない画像の場合は、連写撮影時の僅かな外光の変化や露光時間の差違によるグラデーョンの変化の方が大きく、検出された動きベクトルが、正しいものから外れるケースが多い。また、多数の木やビル等の人口建築物には、テクスチャの繰り返しパターンが多いが、そのようなテクスチャの繰り返しパターンの場合でも、検出された動きベクトルが、正しいものから外れ易くなる。
こうしたケースを想定して、前述したように、従来から、信頼性の高い動きベクトルのみを用いて、グローバルモーションを算出する試みが行われて来た。例えば、ターゲット画像において、エッジ検出を行い、エッジのはっきりしたブロックの動きベクトルは、信頼性が高いものとする提案がある。また、ターゲット画像のIDCT(Inverse Discreet Cosine Transform)結果のDC成分、AC成分を使って信頼性を算出する提案もなされている。
また、予め、フィルタの一種であるコーナーディテクタを用いて、ターゲット画像上の特徴点を検出し、それらの動きベクトルは信頼性が高いものとする提案もある。さらに、複数の特徴点の位置関係が、参照画像上でも維持されるという前提から、複数点の動きベクトルの組み合わせから信頼性の高い動きベクトルを抽出する手法も、提案されている。
しかしながら、これらの従来の手法は、いずれも高ノイズの画像を前提としておらず、ノイズが非常に大きいレベルの画像においては、どの手法も破綻してしまうことが明らかである。
この実施形態では、上記の実情に鑑み、高ノイズ環境の画像においても有効に、動きベクトルの信頼性を評価できる信頼性指標値を得るようにしている。
この実施形態では、ターゲットブロックと参照ブロックとの間の相関値の第1極大値と、第2極大値との差または比を、動きベクトルの信頼性の指標値とする。この実施形態では、ターゲットブロックと参照ブロックとの間の相関値は、SAD値として検出するので、相関値の第1極大値および第2極大値は、SAD値の第1極小値および第2極小値となる。
図14は、1つのターゲットブロックについてのSADテーブルにおける各SAD値を、模式的に示した図である。この図14では、サーチ範囲を、画像の水平方向(x方向)と垂直方向(y方向)との2次元で表わし、高さ方向(x方向およびy方向に直交する方向)にSAD値を取って、SADテーブルを3次曲面で表わしている。
通常のブロックマッチング処理の場合、動きベクトルを検出するためにはSADテーブルにおけるSAD値の最小値のみが検出対象とされる。このSAD値の最小値は、SADテーブルにおけるSAD値の第1極小値であり、図14においては、点501で示す位置となっている。図14では、動き原点(x=0、y=0)から、この点501で示すSAD値の最小値位置との間のベクトルとして、動きベクトルMVが検出される。
ノイズが存在しない理想的な状態を考えれば、サーチ範囲内の複数の参照ブロックとターゲットブロックとの相関値を求めたとき、3次曲面で表わされるSADテーブルは、一様に下に凸となり、SAD値の極小値は、1つのみ存在する状態となる。しかし、実際の撮影状況においては、光量変化や、動き物体の動きなどの影響のほか、種々のノイズのため、3次曲面で表わされるSADテーブルは、一様に下に凸となることは殆どなく、複数個のSAD値の極小値が存在するのが一般的である。
そこで、この実施形態では、SAD値の最小値に等しい第1極小値を呈する参照ブロックの位置に基づいて動きベクトルMVを検出するが、このSAD値の第1極小値を除くSAD値のうちの極小値、すなわち、SAD値の第2極小値を、信頼性の指標を生成するために検出する。図14においては、点501で示す位置が第1極小値を示し、点502で示す位置が第2極小値を示している。
ノイズ等の影響が少なければ、SAD値の第1極小値と、SAD値の第2極小値との差は大きく、SAD値の第1極小値、すなわち、SAD値の最小値から検出される動きベクトルMVの信頼性は高くなる。一方、ノイズ等が多い環境においては、SAD値の第1極小値と、SAD値の第2極小値との差が小さく、いずれが動きベクトルMVに正しく対応しているか分からない状況になるので、信頼性が低いことになる。
以上のことから、この実施形態では、SAD値の第1極小値(SAD値の最小値)と、SAD値の第2極小値との差を、検出した動きベクトルの信頼性の指標とする。図14のサーチ範囲を1次元軸上で表わし直したSADテーブルを、図15に示す。この実施形態では、この図15において、第2極小値と第1極小値(SAD値の最小値)との差の値を、動きベクトルMVの指標値Ftとする。
なお、SAD値の第1極小値しか得られず、第2極小値が得られない場合には、この実施形態では、SAD値の理論上の最大値またはSADテーブル内のSAD値の最大値を、その動きベクトルMVの信頼性指標値とするようにする。したがって、そのようなブロックの動きベクトルは信頼性の高いものとされるが、このようなブロックは殆ど存在しないので、SAD値の第1極小値しか得られず、第2極小値が得られないようなブロックの動きベクトルは、信頼性の評価から外すようにしても良い。
なお、SAD値の第1極小値(SAD値の最小値)と、SAD値の第2極小値との差の代わりに、SAD値の第1極小値(SAD値の最小値)と、SAD値の第2極小値との比を、動きベクトルMVの信頼性の指標値Ftとすることもできる。しかし、以下の説明においては、動きベクトルの信頼性の指標値Itとしては、SAD値の第1極小値(SAD値の最小値)と、SAD値の第2極小値との差を用いるものとする。
この実施形態の動きベクトルの信頼性指標によれば、従来のような画像のエッジや特徴などの画像成分を用いるものではなく、ターゲットフレームと参照フレームとの間の相関値のみを用いているので、ノイズに対してロバスト性が高い。すなわち、画像のノイズに影響されること無く、精度の高い動きベクトルの信頼性指標が得られる。
また、この実施形態では、相関値の第1極大値(SAD値の第1極小値)と、相関値の第2極大値(SAD値の第2極小値)との差、または、比を用いていることも、この実施形態の動きベクトルの信頼性指標が、ノイズに対してロバスト性が高い理由となっている。
すなわち、一般に、ノイズレベルが高くなって来ると、正しい動きベクトルであったとしても、そのSAD値は値が上昇してしまう。このため、信頼性の高い動きベクトルを抽出する目的で、動きベクトルの信頼性指標値Ftに対して閾値を設定し、当該閾値との比較処理を行う場合には、その閾値自体もノイズレベルに応じて変化させる必要がある。
これに対して、この実施形態による動きベクトルの信頼性指標値Ftの場合、ノイズレベルが高くなると、相関値の第1極大値(SAD値の第1極小値)と、相関値の第2極大値(SAD値の第2極小値)の両方が、ノイズレベルに応じて、値が上昇する。このため、相関値の第1極大値(SAD値の第1極小値)と、相関値の第2極大値の差に関しては、ノイズの影響が相殺されることになる。
つまり、ノイズレベルに依らない一定値の閾値処理が可能となる。相関値の第1極大値(SAD値の第1極小値)と、相関値の第2極大値(SAD値の第2極小値)との比を、動きベクトルの信頼性指標値Ftとして用いる場合も同様のことが言える。
ところで、ブロックマッチングを行う対象ブロックの画像のコントラストが低い場合、SAD値の第2極小値と、SAD値の最小値の差は縮まる傾向にある。このため、同一フレーム内にコントラストの高い領域と低い領域があるとき、同一の閾値でベクトル信頼性の評価値Ixを評価すると、コントラストの高い領域が優先的に抽出され易い。
これは、動きベクトルの信頼性という観点では正しい結果ではあるが、コントラストの低い領域をある程度救済する目的で、この実施形態では、動きベクトルの信頼性の指標値を求める演算式に、コントラストの影響を軽減する項を追加する。すなわち、ターゲットフレームの画像の最大輝度の値と最小輝度の値との差を求め、当該輝度の差を動きベクトルの信頼性の指標値に反映させるようにする。なお、ノイズによる悪影響を避けるため、ターゲットフレームの画像データに対してローパスフィルタを施してから、最大輝度と最小輝度の抽出を行う。
以上のことを踏まえたこの実施形態における動きベクトルの信頼性指標値Ftの算出式は、
Ft=(Btm2SAD−MinSAD)−(MaxTAR−MinTAR)×Co
・・・(式14)
ただし、
Ft;動きベクトルの信頼性指標値
Btm2SAD;SAD値の第2極小値
MinSAD;SAD値の最小値(第1極小値)
MaxTAR;ターゲットブロックの最大輝度値
MinTAR;ターゲットブロックの最小輝度値
Co;重み係数(≦1)
となる。
なお、動きベクトル信頼性指標値として、相関値の第1極大値と相関値の第2極大値との比を用いる場合にも、信頼性指標値算出式において、上述の(式1)と全く同様に、コントラストの影響を軽減する項を追加するようにすれば良い。もっとも、動きベクトルの信頼性指標値Ftの算出に当たって、コントラストの影響を軽減する項を追加することは必須ではなく、この項を省略してもよい。
上述の説明では、基底面動きベクトルMVbについての動きベクトル信頼性指標値のみを求めるようにしたが、縮小面動きベクトルMVsや中間面動きベクトルMVmについても、同様にして、動きベクトル信頼性指標値を求めることができることは、言うまでもない。
[グローバルモーションおよびグローバル動きベクトルGVMの算出]
従来は、上述のような動きベクトルの信頼性指標値はなかったので、ターゲットフレームについて求められた複数個のローカル動きベクトルLMVのすべてを、同じ重みで用いてグローバルモーションを算出するようにしている。
これに対して、この実施形態では、上述のようにして、ターゲットフレームについての複数個のローカル動きベクトルLMVのそれぞれの信頼性指標値Ftを得ることができる。
そこで、求められた複数個のローカル動きベクトルLMVの信頼性指標値を正規化して、例えば0以上、1以下の重み係数を、それぞれのローカル動きベクトルLMVに対して設定することができる。そして、各ローカル動きベクトルLMVは同じ重みではなく、それぞれの重み係数に応じた重みで用いて、グローバルモーションを算出するようにすることができる。すなわち、求められた複数個のローカル動きベクトルLMVの全てを用いてグローバルモーションを算出する収束演算を開始するようにするが、その際に、各ローカル動きベクトルLMVは、信頼性指標値に応じた重み係数に応じた重み用いるようにする。
しかし、グローバルモーションの算出演算処理を簡単にして、演算負荷を軽くするため、この実施形態では、ローカル動きベクトルLMVについての重み係数Wを、0と、1に2値化するようにする。
このため、この実施形態では、動きベクトルの信頼性指標値Ftに対する閾値thを設定し、
Ft>thであるときには、W=1
Ft≦thであるときには、W=0
・・・(式15)
なる演算式により、各ローカル動きベクトルLMVについての重み係数Wを、それぞれの動きベクトルの信頼性指標値Ftを用いて算出するようにする。
すなわち、この実施形態では、動きベクトル信頼性指標値Ftを用いて、複数個のローカル動きベクトルLMVのそれぞれの信頼性を判定し、複数個のローカル動きベクトルLMVから、信頼性の高いローカル動きベクトルLMVのみを抽出する。そして、当該抽出した信頼性の高いローカル動きベクトルLMVのみを用いてグローバルモーションを算出する。
この実施形態では、ターゲットフレームにおけるターゲットブロック数が比較的多いことから、この例のように、信頼性の高いローカル動きベクトルLMVのみを抽出する方法であっても精度のよいグローバルモーションの算出が可能である。
なお、複数個のローカル動きベクトルLMVから、グローバルモーションを算出する具体的な処理例は、後述する。
前述の図12のノイズの多い画像については、図13に示したようなローカル動きベクトルが得られることを説明した。この図13の画像上に示したローカル動きベクトルに対して、この実施形態による動きベクトルの信頼性指標値を用いて信頼性の判定をした上で、閾値以上の信頼性が得られたもののみを抽出し、そのブロックと動きベクトルを描画すると、図16のようになる。この図16に示した、これらのブロックについては、ノイズの影響を受けず、ほぼ正しいローカル動きベクトルが得られていると言える。
[グローバル動きベクトル検出部15のハードウエア構成例]
グローバル動きベクトル検出部15は、以上説明したように、ターゲットブロック毎のローカル動きベクトルLMVの検出、検出したローカル動きベクトルLMVの信頼性指標値の算出、グローバルモーションおよびグローバル動きベクトルGVMの算出、などの処理を行う。
このグローバル動きベクトル検出部15のハードウエア構成例を図17に示す。この例では、グローバル動きベクトル検出部15は、ターゲットブロック102の画素データを保持するターゲットブロックバッファ部151と、参照ブロック108の画素データを保持する参照ブロックバッファ部152とを備える。
また、グローバル動きベクトル検出部15は、ターゲットブロック102と参照ブロック108とで対応する画素についてのSAD値を計算するマッチング処理部153を備える。また、グローバル動きベクトル検出部15は、マッチング処理部153から出力されるSAD値情報からローカル動きベクトルを算出するローカル動きベクトル算出部154を備える。グローバル動きベクトル検出部15は、さらに、コントロール部155と、動きベクトル信頼性指標値算出部156と、グローバル動きベクトル演算部157と、コントラスト算出部158と、を備える。
コントラスト算出部158は、ローパスフィルタ1581と、最大輝度値検出部1582と、最小輝度値検出部1583とからなる。
そして、この例では、図示は省略するが、画像メモリ部4には、原画のターゲットフレームや参照フレームの画像データから生成された、ターゲットフレームおよび参照フレームについての縮小面の画像データおよび中間面の画像データが、記憶保持されている。
コントロール部155は、このグローバル動きベクトル算出部15における処理シーケンスを制御するもので、図示のように各部に制御信号を供給するようにする。
ターゲットブロックバッファ部151は、このコントロール部155の制御を受けて、画像メモリ部4の縮小面、中間面あるいは基底面のターゲットフレームの画像データから、指示されたターゲットブロックの画像データを読み込んで、マッチング処理部153に供給する。
参照ブロックバッファ部152は、コントロール部155の制御を受けて、画像メモリ部4の縮小面、中間面あるいは基底面の参照フレームの画像データから、指示されたマッチング処理範囲の画像データを読み込む。そして、参照ブロックバッファ部152は、そのマッチング処理範囲の画像データの中から、参照ブロックの画像データを順次にマッチング処理部153に供給するようにする。
マッチング処理部153は、ターゲットブロックバッファ部151からのターゲットブロックの画像データと、参照ブロックバッファ部152からの参照ブロックの画像データを受ける。そして、マッチング処理部153は、縮小面、中間面および基底面におけるブロックマッチング処理を、コントロール部155の制御にしたがって行う。そして、マッチング処理部153は、参照ベクトル(参照ブロックの位置情報)と、ブロックマッチング処理結果のSAD値とを、ローカル動きベクトル算出部154に供給する。
ローカル動きベクトル算出部154は、SAD値の第1極小値保持部1541と、SAD値の第2極小値保持部1542とを備え、マッチング処理部153からのSAD値から、SAD値の第1極小値と、SAD値の第2極小値とを検出する処理を行う。
ローカル動きベクトル算出部154は、SAD値の第1極小値保持部1541のSAD値の第1極小値およびその位置情報(参照ベクトル)と、SAD値の第2極小値保持部1542のSAD値の第2極小値およびその位置情報(参照ベクトル)とを更新してゆく。ローカル動きベクトル算出部154は、この更新処理をマッチング処理範囲の全ての参照ブロックについてのブロックマッチング処理が終了するまで行なう。
ブロックマッチング処理が終了したときには、SAD値の第1極小値保持部1541には、そのときのターゲットブロックについてのSAD値の第1極小値およびその位置情報(参照ベクトル)が記憶保持される。また、SAD値の第2極小値保持部1542には、SAD値の第2極小値およびその位置情報(参照ベクトル)が、記憶保持される。
ローカル動きベクトル算出部154は、マッチング処理範囲の全ての参照ブロックについてのブロックマッチング処理が終了したときに、SAD値の第1極小値保持部1541に保持されている参照ベクトルの情報(位置情報)を、縮小面、中間面および基底面のそれぞれにおける動きベクトルとして検出する。このローカル動きベクトル算出部154の処理動作については、後で詳述する。
このローカル動きベクトル算出部154からは、この実施形態では、縮小面マッチング処理時には、縮小面動きベクトルMVsが、ローカル動きベクトルLMVとしてコントロール部155に供給される。
コントロール部155は、この縮小面動きベクトルMVsの情報から、中間面におけるサーチ範囲を決定する。そして、コントロール部は、ターゲットブロックバッファ部151、参照ブロックバッファ部152およびマッチング処理部153に制御信号を供給して、中間面におけるブロックマッチングを行なうように制御する。
次に、中間面のマッチング処理が終了したときには、ローカル動きベクトル算出部154からは、この実施形態では、縮小面動きベクトルMVsと中間面動きベクトルMVmとの合成ベクトルの情報が、ローカル動きベクトルLMVとしてコントロール部155に供給される。
コントロール部155は、この縮小面動きベクトルMVsと中間面動きベクトルMVmとの合成ベクトルの情報から、基底面におけるサーチ範囲を決定する。そして、コントロール部155は、基底面におけるブロックマッチングを行なうように、ターゲットブロックバッファ部151、参照ブロックバッファ部152およびマッチング処理部153に制御信号を供給する。
基底面のマッチング処理が終了したときには、ローカル動きベクトル算出部154からは、縮小面動きベクトルMVsと中間面動きベクトルMVmと基底面動きベクトルMVbとの合成ベクトルの情報が、ローカル動きベクトルLMVとしてグローバル動きベクトル演算部157に供給される。グローバル動きベクトル演算部157では、受け取ったローカル動きベクトルLMVを、一時保持する。
また、基底面のマッチング処理が終了したときには、動きベクトル信頼性指標値算出部156がコントロール部155によりイネーブルとされる。また、ローカル動きベクトル算出部154からは、第1極小値保持部1541のSAD値の最小値MinSADと、第2極小値保持部1542のSAD値の第2極小値Btm2SADとが、動きベクトル信頼性指標値算出部156に供給される。
また、このとき、ターゲットブロックバッファ部151からのターゲットブロックの画像データがローパスフィルタ1581を通じて最大輝度値検出部1582および最小輝度値検出部1583に供給される。そして、最大輝度値検出部1582および最小輝度値検出部1583のそれぞれで検出された最大輝度値MaxTARおよび最小輝度値MinTARが、動きベクトル信頼性指標値算出部156に供給される。
動きベクトル信頼性指標値算出部156では、これに供給される情報を用いて、前述した(式1)にしたがって、動きベクトルの信頼性指標値Ftを算出する。そして、動きベクトル信頼性指標値算出部156は、算出した動きベクトルの信頼性指標値Ftを、グローバル動きベクトル演算部157に供給する。グローバル動きベクトル演算部157では、そのときに供給されているローカル動きベクトルLMVに対応付けて、入力されてきた動きベクトルの信頼性指標値Ftを、一時保持する。
以上の処理が、ターゲットフレームの全てのターゲットブロックについて終了すると、コントロール部155は、グローバル動きベクトル演算部157に、グローバルモーションの演算処理を開始するようにする制御指示信号を供給する。
この実施形態では、グローバル動きベクトル演算部157は、この制御指示信号を受けて、先ず、保持している複数個のローカル動きベクトルLMVについて、対応して保持されている動きベクトル信頼性指標値Ftを用いて、前述した(式2)により、信頼性の判定を行う。次に、グローバル動きベクトル演算部157は、信頼性の高いローカル動きベクトルLMVのみを抽出する。
そして、抽出した信頼性の高いローカル動きベクトルLMVのみを用いてグローバルモーションを算出する演算処理を実行する。そして、算出したグローバルモーションからグローバル動きベクトルGVMを算出し、得られたグローバル動きベクトルGVMを、動き補償画生成部16に供給する。
動き補償画生成部16では、グローバル動きベクトル算出部15を通じて送られてくる参照フレームの画像データREFvに対して、グローバル動きベクトルGVMによりグローバルモーションに対応する変形処理が施されて、動き補償画像が生成される。そして、生成された動き補償画像が加算部17でターゲットフレームの画像データと重ね合わされる。
この実施形態におけるグローバルモーションおよびグローバル動きベクトルGVMは、信頼性の高いローカル動きベクトルLMVから生成されたものであるので、確度の高い動きベクトルであり、画像重ね合わせにより得られたNR画像は、良好なものとなる。
[ローカル動きベクトル算出部154での処理動作]
この実施形態のローカル動きベクトル算出部154では、SAD値についての極小値を検出するため、図18において、点線で囲んで示すように、位置Poを判定対象点として、当該判定対象点位置PoのSAD値と、当該判定対象点位置Poの周囲近傍の8個のSAD値とを比較する。そして、判定対象点のSAD値が、点線で囲んで示す領域の9個のSAD値の中で最小値(ローカルミニマムという)であるか否か判断する。
そして、判定対象点のSAD値が、ローカルミニマムであると判断されたときには、それまで保持されていたSAD値の極小値と比較して、保持されていたSAD値の極小値よりも小さいか否か判断する。そして、判定対象点のSAD値が、保持されていたSAD値の極小値よりも小さいと判断されると、保持するSAD値の極小値を、新たに検出されたローカルミニマムのSAD値に更新してゆく。
上述したようなローカルミニマムのSAD値を検出するための構成として、この実施形態では、ローカル動きベクトル算出部154は、SAD値を保持しておくSADテーブルのバッファメモリとして、その規模を小さくするように工夫している。すなわち、参照ブロックを、1ピクセル単位でサーチする場合には、SAD値を保持しておくSADテーブルのバッファメモリとして、図18に示すように、ターゲットブロックの水平方向のサイズの2ライン分+3個分のSAD値の保持が可能なものを用意する。
図18から分かるように、ターゲットブロックの水平方向のサイズの2ライン分+3個分のSAD値が、バッファメモリに書き込まれると、判定対象点位置Poでのローカルミニマムの判定が可能となる。
バッファメモリのサイズを最小にするために、ここでは、図18に示すように、極小値評価(ローカルミニマム検出)で使われなくなったSAD値が記憶されていたメモリ位置Paには、新規に入力されるSAD値が上書きされる。すなわち、新規に入力されるSAD値は、順番として図18のメモリ位置Pbに書き込まれるのであるが、このメモリ位置Pbではなく、使われなくなったメモリ位置Paを再利用することで、メモリのハードウエア規模の増大を抑えるようにしている。
なお、ローカル動きベクトル算出部154は、ローカルミニマムを検出するためのバッファの他に、前述した第1極小値保持部1541と、第2極小値保持部1542とを備えるものである。
以上の処理が基本的な処理であり、この基本的な処理を、第1極小値と第2極小値とに適用することにより、SAD値の最小値およびSAD値の第2極小値を検出するようにする。
この実施形態では、ローカル動きベクトル算出部154では、縮小面と、中間面と、基底面とで、同じ動作をするものであるが、この実施形態では、基底面で、ローカル動きベクトルLMVを検出するようにすると共に、その信頼性指標値を算出するようにしている。したがって、SAD値の第2極小値が必要になるのは、この例では、基底面のみでよく、縮小面および中間面では、SAD値の第2極小値の算出保持は、省略するようにしてもよい。
図19は、このローカル動きベクトル算出部154における第1極小値および第2極小値の検出処理動作の流れを示すフローチャートである。
先ず、マッチング処理部153からのSAD値を取り込む(ステップS101)。そして、判定対象点位置PoのSAD値と、その周囲8個のSAD値との比較をする(ステップS102)。その比較の結果、判定対象点位置PoのSAD値は、ローカルミニマムであるか否か判別する(ステップS103)。
ステップS103で、判定対象点位置PoのSAD値は、ローカルミニマムではないと判別したときには、ステップS101に戻り、次のSAD値の取り込みを行う。
ステップS103で、判定対象点位置PoのSAD値は、ローカルミニマムであると判別したときには、保持しているSAD値の第1極小値および第2極小値と、判定対象点位置PoのSAD値とを比較する(ステップS104)。
そして、判定対象点位置PoのSAD値が、保持しているSAD値の第1極小値よりも小さいか否か判別する(ステップS105)。小さいと判別したときには、第1極小値保持部1541に保持しているSAD値を、第2極小値保持部1542に保持するように更新すると共に、判定対象点位置PoのSAD値を第1極小値保持部1541に保持するようにする(ステップS106)。
そして、ターゲットブロックに対して、全ての参照ブロックとの間のSAD値についての算出処理が完了したか否か判別し(ステップS109)、完了してはいないと判別したときには、ステップS101に戻って、次のSAD値を取り込む。また、ステップS109で、ターゲットブロックに対して、全ての参照ブロックとの間のSAD値についての算出処理が完了したと判別したときには、この処理ルーチンを終了する。
また、ステップS105で、判定対象点位置PoのSAD値が、保持しているSAD値の第1極小値より大きいと判別したときには、判定対象点位置PoのSAD値が、保持しているSAD値の第2極小値より小さいか否か判別する(ステップS107)。小さいと判別したときには、第2極小値保持部1542に保持するSAD値を、判定対象点位置PoのSAD値に更新するようにする(ステップS108)。
そして、ステップS108の次には、ステップS109に進み、ターゲットブロックに対して、全ての参照ブロックとの間のSAD値についての算出処理が完了したか否か判別する。完了してはいないと判別したときには、ステップS101に戻って、次のSAD値を取り込む。また、ステップS109で、ターゲットブロックに対して、全ての参照ブロックとの間のSAD値についての算出処理が完了したと判別したときには、この処理ルーチンを終了する。
また、ステップS107で、判定対象点位置PoのSAD値が、保持しているSAD値の第2極小値より小さくはないと判別したときにもステップS109に進み、ターゲットブロックに対して、全ての参照ブロックとの間のSAD値についての算出処理が完了したか否か判別する。完了してはいないと判別したときには、ステップS101に戻って、次のSAD値を取り込む。また、ステップS109で、ターゲットブロックに対して、全ての参照ブロックとの間のSAD値についての算出処理が完了したと判別したときには、この処理ルーチンを終了する。
この図19の処理フローチャートは、縮小面、中間面および基底面で同様とすることができる。この場合に、縮小面および中間面では、第1極小値保持部1541に最終的に保持されたSAD値を、SAD値の最小値MinSADとして検出し、それに対応する参照ベクトルを、縮小面動きベクトルMVsおよび中間面動きベクトルMVmとして検出して、出力することができる。
また、基底面では、第1極小値保持部1541に最終的に保持されたSAD値を、SAD値の最小値MinSADとして検出し、それに対応する参照ベクトルを、基底面動きベクトルMVbとして検出して出力することができる。また、基底面では、第1極小値保持部1541に最終的に保持されたSAD値(最小値MinSAD)と、第2極小値保持部1542に最終的に保持されたSAD値(SAD値の第2極小値)とを、動きベクトル信頼性指標値算出部156に供給するようにする。
[グローバル動きベクトル算出部157での処理動作]
<拡張したアフィン変換について>
この実施形態では、多数個のローカル動きベクトルLMVから、グローバルモーションを算出(推定)する。そして、算出したグローバルモーションから、グローバル動きベクトルGVMを算出(グローバルモーションを推定)する。この場合において、グローバルモーションをアフィン変換で表現する方法を用いる。ただし、この実施形態では、図34に示した従来の通常のアフィン変換を変形した拡張したアフィン変換(以下、拡張アフィン変換という)を用いる。
図20で実線に示すような“あおり”台形画像を、図20で点線で示す矩形(長方形)に戻す“あおり”補正を考えた場合、図20において、矢印により示すように、鉛直軸(y軸)に沿って、台形画像の上方半分を水平縮小し、下方半分を水平拡大すれば良い。
前述もしたように、通常のアフィン変換では、アフィン変換のパラメータa,b,c,d,e,fのうち、水平拡大縮小に関するパラメータはaであり、このパラメータaが一定値のため、通常のアフィン変換では、この“あおり”補正に対応できない。
そこで、図20の下側に示すように、パラメータaをy軸に沿って値が変化するように、q0・y+r0と置き換えれば、水平方向の拡大縮小率が、鉛直軸に応じて線形に変化する変換となる。すなわち、パラメータaを、“あおり”補正のために、y軸の変数yの関数に置き換える。ここでは、図20の“あおり”補正のためには、線形な関数、つまり、パラメータaは、一次関数q0・y+r0とすればよいことになる。
図20は、前述したピッチ軸の回転に伴う“あおり”の補正を考慮したものであるが、ヨー軸の回転に伴う“あおり”の補正や、ピッチ軸およびヨー軸の両者の回転が合成された“あおり”の補正を考慮する必要がある。
そこで、この実施形態では、図20を用いて説明した考え方を拡張する。すなわち、アフィン変換を、任意の軸に沿って、その軸と垂直な方向に拡大縮小する形にするには、パラメータa,b,d,eを、図21の(式7)に示すように、それぞれpn・x+qn・y+rn(n=0,1,2,3)と置き換えるようにする。
ここで、アフィンパラメータa,b,d,eは、画像の変形に関与するパラメータであるのに対して、アフィンパラメータc,fは、画像の左右、上下方向のシフトに関与するパラメータである。よって、アフィンパラメータc,fについては、関数への置き換えはしない。
この(式7)のように表すと、計14個のパラメータとなり、拡張アフィン変換は、煩雑性が高いように見えるが、(式7)を展開して整理すれば、結局12個のパラメータを使って、図22の(式8)の形となる。
この拡張アフィン変換の式形状であれば、複雑な式にはなるものの、最小自乗法によって、複数のローカル動きベクトルに対する解を、一意に導き出すことが可能である。手法はアフィン変換と同じであるため、最終結果のみを、図23〜図27に、それぞれ(式9〜(式13)として示す。
なお、この実施形態では、図21に示したように、画像の変形に関与するアフィンパラメータa,b,d,eの全てを関数に置き換えるようにしたが、画像の変形が特定の方向のみである場合には、その方向に関するパラメータのみを関数に置き換えるようにすればよい。例えば、図20の上方に示した変形のみを考慮する場合には、図20の下側に示すように、パラメータaのみを、関数に置き換えればよい。
また、上述の例では、置き換える関数は、線形変位を想定したため、一次関数としたが、曲線的な変位を想定する場合には、2次以上の関数とするようにしてもよい。
<拡張したアフィン変換を用いたグローバルモーションの算出>
不特定多数のベクトルから、最も好適なグローバルモーションを導出する手法として、この実施形態では、図28および図29のフローチャートに示す方法を用いる。この方法は、信頼性の高いブロックの中から、動被写体等の、グローバルモーションに適合しにくいブロックの動きベクトルを徐々に排除しながら、最小自乗法を用いて、グローバルモーションのパラメータの収束を図る方法である。
この図28、図29のフローチャートの処理においては、拡張アフィン変換を導入することにより、ベクトル精度の低い多くのローカル動きベクトルから、動被写体等のエラーベクトルを排除しながら、“あおり”も含めた、最適なグローバルモーションを、現実的な演算コストで導出することが可能となる。
ところで、この実施形態の拡張アフィン変換は、変形パラメータが多く、柔軟であるが故に、グローバルモーションの収束演算において、動被写体やノイズ等の誤った動きベクトルにも対応してしまい、これら誤った動きベクトルを排除できない可能性がある。
そのため、この実施形態では、図28,29に示すように、収束演算ループの初期においては、通常のアフィン変換を用いて誤った動きベクトル(エラーベクトルという)の排除を行い、その後、拡張アフィン変換を用いた収束演算を行なうようにする。これは、通常のアフィン変換を用いることで、あおり成分のベクトルを排除しない程度に、ベクトルエラーが小さくなってから、拡張アフィン変換を用いて、あおり成分にも対応した高精度の収束を試みる手法を用いるようにするためである。
また、この実施形態では、収束演算の各回で求められたグローバルモーションから求められる動きベクトル(グローバル動きベクトル)と、検出された動きベクトル(上述のローカル動きベクトルLMV)との差としてのベクトルエラーの最大値を検出する。
そして、検出したベクトルエラーの最大値が、予め定めた閾値よりも大きい場合には、通常のアフィン変換を継続し、検出したベクトルエラーの最大値が、予め定めた閾値以下になったら、拡張アフィン変換を用いる収束演算を行なうようにする。
図28および図29のフローチャートに沿って説明する。
先ず、グローバル動きベクトル算出部157は、保持している複数個のローカル動きベクトルLMVについて、それぞれの動きベクトル信頼性指標値Ftと、予め定めた閾値とを比較する。そして、その比較結果から、動きベクトル信頼性指標値Ftが、予め定めた閾値よりも大きい信頼性の高いローカル動きベクトルLMVのターゲットブロック(以下、説明の簡単のためブロックと記載)のみを選定する(ステップS201)。この処理は、前述の(式15)を用いて説明したように、重み係数Wとして、1と0との2値を用いる場合に相当する。
次に、グローバル動きベクトル算出部157は、収束演算の収束ループが最初の1回目であるか否か判別する(ステップS202)。最初の1回目であると判別したときには、グローバル動きベクトル算出部157は、選定した複数のブロックのローカル動きベクトルLMVのみを用いると共に、通常のアフィン変換を用いて、グローバルモーションを導出(推定)する(ステップS203)。つまり、グローバルモーションについてのアフィンパラメータa〜fを算出する。
次に、導出したグローバルモーションに基づいて、演算に用いた、選定したブロックのそれぞれの理論上のローカル動きベクトルLMVsを計算する(ステップS206)。
次に、選定した複数のブロックのそれぞれにおいて、ブロックマッチング処理により求めたローカル動きベクトルLMVと、ステップS206で求めた理論上のローカル動きベクトルLMVsとの誤差Enを計算する(ステップS207)。
このブロックマッチングで求めた動きベクトルと理論上の動きベクトルとの誤差計算は、演算の精度を重視するなら、三平方の定理から正しく距離計算を行えば良い。しかし、演算の精度よりも軽さを重要視するなら、水平及び垂直の両者の距離をそれぞれ求め、それらの和を、近似的な距離として用いても良い。
次に、選定した複数のブロックのそれぞれについて求めた誤差Enの全てを用いて、それら全ての誤差の平均値Eaveと、最大値Emaxとを算出する(ステップS208)。そして、平均値Eaveが、それに対して予め定められた閾値θaよりも小さく、且つ、最大値Emaxが、それに対して予め定められた閾値θbよりも小さいか否か判別する(ステップS209)。
ステップS209での判別の結果、条件を満足してはいないと判別したときには、ステップS207で求めた各ブロックの誤差Enの中から、誤差En=Emaxとなるブロックを、グローバルモーションを導出する複数のブロックから排除する。または、誤差En≧θbとなるブロックを検出し、検出したブロックの全てを、グローバルモーションを導出する複数のブロックから排除する(図29のステップS211)。
次に、ステップS211でのブロック排除の結果、残存するブロックの数が予め定めた数の閾値θcよりも少ないか否か判別する(ステップS212)。ステップS212で、残存するブロックの数が閾値θcよりも少なくはないと判別したときには、ステップS202に戻り、残存するブロックを選定したブロックとして、ステップS202以降の処理を繰り返す。
残存するブロックの数が閾値θcよりも少ないときには、適切なグローバルモーションが得られないので、対象となっている参照フレームの画像は、この実施形態の画像の重ね合わせには使用できない。そこで、ステップS212で、残存するブロックの数が閾値θcよりも少ないと判別したときには、当該参照フレームについてのその後の処理を全て行わないようにスキップする(ステップS213)。
次に、ステップS202で、収束演算の収束ループが最初の1回目ではないと判別したときには、グローバル動きベクトル算出部157は、ステップS207で求めた各ブロックの誤差Enの最大値Emaxが、予め定めた閾値θdより大きいか否か判別する(ステップS204)。
ここで、閾値θdは、通常のアフィン変換を用いてグローバルモーションの演算を行い、上述のステップS211のようにして、エラーベクトルの排除を行うときに、あおり成分のベクトルを排除しない程度の値に選定される。
ステップS204で、誤差Enの最大値Emaxが、予め定めた閾値θdより大きいと判別したときには、グローバル動きベクトル算出部157は、ステップS203に進み、通常のアフィン変換を用いて、グローバルモーションを導出するようにする。つまり、拡張アフィン変換のパラメータを算出する。そして、前述したステップS203以降の処理を繰り返す。
また、ステップS204で、誤差Enの最大値Emaxが、予め定めた閾値θd以下になった判別したときには、グローバル動きベクトル算出部157は、選定した複数のブロックのローカル動きベクトルLMVのみを用いると共に、拡張アフィン変換を用いて、グローバルモーションを導出する(ステップS205)。そして、ステップS205の後は、上述したステップS206以降の処理を繰り返す。
そして、図28のステップS206で、誤差Enの平均値Eaveが閾値θaよりも小さく、且つ、誤差Enの最大値Emaxが閾値θbよりも小さいと判別したときには、演算は収束したとして、グローバルモーションをそのときのもので確定し(ステップS210)、この処理ルーチンを終了する。
なお、ステップS211で、誤差Enが最大エラーEmaxのブロックのみを排除するか、誤差Enが閾値θb以上のブロックをまとめて排除するかは、グローバル動きベクトルGVMを求める際の収束の早さと精度のバランスで決めれば良い。精度を優先するなら前者の方式を採用し、エラーブロックを1つずつ排除して行けば良く、収束の早さを優先するなら後者を選択しても構わない。
なお、上述の例では、ステップS204においては、通常のアフィン変換を用いた演算と、拡張アフィン変換を用いた演算の切り替え判断に、誤差Enの最大値Emaxを用いるようにした。しかし、上記のステップS204での切り替え判断は、誤差Enの最大値Emaxだけでなく、誤差Enの平均値Eaveを考慮しても良い。
すなわち、ステップS204で、誤差Enの平均値Eaveが予め定められた閾値よりも大きいか否か判別し、平均値Eaveが閾値よりも大きいときには、通常アフィン変換を用いた演算を行い、平均値Eaveが閾値以下になったときには、拡張アフィン変換を用いた演算を開始するようにしてもよい。
また、ステップS204で、誤差Enの最大値Emaxと、平均値Eaveとの両方が、予め定められた閾値よりも大きいか否か判別し、大きいときには、通常アフィン変換を用いた演算を行い、小さくなったときには、拡張アフィン変換を用いた演算を開始するようにしてもよい。
なお、手ブレ補正の範囲が、光学ズーム倍率やセット形状から同定できることと同様に、最大手ブレ量からあおり成分の最大値が得られるため、上記の閾値の同定は、比較的容易である。
グローバル動きベクトル演算部157は、以上のようにして算出したグローバルモーションに基づいて、各ターゲットブロック毎のグローバル動きベクトルGVMを算出する。すなわち、算出したグローバルモーションについての拡張アフィン変換のパラメータa〜l(図22参照)を用いて、図22の(式8)により、各ターゲットブロック毎の動きベクトル(理論上のローカル動きベクトルLMVsに相当)を求める。図22の(式8)において、x、yは、各ターゲットブロックの中心位置座標が用いられる。この求めた動きベクトルが、各ターゲットブロック毎のグローバル動きベクトルGVMとなる。
そして、動き補償画生成部16には、上述のようにして求められた、各ターゲットブロック毎のグローバル動きベクトルGVMが供給される。そして、動き補償画生成部16では、その各ターゲットブロック毎のグローバル動きベクトルGVMを用いて、ターゲットブロック毎の動き補償画を生成し、生成したブロック毎の動き補償画を加算部17に供給する。
この実施形態において、前述の図12のノイズの多い画像について求めた各ターゲットブロック毎のグローバル動きベクトルを、図30に示す。
[第2の実施形態]
上述の実施形態では、ローカル動きベクトル算出部154では、階層化ブロックマッチングを行って、基底面におけるローカル動きベクトルLMVを算出した。そして、動きベクトル信頼性指標値算出部156では、当該基底面のローカル動きベクトルLMVの信頼性指標Ftを算出した。また、グローバル動きベクトル算出部157では、この基底面のローカル動きベクトルLMVについて、その信頼性指標値Ftを用いて信頼性の高いローカル動きベクトルLMVを抽出し、当該信頼性の高いローカル動きベクトルLMVを用いてグローバル動きベクトルGVMを算出するようにした。
ところで、縮小面動きベクトルMVsや中間面動きベクトルMVmを、基底面に対する画像縮小倍率の逆数倍することで、基底面基底面動きベクトルMVbを得ることができる。そこで、グローバル動きベクトルGVMを算出するためには、基底面動きベクトルMVbを求めなくても、縮小面動きベクトルMVsや中間面動きベクトルMVmから、グローバル動きベクトルGVMを求めるようにすることもできる。
例えば、縮小面動きベクトルMVsからグローバル動きベクトルGVMを求める場合には、先ず、ローカル動きベクトル算出部154で、縮小面におけるローカル動きベクトルLMV(縮小面動きベクトルMVs)を算出する。
そして、動きベクトル信頼性指標値算出部156で、算出した縮小面動きベクトルMVsについての信頼性指標Ftを算出する。また、グローバル動きベクトル算出部157で、この縮小面のローカル動きベクトルLMVについての信頼性指標値Ftを用いて、信頼性の高いローカル動きベクトルLMVを抽出する。そして、グローバル動きベクトル算出部157で、当該信頼性の高いローカル動きベクトルLMVを用いて、グローバルモーションおよびグローバル動きベクトルGVMを算出するようにするようにする。
このようにして縮小面や中間面のローカル動きベクトルを用いてグローバル動きベクトルGVMを求めるメリットは、次の通りある。
1つは、先に述べたように縮小面や中間面は、その生成にあたってローパスフィルタが施されるため、ノイズが除去され、結果として、得られたローカル動きベクトルがノイズの影響を受けにくい点である。
他の1つは、縮小面や中間面では、ターゲットブロックの数が少なくなるので、ローカル動きベクトルの数は少なくなり、演算コストが小さくなると共に、処理に要する時間や小さいので、処理の高速化が可能であることである。
上述の例のように、通常は、ハードウェアの制約から、縮小面、中間面、基底面のマッチング処理ブロック単位は同じサイズとなる。このため、画サイズの小さい縮小面のターゲットブロックの数(=ローカルベクトルの数)は、基底面のみでブロックマッチングを行う場合に較べて相対的に少なくなる。
そして、縮小面動きベクトルからグローバルモーションおよびグローバル動きベクトルGVMを求める場合には、中間面および基底面での動きベクトル検出処理は省略することができ、この点でも処理の高速化が図れる。
したがって、特に、縮小面動きベクトルを用いてグローバルモーションおよびグローバル動きベクトルGVMを求めるようにした場合には、そのメリットは、大きい。
しかし、この縮小面動きベクトルや中間面動きベクトルの精度は、縮小面および中間面は基底面の画像が縮小されたものであるので、低精度となっている点を考慮する必要がある。
そこで、この実施形態では、縮小面動きベクトルあるいは中間面動きベクトルを用いる場合には、補間処理を行う。すなわち、算出された縮小面動きベクトルあるいは中間面動きベクトルで指し示される縮小面参照ブロック位置あるいは中間面参照ブロック位置の近傍の縮小面参照ブロックあるいは中間面参照ブロックのSAD値およびその位置情報を用いて、補間処理を行う。この補間処理により、ピクセル精度の縮小面動きベクトルあるいは中間面動きベクトルの検出を行うことができる。縮小面の場合を例に、以下にこの補間処理を説明する。
例えば、縦および横、ともに1/4に縮小された縮小面でブロックマッチングを行った場合、縮小面動きベクトルは、4ピクセル精度の動きベクトルである。しかし、基底面参照フレームにおいては、縮小面動きベクトルMVsをn倍した動きベクトルの近傍に、1ピクセル精度の基底面動きベクトルMVbが存在することは明らかである。
したがって、図31に示すように、縮小面での最小SAD値601が求まった場合、その近傍の複数個、例えば上下左右に隣接する4個のSAD値602,603,604,605を用いて補間処理を行い、ピクセル精度の動きベクトルの検出をすることを考えることができる。この場合、補間倍率は4倍必要ということになる。
例えば、二次曲線を用いて、SADテーブルを補間することで、例えばnピクセル単位でマッチング処理を行った縮小面SADテーブルから、ピクセル精度の動きベクトルを算出することを考える。この場合において、二次曲線近似補間ではなく、線形補間や、3次以上の高次の近似曲線補間を用いても良いが、精度とハードウエア化との兼ね合いから、この例では、二次曲線近似補間を用いている。
この二次曲線近似補間においては、図31に示すように、nピクセル精度の縮小面動きベクトルが指し示す縮小面SADテーブルのSAD値の最小値Sminと、当該最小値Sminの位置の近傍位置の複数個のSAD値(近傍縮小面SAD値という)とを使用する。この例では、近傍縮小面SAD値としては、縮小面において、最小値Sminの位置のX方向(水平方向)およびY方向(垂直方向)に隣接する4個の近傍SAD値Sx1、Sx2およびSy1、Sy2を使用する。
先ず、X方向(水平方向)の補間においては、図32に示すように、縮小面SAD値の最小値Sminと、X方向(水平方向)の近傍2点の近傍縮小面SAD値Sx1、Sx2に対して二次の近似曲線700を当てはめる。すなわち、最小値Sminと、X方向(水平方向)の近傍2点の近傍縮小面SAD値Sx1、Sx2を通る二次の近似曲線700を求める。すると、図32に示すように、この二次曲線700の極小を取る座標が、ピクセル精度のSAD値の最小値SXminとなる縮小面動きベクトル(高精度縮小面動きベクトル)のX座標Vxとなる。このときの二次曲線近似補間の式を、次式の(式16)に示す。
SXmin=1/2×(Sx2−Sx1)/(Sx2−2Smin+Sx1)…(式16)
この計算式(式16)で求めたピクセル精度のSAD値の最小値SXminがSADテーブル上で取るX座標が、ピクセル精度の縮小面SAD値の最小値となるX座標Vxとなる。
この計算式(式16)の割り算は、複数回の引き算で実現可能である。求めたいピクセル精度が、例えば、縮小面における画素ピッチの1/4の画素ピッチの精度であれば、僅か2回の引き算で求められるため、回路規模、演算時間、共に小さく、二次の近似曲線補間よりもかなり複雑な三次曲線補間と殆ど変わらない性能が実現できる。
同様に、Y方向(垂直方向)の補間においては、縮小面SAD値の最小値Sminと、Y方向(垂直方向)の近傍2点の近傍縮小面SAD値Sy1、Sy2に対して、二次の近似曲線を当て嵌める。すると、この二次近似曲線の極小値SYminを取るY座標が、ピクセル精度のSAD値の最小値となるY座標Vyとなる。このときの二次曲線近似補間の式を、次式の(式17)に示す。
SYmin=1/2×(Sy2−Sy1)/(Sy2−2Smin+Sy1)…(式17)
以上のようにして、二次曲線の近似を、X方向およびY方向の2回、行うことで、ピクセル精度の高精度の縮小面動きベクトル(Vx、Vy)が求まる。
以上の説明では、縮小面SAD値の最小値と、そのX方向(水平方向)およびY方向(垂直方向)の近傍2点の縮小面SAD値を使用したが、各方向の近傍の縮小面SAD値は2点以上であってもよい。また、二次曲線をX方向、Y方向に代えて、例えば、斜め方向に近似曲線を当て嵌めてもかまわない。さらに、X方向、Y方向に、斜め方向を加えて近似曲線を当て嵌めてもかまわない。
以上のような手段、手順を用いることにより、nピクセル単位の精度のSADテーブルの値から、ピクセル精度のベクトル検出結果が得られることを図33に示す。図33の横軸は、補間倍率であり、1次元方向に分解能を何倍にするかを表している。SADテーブルは2次元のため、テーブル面積は、この2乗の割合で削減されるのに対し、補間による誤差は、線形程度にしか増加しないことから、上述の補間手法の有用性が分かる。
[他の実施形態および変形例]
上述の実施形態においては、この発明を、静止画撮影時において検出される動きベクトルの信頼性を判定する場合に適用したが、この発明は、動画撮影時において検出される動きベクトルの信頼性を判定する場合にも、勿論適用できる。
また、上述の実施形態では、相関値としては、SAD値を検出するようにしたが、相関値はSAD値に限定されるものではないことは言うまでもない。
また、上述の実施形態では、静止画像についての動き検出処理および画像の重ね合わせ処理は、画像メモリ部4に、複数枚の撮像画像を取り込み、当該取り込んだ複数枚の撮像画像について、上述のような動き検出および画像重ね合わせ処理を行うようにした。しかし、処理対象の複数枚の画像を、動画撮影時と同様に、リアルタイムで処理するようにすることもできる。
なお、動きベクトルの検出対象となる画像情報は、撮像画像情報に限られるものではないことは言うまでもない。
また、上述の実施形態では、動きベクトルの信頼性の判定を、動きベクトル信頼性指標値に基づいて行うようにした。しかし、相関値の第1極大値と相関値の第2極大値の差や比のみではなく、当該相関値の第1極大値を取る参照ベクトルと、相関値の第2極大値を取る参照ベクトルとの位置的な異なりをさらに用いて信頼性の判定をするようにしてもよい。また、相関値の第3極大値、さらには、それよりも、より順位の高位の極大値の値や当該極大値を取る参照ベクトルの位置分布をさらに参照して、信頼性の判定をしたりするようにしてもよい。
なお、上述の実施形態では、グローバルモーションの演算処理に当たって、演算負荷を軽くするため、ローカル動きベクトルLMVの信頼性指標値に応じた重み係数Wは、0と、1とに2値化したものを使用した。しかし、ローカル動きベクトルLMVの信頼性指標値を正規化して得た、例えば0以上、1以下の重み係数Wを、そのまま用いて、グローバルモーションの演算処理をするようにしても、勿論よい。
この発明による画像処理装置の実施形態が適用される撮像装置の構成例を示すブロック図である。 この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。 この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。 この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。 この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。 この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。 この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。 この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。 この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。 この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。 この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するためのブロック図である。 この発明による画像処理装置の実施形態が適用される撮像画像の例を示す図である。 この発明による画像処理装置の実施形態において検出されたローカル動きベクトルを、画像上に対応付けて示した図である。 この発明による画像処理装置の実施形態の要部を説明するために用いる図である。 この発明による画像処理装置の実施形態の要部を説明するために用いる図である。 この発明による画像処理装置の実施形態において、信頼性が高いとされたローカル動きベクトルを、画像上に対応付けて示した図である。 この発明による画像処理装置の実施形態の要部の構成例を説明するためのブロック図である。 図17の構成例を説明するために用いる図である。 この発明による画像処理装置の実施形態の要部の構成例による処理例を説明するためのフローチャートである。 この発明による画像処理装置の要部を説明するための図である。 この発明による画像処理装置において、ローカル動きベクトルからグローバルモーションを算出する処理例を説明するために用いる式を説明するための図である。 この発明による画像処理装置において、ローカル動きベクトルからグローバルモーションを算出する処理例を説明するために用いる式を説明するための図である。 この発明による画像処理装置において、ローカル動きベクトルからグローバルモーションを算出する処理例を説明するために用いる式を説明するための図である。 この発明による画像処理装置において、ローカル動きベクトルからグローバルモーションを算出する処理例を説明するために用いる式を説明するための図である。 この発明による画像処理装置において、ローカル動きベクトルからグローバルモーションを算出する処理例を説明するために用いる式を説明するための図である。 この発明による画像処理装置において、ローカル動きベクトルからグローバルモーションを算出する処理例を説明するために用いる式を説明するための図である。 この発明による画像処理装置において、ローカル動きベクトルからグローバルモーションを算出する処理例を説明するために用いる式を説明するための図である。 この発明による画像処理装置の実施形態において、ローカル動きベクトルからグローバルモーションを求める処理例を説明するためのフローチャートの一部を示す図である。 この発明による画像処理装置の実施形態において、ローカル動きベクトルからグローバルモーションを求める処理例を説明するためのフローチャートの一部を示す図である。 この発明による画像処理装置の実施形態において、算出されたグローバルモーションから求められたブロック単位の動きベクトルを、画像上に対応付けて示した図である。 この発明による画像処理装置の実施形態において、ローカル動きベクトルを求める処理の他の例を説明するための図である。 この発明による画像処理装置の実施形態において、ローカル動きベクトルを求める処理の他の例を説明するための図である。 この発明による画像処理装置の実施形態において、ローカル動きベクトルを求める処理の他の例を説明するための図である。 ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。 ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。 ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。 ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。 ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。 従来の通常のアフィン変換を用いて、ローカル動きベクトルからグローバルモーションを求めた場合の問題点を説明するための図である。 ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。
符号の説明
15…グローバル動きベクトル検出部、153…マッチング処理部、154…ローカル動きベクトル算出部、156…動きベクトル信頼性指標値算出部、157…グローバル動きベクトル演算部

Claims (15)

  1. 第1の座標で表すターゲット画面の画像中において設定された、複数の画素からなる所定の大きさのブロックの複数個のそれぞれについて、参照画面に対する前記ターゲット画面の前記ブロック毎の動きベクトルを検出する動きベクトル検出手段と、
    前記動きベクトル検出手段で検出された前記ターゲット画面の前記複数個のブロックについての複数個の動きベクトルから、前記画像中の画素で形成された画像を第2の座標上に変形と移動の変換を行うために、該第2の座標の座標成分を前記第1の座標の各座標成分の変数を用いて表す高次関数の係数を示すアフィンパラメータの少なくとも1つを、前記第1の座標上の画像が特定の座標軸に対して変位する変位軸についての変数の関数とした拡張したアフィン変換を用いて前記画像を変換するアフィン変換部と
    前記動きベクトル検出手段で検出された前記複数個のブロックについての動きベクトルと、前記第1の座標の画像と該画像の平行移動と回転を行う通常アフィン変換による前記第2の座標上の画像との間で得られる理論上の動きベクトルとの差の最大値および/または前記差の平均値を算出する第1の演算部と、前記差の最大値および/または前記差の平均値と予め定められた閾値との比較演算を行い、当該比較演算した結果が前記閾値以上の場合は該比較演算を繰り返し行い、前記比較演算された結果が前記閾値以下になると前記比較演算を完了する収束演算を行う第2の演算部と前記収束演算が完了した結果得られた前記動きベクトルから、前記拡張したアフィン変換のアフィンパラメータを求めて前記ターゲット画面をアフィン変換して該ターゲット画面の画像を補正し、前記参照画面と前記ターゲット画面の2画面間の前記画像全体に加わっている画像の背景の動きおよび動き量の変形を表わすグローバルモーションを算出する第3の演算部と、を有するグローバルモーション算出手段と、
    を備える画像処理装置。
  2. 請求項に記載の画像処理装置において、
    グローバルモーション算出手段は、
    記差の最大値および/または前記差の平均値が、前記予め定められている閾値よりも小さくなったときに、通常のアフィン変換を用いる収束演算から、前記拡張したアフィン変換を用いる収束演算に切り替える手段と、
    を備える画像処理装置。
  3. 請求項1に記載の画像処理装置において、
    前記動きベクトル検出手段は、
    前記ターゲット画面中において設定された前記ブロックに対応するターゲットブロックのそれぞれと、前記ターゲット画面とは異なる前記参照画面において設定された前記ブロックに対応する参照ブロックであって、1つのターゲットブロックについて、設定されたサーチ範囲において複数個設定される前記参照ブロックとの相関値を求める相関値算出手段と、
    前記相関値算出手段で算出された相関値の最大値と、前記最大値を除く相関値のうちの極大値とを求める手段と、
    前記相関値の最大値が算出された前記参照ブロックの前記ターゲットブロックに対するずれとして前記ターゲットブロックの動きベクトルを検出する動きベクトル検出手段と、
    前記相関値の最大値と、前記最大値を除く相関値のうちの極大値との差を、前記動きベクトル検出手段で検出した前記動きベクトルの信頼性の指標として算出する手段と、
    を備え、
    前記グローバルモーション算出手段は、
    前記動きベクトルの信頼性の指標で重み付けを行なった前記動きベクトルを用いて、前記グローバルモーションの算出演算を開始する
    画像処理装置。
  4. 請求項1に記載の画像処理装置において、
    前記動きベクトル検出手段は、
    前記ターゲット画面中において設定された前記ブロックに対応するターゲットブロックのそれぞれと、前記ターゲット画面とは異なる前記参照画面において設定された前記ブロックに対応する参照ブロックであって、1つのターゲットブロックについて、設定されたサーチ範囲において複数個設定される前記参照ブロックとの相関値を求める相関値算出手段と、
    前記相関値算出手段で算出された相関値の最大値と、前記最大値を除く相関値のうちの極大値とを求める手段と、
    前記相関値の最大値が算出された前記参照ブロックの前記ターゲットブロックに対するずれとして前記ターゲットブロックの動きベクトルを検出する動きベクトル検出手段と、
    前記相関値の最大値と、前記最大値を除く相関値のうちの極大値との差を、前記動きベクトル検出手段で検出した前記動きベクトルの信頼性の指標として算出する手段と、
    を備え、
    前記グローバルモーション算出手段は、
    前記動きベクトルの信頼性を用いて、前記動きベクトルの信頼性を判定する手段を備え、
    前記判定の結果、信頼性が高いと判定された動きベクトルのみを用いて、前記グローバルモーションの算出演算を開始する
    画像処理装置。
  5. 請求項に記載の画像処理装置において、
    前記動きベクトル検出手段は、
    前記ターゲット画面中において設定された前記ブロックに対応するターゲットブロックのそれぞれと、前記ターゲット画面とは異なる前記参照画面において設定された前記ブロックに対応する参照ブロックであって、1つのターゲットブロックについて、設定されたサーチ範囲において複数個設定される前記参照ブロックとの相関値を求める相関値算出手段と、
    前記相関値算出手段で算出された相関値の最大値と、前記最大値を除く相関値のうちの極大値とを求める手段と、
    前記相関値の最大値が算出された前記参照ブロックの前記ターゲットブロックに対するずれとして前記ターゲットブロックの動きベクトルを検出する動きベクトル検出手段と、
    前記相関値の最大値と、前記最大値を除く相関値のうちの極大値との差を、前記動きベクトル検出手段で検出した前記動きベクトルの信頼性の指標として算出する手段と、
    を備え、
    前記グローバルモーション算出手段での初期収束演算は、
    前記動きベクトルの信頼性の指標で重み付けを行なった前記動きベクトルを用いて、前記グローバルモーションの算出演算を開始する
    画像処理装置。
  6. 請求項に記載の画像処理装置において、
    前記動きベクトル検出手段は、
    ターゲット画面中において設定された前記ブロックに対応するターゲットブロックのそれぞれと、前記ターゲット画面とは異なる参照画面において設定された前記ブロックに対応する参照ブロックであって、1つのターゲットブロックについて、設定されたサーチ範囲において複数個設定される前記参照ブロックとの相関値を求める相関値算出手段と、
    前記相関値算出手段で算出された相関値の最大値と、前記最大値を除く相関値のうちの極大値とを求める手段と、
    前記相関値の最大値が算出された前記参照ブロックの前記ターゲットブロックに対するずれとして前記ターゲットブロックの動きベクトルを検出する動きベクトル検出手段と、
    前記相関値の最大値と、前記最大値を除く相関値のうちの極大値との差を、前記動きベクトル検出手段で検出した前記動きベクトルの信頼性の指標として算出する手段と、
    を備え、
    前記グローバルモーション算出手段は、
    前記動きベクトルの信頼性を用いて、前記動きベクトルの信頼性を判定する手段を備え、
    前記判定の結果、信頼性が高いと判定された動きベクトルのみを用いて、前記グローバルモーションの初期収束演算を開始する
    画像処理装置。
  7. 請求項1に記載の画像処理装置において、
    前記グローバルモーション算出手段は、
    収束演算によりグローバルモーションを求めたときの前記アフィンパラメータを用いて、前記複数個のブロックについての前記理論上の動きベクトルを算出し、前記理論上の動きベクトルのそれぞれと、前記動きベクトル検出手段で検出された前記複数個のブロックについての動きベクトルとの差の最大値を算出する手段を備え、
    前記グローバルモーション算出手段における前記収束演算は、最小自乗法を用いると共に、前記差の最大値であるブロックの動きベクトルを除去して次回の演算を行なう繰り返し演算を用いる
    画像処理装置。
  8. 請求項1に記載の画像処理装置において、
    前記グローバルモーション算出手段は、
    収束演算によりグローバルモーションを求めたときの前記アフィンパラメータを用いて、前記複数個のブロックについての前記理論上の動きベクトルを算出し、前記理論上の動きベクトルのそれぞれと、前記動きベクトル検出手段で検出された前記複数個のブロックについての動きベクトルとの差を算出する手段を備え、
    前記グローバルモーション算出手段における前記収束演算は、最小自乗法を用いると共に、前記差の値が、予め定められた閾値以上であるブロックの動きベクトルを除去して次回の演算を行なう繰り返し演算を用いる
    画像処理装置。
  9. 請求項に記載の画像処理装置において、
    前記グローバルモーション算出手段は、前記繰り返し演算により除去された後の残存する動きベクトル数が、予め定めた値よりも少なくなったときに、グローバルモーションの算出処理を打ち切る
    画像処理装置。
  10. 請求項に記載の画像処理装置において、
    前記グローバルモーション算出手段は、前記繰り返し演算により除去された後の残存する動きベクトル数が、予め定めた値よりも少なくなったときに、グローバルモーションの算出処理を打ち切る
    画像処理装置。
  11. 請求項1に記載の画像処理装置において、
    前記動きベクトル検出手段での前記ブロック毎の動きベクトルの検出は、前記画像を縮小した縮小画像を用いて行なう画像処理装置。
  12. 請求項11に記載の画像処理装置において、
    前記動きベクトル検出手段においては、前記縮小画像において、前記相関値の最大値と、前記相関値の最大値のブロックの近傍の参照ブロックについて求められた相関値とを用いて補間処理を行い、その補間処理結果に基づいて前記ブロック毎の動きベクトルを検出する画像処理装置。
  13. 第1の座標で表すターゲット画面の画像中において設定された、複数の画素からなる所定の大きさのブロックの複数個のそれぞれについて、前記ブロック毎の動きベクトルを検出する動きベクトル検出工程と、
    前記動きベクトル検出工程で検出された前記ターゲット画面の前記複数個のブロックについての複数個の動きベクトルから、前記画像中の画素で形成された画像を第2の座標上に変形と移動の変換を行うために、該第2の座標の座標成分を前記第1の座標の各座標成分の変数を用いて表す高次関数の係数を示すアフィンパラメータの少なくとも1つを、前記第1の座標上の画像が特定の座標軸に対して変位する変位軸についての変数の関数とした拡張したアフィン変換を用いて前記画像を変換するアフィン変換工程と
    前記動きベクトル検出工程で検出された前記複数個のブロックについての動きベクトルと、前記第1の座標の画像と該画像の平行移動と回転を行う通常のアフィン変換による前記第2の座標上の画像との間で得られる理論上の動きベクトルとの差の最大値および/または前記差の平均値を算出する第1の演算工程と、前記差の最大値および/または前記差の平均値と、予め定められた閾値と比較演算を行い、当該比較演算した結果が前記閾値以上の場合は該比較演算を繰り返し行い、前記比較演算された結果が前記閾値以下になると前記比較演算を完了する収束演算を行う第2の演算工程と前記収束演算が完了した結果得られた前記動きベクトルから、前記拡張したアフィン変換のアフィンパラメータを求めて前記ターゲット画面をアフィン変換して該ターゲット画面の画像を補正し、前記参照画面と前記ターゲット画面の2画面間の前記画像全体に加わっている画像の背景の動きおよび動き量の変形を表わすグローバルモーションを算出する第3の演算工程と、を有するグローバルモーション算出工程と、
    を備える画像処理方法。
  14. 請求項13に記載の画像処理方法において、
    前記グローバルモーション算出工程での初期収束演算においては、前記動きベクトル検出手段で検出された前記複数個のブロックについての複数個の動きベクトルから、固定係数のアフィンパラメータを用いる通常のアフィン変換を用いて収束演算をし、前記拡張したアフィン変換を用いた収束演算は、前記初期収束演算の後に開始する画像処理方法。
  15. 請求項14に記載の画像処理方法において、
    グローバルモーション算出工程は、
    前記通常のアフィン変換を用いて収束演算によりグローバルモーションを求めたときの前記アフィンパラメータを用いて、前記複数個のブロックについての前記理論上の動きベクトルを算出し、前記前記理論上の動きベクトルのそれぞれと、前記動きベクトル検出工程で検出された前記複数個のブロックについての動きベクトルとの差の最大値および/または前記差の平均値を算出する工程と、
    前記差の最大値および/または前記差の平均値が、予め定められている閾値よりも小さくなったときに、前記通常のアフィン変換を用いる収束演算から、前記拡張したアフィン変換を用いる収束演算に切り替える工程と、
    を備える画像処理方法。
JP2008105248A 2008-04-15 2008-04-15 画像処理装置および画像処理方法 Expired - Fee Related JP4544334B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008105248A JP4544334B2 (ja) 2008-04-15 2008-04-15 画像処理装置および画像処理方法
US12/413,755 US8446957B2 (en) 2008-04-15 2009-03-30 Image processing apparatus and method using extended affine transformations for motion estimation
EP20090004732 EP2111046A3 (en) 2008-04-15 2009-03-31 Image processing apparatus and image processing method
CN2009101344528A CN101562704B (zh) 2008-04-15 2009-04-15 图像处理装置和图像处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008105248A JP4544334B2 (ja) 2008-04-15 2008-04-15 画像処理装置および画像処理方法

Publications (2)

Publication Number Publication Date
JP2009258868A JP2009258868A (ja) 2009-11-05
JP4544334B2 true JP4544334B2 (ja) 2010-09-15

Family

ID=40875198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008105248A Expired - Fee Related JP4544334B2 (ja) 2008-04-15 2008-04-15 画像処理装置および画像処理方法

Country Status (4)

Country Link
US (1) US8446957B2 (ja)
EP (1) EP2111046A3 (ja)
JP (1) JP4544334B2 (ja)
CN (1) CN101562704B (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4915423B2 (ja) * 2009-02-19 2012-04-11 ソニー株式会社 画像処理装置、フォーカルプレーン歪み成分算出方法、画像処理プログラム及び記録媒体
JP4915424B2 (ja) * 2009-02-19 2012-04-11 ソニー株式会社 画像処理装置、カメラモーション成分算出方法、画像処理プログラム及び記録媒体
JP2010250611A (ja) * 2009-04-16 2010-11-04 Sony Corp 画像処理装置、画像処理方法及び記録媒体
JP4964937B2 (ja) * 2009-10-06 2012-07-04 株式会社ナナオ 動きベクトル検出装置、フレーム補間処理装置およびそれらの方法
JP5182312B2 (ja) * 2010-03-23 2013-04-17 株式会社ニコン 画像処理装置、および画像処理プログラム
JP2011210179A (ja) * 2010-03-30 2011-10-20 Sony Corp 移動物体検出装置及び方法、並びにプログラム
CN102073988B (zh) * 2010-11-05 2014-02-19 北京理工大学 一种基于普通精度陀螺的电子减抖方法
JP2012151796A (ja) * 2011-01-21 2012-08-09 Sony Corp 画像処理装置と画像処理方法およびプログラム
JP5625976B2 (ja) 2011-02-09 2014-11-19 ソニー株式会社 撮像装置、および撮像装置制御方法、並びにプログラム
JP5645704B2 (ja) * 2011-02-18 2014-12-24 キヤノン株式会社 画像処理装置、及びその制御方法
WO2012166982A2 (en) * 2011-05-31 2012-12-06 Polyvision Corporation Document unbending systems and methods
JP2013066164A (ja) * 2011-09-02 2013-04-11 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
CN103379255B (zh) * 2012-04-24 2017-06-06 华晶科技股份有限公司 影像处理装置及其处理方法
CN102780846B (zh) * 2012-07-11 2014-10-22 清华大学 一种基于惯导信息的电子稳像方法
JP6074198B2 (ja) 2012-09-12 2017-02-01 キヤノン株式会社 画像処理装置及び画像処理方法
JP6153318B2 (ja) * 2012-11-30 2017-06-28 キヤノン株式会社 画像処理装置、画像処理方法、画像処理プログラム、および、記憶媒体
KR102121558B1 (ko) * 2013-03-15 2020-06-10 삼성전자주식회사 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더
CN103268778B (zh) * 2013-04-23 2015-10-21 湖南工学院 核电厂数字化主控室操作员的监视转移可靠性判定方法
JP6320053B2 (ja) 2014-01-22 2018-05-09 キヤノン株式会社 画像処理装置、画像処理方法、及びコンピュータプログラム
JP6312487B2 (ja) 2014-03-26 2018-04-18 キヤノン株式会社 画像処理装置及びその制御方法、並びに、プログラム
JP6260442B2 (ja) * 2014-05-02 2018-01-17 富士通株式会社 情報処理方法及びプログラム
SG10201900632SA (en) * 2015-03-10 2019-02-27 Huawei Tech Co Ltd Picture prediction method and related apparatus
JP6518115B2 (ja) * 2015-04-13 2019-05-22 キヤノン株式会社 画像処理装置、撮像装置、画像処理装置の制御方法、及びプログラム
CN109005407B (zh) 2015-05-15 2023-09-01 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备
KR102392597B1 (ko) 2015-10-15 2022-04-29 삼성전자주식회사 두께 측정 방법, 영상 처리 방법 및 이를 수행하는 전자 시스템
US10425656B2 (en) * 2016-01-19 2019-09-24 Peking University Shenzhen Graduate School Method of inter-frame prediction for video encoding and decoding
CN113612994B (zh) * 2016-03-15 2023-10-27 寰发股份有限公司 具有仿射运动补偿的视频编解码的方法
WO2017195608A1 (ja) * 2016-05-13 2017-11-16 シャープ株式会社 動画像復号装置
WO2018131830A1 (ko) * 2017-01-11 2018-07-19 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN109145681B (zh) * 2017-06-16 2021-02-26 北京京东尚科信息技术有限公司 用于判断目标旋转方向的方法及装置
US10609384B2 (en) * 2017-09-21 2020-03-31 Futurewei Technologies, Inc. Restriction on sub-block size derivation for affine inter prediction
BR112021012479A2 (pt) * 2018-12-28 2021-09-08 Jvckenwood Corporation Dispositivo de codificação de imagem em movimento, método de codificação de imagem em movimento, programa de codificação de imagem em movimento, dispositivo de decodificação de imagem em movimento, método de decodificação de imagem em movimento e programa de decodificação de imagem em movimento
JP7093015B2 (ja) * 2019-04-24 2022-06-29 日本電信電話株式会社 パノラマ映像合成装置、パノラマ映像合成方法、及びパノラマ映像合成プログラム
JP2021175035A (ja) * 2020-04-21 2021-11-01 キヤノン株式会社 画像処理装置、画像処理方法
CN111754437B (zh) * 2020-06-24 2023-07-14 成都国科微电子有限公司 一种基于运动强度的3d降噪方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH043595A (ja) * 1990-04-19 1992-01-08 Nec Corp 動画像の動き情報検出装置および動画像の動き補償フレーム間予測符号化装置
JP2005321902A (ja) * 2004-05-07 2005-11-17 Sony Corp 画像処理装置および方法、記録媒体、並びにプログラム
JP2006287504A (ja) * 2005-03-31 2006-10-19 Casio Comput Co Ltd 撮影装置、撮影画像の画像処理方法及びプログラム
JP2007174455A (ja) * 2005-12-26 2007-07-05 Sony Corp 画像処理装置、画像処理方法、撮像装置および撮像方法
JP2007181168A (ja) * 2005-12-01 2007-07-12 Sony Corp 画像処理装置および画像処理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206346B2 (en) * 1997-06-25 2007-04-17 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector decoding method, predictive encoding apparatus and decoding apparatus, and storage media storing motion vector predictive encoding and decoding programs
KR100289862B1 (ko) 1997-10-16 2001-05-15 정선종 2차원병진움직임벡터와회기법을이용한전역움직임존재유무판정방법
EP1376471A1 (en) * 2002-06-19 2004-01-02 STMicroelectronics S.r.l. Motion estimation for stabilization of an image sequence
US7558320B2 (en) * 2003-06-13 2009-07-07 Microsoft Corporation Quality control in frame interpolation with motion analysis
WO2005098753A1 (ja) * 2004-04-09 2005-10-20 Sony Corporation 画像処理装置および方法、記録媒体、並びにプログラム
US7760962B2 (en) * 2005-03-30 2010-07-20 Casio Computer Co., Ltd. Image capture apparatus which synthesizes a plurality of images obtained by shooting a subject from different directions, to produce an image in which the influence of glare from a light is reduced
JP4655957B2 (ja) 2006-02-20 2011-03-23 ソニー株式会社 撮像画像の歪み補正方法、撮像画像の歪み補正装置、撮像方法および撮像装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH043595A (ja) * 1990-04-19 1992-01-08 Nec Corp 動画像の動き情報検出装置および動画像の動き補償フレーム間予測符号化装置
JP2005321902A (ja) * 2004-05-07 2005-11-17 Sony Corp 画像処理装置および方法、記録媒体、並びにプログラム
JP2006287504A (ja) * 2005-03-31 2006-10-19 Casio Comput Co Ltd 撮影装置、撮影画像の画像処理方法及びプログラム
JP2007181168A (ja) * 2005-12-01 2007-07-12 Sony Corp 画像処理装置および画像処理方法
JP2007174455A (ja) * 2005-12-26 2007-07-05 Sony Corp 画像処理装置、画像処理方法、撮像装置および撮像方法

Also Published As

Publication number Publication date
JP2009258868A (ja) 2009-11-05
EP2111046A3 (en) 2011-01-12
US20090257498A1 (en) 2009-10-15
CN101562704A (zh) 2009-10-21
CN101562704B (zh) 2012-07-18
US8446957B2 (en) 2013-05-21
EP2111046A2 (en) 2009-10-21

Similar Documents

Publication Publication Date Title
JP4544334B2 (ja) 画像処理装置および画像処理方法
JP4623111B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP4506875B2 (ja) 画像処理装置および画像処理方法
JP2009290827A (ja) 画像処理装置および画像処理方法
JP4645746B2 (ja) 画像処理装置、画像処理方法および撮像装置
JP4882956B2 (ja) 画像処理装置および画像処理方法
JP4760923B2 (ja) 画像処理装置、画像処理方法および撮像装置
JP5359783B2 (ja) 画像処理装置および方法、並びにプログラム
JP5487722B2 (ja) 撮像装置と振れ補正方法
JP2009071689A (ja) 画像処理装置、画像処理方法および撮像装置
WO2011129249A1 (ja) 画像処理装置、撮像装置、プログラム及び画像処理方法
JP2010171753A (ja) 画像処理装置、画像処理方法および撮像装置
KR101109532B1 (ko) 촬상 장치, 촬상 방법 및 촬상 프로그램이 기록된 기록 매체
JP2013046270A (ja) 画像貼り合せ装置、撮影装置、画像貼り合せ方法、および画像処理プログラム
JP2009105533A (ja) 画像処理装置、撮像装置、画像処理方法および撮像画像処理方法
KR20130033323A (ko) 화상 처리 장치, 화상 처리 방법, 및 기록 매체
JP2009055410A (ja) 画像処理装置および画像処理方法
JP2010016580A (ja) 画像処理装置および画像処理方法
JP4998134B2 (ja) 画像処理装置および画像処理方法
KR20090109504A (ko) 화상 처리 장치 및 화상 처리 방법
JP2011176776A (ja) 画像処理装置及び画像処理方法
JP2011176777A (ja) 画像処理装置及び画像処理方法
JP2012142866A (ja) 画像処理装置及び画像処理方法
JP2012142864A (ja) 画像処理装置及び画像処理方法

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090807

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100426

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

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

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees