JP2004343483A - Device and method for correcting camera-shake and device for detecting camera shake - Google Patents

Device and method for correcting camera-shake and device for detecting camera shake Download PDF

Info

Publication number
JP2004343483A
JP2004343483A JP2003138436A JP2003138436A JP2004343483A JP 2004343483 A JP2004343483 A JP 2004343483A JP 2003138436 A JP2003138436 A JP 2003138436A JP 2003138436 A JP2003138436 A JP 2003138436A JP 2004343483 A JP2004343483 A JP 2004343483A
Authority
JP
Japan
Prior art keywords
image
image data
movement amount
level
feature point
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.)
Pending
Application number
JP2003138436A
Other languages
Japanese (ja)
Other versions
JP2004343483A5 (en
Inventor
Senkichi Cho
先吉 張
Toshio Moriya
俊夫 守屋
Toshinori Hase
俊徳 長谷
Yuichi Miyata
勇一 宮田
Hidetoshi Kubota
英俊 久保田
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.)
Acutelogic Corp
Original Assignee
Acutelogic Corp
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 Acutelogic Corp filed Critical Acutelogic Corp
Priority to JP2003138436A priority Critical patent/JP2004343483A/en
Publication of JP2004343483A publication Critical patent/JP2004343483A/en
Publication of JP2004343483A5 publication Critical patent/JP2004343483A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an inexpensive small-sized device which can perform camera-shake correction that is precise and excellently responsive. <P>SOLUTION: Input images YC1 and YC2 are contracted step by step over a plurality of steps and a scanning block in obtaining an amount of local movement at an upper layer level is established by utilizing an amount of global movement roughly obtained by using a contracted image at a lower layer level. Thus, it becomes possible to establish correlation with an image in a reference block set on a first image without enlarging the scanning block to be set on a second image so much. By allowing reduction in the size of the scanning block, the probability for a plurality of identical or similar patterns to exist in the scanning block becomes small, and inconveniences that an image in the reference block and an image in the scanning block are decided to be matched at a wrong position are suppressed. Also, since a range to be scanned becomes small, an amount of operation decreases and the responsiveness of camera-shake correction is improved. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は手振れ補正装置および方法、手振れ検出装置に関し、特に、撮像装置に加わる手振れに起因する撮像画像の画質低下を防ぐための手振れ補正機能に関するものである。
【0002】
【従来の技術】
スチルカメラやビデオカメラ等の撮像装置の多くは、カメラに加わる手振れによる画質の低下を防ぐために、手振れ補正機能を備えている。撮影時におけるカメラの手振れは、周波数として通常1Hzから15Hz程度の範囲内の振動である。このような手振れを起こしても像ブレの無い画像を撮影可能とするための手振れ補正機能の要素技術としては、手振れを検出する技術と、手振れを補正する技術との2つがある。
【0003】
前者の手振れを検出する技術は、動きベクトル検出方式と角速度検出方式とに大別される。動きベクトル検出方式は、CCD(Charge Coupled Device)等で撮像された画像データを電子的に処理してカメラの動きベクトルを検出する方式である。一方、角速度検出方式は、ジャイロセンサなどを使って角速度を検出する方式である。電子的に手振れを検出する手法としては、時間差をおいて撮像した2つの画像データの相互相関をとることによって像ブレ(画像移動量)を求める方法が一般的である(例えば、特許文献1参照)。
【0004】
【特許文献1】
特開平10−173992号公報
【0005】
一般に、複数の画像データの相互相関を見ることによって画像移動量を求める場合、基準の画像中から切り出した所定サイズのブロック(以下、参照ブロックと呼ぶ)が、比較対象の画像中でどこに移動したかを検出する手法がとられる。この場合、参照ブロックの画像を比較対象の画像上で走査しながら、各走査位置での両画像の類似度を計算し、類似度が最大となった走査位置に参照ブロックが移動したと判断する。走査範囲は比較対象画像の全体としても良いが、手振れ量として起こり得る範囲を想定して、参照ブロックよりも大きいサイズの走査ブロックが設定され、その走査ブロックの内部でのみ走査が行われることが多い。
【0006】
また、後者の手振れを補正する技術は、光学式と電子式とに大別される。光学式手振れ補正は、検出されたカメラの動きに応じて光軸を物理的に変位させる手法である。光軸を変位させるための手法としては、レンズ光学系の一部に配置したシフトレンズを手振れ量に応じて動かすシフト方式と、手振れ量に応じて可変プリズムを変形させるプリズム方式とがある。
【0007】
一方、電子式手振れ補正は、実際の撮像エリアよりも大きなCCDを用意し、その一部を撮像エリアとして使用する。すなわち、検出されたカメラの動きに応じてCCDの画像切り出しエリア(撮像エリア)を上下左右に動かすことによって手振れを補正する手法である。
【0008】
【発明が解決しようとする課題】
しかしながら、手振れを検出する技術として角速度検出方式を用いたり、手振れを補正する技術として光学式を用いたりすると、ジャイロやアクチュエータ等のメカニズムを備える必要がある。そのため、カメラが大型化するばかりでなく、製品を実現する上でのコストが高くなるという問題があった。
【0009】
また、手振れを検出する技術として動きベクトル検出方式を用い、かつ、手振れを補正する技術として電子式を用いると、ソフトウェア処理だけでカメラの動きを検出して手振れを補正できるため、製品の小型化に適している。しかしながら、この場合は手振れの補正精度と処理速度とが電子的な処理内容に大きく依存する。
【0010】
一般的に、補正精度を上げようとすると電子的な処理内容が複雑になり、処理負荷が重くなって処理速度が低下してしまう。逆に、処理速度を上げるために処理内容を簡素化すると画像移動量の誤検出などが多くなり、補正精度が低下してしまう。特に、画像移動量の検出を少ない演算量で正確に行うことは極めて困難であるという問題があった。
【0011】
画像移動量の誤検出が発生する1つの要因として、複数画像の相互相関をとるという簡易手法を用いていることが考えられる。例えば、被写体中の複数箇所に同様の模様が存在する場合には、撮像された画像データの中に同様のパターンが何箇所にも出現する。この場合は、画像移動量を単純なマッチング演算で検出しようとしても、マッチングしたと見られる箇所が複数得られてしまい、正しいマッチング状態がどれであるかを求めることができない。
【0012】
これに対して、マッチング演算より複雑な演算手法を用いて画像移動量を求めることも考えられる。しかしながら、最近のCCDは画素数が飛躍的に多くなっており、これにより撮像される画像のデータ量も非常に大きくなっている。そのため、この画像データを対象とした演算には多くの時間がかかってしまう。演算時間が長くなると、その分手振れ検出の応答性が悪くなる。演算時のメモリ空間が大きく高速処理が可能なCPUを用いれば、手振れ検出の応答性をある程度は改善できるが、コストが増大してしまうという問題があった。
【0013】
また、暗所での撮影時など被写体輝度が小さくなるようなケースでは、被写体を照明するためのストロボ光を投光して撮影することが多い。しかし、フラッシュ撮影が禁止されている場所などでは、ストロボ光を投光することができない。また、被写体がカメラから遠くにある場合には、ストロボ光が被写体に届かず、被写体輝度を上げることができない。
【0014】
これに対して、暗所で投光せずに撮像された画像データのゲインを上げることによって感度を大きくする手法も提案されている。しかしながら、暗所で撮像された画像データはS/N比が低いため、単純に画像データのゲインを上げただけでは、ノイズのゲインも同時に大きくなってしまい、良質な画像を得ることができないという問題があった。
【0015】
本発明は、このような問題を解決するために成されたものであり、小型・低コストでありながら、正確で応答性の良い手振れ補正を行うことができるようにすることを目的とする。
また、本発明は、被写体輝度が小さくなる暗所での撮影時であっても、手振れを正確に検出して補正でき、かつ、明るく良質な画像を得ることができるようにすることを目的とする。
【0016】
【課題を解決するための手段】
本発明の手振れ補正装置は、撮像手段により一定時間内に撮像して生成された複数の画像データのそれぞれについて、画像を1段階または2段階以上に亘って縮小することにより、元画像も含めて複数レベルの画像データを生成する画像縮小手段と、撮像手段の撮像により生成された複数の画像データのうち少なくとも1つの基準画像データおよびこれから画像縮小手段により生成された基準縮小画像データを含む複数レベルの画像データのそれぞれ毎に、当該画像中から所定の条件を満たす特徴点を抽出する特徴点抽出手段と、画像縮小手段により生成された複数レベルの画像データの最下層レベルから最上層レベルに向かって順に、特徴点抽出手段により抽出された特徴点を利用して、基準画像とそれ以外の画像との相互相関をとることによって画像移動量を求める画像移動量検出手段と、撮像手段の撮像により生成された最上層レベルにおける基準画像データとそれ以外の画像データとを、画像移動量検出手段により求められた画像移動量の分だけずらして合成する画像合成手段とを備えたことを特徴とする。
【0017】
本発明の他の態様では、上記特徴点抽出手段は、複数レベルの画像データのそれぞれ毎に、1つの画像データに対して所定サイズの分割ブロック単位で隣接ピクセル差分積算演算を行い、得られた差分積算データに対して、中央値に大きな重みをかけるとともに周囲値に小さな重みをかけるように係数が設定された所定サイズのフィルタの走査処理を1回以上行い、それにより得られたデータ値の大きいブロックから順に、対応する座標を複数の特徴点として抽出することを特徴とする。
【0018】
【発明の実施の形態】
(第1の実施形態)
以下、本発明の一実施形態を図面に基づいて説明する。図1は、第1の実施形態による手振れ補正装置の概略構成を示す機能ブロック図である。また、図2は、第1の実施形態による手振れ補正装置を適用したデジタルカメラ10の全体構成を示すブロック図である。
【0019】
図2に示すように、デジタルカメラ10は、シャッタ1a、レンズ1b、アイリス1cを備えた光学系1と、CCDあるいはCMOS等の撮像素子2と、プログラマブルゲインアンプ(PGA)3と、A/D変換器4と、信号処理部5と、手振れ補正部6と、自動露出調整および自動焦点調整の処理を行うAE/AF処理部7と、デジタルカメラ10の全体を制御するコントローラ8とを備えて構成されている。
【0020】
このように構成されたデジタルカメラ10において、光学系1への入射光はシャッタ1a、レンズ1bおよびアイリス1cを介して撮像素子2にて結像される。撮像素子2では、結像した入射光を光電変換して、当該入射光に応じたアナログの撮像信号を生成する。ここで生成された撮像信号は、PGA3でゲインが上げられた後、A/D変換器4に供給されてデジタルの画像データに変換される。このように、PGA3でアナログ撮像信号のゲインを上げることにより、A/D変換器4における量子化により階調が粗くなる弊害を少なくすることができる。
【0021】
A/D変換器4で得られた画像データは、信号処理部5に供給される。信号処理部5は、入力された画像データに対して色補間処理、色補正処理、RGB(赤、緑、青の3原色信号)からYCbCr(輝度信号および青の色差信号と赤の色差信号)への変換処理等を含む各種信号処理を行う。手振れ補正部6は図1のように構成され、信号処理部5から受け取った輝度データをもとに手振れ補正を行いながら画像を合成し、合成画像を出力する。
【0022】
以上の構成において、光学系1および撮像素子2により撮像手段が構成される。本実施形態の撮像手段は、図示しないシャッタボタンが押されたときに、一定時間内に複数枚の画像を撮像する。A/D変換器4は、複数の撮像信号を順次A/D変換する。また、信号処理部5は、A/D変換された複数の画像データを輝度信号(輝度データ)と色差信号(色差データ)とに分離し、手振れ補正部6に順次出力する。
【0023】
図1に示すように、本実施形態の手振れ補正装置(図2に示した手振れ補正部6)は、画像データ入力部11、画像縮小部12、特徴点抽出部13、大域移動量検出部14、局所移動量検出部15および画像合成部16を備えて構成されている。
【0024】
画像データ入力部11は、上述の撮像手段により一定時間内に撮像して生成された複数(例えば2枚)の画像データYC1,YC2を信号処理部5から入力する。画像縮小部12は、画像データ入力部11により入力された複数の画像データYC1,YC2のそれぞれについて、輝度データを1段階以上に亘って段階的に縮小することにより、元画像も含めて複数レベルの輝度データを生成する。
【0025】
例えば、入力された輝度データを3回に亘って順次1/2倍ずつ縮小していくことにより、1倍(元画像)、1/2倍、1/4倍、1/8倍の4レベルの輝度データを生成する。このような縮小処理を行うことにより、1枚目の入力画像YC1から4レベル分の輝度データY1−1〜Y1−4が生成され、2枚目の入力画像YC2から4レベル分の輝度データY2−1〜Y2−4が生成される。以下では、最上層レベルを第1レベル、最下層レベルを第4レベルとする。
【0026】
ここで行う縮小処理の内容については特に限定しないが、好ましくは、以下に説明する平均縮小処理を行う。図3は、平均縮小処理の内容を説明するための図である。図3に示すように、平均縮小処理では、縦2画素×横2画素の隣接4画素を1ブロックとして、当該ブロック単位で輝度データの平均をとって縮小画像の輝度データとする。例えば、ある1つのブロックを構成する4画素P1〜P4の輝度データを平均演算して縮小画像における画素P1’の輝度データとする。
【0027】
特徴点抽出部13は、画像データ入力部11により入力された複数の画像データのうち少なくとも1つの画像データ(これを基準画像データとする)およびこれから画像縮小部12により生成された縮小画像データ(これを基準縮小画像データとする)を含む複数レベルの画像データのそれぞれ毎に、輝度データに関して所定の条件を満たす特徴点を各画像中から抽出する。
【0028】
例えば、1枚目の入力画像YC1を基準画像とした場合、特徴点抽出部13は、4レベルの輝度データY1−1〜Y1−4のそれぞれから所定の条件を満たす特徴点を抽出する。ここでは、絵柄が比較的複雑な点で、かつ、それと同じ絵柄が周囲に存在していない点を特徴点として抽出する。図4は、特徴点の抽出について説明するための図である。図4に示すように、無模様の背景上に家が描画された画像を対象として特徴点を抽出すると、例えば図4中に示す7個の特徴点K1〜K7が抽出される。このような特徴点を抽出するための詳細な処理内容は後述する。
【0029】
大域移動量検出部14は、本発明の第1の画像移動量検出手段に相当するものである。この大域移動量検出部14は、画像縮小部12により生成された第4レベル(1/8倍)の画像の輝度データY1−4,Y2−4を用いて、当該2つの輝度データY1−4,Y2−4(基準縮小画像データとそれ以外の縮小画像データ)の相互相関をとることによって第4レベルでの画像移動量を求める。ここで求めた大域移動量は、局所移動量検出部15に供給され、上層レベルでの局所移動量の検出に利用される。
【0030】
図5は、大域移動量の意味を説明するための図である。図5に示すように、手振れが生じることによって、1枚目の画像YC1と2枚目の画像YC2とで家の撮像位置がずれた場合、第4レベル上でそれがどの程度ずれているかを表すものが大域移動量である。すなわち、1枚目の1/8縮小画像を基準として、1枚目の1/8縮小画像中に描かれている家と2枚目の1/8縮小画像中に描かれている家とをほぼ一致させるために必要な1枚目の1/8縮小画像の移動量が、大域移動量となる。
【0031】
局所移動量検出部15は、本発明の第2の画像移動量検出手段に相当するものである。この局所移動量検出部15は、第4レベル以外の各レベル(1倍、1/2倍、1/4倍)の画像の輝度データについて、1枚目の画像と2枚目の画像との相互相関をとることによって、画像中に含まれる複数の特徴点毎に局所的な画像移動量を求める。そして、特徴点毎に求めた複数の局所移動量の中から尤もらしいものを1つ選択し、各レベルでの局所移動量を1つ決定する。
【0032】
図6は、局所移動量の意味を説明するための図である。図6に示すように、手振れが生じることによって、1枚目の画像YC1と2枚目の画像YC2とで特徴点の位置がずれた場合、第3〜第1レベル上でそれがどの程度ずれているかを表すものが局所移動量である。すなわち、1枚目の全体画像中に含まれる特徴点の周囲の局所的な画像を基準として、当該局所的な画像を1枚目と2枚目とでほぼ一致させるために必要な1枚目の局所的な画像の移動量が局所移動量となる。
【0033】
局所移動量検出部15は、このような局所移動量を求める際に、1枚目の画像上では、特徴点抽出部13により抽出された特徴点K1〜K7を中心としてその周囲に所定サイズの参照ブロックを設定する。一方、2枚目の画像上では、参照ブロックより大きい所定サイズの走査ブロックを設定する(走査ブロックの設定位置については後述する)。そして、1枚目の画像中に設定された参照ブロックの輝度データと、2枚目の画像中に設定された走査ブロックの輝度データとの相互相関をとることにより、各特徴点K1〜K7毎に局所移動量を求める。
【0034】
図6には、1つの特徴点K2に関する局所移動量が示されている。図4のように7個の特徴点K1〜K7が抽出された場合、局所移動量はそれぞれの特徴点毎に7個求められる。本実施形態では、これら7個の局所移動量の中から、類似頻度が最も高いものを1つ選択する。類似頻度が最も高いものとは、所定の誤差範囲内にある互いに類似の局所移動量は全て同じグループの局所移動量とみなした場合の最大グループに相当する局所移動量のことを言う。
【0035】
類似頻度が同じ局所移動量が複数存在する場合は、その中から、同値頻度が最も高いものを1つ選択する。同値頻度が最も高いものとは、完全同一の局所移動量が最も多く含まれているグループの局所移動量のことを言う。もし、同値頻度も同じであった場合には、同値頻度が最も高いものの中からゼロベクトルに最も近いものを選択する。
【0036】
なお、ここでは複数の特徴点毎に求めた複数の局所移動量の中から尤もらしいものを1つ選択しているが、当該複数の画像移動量の全部または一部を用いて所定の演算を行い、これによって算出した1つの局所移動量を各レベルでの局所移動量として決定するようにしても良い。ここで、所定の演算については、様々な内容の演算を適用することが可能である。例えば、複数の画像移動量の平均ベクトルを求める演算を用いることが可能である。
【0037】
図7は、大域移動量と局所移動量の利用関係を示す図である。図7に示すように、第4レベルの画像に関しては、大域移動量検出部14により大域移動量が求められる。この大域移動量は、1階層上の第3レベルの画像に関して局所移動量を求める処理において走査ブロックを設定する際に利用される。
【0038】
一方、第3レベル〜第1レベルの画像に関しては、局所移動量検出部15により局所移動量が求められる。第3レベルおよび第2レベルで求めた局所移動量は、それより上層レベル(第2レベルおよび第1レベル)で局所移動量を求める処理において走査ブロックを設定する際に利用される。また、第1レベルで求めた局所移動量は、最終的に求める手振れ量として画像合成部16に供給される。
【0039】
画像合成部16は、画像データ入力部11により入力された1枚目の画像データYC1に対して2枚目の画像データYC2を、局所移動量検出部15により求められた最終的な手振れ量の分だけ逆方向にずらして合成し、手振れ補正された合成画像YCを生成する。合成の方法は加算合成、平均合成など各種態様が適用できるが、本実施形態では平均合成が好ましい。アフィン変換などの処理を行った後に合成するようにしても良い。
【0040】
ここで、上述した走査ブロックの設定位置について説明する。局所移動量検出部15は、第3レベルの画像に関して局所移動量を求める際には、2枚目の画像上において、1枚目の画像中に含まれる特徴点K1〜K7に相当する位置から、第4レベルで求められた大域移動量の分だけずれた位置を中心として、その周囲に参照ブロックより大きい所定サイズの走査ブロックを設定する。なお、これとは違う方法によって、1枚目の画像上に設定された参照ブロックの位置から大域移動量の分だけずれた位置に所定サイズの走査ブロックを設定するようにしても良い。
【0041】
また、第2レベルおよび第1レベルの画像に関して局所移動量を求める際は、2枚目の画像上において、1枚目の画像中に含まれる特徴点K1〜K7に相当する位置から、1つ下層のレベルで求められた局所移動量の分だけずれた位置を中心として、その周囲に参照ブロックより大きい所定サイズの走査ブロックを設定する。なお、これとは違う方法によって、1枚目の画像上に設定された参照ブロックの位置から、下層レベルで求められた局所移動量の分だけずれた位置に、所定サイズの走査ブロックを設定するようにしても良い。
【0042】
ところで、第4レベルで大域移動量を求める際には、1/8縮小画像どうしの相関をとっているので、図5に示したように両画像中の家の絵柄をほぼ一致させることができるが、これを第1レベルの画像に換算すると、8画素未満の誤差がある。すなわち、大域移動量には8画素未満の誤差が含まれている。しかし、大まかには合っている。
【0043】
本実施形態では、この大まかに合っている画像移動量を利用して上層の第3レベルで走査ブロックの位置を決めている。すなわち、大域移動量に基づいて、参照ブロックと同じ画像があると予想される位置に走査ブロックを設定している。これにより、走査ブロックはそれほど大きくしなくても、走査ブロック内の画像は参照ブロック内の画像とほぼ一致し、参照ブロックの画像と相関をとることができる。
【0044】
同様に、第3レベルで求めた局所移動量には、4画素未満の誤差が含まれているが、これも大まかには合っている。しかも、第4レベルに比べてその誤差量は半分に低減されている。本実施形態では、この第3レベルで求めた画像移動量を利用して更に上層の第2レベルで走査ブロックの位置を決めている。同様に、第2レベルで求めた画像移動量を利用して最上層の第1レベルで走査ブロックの位置を決め、第1レベルで求めた局所移動量を求める手振れ量としている。第1レベルで求められる局所移動量には誤差が含まれておらず、正確な手振れ量が求められる。
【0045】
図8は、本実施形態による手振れ補正装置の構成をより詳細に示す機能ブロック図である。なお、この図8において、図1に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。図8に示すように、大域移動量検出部14は、参照ヒストグラム生成部21、走査ヒストグラム生成部22およびヒストグラムマッチング部23により構成される。また、局所移動量検出部15は、参照ブロック設定部24、走査ブロック設定部25およびブロックマッチング部26により構成される。
【0046】
参照ヒストグラム生成部21は、1枚目の画像データYC1から生成された1/8縮小輝度データY1−4を対象として、水平方向のエッジ成分および垂直方向のエッジ成分に関するヒストグラムを生成する。また、走査ヒストグラム生成部22は、2枚目の画像データYC2から生成された1/8縮小輝度データY2−4を対象として、水平方向のエッジ成分および垂直方向のエッジ成分に関するヒストグラムを生成する。
【0047】
図9は、参照ヒストグラムおよび走査ヒストグラムの生成処理を説明するための図である。なお、参照ヒストグラムの生成処理と走査ヒストグラムの生成処理とはほぼ同じなので、ここでは代表として参照ヒストグラムの生成について説明する。参照ヒストグラム生成部21では、図9に示すように、まず、1/8縮小輝度データY1−4に対して垂直エッジ抽出および水平エッジ抽出のフィルタ処理を行うことにより、垂直方向のエッジ成分と水平方向のエッジ成分とをそれぞれ抽出する。
【0048】
そして、垂直方向のエッジ成分を抽出した画像について、垂直方向に画素値を投射積算することにより、垂直方向ヒストグラムを生成する。また、水平方向のエッジ成分を抽出した画像について、水平方向に画素値を投射積算することにより、水平方向ヒストグラムを生成する。
【0049】
このような処理を2つの1/8縮小輝度データY1−4,Y2−4に対して行うことにより、1枚目の1/8縮小輝度データY1−4から垂直参照ヒストグラムと水平参照ヒストグラムとが生成され、2枚目の1/8縮小輝度データY2−4から垂直走査ヒストグラムと水平走査ヒストグラムとが生成される。
【0050】
ヒストグラムマッチング部23は、参照ヒストグラム生成部21により生成された参照ヒストグラムと、走査ヒストグラム生成部22により生成された走査ヒストグラムとのマッチング処理を行い、両ヒストグラムの相互相関をとることによって大域移動量を求める。図10は、ヒストグラムマッチング処理の内容を説明するための図であり、例として水平方向ヒストグラムのマッチング処理を示している。
【0051】
図10に示すように、手振れが発生していると、参照ヒストグラムと走査ヒストグラムとの間で垂直方向に対する位置的なずれが生じる。このずれ量xが、垂直方向の大域移動量に相当する。ヒストグラムマッチング部23は、例えば、水平参照ヒストグラムの位置を少しずつずらしながら、水平走査ヒストグラムとの差分を各走査位置毎に演算し、その差分が最も小さくなった位置におけるずらし量を大域移動量の垂直成分として決定する。
【0052】
上述のように、図10の例では水平参照ヒストグラムを右にxだけずらしたときに水平走査ヒストグラムとの差分が最も小さくなるので、そのずらし量xが大域移動量の垂直成分となる。垂直方向ヒストグラムに関しても同様の処理を行うことにより、大域移動量の水平成分を求める。
【0053】
次いで、参照ブロック設定部24は、1枚目の画像上において、特徴点抽出部13により抽出された特徴点を中心としてその周囲に所定サイズの参照ブロックを設定する。
【0054】
走査ブロック設定部25は、第3レベルの画像に関して局所移動量を求める際に、2枚目の画像上において、1枚目の画像中に含まれる特徴点に相当する位置から、ヒストグラムマッチング部23により求められた大域移動量の分だけずれた位置を中心として、その周囲に参照ブロックより大きい所定サイズの走査ブロックを設定する。あるいは、参照ブロック設定部24により設定された参照ブロックの位置から、ヒストグラムマッチング部23により求められた大域移動量の分だけずれた位置に、参照ブロックより大きい所定サイズの走査ブロックを設定する。
【0055】
また、第2レベルおよび第1レベルの画像に関して局所移動量を求める際は、2枚目の画像上において、1枚目の画像中に含まれる特徴点に相当する位置から、ブロックマッチング部26により1つ下層のレベルで求められた局所移動量の分だけずれた位置を中心として、その周囲に参照ブロックより大きい所定サイズの走査ブロックを設定する。あるいは、参照ブロック設定部24により設定された参照ブロックの位置から、ブロックマッチング部26により求められた下層レベルの局所移動量の分だけずれた位置に、参照ブロックより大きい所定サイズの走査ブロックを設定する。
【0056】
ブロックマッチング部26は、1枚目の画像中に設定された参照ブロックの輝度データと、2枚目の画像中に設定された走査ブロックの輝度データとの相互相関をとることにより、特徴点毎に局所移動量を求める。そして、求めた複数の局所移動量の中から、類似頻度が最も高いものを1つ選択して各レベルでの画像移動量とする。類似頻度が同じ局所移動量が複数存在する場合は、その中から、同値頻度が最も高いものを1つ選択する。同値頻度も同じ場合には、ゼロベクトルに最も近いものを選択する。
【0057】
次に、特徴点抽出処理の詳細について説明する。図11は、特徴点抽出部13の詳細な処理内容を示すフローチャートである。図11において、まず、特徴点抽出部13は、画像縮小部12により1枚目の基準画像YC1から生成された第4レベルの輝度データY1−4を入力し(ステップS1)、所定サイズ(例えば、縦8画素×横8画素)のブロック単位で隣接ピクセル差分積算を行う(ステップS2)。
【0058】
隣接ピクセル差分積算とは、図12に示すように、ブロック内で縦方向、横方向の隣接画素の差分を順次求めてそれらを加算する演算のことを言う。この隣接ピクセル差分積算演算により、1つのブロック中に含まれる8×8個の画素値は1つの差分積算データに置き換えられる。すなわち、元画像から1/8倍に縮小されていた輝度データY1−4は、個々の分割ブロック毎に1つずつ差分積算データが求められて更に1/8倍に縮小される。このとき、複雑な絵柄で、隣接画素間での差が比較的大きいブロックでは大きな値の差分積算データが得られる。
【0059】
次に、特徴点抽出部13は、この差分積算データから成る1/64縮小画像に対して所定サイズ(例えば、縦3画素×横3画素:この場合の画素は、1つの差分積算データが1つの画素に相当)の8方向ラプラシアンフィルタをかける(ステップS3)。ラプラシアンフィルタは、中央値に大きな重みをかけるとともに、その周囲値に小さな重みをかけるように係数が設定されたフィルタであり、例えば図13のように構成される。ステップS3では、このようなラプラシアンフィルタを画面上で走査しながら上述の差分積算データに対してフィルタ係数を積算していく。
【0060】
すなわち、ある画素に注目した場合、その注目画素の差分積算データを8倍し、周囲にある8画素の差分積算データを−1倍して全て足し込み、その結果を注目画素の補正済み差分積算データとする。このようなフィルタ処理を、注目画素を走査しながら順次行っていく。
【0061】
このようなフィルタ処理により、図14(a)のようにある注目画素の差分積算データの値が大きく、周囲画素の差分積算データの値が小さい位置では、求められる補正済み差分積算データは比較的大きくなる。これに対して、図14(b)のように、注目画素およびその周囲画素の差分積算データの値が共に大きい位置では、求められる補正済み差分積算データは比較的小さくなる。注目画素およびその周囲画素の差分積算データの値が共に小さい位置でも、求められる補正済み差分積算データは比較的小さくなる。
【0062】
このように、差分積算データから成る画像に対して図13のようなラプラシアンフィルタをかけることにより、複雑な絵柄(周波数が高いところ)で周囲にそれと同じ絵柄が存在しない位置が特定できるようになる。本実施形態では、ステップS3で求めた補正済み差分積算データに対してもう1度ラプラシアンフィルタをかける(ステップS4)。これにより、図14(c)に示すように、周りに同じ絵柄が存在しないことを保証する範囲を広くとれるようにしている。
【0063】
以上の処理により、8×8単位の分割ブロックの数だけ補正済み差分積算データが求められる。特徴点抽出部13は、これら複数の補正済み差分積算データの中から、値の大きい順にn個(nは3〜9個が好ましい)を選び、それらに対応する座標を第4レベルの特徴点として選択する(ステップS5)。
【0064】
なお、n個の特徴点を選択する際に、1/64(1/8×1/8)に縮小された画像全体の中の一部に優先領域を任意に設定し、この優先領域の中からN個(N<n)の特徴点を優先的に選択するようにしても良い。例えば、全体で7個(n=7)の特徴点を抽出する場合において、優先領域から4個の特徴点を抽出するように設定した場合、優先領域内で補正済み差分積算データの値が大きいところから順に4個(N=4)の特徴点を選び、残り3個の特徴点を、優先領域外で補正済み差分積算データの値が大きいところから順に選ぶ。
【0065】
次に、特徴点抽出部13は、画像縮小部12により1枚目の基準画像YC1から生成された第3レベルの輝度データY1−3を入力する(ステップS6)。そして、当該入力した第3レベルの輝度データY1−3上において、上記ステップS5で選択したn個の特徴点の周囲に所定サイズ(例えば、縦64画素×横64画素)のブロックより成る特徴領域を切り出す(ステップS7)。
【0066】
さらに、特徴点抽出部13は、切り出した各特徴領域毎に、上記ステップS2と同様に所定サイズ(例えば、縦8画素×横8画素)のブロック単位で隣接ピクセル差分積算を行う(ステップS8)。次に、特徴点抽出部13は、差分積算データから成る画像に対して所定サイズ(例えば、縦3画素×横3画素:1つの差分積算データが1つの画素に相当)の8方向ラプラシアンフィルタを2回かける(ステップS9,S10)。
【0067】
この2回のラプラシアンフィルタ処理により、各々の特徴領域の中に、8×8単位の分割ブロックの数だけ補正済み差分積算データが求められる。特徴点抽出部13は、これら複数の補正済み差分積算データの中から、値の大きい順にn個を選び、それらに対応する座標を第3レベルの特徴点として選択する(ステップS11)。
【0068】
次に、特徴点抽出部13は、画像縮小部12により1枚目の基準画像YC1から生成された第2レベルの輝度データY1−2を入力する(ステップS12)。そして、当該入力した第2レベルの輝度データY1−2上において、上記ステップS11で選択したn個の特徴点の周囲に所定サイズ(例えば、縦64画素×横64画素)のブロックより成る特徴領域を切り出す(ステップS13)。
【0069】
さらに、特徴点抽出部13は、切り出した各特徴領域毎に、上記ステップS2と同様に所定サイズ(例えば、縦8画素×横8画素)のブロック単位で隣接ピクセル差分積算を行う(ステップS14)。次に、特徴点抽出部13は、差分積算データから成る画像に対して所定サイズ(例えば、縦3画素×横3画素:1つの差分積算データが1つの画素に相当)の8方向ラプラシアンフィルタを2回かける(ステップS15,S16)。
【0070】
この2回のラプラシアンフィルタ処理により、各々の特徴領域の中に、8×8単位の分割ブロックの数だけ補正済み差分積算データが求められる。特徴点抽出部13は、これら複数の補正済み差分積算データの中から、値の大きい順にn個を選び、それらに対応する座標を第2レベルの特徴点として選択する(ステップS17)。
【0071】
次に、特徴点抽出部13は、画像縮小部12により1枚目の基準画像YC1から生成された第1レベルの輝度データY1−1を入力する(ステップS18)。そして、当該入力した第1レベルの輝度データY1−1上において、上記ステップS17で選択したn個の特徴点の周囲に所定サイズ(例えば、縦64画素×横64画素)のブロックより成る特徴領域を切り出す(ステップS19)。
【0072】
さらに、特徴点抽出部13は、切り出した各特徴領域毎に、上記ステップS2と同様に所定サイズ(例えば、縦8画素×横8画素)のブロック単位で隣接ピクセル差分積算を行う(ステップS20)。次に、特徴点抽出部13は、差分積算データから成る画像に対して所定サイズ(例えば、縦3画素×横3画素:1つの差分積算データが1つの画素に相当)の8方向ラプラシアンフィルタを2回かける(ステップS21,S22)。
【0073】
この2回のラプラシアンフィルタ処理により、各々の特徴領域の中に、8×8単位の分割ブロックの数だけ補正済み差分積算データが求められる。特徴点抽出部13は、これら複数の補正済み差分積算データの中から、値の大きい順にn個を選び、それらに対応する座標を第1レベルの特徴点として選択する(ステップS23)。以上により、第4レベルから第1レベルのそれぞれ毎に、n個の特徴点が抽出される。
【0074】
以上詳しく説明したように、本実施形態によれば、入力画像を複数段階に亘って段階的に縮小し、より下層レベルの縮小画像を使って大まかに求めた画像移動量を利用して上層レベルで画像移動量を求める際の走査ブロックを構築するようにしたので、走査ブロックをそれほど大きくしなくても参照ブロック内の画像と相関をとることができ、走査ブロックの範囲を狭くすることができる。
【0075】
走査ブロックの範囲を狭くできると、その走査ブロック内に同じあるいは類似の絵柄が複数存在する確率が小さくなる。よって、参照ブロック内の絵柄とマッチングしたと見られる箇所が誤って検出されることが少なくなり、マッチングの精度を向上させることができる。これにより、より正しい手振れ量を検出することができ、より正確に手振れ補正を行うことができる。
【0076】
また、走査ブロックの範囲を狭くできると、相関をとる際に必要な演算量を少なくすることもできる。さらに、本実施形態では、画像にラプラシアンフィルタをかけることによって、複雑な絵柄でそれと同じ絵柄が周囲に存在しない特徴点を抽出するようにしたので、画像移動量の誤検出発生の確率を低減する最適な特徴点を簡単な演算で抽出することができる。これにより、少ない演算量で手振れを正確に検出することができ、演算時のメモリ空間が大きく高速処理が可能な高コストのCPUを用いなくても、応答性が良く高精度な手振れ補正を実現することができる。
【0077】
なお、最下層の縮小画像に関しては、それより下層から画像移動量をもらうことができないため、画像全体を対象として相関演算を行っている。しかし、縮小によってデータ量が大幅に削減されているため、画像全体を走査しても処理量はそれほど多くならず、演算時間が長くなることはない。また、本実施形態では、通常のブロックマッチングではなく、ヒストグラムを利用したマッチング演算を行っているので、演算負荷を更に軽減することができる。
【0078】
本実施形態では、相対感度を上げるために長時間露光で1枚の画像を撮影するのではなく、露光時間を短くして複数枚の画像を連写し、各画像間で手振れを補正しながらそれらの画像を合成している。露光時間を短くできるため、画像1枚当たりの手振れによる像ブレ量が少なく抑えられる。同時に、画像間の手振れ量を補正しつつ合成するため、合成した画像については手振れによる像ブレをほぼ完全になくすことができる。
【0079】
また、本実施形態では、連写した複数枚の画像を平均合成するため、複数フレームに亘って時間的に平均がとられることによってノイズ成分の多くが相殺され、ノイズが低減される。これにより合成画像のS/N比が改善される。S/N比が改善できるので、PGA3でゲインを上げることによって画像を明るくしてもノイズが目立たなくなる。したがって、暗い環境下で撮影しても、ノイズの少ない明るい高品質な画像を得ることができる。
【0080】
なお、上記第1の実施形態では、画像縮小部12において入力画像を3段階に亘って縮小する例について説明したが、3段階というのは単なる例に過ぎず、本発明はこれに限定されない。また、上記第1の実施形態では、特徴点を抽出する際にラプラシアンフィルタを2回かける例について説明したが、この回数も単なる例示であって、本発明はこれに限定されるものではない。
【0081】
また、上記第1の実施形態では、最下層レベルの画像について大域移動量を求める際にヒストグラムを用いたマッチングを行う例について説明したが、最下層レベルでは画像データ量は縮小により大幅に削減されているので、通常のブロックマッチングにより大域移動量を求めるようにしても良い。
【0082】
また、上記第1の実施形態では、2枚の画像を入力して処理する例について説明したが、これより多い数の画像を入力して処理するようにしても良い。n(n>2)枚の画像を入力する場合は、例えば1枚目の入力画像を基準画像として、1枚目と2枚目との相関から2枚目の画像移動量、1枚目と3枚目との相関から3枚目の画像移動量、・・・といった具合でi(i=2,3,・・・n)枚目の画像のそれぞれについて上述した手順で画像移動量を求める。
【0083】
そして、これらn枚の画像を合成する際には、まず、1枚目の画像に対して2枚目の画像を当該2枚目の画像移動量の分だけ逆方向にずらして合成する。次に、合成された画像に対して3枚目の画像を当該3枚目の画像移動量の分だけ逆方向にずらして合成する。このようにして、1枚目の画像に対してi(i=2,3,・・・n)枚目の画像をそれぞれの画像移動量の分だけずらして順次合成していく。
【0084】
このようにすれば、合成画像の手振れによる像ブレを抑えると同時にS/N比を改善することができる。したがって、被写体輝度がかなり小さくなる暗所での撮影時であっても、手振れを正確に検出して補正でき、かつ、ゲインを上げることで画像を明るくしてもノイズが目立たないようにすることができる。これにより、暗い環境下で撮影しても、ノイズの少ない明るい高品質な画像を得ることができる。
【0085】
なお、n(n>2)枚の画像を入力して処理する場合において、基準画像は1枚目だけに設定するとは限らない。例えば、一定の枚数置きに基準画像を設定するようにしても良い。複数の基準画像を設定した場合は、ある基準画像から次の基準画像までの間に含まれる複数の画像を1つのグループとして、各グループ毎に上述した手順で画像移動量を検出して画像合成を行う。その際には、それぞれのグループにおいて基準画像上から特徴点を抽出することになる。
【0086】
静止画を撮影している場合は、特徴点は手振れによって多少移動することがあるのみであるが、動画を撮影している場合は、たとえ手振れがなくても、画像の動きに応じて特徴点も移動する。よって、一定の間隔毎に基準画像を設けて特徴点を抽出するやり方は、特に動画の撮影時における手振れ補正に有効である。
【0087】
また、上記第1の実施形態では、複数枚の画像を平均合成しているが、合成方法はこれに限定されるものではない。例えば、複数枚の画像を加算合成するようにしても良い。
【0088】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。図15は、第2の実施形態による手振れ補正装置の構成を示す機能ブロック図である。なお、この図15において、図8に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。第2の実施形態による手振れ補正装置を適用したデジタルカメラの全体構成は、図1と同様である。
【0089】
図15において、画像縮小部31は、画像データ入力部11により入力された複数の画像YC1,YC2のそれぞれについて、輝度データY1−1,Y2−1を1/8倍に縮小する。ここでも好ましくは平均縮小処理を行う。すなわち、縦8画素×横8画素の隣接64画素を1ブロックとして、当該ブロック単位で輝度データの平均をとって縮小画像の輝度データY1−4,Y2−4とする。
【0090】
特徴点抽出部32は、画像データ入力部11により入力された1枚目の基準画像YC1において、輝度データY1−1に関して所定の条件を満たす特徴点を抽出する。この抽出処理の内容は第1の実施形態とほぼ同様であるが、方向性判定部33によって縦、横、斜めの方向性の相関が強いと判定された特徴点は抽出対象から除外するようにしている点で、第1の実施形態の特徴点抽出部13と相違している。
【0091】
方向性判定部33は、画像縮小部31により1枚目の入力画像YC1から生成された1/8縮小輝度データY1−4に対して後述するフィルタ処理(方向判断フィルタおよびラプラシアンフィルタをかける処理)を行い、縦、横、左斜め、右斜めの方向値(方向判断フィルタをかけて得られた値)とラプラシアン値(ラプラシアンフィルタをかけて得られた値)とを求める。そして、この方向値とラプラシアン値とを比較して、方向値の方が大きい場合には、対応するブロックにおいて特徴点抽出部32により求められた補正済み差分積算データ値をゼロに設定することにより、そのブロックからは特徴点が抽出されないようにする。
【0092】
大域移動量検出部34は、画像縮小部31により生成された1/8縮小画像の輝度データY1−4,Y2−4について、当該2つの輝度データY1−4,Y2−4の相互相関をとることによって大域移動量を求める。第1の実施形態で大域移動量検出部14はヒストグラムのマッチングにより大域移動量を求めていたのに対して、第2の実施形態で大域移動量検出部34は、通常のブロックマッチングにより大域移動量を求める。
【0093】
すなわち、大域移動量検出部34は、参照ブロック設定部35と走査ブロック設定部36とブロックマッチング部37とを備えて構成される。参照ブロック設定部35は、1枚目の縮小輝度データY1−4上に所定サイズ(例えば、縮小輝度データY1−4の縦および横80%の範囲)の参照ブロックを設定する。
【0094】
走査ブロック設定部36は、2枚目の縮小輝度データY2−4上に、参照ブロックより大きい所定サイズ(例えば、縮小輝度データY2−4の全体)の走査ブロックを設定する。ブロックマッチング部37は、1枚目の画像上に設定された参照ブロックの輝度データと、2枚目の画像上に設定された走査ブロックの輝度データとの相互相関をとることによって画像の大域移動量を求める。すなわち、走査ブロック内で参照ブロックの画像を走査しながら差分を計算し、その差分値が最小となる位置を見つけて大域移動量とする。
【0095】
図16は、特徴点抽出部32および方向性判定部33の詳細な処理内容を示すフローチャートである。図16において、まず、特徴点抽出部32は、画像データ入力部11により入力された1枚目の輝度データY1−1を入力し(ステップS31)、所定サイズ(例えば、縦8画素×横8画素)のブロック単位で隣接ピクセル差分積算を行う(ステップS32)。
【0096】
次に、特徴点抽出部32は、差分積算データから成る画像に対して所定サイズ(例えば、縦3画素×横3画素:1つの差分積算データが1つの画素に相当)の8方向ラプラシアンフィルタを2回かける(ステップS33、S34)。これにより、8×8単位の分割ブロックの数だけ補正済み差分積算データが求められる。
【0097】
一方、方向性判定部33は、画像縮小部31により1枚目の入力画像YC1から生成された縮小輝度データY1−4を入力する(ステップS41)。そして、入力した縮小輝度データY1−4に対して、所定サイズ(例えば、縦3画素×横3画素)の縦、横、左斜め、右斜めの方向判断フィルタをかけるとともに、所定サイズ(例えば、縦3画素×横3画素)の8方向ラプラシアンフィルタをかける。そして、各画素ごとに、縦、横、左斜め、右斜めの4つの方向値および1つのラプラシアン値の中で最も大きい値を選択し、それを各画素の値とする(ステップS42)。図17に、方向性判定部33において用いる縦、横、左斜め、右斜めの方向判断フィルタを示す。
【0098】
次に、方向性判定部33は、ステップS42と同様の処理をもう一度行う(ステップS43)。その結果として、方向判断フィルタをかけて得られた縦、横、左斜め、右斜めの何れかの方向値が、ラプラシアンフィルタをかけて得られたラプラシアン値より大きいか否かを各画素ごとに判定する(ステップS44)。そして、方向値がラプラシアン値より大きい場合は、上記ステップS34で得られた各画素の補正済み差分積算データのうち、上記大きな方向値が得られた位置に対応する画素の補正済み差分積算データの値をゼロに設定する(ステップS45)。
【0099】
特徴点抽出部32は、このようにして方向性判定部33により必要に応じてゼロ値に設定された補正済み差分積算データを含む各画素の補正済み差分積算データの中から、値の大きい順にn個を選び、それらに対応する座標を特徴点として選択する(ステップS35)。
【0100】
以上詳しく説明したように、第2の実施形態によれば、縦、横、斜めに相関が強い絵柄を検出し、そのような位置からは特徴点を抽出しないようにしたので、特徴点を抽出する際に同じ絵柄が周囲に存在しないことをより確実に保証することができる。これにより、画像移動量の誤検出発生の確率を低減するために用いる最適な特徴点を簡単な演算で検出することができる。したがって、少ない演算量で手振れを正確に検出することができ、応答性が良く高精度な手振れ補正を実現することができる。
【0101】
なお、上記第2の実施形態では、画像縮小部31において入力画像を1段階だけ縮小する例について説明したが、第1の実施形態と同様に複数段階に亘って縮小するようにしても良い。また、上記第2の実施形態では、方向判断フィルタとラプラシアンフィルタとを2回かける例について説明したが、この回数も単なる例示であって、本発明はこれに限定されるものではない。
【0102】
また、上記第2の実施形態では、大域移動量を求める際にブロックマッチングを行う例について説明したが、第1の実施形態と同様にヒストグラムによるマッチングを行うようにしても良い。また、上記第2の実施形態では、2枚の画像を入力して処理する例について説明したが、これより多い数の画像を入力して処理するようにしても良い。この場合において、基準画像を1枚目以外に設定することも可能である。
【0103】
また、以上に説明した第1および第2の実施形態による手振れ補正の手法は、ハードウェア構成、DSP、ソフトウェアの何れによっても実現することが可能である。例えば、本実施形態の手振れ補正装置は、デジタルスチルカメラやデジタルビデオカメラへの組み込み実装可能なリアルタイム処理向きのソフトウェアとして実現することができる。
【0104】
また、ハードウェア構成、DSPなどで構成する場合、上記実施形態に示す手振れ補正装置の機能構成を半導体チップあるいは基板モジュール上などに実装することが可能である。なお、手振れ補正装置全体の機能構成を1つの半導体チップや基板モジュールに実装する必要は必ずしもなく、複数のチップあるいは複数の基板に分けて実装しても良い。例えば、画像合成部16を除いたその他の機能構成を手振れ検出装置として1つのチップ上に実装することが可能である。
【0105】
その他、上記各実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0106】
【発明の効果】
以上説明したように本発明によれば、ジャイロセンサを使うのではなく画像データから動きベクトルを検出する手振れ検出手法を採用するとともに、光学式ではなく電子式の手振れ補正手法を採用しているので、小型で低コストな手振れ補正装置を実現することができる。しかも、本発明特有のアルゴリズムで手振れを検出して補正するようにしたので、高精度な手振れ補正を少ない演算量で実現でき、正確で応答性の良い手振れ補正を行うことができる。しかも、被写体輝度が小さくなる暗所での撮影時であっても、手振れを正確に検出して補正でき、かつ、明るく良質な画像を得ることができる。
【図面の簡単な説明】
【図1】第1の実施形態による手振れ補正装置の概略構成を示す機能ブロック図である。
【図2】第1および第2の実施形態による手振れ補正装置を適用したデジタルカメラの全体構成を示すブロック図である。
【図3】平均縮小処理の内容を説明するための図である。
【図4】特徴点の抽出について説明するための図である。
【図5】大域移動量の意味を説明するための図である。
【図6】局所移動量の意味を説明するための図である。
【図7】大域移動量と局所移動量の利用関係を示す図である。
【図8】第1の実施形態による手振れ補正装置の詳細構成を示す機能ブロック図である。
【図9】参照ヒストグラムおよび走査ヒストグラムの生成処理を説明するための図である。
【図10】ヒストグラムマッチング処理の内容を説明するための図である。
【図11】第1の実施形態による特徴点抽出処理の内容を示すフローチャートである。
【図12】隣接ピクセル差分積算の意味を説明するための図である。
【図13】8方向ラプラシアンフィルタの構成例を示す図である。
【図14】8方向ラプラシアンフィルタの意義を説明するための図である。
【図15】第2の実施形態による手振れ補正装置の詳細構成を示す機能ブロック図である。
【図16】第2の実施形態による特徴点抽出処理および方向性判定処理の内容を示すフローチャートである。
【図17】方向判断フィルタの構成例を示す図である。
【符号の説明】
1 光学系
1a シャッタ
1b レンズ
1c アイリス
2 撮像素子
3 PGA(プログラマブルゲインアンプ)
4 A/D変換器
5 信号処理部
6 手振れ補正部
7 AE/AF処理部
8 コントローラ
10 デジタルカメラ
11 画像データ入力部
12 画像縮小部
13 特徴点抽出部
14 大域移動量検出部
15 局所移動量検出部
16 画像合成部
21 参照ヒストグラム生成部
22 走査ヒストグラム生成部
23 ヒストグラムマッチング部
24 参照ブロック設定部
25 走査ブロック設定部
26 ブロックマッチング部
31 画像縮小部
32 特徴点抽出部
33 方向性判定部
34 大域移動量検出部
35 参照ブロック設定部
36 走査ブロック設定部
37 ブロックマッチング部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a camera shake correction device and method, and a camera shake detection device, and more particularly to a camera shake correction function for preventing a deterioration in image quality of a captured image due to a camera shake applied to an imaging device.
[0002]
[Prior art]
Many imaging devices, such as still cameras and video cameras, have a camera shake correction function in order to prevent a reduction in image quality due to a camera shake applied to the camera. The camera shake at the time of shooting is a vibration in a frequency range of about 1 Hz to 15 Hz. As elementary technologies of a camera shake correction function for enabling shooting of an image without image blur even if such camera shake occurs, there are two technologies, a technology for detecting camera shake and a technology for correcting camera shake.
[0003]
The former technique of detecting camera shake is roughly classified into a motion vector detection method and an angular velocity detection method. The motion vector detection method is a method of electronically processing image data captured by a CCD (Charge Coupled Device) or the like to detect a motion vector of a camera. On the other hand, the angular velocity detection method is a method of detecting an angular velocity using a gyro sensor or the like. As a method of electronically detecting camera shake, a method of obtaining image blurring (image moving amount) by taking a cross-correlation between two image data captured at a time difference is common (for example, see Patent Document 1). ).
[0004]
[Patent Document 1]
JP-A-10-173992
[0005]
Generally, when calculating the image movement amount by looking at the cross-correlation of a plurality of image data, a block of a predetermined size (hereinafter, referred to as a reference block) cut out from a reference image is moved to anywhere in an image to be compared. A method of detecting whether or not it is used is taken. In this case, while scanning the image of the reference block on the image to be compared, the similarity between the two images at each scanning position is calculated, and it is determined that the reference block has moved to the scanning position where the similarity is the maximum. . The scanning range may be the entire comparison target image, but a scanning block having a size larger than the reference block is set assuming a range that can occur as a camera shake amount, and scanning is performed only inside the scanning block. Many.
[0006]
Further, the latter technique for correcting camera shake is roughly classified into an optical type and an electronic type. The optical camera shake correction is a method of physically displacing the optical axis in accordance with the detected movement of the camera. As a method for displacing the optical axis, there are a shift method in which a shift lens arranged in a part of the lens optical system is moved in accordance with the amount of camera shake, and a prism method in which a variable prism is deformed in accordance with the amount of camera shake.
[0007]
On the other hand, in the electronic camera shake correction, a CCD larger than an actual imaging area is prepared, and a part of the CCD is used as an imaging area. That is, this is a method of correcting camera shake by moving the image cutout area (imaging area) of the CCD up, down, left, and right in accordance with the detected movement of the camera.
[0008]
[Problems to be solved by the invention]
However, if an angular velocity detection method is used as a technique for detecting camera shake or an optical method is used as a technique for correcting camera shake, it is necessary to provide a mechanism such as a gyro or actuator. Therefore, there has been a problem that not only the size of the camera is increased, but also the cost for realizing the product increases.
[0009]
In addition, if the motion vector detection method is used as the technology for detecting camera shake and the electronic method is used as the technology for correcting camera shake, camera movement can be detected and the camera shake corrected using only software processing. Suitable for. However, in this case, the correction accuracy of the camera shake and the processing speed greatly depend on the contents of electronic processing.
[0010]
Generally, an attempt to increase the correction accuracy complicates electronic processing contents, increases the processing load, and lowers the processing speed. Conversely, if the processing content is simplified in order to increase the processing speed, erroneous detection of the image movement amount will increase, and the correction accuracy will decrease. In particular, there is a problem that it is extremely difficult to accurately detect the amount of image movement with a small amount of calculation.
[0011]
One of the causes of the erroneous detection of the image movement amount is that a simple method of cross-correlating a plurality of images is used. For example, when a similar pattern exists at a plurality of locations in a subject, the similar pattern appears in any number of locations in the captured image data. In this case, even if an attempt is made to detect the amount of image movement by a simple matching operation, a plurality of points that are considered to be matched are obtained, and it is not possible to determine which matching state is correct.
[0012]
On the other hand, it is conceivable to obtain the image movement amount using a more complicated calculation method than the matching calculation. However, the number of pixels in a recent CCD has increased dramatically, and the data amount of an image to be captured has also become extremely large. Therefore, it takes a lot of time to perform the operation on the image data. The longer the calculation time, the worse the responsiveness of hand shake detection. If a CPU having a large memory space at the time of calculation and capable of high-speed processing is used, the responsiveness of camera shake detection can be improved to some extent, but there is a problem that the cost increases.
[0013]
Further, in a case where the brightness of the subject is low, such as when shooting in a dark place, shooting is often performed by emitting strobe light for illuminating the subject. However, in places where flash photography is prohibited, strobe light cannot be emitted. Also, when the subject is far from the camera, the strobe light does not reach the subject and the brightness of the subject cannot be increased.
[0014]
On the other hand, a method has been proposed in which the sensitivity is increased by increasing the gain of image data captured without projecting light in a dark place. However, since image data captured in a dark place has a low S / N ratio, simply increasing the gain of the image data also increases the noise gain at the same time, making it impossible to obtain a high-quality image. There was a problem.
[0015]
The present invention has been made to solve such a problem, and an object of the present invention is to be able to perform accurate and responsive camera shake correction while being small in size and low in cost.
Another object of the present invention is to make it possible to accurately detect and correct camera shake even when shooting in a dark place where the brightness of the subject is small, and to obtain a bright and high-quality image. I do.
[0016]
[Means for Solving the Problems]
The image stabilization apparatus of the present invention reduces the image in one or more stages, including the original image, for each of a plurality of image data generated by imaging within a predetermined time by the imaging unit. Image reduction means for generating a plurality of levels of image data, and a plurality of levels including at least one reference image data of the plurality of image data generated by the imaging means and reference reduced image data generated therefrom by the image reduction means A feature point extracting unit for extracting a feature point satisfying a predetermined condition from the image for each of the image data, and a lowermost level to a highermost level of the multi-level image data generated by the image reducing unit. Using the feature points extracted by the feature point extraction means in order to obtain a cross-correlation between the reference image and the other images. Therefore, the image movement amount detection means for obtaining the image movement amount, and the reference image data at the uppermost level generated by the imaging by the imaging means and the other image data are compared with the image movement amount obtained by the image movement amount detection means. Image synthesizing means for synthesizing the image by shifting by an amount.
[0017]
In another aspect of the present invention, the feature point extracting unit performs an adjacent pixel difference integration operation on one image data for each of a plurality of levels of image data for each divided block of a predetermined size. The difference integrated data is subjected to one or more scans of a filter of a predetermined size in which a coefficient is set so as to apply a large weight to the median value and a small weight to the surrounding value, and to obtain a data value It is characterized in that corresponding coordinates are extracted as a plurality of feature points in order from a large block.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
(1st Embodiment)
Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a functional block diagram illustrating a schematic configuration of the camera shake correction apparatus according to the first embodiment. FIG. 2 is a block diagram showing the entire configuration of the digital camera 10 to which the camera shake correction device according to the first embodiment is applied.
[0019]
As shown in FIG. 2, the digital camera 10 includes an optical system 1 including a shutter 1a, a lens 1b, and an iris 1c, an imaging device 2 such as a CCD or a CMOS, a programmable gain amplifier (PGA) 3, an A / D It includes a converter 4, a signal processing unit 5, a camera shake correction unit 6, an AE / AF processing unit 7 for performing automatic exposure adjustment and automatic focus adjustment processing, and a controller 8 for controlling the entire digital camera 10. It is configured.
[0020]
In the digital camera 10 configured as described above, light incident on the optical system 1 is imaged by the image sensor 2 via the shutter 1a, the lens 1b, and the iris 1c. The imaging element 2 photoelectrically converts the formed incident light to generate an analog imaging signal corresponding to the incident light. After the gain of the imaging signal generated here is increased by the PGA 3, it is supplied to the A / D converter 4 and converted into digital image data. As described above, by increasing the gain of the analog imaging signal in the PGA 3, it is possible to reduce the adverse effect that the gradation in the A / D converter 4 becomes coarse due to the quantization.
[0021]
The image data obtained by the A / D converter 4 is supplied to a signal processing unit 5. The signal processing unit 5 performs color interpolation processing, color correction processing, RGB (red, green, and blue primary color signals) on input image data to YCbCr (a luminance signal, a blue color difference signal, and a red color difference signal). Various kinds of signal processing including conversion processing to, etc. are performed. The camera shake correction unit 6 is configured as shown in FIG. 1, synthesizes images while performing camera shake correction based on the luminance data received from the signal processing unit 5, and outputs a synthesized image.
[0022]
In the above configuration, the optical system 1 and the imaging device 2 constitute an imaging unit. The imaging unit according to the present embodiment captures a plurality of images within a predetermined time when a shutter button (not shown) is pressed. The A / D converter 4 sequentially A / D converts a plurality of imaging signals. Further, the signal processing unit 5 separates the plurality of A / D-converted image data into a luminance signal (luminance data) and a color difference signal (color difference data), and sequentially outputs them to the camera shake correction unit 6.
[0023]
As shown in FIG. 1, the image stabilization device (the image stabilization unit 6 shown in FIG. 2) of the present embodiment includes an image data input unit 11, an image reduction unit 12, a feature point extraction unit 13, and a global movement amount detection unit 14. , A local movement amount detection unit 15 and an image synthesis unit 16.
[0024]
The image data input unit 11 receives from the signal processing unit 5 a plurality (for example, two) of image data YC1 and YC2 generated by imaging within a predetermined time by the above-described imaging unit. The image reduction unit 12 reduces the luminance data of each of the plurality of image data YC1 and YC2 input by the image data input unit 11 in one or more steps, thereby including a plurality of levels including the original image. Is generated.
[0025]
For example, the input luminance data is sequentially reduced by 回 times over three times to obtain four levels of 1 × (original image), 倍 times, 4 times, 1 / times. Is generated. By performing such reduction processing, four levels of luminance data Y1-1 to Y1-4 are generated from the first input image YC1, and four levels of luminance data Y2 are generated from the second input image YC2. -1 to Y2-4 are generated. Hereinafter, the highest level is referred to as a first level, and the lowest level is referred to as a fourth level.
[0026]
The content of the reduction process performed here is not particularly limited, but preferably, an average reduction process described below is performed. FIG. 3 is a diagram for explaining the contents of the average reduction process. As shown in FIG. 3, in the average reduction processing, adjacent four pixels of 2 × 2 pixels are regarded as one block, and luminance data of the reduced image is obtained by averaging the luminance data in block units. For example, the luminance data of the four pixels P1 to P4 constituting a certain block are averaged to obtain the luminance data of the pixel P1 ′ in the reduced image.
[0027]
The feature point extracting unit 13 includes at least one image data (hereinafter, referred to as reference image data) of the plurality of image data input by the image data input unit 11 and reduced image data (hereinafter, referred to as reference image data) generated by the image reducing unit 12. For each of a plurality of levels of image data including the reduced image data, feature points that satisfy a predetermined condition regarding luminance data are extracted from each image.
[0028]
For example, when the first input image YC1 is used as a reference image, the feature point extracting unit 13 extracts feature points satisfying a predetermined condition from each of the four levels of luminance data Y1-1 to Y1-4. Here, a point where the pattern is relatively complicated and a point where the same pattern does not exist around the point is extracted as a feature point. FIG. 4 is a diagram for describing extraction of a feature point. As shown in FIG. 4, when feature points are extracted from an image in which a house is drawn on a plain background, for example, seven feature points K1 to K7 shown in FIG. 4 are extracted. Detailed processing contents for extracting such a feature point will be described later.
[0029]
The global movement amount detection unit 14 corresponds to a first image movement amount detection unit of the present invention. The global movement amount detection unit 14 uses the luminance data Y1-4 and Y2-4 of the fourth level (1 /) image generated by the image reduction unit 12 to generate the two luminance data Y1-4. , Y2-4 (reference reduced image data and other reduced image data) to obtain an image movement amount at the fourth level. The global movement amount obtained here is supplied to the local movement amount detection unit 15, and is used for detecting the local movement amount at the upper level.
[0030]
FIG. 5 is a diagram for explaining the meaning of the global movement amount. As shown in FIG. 5, when the image pickup position of the house is displaced between the first image YC1 and the second image YC2 due to the occurrence of camera shake, it is determined how much the position is displaced on the fourth level. What is represented is the global movement amount. That is, the house drawn in the first 1/8 reduced image and the house drawn in the second 1/8 reduced image are determined based on the first 1/8 reduced image. The movement amount of the first 1/8 reduced image necessary for making them substantially match is the global movement amount.
[0031]
The local movement amount detection unit 15 corresponds to a second image movement amount detection unit of the present invention. The local movement amount detection unit 15 calculates the luminance data of the image at each level (1 ×, 1 / ×, 1 / ×) other than the fourth level between the first image and the second image. By calculating the cross-correlation, a local image movement amount is obtained for each of a plurality of feature points included in the image. Then, one likely movement is selected from the plurality of local movement amounts obtained for each feature point, and one local movement amount at each level is determined.
[0032]
FIG. 6 is a diagram for explaining the meaning of the local movement amount. As shown in FIG. 6, when the position of the feature point is shifted between the first image YC1 and the second image YC2 due to the occurrence of camera shake, how much the position is shifted on the third to first levels. Is the local movement amount. That is, based on a local image around a feature point included in the first overall image, the first image required to make the first and second images substantially coincide with each other Is the local moving amount of the image.
[0033]
When calculating such a local movement amount, the local movement amount detection unit 15 places a predetermined size around the feature points K1 to K7 extracted by the feature point extraction unit 13 on the first image. Set the reference block. On the other hand, on the second image, a scanning block having a predetermined size larger than the reference block is set (the setting position of the scanning block will be described later). Then, by cross-correlating the luminance data of the reference block set in the first image and the luminance data of the scan block set in the second image, each of the feature points K1 to K7 is obtained. To obtain the local movement amount.
[0034]
FIG. 6 shows the local movement amount for one feature point K2. When seven feature points K1 to K7 are extracted as shown in FIG. 4, seven local movement amounts are obtained for each feature point. In the present embodiment, one of the seven local movement amounts having the highest similarity frequency is selected. The highest similarity frequency refers to a local movement amount corresponding to the largest group when all similar local movement amounts within a predetermined error range are regarded as the same group local movement amount.
[0035]
When there are a plurality of local movement amounts having the same similarity frequency, one of the local movement amounts having the highest equivalent frequency is selected from them. The one having the highest equivalent frequency means the local movement amount of a group including the most completely identical local movement amounts. If the equivalent frequencies are also the same, the one closest to the zero vector is selected from those having the highest equivalent frequency.
[0036]
Note that, here, one of the plurality of local movement amounts obtained for each of the plurality of feature points is selected as a likely one, but a predetermined calculation is performed using all or a part of the plurality of image movement amounts. Then, one local movement amount calculated in this way may be determined as the local movement amount at each level. Here, various calculations can be applied to the predetermined calculation. For example, it is possible to use an operation for calculating an average vector of a plurality of image movement amounts.
[0037]
FIG. 7 is a diagram illustrating a use relationship between the global movement amount and the local movement amount. As shown in FIG. 7, the global movement amount is obtained by the global movement amount detection unit 14 for the fourth level image. This global movement amount is used when a scan block is set in a process of obtaining a local movement amount for a third level image on one layer.
[0038]
On the other hand, for the images of the third level to the first level, the local movement amount detection unit 15 calculates the local movement amount. The local movement amounts obtained at the third level and the second level are used when a scan block is set in a process of obtaining a local movement amount at a higher level (second level and first level). The local movement amount obtained at the first level is supplied to the image synthesizing unit 16 as the finally obtained camera shake amount.
[0039]
The image synthesizing unit 16 converts the second image data YC2 with respect to the first image data YC1 input by the image data input unit 11 into the final camera shake amount obtained by the local movement amount detection unit 15. The combined image is shifted in the reverse direction by an amount to generate a combined image YC corrected for camera shake. Various modes such as addition synthesis and average synthesis can be applied to the synthesis method, but in the present embodiment, average synthesis is preferable. The composition may be performed after performing processing such as affine transformation.
[0040]
Here, the setting position of the above-described scanning block will be described. When calculating the local movement amount for the third level image, the local movement amount detection unit 15 starts from the positions corresponding to the feature points K1 to K7 included in the first image on the second image. A scanning block having a predetermined size larger than the reference block is set around a position shifted by the global movement amount obtained at the fourth level. Note that a scanning block of a predetermined size may be set at a position shifted from the position of the reference block set on the first image by the amount of the global movement by a method different from this.
[0041]
Further, when obtaining the local movement amount for the second and first level images, one local movement amount is obtained from the positions corresponding to the feature points K1 to K7 included in the first image on the second image. A scan block of a predetermined size larger than the reference block is set around a position shifted by the local movement amount obtained at the lower layer level. Note that a scanning block of a predetermined size is set by a different method from the position of the reference block set on the first image at a position shifted by the local movement amount obtained at the lower level. You may do it.
[0042]
By the way, when calculating the global movement amount at the fourth level, since the correlation between the 1/8 reduced images is taken, the pictures of the houses in both images can be made to substantially match as shown in FIG. However, when this is converted into a first level image, there is an error of less than 8 pixels. That is, the global movement amount includes an error of less than 8 pixels. However, it is broadly correct.
[0043]
In the present embodiment, the position of the scanning block is determined at the third level of the upper layer using the roughly matched image movement amount. That is, based on the global movement amount, the scanning block is set at a position where it is expected that the same image as the reference block exists. Thus, even if the scan block is not so large, the image in the scan block substantially matches the image in the reference block, and can be correlated with the image in the reference block.
[0044]
Similarly, the local movement amount obtained at the third level includes an error of less than four pixels, but this is also generally correct. In addition, the error amount is reduced to half compared with the fourth level. In the present embodiment, the position of the scanning block is determined at the second upper level using the image movement amount obtained at the third level. Similarly, the position of the scanning block is determined at the first level of the uppermost layer using the image movement amount obtained at the second level, and the local movement amount obtained at the first level is used as the camera shake amount. The local movement amount obtained at the first level does not include an error, and an accurate camera shake amount is obtained.
[0045]
FIG. 8 is a functional block diagram illustrating the configuration of the camera shake correction apparatus according to the present embodiment in more detail. Note that in FIG. 8, components denoted by the same reference numerals as those illustrated in FIG. 1 have the same functions, and thus redundant description will be omitted here. As shown in FIG. 8, the global movement amount detection unit 14 includes a reference histogram generation unit 21, a scanning histogram generation unit 22, and a histogram matching unit 23. The local movement amount detection unit 15 includes a reference block setting unit 24, a scanning block setting unit 25, and a block matching unit 26.
[0046]
The reference histogram generation unit 21 generates a histogram relating to a horizontal edge component and a vertical edge component for the 8 reduced luminance data Y1-4 generated from the first image data YC1. In addition, the scanning histogram generation unit 22 generates a histogram relating to a horizontal edge component and a vertical edge component with respect to the 8 reduced luminance data Y2-4 generated from the second image data YC2.
[0047]
FIG. 9 is a diagram for explaining the generation processing of the reference histogram and the scanning histogram. Since the generation processing of the reference histogram and the generation processing of the scanning histogram are almost the same, the generation of the reference histogram will be described here as a representative. As shown in FIG. 9, the reference histogram generation unit 21 first performs vertical edge extraction and horizontal edge extraction filter processing on the 8 reduced luminance data Y1-4, so that the vertical edge components and the horizontal The edge components in the directions are extracted.
[0048]
Then, a vertical direction histogram is generated by projecting and integrating pixel values in the vertical direction with respect to the image from which the edge components in the vertical direction have been extracted. Further, a horizontal direction histogram is generated by projecting and integrating pixel values in the horizontal direction with respect to the image from which the edge components in the horizontal direction have been extracted.
[0049]
By performing such processing on the two 1/8 reduced luminance data Y1-4 and Y2-4, a vertical reference histogram and a horizontal reference histogram are obtained from the first 1/8 reduced luminance data Y1-4. The vertical scanning histogram and the horizontal scanning histogram are generated from the generated 1/8 reduced luminance data Y2-4.
[0050]
The histogram matching unit 23 performs a matching process between the reference histogram generated by the reference histogram generation unit 21 and the scanning histogram generated by the scanning histogram generation unit 22, and obtains a cross-correlation between the two histograms to reduce the amount of global movement. Ask. FIG. 10 is a diagram for explaining the content of the histogram matching process, and shows a matching process of the horizontal direction histogram as an example.
[0051]
As shown in FIG. 10, when camera shake occurs, a positional shift occurs in the vertical direction between the reference histogram and the scanning histogram. This shift amount x corresponds to the vertical movement amount in the vertical direction. The histogram matching unit 23 calculates, for each scanning position, a difference between the horizontal reference histogram and the horizontal scanning histogram, for example, while shifting the position of the horizontal reference histogram little by little. Determined as the vertical component.
[0052]
As described above, in the example of FIG. 10, when the horizontal reference histogram is shifted to the right by x, the difference between the horizontal reference histogram and the horizontal scanning histogram is smallest, and the shift amount x is the vertical component of the global movement amount. The same process is performed on the vertical histogram to obtain the horizontal component of the global movement amount.
[0053]
Next, the reference block setting unit 24 sets a reference block of a predetermined size around the feature point extracted by the feature point extraction unit 13 around the first image.
[0054]
The scan block setting unit 25 calculates the local movement amount for the third level image from the position corresponding to the feature point included in the first image on the second image. A scanning block of a predetermined size larger than the reference block is set around the position shifted from the position shifted by the global movement amount obtained by the above. Alternatively, a scan block of a predetermined size larger than the reference block is set at a position shifted from the position of the reference block set by the reference block setting unit 24 by the amount of global movement obtained by the histogram matching unit 23.
[0055]
When calculating the local movement amount for the second and first level images, the block matching unit 26 starts from the position corresponding to the feature point included in the first image on the second image. A scan block of a predetermined size larger than the reference block is set around a position shifted by the local movement amount obtained at the level of one lower layer. Alternatively, a scan block of a predetermined size larger than the reference block is set at a position shifted from the position of the reference block set by the reference block setting unit 24 by the local movement amount of the lower level obtained by the block matching unit 26. I do.
[0056]
The block matching unit 26 performs a cross-correlation between the luminance data of the reference block set in the first image and the luminance data of the scan block set in the second image, thereby obtaining each feature point. To obtain the local movement amount. Then, one of the obtained local movement amounts having the highest similarity frequency is selected as the image movement amount at each level. When there are a plurality of local movement amounts having the same similarity frequency, one of the local movement amounts having the highest equivalent frequency is selected from them. If the equivalence frequencies are also the same, the one closest to the zero vector is selected.
[0057]
Next, details of the feature point extraction processing will be described. FIG. 11 is a flowchart showing the detailed processing contents of the feature point extracting unit 13. 11, first, the feature point extraction unit 13 receives the fourth-level luminance data Y1-4 generated from the first reference image YC1 by the image reduction unit 12 (step S1), and receives a predetermined size (for example, , 8 pixels in the vertical direction × 8 pixels in the horizontal direction (block S2).
[0058]
As shown in FIG. 12, the adjacent pixel difference integration refers to an operation of sequentially calculating the differences between adjacent pixels in a vertical direction and a horizontal direction in a block and adding them. By this adjacent pixel difference integration operation, 8 × 8 pixel values included in one block are replaced with one difference integration data. In other words, the luminance data Y1-4, which has been reduced by a factor of 8 from the original image, is further reduced by a factor of 8 by obtaining difference integration data one by one for each divided block. At this time, large integrated difference data is obtained for a block having a complicated pattern and a relatively large difference between adjacent pixels.
[0059]
Next, the feature point extracting unit 13 determines a predetermined size (for example, 3 vertical pixels × 3 horizontal pixels: one difference integration data is 1 pixel) for the 1/64 reduced image composed of the difference integration data. An eight-direction Laplacian filter (corresponding to one pixel) is applied (step S3). The Laplacian filter is a filter in which a coefficient is set so as to apply a large weight to the median value and a small weight to the surrounding value, and is configured, for example, as shown in FIG. In step S3, a filter coefficient is integrated with the above-described difference integrated data while scanning such a Laplacian filter on the screen.
[0060]
That is, when attention is paid to a certain pixel, the difference integrated data of the pixel of interest is multiplied by eight, the difference integrated data of the surrounding eight pixels is multiplied by −1, and all of them are added. Data. Such filter processing is sequentially performed while scanning the pixel of interest.
[0061]
By such a filtering process, at the position where the value of the difference integrated data of the target pixel is large and the value of the difference integrated data of the surrounding pixels is small as shown in FIG. growing. On the other hand, as shown in FIG. 14B, at the position where the value of the difference integrated data of the target pixel and the surrounding pixels is large, the calculated corrected difference integrated data is relatively small. Even at a position where the value of the difference integrated data of the target pixel and its surrounding pixels is both small, the calculated corrected difference integrated data is relatively small.
[0062]
In this way, by applying a Laplacian filter as shown in FIG. 13 to an image composed of the difference integrated data, it becomes possible to specify a position where the same pattern does not exist around a complicated pattern (where the frequency is high). . In the present embodiment, a Laplacian filter is again applied to the corrected difference integrated data obtained in step S3 (step S4). Thereby, as shown in FIG. 14 (c), the range for ensuring that the same picture does not exist around it can be widened.
[0063]
Through the above processing, corrected difference integrated data is obtained for the number of divided blocks of 8 × 8 units. The feature point extraction unit 13 selects n (n is preferably 3 to 9) in descending order of the value from the plurality of corrected difference integrated data, and assigns the corresponding coordinates to the fourth level feature point. (Step S5).
[0064]
When selecting n feature points, a priority area is arbitrarily set in a part of the entire image reduced to 1/64 (1/8 × 1/8), and (N <n) may be preferentially selected. For example, when seven (n = 7) feature points are to be extracted in total, if the setting is made to extract four feature points from the priority area, the value of the corrected difference integrated data is large in the priority area. Four (N = 4) feature points are selected in this order, and the remaining three feature points are selected in ascending order of the value of the corrected integrated difference data outside the priority area.
[0065]
Next, the feature point extracting unit 13 inputs the third-level luminance data Y1-3 generated from the first reference image YC1 by the image reducing unit 12 (Step S6). Then, on the input third-level luminance data Y1-3, a characteristic area composed of blocks of a predetermined size (for example, 64 pixels by 64 pixels) around the n characteristic points selected in step S5. Is cut out (step S7).
[0066]
Further, the feature point extracting unit 13 performs adjacent pixel difference integration for each cut-out feature region in blocks of a predetermined size (for example, 8 pixels vertically × 8 pixels horizontally) as in step S2 (step S8). . Next, the feature point extracting unit 13 applies an eight-directional Laplacian filter of a predetermined size (for example, 3 pixels vertically × 3 pixels horizontally: one difference integrated data corresponds to one pixel) to the image formed of the integrated difference data. Apply twice (steps S9 and S10).
[0067]
By these two Laplacian filter processes, corrected difference integrated data is obtained in each feature region by the number of 8 × 8 divided blocks. The feature point extracting unit 13 selects n pieces of the corrected difference integrated data in descending order of the value, and selects coordinates corresponding to the pieces as the third level feature points (step S11).
[0068]
Next, the feature point extracting unit 13 inputs the second-level luminance data Y1-2 generated from the first reference image YC1 by the image reducing unit 12 (Step S12). Then, on the input second-level luminance data Y1-2, a characteristic region consisting of a block of a predetermined size (for example, 64 pixels by 64 pixels) around the n characteristic points selected in step S11. Is cut out (step S13).
[0069]
Further, the feature point extracting unit 13 performs adjacent pixel difference integration for each cut-out feature region in blocks of a predetermined size (for example, 8 pixels vertically × 8 pixels horizontally) as in step S2 (step S14). . Next, the feature point extracting unit 13 applies an eight-directional Laplacian filter of a predetermined size (for example, 3 pixels vertically × 3 pixels horizontally: one difference integrated data corresponds to one pixel) to the image formed of the integrated difference data. Apply twice (steps S15 and S16).
[0070]
By these two Laplacian filter processes, corrected difference integrated data is obtained in each feature region by the number of 8 × 8 divided blocks. The feature point extracting unit 13 selects n pieces of the plurality of corrected difference integrated data in descending order of the value, and selects coordinates corresponding to the pieces as the second level feature points (step S17).
[0071]
Next, the feature point extracting unit 13 inputs the first-level luminance data Y1-1 generated from the first reference image YC1 by the image reducing unit 12 (Step S18). Then, on the input first-level luminance data Y1-1, a characteristic area composed of blocks of a predetermined size (for example, 64 pixels by 64 pixels) around the n characteristic points selected in step S17. Is cut out (step S19).
[0072]
Further, the feature point extracting unit 13 performs adjacent pixel difference integration for each of the cut-out feature regions in blocks of a predetermined size (for example, 8 pixels vertically × 8 pixels horizontally) as in step S2 (step S20). . Next, the feature point extracting unit 13 applies an eight-directional Laplacian filter of a predetermined size (for example, 3 pixels vertically × 3 pixels horizontally: one difference integrated data corresponds to one pixel) to the image formed of the integrated difference data. Apply twice (steps S21 and S22).
[0073]
By these two Laplacian filter processes, corrected difference integrated data is obtained in each feature region by the number of 8 × 8 divided blocks. The feature point extracting unit 13 selects n pieces of the plurality of corrected difference integrated data in descending order of value, and selects coordinates corresponding to the pieces as the first level feature points (step S23). As described above, n feature points are extracted for each of the fourth level to the first level.
[0074]
As described in detail above, according to the present embodiment, the input image is reduced stepwise in a plurality of steps, and the upper level is reduced using the image movement amount roughly obtained using the reduced image at the lower level. Since the scan block for calculating the image movement amount is constructed, the correlation with the image in the reference block can be obtained without making the scan block so large, and the range of the scan block can be narrowed. .
[0075]
If the range of the scanning block can be reduced, the probability that a plurality of the same or similar patterns exist in the scanning block decreases. Therefore, it is less likely that a portion in the reference block that appears to match the pattern is erroneously detected, and the matching accuracy can be improved. As a result, a more accurate camera shake amount can be detected, and camera shake correction can be performed more accurately.
[0076]
Further, if the range of the scanning block can be narrowed, the amount of calculation required for obtaining the correlation can be reduced. Further, in the present embodiment, a Laplacian filter is applied to an image to extract a feature point in a complex pattern where the same pattern does not exist around the complex pattern, so that the probability of occurrence of erroneous detection of the image movement amount is reduced. An optimal feature point can be extracted by a simple calculation. As a result, camera shake can be accurately detected with a small amount of calculation, and high responsiveness and high-precision camera shake correction can be achieved without using a high-cost CPU that has a large memory space for calculations and high-speed processing. can do.
[0077]
In addition, as for the reduced image in the lowermost layer, since the image movement amount cannot be obtained from the lower layer, the correlation operation is performed on the entire image. However, since the data amount is greatly reduced by the reduction, even if the entire image is scanned, the processing amount is not so large, and the calculation time does not become long. In the present embodiment, since the matching calculation using the histogram is performed instead of the normal block matching, the calculation load can be further reduced.
[0078]
In the present embodiment, instead of taking one image with long exposure to increase the relative sensitivity, the exposure time is shortened to continuously shoot a plurality of images, and the camera shake is corrected while correcting the camera shake between the images. Images are combined. Since the exposure time can be shortened, the amount of image blur due to camera shake per image can be reduced. At the same time, since the images are synthesized while correcting the amount of camera shake between the images, image blur due to camera shake can be almost completely eliminated in the combined image.
[0079]
Further, in the present embodiment, since a plurality of continuously shot images are averagely combined, many noise components are canceled out by averaging over time over a plurality of frames, and noise is reduced. This improves the S / N ratio of the composite image. Since the S / N ratio can be improved, noise becomes less noticeable even when the image is brightened by increasing the gain with PGA3. Therefore, even in a dark environment, a bright high-quality image with less noise can be obtained.
[0080]
In the first embodiment, an example in which the image reducing unit 12 reduces the input image in three steps has been described. However, the three steps are merely examples, and the present invention is not limited to this. Further, in the first embodiment, the example in which the Laplacian filter is applied twice when extracting the feature points has been described. However, the number of times is merely an example, and the present invention is not limited to this.
[0081]
Further, in the first embodiment, an example has been described in which matching is performed using a histogram when obtaining the global movement amount for the image at the lowest level. However, at the lowest level, the image data amount is significantly reduced by reduction. Therefore, the global movement amount may be obtained by ordinary block matching.
[0082]
In the first embodiment, an example in which two images are input and processed is described. However, a larger number of images may be input and processed. When n (n> 2) images are input, for example, using the first input image as a reference image, the amount of movement of the second image and the first image are calculated based on the correlation between the first and second images. From the correlation with the third image, the amount of image movement of the i-th (i = 2, 3,..., N) image is calculated by the above-described procedure, for example, the amount of image movement of the third image. .
[0083]
When synthesizing these n images, first, the second image is shifted in the reverse direction with respect to the first image by the moving amount of the second image. Next, the third image is combined with the combined image by shifting the third image in the reverse direction by the moving amount of the third image. In this way, the i-th (i = 2, 3,..., N) images are sequentially synthesized with the first image while being shifted by the respective image movement amounts.
[0084]
By doing so, it is possible to suppress image blur due to camera shake of the synthesized image and at the same time improve the S / N ratio. Therefore, even when shooting in a dark place where the subject brightness is considerably low, camera shake can be accurately detected and corrected, and noise should not be noticeable even if the image is brightened by increasing the gain. Can be. As a result, a bright high-quality image with less noise can be obtained even in a dark environment.
[0085]
When n (n> 2) images are input and processed, the reference image is not always set to only the first image. For example, the reference image may be set every fixed number of sheets. When a plurality of reference images are set, a plurality of images included between a certain reference image and the next reference image are regarded as one group, and the image movement amount is detected for each group in the above-described procedure to perform image synthesis. I do. At that time, feature points are extracted from the reference image in each group.
[0086]
When shooting a still image, the feature points may only move slightly due to camera shake.However, when shooting a moving image, even if there is no camera shake, the feature points will change according to the movement of the image. Also move. Therefore, the method of providing the reference image at regular intervals and extracting the feature points is particularly effective for camera shake correction at the time of capturing a moving image.
[0087]
In the first embodiment, a plurality of images are averagely combined, but the combining method is not limited to this. For example, a plurality of images may be added and synthesized.
[0088]
(Second embodiment)
Next, a second embodiment of the present invention will be described. FIG. 15 is a functional block diagram illustrating a configuration of a camera shake correction device according to the second embodiment. Note that in FIG. 15, components denoted by the same reference numerals as those illustrated in FIG. 8 have the same functions, and thus redundant description will be omitted here. The overall configuration of a digital camera to which the camera shake correction device according to the second embodiment is applied is the same as that in FIG.
[0089]
In FIG. 15, the image reduction unit 31 reduces the luminance data Y1-1 and Y2-1 to 1/8 times for each of the plurality of images YC1 and YC2 input by the image data input unit 11. Here also, the average reduction processing is preferably performed. That is, the adjacent 64 pixels of 8 × 8 pixels are defined as one block, and the average of the luminance data is calculated for each block to obtain luminance data Y1-4 and Y2-4 of the reduced image.
[0090]
The feature point extracting unit 32 extracts feature points that satisfy a predetermined condition with respect to the luminance data Y1-1 in the first reference image YC1 input by the image data input unit 11. The content of the extraction processing is almost the same as that of the first embodiment, but feature points for which the directionality determination unit 33 determines that the vertical, horizontal, and oblique directional correlations are strong are excluded from the extraction target. This is different from the feature point extracting unit 13 of the first embodiment.
[0091]
The direction determining unit 33 performs a filtering process (a process of applying a direction determining filter and a Laplacian filter), which will be described later, on the −4 reduced luminance data Y1-4 generated from the first input image YC1 by the image reducing unit 31. To obtain the directional values of the vertical, horizontal, diagonal left, and diagonal right (values obtained by applying the direction determination filter) and Laplacian values (values obtained by applying the Laplacian filter). The direction value is compared with the Laplacian value. If the direction value is larger, the corrected difference integrated data value obtained by the feature point extracting unit 32 in the corresponding block is set to zero. , So that feature points are not extracted from the block.
[0092]
The global movement amount detection unit 34 cross-correlates the two luminance data Y1-4 and Y2-4 with respect to the luminance data Y1-4 and Y2-4 of the 8 reduced image generated by the image reduction unit 31. To obtain the global movement amount. In the first embodiment, the global movement amount detection unit 14 obtains the global movement amount by histogram matching, whereas in the second embodiment, the global movement amount detection unit 34 performs global movement by ordinary block matching. Find the quantity.
[0093]
That is, the global movement amount detection unit 34 includes a reference block setting unit 35, a scanning block setting unit 36, and a block matching unit 37. The reference block setting unit 35 sets a reference block of a predetermined size (for example, a range of 80% in the vertical and horizontal directions of the reduced luminance data Y1-4) on the first reduced luminance data Y1-4.
[0094]
The scanning block setting unit 36 sets a scanning block of a predetermined size (for example, the entire reduced luminance data Y2-4) larger than the reference block on the second reduced luminance data Y2-4. The block matching unit 37 performs a global movement of the image by cross-correlating the luminance data of the reference block set on the first image and the luminance data of the scan block set on the second image. Find the quantity. That is, the difference is calculated while scanning the image of the reference block in the scan block, and a position where the difference value is minimum is found as the global movement amount.
[0095]
FIG. 16 is a flowchart showing the detailed processing contents of the feature point extracting unit 32 and the direction determining unit 33. In FIG. 16, first, the feature point extracting unit 32 inputs the first luminance data Y1-1 input by the image data input unit 11 (step S31), and obtains a predetermined size (for example, 8 vertical pixels × 8 horizontal pixels). The adjacent pixel difference integration is performed for each pixel (block) (step S32).
[0096]
Next, the feature point extraction unit 32 applies an 8-directional Laplacian filter of a predetermined size (for example, 3 pixels vertically × 3 pixels: one difference integrated data corresponds to one pixel) to the image composed of the difference integrated data. Apply twice (steps S33 and S34). As a result, the corrected difference integrated data is obtained by the number of divided blocks of 8 × 8 units.
[0097]
On the other hand, the direction determining unit 33 inputs the reduced luminance data Y1-4 generated from the first input image YC1 by the image reducing unit 31 (Step S41). Then, the input reduced luminance data Y1-4 is subjected to a vertical, horizontal, leftward and rightward diagonal direction determination filter of a predetermined size (for example, 3 vertical pixels × 3 horizontal pixels), and a predetermined size (for example, An eight-direction Laplacian filter (3 pixels vertically × 3 pixels horizontally) is applied. Then, for each pixel, the largest value among the four directional values of vertical, horizontal, leftward and rightward and one Laplacian value is selected and set as the value of each pixel (step S42). FIG. 17 shows a vertical, horizontal, diagonally left, and diagonally right direction determination filter used in the direction determination unit 33.
[0098]
Next, the direction determining unit 33 performs the same process as step S42 once again (step S43). As a result, it is determined for each pixel whether any one of the vertical, horizontal, diagonally left, and diagonally right direction values obtained by applying the direction determination filter is larger than the Laplacian value obtained by applying the Laplacian filter. A determination is made (step S44). If the direction value is larger than the Laplacian value, the corrected difference integrated data of the pixel corresponding to the position at which the large direction value is obtained is included in the corrected difference integrated data of each pixel obtained in step S34. The value is set to zero (step S45).
[0099]
The feature point extracting unit 32 sorts the corrected difference integrated data of each pixel including the corrected difference integrated data set to the zero value as needed by the direction determining unit 33 in this order from the largest value. The n points are selected, and the coordinates corresponding to them are selected as feature points (step S35).
[0100]
As described above in detail, according to the second embodiment, a pattern having strong correlation vertically, horizontally, and diagonally is detected, and a feature point is not extracted from such a position. In doing so, it can be ensured that the same pattern does not exist in the surroundings. As a result, it is possible to detect the optimum feature point used for reducing the probability of occurrence of erroneous detection of the image movement amount by a simple calculation. Therefore, camera shake can be accurately detected with a small amount of calculation, and high responsiveness and highly accurate camera shake correction can be realized.
[0101]
In the second embodiment, an example in which the image reducing unit 31 reduces the input image by one step has been described. However, the input image may be reduced in a plurality of steps as in the first embodiment. Further, in the second embodiment, the example in which the direction determination filter and the Laplacian filter are applied twice has been described. However, the number of times is merely an example, and the present invention is not limited to this.
[0102]
Further, in the second embodiment, an example in which block matching is performed when obtaining the global movement amount has been described. However, matching using a histogram may be performed in the same manner as in the first embodiment. In the second embodiment, an example in which two images are input and processed is described. However, a larger number of images may be input and processed. In this case, it is possible to set the reference image other than the first image.
[0103]
Further, the above-described camera shake correction method according to the first and second embodiments can be realized by any of a hardware configuration, a DSP, and software. For example, the image stabilization apparatus according to the present embodiment can be implemented as software for real-time processing that can be embedded and mounted in a digital still camera or digital video camera.
[0104]
In the case of using a hardware configuration, a DSP, or the like, it is possible to mount the functional configuration of the image stabilization apparatus described in the above embodiment on a semiconductor chip, a board module, or the like. It is not always necessary to mount the functional configuration of the entire image stabilizing apparatus on a single semiconductor chip or a substrate module, but may be mounted on a plurality of chips or a plurality of substrates. For example, it is possible to mount other functional components except for the image synthesizing unit 16 on one chip as a camera shake detection device.
[0105]
In addition, each of the above-described embodiments is merely an example of a specific embodiment for carrying out the present invention, and the technical scope of the present invention should not be interpreted in a limited manner. That is, the present invention can be embodied in various forms without departing from the spirit or main features thereof.
[0106]
【The invention's effect】
As described above, according to the present invention, a camera shake detection method of detecting a motion vector from image data instead of using a gyro sensor is employed, and an electronic camera shake correction method is employed instead of an optical method. In addition, it is possible to realize a small and low-cost image stabilization apparatus. Moreover, since the camera shake is detected and corrected by an algorithm unique to the present invention, highly accurate camera shake correction can be realized with a small amount of calculation, and accurate and responsive camera shake correction can be performed. In addition, even when photographing in a dark place where the brightness of the subject is small, camera shake can be accurately detected and corrected, and a bright and high-quality image can be obtained.
[Brief description of the drawings]
FIG. 1 is a functional block diagram illustrating a schematic configuration of a camera shake correction device according to a first embodiment.
FIG. 2 is a block diagram illustrating an entire configuration of a digital camera to which the camera shake correction device according to the first and second embodiments is applied.
FIG. 3 is a diagram for explaining the contents of an average reduction process.
FIG. 4 is a diagram for describing extraction of a feature point;
FIG. 5 is a diagram for explaining the meaning of a global movement amount.
FIG. 6 is a diagram for explaining the meaning of a local movement amount.
FIG. 7 is a diagram illustrating a use relationship between a global movement amount and a local movement amount.
FIG. 8 is a functional block diagram illustrating a detailed configuration of a camera shake correction device according to the first embodiment.
FIG. 9 is a diagram for explaining a generation process of a reference histogram and a scanning histogram.
FIG. 10 is a diagram for explaining the contents of a histogram matching process;
FIG. 11 is a flowchart illustrating the content of a feature point extraction process according to the first embodiment.
FIG. 12 is a diagram for explaining the meaning of adjacent pixel difference integration.
FIG. 13 is a diagram illustrating a configuration example of an eight-direction Laplacian filter.
FIG. 14 is a diagram for explaining the significance of an eight-direction Laplacian filter.
FIG. 15 is a functional block diagram illustrating a detailed configuration of a camera shake correction device according to a second embodiment.
FIG. 16 is a flowchart illustrating details of a feature point extraction process and a direction determination process according to the second embodiment.
FIG. 17 is a diagram illustrating a configuration example of a direction determination filter.
[Explanation of symbols]
1 Optical system
1a Shutter
1b lens
1c Iris
2 Image sensor
3 PGA (Programmable Gain Amplifier)
4 A / D converter
5 Signal processing unit
6 Camera shake correction unit
7 AE / AF processing unit
8 Controller
10 Digital camera
11 Image data input section
12 Image reduction unit
13 Feature point extraction unit
14 Global movement detector
15 Local movement amount detection unit
16 Image synthesis unit
21 Reference histogram generator
22 Scanning histogram generator
23 Histogram matching unit
24 Reference block setting section
25 Scan block setting unit
26 Block matching section
31 Image reduction unit
32 feature point extraction unit
33 Direction determination unit
34 Global movement amount detector
35 Reference block setting section
36 Scan block setting unit
37 Block matching section

Claims (17)

撮像手段により一定時間内に撮像して生成された複数の画像データのそれぞれについて、画像を1段階または2段階以上に亘って縮小することにより、元画像も含めて複数レベルの画像データを生成する画像縮小手段と、
上記撮像手段の撮像により生成された複数の画像データのうち少なくとも1つの基準画像データおよびこれから上記画像縮小手段により生成された基準縮小画像データを含む複数レベルの画像データのそれぞれ毎に、当該画像中から所定の条件を満たす特徴点を抽出する特徴点抽出手段と、
上記画像縮小手段により生成された複数レベルの画像データの最下層レベルから最上層レベルに向かって順に、上記特徴点抽出手段により抽出された特徴点を利用して、基準画像とそれ以外の画像との相互相関をとることによって画像移動量を求める画像移動量検出手段と、
上記撮像手段の撮像により生成された最上層レベルにおける上記基準画像データとそれ以外の画像データとを、上記画像移動量検出手段により求められた上記画像移動量の分だけずらして合成する画像合成手段とを備えたことを特徴とする手振れ補正装置。
For each of a plurality of image data generated and imaged within a certain period of time by the imaging means, the image is reduced by one or more stages to generate a plurality of levels of image data including the original image. Image reduction means;
For each of a plurality of levels of image data including at least one reference image data among the plurality of image data generated by the imaging means and the reference reduced image data generated by the image reduction means from the image data, Feature point extracting means for extracting feature points satisfying a predetermined condition from
In order from the lowest level to the highest level of the multi-level image data generated by the image reducing means, using the feature points extracted by the feature point extracting means, a reference image and other images are used. Image movement amount detection means for obtaining an image movement amount by taking a cross-correlation of
Image synthesizing means for synthesizing the reference image data and the other image data at the uppermost level generated by the imaging by the imaging means by shifting by the amount of image movement obtained by the image movement amount detecting means. A camera shake correction device comprising:
上記画像移動量検出手段は、上記画像縮小手段により生成された最下層レベルの縮小画像について、上記基準縮小画像データとそれ以外の縮小画像データとの相互相関をとることによって上記最下層レベルでの画像移動量を求める第1の画像移動量検出手段と、
上記最下層レベル以外の各レベルの画像について、上記基準画像データおよび上記基準縮小画像データ上では上記特徴点抽出手段により抽出された特徴点の周囲に所定サイズの参照ブロックを設定し、それ以外の画像データ上では上記特徴点に相当する位置から下層レベルで求められた画像移動量の分だけずれた位置の周囲に上記参照ブロックより大きい所定サイズの走査ブロックを設定し、上記参照ブロックの画像データと上記走査ブロックの画像データとの相互相関をとることによって各レベルでの画像移動量を求め、上記最上層レベルで求めた画像移動量を最終的な画像移動量として出力する第2の画像移動量検出手段とを備えたことを特徴とする請求項1に記載の手振れ補正装置。
The image movement amount detecting means performs cross-correlation between the reference reduced image data and other reduced image data with respect to the reduced image at the lowest level generated by the image reducing means, thereby obtaining the image at the lowest level. First image movement amount detection means for obtaining an image movement amount;
For each level image other than the lowest level, a reference block of a predetermined size is set around the feature points extracted by the feature point extraction means on the reference image data and the reference reduced image data, and On the image data, a scan block of a predetermined size larger than the reference block is set around a position shifted from the position corresponding to the feature point by the amount of image movement obtained at the lower level, and the image data of the reference block is set. And the image data of the scanning block are cross-correlated to determine an image movement amount at each level, and a second image movement to output the image movement amount obtained at the uppermost level as a final image movement amount The camera shake correction apparatus according to claim 1, further comprising an amount detection unit.
上記特徴点抽出手段は、上記複数レベルの画像データのそれぞれ毎に、1つの画像データから上記特徴点を複数抽出し、
上記第2の画像移動量検出手段は、上記最下層レベル以外の各レベルの画像について、上記特徴点抽出手段により抽出された複数の特徴点のそれぞれ毎に局所的な画像移動量を求め、その中から選択した1つの局所移動量をそのレベルでの画像移動量とすることを特徴とする請求項2に記載の手振れ補正装置。
The feature point extracting means extracts a plurality of feature points from one image data for each of the plurality of levels of image data,
The second image movement amount detection means obtains a local image movement amount for each of a plurality of feature points extracted by the feature point extraction means for an image at each level other than the lowest level. 3. The image stabilization apparatus according to claim 2, wherein one local movement amount selected from the above is set as the image movement amount at that level.
上記特徴点抽出手段は、上記複数レベルの画像データのそれぞれ毎に、1つの画像データから上記特徴点を複数抽出し、
上記第2の画像移動量検出手段は、上記最下層レベル以外の各レベルの画像について、上記特徴点抽出手段により抽出された複数の特徴点のそれぞれ毎に局所的な画像移動量を求め、当該求めた複数の画像移動量の全部または一部を用いて所定の演算を行うことによって算出した1つの局所移動量をそのレベルでの画像移動量とすることを特徴とする請求項2に記載の手振れ補正装置。
The feature point extracting means extracts a plurality of feature points from one image data for each of the plurality of levels of image data,
The second image movement amount detection means obtains a local image movement amount for each of a plurality of feature points extracted by the feature point extraction means for an image at each level other than the lowest level. The one local movement amount calculated by performing a predetermined operation using all or a part of the plurality of obtained image movement amounts is set as the image movement amount at that level. Camera shake correction device.
上記特徴点抽出手段は、上記複数レベルの画像データのそれぞれ毎に、上記1つの画像データに対して所定サイズの分割ブロック単位で隣接ピクセル差分積算演算を行い、得られた差分積算データに対して、中央値に大きな重みをかけるとともに周囲値に小さな重みをかけるように係数が設定された所定サイズのフィルタの走査処理を1回以上行い、それにより得られたデータ値の大きいブロックから順に、対応する座標を複数の特徴点として抽出することを特徴とする請求項3または4に記載の手振れ補正装置。The feature point extracting means performs, for each of the plurality of levels of image data, an adjacent pixel difference integration operation on the one image data in divided block units of a predetermined size. , A filter of a predetermined size in which coefficients are set so as to apply a large weight to the median value and a small weight to the surrounding value is subjected to scanning processing at least once, and the corresponding blocks are sequentially processed in descending order of the data value. The camera shake correction apparatus according to claim 3, wherein coordinates to be extracted are extracted as a plurality of feature points. 撮像手段により一定時間内に撮像して生成された複数の画像データのうち少なくとも1つの基準画像データとそれ以外の1以上の画像データとの相互相関をとることにより、上記1以上の画像データ毎に上記基準画像データに対する画像移動量を求める画像移動量検出手段と、
上記基準画像データとそれ以外の上記1以上の画像データとを、上記画像移動量検出手段により求められた画像移動量の分だけそれぞれずらして合成する画像合成手段とを備えたことを特徴とする手振れ補正装置。
By performing cross-correlation between at least one reference image data and at least one other image data among a plurality of image data generated and imaged within a predetermined time by an imaging unit, each of the at least one image data is obtained. Image moving amount detecting means for calculating the image moving amount with respect to the reference image data,
Image synthesizing means for synthesizing the reference image data and the other one or more pieces of image data by shifting the image data by the image moving amount obtained by the image moving amount detecting means. Camera shake correction device.
上記撮像手段の撮像により生成された複数の画像データのうち少なくとも1つの基準画像データから所定の条件を満たす特徴点を抽出する特徴点抽出手段を備え、
上記画像移動量検出手段は、上記基準画像データ上では上記特徴点抽出手段により抽出された特徴点の周囲に所定サイズの参照ブロックを設定し、それ以外の上記1以上の画像データ上では上記特徴点に相当する位置の周囲に上記参照ブロックより大きい所定サイズの走査ブロックを設定し、上記参照ブロックの画像データと上記走査ブロックの画像データとの相互相関をとることによって上記画像移動量を求めることを特徴とする請求項6に記載の手振れ補正装置。
A feature point extraction unit that extracts a feature point that satisfies a predetermined condition from at least one reference image data among a plurality of image data generated by the imaging unit;
The image movement amount detection means sets a reference block of a predetermined size around the feature point extracted by the feature point extraction means on the reference image data, and sets the feature block on the one or more other image data. Setting a scan block of a predetermined size larger than the reference block around a position corresponding to a point, and obtaining the image movement amount by cross-correlating the image data of the reference block and the image data of the scan block; The camera shake correction apparatus according to claim 6, wherein:
撮像手段により一定時間内に撮像して生成された複数の画像データを入力し、当該入力したそれぞれの画像データについて、画像を1段階または2段階以上に亘って縮小することにより、元画像も含めて複数レベルの画像データを生成する画像縮小ステップと、
上記入力した複数の画像データのうち少なくとも1つを基準画像データとし、これを縮小して生成された基準縮小画像データと上記基準画像データとを含む複数レベルの画像データのそれぞれ毎に、当該画像中から所定の条件を満たす特徴点を抽出する特徴点抽出ステップと、
上記複数レベルの画像データの最下層レベルから最上層レベルに向かって順に、上記基準画像データとそれ以外の画像データとの相互相関および上記基準縮小画像データとそれ以外の縮小画像データとの相互相関をとることにより各レベルでの画像移動量を求め、上記最下層レベル以外のレベルで上記画像移動量を求める際には、自身より下層レベルで求められた画像移動量の分だけ上記特徴点に相当する位置からずれた位置の周囲に、相互相関をとる際の走査対象とする所定サイズの走査ブロックを設定して上記画像移動量を求め、上記最上層レベルで求めた画像移動量を最終的な画像移動量として出力する画像移動量検出ステップと、
上記入力した最上層レベルにおける上記基準画像データとそれ以外の画像データとを上記最終的な画像移動量の分だけずらして合成する画像合成ステップとを有することを特徴とする手振れ補正方法。
By inputting a plurality of image data generated by imaging within a certain time by the imaging means, and reducing the image of each of the input image data in one or more stages, including the original image, An image reduction step of generating multi-level image data by
At least one of the plurality of input image data is set as reference image data, and each of a plurality of levels of image data including the reference reduced image data generated by reducing the reference image data and the reference image data is referred to as an image. A feature point extracting step of extracting a feature point satisfying a predetermined condition from among them;
The cross-correlation between the reference image data and other image data and the cross-correlation between the reference reduced image data and other reduced image data in order from the lowest level to the highest level of the plurality of levels of image data. By calculating the image movement amount at each level by taking the above, when obtaining the image movement amount at a level other than the lowest level, the feature points by the amount of the image movement calculated at the lower level than itself A scanning block of a predetermined size to be scanned when cross-correlation is set around the position shifted from the corresponding position to obtain the image moving amount, and the image moving amount obtained at the uppermost layer level is finally calculated. Image movement amount detection step of outputting as a large image movement amount;
An image synthesizing step of synthesizing the input reference image data and the other image data at the uppermost layer level by shifting by the final image movement amount.
上記特徴点抽出ステップでは、上記複数レベルの画像データのそれぞれ毎に、1つの画像データから上記特徴点を複数抽出し、
上記画像移動量検出ステップでは、上記最下層レベル以外の各レベルの画像について、上記複数の特徴点のそれぞれ毎に局所的な画像移動量を求め、その中から選択した1つの局所移動量をそのレベルでの画像移動量とすることを特徴とする請求項8に記載の手振れ補正方法。
In the feature point extracting step, a plurality of feature points are extracted from one image data for each of the plurality of levels of image data,
In the image moving amount detecting step, a local image moving amount is obtained for each of the plurality of feature points for an image at each level other than the lowest level, and one local moving amount selected from the image moving amounts is determined. 9. The method according to claim 8, wherein the image movement amount is a level.
上記特徴点抽出ステップでは、上記複数レベルの画像データのそれぞれ毎に、1つの画像データから上記特徴点を複数抽出し、
上記画像移動量検出ステップでは、上記最下層レベル以外の各レベルの画像について、上記複数の特徴点のそれぞれ毎に局所的な画像移動量を求め、当該求めた複数の画像移動量の全部または一部を用いて所定の演算を行うことによって算出した1つの局所移動量をそのレベルでの画像移動量とすることを特徴とする請求項8に記載の手振れ補正方法。
In the feature point extracting step, a plurality of feature points are extracted from one image data for each of the plurality of levels of image data,
In the image moving amount detecting step, a local image moving amount is obtained for each of the plurality of feature points for an image at each level other than the lowest level, and all or one of the obtained image moving amounts is obtained. 9. The camera shake correction method according to claim 8, wherein one local movement amount calculated by performing a predetermined operation using the unit is used as an image movement amount at that level.
上記特徴点抽出ステップでは、上記複数レベルの画像データのそれぞれ毎に、上記1つの画像データに対して所定サイズの分割ブロック単位で隣接ピクセル差分積算演算を行い、得られた差分積算データに対して、中央値に大きな重みをかけるとともに周囲値に小さな重みをかけるように係数が設定された所定サイズのフィルタの走査処理を1回以上行い、それにより得られたデータ値の大きいブロックから順に、対応する座標を複数の特徴点として抽出することを特徴とする請求項9または10に記載の手振れ補正方法。In the feature point extracting step, for each of the plurality of levels of image data, adjacent pixel difference integration calculation is performed on the one image data in units of divided blocks of a predetermined size. , A filter of a predetermined size in which coefficients are set so as to apply a large weight to the median value and a small weight to the surrounding value is subjected to scanning processing at least once, and the corresponding blocks are sequentially processed in descending order of the data value. 11. The method according to claim 9, wherein coordinates to be extracted are extracted as a plurality of feature points. 撮像手段により一定時間内に撮像して生成された複数の画像データのうち少なくとも1つの基準画像データとそれ以外の1以上の画像データとの相互相関をとることにより、上記1以上の画像データ毎に上記基準画像データに対する画像移動量を求める画像移動量検出ステップと、
上記基準画像データとそれ以外の上記1以上の画像データとを上記画像移動量の分だけそれぞれずらして合成する画像合成ステップとを有することを特徴とする手振れ補正方法。
By performing cross-correlation between at least one reference image data and at least one other image data among a plurality of image data generated and imaged within a predetermined time by an imaging unit, each of the at least one image data is obtained. An image moving amount detecting step of obtaining an image moving amount with respect to the reference image data;
An image synthesizing step of synthesizing the reference image data and the other one or more pieces of image data by shifting the image data by the image moving amount.
撮像手段により一定時間内に撮像して生成された複数の画像データのそれぞれについて、画像を1段階または2段階以上に亘って縮小することにより、元画像も含めて複数レベルの画像データを生成する画像縮小手段と、
上記撮像手段の撮像により生成された複数の画像データのうち少なくとも1つの基準画像データおよびこれから上記画像縮小手段により生成された基準縮小画像データを含む複数レベルの画像データのそれぞれ毎に、当該画像中から所定の条件を満たす特徴点を抽出する特徴点抽出手段と、
上記画像縮小手段により生成された複数レベルの画像データの最下層レベルから最上層レベルに向かって順に、上記特徴点抽出手段により抽出された特徴点を利用して、基準画像とそれ以外の画像との相互相関をとることによって画像移動量を求める画像移動量検出手段とを備えたことを特徴とする手振れ検出装置。
For each of a plurality of image data generated and imaged within a certain period of time by the imaging means, the image is reduced by one or more stages to generate a plurality of levels of image data including the original image. Image reduction means;
For each of a plurality of levels of image data including at least one reference image data among the plurality of image data generated by the imaging means and the reference reduced image data generated by the image reduction means from the image data, Feature point extracting means for extracting feature points satisfying a predetermined condition from
In order from the lowest level to the highest level of the multi-level image data generated by the image reducing means, using the feature points extracted by the feature point extracting means, a reference image and other images are used. A camera shake detection device comprising: an image movement amount detecting unit that obtains an image movement amount by calculating a cross-correlation of the image movement amount.
上記画像移動量検出手段は、上記画像縮小手段により生成された最下層レベルの縮小画像について、上記基準縮小画像データとそれ以外の縮小画像データとの相互相関をとることによって上記最下層レベルでの画像移動量を求める第1の画像移動量検出手段と、
上記最下層レベル以外の各レベルの画像について、上記基準画像データおよび上記基準縮小画像データ上では上記特徴点抽出手段により抽出された特徴点の周囲に所定サイズの参照ブロックを設定し、それ以外の画像データ上では上記特徴点に相当する位置から下層レベルで求められた画像移動量の分だけずれた位置の周囲に上記参照ブロックより大きい所定サイズの走査ブロックを設定し、上記参照ブロックの画像データと上記走査ブロックの画像データとの相互相関をとることによって各レベルでの画像移動量を求め、上記最上層レベルで求めた画像移動量を最終的な画像移動量として出力する第2の画像移動量検出手段とを備えたことを特徴とする請求項13に記載の手振れ検出装置。
The image movement amount detecting means performs cross-correlation between the reference reduced image data and other reduced image data with respect to the reduced image at the lowest level generated by the image reducing means, thereby obtaining the image at the lowest level. First image movement amount detection means for obtaining an image movement amount;
For each level image other than the lowest level, a reference block of a predetermined size is set around the feature points extracted by the feature point extraction means on the reference image data and the reference reduced image data, and On the image data, a scan block of a predetermined size larger than the reference block is set around a position shifted from the position corresponding to the feature point by the amount of image movement obtained at the lower level, and the image data of the reference block is set. And the image data of the scanning block are cross-correlated to determine an image movement amount at each level, and a second image movement to output the image movement amount obtained at the uppermost level as a final image movement amount 14. The camera shake detection device according to claim 13, further comprising an amount detection unit.
上記特徴点抽出手段は、上記複数レベルの画像データのそれぞれ毎に、1つの画像データから上記特徴点を複数抽出し、
上記第2の画像移動量検出手段は、上記最下層レベル以外の各レベルの画像について、上記特徴点抽出手段により抽出された複数の特徴点のそれぞれ毎に局所的な画像移動量を求め、その中から選択した1つの局所移動量をそのレベルでの画像移動量とすることを特徴とする請求項14に記載の手振れ検出装置。
The feature point extracting means extracts a plurality of feature points from one image data for each of the plurality of levels of image data,
The second image movement amount detection means obtains a local image movement amount for each of a plurality of feature points extracted by the feature point extraction means for an image at each level other than the lowest level. 15. The camera shake detection apparatus according to claim 14, wherein one local movement amount selected from the above is set as the image movement amount at that level.
上記特徴点抽出手段は、上記複数レベルの画像データのそれぞれ毎に、1つの画像データから上記特徴点を複数抽出し、
上記第2の画像移動量検出手段は、上記最下層レベル以外の各レベルの画像について、上記特徴点抽出手段により抽出された複数の特徴点のそれぞれ毎に局所的な画像移動量を求め、当該求めた複数の画像移動量の全部または一部を用いて所定の演算を行うことによって算出した1つの局所移動量をそのレベルでの画像移動量とすることを特徴とする請求項14に記載の手振れ検出装置。
The feature point extracting means extracts a plurality of feature points from one image data for each of the plurality of levels of image data,
The second image movement amount detection means obtains a local image movement amount for each of a plurality of feature points extracted by the feature point extraction means for an image at each level other than the lowest level. The one local movement amount calculated by performing a predetermined operation using all or a part of the plurality of obtained image movement amounts is set as the image movement amount at that level. Camera shake detection device.
上記特徴点抽出手段は、上記複数レベルの画像データのそれぞれ毎に、上記1つの画像データに対して所定サイズの分割ブロック単位で隣接ピクセル差分積算演算を行い、得られた差分積算データに対して、中央値に大きな重みをかけるとともに周囲値に小さな重みをかけるように係数が設定された所定サイズのフィルタの走査処理を1回以上行い、それにより得られたデータ値の大きいブロックから順に、対応する座標を複数の特徴点として抽出することを特徴とする請求項15または16に記載の手振れ検出装置。The feature point extracting means performs, for each of the plurality of levels of image data, an adjacent pixel difference integration operation on the one image data in divided block units of a predetermined size. , A filter of a predetermined size in which coefficients are set so as to apply a large weight to the median value and a small weight to the surrounding value is subjected to scanning processing at least once, and the corresponding blocks are sequentially processed in descending order of the data value. 17. The camera shake detection device according to claim 15, wherein coordinates to be extracted are extracted as a plurality of feature points.
JP2003138436A 2003-05-16 2003-05-16 Device and method for correcting camera-shake and device for detecting camera shake Pending JP2004343483A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003138436A JP2004343483A (en) 2003-05-16 2003-05-16 Device and method for correcting camera-shake and device for detecting camera shake

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003138436A JP2004343483A (en) 2003-05-16 2003-05-16 Device and method for correcting camera-shake and device for detecting camera shake

Publications (2)

Publication Number Publication Date
JP2004343483A true JP2004343483A (en) 2004-12-02
JP2004343483A5 JP2004343483A5 (en) 2006-06-22

Family

ID=33527806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003138436A Pending JP2004343483A (en) 2003-05-16 2003-05-16 Device and method for correcting camera-shake and device for detecting camera shake

Country Status (1)

Country Link
JP (1) JP2004343483A (en)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122721A (en) * 2003-09-25 2005-05-12 Fuji Photo Film Co Ltd Image processing method, device, and program
WO2006101032A1 (en) * 2005-03-24 2006-09-28 Mitsubishi Denki Kabushiki Kaisha Image motion vector detecting device
JP2007049545A (en) * 2005-08-11 2007-02-22 Casio Comput Co Ltd Image composing apparatus, image composing method, and program
WO2007032148A1 (en) * 2005-09-15 2007-03-22 Nittoh Kogaku K.K Image processor
JP2007116302A (en) * 2005-10-19 2007-05-10 Acutelogic Corp Shake detection device and method
JP2007134788A (en) * 2005-11-08 2007-05-31 Casio Comput Co Ltd Image processing apparatus and program
WO2007063675A1 (en) * 2005-11-30 2007-06-07 Nikon Corporation Image processing method, image processing program, image processing device, and imaging device
JP2007274029A (en) * 2006-03-30 2007-10-18 Casio Comput Co Ltd Hand shake correction device, method and program
JP2007281548A (en) * 2006-04-03 2007-10-25 Samsung Techwin Co Ltd Imaging apparatus and method
JP2008003674A (en) * 2006-06-20 2008-01-10 Mitsubishi Electric Corp Motion vector detection device
WO2008023466A1 (en) * 2006-08-24 2008-02-28 Mitsubishi Electric Corporation Moving vector detecting bdevice
JP2008102659A (en) * 2006-10-18 2008-05-01 Matsushita Electric Ind Co Ltd Motion detection method and motion detector
WO2008065764A1 (en) * 2006-11-30 2008-06-05 Mitsubishi Electric Corporation Motion vector detecting device
WO2008084670A1 (en) * 2006-12-26 2008-07-17 Nittoh Kogaku K.K Signal processing device
JP2008234261A (en) * 2007-03-20 2008-10-02 Kyushu Institute Of Technology Object detection method
JP2009071821A (en) * 2007-09-11 2009-04-02 Samsung Electronics Co Ltd Image-registration method and apparatus
JP2009140149A (en) * 2007-12-05 2009-06-25 Kddi Corp Information terminal equipment
WO2009110184A1 (en) * 2008-03-04 2009-09-11 日東光学株式会社 Method of creating data relating to change factor information and signal processor
US7729543B2 (en) 2006-08-08 2010-06-01 Fujitsu Limited Imaging apparatus
JP2010152819A (en) * 2008-12-26 2010-07-08 Fujifilm Corp Image processing device, method and program
US7809251B2 (en) 2005-02-25 2010-10-05 Canon Kabushiki Kaisha Information recording/reproduction apparatus
JP2011504266A (en) * 2007-11-12 2011-02-03 クゥアルコム・インコーポレイテッド Block-based image stabilization
US8009872B2 (en) 2006-02-01 2011-08-30 Sony Corporation Taken-image signal-distortion compensation method, taken-image signal-distortion compensation apparatus, image taking method and image-taking apparatus
US8085848B2 (en) 2005-12-01 2011-12-27 Sony Corporation Image processing apparatus and image processing method
JP2012022654A (en) * 2010-07-16 2012-02-02 Canon Inc Image processing apparatus, image processing method and program
JP2012085347A (en) * 2008-05-16 2012-04-26 Casio Comput Co Ltd Photographic device and program
JP2012138905A (en) * 2010-12-23 2012-07-19 Samsung Electronics Co Ltd Digital image stabilizer and stabilization method
US8401333B2 (en) 2005-06-08 2013-03-19 Fujitsu Limited Image processing method and apparatus for multi-resolution feature based image registration
WO2013105381A1 (en) * 2012-01-10 2013-07-18 コニカミノルタ株式会社 Image processing method, image processing apparatus, and image processing program
US8711230B2 (en) 2008-05-16 2014-04-29 Casio Computer Co., Ltd. Image capture apparatus and program
JP2019101977A (en) * 2017-12-07 2019-06-24 キヤノン株式会社 Image processing device, imaging apparatus, image processing method, and program
JP2021524960A (en) * 2018-05-31 2021-09-16 アリババ グループ ホウルディング リミテッド Methods and equipment for removing video jitter

Cited By (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4515208B2 (en) * 2003-09-25 2010-07-28 富士フイルム株式会社 Image processing method, apparatus, and program
JP2005122721A (en) * 2003-09-25 2005-05-12 Fuji Photo Film Co Ltd Image processing method, device, and program
US7809251B2 (en) 2005-02-25 2010-10-05 Canon Kabushiki Kaisha Information recording/reproduction apparatus
WO2006101032A1 (en) * 2005-03-24 2006-09-28 Mitsubishi Denki Kabushiki Kaisha Image motion vector detecting device
KR100901945B1 (en) 2005-03-24 2009-06-10 미쓰비시덴키 가부시키가이샤 Image motion vector detecting device
US8401333B2 (en) 2005-06-08 2013-03-19 Fujitsu Limited Image processing method and apparatus for multi-resolution feature based image registration
JP2007049545A (en) * 2005-08-11 2007-02-22 Casio Comput Co Ltd Image composing apparatus, image composing method, and program
JP4640032B2 (en) * 2005-08-11 2011-03-02 カシオ計算機株式会社 Image composition apparatus, image composition method, and program
CN101305598B (en) * 2005-09-15 2011-04-06 日东光学株式会社 Image processing apparatus and method
WO2007032148A1 (en) * 2005-09-15 2007-03-22 Nittoh Kogaku K.K Image processor
JP2007116302A (en) * 2005-10-19 2007-05-10 Acutelogic Corp Shake detection device and method
JP4644582B2 (en) * 2005-10-19 2011-03-02 富士通セミコンダクター株式会社 Blur detection apparatus and method
JP2007134788A (en) * 2005-11-08 2007-05-31 Casio Comput Co Ltd Image processing apparatus and program
JP5082856B2 (en) * 2005-11-30 2012-11-28 株式会社ニコン Image processing method, image processing program, image processing apparatus, and imaging apparatus
US8526680B2 (en) 2005-11-30 2013-09-03 Nikon Corporation Image processing method, image processing program, image processing device, and imaging device
WO2007063675A1 (en) * 2005-11-30 2007-06-07 Nikon Corporation Image processing method, image processing program, image processing device, and imaging device
EP2204772A1 (en) * 2005-11-30 2010-07-07 Nikon Corporation Image processing method, image processing program, image processing device, and imaging device
KR101287482B1 (en) 2005-12-01 2013-07-18 소니 가부시키가이샤 Image processing apparatus and image processing method
US8085848B2 (en) 2005-12-01 2011-12-27 Sony Corporation Image processing apparatus and image processing method
USRE45231E1 (en) 2006-02-01 2014-11-04 Sony Corporation Taken-image signal-distortion compensation method, taken-image signal-distortion compensation apparatus, image taking method and image-taking apparatus
US8009872B2 (en) 2006-02-01 2011-08-30 Sony Corporation Taken-image signal-distortion compensation method, taken-image signal-distortion compensation apparatus, image taking method and image-taking apparatus
JP2007274029A (en) * 2006-03-30 2007-10-18 Casio Comput Co Ltd Hand shake correction device, method and program
JP2007281548A (en) * 2006-04-03 2007-10-25 Samsung Techwin Co Ltd Imaging apparatus and method
JP2008003674A (en) * 2006-06-20 2008-01-10 Mitsubishi Electric Corp Motion vector detection device
US7729543B2 (en) 2006-08-08 2010-06-01 Fujitsu Limited Imaging apparatus
WO2008023466A1 (en) * 2006-08-24 2008-02-28 Mitsubishi Electric Corporation Moving vector detecting bdevice
JP2008102659A (en) * 2006-10-18 2008-05-01 Matsushita Electric Ind Co Ltd Motion detection method and motion detector
JP4702256B2 (en) * 2006-10-18 2011-06-15 パナソニック株式会社 Motion detection method and motion detection apparatus
WO2008065764A1 (en) * 2006-11-30 2008-06-05 Mitsubishi Electric Corporation Motion vector detecting device
WO2008084670A1 (en) * 2006-12-26 2008-07-17 Nittoh Kogaku K.K Signal processing device
JP4718618B2 (en) * 2006-12-26 2011-07-06 日東光学株式会社 Signal processing device
JPWO2008084670A1 (en) * 2006-12-26 2010-04-30 日東光学株式会社 Signal processing device
JP2008234261A (en) * 2007-03-20 2008-10-02 Kyushu Institute Of Technology Object detection method
JP2009071821A (en) * 2007-09-11 2009-04-02 Samsung Electronics Co Ltd Image-registration method and apparatus
US8600189B2 (en) 2007-11-12 2013-12-03 Qualcomm Incorporated Block-based image stabilization
JP2011504266A (en) * 2007-11-12 2011-02-03 クゥアルコム・インコーポレイテッド Block-based image stabilization
JP2009140149A (en) * 2007-12-05 2009-06-25 Kddi Corp Information terminal equipment
JP2009211337A (en) * 2008-03-04 2009-09-17 Nittoh Kogaku Kk Method for creating data of change factor information, and signal processor
WO2009110184A1 (en) * 2008-03-04 2009-09-11 日東光学株式会社 Method of creating data relating to change factor information and signal processor
US8711230B2 (en) 2008-05-16 2014-04-29 Casio Computer Co., Ltd. Image capture apparatus and program
JP2012085347A (en) * 2008-05-16 2012-04-26 Casio Comput Co Ltd Photographic device and program
US8620085B2 (en) 2008-12-26 2013-12-31 Fujifilm Corporation Image processing apparatus, image processing method, and image processing program
JP2010152819A (en) * 2008-12-26 2010-07-08 Fujifilm Corp Image processing device, method and program
JP2012022654A (en) * 2010-07-16 2012-02-02 Canon Inc Image processing apparatus, image processing method and program
US9667841B2 (en) 2010-07-16 2017-05-30 Canon Kabushiki Kaisha Image processing apparatus and image processing method
JP2012138905A (en) * 2010-12-23 2012-07-19 Samsung Electronics Co Ltd Digital image stabilizer and stabilization method
WO2013105381A1 (en) * 2012-01-10 2013-07-18 コニカミノルタ株式会社 Image processing method, image processing apparatus, and image processing program
JPWO2013105381A1 (en) * 2012-01-10 2015-05-11 コニカミノルタ株式会社 Image processing method, image processing apparatus, and image processing program
US9542733B2 (en) 2012-01-10 2017-01-10 Konica Minolta, Inc. Image processing method, imaging processing apparatus and image processing program for correcting density values between at least two images
JP2019101977A (en) * 2017-12-07 2019-06-24 キヤノン株式会社 Image processing device, imaging apparatus, image processing method, and program
JP7157526B2 (en) 2017-12-07 2022-10-20 キヤノン株式会社 IMAGE PROCESSING DEVICE, IMAGING DEVICE, IMAGE PROCESSING METHOD, AND PROGRAM
JP2021524960A (en) * 2018-05-31 2021-09-16 アリババ グループ ホウルディング リミテッド Methods and equipment for removing video jitter
JP7383642B2 (en) 2018-05-31 2023-11-20 アリババ グループ ホウルディング リミテッド Method and apparatus for removing video jitter

Similar Documents

Publication Publication Date Title
JP2004343483A (en) Device and method for correcting camera-shake and device for detecting camera shake
JP5398156B2 (en) WHITE BALANCE CONTROL DEVICE, ITS CONTROL METHOD, AND IMAGING DEVICE
US7683964B2 (en) Image capturing apparatus and image capturing method
JP4762089B2 (en) Image composition apparatus and method, and imaging apparatus
KR101303410B1 (en) Image capture apparatus and image capturing method
US20100053349A1 (en) Imaging Apparatus and Imaging Method
JP5643563B2 (en) Image processing apparatus and control method thereof
US20060187324A1 (en) Reduction of motion-induced blur in images
JP2010020758A (en) Image processing apparatus, imaging apparatus, image processing method and program
JP5612017B2 (en) Camera shake reduction system
JP3974634B2 (en) Imaging apparatus and imaging method
JP2008078945A (en) Imaging apparatus with blurring correction function, blurring correction method, and blurring correction processing program
JP2005252626A (en) Image pickup device and image processing method
JP6495122B2 (en) Imaging apparatus and image processing method
JP2009177472A (en) Image processing method, image processor and imaging device
JP5848662B2 (en) Image processing apparatus and control method thereof
JP2018107526A (en) Image processing device, imaging apparatus, image processing method and computer program
JP4735978B2 (en) Image processing apparatus, image processing method, and program
US11044396B2 (en) Image processing apparatus for calculating a composite ratio of each area based on a contrast value of images, control method of image processing apparatus, and computer-readable storage medium
JP6157274B2 (en) Imaging apparatus, information processing method, and program
JP6245847B2 (en) Image processing apparatus and image processing method
TWI390454B (en) Shaking detection device and method
JP5541956B2 (en) Image composition method, image composition program, and image composition apparatus
US11375110B2 (en) Image processing apparatus, image pickup apparatus, image processing method, and non-transitory computer-readable storage medium
JP5307572B2 (en) Imaging system, video signal processing program, and imaging method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060509

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060509

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20060705

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20060724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070403