説明

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

【課題】少ないメモリ容量で、電子的手振れ補正を高精度に実行することが可能な画像処理方法および画像処理装置を提供することを目的とする。
【解決手段】連続して撮影された画像1、画像2をフレームメモリ6に格納し、フレームメモリ6に格納された画像1、2の複数の参照エリアから画像を補正用画像としてそれぞれ切り取り、複数の画像1、画像2の補正用画像を使用して、画像1と画像2が精度よく重なるような手振れ補正量を算出し、画像1を算出した手振れ補正量で補正し、補正した画像1をフレームメモリ6に格納された画像1に上書きし、補正した画像1と画像2を合成して合成画像を生成し、合成画像をフレームメモリ6に格納された画像2に上書きする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理方法および画像処理装置に関する。
【背景技術】
【0002】
デジタルカメラ等に用いられるカメラモジュールでは、手振れ補正を行う方式として、記録時に受光素子から受け取った画像データから計算を行って補正をかける電子式(例えば、特許文献1参照)と、物理的に光軸を調整する光学式が存在する。
【0003】
カメラモジュールでは、薄型化や小型化の要請により、レンズモジュールを薄くするのが望ましいが、電子式は、光学式に比して、専用の機能をもったモジュールを搭載する必要がないため、薄型化や小型化に優れている。
【0004】
電子式の手振れ補正では、複数枚の画像を連続撮影して、フレームメモリに大量に画像を保存した後、後段の信号処理により、手振れによるボケを低減するのが一般的である。
【0005】
しかしながら、従来の電子式の手振れ補正では、大容量のフレームメモリを使用しているため、コストが大幅に増加してしまうという問題がある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−75105号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、上記に鑑みてなされたものであって、少ないメモリ容量で、電子的手振れ補正を高精度に実行することが可能な画像処理方法、画像処理装置、およびコンピュータが実行可能なプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一態様によれば、連続して撮影されたN(Nは2以上)枚の画像のうち、第1、第2の画像をフレームメモリに格納する工程と、前記フレームメモリに格納された第1、第2の画像の複数の参照エリアから画像を補正用画像としてそれぞれ切り取る工程と、前記第1の画像、第2の画像の複数の補正用画像を使用して、前記第1の画像と第2の画像が精度よく重なるような手振れ補正量を算出し、前記第1の画像を前記算出した手振れ補正量で補正する工程と、補正した前記第1の画像を前記フレームメモリに格納された前記第1の画像に上書きする工程と、前記補正した前記第1の画像と前記第2の画像を合成して合成画像を得る工程と、前記合成した合成画像を前記フレームメモリに格納された前記第2の画像に上書きする工程と、を含むことを特徴とする画像処理方法が提供される。
【0009】
また、本発明の一態様によれば、連続して撮影されたN枚の画像のうち、第1、第2の画像を格納するフレームメモリと、前記フレームメモリに格納された第1、第2の画像の複数の参照エリアから画像を補正用画像としてそれぞれ切り取るクロップ手段と、前記第1の画像および第2の画像の複数の補正用画像から手振れ補正量を算出し、前記第1の画像を前記算出した手振れ補正量で補正する手振れ補正手段と、前記補正された前記第1の画像と前記第2の画像を合成した合成画像を生成する画像合成手段と、を備えたことを特徴とする画像処理装置が提供される。
【発明の効果】
【0010】
本発明によれば、連続して撮影されたN枚の画像のうち、第1、第2の画像をフレームメモリに格納する工程と、前記フレームメモリに格納された第1、第2の画像の複数の参照エリアから画像を補正用画像としてそれぞれ切り取る工程と、前記第1の画像、第2の画像の補正用画像を使用して、前記第1の画像と第2の画像が重なるような手振れ補正量を算出し、前記第1の画像を前記算出した手振れ補正量で補正する工程と、補正した前記第1の画像を前記フレームメモリに格納された前記第1の画像に上書きする工程と、前記補正した前記第1の画像と前記第2の画像を合成して合成画像を得る工程と、前記合成した合成画像を前記フレームメモリに格納された前記第2の画像に上書きする工程と、を含むこととしたので、少ない容量のメモリを使用して、電子的手振れ補正を高精度に実行することが可能となる。
【図面の簡単な説明】
【0011】
【図1】図1は、実施の形態1に係る画像処理装置を備える画像記録装置の構成の一例を示すブロック図である。
【図2】図2は、画像の手振れ補正用の参照エリアと画像の移動方向を説明する
【図3】図3は、画像処理装置の手振れ補正の処理フローを説明するための図である。
【図4】図4は、連続して2枚の画像を処理する場合のフレームメモリの使用方法を説明するための模式図である。ための図である。
【図5】図5は、画像処理装置のフレームマッチング処理の流れを説明するためのフローチャートである。
【図6】図6は、画像処理装置が、連続して3枚の画像を処理する場合の手振れ補正の処理フローを説明するための図である。
【図7】図7は、連続して3枚の画像を処理する場合のフレームメモリの使用方法を説明するための模式図である。
【図8】図8は、動きボケを算出する方法を説明するための図である。
【図9】図9は、実施の形態2に係る画像処理装置を備えた画像記録装置を示すブロック図である。
【図10】図10は、シャッタが2回操作され、それぞれ2枚の画像を使用して手振れ補正を行う場合の処理フローを示す図である。
【発明を実施するための形態】
【0012】
以下に、この発明にかかる画像処理方法、画像処理装置、およびコンピュータが実行可能なプログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。また、下記実施の形態における構成要素には、当業者が容易に想定できるものまたは実質的に同一のものが含まれる。
【0013】
(実施の形態1)
図1は、実施の形態1に係る画像処理装置を備える画像記録装置の構成の一例を示すブロック図である。画像記録装置は、図1に示すように、撮像レンズ1と、IRカットフィルタ2と、イメージセンサ部3と、画像処理装置4と、および記録部5とを備えている。なお、図1に示す例では、イメージセンサ部3と画像処理装置4とが分離された構造となっているが、イメージセンサ部3が画像処理装置4を備える構成としてもよい。
【0014】
撮像レンズ1は、被写体からの光を取り込むための光学系を構成し、イメージセンサ部3に被写体像を結像する。IRカットフィルタ2は、撮像レンズ1により取り込まれた光から赤外光を除去する。イメージセンサ部3は、撮像レンズ1により取り込まれた光を信号電荷に変換することにより、被写体像を撮像する。イメージセンサ部3は、R(赤色)、G(緑色)、B(青色)の画素値をベイヤー配列に対応する順序で取り込むことによりアナログ画像信号を生成する。さらに、イメージセンサ部3は、得られた画像信号をアナログ方式からデジタル方式へ変換して、デジタル画像信号を画像処理装置4に出力する。
【0015】
画像処理装置4は、イメージセンサ部3から入力されるデジタル画像信号に対して、種々の画像処理を施して、記録部5に出力する。画像処理装置4は、手振れ補正等を行う場合に作業領域として使用されるフレームメモリ6、および手振れ補正機能、シェーディング補正機能、ホワイトバランス調整機能等を備えた画像処理回路11を備えている。記録部5は、画像処理装置4から入力された画像データをメモリや記録媒体に記録する。
【0016】
つぎに、図2〜図8を参照して、画像処理装置4の手振れ補正処理を説明する。図2は、手振れ補正用の画像の参照エリアと画像の移動方向を説明するための図であり、(a)は、手振れ補正用の画像の参照エリア、(b)は、画像の移動方向を説明するための図である。図3は、画像処理装置4の手振れ補正の処理フローを説明するための図である。特に、図3は、連続して2枚の画像を処理する場合を示している。図4は、フレームメモリ6の使用方法を説明するための模式図である。
【0017】
手振れ補正モードでは、シャッタースピードを遅くしないと、十分な感度が得られずノイズが増えてしまうというような暗い撮影条件下において、シャッタ操作が行われると、被写体がボケないように高速で連続的に2枚の画像が撮影される。1枚目に撮影されたRAW画像を画像1、2枚目に撮影されたRAW画像を画像2と称する。
【0018】
図2(a)に示すように、画像フレームには、複数(同図に示す例では9個)の手振れ補正用の参照エリア(以下、「window」と称する)が設定される。なお、winwowの数はこの例に限られるものではない。また、windowは、画角の真ん中を中心に、レンズ性能が劣化しにくい傾向にある像高70%までの領域に設定することにしてもよい。これにより、メモリ容量と計算時間を削減すると同時に、精度良く手振れ補正量を検出できるようになる。
【0019】
図3において、センサイメージ部3から入力される画像1、画像2は、それぞれフレームメモリ6に格納される(図4(a)参照)。クロップ(Crop)処理11、11では、フレームメモリ6に格納された画像1、画像2から、図2(a)に示される複数のwindowを切り取る。画像1、画像2から切り取られた画像は、手振れ補正量を算出する場合に使用される手振れ補正用画像であり、それぞれwindw画像1、window画像2と称する。複数のwindw画像1およびwindow画像2は、フレームメモリ6に格納される(図4(a)参照)。計算時間を短縮したり、フレームメモリの容量を削減したい場合は、windowの数を減らしたり、windowの面積を小さくしてもよい。
【0020】
次に、デモザイキング(画像復元)処理12、12では、複数のwindow画像1、2に対して、G信号に着目してデモザイキング処理を行い、G信号のみから成るG画像を生成する。このG画像のwindow画像1、2が以下の処理で使用される。ここでいうデモザイキング処理とは、RB信号の抜けたG信号のみの歯抜け画像から補完などにより、全G画像を復元することをいう。
【0021】
フレームマッチング処理13では、図2(b)に示すように、画像1をPitchおよびYaw方向に対して一定量ずつ移動させる。ここでいう、PitchとはY軸(縦)方向のことをいい、YawはX軸(横)方向のことをいう。そして、移動単位で、Window毎に、移動後の複数のwindow画像1と複数のwindow画像2との信号値の差をそれぞれ計算して、その差が最小となるようなPitchおよびYawの移動方向および移動量を算出する。複数のwindow画像1は、画像1の移動毎に画像1から切り取られてフレームメモリ6に上書きされる。フレームメモリ6に格納された複数のwindow画像1と複数のwindow画像2を使用して、その信号値の差が算出される。画像1と画像2が精度良く重なった場合に、複数のwindow画像1と複数のwindow画像2の信号値の差が最小となる。
【0022】
この移動方向および移動量が手振れ補正量である。画像1を、算出したPitchおよびYawの移動方向および移動量だけ移動させて、すなわち、算出した手振れ補正量で画像1の手振れ補正を行う。この移動後画像1は、フレームメモリ6の画像1に上書きされる(図4(b)参照)。
【0023】
最後に、マージ(Merge)処理14では、移動後画像1と画像2とを合成して、合成画像2を生成する。合成画像2は、フレームメモリ6の画像2に上書きされる(図4(c)参照)。
【0024】
これにより、少ない容量のフレームメモリ6を使用して電子的手振れ補正を行うことができ、解像度が高く、かつ、ノイズの少ない高精細な画像を得ることができる。
【0025】
図5は、画像処理装置4のフレームマッチング処理14の流れを説明するためのフローチャートである。図5において、まず、画像1を規定範囲内で、PitchおよびYaw方向へ一定量ずつ移動させる(ステップS1)。ここで、移動量は細かいほど、精度良くボケを補正でき、1画素ずつ移動させることが望ましい。
【0026】
つぎに、移動単位で、移動後の画像1の複数のWindow画像1と複数のwindow画像2の信号値の差を算出する(ステップS2)。ここで、信号値の差は、差の二乗和が望ましい。計算時間を短縮する場合は差の平均値としてもよい。
【0027】
移動単位で算出された信号値の差が最小となるPitchおよびYawの移動方向および移動量を、手振れ補正量として算出する(ステップS3)。ステップS3で算出したPitchおよびYawの移動方向および移動量に対して、画像1を移動させ(ステップS4)、すなわち、画像1を手振れ補正量で補正する。
【0028】
上記実施の形態では、連続して2枚の画像を処理する場合について説明したが、3枚以上の画像を連続して処理することにしてもよい。図6は、画像処理装置4が、連続して3枚の画像を処理する場合の手振れ補正の処理フローを説明するための図である。図7は、連続して3枚の画像を処理フレームメモリ6の使用方法を説明するための模式図である。
【0029】
シャッタが操作されると、連続して3枚の画像が撮影されて取り込まれる。2枚目までの処理は、上記図2および図3と同様であるので、3枚目の処理から説明する。3枚目に撮影されたRAW画像を画像3と称する。
【0030】
図6において、画像3が、フレームメモリ6の移動後画像1に上書きされる(図7(d)参照)。クロップ処理11、11では、フレームメモリ6に格納された合成画像2、画像3に対して、図2(a)に示す各windowを切り取る処理を行う。合成画像2、画像3から切り取られた画像をそれぞれwindw合成画像2、window画像3と称する。window合成画像2、window画像3は、フレームメモリ6に格納される(図7(d)参照)。
【0031】
次に、デモザイキング処理12、12では、window合成画像2、画像3に対して、G信号に着目してデモザイキング処理を行い、G信号のみから成るG画像を生成する。
【0032】
フレームマッチング処理13では、window合成画像2を、PitchおよびYaw方向に対して、一定量ずつ移動させる。そして、移動単位で、移動後の合成画像2の複数のwindow合成画像2と画像3の複数のwindow画像3との信号値の差を計算して、その差が最小となるような、PitchおよびYawの移動方向および移動量を算出する。合成画像2を、算出したPitchおよびYawの移動方向および移動量だけ移動させる。移動後合成画像2は、フレームメモリ6の合成画像2に上書きされる(図7(e)参照)。
【0033】
最後に、マージ処理14において、移動後合成画像2と画像3とを合成して、合成画像3を生成する。合成画像3は、フレームメモリ6の画像3に上書きされる(図7(f)参照)。なお、4枚以上連続して処理する場合も同様の方法で行うことができる。連続して処理する枚数が多いほど、解像度が高くノイズの少ない画像となる。
【0034】
以上説明したように、実施の形態1によれば、連続して撮影された画像1、画像2をフレームメモリ6に格納し、フレームメモリ6に格納された画像1、2の複数の参照エリアから画像を補正用画像としてそれぞれ切り取り、複数の画像1、画像2の補正用画像を使用して、画像1と画像2が精度よく重なるような手振れ補正量を算出し、画像1を算出した手振れ補正量で補正し、補正した画像1をフレームメモリ6に格納された画像1に上書きし、補正した画像1と画像2を合成して合成画像を生成し、合成画像をフレームメモリ6に格納された画像2に上書きすることとしたので、最小限のフレームメモリを使用して、電子的手振れ補正を高精度に実行することができ、解像度が高く、かつ、ノイズの少ない高精細な画像を得ることができる。
【0035】
また、実施の形態1によれば、画像1、画像2の補正用画像のG画素を補完して補正用G画像を復元し、復元した補正用G画像を使用して、手振れ補正量を算出することとしたので、少ない演算量で高精度な手振れ補正量を得ることが可能となる。
【0036】
また、実施の形態1によれば、画像1を移動させた場合に、移動単位で、移動後の画像1の複数の補正用画像と画像2の複数の補正用画像の信号値の差をそれぞれ算出し、その差が最小となる移動方向および移動距離を手振れ補正量として算出することとしたので、高精度な手振れ補正量を算出することが可能となる。
【0037】
また、実施の形態1によれば、複数の参照エリアは、画角の真ん中を中心に、レンズ性能が劣化しにくい傾向にある像高70%までの領域に配置されることとしたので、メモリ容量と計算時間を削減すると同時に、精度良く手振れ補正量を算出することが可能となる。
【0038】
なお、連続して撮影された画像に対して、シャッタースピードより速い動作を行った被写体があると、画面内で被写体にボケ(動きボケ)が生じて、上記手振れ補正処理では、手振れを完全には補正できない場合もある。そこで、シャッタースピードより速い動作で動いた被写体による動きボケを生じた画像を取り除いて、動きボケのない画像のみから合成画像を生成してもよい。図8は、動きボケを算出する方法を説明するための図である。
【0039】
具体的には、例えば、図7において、画像1と画像2のwindow画像1、2について動きボケを検出する。動きボケの検出は、各window画像1、2内において、隣接する画素間の輝度値またはG信号の差分値を求める。例えば、図8に示すように、注目画素に対して、右画素と下画素との差分値を求める。この処理をwindow画像1、2内で行い、画像1、画像2毎に全て足し合わせた値を算出する。
【0040】
そして、画像1と画像2とで各々求めた値について比較を行い、大きいほうの値を100%として、小さいほうの値が、所定値(例えば、80%)以下であれば、動きボケがあると判断して、その画像を除いて合成画像を生成する。例えば、画像2に動きボケがある場合は、画像1と画像3で合成画像を生成する。
【0041】
このように、複数枚の画像の中から動きボケのない画像を使用して、上記手振れ補正を行うことにより、シャッタースピードより速い動作を行った被写体がある場合でも高精度な手振れ補正を行うことが可能となる。
【0042】
(実施の形態2)
図9は、実施の形態2に係る画像処理装置4を備えた画像記録装置の構成の一例を示すブロック図である。図9において、図1と同等機能を有する部位には同一符号を付し、異なる点についてのみ説明する。実施の形態2に係る画像処理装置4は、図9に示すように、実施の形態1の画像処理装置4(図1参照)に、フレームメモリ8、画像処理回路9を追加した構成となっている。実施の形態2に係る画像処理装置4は、フレームメモリと画像処理回路を2セット備えているので、手振れ補正処理を並列して処理することで、処理時間を短縮することができる。
【0043】
実施の形態1では、上記図2に示すクロップ処理11〜マージ処理14を繰り返し実行することで、最小容量のフレームメモリを使用して手振れ補正処理を行う構成である。これに対して、実施の形態2では、フレームメモリと画像処理回路を2セット設けることで、図2に示すクロック処理11〜マージ処理14を並列して実行することにより、処理時間を2分の1に短縮することができる。図10は、シャッタが短時間で2回操作され、それぞれ2枚の画像を撮影して手振れ補正を行う場合のフローを示している。回路規模、コストおよびサイズに余裕がある場合は、フレームメモリと画像処理回路を複数セット設けることで、処理速度をセット数倍速くすることが可能となる。
【0044】
(プログラム)
本実施の形態では、上述した画像処理装置の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(または、CPU、MPU、DSP)が記録媒体に格納されたプログラムコードを実行することによっても、上記画像処理装置の機能を実現することが可能である。
この場合、記録媒体から読み出されたプログラムコード自体が前述した画像処理装置の機能を実現することになり、そのプログラムコードまたはそのプログラムを記憶した記録媒体は本実施の形態を構成することになる。プログラムコードを供給するための記録媒体としては、FD、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリ、ROMなどの光記録媒体、磁気記録媒体、光磁気記録媒体、半導体記録媒体を使用することができる。
【0045】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した画像処理装置の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した画像処理装置の機能が実現される場合も含まれること言うまでもない。
【0046】
また、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した画像処理装置の機能が実現される場合も含まれることは言うまでもない。
【符号の説明】
【0047】
1 撮像レンズ、2 IRフィルタ、3 イメージセンサ部、4 画像処理装置、5 記録部、6、8 フレームメモリ、7、9 画像処理回路

【特許請求の範囲】
【請求項1】
連続して撮影されたN(但し、Nは2以上)枚の画像のうち、第1、第2の画像をフレームメモリに格納する工程と、
前記フレームメモリに格納された第1、第2の画像の複数の参照エリアから画像を補正用画像としてそれぞれ切り取る工程と、
前記第1の画像、第2の画像の複数の補正用画像を使用して、前記第1の画像と前記第2の画像が精度よく重なるような手振れ補正量を算出し、前記第1の画像を前記算出した手振れ補正量で補正する工程と、
補正した前記第1の画像を前記フレームメモリに格納された前記第1の画像に上書きする工程と、
前記補正した前記第1の画像と前記第2の画像を合成して合成画像を得る工程と、
前記合成した合成画像を前記フレームメモリに格納された前記第2の画像に上書きする工程と、
を含むことを特徴とする画像処理方法。
【請求項2】
連続して撮影されたN(但し、Nは2以上)枚の画像のうち、第1、第2の画像を格納するフレームメモリと、
前記フレームメモリに格納された第1、第2の画像の複数の参照エリアから画像を補正用画像としてそれぞれ切り取るクロップ手段と、
前記第1の画像および第2の画像の複数の補正用画像から手振れ補正量を算出し、前記第1の画像を前記算出した手振れ補正量で補正する手振れ補正手段と、
前記補正された前記第1の画像と前記第2の画像を合成した合成画像を生成する画像合成手段と、
を備えたことを特徴とする画像処理装置。
【請求項3】
さらに、前記第1の画像、第2の画像の補正用画像のG画素を補完して補正用G画像を復元するデモザイキング処理手段を備え、
前記手振れ補正手段は、前記復元した補正用G画像を使用して、前記手振れ補正量を算出することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記手振れ補正手段は、前記第1の画像を移動させた場合に、移動単位で、移動後の第1の画像の複数の補正用画像と前記第2の画像の複数の補正用画像との信号値の差をそれぞれ算出し、その差が最小となる移動方向および移動距離を前記手振れ補正量として算出することを特徴とする請求項2または請求項3に記載の画像処理装置。
【請求項5】
前記連続した撮影したN枚の画像のうち、動きボケが生じた画像を検出し、当該動きボケが検出された画像については、前記合成画像を生成する場合に、使用しないことを特徴とする請求項2〜請求項4のいずれか1つに記載の画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−205284(P2011−205284A)
【公開日】平成23年10月13日(2011.10.13)
【国際特許分類】
【出願番号】特願2010−69321(P2010−69321)
【出願日】平成22年3月25日(2010.3.25)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】