JP6207311B2 - 画像処理装置、その制御方法、および制御プログラム - Google Patents

画像処理装置、その制御方法、および制御プログラム Download PDF

Info

Publication number
JP6207311B2
JP6207311B2 JP2013189326A JP2013189326A JP6207311B2 JP 6207311 B2 JP6207311 B2 JP 6207311B2 JP 2013189326 A JP2013189326 A JP 2013189326A JP 2013189326 A JP2013189326 A JP 2013189326A JP 6207311 B2 JP6207311 B2 JP 6207311B2
Authority
JP
Japan
Prior art keywords
image
motion vector
block
target
target block
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.)
Active
Application number
JP2013189326A
Other languages
English (en)
Other versions
JP2015056043A (ja
JP2015056043A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2013189326A priority Critical patent/JP6207311B2/ja
Publication of JP2015056043A publication Critical patent/JP2015056043A/ja
Publication of JP2015056043A5 publication Critical patent/JP2015056043A5/ja
Application granted granted Critical
Publication of JP6207311B2 publication Critical patent/JP6207311B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、画像処理装置、その制御方法、および制御プログラムに関し、特に、画像処理装置の1つである撮像装置の動きに起因して生じる被写体像のずれを補正する手法に関する。
一般に、画像処理装置の1つとしてデジタルカメラなどの撮像装置が知られている。撮像装置においては、撮像の際にユーザの手ぶれなどに起因する撮像装置の動きによって被写体像がぶれてしまうことがある。このような被写体像のぶれを防止するため、撮像装置には手ぶれ補正機能が備えられている。
手ぶれ補正機能には、大きく分けて光学式手ぶれ補正機能と電子式手ぶれ補正機能とがある。そして、電子式手ぶれ補正機能では撮像の結果得られた複数の画像における被写体像のずれを画像処理によって補正している。
例えば、撮像の結果得られた2つの画像において特徴パターンのマッチング処理を行って複数の動きベクトルを検出して、これら動きベクトルに応じてずれ補正パラメータを推定し被写体像のずれを補正するようにした撮像装置がある(特許文献1参照)。さらに、ここでは、動きベクトルについて信頼性指標値を算出して、信頼性が低い動きベクトルを除外してずれ補正パラメータを推定することによって、信頼性の高いずれ補正パラメータを推定することが行われている。
特開2009−258868号公報
ところが、特許文献1に記載の手法では、信頼性が高い動きベクトルを検出することができる状況であっても、次のように信頼性が低いと判定されてしまい、結果的に動きベクトルの検出ができないことがある。
図14は、従来の撮像装置における動きベクトル検出処理の一例を説明するための図である。
図14において、ここでは、繰り返しパターン被写体に対する動きベクトルの検出が示されており、動きベクトル検出の基準となるターゲットフレーム(ターゲット画像又は目標画像ともいう)913および動きベクトルを検出する対象となる参照フレーム(参照画像)914が示されている。領域915および916の各々にはフレーム毎の繰り返しパターンが存在する。
ブロックマッチングの基準となるターゲットブロック(目標ブロック)917を用いて、参照フレームに設定されるサーチ範囲918についてブロックマッチング処理を行って差分絶対値和テーブル(SADテーブル)を生成する。これによって、例えば、SADテーブル919が生成される。SADテーブル919において、白い部分はSAD値(つまり、相関値)が高いことを示し、黒い部分はSAD値が低いことを示している。
ターゲットブロック917は丸型の模様を含んでおり、サーチ範囲918上でその模様が繰り返されているので、SADテーブル919はサーチ範囲918上の丸型模様が存在する箇所において低いSAD値(SAD極小値)を示す。これによって、上記の特許文献1に記載の手法では、信頼性指標値が小さくなって、信頼性が低いと判定されることになる。
しかしながら、図示の例では、サーチ範囲918上に丸型模様ではない数字の模様が存在する。このため、近傍に動きベクトル検出に有効な模様があるにも拘わらず、動きベクトルが破棄される結果、動きベクトル検出が行われないことになってしまう。
図15は、従来の撮像装置における動きベクトル検出処理の他の例を説明するための図である。
図15において、ここでは、線状の被写体に対する動きベクトルの検出が示されており、動きベクトル検出の基準となるターゲットフレーム(ターゲット画像)901および動きベクトルを検出する対象である参照フレーム(参照画像)902が示されている。ブロックマッチングの基準となるターゲットブロック903を用いて、参照フレームに設定されるサーチ範囲904についてブロックマッチング処理を行って差分絶対値和テーブル(SADテーブル)を生成する。
図16は、図15に示す手法で生成されたSADテーブルを示す図である。また、図17は図16に示すSADテーブルを3次元的に表現したSADテーブルを示す図である。
ターゲットブロック903は線状の模様であるので、参照フレーム902上のサーチ範囲904において同様の模様が線状の被写体に沿って数多く検出されることになる。このため、サーチ範囲904において対応するブロックを特定することができず、結果的に、正しく動きベクトルを検出することができない。
つまり、SADテーブルにおいては、図17に示すように、SAD値が低い部分(相関が高い部分)が溝状に現れる。このため、これら溝のいずれの位置が正しい対応ブロックの位置か特定できず、正しく動きベクトルを検出することができないことになる。
上述のような状況においても、SADテーブルに溝状の相関値分布があるか否かを判定することによって、動きベクトルの信頼性を判定することができる。そして、動きベクトルの信頼性が判定できれば、信頼性が低い動きベクトルを除外してずれ補正パラメータを推定して、信頼性の高いずれ補正パラメータを得ることができる。
図18は、従来の撮像装置における動きベクトル検出処理のさらに他の例を説明するための図である。
図18において、ここでは、ターゲットブロック903の右隣のターゲットブロック910に係る動きベクトルの検出が示されており、ここでも、同様の理由によって検出される動きベクトルの信頼性が低くなる。そして、サーチ範囲911上に線分の途切れが存在し、近傍に動きベクトル検出に有効な模様があるにも拘わらず、動きベクトルが破棄される結果、動きベクトル検出が行われないことになってしまう。
そこで、本発明の目的は、動きベクトルの信頼性が低い場合においてもずれ補正パラメータの精度を向上させることができる画像処理装置、その制御方法、および制御プログラムを提供することである。
上記の目的を達成するため、本発明による画像処理装置は、第1の画像と第2の画像との間の動きベクトルを求める画像処理装置であって、前記第1の画像における第1のターゲットブロックと前記第1のターゲットブロックに対応する前記第2の画像における参照ブロックを比較し、特徴パターンが存在する参照ブロックを判定する判定手段と、前記判定手段によって前記特徴パターンが存在すると判定された前記参照ブロックを第2のターゲットブロックとし、前記第1の画像において前記第2のターゲットブロックに対応する参照ブロックを設定して、前記第2のターゲットブロックと前記第1の画像における参照ブロックとの相関値を求めて動きベクトルを検出する動きベクトル検出手段と、を有することを特徴とする。
本発明による制御方法は、第1の画像と第2の画像との間の動きベクトルを求める画像処理装置の制御方法であって、前記第1の画像における第1のターゲットブロックと前記第1のターゲットブロックに対応する前記第2の画像における参照ブロックを比較し、特徴パターンが存在する参照ブロックを判定する判定ステップと、前記判定ステップで前記特徴パターンが存在すると判定された前記参照ブロックを第2のターゲットブロックとし、前記第1の画像において前記第2のターゲットブロックに対応する参照ブロックを設定して、前記第2のターゲットブロックと前記第1の画像における参照ブロックとの相関値を求めて動きベクトルを検出する動きベクトル検出ステップと、を有することを特徴とする。
本発明による制御プログラムは、第1の画像と第2の画像との間の動きベクトルを求める画像処理装置で用いられる制御プログラムであって、前記画像処理装置が備えるコンピュータに、前記第1の画像における第1のターゲットブロックと前記第1のターゲットブロックに対応する前記第2の画像における参照ブロックを比較し、特徴パターンが存在する参照ブロックを判定する判定ステップと、前記判定ステップで前記特徴パターンが存在すると判定された前記参照ブロックを第2のターゲットブロックとし、前記第1の画像において前記第2のターゲットブロックに対応する参照ブロックを設定して、前記第2のターゲットブロックと前記第1の画像における参照ブロックとの相関値を求めて動きベクトルを検出する動きベクトル検出ステップと、を実行させることを特徴とする。
本発明によれば、特徴パターンが存在すると判定された参照ブロックを第2のターゲットブロックとし、第1の画像において第2のターゲットブロックに対応する参照ブロックを設定して、第2のターゲットブロックと第1の画像における参照ブロックとの相関値を求めて動きベクトルを検出するようにしたので、動きベクトルの信頼性が低い場合には、信頼性の高い動きベクトルが再検出されることが可能となって、ずれ補正パラメータの精度を向上させることできる。
本発明の第1の実施形態による画像処理装置を備える撮像装置の一例を示すブロック図である。 図1に示す画像処理部107の構成についてその一例を示すブロック図である。 図2に示す信頼性判定部の動作を説明するためのフローチャートである。 図2に示す信頼性判定部で生成されるSADテーブルの一例を示す図である。 図1に示すカメラにおいてX方向のずれ量に対する評価値をプロットした図である。 図5において第1の閾値以上で第2の閾値未満である評価値の頻度をX方向のずれ量毎にプロットした図である。 図18に示すSADテーブルによるX方向のずれ量に対する評価値をプロットした図である。 図7において第1の閾値以上で第2の閾値未満である評価値の頻度をX方向のずれ量毎にプロットした図である。 図18に示すターゲットブロックに対する動きベクトルの再検出処理を説明するための図である。 本発明の第2の実施形態による画像処理装置を備えるカメラにおいて信頼性判定部の動作を説明するためのフローチャートである。 本発明の第2の実施形態による画像処理装置を備えるカメラにおいてSADテーブルによるX方向のずれ量に対する評価値をプロットした図である。 図11において第1の極小値から評価閾値までの範囲に存在する極小値の頻度をX方向のずれ量毎にプロットした図である。 本発明の第2の実施形態による画像処理装置を備えるカメラにおける動きベクトルの再検出処理を説明するための図である。 従来の撮像装置における動きベクトル検出処理の一例を説明するための図である。 従来の撮像装置における動きベクトル検出処理の他の例を説明するための図である。 図15に示す手法で生成されたSADテーブルを示す図である。 図16に示すSADテーブルを3次元的に表現したSADテーブルを示す図である。 従来の撮像装置における動きベクトル検出処理のさらに他の例を説明するための図である。
以下、本発明の実施の形態による画像処理装置の一例について図面を参照して説明する。
なお、ここでは、本発明の実施の形態による画像処理装置をデジタルカメラなどの撮像装置に備えて、撮像装置による撮像の結果得られた画像において被写体像のずれを補正する場合について説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態による画像処理装置を備える撮像装置の一例を示すブロック図である。
図示の撮像装置は、例えば、デジタルカメラ(以下単にカメラと呼ぶ)であり、制御部101を有している。制御部101は、例えば、CPUであり、R0M102から動作プログラムを読み出して、当該動作プログラムをRAM103に展開して実行することによってカメラ100全体の制御を行う。
ROM102は、書き換え可能な不揮発性メモリであって、前述の動作プログラムに加えて、カメラの動作に必要なパラメータなどが記憶されている。RAM103は、書き換え可能な揮発性メモリであって、カメラ100の動作において出力された各種データの一時的な記憶領域として用いられる。ここでは、RAM103には、カメラ100の動きに起因して生じる画像(参照画像という)における被写体像のずれを検出するために必要となるターゲット画像および補正前の参照画像などが一時的に記憶される。
撮像部105は、例えば、CCD又はCMOSセンサなどの撮像素子を備えている。撮像部105は、光電変換によって光学系104を介して撮像素子に結像した光学像に応じたアナログ画像信号をA/D変換部106に出力する。A/D変換部106は、アナログ画像信号に対してA/D変換処理を行ってデジタル画像信号(画像データ)を得て、当該画像データをRAM103に記憶する。
図示のカメラ100では、画像処理部107が撮像の結果得られた画像データについて各種の画像処理を行う。例えば、画像処理部107はカメラ100の動きに起因して生じた被写体像のずれを補正する補正処理を行う。
図2は、図1に示す画像処理部107の構成についてその一例を示すブロック図である。
図示の画像処理部107には、被写体像のずれを検出する対象である参照画像(第2の画像)が入力されるとともに、補正際の基準となるターゲット画像(第1の画像)が入力される。なお、ターゲット画像および参照画像は、制御部101によってRAM103から読み出されて画像処理部107に与えられるものとする。
画像処理部107は動きベクトル検出部202を有しており、動きベクトル検出部202は、ターゲット画像におけるターゲットブロック(ここでは、第1のターゲットブロック)毎に、参照画像における参照ブロック(ここでは、第1の参照ブロック)毎に被写体像の動きベクトルを検出する。例えば、動きベクトル検出部202はターゲット画像と参照画像との近傍の領域において被写体像を比較する。ここでは、動きベクトル検出部202は所謂ブロックマッチング手法を用いて、ターゲット画像と参照画像との間における同一のパターンの移動に応じて動きベクトルを検出する。
信頼性判定部201は、動きベクトル検出部202で検出された各ブロックの動きベクトルが線状又は線形状の被写体(線形状の部分)において検出されたか否かを判定する。動きベクトルが線状の被写体において検出されたものでないと、信頼性判定部201は当該動きベクトルをそのまま出力する。一方、動きベクトルが線状の被写体で検出されたものであると、信頼性判定部201はその周辺において動きベクトル検出に有効な模様があれば動きベクトルの再検出を行い、有効な縞模様がなければ当該動きベクトルを排除する。
前述の図15を参照すると、ここでは、ターゲット画像901は、6×6=36個のターゲットブロック901aが存在する。動きベクトル検出部202はターゲットブロック901aの各々に対応する36個の動きベクトルを検出する。
図15において右半分に位置する18個のターゲットブロック901aについては線状の被写体が存在しないので、信頼性判定部201は動きベクトル検出部202によって検出された動きベクトルをそのまま出力することになる。一方、左半分に位置する18個のターゲットブロック901aについては線状の被写体が存在するので、信頼性判定部201は動きベクトルの再検出を行うか又は当該動きベクトルを排除される。
図15に示す例では、左から3列目の6個のターゲットブロック901aについては対応するサーチ範囲904に線分の途切れが存在するので、信頼性判定部201は動きベクトルの再検出を行うが、それ以外の12個のターゲットブロック901aについては動きベクトルを排除する。
アフィン係数算出部203は、ターゲット画像が有する複数のターゲットブロックの各々の動きベクトルを用いて、各領域(ブロック)の補正に用いる座標変換係数であるアフィン係数を算出する(座標変換係数算出)。なお、アフィン係数算出手法については、例えば、前出の特許文献1に記載の手法が用いられる。そして、アフィン変換部207はアフィン係数を用いて参照画像の位置ずれを補正して、補正後の参照画像を出力する。
図3は、図2に示す信頼性判定部201の動作(信頼性判定)を説明するためのフローチャートである。動きベクトル検出部202からのブロック毎の動きベクトルに基づいて信頼性判定部201によって以下の処理が行われる。
信頼性判定を開始すると、信頼性判定部201は、まず列方向について、後述する1次元線判定を行い(ステップS101)、続いて、行方向について、後述する1次元線判定を行う(ステップS102)。そして、信頼性判定部201は列方向および行方向ともに線(線分)でないか否かを判定する(ステップS103)。
列方向および行方向ともに線でないと判定すると(ステップS103において、YES)、信頼性判定部201は動きベクトルを更新せずに(ステップS104)、信頼性判定を修了する。一方、列方向および行方向の少なくとも一方が線であると判定すると(ステップS103において、NO)、信頼性判定部201は列方向が途切れ線で、かつ行方向が線ではないか否かを判定する(ステップS105)。
列方向が途切れ線で、かつ行方向が線ではないと判定すると(ステップS105において、YES)、信頼性判定部201は列方向のターゲットブロックを再設定して動きベクトルを再検出する(ステップS106)。そして、信頼性判定部201は信頼性判定を終了する。列方向が途切れ線でないことおよび行方向が線であることの少なくとも一方が満たされると判定すると(ステップS105において、NO)、信頼性判定部201は列方向が線ではなく、かつ行方向が途切れ線であるか否かを判定する(ステップS107)。
列方向が線ではなく、かつ行方向が途切れ線であると判定すると(ステップS107において、YES)、信頼性判定部201は行方向のターゲットブロックを再設定して動きベクトルを再検出する(ステップS108)。そして、信頼性判定部201は信頼性判定を終了する。一方、列方向が線であることおよび行方向が途切れ線でないことの少なくとも一方が満たされると判定すると(ステップS107において、YES)、信頼性判定部201は動きベクトルを排除する(ステップS109)。そして、信頼性判定部201は信頼性判定を終了する。
ここで、図3で説明したステップS101における列方向の1次元線判定について説明する。
図4は、図2に示す信頼性判定部201で生成されるSADテーブルの一例を示す図である。
図4に示すSADテーブル(つまり、第1の相関値マップ)は図16に示すSADテーブルと同等のテーブルであり、列におけるSAD(つまり、相関値)最小値が黒塗りで示されている。例えば、X方向のずれ量が”−10”である列のSAD最小値は、Y方向のずれ量が”0”の行の”15”である。また、X方向のずれ量が”3”である列のSAD最小値は、Y方向のずれ量が”3”の行の”2”である。
さらに、ここでは、列のSAD最小値を列のSAD平均値で正規化して、その値を評価値とする。例えば、X方向のずれ量が”−10”である列のSAD平均値は”88”であるので、その評価値は15/88=0.17となる。また、X方向のずれ量が”3”の列のSAD平均値は”89”であるので、その評価値は2/89=0.02となる。
図5は、図1に示すカメラにおいてX方向のずれ量に対する評価値をプロットした図である。
前述のようにして、各列についてSAD最小値を正規化すると、図5に示すように列毎の評価値が得られる。なお、ここでは、正規化、つまり、評価値を得る際、列毎にSAD最小値をSAD平均値で除算して評価値を得るようにしたが、他の手法によって評価値を得るようにしてもよい。例えば、列毎のSAD値の積算値、最大値、又は最大値と最小値の差分値などでSAD最小値を除算して評価値を求めるようにしてもよい。さらには、X方向の各ずれ量に対応する列毎のSAD最小値の平均値、積算値、最大値、又は最大値と最小値の差分値などでSAD最小値を除算して評価値を求めるようにしてもよい。
図2に示す信頼性判定部201は、列方向の1次元線判定において第1の閾値以上で第2の閾値未満である評価値の割合が第3の閾値以上であると、SADテーブルが溝状であるとして線と判定する。いま、第1の閾値を”0”、第2の閾値を”0.3”、そして、第3閾値を”0.5”とする。図5に示す例において、第1の閾値以上でかつ第2閾値未満である評価値の数は”21”であり、その割合は21/21=1となる。そして、当該割合は第3の閾値以上であるので、信頼性判定部201は線として判定することになる。線と判定した場合には、信頼性判定部201は当該線が途切れ線であるか又は完全線であるか否かを判定する。
図6は、図5において第1の閾値以上で第2の閾値未満である評価値の頻度をX方向のずれ量毎にプロットした図である。
図6においては、溝がX方向のずれ量の全域に渡り分布しているので(つまり、分布密度が高い)、信頼性判定部201は上記の線が完全線であって途切れ線ではないと判定する。
図18に示すSADテーブル912についいても、図16に示すSADテーブルと同様にして列方向の1次元線判定が行われる。
図7は、図18に示すSADテーブル912によるX方向のずれ量に対する評価値をプロットした図である。
図7に示す例において、第1の閾値以上でかつ第2閾値未満である評価値の数は”14”であり、その割合は14/21=約0.67となる。そして、当該割合は第3の閾値(ここでは、0.5)以上であるので、信頼性判定部201は線として判定することになる。線と判定した場合には、信頼性判定部201は当該線が途切れ線であるか又は完全線であるか否かを判定する。
図8は、図7において第1の閾値以上で第2の閾値未満である評価値の頻度をX方向のずれ量毎にプロットした図である。
図8においては、溝の分布はX方向のずれ量=3で途切れているので、信頼性判定部201は上記の線が途切れ線であると判定する。また、対応するY方向のずれ量は、図7から”3”となる。よって、信頼性判定部201は当該線の途切れ位置(X,Y)=(3,3)を列ターゲットブロックのずらし量とする。
なお、列方向の1次元線判定ではX方向ずれ量に対して評価値を求めるが、行方向の1次元線判定においてY方向ずれ量に対する評価値を求めることになる。行方向における処理は列方向と同様である。
ところで、図15に示すターゲットブロック903については、信頼性判定部201は列が完全線、そして、行は線ではないと判定するので、前述の図3に示すフローチャートで説明したように、ステップS109において動きベクトルは除外されることになる。
一方、図18に示すターゲットブロック910については、信頼性判定部201は列が途切れ線、そして、行は線ではないと判定するので、前述の図3に示すフローチャートで説明したように、ステップS106において動きベクトルが再検出されることになる。
図9は、図18に示すターゲットブロック910に対する動きベクトルの再検出処理を説明するための図である。
動きベクトルの再検出を行う際には、参照画像902(ここでは、第2の画像)上に新たに列ターゲットブロック301(ここでは、第2のターゲットブロック)が再設定され、さらに、ターゲット画像901(ここでは、第1の画像)上に列サーチ範囲302が再設定される。この際、列ターゲットブロック301はターゲット画像901上に列ターゲットブロックずらし量(3,3)だけずらされて再設定される。列サーチ範囲302は、参照画像901上に同一のずらし量だけずらされて再設定される。
ここで、参照ブロック303は列ターゲットブロック301に対して最小SAD値となるブロックであり、SADテーブル304は参照ブロック303に対応するSADテーブルである。そして、ここでは、図示のように動きベクトル305が再検出されることになる。
なお、他のターゲットブロックについては動きベクトルの起点がターゲット画像901上にある。このため、再検出動きベクトル305の起点もターゲット画像901上になるように、動きベクトル(第1の動きベクトル又は第2の動きベクトル)の起点はターゲット画像901上の参照ブロック303の中心とされる。
上述のようにして、補正された参照画像は画像処理部107から出力されて、補正後の参照画像として記録媒体108に記録される。記録媒体108は、例えば、カメラ100に備えられた内部メモリ又はカメラ100に着脱可能に装着されるメモリカード又はHDDなどの記録装置である。
なお、撮像の結果得られた画像において被写体像のずれを補正しない場合には、画像処理部107はA/D変換部106から出力された画像データに対して、所定の変換処理および符号化処理を行って、記録媒体108に記録する。
このように、本発明の第1の実施形態では、ターゲット画像および参照画像のうち参照画像を撮像した際のカメラ100の動きに起因して生じるターゲット画像に対する参照画像のずれを補正することができる。
ここでは、画像処理部107はブロックマッチングで検出された動きベクトルが線状の被写体であるか否かを判定して、線状の被写体のでないと検出された動きベクトルをそのまま用いる。一方、線状の被写体であると、画像処理部107は動きベクトルの再検出を行う。そして、画像処理部107は信頼性の高い動きベクトルが得られない場合には動きベクトルを排除する。
この結果、線状の被写体において動きベクトルが検出された際に動きベクトルの信頼性が低い場合においても信頼性の高い動きベクトルが再検出される可能性が高くなって、ずれ補正パラメータの精度を向上させることができる。
[第2の実施形態]
続いて、本発明の第2の実施形態による画像処理装置を備えるカメラの一例について説明する。
なお、第2の実施形態に係るカメラの構成は図1に示すカメラと同様である。また、画像処理部の構成は図2に示す画像処理部の構成と同様であるが、信頼性判定部210の機能が異なる。
図10は、本発明の第2の実施形態による画像処理装置を備えるカメラにおいて信頼性判定部の動作を説明するためのフローチャートである。
信頼性判定を開始すると、信頼性判定部201は、まず列方向について、後述する1次元繰り返し判定を行い(ステップS201)、続いて、行方向について、後述する1次元繰り返し判定を行う(ステップS202)。そして、信頼性判定部201は列方向および行方向ともに繰り返しパターン(つまり、特徴点を備える特徴パターン)でないか否かを判定する(ステップS203)。
列方向および行方向ともに繰り返しパターンでないと判定すると(ステップS203において、YES)、信頼性判定部201は動きベクトルを更新せずに(ステップS204)、信頼性判定を修了する。一方、列方向および行方向の少なくとも一方が繰り返しパターンであると判定すると(ステップS203において、NO)、信頼性判定部201は列方向が繰り返しパターンで途切れがあるか否かを判定する(ステップS205)。
列方向が繰り返しパターンでかつ途切れがあると判定すると(ステップS205において、YES)、信頼性判定部201は列方向のターゲットブロックを再設定して動きベクトルを再検出する(ステップS206)。そして、信頼性判定部201は行方向が繰り返しパターンで途切れがあるか否かを判定する(ステップS207)。
なお、列方向が繰り返しパターンでないことおよび途切れがないことの少なくとも1つが満たされると判定すると(ステップS205において、NO)、信頼性判定部201はステップS207の処理に進む。
行方向が繰り返しパターンでかつ途切れがあると判定すると(ステップS207において、YES)、信頼性判定部201は列方向のターゲットブロックを再設定して動きベクトルを再検出する(ステップS208)。そして、信頼性判定部201は動きベクトルが検出されたか否かを判定する(ステップS209)。
なお、行方向が繰り返しパターンでないことおよび途切れがないことの少なくとも1つが満たされると判定すると(ステップS207において、NO)、信頼性判定部201はステップS209の処理に進む。
動きベクトルが検出されないと(ステップS209において、NO)、信頼性判定部201は動きベクトルを排除して(ステップS210)、信頼性判定を終了する。一方、動きベクトルが検出されると(ステップS209において、YES)、信頼性判定部201は信頼性判定を終了する。
ここで、図10で説明したステップS201における列方向の1次元繰り返し判定について説明する。
図11は、本発明の第2の実施形態による画像処理装置を備えるカメラにおいてSADテーブルによるX方向のずれ量に対する評価値をプロットした図である。
ここでは、列方向の1次元線判定と同様にして、SADテーブルの各列についてSAD最小値が検出される。なお、評価値は列毎のSAD最小値とする。図11は、図14に示すSADテーブル919に対するX方向ずれ量に対する評価値がプロットされている。
列方向の1次元繰り返し判定においては、評価値の第1の極小値(最も小さい極小値)から評価値閾値までの範囲に他の極小値が存在すると、信頼性判定部201は繰り返しパターンである判定する。図11に示す例では、第1の極小値から評価値閾値までの範囲に他の極小値が存在するので、信頼性判定部201は繰り返しパターンであると判定する。そして、繰り返しパターンと判定すると、信頼性判定部201は、前述のように、途切れ繰り返しパターンであるか又は完全繰り返しパターンであるかを判定する。
図12は、図11において第1の極小値から評価閾値までの範囲に存在する極小値の頻度をX方向のずれ量毎にプロットした図である。
図11に示すように、極小値は評価値周期毎に出現するので、X方向のずれ量も評価値周期毎に出現する。図12に示すように、繰り返しパターンの分布がX方向ずれ量=3で途切れているので、信頼性判定部201は当該繰り返しパターンを途切れ繰り返しパターンと判定する。そして、信頼性判定部201は当該途切れ位置(X,Y)=(3,0)を列ターゲットブロックのずらし量とする。
なお、列方向の1次元繰り返し判定ではX方向ずれ量に対して評価値を求めるが、行方向の1次元繰り返し判定においてY方向ずれ量に対する評価値を求めることになる。そして、行方向における処理は列方向と同様である。
上述のようにして列方向および行方向の1次元繰り返しパターン判定を行うと、例えば、図14に示すターゲットブロック917について、列方向は途切れ繰り返しパターンであって、行方向は完全繰り返しパターンと判定される。この結果、図10に示すフローチャートで説明したように、信頼性判定部201はステップS206において動きベクトルを再検出することになる。
図13は、本発明の第2の実施形態による画像処理装置を備えるカメラにおける動きベクトルの再検出処理を説明するための図である。
図13においては、図14に示すターゲットブロック917に対する動きベクトルの再検出処理が示されており、動きベクトルの再検出を行う際には、参照画像914上に新たに列ターゲットブロック401が再設定され、さらに、ターゲット画像913上に列サーチ範囲402が再設定される。この際、列ターゲットブロック401はターゲット画像913上に列ターゲットブロックずらし量(3,0)だけずらされて再設定される。列サーチ範囲402は、参照画像913上に同一のずらし量だけずらされて再設定される。
ここで、参照ブロック403は列ターゲットブロック401に対して最小SAD値となるブロックであり、SADテーブル404は参照ブロック403に対応するSADテーブルである。そして、ここでは、図示のように動きベクトル405が再検出されることになる。
なお、他のターゲットブロックについては動きベクトルの起点がターゲット画像913上にある。このため、再検出動きベクトル405の起点もターゲット画像913上になるように、動きベクトルの起点はターゲット画像913上の参照ブロック403の中心とされる。
上述のようにして、補正された参照画像は画像処理部107から出力されて、補正後の参照画像として記録媒体108に記録される。なお、第1の実施形態と同様に、撮像の結果得られた画像において被写体像のずれを補正しない場合には、画像処理部107はA/D変換部106から出力された画像データに対して、所定の変換処理および符号化処理を行って、記録媒体108に記録する。
このように、本発明の第2の実施形態においても、ターゲット画像および参照画像のうち参照画像を撮像した際のカメラ100の動きに起因して生じるターゲット画像に対する参照画像のずれを補正することができる。
ここでは、画像処理部107はブロックマッチングで検出された動きベクトルが繰り返しパターンであるか否かを判定して、繰り返しパターンでないと検出された動きベクトルをそのまま用いる。一方、繰り返しパターンであると、画像処理部107は動きベクトルの再検出を行う。そして、画像処理部107は信頼性の高い動きベクトルが得られない場合には動きベクトルを排除する。
この結果、繰り返しパターンにおいて動きベクトルが検出された際に動きベクトルの信頼性が低い場合においても信頼性の高い動きベクトルが再検出される可能性が高くなって、ずれ補正パラメータの精度を向上させることができる。
上述の説明から明らかなように、図2に示す例においては、動きベクトル検出部202および信頼性判定部201が判定手段および動きベクトル検出手段として機能する。なお、図1に示す例においては、少なくとも制御部101および画像処理部107が画像処理装置を構成する。
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
例えば、上記の実施の形態の機能を制御方法として、この制御方法を画像処理装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムを画像処理装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
上記の制御方法および制御プログラムの各々は、少なくとも判定ステップおよび動きベクトル検出ステップを有している。
また、本発明は、以下の処理を実行することによっても実現される。つまり、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種の記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPUなど)がプログラムを読み出して実行する処理である。
101 制御部
104 光学系
105 撮像部
106 A/D変換部
107 画像処理部
108 記録媒体
201 信頼性判定部
202 動きベクトル検出部
203 アフィン係数算出部
207 アフィン変換部

Claims (8)

  1. 第1の画像と第2の画像との間の動きベクトルを求める画像処理装置であって、
    前記第1の画像における第1のターゲットブロックと前記第1のターゲットブロックに対応する前記第2の画像における参照ブロックを比較し、特徴パターンが存在する参照ブロックを判定する判定手段と、
    前記判定手段によって前記特徴パターンが存在すると判定された前記参照ブロックを第2のターゲットブロックとし、前記第1の画像において前記第2のターゲットブロックに対応する参照ブロックを設定して、前記第2のターゲットブロックと前記第1の画像における参照ブロックとの相関値を求めて動きベクトルを検出する動きベクトル検出手段と、
    を有することを特徴とする画像処理装置。
  2. 前記判定手段は、前記第1のターゲットブロックと前記第2の画像における参照ブロックとの相関値を表す第1の相関値マップを生成して、当該第1の相関値マップに応じて前記特徴パターンを備える前記参照ブロックが存在する否かを判定することを特徴とする請求項1に記載の画像処理装置。
  3. 前記判定手段は、前記第1の相関値マップが線形状であり、かつ当該線が途切れていると、前記特徴パターンを備える前記参照ブロックが存在すると判定して、前記線の途切れ部分に位置する前記参照ブロックを前記第2のターゲットブロックとして設定することを特徴とする請求項2に記載の画像処理装置。
  4. 前記判定手段は、前記第1の相関値マップが複数の極小値を有し、かつ当該極小値の分布密度が予め定められた閾値よりも低い領域が存在すると、前記特徴パターンを備える前記参照ブロックが存在すると判定して、前記極小値の分布密度が予め定められた閾値よりも低い領域に位置する前記参照ブロックを前記第2のターゲットブロックとして設定することを特徴とする請求項2に記載の画像処理装置。
  5. 複数の前記第1のターゲットブロックが存在する際、前記動きベクトル検出手段は、前記第1のターゲットブロックの各々について、前記第1のターゲットブロックに対応する第1の動きベクトル又は前記第2のターゲットブロックに対応する第2の動きベクトルを検出して、前記第1の動きベクトル又は前記第2の動きベクトルを検出する際、前記第1の動きベクトルおよび前記第2の動きベクトルの起点を同一の画像に位置づけることを特徴とする請求項1〜請求項4のいずれか1項に記載の画像処理装置。
  6. 前記動きベクトル検出手段は、前記第2のターゲットブロックと前記第1の画像における参照ブロックとの相関値を求めて当該相関値に基づいて検出した動きベクトルを、前記第1のターゲットブロックに対応する動きベクトルとすることを特徴とする請求項1〜請求項5のいずれか1項に記載の画像処理装置。
  7. 第1の画像と第2の画像との間の動きベクトルを求める画像処理装置の制御方法であって、
    前記第1の画像における第1のターゲットブロックと前記第1のターゲットブロックに対応する前記第2の画像における参照ブロックを比較し、特徴パターンが存在する参照ブロックを判定する判定ステップと、
    前記判定ステップで前記特徴パターンが存在すると判定された前記参照ブロックを第2のターゲットブロックとし、前記第1の画像において前記第2のターゲットブロックに対応する参照ブロックを設定して、前記第2のターゲットブロックと前記第1の画像における参照ブロックとの相関値を求めて動きベクトルを検出する動きベクトル検出ステップと、
    を有することを特徴とする制御方法。
  8. 第1の画像と第2の画像との間の動きベクトルを求める画像処理装置で用いられる制御プログラムであって、
    前記画像処理装置が備えるコンピュータに、
    前記第1の画像における第1のターゲットブロックと前記第1のターゲットブロックに対応する前記第2の画像における参照ブロックを比較し、特徴パターンが存在する参照ブロックを判定する判定ステップと、
    前記判定ステップで前記特徴パターンが存在すると判定された前記参照ブロックを第2のターゲットブロックとし、前記第1の画像において前記第2のターゲットブロックに対応する参照ブロックを設定して、前記第2のターゲットブロックと前記第1の画像における参照ブロックとの相関値を求めて動きベクトルを検出する動きベクトル検出ステップと、
    を実行させることを特徴とする制御プログラム。
JP2013189326A 2013-09-12 2013-09-12 画像処理装置、その制御方法、および制御プログラム Active JP6207311B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013189326A JP6207311B2 (ja) 2013-09-12 2013-09-12 画像処理装置、その制御方法、および制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013189326A JP6207311B2 (ja) 2013-09-12 2013-09-12 画像処理装置、その制御方法、および制御プログラム

Publications (3)

Publication Number Publication Date
JP2015056043A JP2015056043A (ja) 2015-03-23
JP2015056043A5 JP2015056043A5 (ja) 2016-10-27
JP6207311B2 true JP6207311B2 (ja) 2017-10-04

Family

ID=52820401

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013189326A Active JP6207311B2 (ja) 2013-09-12 2013-09-12 画像処理装置、その制御方法、および制御プログラム

Country Status (1)

Country Link
JP (1) JP6207311B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10638152B2 (en) 2016-03-15 2020-04-28 Mediatek Inc. Method and apparatus of video coding with affine motion compensation
WO2017156705A1 (en) * 2016-03-15 2017-09-21 Mediatek Inc. Affine prediction for video coding
CN116051390B (zh) * 2022-08-15 2024-04-09 荣耀终端有限公司 运动模糊程度检测方法和设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223722A (ja) * 2008-03-18 2009-10-01 Sony Corp 画像信号処理装置、画像信号処理方法、およびプログラム
JP5284048B2 (ja) * 2008-11-12 2013-09-11 キヤノン株式会社 画像処理装置、撮像装置及び画像処理方法
JP5803500B2 (ja) * 2011-09-27 2015-11-04 株式会社Jvcケンウッド 動きベクトル検出装置及び方法

Also Published As

Publication number Publication date
JP2015056043A (ja) 2015-03-23

Similar Documents

Publication Publication Date Title
JP6395506B2 (ja) 画像処理装置および方法、プログラム、並びに撮像装置
US8289402B2 (en) Image processing apparatus, image pickup apparatus and image processing method including image stabilization
US9418291B2 (en) Information processing apparatus, information processing method, and computer-readable storage medium
US20150139534A1 (en) Image processing apparatus, imaging apparatus and distance correction method
JP2004234423A (ja) ステレオ画像処理方法およびステレオ画像処理装置、並びにステレオ画像処理プログラム
JP2010117593A (ja) 距離情報取得装置、撮像装置、及びプログラム
US9689668B2 (en) Image processing apparatus and image processing method
JP6207311B2 (ja) 画像処理装置、その制御方法、および制御プログラム
US8970674B2 (en) Three-dimensional measurement apparatus, three-dimensional measurement method and storage medium
US20100027661A1 (en) Image Processing Method, Image Processing Program, Image Processing Device, and Imaging Device
JP6091172B2 (ja) 特徴点検出装置およびプログラム
JP5968379B2 (ja) 画像処理装置およびその制御方法
JP2019067358A (ja) 推定プログラム、推定方法および推定システム
JP5173549B2 (ja) 画像処理装置及び撮像装置
JP6395429B2 (ja) 画像処理装置、その制御方法及び記憶媒体
JP4107273B2 (ja) 移動体検出装置
JP6378496B2 (ja) 画像処理装置、制御方法及び記録媒体
JP6074198B2 (ja) 画像処理装置及び画像処理方法
JP5470529B2 (ja) 動き検出装置、動き検出方法及び動き検出プログラム
JP2012068842A (ja) 動きベクトル検出装置、動きベクトル検出方法、および、動きベクトル検出プログラム
JP2011171991A (ja) 画像処理装置、電子機器、画像処理方法、および、画像処理プログラム
JP2010079815A (ja) 画像補正装置
JP2018072942A (ja) 画像処理装置、画像処理方法、プログラム、記憶媒体
JP6624841B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2016076838A (ja) 画像処理装置及び画像処理装置の制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160909

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170731

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170905

R151 Written notification of patent or utility model registration

Ref document number: 6207311

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151