JP2009239515A - 画像処理装置、画像処理方法、及び画像処理プログラム - Google Patents
画像処理装置、画像処理方法、及び画像処理プログラム Download PDFInfo
- Publication number
- JP2009239515A JP2009239515A JP2008081525A JP2008081525A JP2009239515A JP 2009239515 A JP2009239515 A JP 2009239515A JP 2008081525 A JP2008081525 A JP 2008081525A JP 2008081525 A JP2008081525 A JP 2008081525A JP 2009239515 A JP2009239515 A JP 2009239515A
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- reliability
- appearance frequency
- variation
- maximum
- 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.)
- Withdrawn
Links
Landscapes
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
【課題】動きベクトルの信頼性が高い領域が少ない場合でも、適切なブレ補正する。
【解決手段】画像処理装置は、複数の動きベクトル測定領域に対して測定した動きベクトルの信頼度を算出する動きベクトル信頼度算出部(105)と、高信頼度領域における動きベクトルの出現頻度値を動きベクトル毎に算出する頻度値算出部(106a)と、算出された出現頻度値のうち、最大の出現頻度値を選択する最大頻度値選択部(106b)と、前記最大の出現頻度値が第一の閾値(β)以上の場合に、前記最大の出現頻度値に対応する動きベクトルを前記画像間の動きベクトルとして算出する画像間動きベクトル算出部(111、S2)と、前記高信頼度領域の位置のばらつきの度合を算出するばらつき判定部(108)と、前記ばらつきの度合が所定の度合より大きい場合に前記第一の閾値(β)を変更する閾値制御部(110)と、を備える。
【選択図】図1
【解決手段】画像処理装置は、複数の動きベクトル測定領域に対して測定した動きベクトルの信頼度を算出する動きベクトル信頼度算出部(105)と、高信頼度領域における動きベクトルの出現頻度値を動きベクトル毎に算出する頻度値算出部(106a)と、算出された出現頻度値のうち、最大の出現頻度値を選択する最大頻度値選択部(106b)と、前記最大の出現頻度値が第一の閾値(β)以上の場合に、前記最大の出現頻度値に対応する動きベクトルを前記画像間の動きベクトルとして算出する画像間動きベクトル算出部(111、S2)と、前記高信頼度領域の位置のばらつきの度合を算出するばらつき判定部(108)と、前記ばらつきの度合が所定の度合より大きい場合に前記第一の閾値(β)を変更する閾値制御部(110)と、を備える。
【選択図】図1
Description
複数枚の画像の位置合わせ(画像のブレの補正を含む)を行う画像処理装置、画像処理方法、及び画像処理プログラムに関する。
従来、画像のブレ補正等において画像の動きベクトルを検出する手段として、ブロックマッチング法や相関演算に基づく相関法が知られている。
ブロックマッチング法では、入力された画像信号を複数の適当な大きさのブロック(例えば8画素×8ライン)に分割し、このブロックの単位で、現在のフィールド(又はフレーム)と前のフィールドの一定範囲との画素値の差分を計算する。さらに、この差分に基づいて、現在のフィールドのあるブロックに対して相関の高い前のフィールドのブロックを探索する。そして、画面間の相対的なズレが、ブロックの動きベクトルとなる。
ブロックマッチングでの相関の高いブロックの探索方法として、画素値の差分の自乗和である誤差自乗和SSD、画素値の差分の絶対値和である誤差絶対値和SADによって相関を評価することが行われる。SSD、SADが小さいほど相関が高いと評価する。現在のフィールドのマッチングの基準ブロック領域I内の画素位置p、前のフィールドの対象とするブロック領域I'内の画素位置q(画素位置pに対応する位置)、さらに画素位置p、qの画素値をLp、Lqとすると、SSDとSADは、それぞれ以下の数式(1)、(2)で表される。
ここで、p及びqは、2次元の値を持つ量であり、I、I'は、それぞれ、現在のフィールドと前のフィールドの2次元の領域を示し、p∈Iは、座標pが領域Iに含まれていること、q∈I'は、座標qが領域I'に含まれていることを示す。
一方、相関演算に基づく相関法では、マッチングの基準ブロック領域Iおよび対象とするブロック領域I'のそれぞれに含まれる画素p∈Iおよび、q∈I'の平均値Ave(Lp)、Ave(Lq)を算出し、各ブロックに含まれる画素値とこの平均値の差分を以下の数式(3)により計算する。
続いて、正規化相互相関NCCを数式(4)により計算する。
正規化相互相関NCCの大きいブロックを相関の高いブロックと評価し、最も相関の高いブロックI'とIの間のズレを動きベクトルとする。
画像に含まれている被写体や撮影対象が静止している場合は、個々の領域での動きと画像全体の動きは一致しており、上記の相関演算を行うブロックは、現在のフィールドの任意の固定位置に配置して、その動きベクトルを算出すれば良い。
この様な任意の固定位置に配置し動きベクトルを算出し画像間におけるブレ補正などを行う技術に関して、特許文献1に開示されているような技術がある。この技術は、各領域でSADやSSDなどの評価値データを使って動きベクトルの信頼性を判定し、信頼性の高い動きベクトルをブレ補正ベクトルの候補としている。
また、このような信頼性の高い動きベクトルを補正ベクトルとして算出する際の技術として、特許文献2に開示されているような技術がある。この技術は、動画撮影用の電子ブレ補正に利用でき、複数の領域で算出した動きベクトルについて、同一方向の動きベクトルの最大頻度がある閾値以上であったら、撮影者が故意にカメラを動かした(動画撮影時のパンニング/チルティング)と判断し、ブレ補正を行わないようにするものである。
特開2005−260481号公報
特開2006−67391号公報
特許文献1によれば、撮影画像内において評価値演算ブロックが、平坦でコントラストが低い場合や繰り返しの模様などの場合は、評価値データから信頼性を判定するとそのブロックの動きベクトルは信頼性が低いと判定される。空や壁のようなコントラストの低い部分の面積が多い画像などでは、そもそも信頼性判定で各ブロックの動きベクトルデータの信頼性が低いため利用できず、エッジのあるような箇所の動きベクトルしか補正ベクトル算出用に利用できない。
一方、特許文献1に従って求めた数少ない信頼性の高い動きベクトルを使用して、特許文献2のような技術を、複数枚撮影した画像を利用した静止画用の電子ブレ補正に応用することも考えられる。この場合には、数少ない信頼性の高い動きベクトルのうち同一の動きベクトルを持つ領域の個数が最大頻度閾値と比べて大きかったら(動画撮影時のパンニング/チルティングに相当)、最大頻度の動きベクトルを画像間の補正ベクトルとして扱い、動きベクトルをキャンセルするように画像をシフト加算してブレ補正することが考えられる。逆に、同一の動きベクトルを持つ領域の個数が最大頻度閾値と比べて小さかったら、画像間の補正ベクトルを正確に算出できなかったとして、ブレ補正しないようにすることが考えられる。
しかし、空や壁のようなコントラストの低い部分の面積が多い画像では、信頼性のある動きベクトルが少なくなる。そのため、同一方向の動きベクトルの最大頻度閾値を超えることが難しいので、補正ベクトルが決定せず、結果として、ブレ補正できない場合など画像の位置合わせが適切になされないという問題が生じる。
本発明は、動きベクトルの信頼性が高い領域が少ない場合でも、適切な画像の位置合わせを可能にする技術を提供することを目的とする。
本発明に係るある態様の画像処理装置は、複数枚の画像間で、動きベクトル算出により画像の位置合わせ処理を行う。この画像処理装置は、動きベクトルを測定するための複数の動きベクトル測定領域を設定する動きベクトル測定領域設定部と、前記複数の動きベクトル測定領域の動きベクトルを算出する動きベクトル算出部と、夫々の動きベクトルの信頼度を算出する動きベクトル信頼度算出部と、前記信頼度が規定値以上である高信頼度領域における高信頼度動きベクトルについて、動きベクトルの出現頻度に関する出現頻度値を前記高信頼度動きベクトル毎に算出する頻度値算出部と、前記算出された出現頻度値のうち、最大の出現頻度を表す出現頻度値を選択する最大頻度値選択部と、前記最大の出現頻度値が第一の閾値以上の場合に、前記最大の出現頻度値に対応する動きベクトルを前記画像間の動きベクトルとして算出する画像間動きベクトル算出部と、前記高信頼度領域の位置のばらつきの度合を算出する高信頼度領域ばらつき判定部と、前記算出されたばらつきの度合が所定のばらつきの度合よりも大きいことを示す場合に、前記第一の閾値を変更する閾値制御部とを備える。
この態様に係る画像処理装置は、例えば、画像間動きベクトルを決定するために使用する「動きベクトルの最大の出現頻度値に関する第一の閾値」を、信頼性が高い領域の量に応じて小さな値に変更できる。これにより、所定の動きベクトル測定領域において動きベクトルの信頼性が高い領域が少ない場合でも、例えば、信頼性が高い領域の位置のばらつき度合を利用して、適切な画像間動きベクトルを取得することが可能となる。その結果、動きベクトルの信頼性が高い領域が少ない場合にもかかわらず取得可能となった適切な画像間動きベクトルを用いて、適切な画像間の位置合わせができる。
本発明によれば、動きベクトルの信頼性が高い領域が少ない場合でも、適切な画像の位置合わせを可能にする技術を提供できる。
図1−図8を参照して、第一実施形態について説明する。図1は、フレーム間の動きを算出して、画像間の位置合わせと加算処理を行う画像処理装置を示す。なお、第一実施形態に係る画像処理装置は、デジタルカメラやデジタルビデオカメラなどの電子機器に搭載される。この機器は、正しく作動するために電流または電磁界に依存する機器である。
メインコントローラ100は全体の動作の制御を行う、例えばDSP(デジタルシグナルプロセッサ)などのCPUが用いられる。図1において、点線は制御信号、細線は動きベクトルや信頼度等のデータの流れ、太線は画像データの流れを表している。
フレーム間の動きを算出する撮像装置において、複数枚撮影時、撮像部101から入力された画像は、フレームメモリ102にいったん格納された後、基準となるフレームと対象フレームの間の動きが算出される。動きベクトル測定領域設定部103は、基準となる基準フレーム(基準画像)と対象フレーム(対象画像)の間の動きを算出するため、フレームメモリ中の基準フレームに対して、所定の動きベクトル測定領域を設定する。例えば、動きベクトル測定領域設定部103は、動きベクトル測定領域として、基準画像中にブロック領域(動きベクトル測定ブロック)を格子状に設定する。
動きベクトル算出部104は、フレームメモリに格納された基準フレームと対象フレームの画像データと、動きベクトル測定領域設定部103で設定されたブロック領域に関するデータを使って、誤差自乗和SSD、誤差絶対値和SAD、正規化相互相関NCC等の相関演算を用いて、基準フレームのブロック領域に対して、対象フレーム中の最も相関の高いブロックの位置を算出する。動きベクトル算出部104は、基準フレームのブロックと、対象フレーム中の最も相関の高いブロックの位置の相対的なズレを動きベクトルとして算出する。
動きベクトル信頼度算出部105は、各動きベクトル測定領域について算出された動きベクトルの信頼度Si(i=1〜n)を算出する。信頼度Siは、動きベクトル算出部104での動きベクトルの算出結果の正確さの程度を示す指標である。なお、動きベクトルの信頼度の具体的な算出方法は後述する。ここで、動きベクトルの信頼度Siが規定値より高い場合に、i番目の動きベクトル測定領域の動きベクトルは信頼性があると判断でき、動きベクトルの信頼度Siが規定値より低い場合に、信頼性がないと判断できる。
動きベクトル統計処理部106は、信頼度が規定値以上である高信頼度領域における高信頼度動きベクトルについて、動きベクトルの出現頻度に関する出現頻度値を高信頼度動きベクトル毎に算出する頻度値算出部106aと、前記算出された出現頻度値のうち、最大の出現頻度を表す出現頻度値を選択する最大頻度値選択部106bとを備える。頻度値算出部106aでは、信頼度が規定値より高い高信頼度領域における動きベクトルを統計処理する。ここで、統計処理とは、動きベクトルの信頼度の高い高信頼度領域の動きベクトルを分類して、同一の方向及び同一の大きさの動きベクトル(同一の動きベクトル)の出現頻度値を計数し、統計データとして、例えばヒストグラムを算出することである。ここで、出現頻度値は、動きベクトルの出現頻度に関するものであり、例えば、同一の動きベクトルが画像中に出現した数そのものや、画像中に出現した動きベクトルの全数に対する同一の動きベクトルの出現頻度数の割合(相対頻度)を示す。後者の場合、実質的に、動きベクトル測定領域の全個数nに対する同一の動きベクトルの出現頻度の割合と同値になる。或いは、出現頻度値は、高信頼度領域の数に対する同一の動きベクトルの頻度の割合(相対頻度)として求めてもよい。本実施形態において、最大頻度値選択部106bは、ヒストグラムから最大の出現頻度値、即ち、ヒストグラムにおける、動きベクトルの頻度の最大値又は相対頻度の最大値を選択する。
なお、ビンで分類することにより、同一のビンに入る略同一方向及び大きさの動きベクトルの数を計数してヒストグラムを作成してもよい。
高信頼度ブロック数/割合算出部107では、信頼度の高い高信頼度領域(ブロック)の数m、或いは、高信頼度領域の数mの動きベクトル測定領域の全数(全ブロック数)nに対する割合m/nを算出する。高信頼度領域の数mまたは割合m/nがそれぞれの所定値(αまたはα')以上の時は、補正ベクトル算出部111(画像間動きベクトル算出部)へ処理が移行する。高信頼度領域の数mまたは割合m/nが所定値(αまたはα')未満の時は、ばらつき判定部(高信頼度領域ばらつき判定部)108へ処理が移行する。このように、本実施の形態によれば、高信頼度領域の数mと所定値αとを比較する、あるいは、高信頼度領域の割合m/nと所定値α'とを比較することで、信頼度が規定値(αまたはα')以上である高信頼度領域における高信頼度動きベクトルを抽出できる。
補正ベクトル算出部111では、上記ヒストグラムから求められる同一の方向及び同一の大きさの動きベクトルの最大の出現頻度値が、第一の閾値β以上であるか判断する。この第一の閾値βは例えば、画像中に設定された動きベクトル測定領域の数の40%や50%の値であり、予め装置内に設定される。他の例として、このβは実験により定めた値に設定されてもよい。動きベクトルの最大の出現頻度値が、第一の閾値β以上であれば、その最大の出現頻度値に対する動きベクトル(ビンに分類した場合はビンの中心ベクトル)をフレーム間の補正ベクトルとして算出する。フレーム加算部109では、フレームメモリ中の基準フレームと対象フレームの画像データと補正ベクトルのデータを用いてフレームの加算を行う。
高信頼度領域ばらつき判定部108では、高信頼度の領域(ブロック)のうち画像内で一番距離が長くなる領域(ブロック)間の距離を求め、その距離がある第二の閾値以上であれば、高信頼度の領域の位置のばらつきがあると判定する。ばらつきが無いと判定されたら、補正ベクトル算出部111へ移行する。ばらつきがある(即ち、高信頼度の領域が広範囲に分布する)と判定されたら、閾値制御部(閾値設定部)110に移行する。閾値制御部110において、補正ベクトル算出部111で使用する第一の閾値βを、ブロック数/割合算出部107で算出した高信頼度領域の数mまたは割合m/nに応じて、小さくなるように変更・設定する。
ここで、以下、本実施の形態に係る動きベクトル信頼度算出部105で行っている動きベクトルの信頼度の算出の概要を説明する。
動きベクトルの信頼度の算出部105において、ブロック単位でのフレーム間(画像間)の相関値の統計性に基づいて信頼度を求める。
基準フレームの動きベクトル測定領域とこれに対応する対象フレームの画像領域との間の相関値として、例えば、基準フレームのブロックIiと対象フレームのブロックIjに含まれる画素値の差分の自乗和SSD(以下の数式(5)で表される)を用いる。
ここで、座標(bxi,byi)は、動きベクトル測定領域設定部103で設定されたi番目のマッチングブロックの重心位置(又は中心座標)を示し、ブロックの番号iの数nだけ用意されている。h,vは、それぞれ、マッチングブロックの水平、垂直方向の大きさである。座標(bxj,byj)は、j番目の対象ブロックの重心位置を示し、ブロックマッチングの探索範囲に対応して用意されている。
i番目のブロックのSSD(i,j)は対象ブロックの番号jによって種々の値をとるが、i
番目のブロック(領域)の信頼度Siは、SSD(i,j)の最小値および平均値との差分に基づいて求められる。簡単には、信頼度Siは、SSD(i,j)の最小値および平均値との差分そのままとすればよい。
番目のブロック(領域)の信頼度Siは、SSD(i,j)の最小値および平均値との差分に基づいて求められる。簡単には、信頼度Siは、SSD(i,j)の最小値および平均値との差分そのままとすればよい。
なお、相関値SSDの統計性に基づく信頼度は、領域の構造特徴と以下の概念で対応付けられる。(i)エッジ構造が鮮鋭な領域の場合に、動きベクトルの信頼度が高く、結果として、SSDの最小値を示す対象ブロックの位置の誤差は少ない。SSDのヒストグラムをとった場合に、最小値を示す位置付近に小さなSSDが集中する。従って、SSDの最小値と平均値の差分が大きい。(ii)テクスチャや平坦な構造の場合、SSDのヒストグラムが平坦になり、結果としてSSDの最小値と平均値の差が小さく、信頼度は低い。(iii)繰り返し構造の場合、SSDの最小値と最大値を示す位置が近く、SSDが小さい値を示す位置が分散している。結果として最小値と平均値の差が小さく、信頼度は低い。この様に、SSD(i,j)の最小値および平均値との差分に基づいて、i番目のブロック対応した、信頼度の高い動きベクトルを選択する。
なお、信頼度に関して、各ブロックにエッジの量で信頼度を算出することもできる。
図2(a)−(c)に、動きベクトル統計処理部106とブロック数/割合算出部107の詳細を示す。図2(a)のように、動きベクトル測定領域設定部103で設定された動きベクトル測定領域1000ごとに、動きベクトル算出部104で動きベクトル1001を算出し、前述のように動きベクトル信頼度算出部105で信頼性判定を行い、動きベクトルの信頼度Siが規定値より低く信頼性が無いと判定された測定領域1002は、動きベクトルが無いとみなす。
動きベクトル統計処理部106では、図2(b)のように、信頼性があると判定された動きベクトルのうち、同一の大きさと同一の方向の動きベクトルの出現頻度値を算出し保存しておく。
そして、高信頼度領域ブロック数/割合算出部107では、図2(c)のように、動きベクトル測定領域の数nと信頼性のある領域の数mから、信頼性のある領域の数mまたは割合m/nを算出し、算出結果を所定値(図中のαまたはα')と比較する。図2(a)−(c)の例では、動きベクトル測定領域の数nは35個、信頼性のある領域の数mは31個であり、信頼性のある領域の割合m/nは31/35である。
動きベクトルの信頼性のある領域の数mまたは割合m/nが所定値(αまたはα')以上であれば、画像間の補正ベクトルを算出する補正ベクトル算出部111の処理を行う。動きベクトルの信頼性のある領域の数mまたは割合m/nが所定値(αまたはα')より小さい場合には、ばらつき判定部108で位置ばらつきの判定処理を行う。高信頼度領域に対する位置ばらつきの判定処理の詳細は後述する。
図2(a)−(c)の例では、例えば、所定値αが25、α'が25/35であれば、動きベクトルの信頼性のある領域の数m(=31)または割合m/n(=31/35)が所定値(αまたはα')以上となり、画像間の補正ベクトルを算出する補正ベクトル算出部111の処理が行われる。
図3に補正ベクトル算出部111で行う補正ベクトル算出処理のフローチャートを示す。
補正ベクトル算出処理は、動きベクトル統計処理部106で保存した統計データから動きベクトルに関する最大の出現頻度値を取り出す(S1)。取り出した最大の出現頻度値と第一の閾値βの比較判定(S2)を行う。最大の出現頻度値が、第一の閾値β以上の場合は、最大の出現頻度値に対応する動きベクトル(Vx、Vy)をフレーム加算部109における画像間の補正ベクトル(つまり画像間の動きベクトル)とする(S3)。図2(b)の例では、最大の出現頻度値に対応する動きベクトル(Vx、Vy)は、(2、−2)となる。一方、最大の出現頻度値が第一の閾値β未満の場合は、画像間における動きベクトルが正確に求められなかったとして、補正ベクトルが無いとして扱い、フレーム加算部109でフレームの加算を行わない(S4)。
ここで、各動きベクトル測定領域(測定ブロック)で算出された動きベクトルが、動きベクトル信頼度算出部105で信頼度が高いか判定された結果と、画像内の被写体の関係について説明する。
図4Aに2つのシーンにおける例を示す。シーン1(左上図)は空が大半を占めておりコントラストの低い領域の面積が多い被写体で、シーン2(右上図)はコントラストの高い領域の面積が多い被写体である。
このようなシーンで測定領域ごとに動きベクトルを算出し、動きベクトル信頼度算出部105で信頼度を算出すると、図4Aの左下図のようにシーン1では、信頼性のある動きベクトルが少なく、右下図のようにシーン2では、信頼性のある動きベクトルが多くなる。なお、図4において、信頼度が規定値より高い動きベクトルを有する領域(高信頼度領域)を○印で示し、信頼度が規定値より低く信頼性がない動きベクトルを有する領域を×印で示している。
これら2つのシーンにおいて、前述した動きベクトル統計処理部106、ブロック数/割合算出部107、補正ベクトル算出部111の処理を施すと、シーン2においては、動きベクトルの最大の出現頻度値に対する閾値判定(S2)で、最大頻度が閾値以上となることが多く、画像間の補正ベクトルが求められる。シーン1においては、そもそも信頼性があると判定された動きベクトルデータが少ないため、閾値判定(S2)でシーン2と同じ閾値で判定しても、最大の出現頻度値が閾値を超えることができず、画像間の補正ベクトルが求められないため、フレーム加算ができない。
しかしながら、シーン1のような場合、画面内の下部に建物が並んでおり、その箇所を含む領域においては動きベクトルの信頼性がある。もし、これらの信頼性がある下部の領域だけに注目し、動きベクトルの最大の出現頻度値がある程度以上あれば、その最大の出現頻度値の動きベクトルを画像間の補正ベクトルとして扱って良い。ただし、これは、シーン1のように建物が横方向に広がって並んでいるような場合だけに当てはまる。
もし、建物が1棟しか写っていないようなシーンであれば、回転運動と並進運動の区別が付き難い(例えば、その1棟の建物がシーンの四隅の近傍に偏って位置するような場合) (図4B上図参照)。この場合、その1棟の建物に相当する高信頼度領域の動きベクトルを画像間の補正ベクトルとして扱ってしまうと、画像間で回転方向のブレがあった場合でも並進運動の動きベクトルとして画像全体を補正してしまうため、ブレ補正が失敗する。一方、高信頼度領域のばらつき(或いは長さ)が大きければ(図4B下図参照)、回転方向のブレがあった場合でも、回転運動と並進運動を混同する稀であり、並進運動の動きベクトルで画像全体を補正する可能性は小さくなり、誤ったブレ補正が行われなくなる。
このようなシーン1の時にでも適切にブレ補正できるようにするため、ブロック数/割合算出部107で高信頼度領域の数mや割合m/nが所定値(αまたはα')以上でなかったら、ばらつき判定部108で高信頼度領域のばらつきを判定する。ばらつきがあったら、補正ベクトル算出部111で使用する第一の閾値βを閾値制御部110で小さくなるように変更する。ばらつきがなかったら、第一の閾値βは変えず補正ベクトル算出部111で処理を行う。
図5に、ばらつき判定部108で行うばらつき判定の詳細を示す。高信頼度領域の位置のばらつきを判定するには、高信頼度領域における2つの動きベクトル測定領域の全ての組み合わせの中で、領域間の距離が最長となる組み合わせを見つける。領域間の最長距離をばらつきの度合として、この領域間の最長距離に基づいて高信頼度領域の位置のばらつきを評価・判定することができる。ばらつきの度合が所定の度合より大きい場合に、ばらつきがあると判定できる。具体的には、領域間の最長距離(ばらつきの度合)が第二の閾値(所定の度合)以上であればばらつきがあると判定できる。
全ての組み合わせによる距離を測定すると多大な処理になるので、図5に示すような手法で、領域間の最長距離の目安を求めてもよい。ここでは、高信頼度領域において走査線を移動させながら一定方向に各動きベクトル測定領域を走査して行き、最初と最後に走査された領域間の距離に基づいて、ばらつきの度合を算出する。
まず、図5上図のように、走査1〜走査5の順番で縦方向に走査線をずらしながら、横方向に各動きベクトル測定領域を走査し、最初と最後に走査された領域の位置と座標(例えば、動きベクトル測定領域の中心位置座標)を得る。そして、最初と最後に走査された領域間の距離(図5中のL1)を求める。次に、図5下図のように、走査6〜走査12の順番で横方向に走査線をずらしながら、縦方向に各動きベクトル測定領域を走査し、最初と最後に走査された領域の位置と座標(例えば、動きベクトル測定領域の中心位置座標)を得る。そして、最初と最後に走査された領域間の距離(図5中のL2)を求める。次に、走査13〜走査17(走査1〜5の向きを逆にした走査)の順番で縦方向に走査線をずらしながら、横方向に各動きベクトル測定領域を走査し、最初と最後に走査された領域の位置と座標(例えば、動きベクトル測定領域の中心位置座標)を得る。そして、最初と最後に走査された領域間の距離(図5中のL3)を求める。さらに、走査18〜走査24(走査6〜12の向きを逆にした走査)の順番で横方向に走査線をずらしながら、縦方向に各動きベクトル測定領域を走査し、最初と最後に走査された領域の位置と座標(例えば、動きベクトル測定領域の中心位置座標)を得る。そして、最初と最後に走査された領域間の距離(図5中のL4)を求める。
そして、求められたL1、L2、L3、L4の距離のうち最大距離を領域間の最長距離の目安として求めて、この最大距離を第二の閾値と比較する。L1−L4のうちの最大距離(ばらつきの度合)が閾値以上であれば、ばらつきがあると判定し、L1−L4のうちの最大距離が第二の閾値より小さければ、ばらつきが無いと判定する。
なお、上記において、高信頼度領域間の最長距離に基づいてばらつきを評価・判定したが、ばらつきを評価する方法は種々考えられる。他の方法として、高信頼度領域内の横方向における領域間の最大間隔や縦方向の領域間の最大間隔をばらつきの度合として求めて、ばらつきを評価・判定できる。また、上記のL1、L2、L3、L4のいずれか一つだけを求めて、これをばらつきの度合とすることも考えられる。
ばらつきがある場合には、閾値制御部110で、高信頼度領域のブロック数mまたは割合m/nに応じて、第一の閾値βを小さくなるように変更する。例えば、動きベクトル測定領域数nと変更前の第一の閾値βの比率が、高信頼度領域のブロック数mと変更後の第一の閾値β’との比率と、同じになるように変更する。つまり、β/n=β’/mの関係が成立するように変更する。従って、高信頼度領域の数mまたは割合m/nに応じて、変更後の第一の閾値β’は、β×m/nと設定される。高信頼度領域の数mまたは割合m/nが小さいほど、変更後の第一の閾値β’は小さくなる。
図2(a)−(c)の例では、動きベクトル測定領域の数nは35個、信頼性のある領域の数mは31個である。このため、例えば、第一の閾値βが、動きベクトル測定領域の数nの45%程度の16であるとすると、変更後の第一の閾値β’は、16×31/35≒14に設定される。
第一の閾値を変更後、補正ベクトル算出部111の補正ベクトル算出処理を施す。
次に、図6−図8を参照して、第二実施形態について説明する。
図6に、本発明を用いた画像間の位置あわせと加算処理を行う装置を示す。第一実施形態と同様に処理を行うが、閾値制御部110で閾値を変更させた後、最大頻度領域ばらつき判定部112で、最大の出現頻度値に対応する動きベクトルを有する最大頻度領域の位置のばらつきを判定する。このばらつきは、前述したばらつき判定部108と同様に、最大頻度領域の長さから判定できる。最大頻度領域の位置のばらつき判定処理の詳細は後述する。判定後、補正ベクトル算出部111で補正ベクトルの算出処理を行う。
図7に、補正ベクトル算出部111が実行する補正ベクトル算出処理のフローチャートを示す。
補正ベクトル算出処理は、動きベクトル統計処理部106で保存した統計データから動きベクトルの最大の出現頻度値を取り出す(S11)。取り出した動きベクトルの最大頻度データと閾値βの比較判定(S12)を行う。最大の出現頻度値が、第一の閾値β以上の場合は、最大頻度領域ばらつき判定部112での最大頻度領域の位置のばらつきの判定結果を読み込む(S13)。ばらつきがある場合は、最大の出現頻度値に対応する動きベクトル(Vx、Vy)をフレーム加算部109における画像間の補正ベクトルとする(S14)。ばらつきが無い場合、画像間における動きベクトルが正確に求められなかったとして、補正ベクトルが無いとして扱い(S15)、フレーム加算部109でフレーム加算しない。最大の出現頻度値が、第一の閾値βより小さい場合は、画像間における動きベクトルが正確に求められなかったとして、補正ベクトルが無いとして扱い(S15)、フレーム加算部109でフレーム加算しない。
図8を参照して、ばらつき判定部(最大頻度領域ばらつき判定部)112で行う位置ばらつきの判定の詳細を示す。最大頻度領域の位置のばらつきを判定するには、最大頻度領域における2つの動きベクトル測定領域の全ての組み合わせの中で、領域間の距離が最長となる組み合わせを見つけ、その距離の長さに応じて位置のばらつきを判定することができる。具体的には、動きベクトル測定領域間の最長距離が第三の閾値以上であればばらつきがあると判定できる。全ての組み合わせによる距離を測定するには、多大な処理になるので、図8に示すような手法で距離を計測する。
まず、図8のように、走査1〜走査5の順番で縦方向に走査線をずらしながら、横方向に各動きベクトル測定領域を走査し、最初と最後の最大頻度領域の位置と座標(たとえば、動きベクトル測定領域の中心位置座標)を得る。最初と最後に走査された領域間の距離(図中のL5)を求める。次に走査6〜走査12の順番で走査し、最初と最後の最大頻度領域の位置と座標(たとえば、動きベクトル測定領域の中心位置座標)から領域間の距離(図中のL6)を求める。次に、走査13〜走査17(走査1〜5の向きを逆にした走査)の順番で各動きベクトル測定領域を走査し、最初と最後の高信頼度領域の位置と座標(例えば、動きベクトル測定領域の中心位置座標)から領域間の距離(図5中のL7)を求める。さらに、走査18〜走査24(走査6〜12の向きを逆にした走査)の順番で各動きベクトル測定領域を走査し、最初と最後の高信頼度領域の位置と座標(例えば、動きベクトル測定領域の中心位置座標)から領域間の距離(図5中のL8)を求める。
そして、求められたL5、L6、L7、L8の距離のうち最大距離を領域間の最長距離の目安として求めて、この最大距離を第三の閾値と比較する。L5−L8のうちの最大距離が第三の閾値以上であれば、ばらつきがあると判定し、L5−L8のうちの最大距離が第三の閾値より小さければ、ばらつき無しとする。
上記の第一及び第二の実施形態は、ブレ補正を行う場合について記載されているが、本発明は、複数の重なりのある画像を張り合わすことによって広視野の画像を生成するモザイキング処理における位置合わせ等についても適用できる。
本発明は上記の実施の形態に限定されずに、その技術的な思想の範囲内において種々の変更がなしうることは明白である。
100 メインコントローラ
101 撮像部
102 フレームメモリ
103 動きベクトル測定領域設定部
104 動きベクトル算出部
105 動きベクトル信頼度算出部
106 動きベクトル統計処理部
106a 頻度値算出部
106b 最大頻度値選択部
107 高信頼度ブロック数/割合算出部
108 高信頼度領域ばらつき判定部
109 フレーム加算部
110 閾値制御部
111 補正ベクトル算出部(画像間動きベクトル算出部)
112 最大頻度領域ばらつき判定部
101 撮像部
102 フレームメモリ
103 動きベクトル測定領域設定部
104 動きベクトル算出部
105 動きベクトル信頼度算出部
106 動きベクトル統計処理部
106a 頻度値算出部
106b 最大頻度値選択部
107 高信頼度ブロック数/割合算出部
108 高信頼度領域ばらつき判定部
109 フレーム加算部
110 閾値制御部
111 補正ベクトル算出部(画像間動きベクトル算出部)
112 最大頻度領域ばらつき判定部
Claims (10)
- 画像間の動きベクトルを用いて複数枚の画像の位置合わせ処理を行う画像処理装置であって、
動きベクトルを測定するための複数の動きベクトル測定領域を設定する動きベクトル測定領域設定部と、
前記複数の動きベクトル測定領域の動きベクトルを算出する動きベクトル算出部と、
夫々の動きベクトルの信頼度を算出する動きベクトル信頼度算出部と、
前記信頼度が規定値以上である高信頼度領域における高信頼度動きベクトルについて、動きベクトルの出現頻度に関する出現頻度値を前記高信頼度動きベクトル毎に算出する頻度値算出部と、
前記算出された出現頻度値のうち、最大の出現頻度を表す出現頻度値を選択する最大頻度値選択部と、
前記最大の出現頻度値が第一の閾値以上の場合に、前記最大の出現頻度値に対応する動きベクトルを前記画像間の動きベクトルとして算出する画像間動きベクトル算出部と、
前記高信頼度領域の位置のばらつきの度合を算出する高信頼度領域ばらつき判定部と、
前記算出されたばらつきの度合が所定のばらつきの度合よりも大きいことを示す場合に、前記第一の閾値を変更する閾値制御部と、を備えることを特徴とする画像処理装置。 - 前記閾値制御部は、前記高信頼度領域の数または割合に応じて、変更後の前記第一の閾値を設定することを特徴とする請求項1に記載の画像処理装置。
- 前記高信頼度領域ばらつき判定部は、前記高信頼度領域のうちの二つの動きベクトル測定領域間の最長距離を、前記ばらつきの度合として算出し、
前記最長距離が第二の閾値以上の場合に、前記閾値制御部は、前記第一の閾値を小さくするように変更することを特徴とする請求項1に記載の画像処理装置。 - 前記ばらつきの度合が第二の閾値以上の場合、且つ、前記高信頼度領域の数または割合が所定値未満の場合に、前記閾値制御部は、前記第一の閾値を小さくするように変更することを特徴とする請求項1又は2に記載の画像処理装置。
- 前記閾値制御部で第一の閾値を変更した場合に、前記最大の出現頻度値に対応する動きベクトルを有する最大頻度測定領域の位置のばらつきの度合を算出する最大頻度領域ばらつき判定部を備え、
前記最大頻度領域ばらつき判定部で算出された前記ばらつきの度合が第三の閾値以上の場合、且つ、前記最大頻度測定領域の数または割合が前記変更した第一の閾値以上の場合に、
前記画像間動きベクトル算出部は、前記最大の出現頻度値に対応する動きベクトルを画像間の動きベクトルとすることを特徴とする請求項1から4のいずれか一つに記載の画像処理装置。 - 前記最大の出現頻度値は、前記複数の動きベクトル測定領域の全個数に対する相対頻度の最大値、又は、前記高信頼度領域の数に対する相対頻度の最大値であることを特徴とする請求項1から5のいずれか一つに記載の画像処理装置。
- 前記高信頼度領域ばらつき判定部は、前記高信頼度領域において、走査線を移動させながら一定方向に各動きベクトル測定領域を走査し、最初と最後に走査された領域間の距離に基づいて、前記ばらつきの度合を算出することを特徴とする請求項1又は2に記載の画像処理装置。
- 請求項1に記載の画像処理装置を含む電子機器。
- 画像間の動きベクトルを用いて複数枚の画像の位置合わせ処理を行う画像処理方法であって、
動きベクトルを測定するための複数の動きベクトル測定領域を設定する動きベクトル測定領域設定ステップと、
前記複数の動きベクトル測定領域の動きベクトルを算出する動きベクトル算出ステップと、
夫々の動きベクトルの信頼度を算出する動きベクトル信頼度算出ステップと、
前記信頼度が規定値以上である高信頼度領域における高信頼度動きベクトルについて、動きベクトルの出現頻度に関する出現頻度値を前記高信頼度動きベクトル毎に算出する頻度値算出ステップと、
前記算出された出現頻度値のうち、最大の出現頻度を表す出現頻度値を選択する最大頻度値選択ステップと、
前記最大の出現頻度値が第一の閾値以上の場合に、前記最大の出現頻度値に対応する動きベクトルを前記画像間の動きベクトルとして算出する画像間動きベクトル算出ステップと、
前記高信頼度領域の位置のばらつきの度合を算出する高信頼度領域ばらつき判定ステップと、
前記算出されたばらつきの度合が所定のばらつきの度合よりも大きいことを示す場合に、前記第一の閾値を変更する閾値制御ステップと、を備えることを特徴とする画像処理方法。 - 画像間の動きベクトルを用いて複数枚の画像の位置合わせ処理を行う画像処理プログラムであって、
動きベクトルを測定するための複数の動きベクトル測定領域を設定する動きベクトル測定領域設定手順と、
前記複数の動きベクトル測定領域の動きベクトルを算出する動きベクトル算出手順と、
夫々の動きベクトルの信頼度を算出する動きベクトル信頼度算出手順と、
前記信頼度が規定値以上である高信頼度領域における高信頼度動きベクトルについて、動きベクトルの出現頻度に関する出現頻度値を前記高信頼度動きベクトル毎に算出する頻度値算出手順と、
前記算出された出現頻度値のうち、最大の出現頻度を表す出現頻度値を選択する最大頻度値選択手順と、
前記最大の出現頻度値が第一の閾値以上の場合に、前記最大の出現頻度値に対応する動きベクトルを前記画像間の動きベクトルとして算出する画像間動きベクトル算出手順と、
前記高信頼度領域の位置のばらつきの度合を算出する高信頼度領域ばらつき判定手順と、
前記算出されたばらつきの度合が所定のばらつきの度合よりも大きいことを示す場合に、前記第一の閾値を変更する閾値制御手順と、を備える画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008081525A JP2009239515A (ja) | 2008-03-26 | 2008-03-26 | 画像処理装置、画像処理方法、及び画像処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008081525A JP2009239515A (ja) | 2008-03-26 | 2008-03-26 | 画像処理装置、画像処理方法、及び画像処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009239515A true JP2009239515A (ja) | 2009-10-15 |
Family
ID=41252963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008081525A Withdrawn JP2009239515A (ja) | 2008-03-26 | 2008-03-26 | 画像処理装置、画像処理方法、及び画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009239515A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011191973A (ja) * | 2010-03-15 | 2011-09-29 | Fujifilm Corp | 動きベクトル計測装置および方法 |
JP2012198877A (ja) * | 2011-03-22 | 2012-10-18 | Morpho Inc | 動き検出装置、動き検出方法及び動き検出プログラム |
US8989448B2 (en) | 2011-03-22 | 2015-03-24 | Morpho, Inc. | Moving object detecting device, moving object detecting method, moving object detection program, moving object tracking device, moving object tracking method, and moving object tracking program |
WO2016117107A1 (ja) * | 2015-01-23 | 2016-07-28 | オリンパス株式会社 | 内視鏡装置及び内視鏡装置のフォーカス制御方法 |
CN111754429A (zh) * | 2020-06-16 | 2020-10-09 | Oppo广东移动通信有限公司 | 运动矢量后处理方法和装置、电子设备及存储介质 |
-
2008
- 2008-03-26 JP JP2008081525A patent/JP2009239515A/ja not_active Withdrawn
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011191973A (ja) * | 2010-03-15 | 2011-09-29 | Fujifilm Corp | 動きベクトル計測装置および方法 |
JP2012198877A (ja) * | 2011-03-22 | 2012-10-18 | Morpho Inc | 動き検出装置、動き検出方法及び動き検出プログラム |
US8989448B2 (en) | 2011-03-22 | 2015-03-24 | Morpho, Inc. | Moving object detecting device, moving object detecting method, moving object detection program, moving object tracking device, moving object tracking method, and moving object tracking program |
WO2016117107A1 (ja) * | 2015-01-23 | 2016-07-28 | オリンパス株式会社 | 内視鏡装置及び内視鏡装置のフォーカス制御方法 |
CN107205626A (zh) * | 2015-01-23 | 2017-09-26 | 奥林巴斯株式会社 | 内窥镜装置和内窥镜装置的对焦控制方法 |
US20170319051A1 (en) * | 2015-01-23 | 2017-11-09 | Olympus Corporation | Endoscope device and focus control method for endoscope device |
JPWO2016117107A1 (ja) * | 2015-01-23 | 2017-12-14 | オリンパス株式会社 | 内視鏡装置及び内視鏡装置のフォーカス制御方法 |
CN107205626B (zh) * | 2015-01-23 | 2019-09-03 | 奥林巴斯株式会社 | 内窥镜装置和内窥镜装置的对焦控制方法 |
US10820787B2 (en) | 2015-01-23 | 2020-11-03 | Olympus Corporation | Endoscope device and focus control method for endoscope device |
CN111754429A (zh) * | 2020-06-16 | 2020-10-09 | Oppo广东移动通信有限公司 | 运动矢量后处理方法和装置、电子设备及存储介质 |
CN111754429B (zh) * | 2020-06-16 | 2024-06-11 | Oppo广东移动通信有限公司 | 运动矢量后处理方法和装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4813517B2 (ja) | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 | |
JP4781233B2 (ja) | 画像処理装置、撮像装置、及び画像処理方法 | |
JP4940164B2 (ja) | 撮像装置及び撮像方法 | |
US7956897B2 (en) | Image combining device and imaging apparatus | |
US9361704B2 (en) | Image processing device, image processing method, image device, electronic equipment, and program | |
JP2010118862A (ja) | 画像処理装置、撮像装置及び画像処理方法 | |
JP2010041419A (ja) | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 | |
TW201351343A (zh) | 影像合成裝置及用於影像合成之電腦程式 | |
JP2009239515A (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
US20120051662A1 (en) | Image processing apparatus and storage medium | |
KR100217485B1 (ko) | 동영상 부호기 또는 복호기에서 이동보상방법 | |
TW201428689A (zh) | 光學導航方法以及相關裝置 | |
JP2009272870A (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
US10116865B2 (en) | Image processing apparatus and image processing method for calculating motion vector between images with different in-focus positions | |
JP2009301181A (ja) | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 | |
JP2009302731A (ja) | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 | |
JP2006215655A (ja) | 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体 | |
CN112734721B (zh) | 一种光轴偏转角度检测方法、装置、设备和介质 | |
JP4936222B2 (ja) | 動きベクトル照合装置、画像合成装置及びプログラム | |
CN112104820B (zh) | 更新固定模式噪声矩阵 | |
US20110001882A1 (en) | Method and system for determining motion vectors for flat regions | |
JP2004240909A (ja) | 画像処理装置及び画像処理方法 | |
JP2019176261A (ja) | 画像処理装置 | |
KR20060115237A (ko) | 에지투영을 이용한 스테레오 매칭방법 | |
JP7277321B2 (ja) | 画像処理装置、画像処理方法、撮像装置およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110607 |