JP2006279808A - Camera-shake correction apparatus - Google Patents
Camera-shake correction apparatus Download PDFInfo
- 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
Links
Images
Landscapes
- Studio Devices (AREA)
Abstract
Description
この発明は、手ぶれ補正装置に関する。 The present invention relates to a camera shake correction apparatus.
静止画手ぶれ補正技術は、静止画撮影における手ぶれを軽減する技術であり、手ぶれを検出して、その検出結果に基づいて画像を安定化することで実現される。 The still image stabilization technology is a technology for reducing camera shake in still image shooting, and is realized by detecting camera shake and stabilizing an image based on the detection result.
手ぶれを検出する方法には、手ぶれセンサ(角速度センサ)を用いる方法と、画像を解析して検出する電子式とがある。画像を安定化させる方法には、レンズや撮像素子を安定化させる光学式と、画像処理により手ぶれによるぼけを除去する電子式とがある。 Methods for detecting camera shake include a method using a camera shake sensor (angular velocity sensor) and an electronic method for analyzing and detecting an image. As a method for stabilizing an image, there are an optical method for stabilizing a lens and an image sensor, and an electronic method for removing blur caused by camera shake by image processing.
一方、完全電子式の手ぶれ補正技術、すなわち、撮影された一枚の手ぶれ画像だけを解析・処理することで、手ぶれの除去された画像を生成する技術は、実用レベルに達していない。特に、手ぶれセンサで得られる精度の手ぶれ信号を、一枚の手ぶれ画像を解析することによって求めることは困難である。 On the other hand, a completely electronic camera shake correction technique, that is, a technique for generating an image free from camera shake by analyzing and processing only one photographed camera shake image has not reached a practical level. In particular, it is difficult to obtain an accurate camera shake signal obtained by a camera shake sensor by analyzing a single camera shake image.
したがって、手ぶれセンサを用いて手ぶれを検出し、その手ぶれデータを用いて画像処理により手ぶれぼけを除去することが現実的である。画像処理によるぼけの除去を画像復元と呼ぶ。また、手ぶれセンサと画像復元による手法を、ここでは電子式手ぶれ補正と呼ぶことにする。 Therefore, it is realistic to detect camera shake using a camera shake sensor and remove camera shake blur by image processing using the camera shake data. Deblurring by image processing is called image restoration. In addition, a technique based on a camera shake sensor and image restoration will be referred to as electronic camera shake correction here.
電子式手ぶれ補正方法として、手ぶれデータから逆フィルタを生成して画像復元を行う方法がある。この方法では、逆フィルタのフィルタサイズは、画像幅×画像高さとなり、放題な処理時間を要する。そこで、フィルタサイズを小さくした擬似フィルタ(一般逆フィルタ)を用いる方法が提案されている。擬似フィルタのサイズは、例えば、63×63のように固定されている。 As an electronic camera shake correction method, there is a method of performing image restoration by generating an inverse filter from camera shake data. In this method, the filter size of the inverse filter is image width × image height, and an unrestricted processing time is required. Therefore, a method using a pseudo filter (general inverse filter) with a reduced filter size has been proposed. The size of the pseudo filter is fixed as 63 × 63, for example.
ところが、復元効果を評価したところ、擬似フィルタのフィルタ要素の貢献度が手ぶれ量により異なることが判明した。具体的には、手ぶれ量が小さい場合には、フィルタ要素のうち周辺部のフィルタ要素の貢献度は微小になることが判明した。したがって、従来手法では、手ぶれ量が小さい場合には、処理量に対する補正効果が低くなっている。
この発明は、一般逆フィルタを用いて画像復元を行う場合に、処理量に対する補正効果の向上化が図れる手ぶれ補正装置を提供することを目的とする。 It is an object of the present invention to provide a camera shake correction device that can improve the correction effect on the processing amount when image restoration is performed using a general inverse filter.
請求項1に記載の発明は、手ぶれ関数から得られた一般逆フィルタを用いて画像復元を行う手ぶれ補正装置において、手ぶれ量に応じて一般逆フィルタのサイズを制御するフィルタサイズ制御手段を備えていることを特徴とする。 According to a first aspect of the present invention, there is provided a camera shake correction apparatus for performing image restoration using a general inverse filter obtained from a camera shake function, comprising a filter size control means for controlling the size of the general inverse filter in accordance with the amount of camera shake. It is characterized by being.
請求項2に記載の発明は、請求項1に記載の発明において、フィルタサイズ制御手段は、手ぶれ関数から手ぶれ量を算出する算出手段、および算出手段によって算出された手ぶれ量に予め定められた係数を乗算することにより、一般逆フィルタのサイズを決定する手段を備えていることを特徴とする。 According to a second aspect of the present invention, in the first aspect of the invention, the filter size control means calculates a camera shake amount from a camera shake function, and a coefficient predetermined for the camera shake amount calculated by the calculation means. Means for determining the size of the general inverse filter by multiplying by.
請求項3に記載の発明は、請求項1乃至2に記載の発明において、画像復元を行うための複数の代表的なサイズのフィルタ回路、および複数の代表的なサイズのフィルタ回路のうちから、手ぶれ量または手ぶれ量に応じた一般逆フィルタのサイズに応じて、画像復元のために用いられるフィルタ回路を選択して、一般逆フィルタのフィルタ係数を選択したフィルタ回路に設定する手段を備えていることを特徴とする。
The invention according to
請求項4に記載の発明は、請求項3に記載の発明において、複数の代表的なサイズのフィルタ回路が、最大手ぶれ量に適したサイズの最大フィルタ回路と、最大フィルタ回路よりサイズが小さい中間フィルタ回路との2種類のフィルタ回路であり、中間フィルタ回路のサイズは、手ぶれ量に応じた最適フィルタサイズが中間フィルタ回路のサイズ以下の場合には中間フィルタ回路を使用し、手ぶれ量に応じた最適フィルタサイズが中間フィルタ回路のサイズより大きい場合には最大フィルタ回路を使用すると仮定した場合に、手ぶれ量が0から最大手ぶれ量までの全範囲において手ぶれ補正効果に寄与しない積和演算回数が最小となるようなサイズに決定されていることを特徴とする。 According to a fourth aspect of the present invention, in the third aspect of the present invention, the plurality of representative size filter circuits include a maximum filter circuit having a size suitable for the maximum amount of camera shake, and an intermediate size smaller than the maximum filter circuit. There are two types of filter circuits, the filter circuit, and the size of the intermediate filter circuit uses an intermediate filter circuit when the optimum filter size corresponding to the amount of camera shake is equal to or less than the size of the intermediate filter circuit. Assuming that the maximum filter circuit is used when the optimal filter size is larger than the size of the intermediate filter circuit, the number of product-sum operations that do not contribute to the camera shake correction effect in the entire range from 0 to the maximum camera shake amount is minimum. The size is determined to be such that
この発明によれば、一般逆フィルタを用いて画像復元を行う場合に、処理量に対する補正効果の向上化が図れるようになる。 According to the present invention, when image restoration is performed using a general inverse filter, the correction effect on the processing amount can be improved.
以下、図面を参照して、この発明をデジタルカメラに適用した場合の実施例について説明する。 Hereinafter, embodiments of the present invention applied to a digital camera will be described with reference to the drawings.
〔1〕デジタルカメラの構成 [1] Configuration of digital camera
図1は、デジタルカメラの構成を示している。 FIG. 1 shows the configuration of a digital camera.
CCD2は、レンズ1を通して入射した光学像を光電変換し、電気信号として出力する。CCD2の出力信号は、A/D変換器3によってデジタル信号に変換される。A/D変換器3の出力データは、画像処理回路4によって所定の画像処理が施された後、画像メモリ5に格納される。画像メモリ5に格納された画像データは、手ぶれ補正回路23によって手ぶれ補正が行われた後、モニタ7に表示されたり、メモリカード8に記憶されたりする。なお、画像メモリ5は、メモリ制御回路22によって制御される。
The CCD 2 photoelectrically converts an optical image incident through the
角速度センサ11、12は、カメラの角速度を検出するために設けられている。一方の角速度センサ11はカメラのパン方向の角速度を、他方の角速度センサ12はカメラのチルト方向の角速度をそれぞれ検出する。
The
各角速度センサ11、12の出力信号は、それぞれアンプ13、14によって増幅された後、A/D変換器15、16によってデジタルデータに変換される。A/D変換器15、16によって得られた角速度データは、センサデータメモリ17を介してマイコン20に入力される。
The output signals of the
マイコン20は、合焦制御回路(オートフォーカス制御回路)18、メモリ制御回路22、手ぶれ補正回路23等を制御する。マイコン20には、そのプログラムや必要なデータを記憶するプログラム&データメモリ21が接続されている。また、マイコン20には、操作部19から操作信号が入力される。
The
〔2〕手ぶれ補正処理回路の構成 [2] Structure of image stabilization processing circuit
図2は、手ぶれ補正処理回路23の構成を示している。
FIG. 2 shows the configuration of the camera shake
手ぶれ補正処理回路23は、画像復元フィルタ計算部30、画像復元処理部40、リンギング除去処理部50およびアンシャープマスキング処理部60を備えている。
The camera shake
画像復元フィルタ計算部30は、パン方向の角速度データおよびチルト方向の角速度データに基づいて、画像復元フィルタ(一般逆フィルタ)の係数を算出する。画像復元処理部40は、画像復元フィルタ計算部30によって算出された係数に基づいて、撮像画像(手ぶれ画像)に対して画像復元処理を行う。リンギング除去処理部50は、画像復元処理部40によって得られた復元画像からリンギングを除去する。アンシャープマスキング処理部60は、リンギング除去処理部50によって得られた画像に対してエッジ強調処理を行う。
The image restoration
〔3〕画像復元フィルタ計算部30の説明
[3] Description of the image restoration
画像復元フィルタ計算部30は、角速度センサ11、12によって検出された角速度データ(手ぶれ信号)を動きベクトルに変換する手ぶれ信号/動きベクトル変換処理部31、手ぶれ信号/動きベクトル変換処理部31によって得られた動きベクトルを、画像のボケを表す手ぶれ関数(PSF:Point Spread Function)に変換する動きベクトル/手ぶれ関数変換処理部32および動きベクトル/手ぶれ関数変換処理部32によって得られた手ぶれ関数を一般逆フィルタ(画像復元フィルタ)に変換する手ぶれ関数/一般逆フィルタ変換処理部33を備えている。
The image restoration
〔3−1〕手ぶれ信号/動きベクトル変換処理部31についての説明
[3-1] Description of Camera Shake Signal / Motion Vector
手ぶれの元データは、撮影開始から撮影終了までの間の角速度センサ11、12の出力データである。角速度センサ11、12を用いてカメラの露光時期と同期させることで、撮影開始と共に所定のサンプリング間隔dt[sec] でパン方向およびチルト方向の角速度を計測し、撮影終了までのデータを得る。サンプリング間隔dt[sec] は、たとえば、1msecである。
The original data of camera shake is output data of the
図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] を用いて計算する。
As shown in FIG. 3, for example, the angular velocity θ ′ [deg / sec] in the pan direction of the camera is amplified by the
角速度センサ11によって得られる電圧値Vg [mV]は、角速度θ’[deg/sec] の値と比例する。このときの比例定数はセンサ感度であるので、Vg [mV]は、次式(1)で表される。
The voltage value V g [mV] obtained by the
Vg =Sθ’…(1) V g = Sθ ′ (1)
また、アンプ13は電圧値を増幅するだけなので、増幅された電圧Va [mV] は、次式(2)で表される。
Since the
Va =KVg …(2) V a = KV g (2)
アンプ13で増幅された電圧値Va [mV] はA/D変換され、n[step](例えば、−512〜512)のデジタル値DL [step]を使って表現される。A/D変換係数をL[mV/step] とすると、デジタル値DL [step]は、次式(3)で表される。
Voltage value V a [mV] amplified by the
DL =Va /L…(3) D L = V a / L (3)
上記式(1)〜(3)を用いることで、次式(4)に示すように、センサデータから角速度を求めることができる。 By using the above equations (1) to (3), the angular velocity can be obtained from the sensor data as shown in the following equation (4).
θ’=(L/KS)DL …(4) θ ′ = (L / KS) D L (4)
撮影中の角速度データから、撮影された画像上でどれだけのぶれが生じたかを計算することができる。この画像上でのみかけの動きを動きベクトルと呼ぶ。 It is possible to calculate how much blur has occurred on the photographed image from the angular velocity data being photographed. This apparent motion on the image is called a motion vector.
角速度データの1つのサンプル値から次のサンプル値までにカメラに生じた回転量をθ[deg] とする。この間、角速度一定でカメラが回転すると仮定し、サンプリング周波数をf =1/dt[Hz]とすると、θ[deg] は次式(5)で表される。 The rotation amount generated in the camera from one sample value to the next sample value of the angular velocity data is defined as θ [deg]. During this time, assuming that the camera rotates at a constant angular velocity and the sampling frequency is f = 1 / dt [Hz], θ [deg] is expressed by the following equation (5).
θ=θ’/f=(L/KSf)DL …(5) θ = θ ′ / f = (L / KSf) D L (5)
図4に示すように、r[mm]を焦点距離(35[mm]フィルム換算)とすると、カメラの回転量θ[deg] から画面上の移動量d[mm]が次式(6)により求められる。 As shown in FIG. 4, when r [mm] is the focal length (35 [mm] film equivalent), the movement amount d [mm] on the screen is calculated from the rotation amount θ [deg] of the camera by the following equation (6). Desired.
d=rtanθ…(6) d = rtan θ (6)
ここで求められた移動量d[mm]は、35[mm]フィルム換算時の手ぶれの大きさで、単位は[mm]である。実際に計算処理するときには、画像の大きさをデジタルカメラの画像の大きさの単位[pixel] で考えなければならない。 The amount of movement d [mm] obtained here is the size of camera shake when converted to 35 [mm] film, and its unit is [mm]. In actual calculation processing, the size of the image must be considered in the unit [pixel] of the image size of the digital camera.
35[mm]フィルム換算の画像と、デジタルカメラで撮影した[pixel] 単位の画像は縦横比も異なるので、次のように計算を行う。図5に示すように、35[mm]フィルム換算時は画像サイズの横×縦が36[mm]×24[mm]と決まっている。デジタルカメラで撮影した画像の大きさをX[pixel] ×Y[pixel] とし、水平方向(パン方向)のぶれをx[pixel] 、垂直方向(チルト方向)のぶれをy[pixel] とすると、変換式は次式(7)、(8)となる。 Since the 35 [mm] film equivalent image and the [pixel] unit image taken with the digital camera have different aspect ratios, the calculation is performed as follows. As shown in FIG. 5, at the time of 35 [mm] film conversion, the horizontal size and the vertical size of the image size are determined to be 36 [mm] × 24 [mm]. If the size of an image taken with a digital camera is X [pixel] x Y [pixel], the horizontal blur (pan direction) is x [pixel] and the vertical blur (tilt direction) is y [pixel]. The conversion equations are the following equations (7) and (8).
x=dx (X/36)=rtanθx (X/36)…(7)
y=dy (Y/24)=rtanθy (Y/24)…(8)
x = d x (X / 36) = rtan θ x (X / 36) (7)
y = d y (Y / 24) = r tan θ y (Y / 24) (8)
上記式(7)、(8)には、dとθに添字のxとyが使用されているが、添字xは水平方向の値であることを、添字yは垂直方向の値であることを示している。 In the above formulas (7) and (8), the subscripts x and y are used for d and θ. The subscript x is a horizontal value, and the subscript y is a vertical value. Is shown.
上記式(1)〜(8)をまとめると、水平方向(パン方向)のぶれx[pixel] 、垂直方向(チルト方向)のぶれy[pixel] は、次式(9)、(10)で表される。 Summarizing the above formulas (1) to (8), the horizontal direction (pan direction) blur x [pixel] and the vertical direction (tilt direction) blur y [pixel] are expressed by the following formulas (9) and (10). expressed.
x=rtan{(L/KSf)DLx}X/36…(9)
y=rtan{(L/KSf)DLy}Y/24…(10)
x = rtan {(L / KSf) D Lx } X / 36 (9)
y = rtan {(L / KSf) D Ly } Y / 24 (10)
この変換式(9)、(10)を用いることで、デジタル値として得られたカメラの各軸の角速度データから画像のぶれ量(動きベクトル)を求めることができる。 By using the conversion equations (9) and (10), it is possible to determine the amount of motion blur (motion vector) from the angular velocity data of each axis of the camera obtained as a digital value.
撮影中の動きベクトルは、センサから得られた角速度のデータの数だけ(サンプル点の数だけ)得ることができ、それらの始点と終点を順番に結んでいくと、画像上での手ぶれの軌跡になる。また、各ベクトルの大きさを見ることで、その時点での手ぶれの速度がわかる。 Motion vectors during shooting can be obtained by the number of angular velocity data obtained from the sensor (by the number of sample points). When the start point and end point are connected in order, the camera shake trajectory on the image become. Also, by looking at the size of each vector, the speed of camera shake at that time can be determined.
〔3−2〕動きベクトル/手ぶれ関数変換処理部32について
手ぶれを空間フィルタを使って表すことができる。図6の左側の図で示される手ぶれの軌跡(カメラがぶれたときに画像上である一点が描いた軌跡、画像のぶれ量)に合わせて、オペレータの要素に重みを加え空間フィルタ処理を行うと、フィルタリング過程において画素の濃淡値が手ぶれの軌跡に応じた近傍画素の濃淡値のみを考慮するようになるので、手ぶれ画像を作成することができる。
[3-2] Motion Vector / Shake Function
この軌跡に合わせて重み付けしたオペーレータのことをPoint Spread Function(PSF)と呼び、手ぶれの数学モデルとして使用する。PSFの各要素の重みは、その要素を手ぶれ軌跡が通過する時間に比例した値であって、各要素の重みの総和が1になるように正規化された値となる。すなわち、動きベクトルの大きさの逆数に比例した重みとする。手ぶれが画像に与える影響を考えたとき、遅く動いたところの方が画像に大きな影響を与えているからである。 The operator weighted according to this trajectory is called Point Spread Function (PSF) and is used as a mathematical model for camera shake. The weight of each element of the PSF is a value proportional to the time during which the hand movement trajectory passes through the element, and is a normalized value so that the sum of the weights of each element is 1. That is, the weight is proportional to the inverse of the magnitude of the motion vector. This is because, when considering the effect of camera shake on the image, the slower moving part has a greater effect on the image.
図6の中央の図は、手ぶれの動きが等速であると仮定した場合のPSFを表し、図6の右側の図は、実際の手ぶれの動きの大きさを考慮した場合のPSFを表している。図6の右側の図においては、PSFの重みの低い(動きベクトルの大きさが大きい)要素を黒く表示し、重みの高い(動きベクトルの大きさが小さい)要素を白く表示している。 The center diagram in FIG. 6 represents the PSF when it is assumed that the motion of the camera shake is constant, and the diagram on the right side of FIG. 6 represents the PSF when the magnitude of the actual motion of the camera shake is considered. Yes. In the diagram on the right side of FIG. 6, elements with low PSF weights (large motion vector magnitude) are displayed in black, and elements with high weights (motion vector magnitude small) are displayed in white.
上記〔3−1〕で得られた動きベクトル(画像のぶれ量)は手ぶれの軌跡と、軌跡の速度をデータとして持つ。 The motion vector (image blurring amount) obtained in [3-1] above has a camera shake trajectory and a trajectory speed as data.
PSFを作成するには、まず、手ぶれの軌跡からPSFの重みをかける要素を決定する。そして、手ぶれの速度からPSFの要素にかける重みを決定する。 In order to create a PSF, first, an element to which a PSF weight is applied is determined from the locus of camera shake. Then, the weight applied to the element of the PSF is determined from the speed of camera shake.
上記〔3−1〕で得られた一連の動きベクトルをつなぎ合わせることで折れ線近似された手ぶれの軌跡が得られる。この軌跡は小数点以下の精度を持つが、これを整数化することでPSFにおいて重みをかける要素を決定する。そのために、この実施例では、Bresenham の直線描画アルゴリズムを用いてPSFにおいて重みをかける要素を決定する。Bresenham の直線描画アルゴリズムとは、デジタル画面上で任意の2 点を通る直線を引きたい時に最適なドット位置を選択するアルゴリズムである。 By connecting the series of motion vectors obtained in [3-1] above, a hand movement locus approximated by a polygonal line is obtained. This trajectory has a precision below the decimal point, but by converting it into an integer, an element to be weighted in the PSF is determined. To this end, in this embodiment, elements to be weighted in the PSF are determined using Bresenham's straight line drawing algorithm. Bresenham's straight line drawing algorithm is an algorithm that selects the optimal dot position when it is desired to draw a straight line passing through two arbitrary points on a digital screen.
Bresenham の直線描画アルゴリズムを図7の例を用いて説明する。図7において矢印のついた直線は動きベクトルを示している。 The Bresenham straight line drawing algorithm will be described with reference to the example of FIG. In FIG. 7, a straight line with an arrow indicates a motion vector.
(a)ドット位置の原点(0,0)から出発し、動きベクトルの水平方向の要素を1つ増やす。
(b)動きベクトルの垂直方向の位置を確認し、この垂直方向位置が前のドットの垂直方向位置に比べて1より大きくなった場合にはドット位置の垂直方向を1つ増やす。
(c)再び動きベクトルの水平方向の要素を1つ増やす。
(A) Starting from the origin (0, 0) of the dot position, the horizontal element of the motion vector is increased by one.
(B) The vertical position of the motion vector is confirmed, and when the vertical position is larger than 1 compared to the vertical position of the previous dot, the vertical direction of the dot position is increased by one.
(C) The horizontal element of the motion vector is increased by one again.
このような処理を動きベクトルの終点まで繰り返すことにより、動きベクトルが通る直線をドット位置で表現することができる。 By repeating such processing to the end point of the motion vector, a straight line through which the motion vector passes can be expressed by the dot position.
PSFの要素にかける重みは、動きベトクル毎にベクトルの大きさ(速度成分)が異なることを利用して決定する。重みは動きベクトルの大きさの逆数をとり、各動きベクトルに対応する要素に重みを代入する。ただし、各要素の重みの総和が1になるように、各要素の重みを正規化する。図8に図7の動きベクトルにより得られるPSFを示す。速度の速いところ(動きベクトルの長いところ)は重みが小さくなり、速度の遅いところ(動きベクトルの短いところ)は重みが大きくなる。 The weight applied to the elements of the PSF is determined by utilizing the fact that the vector size (speed component) is different for each motion vector. The weight is the reciprocal of the magnitude of the motion vector, and the weight is substituted into the element corresponding to each motion vector. However, the weights of the elements are normalized so that the sum of the weights of the elements becomes 1. FIG. 8 shows a PSF obtained from the motion vector of FIG. Where the speed is high (where the motion vector is long), the weight is small, and where the speed is low (where the motion vector is short), the weight is large.
〔3−3〕手ぶれ関数/一般逆フィルタ変換処理部33について
[3-3] Camera shake function / general inverse filter
〔3−3−1〕 画像は水平方向にNx 画素、垂直方向にNy 画素の解像度でデジタル化されているものとする。水平方向にi番目、垂直方向にj番目の位置にある画素の値をp(i,j)で表す。空間フィルタによる画像の変換とは、注目画素の近傍画素の畳み込みによって変換をモデル化するものである。畳み込みの係数をh(l,m)とする。ここで、簡単のため、−n<l,m<nとすると、注目画素の変換は次式(11)によって表現することができる。また、h(l,m)自身を空間フィルタと呼んだり、フィルタ係数と呼んだりする。変換の性質はh(l,m)の係数値によって決まる。 [3-3-1] An image is digitized with a resolution of N x pixels in the horizontal direction and N y pixels in the vertical direction. The value of the pixel at the i-th position in the horizontal direction and the j-th position in the vertical direction is represented by p (i, j). The image conversion by the spatial filter is to model the conversion by convolution of neighboring pixels of the target pixel. Let the convolution coefficient be h (l, m). Here, for the sake of simplicity, if −n <l and m <n, the conversion of the pixel of interest can be expressed by the following equation (11). Further, h (l, m) itself is called a spatial filter or a filter coefficient. The nature of the conversion is determined by the coefficient value of h (l, m).
デジタルカメラなどの撮像装置で点光源を観察した場合、画像の形成過程に劣化がないと仮定すれば、画像上に観察される像は、ある一点だけが0以外の画素値を持ち、それ以外の画素値は0となる。実際の撮像装置は劣化過程を含むので、点光源を観察しても、その像は一点にならず、広がった像になる。手ぶれが発生した場合、点光源は手ぶれに応じた軌跡を画面上に生成する。 When a point light source is observed with an imaging device such as a digital camera, assuming that there is no deterioration in the image formation process, the image observed on the image has a pixel value other than 0, and other than that, The pixel value of becomes zero. Since an actual imaging device includes a deterioration process, even if a point light source is observed, the image is not a single point but a widened image. When camera shake occurs, the point light source generates a locus on the screen according to the camera shake.
点光源に対する観察画像の画素値に比例した値を係数として持ち、係数値の総和が1になる空間フィルタをPoint Spread Function(PSF 、点広がり関数 )と呼ぶ。この実施例では、PSFとして動きベクトル/手ぶれ関数変換処理部32によって得られたPSFを用いる。
A spatial filter having a coefficient proportional to the pixel value of the observation image with respect to the point light source and the sum of the coefficient values being 1 is called a point spread function (PSF). In this embodiment, the PSF obtained by the motion vector / camera shake function
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)は何らかの方法で計算する必要がある。 When the PSF is modeled by a vertical and horizontal (2n + 1) × (2n + 1) spatial filter h (l, m), −n <l, m <n, the pixel value p (i, j of the image without blur for each pixel. ) And the pixel value p ′ (i, j) of the blurred image have the relationship of the above equation (11). Here, what can actually be observed is the pixel value p ′ (i, j) of the blurred image, and the pixel value p (i, j) of the image without blur needs to be calculated by some method.
上記式(11)を全ての画素について書き並べると、次式(12)に示すようになる。 When the above equation (11) is written for all the pixels, the following equation (12) is obtained.
これらの式をまとめて行列表現することが可能であり、次式(13)となる。ここで、Pは元画像をラスター走査順に一元化したものである。 These equations can be collectively expressed as a matrix, and the following equation (13) is obtained. Here, P is a unified original image in the raster scan order.
P’=H×P …(13) P ′ = H × P (13)
Hの逆行列H-1が存在すれば、P=H-1×Pを計算することによって、劣化した画像P’から劣化の無い画像Pを求めることが可能であるが、一般にはHの逆行列は存在しない。逆行列が存在しない行列に対して、一般逆行列ないしは擬似逆行列と呼ばれるものが存在する。次式(14)に一般逆行列の例を示す。 If there is an inverse matrix H −1 of H, it is possible to obtain a non-degraded image P from the degraded image P ′ by calculating P = H −1 × P. There is no matrix. In contrast to a matrix that does not have an inverse matrix, there is a so-called general inverse matrix or pseudo inverse matrix. The following equation (14) shows an example of a general inverse matrix.
H* =(Ht ・H+γ・I)-1・Ht …(14) H * = (H t · H + γ · I) −1 · H t (14)
ここでH* はHの一般逆行列、Ht はHの転置行列、γはスカラー、IはHt ・Hと同じサイズの単位行列である。H* を用いて次式(15)を計算することで、観察された手ぶれ画像P’から手ぶれが補正された画像Pを得ることができる。γは補正の強さを調整するパラメータである。γが小さければ強い補正処理となり、γが大きければ弱い補正処理となる。 Here, H * is a general inverse matrix of H, H t is a transposed matrix of H, γ is a scalar, and I is a unit matrix having the same size as H t · H. By calculating the following equation (15) using H * , it is possible to obtain an image P in which camera shake is corrected from the observed camera shake image P ′. γ is a parameter for adjusting the strength of correction. If γ is small, strong correction processing is performed, and if γ is large, weak correction processing is performed.
P’=H* ×P …(15) P ′ = H * × P (15)
画像サイズを640×480とした場合、上記式(15)のPは307,200×1の行列、H* は307,200×307,200の行列となる。このような非常に大きな行列となるため、上記式(14)、(15)を直接用いることは実用的ではない。そこで、次のような方法で計算に用いる行列のサイズを小さくすることが可能である。 When the image size is 640 × 480, P in the above equation (15) is a 307,200 × 1 matrix, and H * is a 307,200 × 307,200 matrix. Since such a very large matrix is used, it is not practical to directly use the equations (14) and (15). Therefore, it is possible to reduce the size of the matrix used for the calculation by the following method .
まず、上記式(15)において、Pの元になる画像のサイズを63×63など、比較小さなサイズにする。63×63の画像であれば、Pは3969×1の行列、H* は3969×3969の行列となる。H* はボケ画像全体を補正された画像全体に変換する行列であり、H* の各行とPの積は各画素の補正を行う演算に相当する。H* の真ん中の行とPの積は、63×63画素の元画像の、真ん中の画素に対する補正に該当する。Pは元画像をラスター走査順に一元化したものであったから、逆に、H* の真ん中の行を逆ラスター走査により2次元化することで、63×63のサイズの空間フィルタを構成することができる。このように構成した空間フィルタを一般逆フィルタと呼ぶ。このようにして作成した実用的なサイズの空間フィルタを、大きな画像全体の各画素に順次適用することで、ボケ画像を補正することが可能となる。 First, in the above equation (15), the size of the image that is the source of P is set to a comparatively small size such as 63 × 63. In the case of a 63 × 63 image, P is a 3969 × 1 matrix and H * is a 3969 × 3969 matrix. H * is a matrix for converting the entire blurred image into the corrected image, and the product of each row of H * and P corresponds to an operation for correcting each pixel. The product of the middle row of H * and P corresponds to the correction of the middle pixel of the original image of 63 × 63 pixels. Since P is an original image that is unified in the order of raster scanning, conversely, a spatial filter having a size of 63 × 63 can be configured by two-dimensionalizing the middle row of H * by reverse raster scanning. . The spatial filter configured in this way is called a general inverse filter. The blurred image can be corrected by sequentially applying the spatial filter of the practical size created in this way to each pixel of the entire large image.
〔3−3−2〕 背景技術において説明したように、手ぶれ量が小さい場合には、一般逆フィルタのフィルタ要素のうち、周辺部のフィルタ要素の貢献度が微小であることが判明した。そこで、PSFから一般逆フィルタを生成する際に、手ぶれ量に応じて一般逆フィルタのサイズを変えることが好ましい。例えば、αを所定の係数として、手ぶれ量のα倍を一般逆フィルタのサイズとして決定することが好ましい。このようにすると、貢献度の小さい周辺部のフィルタ要素が削除されるため、一般逆フィルタを用いて画像復元を行う際の処理量に対する手ぶれ補正効果を向上させることが可能となる。 [3-3-2] As described in the background art, when the amount of camera shake is small, it has been found that among the filter elements of the general inverse filter, the contribution degree of the peripheral filter elements is very small. Therefore, when generating the general inverse filter from the PSF, it is preferable to change the size of the general inverse filter in accordance with the amount of camera shake. For example, it is preferable to determine α as a predetermined coefficient and α times the amount of camera shake as the size of the general inverse filter. In this way, since the filter elements in the peripheral portion with a small contribution are deleted, it is possible to improve the camera shake correction effect with respect to the processing amount when performing image restoration using a general inverse filter.
手ぶれ量のα倍を一般逆フィルタのサイズとして決定する場合の、αの決定方法について説明する。 A method for determining α when α times the amount of camera shake is determined as the size of the general inverse filter will be described.
まず、図9を参照して、手ぶれ量〔画素〕の求め方について説明する。まず、PSF画像の有効画素(画素値が0でない画素)を全て含む外接長方形を求める。次に、その外接長方形の高さh〔画素〕と幅w〔画素〕とに基づいて、対角線の長さL〔画素〕を求め、手ぶれ量とする。 First, with reference to FIG. 9, how to determine the amount of camera shake [pixel] will be described. First, a circumscribed rectangle including all the effective pixels (pixels whose pixel value is not 0) of the PSF image is obtained. Next, based on the height h [pixel] and width w [pixel] of the circumscribed rectangle, the diagonal length L [pixel] is obtained and set as the amount of camera shake.
図10は、手ぶれ量がある値である場合の、一般逆フィルタのサイズ〔画素〕(正方形の空間フィルタの次数(n×nのnに相当する))と手ぶれ補正効果〔%〕との関係を示している。なお、画像サイズと同じサイズの逆フィルタを用いた場合の手ぶれ補正効果を100%に設定している。 FIG. 10 shows the relationship between the size of the general inverse filter [pixel] (the order of the square spatial filter (corresponding to n of n × n)) and the camera shake correction effect [%] when the amount of camera shake is a certain value. Is shown. Note that the camera shake correction effect when an inverse filter having the same size as the image size is used is set to 100%.
図10から分かるように、一般逆フィルタのサイズを0から徐々に大きくしていくと、補正効果それにしたがって高くなるが、一般逆フィルタのサイズが所定値に達するとそれ以上サイズを大きくしても補正効果は一定となる。 As can be seen from FIG. 10, when the size of the general inverse filter is gradually increased from 0, the correction effect increases accordingly, but when the size of the general inverse filter reaches a predetermined value, the size of the general inverse filter can be increased further. The correction effect is constant.
そこで、手ぶれ補正効果が、最大補正効果の一定割合(この例では、98%)となるフィルタサイズを、当該手ぶれ量に対する一般逆フィルタの最適サイズであるとする。 Therefore, it is assumed that the filter size at which the camera shake correction effect is a fixed ratio (98% in this example) of the maximum correction effect is the optimum size of the general inverse filter for the camera shake amount.
図11は、手ぶれ量とそれに対応する一般逆フィルタの最適サイズとの関係を示している。図11から分かるように、手ぶれ量が大きくなるにしたがって、一般逆フィルタの最適サイズも大きくなる。図11の手ぶれ量とそれに対応する一般逆フィルタの最適サイズとの関係に基づいて、係数αを決定する。 FIG. 11 shows the relationship between the amount of camera shake and the optimum size of the general inverse filter corresponding thereto. As can be seen from FIG. 11, as the amount of camera shake increases, the optimum size of the general inverse filter also increases. The coefficient α is determined based on the relationship between the amount of camera shake in FIG. 11 and the optimum size of the general inverse filter corresponding thereto.
〔3−3−3〕 ところで、手ぶれ量のα倍を一般逆フィルタのサイズとして決定し、そのサイズに応じたフィルタ回路を用意する場合には、サイズの異なる多くのフィルタ回路(積和演算回路)を搭載する必要があるため、回路規模が増大する。そこで、この実施例では、複数の代表的なサイズのフィルタ回路を搭載しておき、手ぶれ量から求められた最適フィルタサイズに応じて、使用するフィルタ回路を切り換えるようにしている。これにより最小限の回路規模を増加するだけで、処理量に対する補正効果を向上化させることが可能となる。ただし、PSFから一般逆フィルタのフィルタ係数を算出する場合には、手ぶれ量に応じた最適フィルタサイズが一般逆フィルタのサイズとして用いられる。 [3-3-3] By the way, when α times the amount of camera shake is determined as the size of the general inverse filter and a filter circuit corresponding to the size is prepared, many filter circuits (product-sum operation circuits having different sizes) are prepared. ), The circuit scale increases. Therefore, in this embodiment, a plurality of filter circuits of typical sizes are mounted, and the filter circuit to be used is switched according to the optimum filter size obtained from the amount of camera shake. Thus, the correction effect on the processing amount can be improved only by increasing the minimum circuit scale. However, when calculating the filter coefficient of the general inverse filter from the PSF, the optimum filter size corresponding to the amount of camera shake is used as the size of the general inverse filter.
この実施例では、補正する最大手ぶれ量に対する最適フィルタサイズ(最大フィルタ)を有するフィルタ回路(最大フィルタ回路)と、無駄な演算回数が最も小さくなるフィルタサイズ(中間フィルタ)を有するフィルタ回路(中間フィルタ回路)とが、代表的なフィルタ回路として搭載されている。最大手ぶれ量は、本実施例の画像復元手法で効果が視認できる最大手ぶれ量、または通常の撮影で発生しうる最大手ぶれ量とする。 In this embodiment, a filter circuit (maximum filter circuit) having an optimum filter size (maximum filter) with respect to the maximum amount of camera shake to be corrected, and a filter circuit (intermediate filter) having a filter size (intermediate filter) that minimizes the number of useless operations. Circuit) is mounted as a typical filter circuit. The maximum amount of camera shake is the maximum amount of camera shake that can be visually recognized with the image restoration method of the present embodiment, or the maximum amount of camera shake that can occur in normal shooting.
無駄な演算回数が最も小さくなるフィルタ回路(中間フィルタ回路)のサイズ(次数)は、次のようにして決定する。 The size (order) of the filter circuit (intermediate filter circuit) that minimizes the number of useless operations is determined as follows.
(1)画像幅をW、画像の高さをH、フィルタ次数をdとすると、空間フィルタの積和演算回数Nは、次式(16)によって算出できる。 (1) If the image width is W, the image height is H, and the filter order is d, the product-sum operation count N of the spatial filter can be calculated by the following equation (16).
N=W・H・{d2 +(d2 −1)}
=W・H・(2d2 −1) …(16)
N = W · H · {d 2 + (d 2 −1)}
= W · H · (2d 2 −1) (16)
(2)最大フィルタの次数をDmax とし、中間フィルタ回路の次数をDmid とする。今、任意の手ぶれが発生し、その最適フィルタ回路の次数をDとすると、D≦Dmid の範囲において次数Dのフィルタ回路で演算する場合に比べて中間フィルタ回路で処理した場合の無駄な積和演算回数Ninvalid _mid と、Dmid <D≦Dmax の範囲において次数Dのフィルタ回路で演算する場合に比べて最大フィルタ回路で処理した場合の無駄な積和演算回数Ninvalid _max とは、次式(17)、(18)によって算出することができる。 (2) The order of the maximum filter is D max and the order of the intermediate filter circuit is D mid . Now, if an arbitrary camera shake occurs, and the order of the optimum filter circuit is D, a waste product when processing by the intermediate filter circuit is compared with the case of calculating by the filter circuit of order D in the range of D ≦ D mid The number of sum operations N invalid — mid and the number of useless product-sum operations N invalid — max when processed by the maximum filter circuit as compared to the case of calculating by the order D filter circuit in the range of D mid <D ≦ D max Can be calculated by the following equations (17) and (18).
(a)中間フィルタ回路で処理する場合(D≦Dmid )
Ninvalid _mid =NDmid−ND =W・H・{(2Dmid 2 −1)−(2D2 −1)} =2・W・H・(Dmid 2 −D2 ) …(17)
(b)最大フィルタ回路で処理する場合(Dmid <D≦Dmax )
Ninvalid _max =NDmax−ND =W・H・{(2Dmax 2 −1)−(2D2 −1)} =2・W・H・(Dmax 2 −D2 ) …(18)
(A) When processing by an intermediate filter circuit (D ≦ D mid )
N invalid —mid = N Dmid −N D = W · H · {(2D mid 2 −1) − (2D 2 −1)} = 2 · W · H · (D mid 2 −D 2 ) (17)
(B) When processing by the maximum filter circuit (D mid <D ≦ D max )
N invalid — max = N Dmax −N D = W · H · {(2D max 2 −1) − (2D 2 −1)} = 2 · W · H · (D max 2 −D 2 ) (18)
ただし、NDmidは中間フィルタ回路での積和演算回数を示し、NDmaxは最大フィルタでの積和演算回数を示し、ND は任意の手ぶれに対する最適フィルタ回路での積和演算回数を示している。 Where N Dmid indicates the number of product-sum operations in the intermediate filter circuit, N Dmax indicates the number of product-sum operations in the maximum filter, and N D indicates the number of product-sum operations in the optimum filter circuit for any camera shake. Yes.
(3)中間フィルタ回路の次数をDmid とした場合、手ぶれ量が0から最大値までの全範囲での上記無駄な積和演算の総和Sinvalid は、次式(19)によって算出することができる。 (3) When the order of the intermediate filter circuit is D mid , the total sum S invalid of the useless sum-of-products calculation in the entire range of the camera shake amount from 0 to the maximum value can be calculated by the following equation (19). it can.
ただし、dxは、手ぶれ量に応じた最適フィルタサイズ(一般逆フィルタサイズ)である。 However, dx is the optimum filter size (general inverse filter size) according to the amount of camera shake.
(4)最大フィルタ回路のDmax を51として、中間フィルタ回路の次数Dmid を0〜51の範囲で変化させた場合、中間フィルタ回路の次数Dmid と、無駄な積和演算の総和Sinvalid との関係は、図12に折れ線で示すようになる。 (4) D max of 51 up to the filter circuit, if the order D mid of the intermediate filter circuit is varied in the range of 0-51, and the order D mid of the intermediate filter circuit, useless product-sum operation of the sum S invalid Is shown by a broken line in FIG.
(5)図12の折れ線を2次曲線で近似し、無駄な積和演算の総和Sinvalid が最小となるサイズを、最適な中間フィルタ回路のサイズ(次数)とする。 (5) The polygonal line in FIG. 12 is approximated by a quadratic curve, and the size that minimizes the sum S invalid of the useless product-sum operation is set as the optimum size (order) of the intermediate filter circuit.
このようにしてサイズが決定された中間フィルタ回路42(図2参照))と、最大フィルタ回路43とが、画像復元処理部40に設けられている。
The intermediate filter circuit 42 (see FIG. 2) whose size is determined in this way and the
〔3−3−4〕 図13は、画像復元フィルタ計算部30による処理手順を示している。 まず、2軸の角速度センサデータを読み込む(ステップS1)。読み込んだ2軸の角速度センサデータを動きベクトルに変換する(ステップS2)。得られた動きベクトルをPSF(手ぶれ関数)に変換する(ステップS3)。
[3-3-4] FIG. 13 shows a processing procedure by the image restoration
得られたPSFから手ぶれ量Lを算出する(ステップS4)。得られた手ぶれ量Lから、その手ぶれ量に応じた最適フィルタサイズFを算出する(ステップS5)。そして、一般逆フィルタのサイズをFに決定する(ステップS6)。一般逆フィルタのサイズをFとして、PSFを一般逆フィルタに変換する(ステップS7)。これにより、一般逆フィルタのフィルタ係数が求められる。 The camera shake amount L is calculated from the obtained PSF (step S4). From the obtained camera shake amount L, an optimum filter size F corresponding to the camera shake amount is calculated (step S5). Then, the size of the general inverse filter is determined to be F (step S6). The size of the general inverse filter is F, and the PSF is converted into a general inverse filter (step S7). Thereby, the filter coefficient of the general inverse filter is obtained.
次に、中間フィルタ回路のサイズが上記一般逆フィルタのサイズF以上であるか否かを判別する(ステップS8)。中間フィルタ回路のサイズが上記一般逆フィルタのサイズF以上である場合には、画像復元フィルタ回路として中間フィルタ回路を選択する(ステップS9)。そして、ステップS13に進む。 Next, it is determined whether or not the size of the intermediate filter circuit is equal to or larger than the size F of the general inverse filter (step S8). If the size of the intermediate filter circuit is equal to or larger than the size F of the general inverse filter, the intermediate filter circuit is selected as the image restoration filter circuit (step S9). Then, the process proceeds to step S13.
中間フィルタ回路のサイズが上記一般逆フィルタのサイズFより小さい場合には、最大フィルタ回路のサイズが上記一般逆フィルタのサイズF以上であるか否かを判別する(ステップS10)。最大フィルタ回路のサイズが上記一般逆フィルタのサイズF以上である場合には、画像復元フィルタ回路として最大フィルタ回路を選択する(ステップS11)。そして、ステップS13に進む。 If the size of the intermediate filter circuit is smaller than the size F of the general inverse filter, it is determined whether or not the size of the maximum filter circuit is equal to or larger than the size F of the general inverse filter (step S10). When the size of the maximum filter circuit is equal to or larger than the size F of the general inverse filter, the maximum filter circuit is selected as the image restoration filter circuit (step S11). Then, the process proceeds to step S13.
最大フィルタ回路のサイズが上記一般逆フィルタのサイズFより小さい場合には、画像を復元することはできないため、画像復元フィルタ回路の選択は行わない(ステップS12)。この場合には、画像復元フィルタ回路による復元処理は行われない。そして、ステップS13に進む。 When the size of the maximum filter circuit is smaller than the size F of the general inverse filter, since the image cannot be restored, the image restoration filter circuit is not selected (Step S12). In this case, the restoration process by the image restoration filter circuit is not performed. Then, the process proceeds to step S13.
ステップS13では、画像復元フィルタ回路の選択が行われたか否かを判別する。画像復元フィルタ回路の選択が行われなかった場合には、今回の処理を終了する。画像復元フィルタ回路の選択が行われた場合には、選択された画像復元フィルタ回路(中間フィルタ回路または最大フィルタ回路)に、上記ステップS7によって算出されたフィルタ係数をセットする(ステップS14)。なお、この場合、選択された画像復元フィルタ回路において、上記一般逆フィルタのサイズFより大きな部分には、フィルタ係数として0がセットされる。そして、今回の処理を終了する。 In step S13, it is determined whether or not an image restoration filter circuit has been selected. If the image restoration filter circuit is not selected, the current process is terminated. When the image restoration filter circuit is selected, the filter coefficient calculated in step S7 is set in the selected image restoration filter circuit (intermediate filter circuit or maximum filter circuit) (step S14). In this case, 0 is set as a filter coefficient in a portion larger than the size F of the general inverse filter in the selected image restoration filter circuit. And this process is complete | finished.
〔4〕画像復元処理部40について
[4] Regarding the image
画像復元処理部40は、図2に示すように、ノイズ除去のためのフィルタ回路41と、中間フィルタを用いて画像復元を行うための中間フィルタ回路部42と、最大フィルタを用いて画像復元を行うための最大フィルタ回路43とを備えている。フイルタ回路41はメディアンフィルタを用いてフィルタ処理を行う。
As shown in FIG. 2, the image
カメラによって撮影された手ぶれ画像は、フィルタ回路41に送られ、メディアンフィルタを用いたフィルタ処理が行われ、ノイズが除去される。フィルタ回路41によって得られた画像は、画像復元フィルタ計算部30によってフィルタ係数がセットされたフィルタ回路42または43に送られる。フィルタ回路42または43では、画像復元フィルタである中間フィルタまたは最大フィルタを用いたフィルタ処理が行われ、手ぶれ画像から手ぶれのない画像が復元される。フィルタ回路42または43によって得られた画像v _fukugen は、リンギング除去処理部50内の加重平均処理部53に送られる。
The camera shake image photographed by the camera is sent to the
〔5〕リンギング除去処理部50についての説明
[5] Explanation of the ringing
リンギング除去処理部50は、図2に示すように、エッジ強度算出部51、加重平均係数算出部52および加重平均処理部53を備えている。
As shown in FIG. 2, the ringing
カメラによって撮影された手ぶれ画像v _tebre は、エッジ強度算出部51に送られ、各画素毎にエッジ強度が算出される。エッジ強度の求め方について説明する。
The camera shake image v_tebre photographed by the camera is sent to the edge
図14に示すように、注目画素v22を中心とする3×3の領域を想定する。注目画素v22に対して、水平エッジ成分dhと垂直エッジ成分dvを算出する。エッジ成分の算出には、例えば、図15に示すPrewitt のエッジ抽出オペレータを用いる。図15(a)は水平エッジ抽出オペレータを示し、図15(b)は垂直エッジ抽出オペレータを示している。 As shown in FIG. 14, a 3 × 3 region centered on the target pixel v22 is assumed. A horizontal edge component dh and a vertical edge component dv are calculated for the target pixel v22. For calculating the edge component, for example, a Prewitt edge extraction operator shown in FIG. 15 is used. FIG. 15A shows a horizontal edge extraction operator, and FIG. 15B shows a vertical edge extraction operator.
水平エッジ成分dhおよび垂直エッジ成分dvは、次式(20)、(21)によって求められる。 The horizontal edge component dh and the vertical edge component dv are obtained by the following equations (20) and (21).
dh=v11 +v12 +v13 −v31 −v32 −v33 …(20)
dv=v11 +v21 +v31 −v13 −v23 −v33 …(21)
dh = v11 + v12 + v13 −v31 −v32 −v33 (20)
dv = v11 + v21 + v31−v13−v23−v33 (21)
次に、水平エッジ成分dhおよび垂直エッジ成分dvから、注目画素v22のエッジ強度v _edgeを次式(22)に基づいて算出する。 Next, the edge strength v_edge of the target pixel v22 is calculated from the horizontal edge component dh and the vertical edge component dv based on the following equation (22).
v _edge=sqrt(dh ×dh+dv×dv) …(22) v _edge = sqrt (dh × dh + dv × dv) (22)
なお、注目画素v22のエッジ強度v _edgeとして、abs(dh) +abs(dv) を用いてもよい。また、このようにして得られたエッジ強度画像に対してさらに3×3のノイズ除去フィルタをかけてもよい。 Note that abs (dh) + abs (dv) may be used as the edge strength v_edge of the target pixel v22. Further, a 3 × 3 noise removal filter may be further applied to the edge intensity image obtained in this way.
エッジ強度算出部51によって算出された各画素のエッジ強度v _edgeは、加重平均係数算出部52に与えられる。加重平均係数算出部52は、次式(23)に基づいて、各画素の加重平均係数kを算出する。
The edge strength v_edge of each pixel calculated by the edge
If v _edge> th then k=1
If v _edge≦ th then k=v _edge/th …(23)
If v _edge> th then k = 1
If v_edge ≦ th then k = v_edge / th (23)
th は十分に強いエッジであることを判定するための閾値である。つまり、v _edgeと加重平均係数kとの関係は、図16に示すような関係となる。 th is a threshold value for determining that the edge is sufficiently strong. That is, the relationship between v_edge and the weighted average coefficient k is as shown in FIG.
加重平均係数算出部52によって算出された各画素の加重平均係数kは、加重平均処理部53に与えられる。画像復元処理部40によって得られた復元画像の画素値をv _fukugen とし、カメラによって撮像された手ぶれ画像の画素値をv _tebre とすると、加重平均処理部53は、次式(24)で表される計算を行うことにより、復元画像の画素値v _fukugen と手ぶれ画像の画素値v _tebre とを加重平均する。
The weighted average coefficient k of each pixel calculated by the weighted average
v =k ×v _fukugen +(1−k)×v _tebre …(24) v = k * v_fukugen + (1-k) * v_tebre (24)
つまり、エッジ強度v _edgeが閾値thより大きな画素については、その位置に対応する復元画像のリンギングが目立たないので、画像復元処理部40によって得られた復元画像の画素値v _fukugen がそのまま出力される。エッジ強度v _edgeが閾値th以下の画素については、エッジ強度v _edgeが小さいほど、復元画像のリンギングが目立つので、復元画像の度合いを弱くし、手ぶれ画像の度合いを強くする。
That is, for pixels with edge strength v_edge larger than the threshold th, ringing of the restored image corresponding to that position is not noticeable, and the pixel value v_fukugen of the restored image obtained by the image
11、12 角速度センサ
30 画像復元フィルタ計算部
40 画像復元処理部
50 リンギング除去処理部
31 手ぶれ信号/動きベクトル変換処理部
32 動きベクトル/手ぶれ関数変換処理部
33 手ぶれ関数/一般逆フィルタ変換処理部
42 中間フィルタ回路
43 最大フィルタ回路
DESCRIPTION OF
Claims (4)
手ぶれ量に応じて一般逆フィルタのサイズを制御するフィルタサイズ制御手段を備えていることを特徴とする手ぶれ補正装置。 In a camera shake correction apparatus that performs image restoration using a general inverse filter obtained from a camera shake function,
A camera shake correction device comprising filter size control means for controlling the size of a general inverse filter in accordance with the amount of camera shake.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005098942A JP4383379B2 (en) | 2005-03-30 | 2005-03-30 | Image stabilizer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005098942A JP4383379B2 (en) | 2005-03-30 | 2005-03-30 | Image stabilizer |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006279808A true JP2006279808A (en) | 2006-10-12 |
JP4383379B2 JP4383379B2 (en) | 2009-12-16 |
Family
ID=37214032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005098942A Expired - Fee Related JP4383379B2 (en) | 2005-03-30 | 2005-03-30 | Image stabilizer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4383379B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008236289A (en) * | 2007-03-20 | 2008-10-02 | Sanyo Electric Co Ltd | Image sensing device |
JP2009141769A (en) * | 2007-12-07 | 2009-06-25 | Eastman Kodak Co | Image processing apparatus |
JP2014115790A (en) * | 2012-12-07 | 2014-06-26 | Fujitsu Ltd | Image processor, information processing method and program |
JP2022180569A (en) * | 2019-02-20 | 2022-12-06 | 富士フイルム株式会社 | Blur correction device, imaging apparatus, monitoring system, and program |
-
2005
- 2005-03-30 JP JP2005098942A patent/JP4383379B2/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008236289A (en) * | 2007-03-20 | 2008-10-02 | Sanyo Electric Co Ltd | Image sensing device |
JP2009141769A (en) * | 2007-12-07 | 2009-06-25 | Eastman Kodak Co | Image processing apparatus |
JP2014115790A (en) * | 2012-12-07 | 2014-06-26 | Fujitsu Ltd | Image processor, information processing method and program |
JP2022180569A (en) * | 2019-02-20 | 2022-12-06 | 富士フイルム株式会社 | Blur correction device, imaging apparatus, monitoring system, and program |
JP7356557B2 (en) | 2019-02-20 | 2023-10-04 | 富士フイルム株式会社 | Image stabilization device, imaging device, monitoring system, and program |
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 (en) | 2009-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4152398B2 (en) | Image stabilizer | |
JP2006129236A (en) | Ringing eliminating device and computer readable recording medium with ringing elimination program recorded thereon | |
JP4342493B2 (en) | Image stabilizer | |
JP4307430B2 (en) | Camera shake detection device | |
JP5596138B2 (en) | Imaging apparatus, image processing apparatus, image processing method, and image processing program | |
JP5767485B2 (en) | Image processing apparatus and control method | |
JP4145308B2 (en) | Image stabilizer | |
JP4454657B2 (en) | Blur correction apparatus and method, and imaging apparatus | |
JP2011029735A (en) | Image processor, imaging device, and image processing method | |
JP2011166588A (en) | Imaging apparatus and imaging method, and image processing method for the imaging apparatus | |
JP5541205B2 (en) | Image processing apparatus, imaging apparatus, image processing program, and image processing method | |
JP4958806B2 (en) | Blur detection device, blur correction device, and imaging device | |
JP4383379B2 (en) | Image stabilizer | |
JP2009088935A (en) | Image recording apparatus, image correcting apparatus, and image pickup apparatus | |
JP4740008B2 (en) | Camera shake detection device and digital camera | |
JP5115297B2 (en) | Image processing apparatus, imaging apparatus, image processing method, and program | |
JP2018181070A (en) | Image processing device and image processing method | |
JP4236642B2 (en) | Imaging device | |
JP6929185B2 (en) | Image processing equipment and image processing methods, programs, storage media | |
JP2011193276A (en) | Imaging device, method for controlling the same, and program | |
JP2010108161A (en) | Image processing apparatus and method, and computer program | |
JP6858073B2 (en) | Image processing device, image processing method, and program | |
JP2009088933A (en) | Image recording apparatus, image correcting apparatus and image pickup apparatus | |
JP2007036894A (en) | Picture processor | |
JP2006115275A (en) | Image pickup unit |
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 |