近年、撮像装置の高性能化に伴い、多くの撮像装置及び撮影レンズに手ブレ補正機構が搭載されている。撮像装置で手ブレ補正を行う場合は、加速度、角加速度、角速度などを検出する手ブレ検出センサ(例えばジャイロセンサ)を用い、このセンサの出力信号に基づいて、撮像素子を駆動させる。また、撮影レンズで手ブレ補正を行う場合は、同様の手ブレ検出センサの出力信号に基づいて、撮影レンズを構成するレンズの一部を駆動させる。このように、手ブレによるブレを打ち消すように撮像素子やレンズを駆動させることで、手ブレ補正を行うことが可能である。
一方で、撮像装置及び撮影レンズに手ブレ補正機構を搭載せず、撮影した画像に対して画像処理を行うことによりブレ画像を復元する画像復元方法がある。多数存在する画像復元方法の中でも、ブレ方向やブレ量等のブレ情報から想定した劣化関数を用いてブレ画像を復元する手法が、一般的に知られている。
以下に、ブレ画像を復元する手法で用いる劣化関数について説明する。f(x,y)を理想画像、g(x,y)を劣化画像とするとき、
g(x,y)=∬h(x,y,x',y')f(x',y')dx'dy'+v(x,y) …(1)
の関係があると仮定する。ここで、h(x,y,x’,y’)は劣化関数、v(x,y)は出力画像におけるランダム雑音を表す。
平行移動を除いて、点の劣化した像がその点の位置に依存しないならば、点像分布関数(PSF:Point Spread Function)は、h(x-x’,y-y’)の形となり、式(1)は、
g(x,y)=∬h(x-x',y-y')f(x',y')dx'dy'+v(x,y) …(2)
となる。雑音がないとき、式(2)の両辺のフーリエ変換を行うと、畳み込み定理より、
G(u,v)=H(u,v)F(u,v) …(3)
となる。ここで、G(u,v)、H(u,v)、F(u,v)はそれぞれ、g(x,y)、h(x,y)、f(x,y)のフーリエ変換を表す。また、H(u,v)は、理想画像f(x,y)を劣化画像g(x,y)に変換するシステムの伝達関数である。
ここでは、カメラと被写体との相対的な運動による劣化(いわゆるブレ画像)についてのみ取り上げるため、その劣化モデルについて以下に説明する。運動を除いて画像は時間的に不変であると仮定する。もし、相対運動が平面内における記録用フィルムの運動によるものと近似的に等しいならば、フィルム上の点における露光量の総計は、瞬時的な露光量をシャッタが開いている時間だけ積分することによって求められる。この場合、シャッタの開閉に要する時間は無視できるものとする。α(t)、β(t)をそれぞれ変位のx方向、y方向の成分であるとすると、
という式が得られる。この場合、Tは露光時間であり、便宜的に-T/2からT/2までであるとした。式(4)の両辺をフーリエ変換すると、
となる。x-α(t)=ξ、y-β(t)=ηと置くと、式(4f)は、
となる。この式(5)から、劣化は式(3)又はこれに等しい式(2)でモデル化されることがわかる。この劣化の伝達関数H(u,v)は、
という式で与えられる。
従って、X軸に対して、角度θ、一定の速度Vで時間Tだけブレた場合の点応答関数は、
H(u,v)=sinπωT/πω …(7)
で与えられる。ここで、
ω=(u-u0)Vcosθ+(v-v0)Vsinθ …(8)
であり、u0、v0は画像の中心座標である。なお、ωが微小な場合、H(u、v)=Tと近似する。
点像分布関数h(x-x’,y-y’)は、一般に画像(PSF画像)として表現される。
ここで、上述した劣化関数を用いた画像復元方法の一例として、基本的な画像復元アルゴリズムである逆フィルタを用いた画像復元方法について説明する。劣化画像g(x,y)と元画像f(x,y)が上記式(2)のモデルに従うと仮定する。
このとき、雑音が無いならば、g(x,y)、f(x,y)及びPSF、h(x、y)のフーリエ変換は上記式(3)を満たす。ここで、式(3)を変形すると、
F(u,v)=G(u,v)/H(u,v) …(9)
となる。この式(9)から、H(u,v)が既知であれば、劣化画像のフーリエ変換G(u,v)に1/H(u,v)をかけて逆フーリエ変換することによって、f(x,y)を復元できることがわかる。
ここで、式(9)の1/Hを逆フーリエ変換したものを復元フィルタRとすると、以下の式(10)のように実面での画像に対するコンボリューション処理を行うことで同様に元の画像を得ることができる。
f(x,y)=g(x,y)*R(x,y) …(10)
しかし、実際の画像にはノイズ成分があるため、上記のようにブレ画像の点応答関数H(u,v)の完全な逆数をとって作成した復元フィルタを用いると、劣化画像とともにノイズ成分が増幅されてしまい、一般には良好な画像は得られない。この点については、例えばウィーナーフィルターのように画像信号とノイズ信号の強度比に応じて画像の高周波側の回復率を抑制する方法が知られている。このように、点応答関数H(u,v)の完全な逆数を用いることはできないため、画像処理による復元処理は手ブレの影響を低減することが可能であるが、完全な復元を行うことはできない。従って、一般的に画像処理による手ブレ補正は、撮像装置及び撮影レンズに搭載した手ブレ補正機構を用いる場合に比べて補正精度が劣る。
一方で、上述の撮像装置及び撮影レンズに搭載した手ブレ補正機構を用いる場合は、撮影に用いるレンズの歪曲収差が補正精度を低下させる問題がある。画像周辺部に写る被写体の大きさ及び形状は、レンズの歪曲収差の特性によって異なる。また、同一の被写体が画像中央部と周辺部にそれぞれ写る場合、画像上の被写体の大きさ及び形状は、歪曲収差によって画像中央部と周辺部で異なる。このように、撮影した画像における被写体の大きさ及び形状が歪曲収差によって異なるため、手ブレが発生した場合に画像上に見られるブレの大きさ及び形状も、歪曲収差の特性によって異なる。歪曲収差によって、画像中央部のブレと画像周辺部のブレの影響が異なるため、撮像素子又はレンズを駆動させても、適切な補正ができない。例えば、画像中央部は適切な補正がされるが、画像周辺部では補正不足、又は過補正が発生し、手ブレの影響が残存する。
特許文献1では、歪曲収差補正を適用した画像に対して、画像処理による手ブレ補正を行うことで、手ブレの影響を軽減する方法が提案されている。また、特許文献2では、上述の歪曲収差の影響により発生する撮影画像の周辺部の伸び縮みの発生を抑えるため、歪曲補正の基準位置を変更する方法が提案されている。
以下、添付図面を参照して、本発明の実施形態を説明する。添付図面の全体を通じて、同一の参照符号が付与された要素は、同一又は同様の要素を表す。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。また、別々の実施形態の中で説明されている特徴を適宜組み合せることも可能である。
[第1の実施形態]
図1Aは、カメラシステムの中央断面図である。図1Aにおいて、1は撮像装置を、2は撮像装置1に装着するレンズユニットを、3は複数のレンズからなる撮影光学系を、4は撮影光学系3の光軸を、6は撮像素子を、9aは背面表示装置を、9bはEVFを、それぞれ示す。また、11は撮像装置1とレンズユニット2の電気接点を、12はレンズユニット2に設けられたレンズ制御回路を、14はブレ補正部を、15はブレ検出部を、16はシャッタ機構をそれぞれ示す。撮像装置1は、ブレ補正装置としても機能する。
図1Bは、図1Aのカメラシステムの電気的構成を示すブロック図である。図1Bにおいて、5はカメラ制御回路を、7は画像処理部を、8はメモリ部を、9は表示部を、10は操作検出部を、13はレンズ駆動部を、それぞれ示す。表示部9は、図1Aの背面表示装置9a及びEVF9bを含む。レンズ駆動部13は、焦点レンズ、絞りなどを駆動することができる。ブレ検出部15は、撮像装置1のブレを検出可能である。例えば、ブレ検出部15として振動ジャイロなどを用いることができる。ブレ補正部14は、撮像素子6を光軸4に直交する平面内で並進させる機構である。
物体からの光は、撮影光学系3を介して撮像素子6の撮像面に結像する。撮像素子6からは、ピント評価量及び適当な露光量が得られる。撮像装置1は、この情報に基づいて適切に撮影光学系3を調整することで、適切な光量の物体光を撮像素子6に露光するとともに、撮像素子6近傍に被写体像を結像させることができる。また、シャッタ機構16は、シャッタ幕を走行させることで撮像素子6に被写体像が届くか否かを制御する。シャッタ機構16は、少なくとも被写体像を遮るための幕(メカ後幕)を備えており、露光の完了はシャッタ機構16によってなされる。
画像処理部7は、A/D変換、ホワイトバランス調整、ガンマ補正、補間演算等を行い、記録用の画像を生成することができる。画像処理部7のその他画像処理部22は、A/D変換、ホワイトバランス調整、ガンマ補正、補間演算等を行い、記録用の画像を生成する。画像処理部7のブレ残り成分生成部20は、ブレ補正部14による撮像素子6の並進制御では補正できなかった後述のブレ残り成分を生成する。画像処理部7の画像復元部21は、画像処理部7でA/D変換された画像に対して、生成されたブレ残り成分に基づいて後述の画像処理を行うことにより、ブレ残りを補正する。
メモリ部8は、記録部を含む。カメラ制御回路5は、メモリ部8の記録部へ画像を出力する。また、カメラ制御回路5は、ユーザに提示する画像を表示部9に表示する。
カメラ制御回路5は、撮像の際のタイミング信号などを生成して出力する。カメラ制御回路5は、外部操作に従って撮像系、画像処理系、記録再生系をそれぞれ制御する。例えば、シャッターレリーズ釦(不図示)の押下を操作検出部10が検出すると、カメラ制御回路5は、撮像素子6の駆動制御や、画像処理部7の制御などを行う。また、カメラ制御回路5は、表示部9に含まれる情報表示を行うための情報表示装置の各セグメントの状態を制御する。背面表示装置9aはタッチパネルを含み、タッチパネルは操作検出部10に接続されている。
撮影光学系3の調整動作について説明する。カメラ制御回路5には画像処理部7が接続されており、カメラ制御回路5は、撮像素子6からの信号を基に適切な焦点位置、絞り値を求める。即ち、カメラ制御回路5は、撮像素子6からの信号を基に測光・測距動作を行い、露出条件(Fナンバーやシャッタ速度等)を決定する。操作検出部10へのユーザ操作に応じて、撮像装置1の各部の動作を制御することで、静止画及び動画の撮影が可能となっている。
撮像装置1のブレ補正部14を制御するにあたっては、カメラ制御回路5は、ブレ検出部15からの信号に基づいてブレ補正部14を動作させる。カメラ制御回路5は、ブレ検出部15の出力に基づいて目標値を生成し、ブレ補正部14の駆動制御を行う。
図2は、第1の実施形態に係る手ブレ補正処理のフローチャートである。例えば、シャッターレリーズ釦(不図示)の押下を操作検出部10が検出すると、本フローチャートの処理が開始する。
S101で、カメラ制御回路5は、撮像素子6を用いて露光を行う。露光期間中(画像の撮影中)、カメラ制御回路5は、ブレ検出部15により検出された撮像装置1のブレに基づいて、ブレ補正部14を用いて手ブレ補正のために撮像素子6を駆動する。露光により得られた信号は、A/D変換されて画像データとして取得される。
S102で、ブレ残り成分生成部20は、撮像素子6の露光期間中に行われたブレ補正部14による撮像素子6の駆動情報を、カメラ制御回路5から取得する。
図3は、S102において取得される手ブレ補正駆動情報の例を示す図である。図3(a)において、横軸は時刻を示し、縦軸は撮像素子6のx方向の変位α[t]を示す。図3(b)において、横軸は時刻を示し、縦軸は撮像素子6のy方向の変位β[t]を示す。図3(c)は、手ブレ補正駆動の軌跡を、駆動する平面において示した図である。変位α[t]、β[t]が直線の形状をしていることから分かるように、この例では、撮像素子6の駆動は等速で直線である。図3(c)におけるb0~b3は、それぞれ、図3(a)図3(b)で示した露光期間中の時刻t0~t3に対応している。
なお、この例では、取得される手ブレ補正駆動情報はブレ検出部15で検出した手ブレ情報に対応しており、ここで示した手ブレ補正駆動は、撮像素子6上の光軸4の近傍に結像する像の、手ブレに起因するブレと同等であるものとする。従って、ブレ残り成分生成部20は、手ブレ補正駆動情報を取得する代わりに、ブレ検出部15で検出した手ブレ情報を取得してもよい。この場合、ブレ残り成分生成部20は、手ブレ情報を手ブレ補正駆動情報として用いることができる。即ち、ブレ残り成分生成部20が手ブレ情報を取得することは、ブレ残り成分生成部20が手ブレ補正駆動情報を取得することと技術的に同等である。従って、本明細書において手ブレ補正駆動情報を用いる処理について言及する場合、その処理は、手ブレ情報を手ブレ補正駆動情報として用いる処理を含む。
次に、S103で、ブレ残り成分生成部20は、撮影光学系3における撮影時の歪曲収差情報を取得する。例えば、ブレ残り成分生成部20は、予めメモリ部8に格納された歪曲収差情報から、撮影時の焦点位置などの撮影条件に応じた歪曲収差情報を読み込んでもよい。或いは、ブレ残り成分生成部20は、撮影時の歪曲収差情報を、レンズユニット2から電気接点11を経由してカメラ制御回路5から取得してもよい。
図4は、S103において取得される歪曲収差情報の例を示す図である。図4において、横軸は光軸4からの距離を示す像高を示し、縦軸は歪曲収差による歪率を示す。この例では、歪率が負の値であり、更に像高が大きくなるに従って歪率は小さい値をとるため、樽型の歪曲収差を示している。
次に、S104で、ブレ残り成分生成部20は、S102及びS103において取得した手ブレ補正駆動情報(撮像素子6の駆動量)と歪曲収差情報に基づいてブレ残り成分を算出する。
図5は、ブレ残りの発生原理を示した図であり、撮像素子6が駆動する平面上における座標を示している。ここでは着目位置S0について考える。位置S0’は、着目位置S0に結像している像が、歪曲収差が発生していない場合に結像する位置を示している。位置S0’は、S103で取得した歪曲収差情報に基づいて求めることができる。また、位置S1’は、位置S0’に対して、図3で示した時刻t1のときの撮像素子6の駆動変位を反映した位置である。即ち、歪曲収差が発生していなかった場合に位置S0’に結像する像が、手ブレによって時刻t1の時に位置S1’に結像していることを意味する。また、位置S1は、位置S1’の像が歪曲収差によって結像する位置を示している。つまり、露光開始時に着目位置S0に結像していた像は、時刻t1の時には手ブレによって位置S1に結像する。また、位置b1’は、着目位置S0に対して、図3で示した時刻t1のときの撮像素子6の位置変位を反映した位置である。手ブレによって着目位置S0に結像していた像が時刻t1の時に位置b1’に結像していれば、撮像素子6の手ブレ補正駆動により、手ブレの影響を相殺することができるが、実際には位置b1’ではなく位置S1に結像している。つまり、時刻t1の時は、この位置S1と位置b1’の差異が撮像素子6の手ブレ補正駆動では補正できず、ブレ残りとして発生する。時刻に対するブレ残り成分のx、y方向の変位をそれぞれm[t]、n[t]とすると、時刻t1の時のm[t1]、n[t1]はそれぞれ次式で算出される。
m[t1]=x1-(x0+α[t1]) …(11)
n[t1]=y1-(y0+β[t1]) …(12)
ここでは、時刻t1の時のブレ残り成分の求め方について説明したが、時刻t2、t3についても同様の考え方で算出することができる。図6は、このように算出したm[t]、n[t]の例を示す図である。
ここまでは手ブレ及び手ブレ補正駆動が等速で直線の場合の例を示したが、実際の手ブレはそうはならないことが多い。図7は、発生した手ブレが等速ではなく、また軌跡が曲線になった場合の手ブレ補正駆動と、ブレ残り成分を示した図である。図7(a)は、撮像素子6の手ブレ補正駆動の変位を示した図である。図7(a)において、横軸は時刻を示し、縦軸はx方向の変位α[t]及びy方向の変位β[t]をそれぞれ示す。図7(b)は、手ブレ補正駆動の軌跡を、駆動する平面において示した図である。図7(c)は、図7(a)及び図7(b)で示した手ブレ補正駆動に対応するブレ残り成分m[t]、n[t]を示した図である。図7(d)は、ブレ残りの軌跡を、駆動する平面において示した図である。
なお、ブレ残り成分生成部20は、算出によりブレ残り成分を取得する代わりに、他の方法によりブレ残り成分を取得してもよい。例えば、ブレ残り成分生成部20は、手ブレ補正駆動情報と歪曲収差情報とを入力として保持しブレ残り成分を出力として保持するルックアップテーブル(LUT)からブレ残り成分を取得してもよい。このLUTは、例えばメモリ部8に格納される。
次に、S105で、画像復元部21は、S104において算出されたブレ残り成分m[t]、n[t]に基づき、ブレ残りの点像分布関数h(x,y)を生成する。点像分布関数の形状は、ブレ残りの軌跡に対応する形状となる。また、点像分布関数の強度は、ブレによって移動する点像が留まった時間が長い場所ほど高い値になるため、ブレ残り成分の時間に対する変化量に応じて設定する。
S106で、画像復元部21は、ブレ残りの点像分布関数に基づいて、ブレ残りを補正するための復元フィルタを生成する。点像分布関数から復元フィルタを生成する方法には複数の技術が知られているが、本実施形態ではウィーナーフィルターを使用する。画像復元部21は、点像分布関数h(x,y)をフーリエ変換した点応答関数H(u,v)を算出し、点応答関数から生成したウィーナーフィルターを逆フーリエ変換し、復元フィルタとする。
S107で、画像復元部21は、生成した復元フィルタをS101において取得した画像データに畳み込むことにより、ブレ残りを低減させる。
このように、手ブレ補正駆動情報と歪曲収差情報から、手ブレ補正駆動により手ブレを補正した画像におけるブレ残り成分を算出し、算出したブレ残り成分に基づく画像処理によりブレ残りを低減させることが可能である。
上の説明では1つ着目位置のブレ残り成分について説明したが、歪曲収差は画像の位置によって異なるため、ブレ残り成分も画像の位置によって異なる。そのため、画像の位置に応じて上述の処理を行うことで画像全体のブレ残りを補正することが可能である。
また、本実施形態では露光期間中に撮像素子6を駆動させる例について説明したが、ブレ補正のために撮影光学系3のブレ補正レンズを駆動させる場合に対しても同様に本実施形態を適用可能である。具体的には、撮影光学系3がブレ補正レンズを有し、レンズ制御回路12は、ブレ検出部15からの信号に基づいて、レンズ駆動部13を介してブレ補正レンズを適切に駆動させる。この場合、上の説明において、撮像素子6の駆動をブレ補正レンズの駆動による被写体の変位に置き換える。また、ブレ残り成分生成部20は、ブレ補正レンズが駆動された撮影光学系3に基づく歪曲収差情報を使用する。これにより、ブレ残り成分生成部20は、撮像素子6を駆動させる場合と同様にブレ残り成分を算出することができる。
以上説明したように、第1の実施形態によれば、撮像装置1は、手ブレ補正駆動情報と歪曲収差情報から、手ブレ補正駆動により手ブレを補正した画像におけるブレ残り成分を算出し、算出したブレ残り成分に基づく画像処理によりブレ残りを低減させる。これにより、歪曲収差のある光学系を用いて撮影された画像の手ブレに起因する画像ブレを効果的に低減することが可能となる。
[第2の実施形態]
第2の実施形態では、ブレ残り及び収差の両方を補正する構成について説明する。また、ブレ残り成分を算出する処理の負荷を低減する構成についても説明する。本実施形態において、カメラシステムの基本的な構成は第1の実施形態と同様である(図1参照)。以下、主に第1の実施形態と異なる点について説明する。
一般的に、撮像装置により被写体を撮像するとき、得られた画像は、特に撮影光学系の収差によって少なからず劣化している。劣化した画像のぼけ成分は、撮影光学系の球面収差、コマ収差、像面湾曲、非点収差等が原因である。これらの収差による画像のぼけ成分は、無収差で回折の影響もない場合に本来、被写体の1点から出た光束が撮像面上で再度1点に集まるべきものが広がりをもって像を結んでいるものを指している。これは、光学的には点像分布関数と呼ぶものである。画像のぼけと言うと、例えばピントがずれた画像もぼけているが、ここでは特に、ピントが合っていても上記の撮影光学系の収差の影響でぼけてしまうものを指すことにする。また、カラー画像での色にじみも撮影光学系の軸上色収差、色の球面収差、色のコマ収差が原因であるものに関しては、光の波長毎のぼけ方の相違と言うことができる。
このような収差による画質劣化を補正する場合は、収差に対応する点像分布関数をフーリエ変換した光学伝達関数を式(9)におけるH(u,v)とすれば、式(9)と式(10)で説明した方式で補正することが可能である。
図8は、第2の実施形態に係る手ブレ補正処理のフローチャートである。例えば、シャッターレリーズ釦(不図示)の押下を操作検出部10が検出すると、本フローチャートの処理が開始する。
S204で、ブレ残り成分生成部20は、S102及びS103において取得した手ブレ補正駆動情報と歪曲収差情報に基づいてブレ残り成分を算出する。本実施形態では、ブレ残り成分を算出する画面内の箇所を、処理負荷低減の観点から限定する。
図9は、第2の実施形態におけるブレ残り成分を算出する画面内の箇所(対象位置)を示した図である。図9においてプロットした点で示すように、ブレ残り成分生成部20は、縦7箇所、横9箇所の全63箇所でのみブレ残り成分を計算するものとする。ブレ残り成分の算出は、第1の実施形態で説明した方法と同様の方法により、ブレ残り成分m[t]、n[t]を算出することのより行われる。
次に、S205で、画像復元部21は、S204において算出されたブレ残り成分m[t]、n[t]に基づき、63箇所のブレ残りの点像分布関数h(x,y)を生成する。
S206で、画像復元部21は、撮影時の撮影光学系3の収差に対応する点像分布関数を取得する。例えば、画像復元部21は、予めメモリ部8に格納された点像分布関数のデータから、撮影時の焦点位置などの撮影状態に応じた点像分布関数を読み込んでもよい。或いは、画像復元部21は、撮影時の点像分布関数を、レンズユニット2から電気接点11を経由してカメラ制御回路5から取得してもよい。このとき、画像復元部21は、取得した点像分布関数を必要に応じて補正しても構わない。この補正とは、予め用意しておく点像分布関数のデータ数を低減するために、離散的な撮影状態に対応するデータを用意しておいて、実際に処理を実行する際に点像分布関数を補正することである。収差の特性は画面内の位置によって異なるため、画像復元部21は、図9に示した63箇所に対応する点像分布関数を取得する。
S207で、画像復元部21は、ブレ残りに対応する点像分布関数と収差に対応する点像分布関数に基づいて、ブレ残りと収差によるボケを補正するための復元フィルタを生成する。画像復元部21は、ブレ残りに対応する点像分布関数h(x,y)をフーリエ変換した点応答関数H(u,v)を算出し、収差に対応する点像分布関数h’(x,y)をフーリエ変換した点応答関数H’(u,v)を算出する。そして、次式で示したI(u,v)を、ブレ残りと収差による劣化の伝達関数とする。
I(u,v)=H(u,v)H’(u,v) …(13)
上述の通り、このIの逆数を使うことでブレ残りと収差による劣化を復元することが可能であるが、本実施形態ではIから生成したウィーナーフィルターを用い、ウィーナーフィルターを逆フーリエ変換した実空間上のフィルタを復元フィルタとする。
なお、上の説明では、S206において画像復元部21が収差に対応する点像分布関数を取得するものとした。しかしながら、点像分布関数h’(x,y)をフーリエ変換した点応答関数H’(u,v)の状態で予めメモリ部8などに保持し、S206で画像復元部21がこの点応答関数H’(u,v)を取得してもよい。この場合、S207において復元フィルタを生成する際に収差に対応する点像分布関数h’(x,y)に対するフーリエ変換が不要になる。
次に、S208で、画像復元部21は、生成した復元フィルタをS101において取得した画像データに畳み込むことにより、ブレ残りと収差によるボケを低減させる。生成した復元フィルタは画面内の63箇所であるため、対応する復元フィルタが存在しない領域が画面内に存在する。そのような領域(ブレ残り成分の取得の対象位置以外の位置)については、画像復元部21は、復元フィルタが存在する周囲4箇所の復元フィルタ(近傍の対象位置の復元フィルタ)を補間することにより、対象画素に対応する復元フィルタを生成して使用する。補間方法としては、線形補間などの既存の方法によって復元フィルタの係数を補間生成する方法を用いることができる。
以上説明したように、第2の実施形態によれば、撮像装置1は、ブレ残り成分に加えて収差を考慮した復元フィルタを生成する。これにより、画像データに復元フィルタを畳み込む処理を1回行うだけで、ブレ残り成分と共に収差に起因するボケを低減することが可能となる。また、画面内で復元フィルタを生成する箇所を限定することで、処理負荷の低減が可能となる。
[第3の実施形態]
第3の実施形態では、画像のブレ残り成分を低減するための補正データを用いてブレ残り成分を低減する構成について説明する。本実施形態において、カメラシステムの基本的な構成は第1の実施形態と同様である(図1参照)が、画像処理部7の構成が第1の実施形態とは異なる。以下、主に第1の実施形態と異なる点について説明する。
図10は、第3の実施形態に係る画像処理部7の構成を示したブロック図である。その他画像処理部22は、A/D変換、ホワイトバランス調整、ガンマ補正、補間演算等を行い、記録用の画像を生成する。ブレ残り補正データ選択部23は、ブレ補正部14による撮像素子6の並進制御では補正できなかったブレ残り成分を補正するためのデータを選択する。この処理については後述する。画像復元部21は、画像処理部7でA/D変換された画像に対して後述の画像処理を行うことにより、ブレ残りを補正する。
第1の実施形態では、ブレ残り成分の生成方法について図5を用いて説明した。また、生成したブレ残りの軌跡情報を図7(d)に示した。本実施形態では、画像上の近傍の領域では歪曲収差の発生する方向は不変と見なして、ブレ残り成分の発生を考える。つまり、図5において、着目位置S0から位置S0’への方向と、位置S1からS1’への方向とが同じものとして考える。この場合、位置b1’から位置S1への方向も同じである。上述の通り、位置b1’と位置S1の差異が時刻t1におけるブレ残り成分であるが、同様に時刻t2、t3の時のブレ残り成分も同じ方向を示す。このように、ある領域で歪曲収差の発生方向を不変と見なした場合、ブレ残り成分の発生方向は各時刻において同じであり、ブレ残りの軌跡は図11で示したように直線として考えることが可能である。実際は位置によって歪曲収差の発生方向は異なるが、歪曲収差が大きくなり易い画像周辺部では近傍領域の歪曲収差発生方向は概ね似た傾向であるため、不変と見なすことでブレ残りの発生方向を直線として考える。
このブレ残り成分の大きさ(ブレ残りの軌跡の長さ)は、手ブレ補正機構(例えば撮像素子6)の駆動量と撮影光学系3の歪曲収差の特性によって異なることは図5で示したブレ残りの発生原理から明らかである。手ブレ補正機構の駆動範囲が大きいほど、また像高に対する歪曲収差歪率の変化が大きいほど、ブレ残り成分は大きくなる。また、ブレ残り成分の点像分布関数の強度は、手ブレ補正機構の駆動によって異なる。そのため、複数の大きさのブレ残りや代表的な強度の点像分布関数に対応する復元フィルタを予め用意しておけば、復元フィルタを選択することでブレ残りを低減することが可能である。
図12は、第3の実施形態に係る手ブレ補正処理のフローチャートである。例えば、シャッターレリーズ釦(不図示)の押下を操作検出部10が検出すると、本フローチャートの処理が開始する。
S304で、ブレ残り補正データ選択部23は、S102及びS103において取得した手ブレ補正駆動情報と歪曲収差情報に基づいて復元フィルタ(ブレ残り成分を低減するための補正データ)を選択して取得する。
図13は、選択する復元フィルタを示したテーブルの一例を示す図である。この例では、ブレ残り補正データ選択部23は、手ブレ補正機構の駆動量eと、歪曲率の像高に対する傾きdに基づいて、画面内の領域毎に復元フィルタを選択する。ここで、手ブレ補正機構の駆動量eは、手ブレ補正駆動の歪曲収差発生方向での変位から求める値とする。図14(a)は、手ブレ補正駆動の軌跡と歪曲収差発生方向を示した例であり、図14(b)は、手ブレ補正駆動の歪曲収差発生方向での変位γ[t]を示した例である。手ブレ補正機構の駆動量eとしては、変位γ[t]の最大値と最小値の差分を使用してもよいし、変位γ[t]のばらつきを示す標準偏差を使用してもよい。歪曲率の像高に対する傾きdとしては、図4で示した歪曲収差情報の対象像高における傾きを使用する。
次に、各復元フィルタについて説明する。図13の復元フィルタは、歪曲率の像高に対する傾きdが大きいほど大きなブレ残りを補正するように構成されている。即ち、補正対象のブレ残り成分の大きさはフィルタ00<フィルタ01<フィルタ02<フィルタ03である。また、図13の復元フィルタは、手ブレ補正機構の駆動量eが大きいほど大きなブレ残りを補正するように構成されている。即ち、補正対象のブレ残り成分の大きさはフィルタ00<フィルタ10<フィルタ20<フィルタ30である。また、各復元フィルタは、ブレ残りの発生方向は1方向であり、かつ軌跡は直線を想定したものである。復元フィルタを生成する基になっている点像分布関数の強度は、ここでは一律とする。即ち、手ブレ補正機構が等速で駆動した場合を代表条件として保持する。
図13で示したテーブルは、手ブレ補正機構の駆動量eと、歪曲率の像高に対する傾きdの値によって使用する復元フィルタを定義したものであり、それぞれ判定閾値K[]とl[]とに対する比較を行うことで使用する復元フィルタを選択することができる。この判定閾値K[]とl[]やフィルタ00~33は、手ブレ補正機構や撮影光学系3の特性から予め設定しておく値である。
次に、S305で、画像復元部21は、S304において取得した復元フィルタを、歪曲収差発生方向に応じて回転する。これは、S304において取得した復元フィルタは、ブレ残りの発生方向が1方向固定の復元フィルタであるため、画面内の位置に応じて歪曲収差が発生する方向に合わせて復元フィルタを回転処理する必要があるからである。
S306で、画像復元部21は、S305において回転した復元フィルタをS101において取得した画像データに畳み込むことにより、ブレ残りを低減させる。
このように、予め生成した複数の復元フィルタを(例えばメモリ部8に)保持しておき、手ブレ補正駆動情報と歪曲収差情報に基づいて復元フィルタを選択することで、ブレ残りを低減させることが可能である。
なお、上では、ブレ残り補正データ選択部23が選択する補正データとして、予め生成しておいた復元フィルタを保持する構成について説明した。しかしながら、ブレ残り補正データ選択部23が選択する補正データは、復元フィルタを生成するための点像分布関数や、点像分布関数をフーリエ変換した点応答関数(ブレ残りの点応答関数)であってもよい。
図15は、補正データとして予め算出したブレ残りの点応答関数を保持する構成における、手ブレ補正処理のフローチャートである。図15の手ブレ補正処理では、ブレ残り及び収差の両方を補正するものとする。例えば、シャッターレリーズ釦(不図示)の押下を操作検出部10が検出すると、本フローチャートの処理が開始する。
S404で、ブレ残り補正データ選択部23は、S102及びS103において取得した手ブレ補正駆動情報と歪曲収差情報に基づいてブレ残りの点応答関数を選択する。撮像装置1は、図13を参照して前述した復元フィルタに対応する点応答関数を同様のテーブルの形式でメモリ部8に保持している。ブレ残り補正データ選択部23は、手ブレ補正機構の駆動量eと、歪曲率の像高に対する傾きdに基づいて、点応答関数を選択する。この時、図9に示すように、選択を行う画面内の箇所を処理負荷低減の観点から限定してもよい。図9においてプロットした点で示すように、ブレ残り補正データ選択部23は、縦7箇所、横9箇所の全63箇所でのみ点応答関数を選択するものとする。
S405で、画像復元部21は、撮影時の撮影光学系3の収差に対応する点応答関数を取得する。例えば、画像復元部21は、予めメモリ部8に格納された点応答関数のデータから、撮影時の焦点位置などの撮影状態に応じた点像分布関数を読み込んでもよい。或いは、画像復元部21は、撮影時の点応答関数を、レンズユニット2から電気接点11を経由してカメラ制御回路5から取得してもよい。このとき、画像復元部21は、取得した点応答関数を必要に応じて補正しても構わない。この補正とは、予め用意しておく点応答関数のデータ数を低減するために、離散的な撮像状態に対応するデータを用意しておいて、実際に処理を実行する際に点応答関数を補正することである。収差の特性は、画面内の位置によって異なるために、画像復元部21は、図9に示した63箇所に対応する点応答関数を取得する。
S406で、画像復元部21は、ブレ残りに対応する点応答関数と収差に対応する点応答関数に基づいて、ブレ残りと収差によるボケを補正するための復元フィルタを生成する。画像復元部21は、ブレ残りに対応する点応答関数H(u,v)と、収差に対応する点応答関数H’(u,v)から、式(13)によってブレ残りと収差による劣化の伝達関数I(u,v)を算出する。そして、画像復元部21は、図8のS207と同様の処理により、I(u,v)を基に復元フィルタを生成する。
S407で、画像復元部21は、生成した復元フィルタをS101において取得した画像データに畳み込むことにより、ブレ残りと収差によるボケを低減させる。作成した復元フィルタは画面内の63箇所であるため、対応する復元フィルタが存在しない領域が画面内に存在する。そのような領域については、画像復元部21は、復元フィルタが存在する周囲4箇所の復元フィルタを補間することにより、対象画素に対応する復元フィルタを生成して使用する。補間方法としては、線形補間などの既存の方法によって復元フィルタの係数を補間生成する方法を用いることができる。
以上説明したように、第3の実施形態によれば、撮像装置1は、予め生成した複数の補正データ(復元フィルタ、点応答関数、点像分布関数など)を保持し、手ブレ補正駆動情報と歪曲収差情報に基づいて補正データを取得する。そして、撮像装置1は、取得した補正データに基づいて、画像のブレ残り成分を低減する。これにより、歪曲収差のある光学系を用いて撮影された画像の手ブレに起因する画像ブレを効果的に低減することが可能となる。
[第4の実施形態]
第4の実施形態では、ブレ補正のためにブレ補正レンズと撮像素子6の両方を駆動させる構成について説明する。本実施形態において、カメラシステムの基本的な構成は第3の実施形態と同様である(図1及び図10参照)。以下、主に第3の実施形態と異なる点について説明する。
本実施形態では、撮影光学系3はブレ補正レンズを有し、レンズ制御回路12は、ブレ検出部15からの信号に基づいて、レンズ駆動部13を介してブレ補正レンズを駆動させる。また、ブレ補正部14は、ブレ検出部15からの信号に基づいて、撮像素子6を光軸4に直交する平面内において並進させる。
手ブレ補正時に、ブレ補正レンズと撮像素子6の両方を駆動することで、どちらか一方を駆動する場合よりも大きな手ブレを補正することとが可能になる。一方で、ブレ補正レンズを持たないレンズユニットが撮像装置1に装着される場合もある。この場合は、補正可能な手ブレ量は小さくなるが、撮像素子6のみを駆動させることで手ブレを補正することができる。
ブレ補正レンズを駆動させた場合、撮影光学系3を構成するレンズの一部(ブレ補正レンズ)がシフトされるため、ブレ補正レンズの駆動量によっては撮影光学系3で発生する歪曲収差の特性が異なる場合がある。光軸4がずれることによって歪曲収差の発生中心がずれるだけではなく、光軸4からの距離を示す像高に対する歪曲収差の特性も、ブレ補正レンズの駆動量によって異なる特性を示す場合がある。これは、歪曲収差に起因して発生するブレ残り成分が、撮像素子6を駆動させた場合とブレ補正レンズを駆動させた場合とで異なることを意味する。従って、ブレ残りを補正する場合に、ブレ補正の方式によって異なる補正データを用いることで、補正精度が向上する。
図16は、第4の実施形態に係る手ブレ補正処理のフローチャートである。例えば、シャッターレリーズ釦(不図示)の押下を操作検出部10が検出すると、本フローチャートの処理が開始する。
S501で、カメラ制御回路5は、撮像素子6を用いて露光を行う。露光期間中、カメラ制御回路5は、ブレ補正部14を用いて手ブレ補正のために撮像素子6を駆動する。また、撮影光学系3がブレ補正レンズを有する場合、カメラ制御回路5は、レンズ駆動部13を介してブレ補正レンズを駆動させる。この時、手ブレ量によっては、カメラ制御回路5は、撮像素子6を駆動させずブレ補正レンズのみ駆動させる制御や、それぞれの駆動で特性を異ならせる制御を行ってもよい。露光により得られた信号は、A/D変換されて画像データとして取得される。
S502で、ブレ残り補正データ選択部23は、撮像素子6の露光期間中に行われたブレ補正部14による撮像素子6の駆動情報を、カメラ制御回路5から取得する。取得する駆動情報は、第1の実施形態において図2のS102について説明した情報と同様のものとする。
S503で、ブレ残り補正データ選択部23は、撮像素子6の露光期間中に行われたレンズ駆動部13によるブレ補正レンズの駆動情報を、電気接点11を介してレンズユニット2から撮像装置1に送信される情報としてカメラ制御回路5から取得する。取得する駆動情報は、S502で取得する撮像素子6の駆動情報の構成と同様に、ブレ補正レンズのx方向、y方向の時刻に対する変位情報を含む。
S504で、ブレ残り補正データ選択部23は、S503において取得したブレ補正レンズの駆動情報を基に、ブレ補正レンズの駆動の有無を判定する。レンズユニット2がブレ補正レンズを持たない場合、ここでは駆動なしとして判定される。また、レンズユニット2がブレ補正レンズを持つ場合であっても、ブレ補正レンズを駆動させない制御が行われた場合は、駆動なしとして判定される。ブレ補正レンズの駆動ありと判定された場合、処理はS505に進み、そうでない場合、処理はS507に進む。
S505で、ブレ残り補正データ選択部23は、ブレ補正レンズの駆動情報に応じた歪曲収差情報を取得する。例えば、ブレ残り補正データ選択部23は、予めメモリ部8に格納された歪曲収差情報から、撮影時の焦点位置などに撮影条件に応じた歪曲収差情報を読み込んでもよい。或いは、ブレ残り補正データ選択部23は、撮影時の歪曲収差情報を、レンズユニット2から電気接点11を経由してカメラ制御回路5から取得してもよい。露光期間中は、ブレ補正レンズの駆動により歪曲収差特性は連続的に変化している。そのため、ここで取得する歪曲収差情報としては、露光期間中の平均値を用いてもよいし、ブレ補正レンズの駆動情報から決定した代表的な歪曲収差情報を用いてもよい。
S506で、ブレ残り補正データ選択部23は、S502及びS503において取得した手ブレ補正駆動情報と、S505において取得した歪曲収差情報とに基づいて、復元フィルタを選択する。選択の方法は、図13を参照して説明した第3の実施形態の方法と同様であるが、撮像素子6とブレ補正レンズの両方が駆動していることを考慮して選択する必要がある。従って、ブレ残り補正データ選択部23は、歪曲率の像高に対する傾きdを求める場合の像高については、撮像素子6とブレ補正レンズの駆動を考慮して光軸中心からの距離を算出する。また、ブレ残り補正データ選択部23は、手ブレ補正機構の駆動量eについては、撮像素子6とブレ補正レンズの駆動量の合算を用いるなどして算出する。
一方、S504においてブレ補正レンズの駆動なしと判定された場合、S507で、ブレ残り補正データ選択部23は、ブレ補正レンズの駆動が行われていない状態に対応する歪曲収差情報を取得する。
S508で、ブレ残り補正データ選択部23は、S502において取得した手ブレ補正駆動情報と、S507において取得した歪曲収差情報とに基づいて、復元フィルタを選択する。
次に、S509で、画像復元部21は、S506又はS508において取得した復元フィルタを、歪曲収差発生方向に応じて回転する。これは、S506又はS508で取得した復元フィルタは、ブレ残りの発生方向が1方向固定の復元フィルタであるため、画面内の位置に応じて歪曲収差が発生する方向に合わせて復元フィルタを回転処理する必要があるからである。
S510で、画像復元部21は、S509において回転した復元フィルタを、S501において取得した画像データに畳み込むことにより、ブレ残りを低減させる。
以上説明したように、第4の実施形態によれば、撮像装置1は、手ブレ補正の方式によって異なるブレ残り補正データを取得する。これにより、複数のブレ補正方式を有する撮像装置においてブレ残りを効果的に低減させることが可能となる。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。