説明

画像処理装置、及びその制御方法

【課題】回路規模の増大を抑制しつつ、画像の非線形な変形を補正することを可能にする。
【解決手段】画像処理装置であって、基準画像に対する合成対象画像のブレを表すブレ情報を取得し、ブレを補正するように合成対象画像を非線形変換するための非線形変換パラメータを算出する第1算出手段と、合成対象画像を複数のブロック画像に分割する分割手段と、非線形変換パラメータを用いた前記非線形変換を線形変換に近似することにより、ブレを補正するように前記複数のブロック画像の各々を線形変換するための線形変換パラメータを前記複数のブロック画像の各々について算出する第2算出手段と、第2算出手段で算出された前記複数のブロック画像の各々についての線形変換パラメータを用いて複数のブロック画像の各々を線形変換する変換手段と、線形変換された複数のブロック画像の各々を基準画像の対応する位置に合成する合成手段とを備える画像処理装置を提供。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、及びその制御方法に関する。
【背景技術】
【0002】
従来、デジタルカメラやビデオカメラ等の技術分野において、ブレを補正する技術やブレ情報を検出して所定の記録媒体に記録する技術が多く提案されている。中でも、画像処理によるブレ補正は電子ブレ補正と呼ばれる。電子ブレ補正は、ブレによる画像の変形を画像処理によって補正することで実現される。ブレによる画像の変形は、シフトや回転などの線形な変形だけでなく、歪みやあおりなどによる非線形な変形も含まれる。このため、高精度に電子ブレ補正を行うためには、画像の非線形な補正処理(非線形変換処理)が必要となる。
【0003】
これまでに、非線形変換処理を用いて電子ブレ補正を行う方法が提案されている(例えば、特許文献1)。また、画像を複数のパッチに分割し、パッチ毎に異なる線形変換処理を行うことで、非線形変換のような複雑な変換に対応する方法が提案されている(例えば、特許文献2)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−028500号公報
【特許文献2】特開2007−166269号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の方法では、非線形変換処理を行う処理部が必要である。しかし、非線形変換処理は線形変換と比較して処理が複雑であり、回路規模が大きくなるという問題があった。また、特許文献2に記載の方法では、画像変換時の変換パラメータがパッチ毎に独立しているため、パッチの境界で画質の劣化が発生するという問題があった。
【0006】
本発明はこのような状況に鑑みてなされたものであり、回路規模の増大を抑制しつつ、画像の非線形な変形を補正することを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、第1の本発明は、撮像装置により連続的に撮像された基準画像及び合成対象画像を処理する画像処理装置であって、前記基準画像に対する前記合成対象画像のブレを表すブレ情報を取得する取得手段と、前記ブレを補正するように前記合成対象画像を非線形変換するための非線形変換パラメータを算出する第1算出手段と、前記合成対象画像を複数のブロック画像に分割する分割手段と、前記非線形変換パラメータを用いた前記非線形変換を線形変換に近似することにより、前記ブレを補正するように前記複数のブロック画像の各々を線形変換するための線形変換パラメータを前記複数のブロック画像の各々について算出する第2算出手段と、前記第2算出手段で算出された前記複数のブロック画像の各々についての線形変換パラメータを用いて前記複数のブロック画像の各々を線形変換する変換手段と、前記線形変換された前記複数のブロック画像の各々を前記基準画像の対応する位置に合成する合成手段と、を備えることを特徴とする画像処理装置を提供する。
【0008】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【発明の効果】
【0009】
以上の構成により、本発明によれば、回路規模の増大を抑制しつつ、画像の非線形な変形を補正することが可能となる。
【図面の簡単な説明】
【0010】
【図1】第1の実施形態に係るデジタルカメラ100の全体構成を示すブロック図
【図2】第1の実施形態に係る画像合成部110の詳細な構成を示すブロック図
【図3】合成対象画像の分割方法を例示する図
【図4】変換パラメータ近似部206が実行する近似処理(アフィンパラメータ算出処理)の流れを示すフローチャート
【図5】画像変換部207によるアフィン変換の概念図
【図6】加算合成部208による基準画像と合成対象画像との加算合成処理の一例を示す図
【図7】加算合成部208による基準画像と合成対象画像との加算合成処理の他の例を示す図
【図8】第2の実施形態に係る画像合成部801の詳細な構成を示すブロック図
【発明を実施するための形態】
【0011】
以下、添付図面を参照して、本発明の実施形態を説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【0012】
以下の各実施形態では、本発明の画像処理装置の一例として、撮像装置(デジタルカメラ)を使用する。しかしながら、本発明の画像処理装置はデジタルカメラに限定されず、例えばパーソナルコンピュータ(PC)でも構わない。また、画像処理装置の制御方法も本発明の範囲に含まれる。
【0013】
[第1の実施形態]
●デジタルカメラ100の全体構成
図1は、第1の実施形態に係るデジタルカメラ100の全体構成を示すブロック図である。図1において、撮像部101は、撮像レンズ群と、C−MOSやCCD等の半導体撮像素子とを含む。撮像部101から出力される映像信号は、A/D変換部102によりデジタル画像に変換され、画像処理部103に入力される。画像処理部103は、入力された画像データに対してブレ補正処理を適用し、ブレ補正画像を生成する。生成されたブレ補正画像は、出力端子111より出力され、画像表示部104で表示されたり、画像記録部105で記録媒体に記録されたりする。
【0014】
次に、画像処理部103の構成について説明する。入力端子106は、画像処理部103の入力端子であり、A/D変換部102によりデジタル変換された画像を入力する。入力された画像は、メモリ部107に格納される。基準画像設定部108は、連続的に撮像された複数枚の画像をメモリ部107から読み出し、複数枚の画像中の1枚を基準画像として選択する。基準画像以外の画像を合成対象画像と呼ぶ。例えば、基準画像設定部108は、最も撮影タイミングの早い画像を基準画像として選択する。動きベクトル算出部109は、基準画像設定部108から得られる基準画像及び合成対象画像を用いて、基準画像に対する各合成対象画像の動きベクトル(ブレ情報)を算出する。この際、動きベクトル算出部109(検出手段)は基準画像及び合成対象画像を複数のブロックに分割し、ブロック毎に動きベクトルを算出する。画像合成部110は、動きベクトル算出部109から得られる複数の動きベクトルを用いて、基準画像設定部108から読み出した基準画像及び合成対象画像を合成し、ブレ補正画像を生成する。画像合成部110は、生成されたブレ補正画像を出力端子111より出力する。動きベクトル算出部109及び画像合成部110の詳細については後で更に詳述する。
【0015】
●動きベクトル算出部109の詳細
動きベクトル算出部109は、基準画像設定部108より得られる基準画像及び合成対象画像から、複数の動きベクトルを算出する。具体的には、まず、動きベクトル算出部109は、合成対象画像を複数のブロックに分割する。ここでは、ブロック数をLとする。次に、動きベクトル算出部109は、基準画像と分割した合成対象画像のブロックとを用いて、差分絶対値を評価値としたパターンマッチング処理を行う。最後に、動きベクトル算出部109は、差分絶対値が最小となる座標位置に基づいてブロックの動きベクトルを算出する。同様の処理を全てのブロックについて行うことにより、ブロック数と同数の動きベクトルが得られる。また、動きベクトル算出部109は、同様の処理を全ての合成対象画像について行う。動きベクトル算出部109は、各合成対象画像について、L個の動きベクトルを出力する。
【0016】
このように、動きベクトル算出部109は、基準画像に対する合成対象画像のブレを、両画像を比較することにより、L個の動きベクトルとして検出する。しかしながら、ブレ情報の取得方法はこれに限定されず、例えば、動きベクトル算出部109は、外部装置が検出したブレ情報を外部装置から取得してもよい。
【0017】
●画像合成部110の構成
簡単に説明すると、画像合成部110は、基準画像に対する合成対象画像のブレを補正するように合成対象画像を非線形変換(本実施形態では、射影変換とする)するための非線形変換パラメータを算出する。そして、画像合成部110は、非線形変換パラメータを基に合成対象画像のブロック毎の線形変換パラメータを決定する。以下、画像合成部110の詳細な構成について説明する。
【0018】
図2は、画像合成部110の詳細な構成を示すブロック図である。入力端子201は、基準画像設定部108から得られる基準画像を入力する。入力端子202は、動きベクトル算出部109から得られるL個の動きベクトルを入力する。入力端子203は、基準画像設定部108から得られる合成対象画像を入力する。
【0019】
変換パラメータ算出部204(第1算出手段)は、入力端子202より入力したL個の動きベクトルを基に、基準画像と合成対象画像との間の変形(ブレ)を表す射影変換パラメータを算出する。変換パラメータ算出部204については、後で更に詳述する。
【0020】
画像分割部205は、入力端子203より入力した合成対象画像を複数のブロック画像に分割する。以下、これらのブロック画像を合成対象ブロック画像と呼ぶ。具体的には、図3に示すように、各合成対象ブロック画像は、合成対象画像を横Bx画素、縦By画素で等間隔に分割したM*N個の領域それぞれに対して、横p画素、縦q画素だけマージンを加えた画像とする。マージンを加えたことにより、画像端部のブロックは横Bx+p画素、あるいは縦By+q画素となる。それ以外のブロックは横Bx+2p画素、縦By+2q画素となる。マージンを設ける目的は、ブロック毎にアフィン変換を行った際にブロック間の画像が欠落するのを防ぐためである。
【0021】
変換パラメータ近似部206(第2算出手段)は、変換パラメータ算出部204より得られる射影変換パラメータを用いた射影変換を線形変換(本実施形態では、アフィン変換とする)に近似することにより、アフィンパラメータを算出する。この際、変換パラメータ近似部206は、画像分割部205より得られる各合成対象ブロック画像に対して、それぞれ近似処理を行う。従って、各合成対象ブロック画像に対応する複数のアフィンパラメータが算出される。変換パラメータ近似部206については、後で更に詳述する。
【0022】
画像変換部207は、変換パラメータ近似部206より得られる複数のアフィンパラメータを用いて、画像分割部205より得られる各合成対象ブロック画像に対してアフィン変換処理を行う。これにより、基準画像に対するブレを補正するように各合成対象ブロック画像がアフィン変換される。画像変換部207については、後で更に詳述する。
【0023】
加算合成部208は、入力端子201より入力した基準画像と、画像変換部207より得られるアフィン変換された合成対象ブロック画像とを加算合成し、ブレ補正画像を生成する。加算合成部208は、生成されたブレ補正画像を、出力端子209より出力する。加算合成部208については、後で更に詳述する。
【0024】
●●変換パラメータ算出部204の詳細
変換パラメータ算出部204は、入力端子202から入力されたL個の動きベクトルを基に、基準画像と合成対象画像との間の変形(ブレ)を表す射影変換パラメータを算出する。
【0025】
射影変換では、合成対象画像と基準画像との間の変形は下記の式で表される。

ここで、(x,y)は合成対象画像の画素位置、(x’,y’)は基準画像の画素位置、a(0≦j≦7)は射影変換パラメータを表す。なお、ここでは合成対象画像及び基準画像の座標系は、画像中央を原点(0,0)とする。
【0026】
続いて、L個の動きベクトルv=(x’−x,y’−y)(0≦i≦L−1)から射影変換パラメータを求める方法について説明する。ここでは最小二乗法を利用して射影変換パラメータを求める。求める射影変換パラメータをa(0≦j≦7)としたとき、動きベクトル及び射影変換パラメータは下式のような関係となる。

この式を

と表すと、射影変換パラメータを表す行列A=(a,・・・, aは、

により算出される。ここで、


である。
【0027】
以上の方法により、変換パラメータ算出部204は、L個の動きベクトルv=(x’−x,y’−y)(0≦i≦L−1)から射影変換パラメータa(0≦j≦7)を算出する。同様に、変換パラメータ算出部204は、全ての合成対象画像に対してそれぞれ射影変換パラメータを算出する。
【0028】
●●変換パラメータ近似部206の詳細
図4は、変換パラメータ近似部206が実行する近似処理(アフィンパラメータ算出処理)の流れを示すフローチャートである。S401で、変換パラメータ近似部206は、変換パラメータ算出部204から射影変換パラメータを取得する。S402で、変換パラメータ近似部206は、画像分割部205からM*N個の合成対象ブロック画像それぞれの座標情報を取得する。S403で、変換パラメータ近似部206は、各合成対象ブロック画像を識別するためのインデックスiを0に初期化する。
【0029】
S404で、変換パラメータ近似部206は、i番目の合成対象ブロック画像(ブロックi)の中心座標を算出する。S405で、変換パラメータ近似部206は、S401で取得した射影変換パラメータによる射影変換をアフィン変換に近似することにより、ブロックiに対するアフィンパラメータを算出する。S405については後で更に詳述する。
【0030】
S406で、変換パラメータ近似部206は、i<(M*N−1)が成立するか否かを判定する。i<(M*N−1)であれば、処理はS407に進み、変換パラメータ近似部206はiをインクリメントする。次いで、変換パラメータ近似部206は、次の合成対象ブロック画像に対してS404及びS405の処理を繰り返す。
【0031】
S406においてi<(M*N−1)が成立しないと判定された場合、処理はS408に進み、変換パラメータ近似部206は、S405で算出した各合成対象ブロック画像のアフィンパラメータを出力する。
【0032】
続いて、S405の処理内容について詳細に説明する。変換パラメータ近似部206は、射影変換パラメータa(0≦j≦7)と、ブロックiの中心座標(u,v)とから、ブロックiに対するアフィンパラメータを算出する。
【0033】
具体的には、まず、変換パラメータ近似部206は、射影変換パラメータの座標系を変換する。変換パラメータ算出部204より得られる射影変換パラメータは、画像中央を原点とする座標系に基づく。変換パラメータ近似部206は、この座標系を、ブロックiの中心座標(u,v)を原点とする座標系に変換する。このとき、射影変換パラメータa(0≦j≦7)、基準画像の画素位置(x’,y’)、及び合成対象画像の画素位置(x,y)の関係は、

である。
【0034】
変換パラメータ近似部206は、この式を変形し、新たな射影変換パラメータa’(0≦j≦8)を用いる式

を得る。これにより、(u,v)を原点とする座標系の射影変換パラメータが得られる。
【0035】
続いて、変換パラメータ近似部206は、この射影変換パラメータa’(0≦j≦8)をアフィンパラメータp(0≦j≦5)に近似する。ここでは、合成対象ブロック画像の大きさが十分小さいと仮定し、下記の近似を行う。

これにより、射影変換パラメータa’(0≦j≦8)、(x’,y’)、及び(x,y)の関係は、

となる。
【0036】
一方、アフィンパラメータ、基準画像の画素位置(x’,y’)、及び合成対象画像の画素位置(x,y)の関係は、

のように表される。即ち、アフィンパラメータpは下記の式で算出される。

ここで、a’、a’、a’、a’、a’、a’、a’、a’、a’は下記のように求められる。

以上により、射影変換パラメータa(0≦j≦7)と、ブロックiの中心座標(u,v)とから、ブロックiに対するアフィンパラメータp(0≦j≦5)が得られる。変換パラメータ近似部206は、同様の処理を全合成対象ブロック画像に対して行い、各合成対象ブロック画像に対するアフィンパラメータを算出する。
【0037】
●●画像変換部207の詳細
画像変換部207は、変換パラメータ近似部206より得られるアフィンパラメータを用いて、画像分割部205より得られる合成対象ブロック画像をアフィン変換する。アフィン変換の際には、各合成対象ブロック画像に対応するアフィンパラメータが使用される。このように、各合成対象ブロック画像で異なるアフィンパラメータ(但し、各アフィンパラメータは同一の射影変換パラメータに基づいて算出される)を用いることで、非線形変換に近似した線形変換が行われる。具体例を図5に示す。図5には、格子模様の被写体が、あおりぶれによって歪んだ例が示される。このように台形に歪んだ被写体は、アフィン変換のような線形変換では補正できない。しかし、図5に示すように、合成対象ブロック画像毎に異なるアフィンパラメータを用いてアフィン変換をすることで、線形変換による補正が可能となる。以下、アフィン変換後の合成対象ブロック画像を変換済合成対象ブロック画像と呼ぶ。
【0038】
●●加算合成部208の詳細
加算合成部208は、画像変換部207より得られる変換済合成対象ブロック画像の各々を、入力端子201より得られる基準画像の対応する位置に合成(加算合成)することにより、ブレ補正画像を生成する。
【0039】
加算合成の方法について図6を用いて示す。図中の点線は、画像を横Bx画素、縦By画素で等間隔に分割したM*N個の領域の境界を示す。合成に使用するのは変換済合成対象ブロック画像内に含まれる、等間隔に分割された領域である。図6では、斜線部の領域が合成対象領域である。1枚目の合成対象画像の場合は、加算合成部208は、各変換済合成対象ブロック画像からこの領域を切り出し、切り出した領域の画像と基準画像とを、基準画像と合成対象画像とが1:1となるような重み付けで加算合成することで、合成画像を生成する。また、n枚目(n≧2)の合成対象画像の場合は、加算合成部208は、この合成画像と合成対象画像とがn:1となるような重み付けで、切り出した領域の画像と合成画像とを加算合成することで、合成画像を更新する。全合成対象画像について加算合成を行うことで最終的に得られる合成画像がブレ補正画像となる。
【0040】
加算合成部208は、以上の方法により、基準画像と変換済合成対象ブロック画像とを用いてブレ補正画像を生成する。
【0041】
なお、加算合成の方法は図6に示すものに限定されない。例えば、図7に示すように、等間隔に分割した領域の周囲を隣接するブロックと加算合成した後に、基準画像と合成してもよい。隣接ブロックとの加算合成を行うことで、領域の境界をより自然につなげることができる。
【0042】
以上説明したように、本実施形態によれば、デジタルカメラ100は、基準画像に対する合成対象画像のブレを補正するための射影変換パラメータを算出する。そして、デジタルカメラ100は、合成対象画像を分割して得られる複数の合成対象ブロック画像の各々について、射影変換パラメータを用いた射影変換をアフィン変換に近似することにより、各合成対象ブロック画像のアフィンパラメータを算出する。そして、デジタルカメラ100は、対応するアフィンパラメータを用いて各合成対象ブロック画像をアフィン変換する。これにより、回路規模の増大を抑制しつつ、画像の非線形な変形を補正することが可能となる。
【0043】
[第2の実施形態]
第1の実施形態では、画像分割部205により得られる合成対象ブロック画像のサイズは、横Bx画素、縦By画素にマージンを加えたサイズに固定されていた。これに対し、第2の実施形態では、射影変換をアフィン変換に近似する際の誤差を基に合成対象ブロック画像のサイズを決定する構成について説明する。
【0044】
第2の実施形態では、デジタルカメラ100は、図2に示す画像合成部110の代わりに図8に示す画像合成部801を備える。画像合成部110と比較すると、画像合成部801は、画像分割部205の代わりに画像分割部802を備える。
【0045】
画像分割部802は、変換パラメータ算出部204から得られる射影変換パラメータを基に、近似処理における誤差に基づきブロックサイズを設定する。具体的には、変換パラメータ算出部204より得られる画像中央を原点とする射影変換パラメータa(0≦j≦7)と、ブロックサイズ(横Cx、縦Cy)とを用いて、誤差Eを

のように表す。上式において、Eは、変換パラメータ近似部206における近似の誤差である。ここでは、第1の実施形態で示した近似式(式(9)参照)を基に、その最大誤差をEとする。この近似誤差が大きい場合、ブロック端部においてアフィン変換による近似ができず、画像のずれが発生する。このため、画像分割部802は、ブロックサイズ横Cx、縦Cyを、このEが閾値以下となるように決定する。閾値thは、許容する画像のずれを表す値である。このため、画像分割部802は、画像のずれが目立つ場合はthを小さく、画像のずれが目立たない場合はthを大きく設定する。ここでは、撮影時の感度に応じてthを変化させる場合について述べる。感度が低い場合はノイズが少なく画像のずれが目立つため、thを小さな値とする。感度が高くなるに従いノイズが増加し画像のずれが目立ちにくくなるため、thを大きな値とする。
【0046】
以上説明したように、本実施形態によれば、画像分割部802は、変換パラメータ近似部206における近似の誤差が閾値以下になるように、合成対象ブロック画像のサイズを決定する。これにより、近似に伴う画質劣化を抑制することが可能となる。
【0047】
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
撮像装置により連続的に撮像された基準画像及び合成対象画像を処理する画像処理装置であって、
前記基準画像に対する前記合成対象画像のブレを表すブレ情報を取得する取得手段と、
前記ブレを補正するように前記合成対象画像を非線形変換するための非線形変換パラメータを算出する第1算出手段と、
前記合成対象画像を複数のブロック画像に分割する分割手段と、
前記非線形変換パラメータを用いた前記非線形変換を線形変換に近似することにより、前記ブレを補正するように前記複数のブロック画像の各々を線形変換するための線形変換パラメータを前記複数のブロック画像の各々について算出する第2算出手段と、
前記第2算出手段で算出された前記複数のブロック画像の各々についての線形変換パラメータを用いて前記複数のブロック画像の各々を線形変換する変換手段と、
前記線形変換された前記複数のブロック画像の各々を前記基準画像の対応する位置に合成する合成手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記分割手段は、前記第2算出手段による前記近似の誤差が閾値以下になるように、前記複数のブロック画像のサイズを決定して前記分割を行う
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記非線形変換は射影変換であり、
前記線形変換はアフィン変換である
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記取得手段は、前記基準画像と前記合成対象画像とを比較することにより前記ブレを検出する検出手段を備える
ことを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
撮像装置により連続的に撮像された基準画像及び合成対象画像を処理する画像処理装置の制御方法であって、
前記画像処理装置の取得手段が、前記基準画像に対する前記合成対象画像のブレを表すブレ情報を取得する取得工程と、
前記画像処理装置の第1算出手段が、前記ブレを補正するように前記合成対象画像を非線形変換するための非線形変換パラメータを算出する第1算出工程と、
前記画像処理装置の分割手段が、前記合成対象画像を複数のブロック画像に分割する分割工程と、
前記画像処理装置の第2算出手段が、前記非線形変換パラメータを用いた前記非線形変換を線形変換に近似することにより、前記ブレを補正するように前記複数のブロック画像の各々を線形変換するための線形変換パラメータを前記複数のブロック画像の各々について算出する第2算出工程と、
前記画像処理装置の変換手段が、前記第2算出工程で算出された前記複数のブロック画像の各々についての線形変換パラメータを用いて前記複数のブロック画像の各々を線形変換する変換工程と、
前記画像処理装置の合成手段が、前記線形変換された前記複数のブロック画像の各々を前記基準画像の対応する位置に合成する合成工程と、
を備えることを特徴とする制御方法。
【請求項6】
コンピュータに、請求項5に記載の制御方法の各工程を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−175290(P2012−175290A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−33861(P2011−33861)
【出願日】平成23年2月18日(2011.2.18)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】