JP2006279808A - 手ぶれ補正装置 - Google Patents

手ぶれ補正装置 Download PDF

Info

Publication number
JP2006279808A
JP2006279808A JP2005098942A JP2005098942A JP2006279808A JP 2006279808 A JP2006279808 A JP 2006279808A JP 2005098942 A JP2005098942 A JP 2005098942A JP 2005098942 A JP2005098942 A JP 2005098942A JP 2006279808 A JP2006279808 A JP 2006279808A
Authority
JP
Japan
Prior art keywords
filter
camera shake
size
image
amount
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.)
Granted
Application number
JP2005098942A
Other languages
English (en)
Other versions
JP4383379B2 (ja
Inventor
Haruo Hatanaka
晴雄 畑中
Hiroshi Kano
浩 蚊野
Shinpei Fukumoto
晋平 福本
Yutaka Kawamoto
裕 川本
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2005098942A priority Critical patent/JP4383379B2/ja
Publication of JP2006279808A publication Critical patent/JP2006279808A/ja
Application granted granted Critical
Publication of JP4383379B2 publication Critical patent/JP4383379B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Studio Devices (AREA)

Abstract

【課題】 この発明は、一般逆フィルタを用いて画像復元を行う場合に、処理量に対する補正効果の向上化が図れる手ぶれ補正装置を提供することを目的とする。
【解決手段】 手ぶれ関数から得られた一般逆フィルタを用いて画像復元を行う手ぶれ補正装置において、手ぶれ量に応じて一般逆フィルタのサイズを制御するフィルタサイズ制御手段を備えている。フィルタサイズ制御手段は、手ぶれ関数から手ぶれ量を算出する算出手段、および算出手段によって算出された手ぶれ量に予め定められた係数を乗算することにより、一般逆フィルタのサイズを決定する手段を備えている。
【選択図】 図2

Description

この発明は、手ぶれ補正装置に関する。
静止画手ぶれ補正技術は、静止画撮影における手ぶれを軽減する技術であり、手ぶれを検出して、その検出結果に基づいて画像を安定化することで実現される。
手ぶれを検出する方法には、手ぶれセンサ(角速度センサ)を用いる方法と、画像を解析して検出する電子式とがある。画像を安定化させる方法には、レンズや撮像素子を安定化させる光学式と、画像処理により手ぶれによるぼけを除去する電子式とがある。
一方、完全電子式の手ぶれ補正技術、すなわち、撮影された一枚の手ぶれ画像だけを解析・処理することで、手ぶれの除去された画像を生成する技術は、実用レベルに達していない。特に、手ぶれセンサで得られる精度の手ぶれ信号を、一枚の手ぶれ画像を解析することによって求めることは困難である。
したがって、手ぶれセンサを用いて手ぶれを検出し、その手ぶれデータを用いて画像処理により手ぶれぼけを除去することが現実的である。画像処理によるぼけの除去を画像復元と呼ぶ。また、手ぶれセンサと画像復元による手法を、ここでは電子式手ぶれ補正と呼ぶことにする。
電子式手ぶれ補正方法として、手ぶれデータから逆フィルタを生成して画像復元を行う方法がある。この方法では、逆フィルタのフィルタサイズは、画像幅×画像高さとなり、放題な処理時間を要する。そこで、フィルタサイズを小さくした擬似フィルタ(一般逆フィルタ)を用いる方法が提案されている。擬似フィルタのサイズは、例えば、63×63のように固定されている。
ところが、復元効果を評価したところ、擬似フィルタのフィルタ要素の貢献度が手ぶれ量により異なることが判明した。具体的には、手ぶれ量が小さい場合には、フィルタ要素のうち周辺部のフィルタ要素の貢献度は微小になることが判明した。したがって、従来手法では、手ぶれ量が小さい場合には、処理量に対する補正効果が低くなっている。
特開平11−284944号公報 特開2004−88567号公報
この発明は、一般逆フィルタを用いて画像復元を行う場合に、処理量に対する補正効果の向上化が図れる手ぶれ補正装置を提供することを目的とする。
請求項1に記載の発明は、手ぶれ関数から得られた一般逆フィルタを用いて画像復元を行う手ぶれ補正装置において、手ぶれ量に応じて一般逆フィルタのサイズを制御するフィルタサイズ制御手段を備えていることを特徴とする。
請求項2に記載の発明は、請求項1に記載の発明において、フィルタサイズ制御手段は、手ぶれ関数から手ぶれ量を算出する算出手段、および算出手段によって算出された手ぶれ量に予め定められた係数を乗算することにより、一般逆フィルタのサイズを決定する手段を備えていることを特徴とする。
請求項3に記載の発明は、請求項1乃至2に記載の発明において、画像復元を行うための複数の代表的なサイズのフィルタ回路、および複数の代表的なサイズのフィルタ回路のうちから、手ぶれ量または手ぶれ量に応じた一般逆フィルタのサイズに応じて、画像復元のために用いられるフィルタ回路を選択して、一般逆フィルタのフィルタ係数を選択したフィルタ回路に設定する手段を備えていることを特徴とする。
請求項4に記載の発明は、請求項3に記載の発明において、複数の代表的なサイズのフィルタ回路が、最大手ぶれ量に適したサイズの最大フィルタ回路と、最大フィルタ回路よりサイズが小さい中間フィルタ回路との2種類のフィルタ回路であり、中間フィルタ回路のサイズは、手ぶれ量に応じた最適フィルタサイズが中間フィルタ回路のサイズ以下の場合には中間フィルタ回路を使用し、手ぶれ量に応じた最適フィルタサイズが中間フィルタ回路のサイズより大きい場合には最大フィルタ回路を使用すると仮定した場合に、手ぶれ量が0から最大手ぶれ量までの全範囲において手ぶれ補正効果に寄与しない積和演算回数が最小となるようなサイズに決定されていることを特徴とする。
この発明によれば、一般逆フィルタを用いて画像復元を行う場合に、処理量に対する補正効果の向上化が図れるようになる。
以下、図面を参照して、この発明をデジタルカメラに適用した場合の実施例について説明する。
〔1〕デジタルカメラの構成
図1は、デジタルカメラの構成を示している。
CCD2は、レンズ1を通して入射した光学像を光電変換し、電気信号として出力する。CCD2の出力信号は、A/D変換器3によってデジタル信号に変換される。A/D変換器3の出力データは、画像処理回路4によって所定の画像処理が施された後、画像メモリ5に格納される。画像メモリ5に格納された画像データは、手ぶれ補正回路23によって手ぶれ補正が行われた後、モニタ7に表示されたり、メモリカード8に記憶されたりする。なお、画像メモリ5は、メモリ制御回路22によって制御される。
角速度センサ11、12は、カメラの角速度を検出するために設けられている。一方の角速度センサ11はカメラのパン方向の角速度を、他方の角速度センサ12はカメラのチルト方向の角速度をそれぞれ検出する。
各角速度センサ11、12の出力信号は、それぞれアンプ13、14によって増幅された後、A/D変換器15、16によってデジタルデータに変換される。A/D変換器15、16によって得られた角速度データは、センサデータメモリ17を介してマイコン20に入力される。
マイコン20は、合焦制御回路(オートフォーカス制御回路)18、メモリ制御回路22、手ぶれ補正回路23等を制御する。マイコン20には、そのプログラムや必要なデータを記憶するプログラム&データメモリ21が接続されている。また、マイコン20には、操作部19から操作信号が入力される。
〔2〕手ぶれ補正処理回路の構成
図2は、手ぶれ補正処理回路23の構成を示している。
手ぶれ補正処理回路23は、画像復元フィルタ計算部30、画像復元処理部40、リンギング除去処理部50およびアンシャープマスキング処理部60を備えている。
画像復元フィルタ計算部30は、パン方向の角速度データおよびチルト方向の角速度データに基づいて、画像復元フィルタ(一般逆フィルタ)の係数を算出する。画像復元処理部40は、画像復元フィルタ計算部30によって算出された係数に基づいて、撮像画像(手ぶれ画像)に対して画像復元処理を行う。リンギング除去処理部50は、画像復元処理部40によって得られた復元画像からリンギングを除去する。アンシャープマスキング処理部60は、リンギング除去処理部50によって得られた画像に対してエッジ強調処理を行う。
〔3〕画像復元フィルタ計算部30の説明
画像復元フィルタ計算部30は、角速度センサ11、12によって検出された角速度データ(手ぶれ信号)を動きベクトルに変換する手ぶれ信号/動きベクトル変換処理部31、手ぶれ信号/動きベクトル変換処理部31によって得られた動きベクトルを、画像のボケを表す手ぶれ関数(PSF:Point Spread Function)に変換する動きベクトル/手ぶれ関数変換処理部32および動きベクトル/手ぶれ関数変換処理部32によって得られた手ぶれ関数を一般逆フィルタ(画像復元フィルタ)に変換する手ぶれ関数/一般逆フィルタ変換処理部33を備えている。
〔3−1〕手ぶれ信号/動きベクトル変換処理部31についての説明
手ぶれの元データは、撮影開始から撮影終了までの間の角速度センサ11、12の出力データである。角速度センサ11、12を用いてカメラの露光時期と同期させることで、撮影開始と共に所定のサンプリング間隔dt[sec] でパン方向およびチルト方向の角速度を計測し、撮影終了までのデータを得る。サンプリング間隔dt[sec] は、たとえば、1msecである。
図3に示すように、例えば、カメラのパン方向の角速度θ’[deg/sec] は、角速度センサ11によって電圧Vg [mV]に変換された後、アンプ13によって増幅される。アンプ13から出力される電圧Va [mV] はA/D変換器15によってデジタル値DL [step]に変換される。デジタル値として得られたデータを角速度に変換するには、センサ感度S[mV/deg/sec]、アンプ倍率K[ 倍] 、A/D変換係数L[mV/step] を用いて計算する。
角速度センサ11によって得られる電圧値Vg [mV]は、角速度θ’[deg/sec] の値と比例する。このときの比例定数はセンサ感度であるので、Vg [mV]は、次式(1)で表される。
g =Sθ’…(1)
また、アンプ13は電圧値を増幅するだけなので、増幅された電圧Va [mV] は、次式(2)で表される。
a =KVg …(2)
アンプ13で増幅された電圧値Va [mV] はA/D変換され、n[step](例えば、−512〜512)のデジタル値DL [step]を使って表現される。A/D変換係数をL[mV/step] とすると、デジタル値DL [step]は、次式(3)で表される。
L =Va /L…(3)
上記式(1)〜(3)を用いることで、次式(4)に示すように、センサデータから角速度を求めることができる。
θ’=(L/KS)DL …(4)
撮影中の角速度データから、撮影された画像上でどれだけのぶれが生じたかを計算することができる。この画像上でのみかけの動きを動きベクトルと呼ぶ。
角速度データの1つのサンプル値から次のサンプル値までにカメラに生じた回転量をθ[deg] とする。この間、角速度一定でカメラが回転すると仮定し、サンプリング周波数をf =1/dt[Hz]とすると、θ[deg] は次式(5)で表される。
θ=θ’/f=(L/KSf)DL …(5)
図4に示すように、r[mm]を焦点距離(35[mm]フィルム換算)とすると、カメラの回転量θ[deg] から画面上の移動量d[mm]が次式(6)により求められる。
d=rtanθ…(6)
ここで求められた移動量d[mm]は、35[mm]フィルム換算時の手ぶれの大きさで、単位は[mm]である。実際に計算処理するときには、画像の大きさをデジタルカメラの画像の大きさの単位[pixel] で考えなければならない。
35[mm]フィルム換算の画像と、デジタルカメラで撮影した[pixel] 単位の画像は縦横比も異なるので、次のように計算を行う。図5に示すように、35[mm]フィルム換算時は画像サイズの横×縦が36[mm]×24[mm]と決まっている。デジタルカメラで撮影した画像の大きさをX[pixel] ×Y[pixel] とし、水平方向(パン方向)のぶれをx[pixel] 、垂直方向(チルト方向)のぶれをy[pixel] とすると、変換式は次式(7)、(8)となる。
x=dx (X/36)=rtanθx (X/36)…(7)
y=dy (Y/24)=rtanθy (Y/24)…(8)
上記式(7)、(8)には、dとθに添字のxとyが使用されているが、添字xは水平方向の値であることを、添字yは垂直方向の値であることを示している。
上記式(1)〜(8)をまとめると、水平方向(パン方向)のぶれx[pixel] 、垂直方向(チルト方向)のぶれy[pixel] は、次式(9)、(10)で表される。
x=rtan{(L/KSf)DLx}X/36…(9)
y=rtan{(L/KSf)DLy}Y/24…(10)
この変換式(9)、(10)を用いることで、デジタル値として得られたカメラの各軸の角速度データから画像のぶれ量(動きベクトル)を求めることができる。
撮影中の動きベクトルは、センサから得られた角速度のデータの数だけ(サンプル点の数だけ)得ることができ、それらの始点と終点を順番に結んでいくと、画像上での手ぶれの軌跡になる。また、各ベクトルの大きさを見ることで、その時点での手ぶれの速度がわかる。
〔3−2〕動きベクトル/手ぶれ関数変換処理部32について
手ぶれを空間フィルタを使って表すことができる。図6の左側の図で示される手ぶれの軌跡(カメラがぶれたときに画像上である一点が描いた軌跡、画像のぶれ量)に合わせて、オペレータの要素に重みを加え空間フィルタ処理を行うと、フィルタリング過程において画素の濃淡値が手ぶれの軌跡に応じた近傍画素の濃淡値のみを考慮するようになるので、手ぶれ画像を作成することができる。
この軌跡に合わせて重み付けしたオペーレータのことをPoint Spread Function(PSF)と呼び、手ぶれの数学モデルとして使用する。PSFの各要素の重みは、その要素を手ぶれ軌跡が通過する時間に比例した値であって、各要素の重みの総和が1になるように正規化された値となる。すなわち、動きベクトルの大きさの逆数に比例した重みとする。手ぶれが画像に与える影響を考えたとき、遅く動いたところの方が画像に大きな影響を与えているからである。
図6の中央の図は、手ぶれの動きが等速であると仮定した場合のPSFを表し、図6の右側の図は、実際の手ぶれの動きの大きさを考慮した場合のPSFを表している。図6の右側の図においては、PSFの重みの低い(動きベクトルの大きさが大きい)要素を黒く表示し、重みの高い(動きベクトルの大きさが小さい)要素を白く表示している。
上記〔3−1〕で得られた動きベクトル(画像のぶれ量)は手ぶれの軌跡と、軌跡の速度をデータとして持つ。
PSFを作成するには、まず、手ぶれの軌跡からPSFの重みをかける要素を決定する。そして、手ぶれの速度からPSFの要素にかける重みを決定する。
上記〔3−1〕で得られた一連の動きベクトルをつなぎ合わせることで折れ線近似された手ぶれの軌跡が得られる。この軌跡は小数点以下の精度を持つが、これを整数化することでPSFにおいて重みをかける要素を決定する。そのために、この実施例では、Bresenham の直線描画アルゴリズムを用いてPSFにおいて重みをかける要素を決定する。Bresenham の直線描画アルゴリズムとは、デジタル画面上で任意の2 点を通る直線を引きたい時に最適なドット位置を選択するアルゴリズムである。
Bresenham の直線描画アルゴリズムを図7の例を用いて説明する。図7において矢印のついた直線は動きベクトルを示している。
(a)ドット位置の原点(0,0)から出発し、動きベクトルの水平方向の要素を1つ増やす。
(b)動きベクトルの垂直方向の位置を確認し、この垂直方向位置が前のドットの垂直方向位置に比べて1より大きくなった場合にはドット位置の垂直方向を1つ増やす。
(c)再び動きベクトルの水平方向の要素を1つ増やす。
このような処理を動きベクトルの終点まで繰り返すことにより、動きベクトルが通る直線をドット位置で表現することができる。
PSFの要素にかける重みは、動きベトクル毎にベクトルの大きさ(速度成分)が異なることを利用して決定する。重みは動きベクトルの大きさの逆数をとり、各動きベクトルに対応する要素に重みを代入する。ただし、各要素の重みの総和が1になるように、各要素の重みを正規化する。図8に図7の動きベクトルにより得られるPSFを示す。速度の速いところ(動きベクトルの長いところ)は重みが小さくなり、速度の遅いところ(動きベクトルの短いところ)は重みが大きくなる。
〔3−3〕手ぶれ関数/一般逆フィルタ変換処理部33について
〔3−3−1〕 画像は水平方向にNx 画素、垂直方向にNy 画素の解像度でデジタル化されているものとする。水平方向にi番目、垂直方向にj番目の位置にある画素の値をp(i,j)で表す。空間フィルタによる画像の変換とは、注目画素の近傍画素の畳み込みによって変換をモデル化するものである。畳み込みの係数をh(l,m)とする。ここで、簡単のため、−n<l,m<nとすると、注目画素の変換は次式(11)によって表現することができる。また、h(l,m)自身を空間フィルタと呼んだり、フィルタ係数と呼んだりする。変換の性質はh(l,m)の係数値によって決まる。
Figure 2006279808
デジタルカメラなどの撮像装置で点光源を観察した場合、画像の形成過程に劣化がないと仮定すれば、画像上に観察される像は、ある一点だけが0以外の画素値を持ち、それ以外の画素値は0となる。実際の撮像装置は劣化過程を含むので、点光源を観察しても、その像は一点にならず、広がった像になる。手ぶれが発生した場合、点光源は手ぶれに応じた軌跡を画面上に生成する。
点光源に対する観察画像の画素値に比例した値を係数として持ち、係数値の総和が1になる空間フィルタをPoint Spread Function(PSF 、点広がり関数 )と呼ぶ。この実施例では、PSFとして動きベクトル/手ぶれ関数変換処理部32によって得られたPSFを用いる。
PSFを縦横(2n+1)×(2n+1)の空間フィルタh(l,m)、−n<l,m<nでモデル化するとき、各画素について、ボケの無い画像の画素値p(i,j)とボケのある画像の画素値p’(i,j)とは、上記式(11)の関係になる。ここで、実際に観察できるのは、ボケた画像の画素値p’(i,j)であり、ボケの無い画像の画素値p(i,j)は何らかの方法で計算する必要がある。
上記式(11)を全ての画素について書き並べると、次式(12)に示すようになる。
Figure 2006279808
これらの式をまとめて行列表現することが可能であり、次式(13)となる。ここで、Pは元画像をラスター走査順に一元化したものである。
P’=H×P …(13)
Hの逆行列H-1が存在すれば、P=H-1×Pを計算することによって、劣化した画像P’から劣化の無い画像Pを求めることが可能であるが、一般にはHの逆行列は存在しない。逆行列が存在しない行列に対して、一般逆行列ないしは擬似逆行列と呼ばれるものが存在する。次式(14)に一般逆行列の例を示す。
* =(Ht ・H+γ・I)-1・Ht …(14)
ここでH* はHの一般逆行列、Ht はHの転置行列、γはスカラー、IはHt ・Hと同じサイズの単位行列である。H* を用いて次式(15)を計算することで、観察された手ぶれ画像P’から手ぶれが補正された画像Pを得ることができる。γは補正の強さを調整するパラメータである。γが小さければ強い補正処理となり、γが大きければ弱い補正処理となる。
P’=H* ×P …(15)
画像サイズを640×480とした場合、上記式(15)のPは307,200×1の行列、H* は307,200×307,200の行列となる。このような非常に大きな行列となるため、上記式(14)、(15)を直接用いることは実用的ではない。そこで、次のような方法で計算に用いる行列のサイズを小さくすることが可能である。
まず、上記式(15)において、Pの元になる画像のサイズを63×63など、比較小さなサイズにする。63×63の画像であれば、Pは3969×1の行列、H* は3969×3969の行列となる。H* はボケ画像全体を補正された画像全体に変換する行列であり、H* の各行とPの積は各画素の補正を行う演算に相当する。H* の真ん中の行とPの積は、63×63画素の元画像の、真ん中の画素に対する補正に該当する。Pは元画像をラスター走査順に一元化したものであったから、逆に、H* の真ん中の行を逆ラスター走査により2次元化することで、63×63のサイズの空間フィルタを構成することができる。このように構成した空間フィルタを一般逆フィルタと呼ぶ。このようにして作成した実用的なサイズの空間フィルタを、大きな画像全体の各画素に順次適用することで、ボケ画像を補正することが可能となる。
〔3−3−2〕 背景技術において説明したように、手ぶれ量が小さい場合には、一般逆フィルタのフィルタ要素のうち、周辺部のフィルタ要素の貢献度が微小であることが判明した。そこで、PSFから一般逆フィルタを生成する際に、手ぶれ量に応じて一般逆フィルタのサイズを変えることが好ましい。例えば、αを所定の係数として、手ぶれ量のα倍を一般逆フィルタのサイズとして決定することが好ましい。このようにすると、貢献度の小さい周辺部のフィルタ要素が削除されるため、一般逆フィルタを用いて画像復元を行う際の処理量に対する手ぶれ補正効果を向上させることが可能となる。
手ぶれ量のα倍を一般逆フィルタのサイズとして決定する場合の、αの決定方法について説明する。
まず、図9を参照して、手ぶれ量〔画素〕の求め方について説明する。まず、PSF画像の有効画素(画素値が0でない画素)を全て含む外接長方形を求める。次に、その外接長方形の高さh〔画素〕と幅w〔画素〕とに基づいて、対角線の長さL〔画素〕を求め、手ぶれ量とする。
図10は、手ぶれ量がある値である場合の、一般逆フィルタのサイズ〔画素〕(正方形の空間フィルタの次数(n×nのnに相当する))と手ぶれ補正効果〔%〕との関係を示している。なお、画像サイズと同じサイズの逆フィルタを用いた場合の手ぶれ補正効果を100%に設定している。
図10から分かるように、一般逆フィルタのサイズを0から徐々に大きくしていくと、補正効果それにしたがって高くなるが、一般逆フィルタのサイズが所定値に達するとそれ以上サイズを大きくしても補正効果は一定となる。
そこで、手ぶれ補正効果が、最大補正効果の一定割合(この例では、98%)となるフィルタサイズを、当該手ぶれ量に対する一般逆フィルタの最適サイズであるとする。
図11は、手ぶれ量とそれに対応する一般逆フィルタの最適サイズとの関係を示している。図11から分かるように、手ぶれ量が大きくなるにしたがって、一般逆フィルタの最適サイズも大きくなる。図11の手ぶれ量とそれに対応する一般逆フィルタの最適サイズとの関係に基づいて、係数αを決定する。
〔3−3−3〕 ところで、手ぶれ量のα倍を一般逆フィルタのサイズとして決定し、そのサイズに応じたフィルタ回路を用意する場合には、サイズの異なる多くのフィルタ回路(積和演算回路)を搭載する必要があるため、回路規模が増大する。そこで、この実施例では、複数の代表的なサイズのフィルタ回路を搭載しておき、手ぶれ量から求められた最適フィルタサイズに応じて、使用するフィルタ回路を切り換えるようにしている。これにより最小限の回路規模を増加するだけで、処理量に対する補正効果を向上化させることが可能となる。ただし、PSFから一般逆フィルタのフィルタ係数を算出する場合には、手ぶれ量に応じた最適フィルタサイズが一般逆フィルタのサイズとして用いられる。
この実施例では、補正する最大手ぶれ量に対する最適フィルタサイズ(最大フィルタ)を有するフィルタ回路(最大フィルタ回路)と、無駄な演算回数が最も小さくなるフィルタサイズ(中間フィルタ)を有するフィルタ回路(中間フィルタ回路)とが、代表的なフィルタ回路として搭載されている。最大手ぶれ量は、本実施例の画像復元手法で効果が視認できる最大手ぶれ量、または通常の撮影で発生しうる最大手ぶれ量とする。
無駄な演算回数が最も小さくなるフィルタ回路(中間フィルタ回路)のサイズ(次数)は、次のようにして決定する。
(1)画像幅をW、画像の高さをH、フィルタ次数をdとすると、空間フィルタの積和演算回数Nは、次式(16)によって算出できる。
N=W・H・{d2 +(d2 −1)}
=W・H・(2d2 −1) …(16)
(2)最大フィルタの次数をDmax とし、中間フィルタ回路の次数をDmid とする。今、任意の手ぶれが発生し、その最適フィルタ回路の次数をDとすると、D≦Dmid の範囲において次数Dのフィルタ回路で演算する場合に比べて中間フィルタ回路で処理した場合の無駄な積和演算回数Ninvalid _mid と、Dmid <D≦Dmax の範囲において次数Dのフィルタ回路で演算する場合に比べて最大フィルタ回路で処理した場合の無駄な積和演算回数Ninvalid _max とは、次式(17)、(18)によって算出することができる。
(a)中間フィルタ回路で処理する場合(D≦Dmid
invalid _mid =NDmid−ND =W・H・{(2Dmid 2 −1)−(2D2 −1)} =2・W・H・(Dmid 2 −D2 ) …(17)
(b)最大フィルタ回路で処理する場合(Dmid <D≦Dmax
invalid _max =NDmax−ND =W・H・{(2Dmax 2 −1)−(2D2 −1)} =2・W・H・(Dmax 2 −D2 ) …(18)
ただし、NDmidは中間フィルタ回路での積和演算回数を示し、NDmaxは最大フィルタでの積和演算回数を示し、ND は任意の手ぶれに対する最適フィルタ回路での積和演算回数を示している。
(3)中間フィルタ回路の次数をDmid とした場合、手ぶれ量が0から最大値までの全範囲での上記無駄な積和演算の総和Sinvalid は、次式(19)によって算出することができる。
Figure 2006279808
ただし、dxは、手ぶれ量に応じた最適フィルタサイズ(一般逆フィルタサイズ)である。
(4)最大フィルタ回路のDmax を51として、中間フィルタ回路の次数Dmid を0〜51の範囲で変化させた場合、中間フィルタ回路の次数Dmid と、無駄な積和演算の総和Sinvalid との関係は、図12に折れ線で示すようになる。
(5)図12の折れ線を2次曲線で近似し、無駄な積和演算の総和Sinvalid が最小となるサイズを、最適な中間フィルタ回路のサイズ(次数)とする。
このようにしてサイズが決定された中間フィルタ回路42(図2参照))と、最大フィルタ回路43とが、画像復元処理部40に設けられている。
〔3−3−4〕 図13は、画像復元フィルタ計算部30による処理手順を示している。 まず、2軸の角速度センサデータを読み込む(ステップS1)。読み込んだ2軸の角速度センサデータを動きベクトルに変換する(ステップS2)。得られた動きベクトルをPSF(手ぶれ関数)に変換する(ステップS3)。
得られたPSFから手ぶれ量Lを算出する(ステップS4)。得られた手ぶれ量Lから、その手ぶれ量に応じた最適フィルタサイズFを算出する(ステップS5)。そして、一般逆フィルタのサイズをFに決定する(ステップS6)。一般逆フィルタのサイズをFとして、PSFを一般逆フィルタに変換する(ステップS7)。これにより、一般逆フィルタのフィルタ係数が求められる。
次に、中間フィルタ回路のサイズが上記一般逆フィルタのサイズF以上であるか否かを判別する(ステップS8)。中間フィルタ回路のサイズが上記一般逆フィルタのサイズF以上である場合には、画像復元フィルタ回路として中間フィルタ回路を選択する(ステップS9)。そして、ステップS13に進む。
中間フィルタ回路のサイズが上記一般逆フィルタのサイズFより小さい場合には、最大フィルタ回路のサイズが上記一般逆フィルタのサイズF以上であるか否かを判別する(ステップS10)。最大フィルタ回路のサイズが上記一般逆フィルタのサイズF以上である場合には、画像復元フィルタ回路として最大フィルタ回路を選択する(ステップS11)。そして、ステップS13に進む。
最大フィルタ回路のサイズが上記一般逆フィルタのサイズFより小さい場合には、画像を復元することはできないため、画像復元フィルタ回路の選択は行わない(ステップS12)。この場合には、画像復元フィルタ回路による復元処理は行われない。そして、ステップS13に進む。
ステップS13では、画像復元フィルタ回路の選択が行われたか否かを判別する。画像復元フィルタ回路の選択が行われなかった場合には、今回の処理を終了する。画像復元フィルタ回路の選択が行われた場合には、選択された画像復元フィルタ回路(中間フィルタ回路または最大フィルタ回路)に、上記ステップS7によって算出されたフィルタ係数をセットする(ステップS14)。なお、この場合、選択された画像復元フィルタ回路において、上記一般逆フィルタのサイズFより大きな部分には、フィルタ係数として0がセットされる。そして、今回の処理を終了する。
〔4〕画像復元処理部40について
画像復元処理部40は、図2に示すように、ノイズ除去のためのフィルタ回路41と、中間フィルタを用いて画像復元を行うための中間フィルタ回路部42と、最大フィルタを用いて画像復元を行うための最大フィルタ回路43とを備えている。フイルタ回路41はメディアンフィルタを用いてフィルタ処理を行う。
カメラによって撮影された手ぶれ画像は、フィルタ回路41に送られ、メディアンフィルタを用いたフィルタ処理が行われ、ノイズが除去される。フィルタ回路41によって得られた画像は、画像復元フィルタ計算部30によってフィルタ係数がセットされたフィルタ回路42または43に送られる。フィルタ回路42または43では、画像復元フィルタである中間フィルタまたは最大フィルタを用いたフィルタ処理が行われ、手ぶれ画像から手ぶれのない画像が復元される。フィルタ回路42または43によって得られた画像v _fukugen は、リンギング除去処理部50内の加重平均処理部53に送られる。
〔5〕リンギング除去処理部50についての説明
リンギング除去処理部50は、図2に示すように、エッジ強度算出部51、加重平均係数算出部52および加重平均処理部53を備えている。
カメラによって撮影された手ぶれ画像v _tebre は、エッジ強度算出部51に送られ、各画素毎にエッジ強度が算出される。エッジ強度の求め方について説明する。
図14に示すように、注目画素v22を中心とする3×3の領域を想定する。注目画素v22に対して、水平エッジ成分dhと垂直エッジ成分dvを算出する。エッジ成分の算出には、例えば、図15に示すPrewitt のエッジ抽出オペレータを用いる。図15(a)は水平エッジ抽出オペレータを示し、図15(b)は垂直エッジ抽出オペレータを示している。
水平エッジ成分dhおよび垂直エッジ成分dvは、次式(20)、(21)によって求められる。
dh=v11 +v12 +v13 −v31 −v32 −v33 …(20)
dv=v11 +v21 +v31 −v13 −v23 −v33 …(21)
次に、水平エッジ成分dhおよび垂直エッジ成分dvから、注目画素v22のエッジ強度v _edgeを次式(22)に基づいて算出する。
v _edge=sqrt(dh ×dh+dv×dv) …(22)
なお、注目画素v22のエッジ強度v _edgeとして、abs(dh) +abs(dv) を用いてもよい。また、このようにして得られたエッジ強度画像に対してさらに3×3のノイズ除去フィルタをかけてもよい。
エッジ強度算出部51によって算出された各画素のエッジ強度v _edgeは、加重平均係数算出部52に与えられる。加重平均係数算出部52は、次式(23)に基づいて、各画素の加重平均係数kを算出する。
If v _edge> th then k=1
If v _edge≦ th then k=v _edge/th …(23)
th は十分に強いエッジであることを判定するための閾値である。つまり、v _edgeと加重平均係数kとの関係は、図16に示すような関係となる。
加重平均係数算出部52によって算出された各画素の加重平均係数kは、加重平均処理部53に与えられる。画像復元処理部40によって得られた復元画像の画素値をv _fukugen とし、カメラによって撮像された手ぶれ画像の画素値をv _tebre とすると、加重平均処理部53は、次式(24)で表される計算を行うことにより、復元画像の画素値v _fukugen と手ぶれ画像の画素値v _tebre とを加重平均する。
v =k ×v _fukugen +(1−k)×v _tebre …(24)
つまり、エッジ強度v _edgeが閾値thより大きな画素については、その位置に対応する復元画像のリンギングが目立たないので、画像復元処理部40によって得られた復元画像の画素値v _fukugen がそのまま出力される。エッジ強度v _edgeが閾値th以下の画素については、エッジ強度v _edgeが小さいほど、復元画像のリンギングが目立つので、復元画像の度合いを弱くし、手ぶれ画像の度合いを強くする。
デジタルカメラの構成を示すブロック図である。 手ぶれ補正処理回路の構成を示すブロック図である。 角速度センサ11の出力を増幅するアンプ13およびアンプ出力をデジタル値に変換するA/D変換器15を示すブロック図である。 カメラの回転量θ[deg] と画面上の移動量d[mm]との関係を示す模式図である。 35[mm]フィルム換算の画像サイズと、デジタルカメラの画像サイズとを示す模式図である。 手ぶれを表現する空間フィルタ(PSF)を示す模式図である。 Bresenham の直線描画アルゴリズムを説明するための模式図である。 図7の動きベクトルにより得られるPSFを示す模式図である。 手ぶれ量〔画素〕の求め方を説明するための模式図である。 手ぶれ量がある値である場合の、一般逆フィルタのサイズ〔画素〕と手ぶれ補正効果〔%〕との関係を示すグラフである。 手ぶれ量とそれに対応する一般逆フィルタの最適サイズとの関係を示すグラフである。 中間フィルタ回路の次数Dmid を0〜51の範囲で変化させた場合、中間フィルタ回路の次数Dmid と、無駄な積和演算の総和Sinvalid との関係を示すグラフである。 画像復元フィルタ計算部30による処理手順を示すフローチャートである。 注目画素v22を中心とする3×3の領域を示す模式図である。 Prewitt のエッジ抽出オペレータを示す模式図である。 エッジ強度v _edgeと加重平均係数kとの関係を示すグラフである。
符号の説明
11、12 角速度センサ
30 画像復元フィルタ計算部
40 画像復元処理部
50 リンギング除去処理部
31 手ぶれ信号/動きベクトル変換処理部
32 動きベクトル/手ぶれ関数変換処理部
33 手ぶれ関数/一般逆フィルタ変換処理部
42 中間フィルタ回路
43 最大フィルタ回路

Claims (4)

  1. 手ぶれ関数から得られた一般逆フィルタを用いて画像復元を行う手ぶれ補正装置において、
    手ぶれ量に応じて一般逆フィルタのサイズを制御するフィルタサイズ制御手段を備えていることを特徴とする手ぶれ補正装置。
  2. フィルタサイズ制御手段は、手ぶれ関数から手ぶれ量を算出する算出手段、および算出手段によって算出された手ぶれ量に予め定められた係数を乗算することにより、一般逆フィルタのサイズを決定する手段を備えていることを特徴とする請求項1に記載の手ぶれ補正装置。
  3. 画像復元を行うための複数の代表的なサイズのフィルタ回路、および複数の代表的なサイズのフィルタ回路のうちから、手ぶれ量または手ぶれ量に応じた一般逆フィルタのサイズに応じて、画像復元のために用いられるフィルタ回路を選択して、一般逆フィルタのフィルタ係数を選択したフィルタ回路に設定する手段を備えていることを特徴とする請求項1および2のいずれかに記載の手ぶれ補正装置。
  4. 複数の代表的なサイズのフィルタ回路が、最大手ぶれ量に適したサイズの最大フィルタ回路と、最大フィルタ回路よりサイズが小さい中間フィルタ回路との2種類のフィルタ回路であり、中間フィルタ回路のサイズは、手ぶれ量に応じた最適フィルタサイズが中間フィルタ回路のサイズ以下の場合には中間フィルタ回路を使用し、手ぶれ量に応じた最適フィルタサイズが中間フィルタ回路のサイズより大きい場合には最大フィルタ回路を使用すると仮定した場合に、手ぶれ量が0から最大手ぶれ量までの全範囲において手ぶれ補正効果に寄与しない積和演算回数が最小となるようなサイズに決定されていることを特徴とする請求項3に記載の手ぶれ補正装置。
JP2005098942A 2005-03-30 2005-03-30 手ぶれ補正装置 Expired - Fee Related JP4383379B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005098942A JP4383379B2 (ja) 2005-03-30 2005-03-30 手ぶれ補正装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005098942A JP4383379B2 (ja) 2005-03-30 2005-03-30 手ぶれ補正装置

Publications (2)

Publication Number Publication Date
JP2006279808A true JP2006279808A (ja) 2006-10-12
JP4383379B2 JP4383379B2 (ja) 2009-12-16

Family

ID=37214032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005098942A Expired - Fee Related JP4383379B2 (ja) 2005-03-30 2005-03-30 手ぶれ補正装置

Country Status (1)

Country Link
JP (1) JP4383379B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008236289A (ja) * 2007-03-20 2008-10-02 Sanyo Electric Co Ltd 撮像装置
JP2009141769A (ja) * 2007-12-07 2009-06-25 Eastman Kodak Co 画像処理装置
JP2014115790A (ja) * 2012-12-07 2014-06-26 Fujitsu Ltd 画像処理装置、情報処理方法及びプログラム
JP2022180569A (ja) * 2019-02-20 2022-12-06 富士フイルム株式会社 ぶれ補正装置、撮像装置、監視システム、及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008236289A (ja) * 2007-03-20 2008-10-02 Sanyo Electric Co Ltd 撮像装置
JP2009141769A (ja) * 2007-12-07 2009-06-25 Eastman Kodak Co 画像処理装置
JP2014115790A (ja) * 2012-12-07 2014-06-26 Fujitsu Ltd 画像処理装置、情報処理方法及びプログラム
JP2022180569A (ja) * 2019-02-20 2022-12-06 富士フイルム株式会社 ぶれ補正装置、撮像装置、監視システム、及びプログラム
JP7356557B2 (ja) 2019-02-20 2023-10-04 富士フイルム株式会社 ぶれ補正装置、撮像装置、監視システム、及びプログラム
US11889191B2 (en) 2019-02-20 2024-01-30 Fujifilm Corporation Blur correction device, imaging apparatus, monitoring system, and program

Also Published As

Publication number Publication date
JP4383379B2 (ja) 2009-12-16

Similar Documents

Publication Publication Date Title
JP4152398B2 (ja) 手ぶれ補正装置
JP2006129236A (ja) リンギング除去装置およびリンギング除去プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4342493B2 (ja) 手ぶれ補正装置
JP4307430B2 (ja) 手ぶれ検出装置
JP5596138B2 (ja) 撮像装置、画像処理装置、画像処理方法、および画像処理プログラム
JP5414405B2 (ja) 画像処理装置、撮像装置及び画像処理方法
JP5767485B2 (ja) 画像処理装置及び制御方法
JP4145308B2 (ja) 手ぶれ補正装置
JP4454657B2 (ja) ぶれ補正装置及び方法、並びに撮像装置
JP5237978B2 (ja) 撮像装置および撮像方法、ならびに前記撮像装置のための画像処理方法
JP5541205B2 (ja) 画像処理装置、撮像装置、画像処理プログラムおよび画像処理方法
JP4958806B2 (ja) ぶれ検出装置、ぶれ補正装置及び撮像装置
JP4383379B2 (ja) 手ぶれ補正装置
JP2009088935A (ja) 画像記録装置、画像補正装置及び撮像装置
JP4740008B2 (ja) 手ぶれ検出装置およびデジタルカメラ
JP5115297B2 (ja) 画像処理装置、撮像装置、画像処理方法およびプログラム
JP2018181070A (ja) 画像処理装置および画像処理方法
JP4236642B2 (ja) 撮像装置
JP6929185B2 (ja) 画像処理装置及び画像処理方法、プログラム、記憶媒体
JP2011193276A (ja) 撮像装置、その制御方法及びプログラム
JP2010108161A (ja) 画像処理装置及び方法、並びにコンピュータプログラム
JP6858073B2 (ja) 画像処理装置、画像処理方法、及び、プログラム
JP2009088933A (ja) 画像記録装置、画像補正装置及び撮像装置
JP2007036894A (ja) 画像処理装置
JP2006115275A (ja) 撮像装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080722

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090710

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090729

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090918

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131002

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131002

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131002

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees