JP3865126B2 - Image processing apparatus and method, recording medium, and program - Google Patents

Image processing apparatus and method, recording medium, and program Download PDF

Info

Publication number
JP3865126B2
JP3865126B2 JP2002034876A JP2002034876A JP3865126B2 JP 3865126 B2 JP3865126 B2 JP 3865126B2 JP 2002034876 A JP2002034876 A JP 2002034876A JP 2002034876 A JP2002034876 A JP 2002034876A JP 3865126 B2 JP3865126 B2 JP 3865126B2
Authority
JP
Japan
Prior art keywords
correction amount
image
correction
vibration
unit
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.)
Expired - Fee Related
Application number
JP2002034876A
Other languages
Japanese (ja)
Other versions
JP2003234951A (en
Inventor
雅也 木下
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2002034876A priority Critical patent/JP3865126B2/en
Publication of JP2003234951A publication Critical patent/JP2003234951A/en
Application granted granted Critical
Publication of JP3865126B2 publication Critical patent/JP3865126B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、ユーザの手振れなどに起因する画像のずれをより精度良く補正し、ブレのない画像をユーザに提供するために用いて好適な画像処理装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
動画像や静止画像を撮像し、記録するビデオカメラやスチルカメラが普及し、さまざまな場面で利用されている。家庭用のビデオカメラやスチルカメラは、小型化、軽量化、高性能化している。小型化や軽量化が進むと、使い勝手は良くなるが、ユーザの手振れなどが発生しやすくなるといった問題があった。また、高性能化が進み、ズームなどの機能が充実すると、ズームしたときには、ズームしないときに比べて手振れの影響が大きく出てしまうといった問題があった。
【0003】
そのような問題を解決する方法として、例えば、図1(A)に示すように、撮像する撮像領域1を、ディスクなどの記録媒体に実際に撮像された画像として記録する画像の記録領域2よりも大きい領域として処理する方法がある。この方法では、撮像領域1に撮像されている画像から、記録領域2内の画像を切り出し、その切り出された画像を記録する。撮像領域1からどの領域を記録領域2として切り出すかは、検出された手振れの大きさを考慮した補正量を算出し、その補正量を用いて行われる。
【0004】
時刻tにおいて切り出された記録領域2が図1(A)に示したような状態のとき、次の時刻t+1において、図1(B)に示すように、水平方向の補正量3−1と垂直方向の補正量3−2が算出されると、その補正量3−1,3−2だけ移動された領域が、時刻t+1での記録領域2として切り出される。補正量3−1,3−2は、露光期間の中心の時刻に得られたデータが用いられて算出される。
【0005】
補正値の算出について説明する。ビデオカメラなどには、手振れを検出するための、例えば、角速度センサが設けられている。その角速度センサからの手振れ信号は連続的に出力されている。連続的に出力されている信号は、例えば、VDパルスの1パルスのうちに、8回のタイミングでサンプリングされる。そのサンプリングされた信号を用いた演算が行なわれることにより、手振れによる影響を低減させるための補正量が算出される。
【0006】
算出された補正量のうち、露光期間の中心に近いタイミングで得られた補正量のみが画像の切り出しに用いられる補正量とされる。これは、露光期間中も手振れ信号は、刻々と変化しているため理想的なサンプリングポイントは、露光期間の中でも刻々と異なってしまい、そのような状態の時、全露光期間にわたって、各ポイントからの誤差が最小となるのは、露光期間の中心位置での補正量であるということに基づく。
【0007】
このように、1フィールドあたりN回の定められたタイミング(A/Dタイミング)で、センサから得られる手振れ信号がサンプリングされ、このサンプリングの結果得られた信号が用いられた演算が行われたN個の演算結果から、シャッタスピードの露光期間の中心位置に最も近いタイミングに位置する演算結果が、そのフィールドの補正量として用いられる。
【0008】
しかしながら、手振れを補正するための補正量は、シャッタスピードに応じた露光期間の中心のタイミングに得られるものが用いられるが、必ずしも、露光期間の中心のタイミングで得られるものが用いられるとは限らなかった。露光期間の中心のタイミングで得られるものが用いられない場合、画像にぼけが生じるなど性能の悪化をまねいてしまう。
【0009】
このような問題は、主に、補正量が算出されるタイミングが、露光期間の中心からずれているために生じるため、できる限り、露光期間の中心のタイミングで得られる手振れ信号から補正量が算出されるような方法が提案されている。例えば、センサなどから得られる手振れ信号に対して露光期間の中心のタイミングを調整してサンプリングを行うようにする方法(露光期間に対応してサンプリングタイミングを変化させる方法)が提案されている。
【0010】
また他の方法としては、露光期間の中心位置と、複数のサンプリング信号との関係を予め記憶しておき、その記憶されている関係から、最もそのときの状況に適しているサンプリング信号を抽出し、そのサンプリング信号に基づくサンプリングを行うことにより補正量を算出する方法が提案されている。
【0011】
【発明が解決しようとする課題】
上述した方法は、露光期間の中心位置で取得された信号を基に算出される補正量で、補正処理を行うことが一番性能良く手振れを補正できるという前提に基づいている。ところで、補正量を算出するまでのシステムには、さまざまなフィルタなどが含まれており、そのシステムの伝達関数に関する周波数特性が存在する。しかしながら、補正量を算出する際、このシステムにおける周波数特性については考慮されておらず、周波数特性を考慮しないために、性能良く手振れの補正処理を実行できないといった問題があった。
【0012】
補正量を算出する処理に関わるシステムとしては、例えば、図2に示すように、手振れを検出する手振れセンサ301、手振れセンサ301により取得された手振れ信号に対してアナログ的な処理を施すアナログ回路302、アナログ的な処理が施された手振れ信号に対して、デジタル的な処理を施すマイクロコンピュータ303などである。マイクロコンピュータ303は、アナログ信号をデジタル信号に変換するA/D変換部304と、A/D変換部304からのデジタル信号に対して処理を施すデジタル回路305から構成されている。
【0013】
アナログ回路302は、例えば、ローパスフィルタ(LPF)、ハイパスフィルタ(HPF)、アンプなどが組み込まれている。また、デジタル回路305にも、必要に応じフィルタなどが組み込まれている。ここで、手振れセンサ301、アナログ回路302、およびマイクロコンピュータ303の、それぞれの伝達関数を、G1(f)、G2(f)、およびG3(f)とすると、補正量を算出するために関わるブロックの伝達関数G(f)は、
G(f)=G1(f)×G2(f)×G3(f)
で表される。
【0014】
図2に示したような補正量を算出するためのブロックを有するビデオカメラなどのシステムは、上記した伝達関数G(f)で表される周波数特性をもつ。例えば、伝達関数G(f)により、ゲインに対しては、図3(A)に示すような、位相(Phase)に対しては、図3(B)に示すような特性を持つ。
【0015】
このような周波数特性のために、検出された手振れ信号と、その手振れ信号を用いて算出された補正量との間には、周波数特性分だけズレを生じてしまう。即ち、どちらか一方が進む、または遅れてしまう。また、信号に係るゲインも周波数に応じて変動してしまうことになる。このようなことを抑制するためには、必要とされる周波数帯域における周波数特性が、フラットになるように設計すればよいが、そのような設計は困難であるという問題があった。
【0016】
補正量を求める為のブロックに、上述したような周波数特性が存在するため、算出された補正量にも、その周波数特性の影響は出てしまう。図4は、算出された補正量を用いたときに、どれだけ補正が効果的に行われたかを示す補正効果と、周波数との関係を示した図である。周波数により補正効果が異なることがわかる。帯域Aは、平均的に発生する手振れの周波数の帯域を示し、帯域Bは、ユーザや、そのユーザの持ち方に依存して発生する手振れの帯域を示し、帯域Cは、車載などの際に発生する手振れの帯域を示す。
【0017】
図4に示したように、手振れが発生する状況により、効果的に補正できる周波数の帯域と、できない帯域とがでてしまう。従って、最も発生しやすい手振れの状況のときに、最も効果的に補正が行えるようにシステムが設計されるため、補正が効果的に行えない帯域が存在してしまうといった問題があった。
【0018】
このことは、全ての帯域において効果的な補正を行うシステムを設計するのは困難であり、例えば、図4に示したような補正性能の周波数特性であったような場合、ユーザ自身の癖や撮影状態、例えば、持ち疲れ、撮影操作時の変則的振動、車や遊園地などの乗り物に乗っている時などの撮影環境によって発生する高周波成分(帯域Bや帯域Cの状態)に対しては、位相回りやゲイン変動の影響で、補正性能が悪化してしまうといった問題があった。
【0019】
本発明はこのような状況に鑑みてなされたものであり、どのような状況で発生した手振れでも、補正性能を悪化することなく補正できるようにすることを目的とする。
【0020】
【課題を解決するための手段】
本発明の画像処理装置は、振動を検出し、振動検出情報を出力する出力手段と、出力手段により出力された振動検出情報をサンプリングするサンプリング手段と、サンプリング手段によりサンプリングされた値に基づいて補正量候補を算出する算出手段と、算出手段により算出された補正量候補に基づいた演算を行うか、または、補正量候補から所定の条件を満たす補正量候補を選択することにより、補正量情報を生成する生成手段と、生成手段により生成された補正量情報に基づいて、撮像素子により撮像された画像から切り出す画像の領域を制御する制御手段と、算出手段により算出された補正量候補に基づいて、振動の周波数成分を推定する推定手段と、周波数成分と修正量が関連付けられたテーブルを記憶する記憶手段と、推定手段により推定された周波数成分に対応する修正量を、記憶手段により記憶されているテーブルから読み出す読み出し手段と、読み出し手段により読み出された修正量に基づき生成手段が補正量情報を生成するために用いる値修正する修正手段とを含むことを特徴とする。
【0021】
前記推定手段は、第1の期間内に算出手段により算出された補正量候補の平均値を算出し、第2の期間内に算出された平均値を用いたFFT演算を行い、その演算結果を用いて振動の周波数成分を推定するようにすることができる。
前記推定手段は、FFT演算の結果、最もレベルが高い値の周波数を振動の周波数成分と推定するようにすることができる。
前記修正手段は、さらに、読み出し手段により読み出された修正量に基づき、算出手段が補正量候補を算出するために用いる値を修正するようにすることができる。
【0022】
前記修正手段は、読み出し手段により読み出された修正量に基づき、生成手段が補正量情報を生成するために用いる値として補正量候補の位相を修正するようにすることができる。
前記修正手段は、読み出し手段により読み出された修正量に基づき、算出手段が補正量候補を算出するために用いる値として振動検出情報のゲインを修正するようにすることができる。
前記修正手段は、読み出し手段により読み出された修正量に基づき、生成手段が補正量情報を生成するために用いる値として補正量候補の位相を修正するようにすることができる。
【0023】
本発明の画像処理方法は、振動に関する振動検出情報をサンプリングするサンプリングステップと、サンプリングステップの処理でサンプリングされた値に基づいて補正量候補を算出する算出ステップと、算出ステップの処理で算出された補正量候補に基づく演算を行うか、または、補正量候補から所定の条件を満たす補正量候補を選択することにより、補正量情報を生成する生成ステップと、生成ステップの処理で生成された補正量情報に基づいて、撮像素子により撮像された画像から切り出す画像の領域を制御する制御ステップと、算出ステップの処理で算出された補正量候補に基づく、振動の周波数成分を推定する推定ステップと、周波数成分と修正量が関連付けられたテーブルの記憶を制御する記憶制御ステップと、推定ステップの処理で推定された周波数成分に対応する修正量を、記憶制御ステップの処理で記憶が制御されたテーブルから読み出す読み出しステップと、読み出しステップの処理で読み出された修正量に基づき生成ステップの処理で補正量情報を生成するために用いる値修正する修正ステップとを含むことを特徴とする。
【0024】
本発明の記録媒体のプログラムは、振動に関する振動検出情報をサンプリングするサンプリングステップと、サンプリングステップの処理でサンプリングされた値に基づいて補正量候補を算出する算出ステップと、算出ステップの処理で算出された補正量候補に基づく演算を行うか、または、補正量候補から所定の条件を満たす補正量候補を選択することにより、補正量情報を生成する生成ステップと、生成ステップの処理で生成された補正量情報に基づいて、撮像素子により撮像された画像から切り出す画像の領域を制御する制御ステップと、算出ステップの処理で算出された補正量候補に基づく、振動の周波数成分を推定する推定ステップと、周波数成分と修正量が関連付けられたテーブルの記憶を制御する記憶制御ステップと、推定ステップの処理で推定された周波数成分に対応する修正量を、記憶制御ステップの処理で記憶が制御されたテーブルから読み出す読み出しステップと、読み出しステップの処理で読み出された修正量に基づき生成ステップの処理で補正量情報を生成するために用いる値修正する修正ステップとを含むことを特徴とする。
【0025】
本発明のプログラムは、画像処理装置を制御するコンピュータに、振動に関する振動検出情報をサンプリングするサンプリングステップと、サンプリングステップの処理でサンプリングされた値に基づいて補正量候補を算出する算出ステップと、算出ステップの処理で算出された補正量候補に基づく演算を行うか、または、補正量候補から所定の条件を満たす補正量候補を選択することにより、補正量情報を生成する生成ステップと、生成ステップの処理で生成された補正量情報に基づいて、撮像素子により撮像された画像から切り出す画像の領域を制御する制御ステップと、算出ステップの処理で算出された補正量候補に基づく、振動の周波数成分を推定する推定ステップと、周波数成分と修正量が関連付けられたテーブルの記憶を制御する記憶制御ステップと、推定ステップの処理で推定された周波数成分に対応する修正量を、記憶制御ステップの処理で記憶が制御されたテーブルから読み出す読み出しステップと、読み出しステップの処理で読み出された修正量に基づき生成ステップの処理で補正量情報を生成するために用いる値修正する修正ステップとを実行させることを特徴とする。
【0026】
本発明の画像処理装置および方法、並びにプログラムにおいては、振動に関する振動検出情報がサンプリングされ、その値に基づいて補正量候補が算出され、補正量候補に基づく演算が行なわれるか、または、補正量候補から所定の条件を満たす補正量候補が選択されることにより、補正量情報が生成され、その補正量情報に基づいて、撮像素子により撮像された画像から切り出す画像の領域が制御され、振動の周波数成分が推定され、その周波数成分に対応する修正量が、周波数成分と修正量が関連付けられたテーブルから読み出され、その修正量に基づき補正量情報が生成されるために用いられる値修正される。
【0027】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照して説明する。図5は、本発明を適用した画像処理装置の一実施の形態の構成を示す図である。図5に示した画像処理装置10は、例えば、ビデオカメラやスチルカメラに備えられる。また、図5に示した画像処理装置10は、記録時(撮影時)において手振れ(振動)を検出し、これを補正することを前提としており、従って、図5には、主に記録に関わるブロックを示している。
【0028】
画像処理装置10の光学撮像部11は、撮像レンズ(不図示)を含む光学系の装置から構成されている。光学撮像部11に入射した光は、CCD(Charge Coupled Device)12により光電変換され、電気信号としてアナログ信号処理部13に出力される。
【0029】
アナログ信号処理部13は、入力された電気信号(アナログ信号)を、デジタル変換するためにサンプリングして保持したり(Sample and Hold)、入力信号の振幅の変動を検出して、出力信号の振幅を一定に保つために増幅の利得を制御するAGC(Automatic Gain Control)を行ったり、そのような処理が行われたアナログ信号をデジタル信号に変換したりといった処理を行う。
【0030】
アナログ信号処理部13により処理され、出力されたデジタル信号は、デジタル信号処理部14に入力される。デジタル信号処理部14にはメモリ15が備えられており、入力されたデジタル信号は、メモリ15に記憶される。デジタル信号処理部14は、メモリ15に記憶したデジタル信号に対して、画像の切り出しや圧縮などの処理を行う。デジタル信号処理部14による処理が終了したデジタル信号は、後段の処理に出力される。後段の処理とは、例えば、ディスク状の記録媒体にデジタル信号を記録するなどである。
【0031】
制御部16は、画像処理装置10内の各部を制御する。制御部16は、レンズ駆動部17にレンズ制御データ101を出力する。レンズ制御データ101は、光学撮像部11に含まれる撮像用レンズを駆動させたり、絞りなどを調節するためのデータである。制御部16は、タイミングジェネレータ18に対してタイミング制御データ102を出力する。タイミング制御データ102は、CCD12により光電変換された電気信号をサンプリングし、アナログ信号処理部13に出力するタイミングを指示するデータである。
【0032】
制御部16は、デジタル信号処理部14に対してカメラ画処理用データ103やメモリ切り出し用制御データ104を出力し、デジタル信号処理部14から検波データ105を入力する。カメラ画処理用データ103は、デジタル信号にされた撮像された画像の処理に用いられるデータであり、例えば、ホワイトバランス調整値などのデータである。メモリ切り出し用制御データ104は、撮像された画像から、どの領域の画像を記録させる画像として切り出すかを指示するデータである。検波データ105は、デジタル信号処理部14に入力された画像の状態に関するデータである。
【0033】
制御部16は、インタフェース制御部19にカメラ制御情報106を出力し、インタフェース制御部19からユーザ指示情報107を入力する。カメラ制御情報106は、被写体までの距離、F値、シャッタスピード、倍率などの情報である。ユーザ指示情報107は、ユーザが指示した撮影モードなどに関する情報である。
【0034】
ユーザインタフェース20は、ユーザが画像処理装置10に対して指示を出す、例えば、撮影モードを設定するなどの操作を行うためのボタンや、ユーザに対して情報を提供(表示)するLCD(Liquid Crystal Display)などから構成されており、ボタンが操作されて指示された情報は、ユーザ指示情報107として制御部16に供給され、制御部16からのカメラ制御情報106に基づいた情報は、LCDに表示される。
【0035】
手振れ補正部21は、手振れなどにより画像処理装置10に加えられた振動を検知し、検知した振動の大きさに対応して、記録される画像に振動の影響を抑制するための補正量情報108を制御部16に出力する。手振れ補正部21は、明るさ制御部22から供給される明るさ情報109も利用して補正量情報108を生成する。
【0036】
図6は、手振れ補正部21の内部構成例を示す図である。手振れセンサ51は、角速度センサなどにより構成され、画像処理装置10に加えられた振動を検出するセンサである。図6には1つの手振れセンサ51しか示さないが、垂直方向の振動を検出するセンサと、水平方向の振動を検出するセンサとは別々に設けられており、図6に示した手振れ補正部21も、それぞれのセンサ毎、すなわち、画像処理装置10には2つの手振れ補正部21が設けられている。ここでは、垂直方向または水平方向に加えられた振動を検出する1系統を例に挙げて説明する。
【0037】
勿論、垂直方向の振動を処理する手振れ補正部21と水平方向の振動を処理する手振れ補正部21で、共用できる部分は共用し、必ずしも各部分を2つ備える必要はない。また、本実施の形態において、手振れセンサ51により処理される振動は、ユーザの手振れによる振動は勿論、画像処理装置10が車載された際に加えられた振動なども含む。
【0038】
手振れセンサ51により検出された振動に関する信号は、A/D変換部52に出力される。A/D変換部52は、入力されたアナログ信号をデジタル信号に変換して高域通過フィルタ53に出力する。A/D変換部52には、必要に応じて、フィルタや増幅部を設けても良い。フィルタとしては、例えば、カットオフ周波数が、手振れセンサ51から出力される手振れ信号の帯域に設定してある帯域通過フィルタなどである。また増幅部は、手振れセンサ51からの信号が微弱であり、後段の処理で処理できる強度まで上げる必要がある場合に備えられる(A/D変換の分解能に合わせる為に必要な場合に備えられる)。
【0039】
高域通過フィルタ53は、入力されたデジタル信号に対して、入力信号に含まれる直流付近の成分(振動には関係のない原因により含まれる成分)を除去するために設けられている。高域通過フィルタ53のカットオフ周波数は、振動に関する信号の成分に対して影響を及ぼすことがない程度の値に設定される。高域通過フィルタ53から出力された信号は、センサゲイン調整部54に入力される。センサゲイン調整部54は、個々の手振れセンサ51やA/D変換部52の性能のバラツキを吸収(補正)するために設けられている。
【0040】
センサゲイン調整部54は、基本的な処理として、入力された信号に対してゲインをかける処理を行う。ゲインは、例えば、画像処理装置10が出荷時に生産ラインで行われる調整により決定(設定)される。これは、同一の手振れセンサ51を用いたとしても、個々の手振れセンサ51で、多少のずれはあるため、予めどの画像処理装置10に対しても同一の値を設定するよりも、生産ライン上で個々の画像処理装置10において調整を行い、センサの感度に応じた値に設定した方が好ましいからである。
【0041】
また、本実施の形態においは、補正量生成部58から出力されるゲイン調整情報121(詳細は後述)も、センサゲイン調整部54に供給される。センサゲイン調整部54は、供給されたゲイン調整情報121を用いて、入力された信号にかけるゲインの値を決定しゲインをかける処理を行う、または、ゲイン調整情報121により決定されたゲインをかける処理を行う。
【0042】
センサゲイン調整部54からの出力は、ズームゲイン調整部55に出力される。光学ズームのW端(低倍率側のズーム)に比べてT端(高倍率側のズーム)ほど大きな補正値が必要であるが、手振れセンサ51から出力される信号は、ズームに依存しない信号のため、ズームゲイン調整部55は、倍率に応じた補正値を乗算し、倍率に適した値を得られるような調整を行う。ズームゲイン調整部55を設けることにより、全ての倍率(全ズーム領域)において、常に適切な補正値を算出することが可能となる。
【0043】
ズームゲイン調整部55から出力された信号は、積分フィルタ56に出力される。例えば、手振れセンサ51が角速度センサで構成される場合、そのセンサから出力される信号は角速度であり、その角速度から、加えられた力(振動)の大きさを求める処理を実行する部分が、積分フィルタ56である。
【0044】
積分フィルタ56からの出力(ここでは、補正量候補Sout[n]とする)は、記憶部57に記憶される。記憶部57は、RAM(Random Access Memory)などの記憶装置から構成される。本実施の形態においては、手振れセンサ51から出力される手振れ信号に対し、1フィールドあたり、8回のサンプリングを実行するとして説明する。1フィールドあたり8回のサンプリングが行われる場合、記憶部57は、積分フィルタ56から出力された8つの補正量候補Sout[0]乃至[7]が少なくとも記憶できる容量を持つ。補正量候補Sout[0]乃至[6]は、Sout[7]より前の時刻で積分フィルタ56より出力された信号である。
【0045】
補正量生成部58は、記憶部57に記憶されている補正量候補Sout[0]乃至[7]の値と、明るさ制御部22から供給される明るさ情報109を用いて、画像処理装置10に加えられた振動の影響を除去するための最終的な補正量を生成する。補正量生成部58における補正量の生成の処理については後述する。また、補正量生成部58は、センサゲイン調整部54に供給するゲイン調整情報121も生成する。生成された補正量に関する補正量情報108は、制御部16に供給される。
【0046】
制御部16に供給される補正量情報108は、垂直方向に関する補正量情報108−1と水平方向に関する補正量情報108−2がある。垂直方向に関する補正量108−1は、タイミング制御データ102としてタイミングジェネレータ18に供給され、水平方向に関する補正量108−2は、メモリ切り出し用制御データ104としてデジタル信号処理部14に供給される。
【0047】
タイミングジェネレータ18は、供給されたタイミング制御データ102に基づき、CCD12からアナログ信号処理部13への信号の出力のタイミングを決定する。すなわち、タイミングジェネレータ18は、垂直方向に関する補正量情報108−1(タイミング制御データ102)に基づいて、フィールド毎に補正した垂直方向のリセット信号(Vリセット信号)をCCD12に供給する。Vリセット信号がCCD12に供給されることにより、CCD12からは、垂直方向の画像の読み出し開始位置が補正され、結果として垂直方向に関して、画像処理装置10に加えられた振動の影響が抑制された画像の信号が、デジタル信号処理部14に出力される。
【0048】
デジタル信号処理部14には、メモリ15が備えられているが、そのメモリ15に記憶されている信号に基づく画像は、垂直方向に関しては加えられた振動に関する補正は既になされている画像である。デジタル信号処理部14は、供給されたメモリ切り出し用制御データ104に基づき、メモリ15に記憶されている画像のデータの読み出しの開始のタイミングを決定する。すなわち、デジタル信号処理部14は、水平方向に関する補正量情報108−2(メモリ切り出し用制御データ104)に基づいて、フィールド毎に補正した水平方向の読み出し開始位置を決定、制御する。水平方向の読み出しの開始位置が制御されることにより、結果として水平方向に関しても、画像処理装置10に加えられた振動の影響が抑えられた画像の信号が後段の処理に出力されることになる。
【0049】
このように垂直方向の振動の影響は、CCD12からの信号の読み出し位置を変更することにより低減させ、水平方向の振動の影響は、メモリ15に記憶されている信号の読み出し位置を変更させることにより低減する。
【0050】
図7は、記憶部57と補正量生成部58の機能ブロック図である。記憶部57は、補正量候補Sout[0]乃至[7]を記憶する補正量候補記憶部71と、各フィールド毎の補正量候補Sout[0]乃至[7]の平均値を記憶する補正量記憶部72とから構成されている。ここでは、補正量平均値記憶部72には、64フィールド分の補正量候補Sout[n]の平均値が記憶されるとして説明する。所定のフィールドの平均値を補正量平均値Ave[m]と記述し、mはここでは、0乃至63の値をとる。
【0051】
補正量候補記憶部71に記憶された補正量候補Sout[0]乃至[7]は、補正量生成部58の平均値算出部81に出力される。平均値算出部81は、入力された補正量候補Sout[0]乃至[7]の平均値を算出し、その平均値を記憶部57の補正量平均値記憶部72に出力する。補正量平均値記憶部72に記憶された補正量平均値Ave[0]乃至[63]は、補正量生成部58のFFT(Fast
Fourier Transform)演算部82に供給される。
【0052】
FFT演算部82によるFFT演算の演算結果は、周波数決定部83に出力される。周波数決定部83は、FFT演算部82による演算結果から、画像処理装置10に加えられている振動の種類を判断するための周波数を決定し、その決定された周波数の情報(以下、周波数情報131と記述する)をゲイン補償テーブル84と位相補償テーブル85に出力する。ゲイン補償テーブル84には、センサゲイン調整部54に供給するゲイン調整情報121に関するテーブルが記憶されており、入力された周波数情報131に対応する値をゲイン調整情報121として、センサゲイン調整部54(図6)に供給する。
【0053】
位相補償テーブル85は、位相に関する調整を行うための情報(以下、位相情報132と記述する)に関するテーブルが記憶されており、入力された周波数情報131に対応する値を位相情報132として、補正量情報生成部86に出力する。ここでは、位相情報132は、補正量情報108を生成するために用いられる情報として説明する。
【0054】
補正量情報生成部86は、補正量候補記憶部71に記憶されている補正量候補[0]乃至[7]と位相情報132を用いて、補正量情報108を生成し、制御部16に供給する。
【0055】
次に、手振れ補正部21における補正量情報108の生成の処理について、図8のフローチャートを参照して説明する。図8のフローチャートの処理は、1フィールド毎に行われる。以下の説明においては、手振れセンサ51から出力される手振れ信号のサンプリングは、1VDパルス中に8回行われる場合を例に挙げて説明する。
【0056】
ステップS1において、手振れ補正部21の手振れセンサ51により、画像処理装置10に加えられた振動が検出され、手振れ信号が取得される。ステップS2において、取得された信号のうち、サンプリング周波数毎にサンプリングが実行され、その信号が、A/D変換部52によりデジタル信号に変換される。
【0057】
ステップS3において、デジタル化された信号は、高域通過フィルタ53、センサゲイン調整部54、およびズームゲイン調整部55の各部における処理が施され、積分フィルタ56に出力され、積分フィルタ56における処理が施されることにより、その時点での手振れを補正するための補正量である補正量候補Sout[n]が生成される。生成された補正量候補Sout[n]は、記憶部57の補正量候補記憶部71に記憶される。
【0058】
ステップS4において、8個の補正量候補Sout[0]乃至[7]が記憶部57に記憶されたか否かが判断され、記憶されていないと判断された場合、ステップS1に戻り、それ以降の処理が繰り返される。すなわち、1VDパルス内に、予め設定された回数だけサンプリングが行われ、記憶部57に最終的な補正量情報108を算出する際に用いられる補正量候補Sout[0]乃至[7]が記憶されるまで、ステップS1乃至S4の処理が繰り返される。
【0059】
補正量情報108を算出するのに必要な補正量候補Sout[0]乃至[7]が記憶部57に記憶されたと判断されると、ステップS5において、補正量生成部58において、補正量情報108の生成が行われる。ステップS5における補正量生成部58における補正量情報108の生成の処理を説明する前に、ステップS1乃至S4までの処理について、図9のタイミングチャートを参照して再度説明する。
【0060】
図9Aに示すVDパルスは、垂直同期信号であり、NTSC方式の場合、1/60secであり、PAL方式の場合、1/50secを周期とするパルスである。図4に示した画像処理装置10は、このVDパルスを基づいて駆動される。なお、ここでは、垂直同期信号を例に挙げ、垂直方向に関しての処理を例に挙げて説明するが、水平方向に関する処理も同様に行われ、画像処理装置10には、上述したように、水平及び垂直の処理をそれぞれ行う2系統の備えられている。
【0061】
図9Bに示したSGパルスは、CCD12の吐き出しパルスであり、このSGパルスのタイミングでCCD12に蓄えられた電荷が吐き出される。図9B中のαは、VDパルスからのずれ量αを示し、このずれ量αは、画像処理装置10の構成に依存する固定値である。ずれ量の単位は、マイクロ秒である。
【0062】
図9Cに示した露光期間は、明るさ制御部22(図5)により決定される値であり、シャッタスピードに依存する。1つの露光期間を露光期間Tshutと記述する。露光期間Tshutは、タイミング制御データ102の1つとしてタイミングジェネレータ18に供給される情報である。また、SGパルスを基準として露光期間Tshutだけ電子シャッタが開放されるため、結果的に、その間だけCCD12が露光される。
【0063】
図9Dは、A/Dタイミングを表し、A/D変換部52(図6)においてアナログ信号の手振れ信号が、デジタル信号に変換されるタイミングを示す。A/Dタイミングは、VDパルスを基準とし、1フィールドの長さをN分割したタイミングであり、1間隔が間隔Tsである。この場合、1フィールドが8分割された場合を例に示している。この間隔Ts毎に、手振れセンサ51において取得された手振れ信号が、A/D変換部52によりデジタル信号に変換される(サンプリングされる)。
【0064】
図9Eは、補正量候補Sout[n]が出力されるタイミングを示す。間隔Tsごとに取得されたデジタル信号の手振れ信号は、積分フィルタ56による演算が行われることにより、補正量候補Sout[n]として記憶部57に出力され、記憶される。
【0065】
このようなタイミングで取得され、記憶部57に記憶された補正量候補Sout[0]乃至[7]が用いられて、補正量生成部58が補正量情報108を生成する処理(図8のステップS5の処理)について、図10のフローチャートを参照して説明する。
【0066】
ステップS21において、記憶部57の補正量候補記憶部71に記憶されている補正量候補Sout[0]乃至[7]が読み出され、平均値算出部81に供給される。平均値算出部81は、ステップS22において、入力された補正量候補Sout[0]乃至[7]の補正量平均値Ave[m]を次式(1)に基づいて算出する。
Ave[m]=ΣSout[n]/N ・・・(1)
【0067】
式(1)において、この場合nは、0乃至7の値をとり、Nはサンプリング回数であり、この場合、8である。また、ステップS22で算出される補正量平均値Ave[m]は、補正量平均値Ave[0]である。ここでは、現在のフィールドにより算出された補正量平均値Ave[m]のインデックスは0とし、63フィールド前のフィールドで算出された補正量平均値Ave[m]のインデックスは63として説明する。
【0068】
さらに付言するに、本実施の形態においては、
補正量平均値Ave[0]・・・現在のフィールドの補正量平均値Ave[m]
補正量平均値Ave[1]・・・1フィールド前の補正量平均値Ave[m]
補正量平均値Ave[2]・・・2フィールド前の補正量平均値Ave[m]
・・・
補正量平均値Ave[63]・・・63フィールド前の補正量平均値Ave[m]
という関係になっている。
【0069】
平均値算出部81において補正量平均値Ave[0]が算出されると、ステップS23において、算出された補正量平均値Ave[0]が、記憶部57の補正量平均値記憶部72に格納される。補正量平均値記憶部72には、補正量平均値Ave[0]が格納される時点で、既に、補正量平均値Ave[1]乃至[63]が格納されている。
【0070】
この時点で補正量平均値Ave[0]として算出された値は、次のフィールドに対する処理が実行されると、補正量平均値Ave[1]とインデックスが1だけ加算され、次のフィールドからの補正量平均値Ave[m]が、新たな補正量平均値Ave[0]とされる。補正量平均値Ave[1]乃至[63]のインデックスも、順次、1だけ加算された値とされ、インデックスが変更される前の補正量平均値Ave[63]は、補正量平均値記憶部72から削除される。
【0071】
ステップS23において、上述したように、算出された補正量平均値Ave[0]が補正量平均値記憶部72に格納される一方で、その補正量平均値Ave[0]を含む補正量平均値Ave[0]乃至[63]が、補正量平均値記憶部72から読み出され、FFT演算部82に供給される。
【0072】
ステップS24において、FFT演算部82において、供給された補正量平均値Ave[0]乃至[63]が用いられたFFT演算が実行される。ここでは、64個の補正量平均値Ave[m]を用いてFFT演算を行うが、64個に限定されるものではない。このFFT演算に用いられる補正量平均値Ave[m]の個数は、システムが必要とする精度に適した個数であり、また、システムに負荷がかからない個数に設定されるのが望ましい。
【0073】
ここでは、64個に設定したわけだが、その理由は、FFT演算のアルゴリズムの入力が2のべき乗と規定されていること、1Hz程度、またはそれ以上の分解能を有した方が良いこと、システムに係る負荷が、64個程度なら問題にならない程度であることなどを考慮した結果である。より細かい分解能が必要な場合、64個以上の補正量平均値Ave[m]を用いてFFT演算を行えば良い。
【0074】
なお、本実施の形態においては、FFT演算に補正量候補[0]乃至[7]の平均値を64個用いるが、平均値以外の入力を用いてFFT演算を行うようにしても良い。平均値以外の入力とは、例えば、補正量候補[0]乃至[7]のうちのいずれか1つを、所定の条件(例えば、露光中心に最も近いタイミングで得られた候補)を基に選択し、その1つの補正量候補[n]を用いるようにしても良い。
【0075】
ステップS24においてFFT演算部82により行われるFFT演算は、FFTアルゴリズムの1つとして知られるCooly & Tookey型(データ数64)で行うことが可能である。一般にFFT演算は、正弦・余弦計算から成り立つ回転因子Wの計算が必要であるが、画像処理装置10を実現する組込型のマイクロコンピュータによりFFT演算を行う場合、この演算をそのまま行うことは非常に大きな負荷となり、他の処理に影響を与える可能性がある。
【0076】
ところでこの回転因子Wの計算は、FFT演算のアルゴリズムと、その演算に用いるデータ数さえ決まれば、あとは一意に決まるものなので、回転因子Wを予め全て計算しておき、テーブルとして用意し、FFT演算が進むにつれて必要な回転因子Wをその都度、そのテーブルから読み出すことで計算にかかる負荷を軽減させることができる。テーブルは、例えば、記憶部57に記憶させておくことが可能である。
【0077】
FFT演算部82により演算された演算結果(適宜、周波数スペクトル[i]と記述する)は、周波数決定部83に出力される。周波数決定部83は、ステップS25において、主周波数F0を決定する。主周波数F0とは、加えられた振動の種類(周波数)を示すものである。図4を参照して説明したように、振動の種類により周波数が異なるため、周波数を求めることにより、加えられている振動の種類を推定することが可能となる。
【0078】
ステップS25における主周波数F0の決定は、供給された周波数スペクトル[i]のうち、最もレベルが大きいスペクトルが主周波数F0と決定されることにより行われる。このようにして主周波数F0を決定するのは、一般的に想定される手ぶれ信号帯域の中で「周波数スペクトルレベルが最も大きいもの」が主周波数成分であるという仮定に基づいている。
【0079】
決定するまでの処理としては、まず供給された周波数スペクトル[i]のインデックス(周波数に相当)によって候補スペクトルを絞り、その中から最もレベルの大きいスペクトルを持つ周波数スペクトル[i]のインデックスを主周波数成分F0として決定する。なお、ここではこのようにして主周波数F0を決定するとして説明するが、他の決定の方法を用いて主周波数F0を決定するようにしても良い。
【0080】
ステップS21乃至S25の処理について、図11と図12を参照して再度説明する。図11と図12は、64フィールド分のデータが用いられてFFT演算される場合を例に挙げて示している。図11に示したように、補正量平均値Ave[m]は、時刻tが進む毎に順次生成される。その内、図11Bに示したように、FFT演算部82への入力データとして、現在フィールドから算出された補正量平均値Ave[0]から、63フィールド前に算出された補正量平均値Ave[63]までのデータが用いられる。
【0081】
そして、図11Cに示したように、FFT演算の出力データとしてFFT演算部82から周波数決定部83に、周波数スペクトル[0]乃至[63]が出力される。この周波数スペクトル[0]乃至[63]の一例を図12に示す。図12に示したように、周波数スペクトル[6]のスペクトルレベルが最も高いため、周波数スペクトル[6]が主周波数F0に設定される。図12におけるΔfは、フィールド周波数を64(=i+1)で除算した値であり、単位はHzである。
【0082】
上述したように、本実施の形態においては、64個のデータが用いられてFFT演算が行なわれているため、FFTの性質から、その分解能およびダイナミックレンジ(検出可能周波数帯域)は、NTSCの場合、それぞれ60/64(Hz)、60/64×31(Hz)、 PALの場合、50/64(HZ)、50/64×31[31]となる。ただしここでは、検出可能周波数帯域は、折りかえり成分が無いという仮定で算出している。
【0083】
このようにして主周波数F0が決定されると、ステップS26に進み、テーブルから値が読み出される。周波数決定部83で決定された主周波数F0は、周波数情報84として、ゲイン補償テーブル84と位相補償テーブル85に供給される。それぞれのテーブルから、供給された主周波数F0に対応する値が読み出される。
【0084】
図13は、ゲイン補償テーブル84の一例を示し、図14は、位相補償テーブルの一例を示す図である。ゲイン補償テーブル84は、センサゲイン調整部54に供給するゲイン調整情報121と主周波数F0が関連付けられたテーブルである。
【0085】
センサゲイン調整部54に供給される信号は、A/D変換部52によりデジタル信号にされた信号Sadが、デジタルフィルタで構成された高域通過フィルタ53により、含まれていた直流付近の成分(手ぶれ情報に関係のない一定の成分)が除去された信号Shpfである。
【0086】
この高域通過フィルタ53のカットオフ周波数は、手ぶれ信号に影響を及ぼさない程度に十分な小さな値に設定されている。手振れセンサ51からの信号Sin、あるいは信号Shpfは、手振れセンサ51やA/D変換部52に含まれるアナログフィルタや増幅器(いずれも不図示)のばらつきにより、同一の構成によるシステムでも、同じ手振れ量が入力されても、システム毎に出力の大きさは違っていることが考えられるので、このずれ量を吸収するためにセンサゲイン調整部54が設けられている。
【0087】
センサゲイン調整部54は、入力された信号Shpfに一定のゲインを乗算する。乗算する一定のゲインは、出荷時に行われるラインでの調整によって手振れセンサ51の感度に応じた値G0にセットされている。しかしながら、信号Shpfにかけるべき最適なゲインは、システムの系が持つ周波数特性によって変化してしまう。そこで、そのような周波数の変化を吸収するための情報として、ゲイン調整情報121が用いられる。
【0088】
ゲイン調整情報121が用いられたゲインの補償(修正)が、ステップS27において、センサゲイン調整部54により行われる。センサゲイン調整部54には、予めゲインとして入力された信号Shpfに乗算する値G0が設定されているが、その値G0に、ゲイン調整情報121が用いられた値G1が、実際に信号Shpfに乗算される。ゲイン調整情報121が用いられるとは、例えば、値G0にゲイン調整情報121が加算されるといった処理が行われることにより、値G1が算出されることとする。
【0089】
すなわち、ゲイン調整情報121は、主周波数F0に対応した、ゲインの値G0を補償する値(調整量)に関する情報である。
【0090】
図13に示したゲイン補償テーブル84では、例えば、主周波数F0が、周波数スペクトル[8]と決定された場合、ゲイン調整情報121として“0.03”が読み出され、センサゲイン調整部54に供給される。
【0091】
このようにして、システムに依存する伝達関数G(f)により発生するゲインの周波数補償が行われる。
【0092】
なお、上述した実施の形態においては、予めセンサゲイン調整部54には、値G0が設定されており、その値G0にゲイン調整情報121に基づく値が加算され、実際に乗算される値G1が決定されるとして説明したが、ゲイン調整情報121に基づく値自体が、実際に乗算される値G1としても良い。すなわち、センサゲイン調整部54には、値G0は設定されておらず、供給されたゲイン調整情報121に基づく値を入力された信号Shpfに乗算するようにしても良い。ゲイン補償テーブル84は、システムの設計においてどのようにゲインを補償するかにより、異なるテーブルとなり、図13に示したテーブルに限定されるものではない。
【0093】
センサゲイン調整部54において行われるゲイン調整は、現在のフィールドから算出された補正量平均値Ave[0]が用いられて主周波数F0が決定され、その主周波数F0に基づく調整が行なわれる。従って、実際にゲインが調整される信号Shpfは、次のフィールドから得られた信号Shpfに対してである。すなわち、センサゲイン調整部54において行われるゲイン調整は、1フィールド前までのデータが用いられた調整である。
【0094】
勿論、現在のフィールドから得られたデータまでを用いて、現在のフィールドから得られた信号Shpfに対して調整が行われるようにしても良いが、このようにした場合、センサゲイン調整部54に現在のフィールドから得られた信号Shpfを一旦記憶しておき、また、一旦、補正量生成部58までの処理を実行した後に、再度、センサゲイン調整部54の処理を、記憶している信号Shpfに対して行うようにする。
【0095】
次に、ステップS28(図10)において、位相の補償が行われる。そして、補償された位相を基に、補正量情報生成部86(図7)により、補正量情報108が、ステップS29において生成される。
【0096】
位相の補正は、決定された主周波数F0に対応する周波数スペクトル[i]に対応する情報を、図14に示したような位相補償テーブル85から読み出し、その読み出した情報(位相情報132)に基づいて、補正量情報生成部86が補正量情報108を生成する。
【0097】
ここで、補正量情報108の生成について説明する。1つの方法として、補正量情報108は、補正量候補Sout[0]乃至[7]のうち、露光期間の中央のタイミングに最も近い時刻に取得された補正量候補Sout[n]と決定する方法がある。例えば、図9に示したような状態においては、補正量候補Sout[6]と決定される。ただし、露光期間の中央のタイミングに最も近く、かつ、そのタイミングより前の時刻に取得された補正量候補Sout[n]という条件のもとでは、補正量候補[5]と決定される。
【0098】
これは、露光期間中も手振れ信号は、刻々と変化しているため理想的なサンプリングポイントは、露光期間の中でも刻々と異なってしまい、そのような状態の時、全露光期間にわたって、各ポイントからの誤差が最小となるのは、露光期間の中心位置での補正量であるということに基づく。
【0099】
しかしながら、システムの系が持つ周波数特性(位相進みや遅れ)があるため、そのことを考慮しなければ、露光期間の中央のタイミングに最も近い時刻に取得された補正量候補Sout[n]を補正量情報108と決定したとしても、正確には、露光期間の中央のタイミングに最も近い時刻に取得された補正量候補Sout[n]を補正量情報108と決定したとはならない場合がある。すなわち、システム系が持つ周波数特性のために、ベストな位置(タイミング)が露光期間の中央から外れてしまうことがある。
【0100】
そこで、周波数特性を考慮し、特に位相のズレを考慮して補正量情報108が生成されるようにする。ここでは、まず、主周波数F0として決定された周波数スペクトル[i]に対応する値が位相補償テーブル85から読み出される。位相補償テーブル85は、露光期間の中央のタイミングが、どれだけ周波数特性によりずれているかを示す値が、周波数スペクトル[i]と関連付けられているテーブルである。
【0101】
このような位相補償テーブル85から読み出された位相情報132が用いらてて、補正量情報生成部86により補正量情報108が生成されるわけだが、露光期間の中央のタイミング(時刻)に、位相情報132が示す位相のずれ量を補償(加算などの処理)し、その演算結果を新たな露光期間の中央のタイミングとする。そして、その新たな露光期間の中央のタイミングに最も近い時刻に取得された補正量候補Sout[n]が、補正量情報108と決定され、出力される。
【0102】
このようにして、システムに関わる周波数特性を考慮して、露光期間の中央のタイミングに最も近い時刻に取得された補正量候補Sout[n]が、補正量情報108と決定され、出力されることにより精度良く手振れの補正を行うことが可能となる。
【0103】
しかしながら、図9を参照するに、システムに関わる周波数特性を考慮して、露光期間の中央のタイミングに最も近い時刻に取得された補正量候補Sout[n]を、補正量情報108と決定したとしても、必ずしも露光期間の中央のタイミングで取得された補正量候補Sout[n]ではない可能性があり、換言すれば、露光期間の中央のタイミングからずれた時刻に取得された補正量候補Sout[n]である可能性がある。最も精度良く手振れの補正を行うには、露光期間の中央のタイミングちょうどで取得された補正量候補Sout[n]を補正量情報108と決定するのが良い。
【0104】
そこで、露光期間の中央のタイミングで取得されるであろう補正量候補Sout[n]を、実際に取得される補正量候補Sout[0]乃至[7]を用いて推定して算出するようにしても良い。推定して算出するようにした場合、露光期間の中央のタイミングは、位相補償テーブル85から読み出された値を用いて算出された値(すなわち、補償されたタイミング)を用い、そして露光期間の中央のタイミングで取得されるであろう補正量候補Sout[n]を推定する。
【0105】
図14に示した位相補償テーブル85は、露光期間の中央のタイミングで取得されるであろう補正量候補Sout[n]を、実際に取得される補正量候補Sout[0]乃至[7]を用いて推定して算出するようにした場合に適した例を示している。
【0106】
補正量情報生成部86により生成された補正量情報108は、制御部16に出力される。このような処理が1フィールド毎に行われることにより、補正量情報108が生成される。
【0107】
ゲイン補償テーブル84や位相補償テーブル85として補正量生成部58に記憶されるテーブルの取得について説明する。テーブルは、システムの持つ伝達関数G(f)による周波数特性をうち消すための値が記憶されているので、伝達関数G(f)を求めれば、テーブルを作成することが可能である。すなわち、テーブルの取得の1つの方法としては、システムの伝達関数G(f)を、理論的、例えば、回路図などから求め、その求められた伝達関数G(f)に基づいてテーブルを作成するようにする。
【0108】
テーブルの取得の他の方法としては、実際にシステムを構築し、その構築されたシステム、この場合、画像処理装置10を用いてテーブルを作成するようにしても良い。すなわち、構築された画像処理装置10に対して実際に振動を加え、その振動を最も抑制できるゲインと位相を、その都度算出し(計測し)、テーブルを作成するようにする。
【0109】
どのような方法を用いてテーブルが作成されても良いが、最も効果的に手振れを抑制できるようにするためのテーブルが作成されるようにし、そのテーブルが用いられるようにする。
【0110】
上述した実施の形態においては、ゲインと位相を共に補償するようにしたが、どちらか一方のみを補償するようにしても良い。換言すれば、例えば、図7にゲイン補償テーブル84と位相補償テーブル85を共に備えた例を示したが、どちらか一方のテーブルのみを備えるようにし、その備えた方のテーブルに対応する処理のみが行われるようにしても良い。
【0111】
また、上述した実施の形態においては、ゲイン補償テーブル83や位相補償テーブル85を補正量生成部58に備えるようにしたが、記憶部57に記憶されるようにしても良い。記憶部57の補正量候補記憶部71には、8個の補正量候補Sout[n]が、補正量平均値記憶部72には、64個の補正量平均値Ave[i]が、それぞれ記憶されるとして説明したが、さらに多くの個数の値が記憶されるようにしても勿論良い。
【0112】
上述した実施の形態においては、本発明を電子補正式へ適用した場合について説明したが、光学補正式への適用も可能である。光学補正式へ適用した場合、必要に応じ、補償系を変更する。
【0113】
このように、加えられた振動による影響を抑制するための補正量情報108を、補正量情報108の算出に関わるシステムがもつ周波数特性を考慮して生成するようにすることにより、周波数特性を適切に補償することができ、良好な手振れ補正を行うことが可能となる。すなわち、低周波帯域から高周波帯域まで、良好な補正を行うことが可能となる。
【0114】
従って、撮影者のくせ、撮影状態(例えば、持ち疲れ、撮影操作時の変則的な振動)、撮影環境(例えば、車や遊園地の乗り物に乗っている状態での撮影)などにより発生する振動に対しても、良好な手振れ補正を実現することが可能となる。
【0115】
本発明を適用して手振れ補正を行うことにより、手振れの種類(周波数)を判断できるようになり、例えば、静止状態における手振れであるのか、パンニング状態における手振れであるのかなどの判断を行うことが可能となり、状態に合った適切な補正を行うことが可能となる。
【0116】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0117】
図15は、汎用のパーソナルコンピュータの内部構成例を示す図である。パーソナルコンピュータのCPU(Central Processing Unit)211は、ROM(Read Only Memory)212に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)213には、CPU211が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース215は、キーボードやマウスから構成される入力部216が接続され、入力部216に入力された信号をCPU211に出力する。また、入出力インタフェース215には、ディスプレイやスピーカなどから構成される出力部217も接続されている。
【0118】
さらに、入出力インタフェース215には、ハードディスクなどから構成される記憶部218、および、インターネットなどのネットワークを介して他の装置とデータの授受を行う通信部219も接続されている。ドライブ220は、磁気ディスク231、光ディスク232、光磁気ディスク233、半導体メモリ234などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
【0119】
記録媒体は、図15に示すように、パーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク231(フレキシブルディスクを含む)、光ディスク232(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク233(MD(Mini-Disc)(登録商標)を含む)、若しくは半導体メモリ234などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているROM212や記憶部218が含まれるハードディスクなどで構成される。
【0120】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0121】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0122】
【発明の効果】
以上のように本発明によれば、手振れなどの加えられた振動による影響を低減させることができる。
【0123】
また、本発明によれば、加えられた振動の周波数を推定することができ、振動の種類を判別することができるので、より精度良く、また、状況に応じた手振れの補正を行うことが可能となる。
【図面の簡単な説明】
【図1】加えられた振動の影響を低減する方法について説明する図である。
【図2】補正量を算出する装置の一例の構成を示す図である。
【図3】周波数特性による影響を説明するための図である。
【図4】手振れの種類による周波数特性について説明する図である。
【図5】本発明を適用した画像処理装置10の一実施の形態の構成を示す図である。
【図6】手振れ補正部21の内部構成例を示す図である。
【図7】補正量生成部58の内部構成例を示す図である。
【図8】補正量情報の生成処理について説明するフローチャートである。
【図9】補正量候補の生成について説明する図である。
【図10】図8のステップS5の処理の詳細を説明するフローチャートである。
【図11】FFT演算処理に用いられるデータについて説明する図である。
【図12】主周波数F0の決定について説明する図である。
【図13】ゲイン補償テーブル84の一例を示す図である。
【図14】位相補償テーブル85の一例を示す図である。
【図15】媒体を説明する図である。
【符号の説明】
10 画像処理装置, 11 光学撮像部, 12 CCD, 13 アナログ信号処理部, 14 デジタル信号処理部, 15 メモリ, 16 制御部, 17 レンズ駆動部, 18 タイミングジェネレータ, 19 インタフェース制御部, 20 ユーザインタフェース, 21 手振れ補正部, 22明るさ制御部, 51 手振れセンサ, 52 A/D変換部, 53 高域通過フィルタ, 54 センサゲイン調整部, 55 ズームゲイン調整部, 56 積分フィルタ, 57 記憶部, 58 補正量生成部, 71 補正量候補記憶部, 72 補正量平均値記憶部, 81 平均値算出部, 82 FFT演算部, 83 周波数決定部, 84 ゲイン補償テーブル, 85 位相補償テーブル, 86 補正量情報生成部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and method, a recording medium, and a program, and is particularly suitable for use in correcting an image shift caused by a user's camera shake or the like with higher accuracy and providing a user with a blur-free image. The present invention relates to an image processing apparatus and method, a recording medium, and a program.
[0002]
[Prior art]
Video cameras and still cameras that capture and record moving images and still images have become widespread and are used in various situations. Home video cameras and still cameras have become smaller, lighter, and higher performance. As the size and weight are reduced, the usability is improved, but there is a problem that the user's hand shake is likely to occur. In addition, when the performance has been improved and functions such as zooming have been enhanced, there has been a problem that the effect of camera shake is greater when zooming than when zooming is not performed.
[0003]
As a method for solving such a problem, for example, as shown in FIG. 1A, an imaging area 1 to be imaged is recorded from an image recording area 2 to be recorded as an image actually captured on a recording medium such as a disk. There is a method of processing as a large area. In this method, an image in the recording area 2 is cut out from an image picked up in the image pickup area 1, and the cut out image is recorded. Which area is cut out from the imaging area 1 as the recording area 2 is determined by calculating a correction amount in consideration of the magnitude of the detected camera shake and using the correction amount.
[0004]
When the recording area 2 cut out at the time t is in the state as shown in FIG. 1A, at the next time t + 1, as shown in FIG. When the direction correction amount 3-2 is calculated, the area moved by the correction amounts 3-1, 3-2 is cut out as the recording region 2 at time t + 1. The correction amounts 3-1 and 3-2 are calculated using data obtained at the center time of the exposure period.
[0005]
The calculation of the correction value will be described. Video cameras and the like are provided with, for example, an angular velocity sensor for detecting camera shake. The camera shake signal from the angular velocity sensor is continuously output. The continuously output signal is sampled at eight timings in one pulse of the VD pulse, for example. By performing an operation using the sampled signal, a correction amount for reducing the influence of camera shake is calculated.
[0006]
Of the calculated correction amounts, only the correction amount obtained at a timing close to the center of the exposure period is set as a correction amount used for image clipping. This is because, since the camera shake signal changes every moment during the exposure period, the ideal sampling point is different every time during the exposure period. The minimum error is based on the fact that the correction amount is at the center position of the exposure period.
[0007]
In this manner, the camera shake signal obtained from the sensor is sampled at a predetermined timing (A / D timing) N times per field, and an operation using the signal obtained as a result of this sampling is performed. From the calculation results, the calculation result located at the timing closest to the center position of the exposure period of the shutter speed is used as the correction amount of the field.
[0008]
However, the correction amount for correcting camera shake is obtained at the center timing of the exposure period according to the shutter speed, but the correction amount obtained at the center timing of the exposure period is not always used. There wasn't. If what is obtained at the timing at the center of the exposure period is not used, the performance is deteriorated such as blurring of the image.
[0009]
Such a problem mainly occurs because the timing at which the correction amount is calculated is shifted from the center of the exposure period. Therefore, the correction amount is calculated from the camera shake signal obtained at the timing at the center of the exposure period as much as possible. Such a method has been proposed. For example, a method has been proposed in which sampling is performed by adjusting the timing of the center of the exposure period with respect to a camera shake signal obtained from a sensor or the like (a method of changing the sampling timing corresponding to the exposure period).
[0010]
As another method, the relationship between the center position of the exposure period and a plurality of sampling signals is stored in advance, and the sampling signal most suitable for the situation at that time is extracted from the stored relationship. A method for calculating the correction amount by performing sampling based on the sampling signal has been proposed.
[0011]
[Problems to be solved by the invention]
The above-described method is based on the premise that the camera shake can be corrected with the highest performance by performing the correction process with the correction amount calculated based on the signal acquired at the center position of the exposure period. By the way, the system up to the calculation of the correction amount includes various filters and the like, and has frequency characteristics related to the transfer function of the system. However, when calculating the correction amount, the frequency characteristic in this system is not taken into consideration, and the frequency characteristic is not taken into account, and thus there is a problem that the camera shake correction process cannot be executed with good performance.
[0012]
As a system related to the process of calculating the correction amount, for example, as shown in FIG. 2, a camera shake sensor 301 that detects a camera shake, and an analog circuit 302 that performs an analog process on a camera shake signal acquired by the camera shake sensor 301. The microcomputer 303 performs digital processing on the hand shake signal subjected to analog processing. The microcomputer 303 includes an A / D conversion unit 304 that converts an analog signal into a digital signal, and a digital circuit 305 that processes the digital signal from the A / D conversion unit 304.
[0013]
The analog circuit 302 includes, for example, a low-pass filter (LPF), a high-pass filter (HPF), an amplifier, and the like. The digital circuit 305 also incorporates a filter or the like as necessary. Here, assuming that the transfer functions of the camera shake sensor 301, the analog circuit 302, and the microcomputer 303 are G1 (f), G2 (f), and G3 (f), blocks related to calculating the correction amount. The transfer function G (f) of
G (f) = G1 (f) × G2 (f) × G3 (f)
It is represented by
[0014]
A system such as a video camera having a block for calculating a correction amount as shown in FIG. 2 has a frequency characteristic represented by the transfer function G (f) described above. For example, due to the transfer function G (f), the gain has characteristics as shown in FIG. 3A and the phase has characteristics as shown in FIG. 3B.
[0015]
Due to such frequency characteristics, there is a difference between the detected camera shake signal and the correction amount calculated using the camera shake signal by the frequency characteristic. That is, either one is advanced or delayed. Further, the gain related to the signal also varies depending on the frequency. In order to suppress this, the frequency characteristics in the required frequency band may be designed to be flat, but there is a problem that such design is difficult.
[0016]
Since the frequency characteristics as described above exist in the block for obtaining the correction amount, the frequency characteristics are also affected by the calculated correction amount. FIG. 4 is a diagram showing the relationship between the correction effect indicating how much correction is effectively performed and the frequency when the calculated correction amount is used. It can be seen that the correction effect varies depending on the frequency. Band A indicates the frequency band of hand shake that occurs on average, Band B indicates the hand shake band that occurs depending on the user and how the user holds the hand, and Band C indicates the band when in-vehicle or the like. Indicates the band of camera shake that occurs.
[0017]
As shown in FIG. 4, a frequency band that can be effectively corrected and a band that cannot be corrected are generated depending on the situation in which camera shake occurs. Therefore, since the system is designed so that correction can be most effectively performed in the situation of hand shake that is most likely to occur, there is a problem in that there is a band where correction cannot be performed effectively.
[0018]
For this reason, it is difficult to design a system that performs effective correction in all bands. For example, when the frequency characteristics of the correction performance as shown in FIG. For high-frequency components (band B and band C states) generated by the shooting environment, such as tiredness, irregular vibrations during shooting operations, and riding on vehicles such as cars and amusement parks There is a problem that the correction performance deteriorates due to the influence of the phase rotation and gain fluctuation.
[0019]
The present invention has been made in view of such a situation, and an object thereof is to make it possible to correct a camera shake occurring in any situation without deteriorating the correction performance.
[0020]
[Means for Solving the Problems]
  An image processing apparatus according to the present invention detects vibrations, outputs vibration detection information, sampling means for sampling vibration detection information output by the output means, and corrects based on the values sampled by the sampling means. The correction amount information is obtained by performing calculation based on the correction amount candidate calculated by the calculation means and the correction amount candidate calculated by the calculation means, or by selecting a correction amount candidate that satisfies a predetermined condition from the correction amount candidates. Based on the generation means to be generated, the control means for controlling the region of the image cut out from the image captured by the image sensor based on the correction amount information generated by the generation means, and the correction amount candidates calculated by the calculation means Estimating means for estimating the frequency component of vibration; storage means for storing a table in which the frequency component and the correction amount are associated; and estimating means A correction amount corresponding to more estimated frequency components, and reading means for reading from the table stored by the storing means, based on the correction amount read by the reading means,Value used by the generation means to generate correction amount informationTheAnd correcting means for correcting.
[0021]
  The estimation unit calculates an average value of the correction amount candidates calculated by the calculation unit within the first period, performs an FFT calculation using the average value calculated within the second period, and calculates the calculation result. It can be used to estimate the frequency component of vibration.
The estimation means can estimate the frequency having the highest level as a frequency component of vibration as a result of the FFT calculation.
  The correcting means may further correct a value used by the calculating means to calculate a correction amount candidate based on the correction amount read by the reading means.
[0022]
  The correction unit may correct the phase of the correction amount candidate as a value used by the generation unit to generate correction amount information based on the correction amount read by the reading unit.
  The correcting means can correct the gain of the vibration detection information as a value used by the calculating means to calculate a correction amount candidate based on the correction amount read by the reading means.
The correction unit may correct the phase of the correction amount candidate as a value used by the generation unit to generate correction amount information based on the correction amount read by the reading unit.
[0023]
  The image processing method of the present invention includes a sampling step for sampling vibration detection information related to vibration, a calculation step for calculating a correction amount candidate based on a value sampled in the processing of the sampling step, and a calculation step. A generation step for generating correction amount information by performing a calculation based on the correction amount candidate or selecting a correction amount candidate satisfying a predetermined condition from the correction amount candidates, and the correction amount generated by the processing of the generation step A control step for controlling a region of an image to be cut out from an image captured by an image sensor based on information, an estimation step for estimating a frequency component of vibration based on a correction amount candidate calculated in the processing of the calculation step, and a frequency A storage control step for controlling storage of a table in which components and correction amounts are associated, and an estimation step A correction amount corresponding to the estimated frequency components in management, a reading step of reading from the table stored under control in the storage control step, on the basis of the correction amount read in the process of reading step,Value used to generate correction amount information in the processing of the generation stepTheAnd a correcting step for correcting.
[0024]
  The recording medium program of the present invention is calculated by a sampling step for sampling vibration detection information related to vibration, a calculation step for calculating a correction amount candidate based on a value sampled in the processing of the sampling step, and a process of the calculation step. A correction step that generates correction amount information by performing a calculation based on the correction amount candidates or selecting a correction amount candidate that satisfies a predetermined condition from the correction amount candidates, and the correction generated by the processing of the generation step A control step for controlling a region of an image to be cut out from an image captured by the image sensor based on the amount information; an estimation step for estimating a frequency component of vibration based on a correction amount candidate calculated in the processing of the calculation step; A storage control step for controlling storage of a table in which frequency components and correction amounts are associated; and an estimation step. Tsu the correction amount corresponding to the estimated frequency components in the process of flops, a reading step of reading from the table stored under control in the storage control step, on the basis of the correction amount read in the process of reading step,Value used to generate correction amount information in the processing of the generation stepTheAnd a correcting step for correcting.
[0025]
  The program of the present invention includes: a sampling step for sampling vibration detection information related to vibration in a computer that controls the image processing apparatus; a calculation step for calculating a correction amount candidate based on a value sampled in the processing of the sampling step; A generation step for generating correction amount information by performing an operation based on the correction amount candidate calculated in the processing of the step or by selecting a correction amount candidate satisfying a predetermined condition from the correction amount candidates; Based on the correction amount information generated by the processing, a control step for controlling an area of the image cut out from the image captured by the image sensor, and a vibration frequency component based on the correction amount candidate calculated by the processing of the calculation step Controls the estimation step to be estimated and the storage of the table that associates the frequency components with the correction amount. A read step for reading out the correction amount corresponding to the frequency component estimated in the storage control step and the processing in the estimation step from the table whose storage is controlled in the storage control step processing, and the correction read out in the read step processing Based on quantity,Value used to generate correction amount information in the processing of the generation stepTheA correction step for correcting is executed.
[0026]
  In the image processing apparatus, method, and program of the present invention, vibration detection information related to vibration is sampled, a correction amount candidate is calculated based on the value, and an operation based on the correction amount candidate is performed, or the correction amount By selecting a correction amount candidate that satisfies a predetermined condition from the candidates, correction amount information is generated, and based on the correction amount information, an area of an image cut out from an image captured by the imaging device is controlled, and vibration The frequency component is estimated, and the correction amount corresponding to the frequency component is read from the table in which the frequency component and the correction amount are associated, and based on the correction amount,Value used to generate correction amount informationButWill be corrected.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings. FIG. 5 is a diagram showing a configuration of an embodiment of an image processing apparatus to which the present invention is applied. The image processing apparatus 10 illustrated in FIG. 5 is provided in, for example, a video camera or a still camera. The image processing apparatus 10 shown in FIG. 5 is premised on detecting and correcting camera shake (vibration) at the time of recording (shooting). Therefore, FIG. 5 mainly relates to recording. Indicates a block.
[0028]
The optical imaging unit 11 of the image processing apparatus 10 includes an optical system device including an imaging lens (not shown). Light incident on the optical imaging unit 11 is photoelectrically converted by a CCD (Charge Coupled Device) 12 and output to the analog signal processing unit 13 as an electrical signal.
[0029]
The analog signal processing unit 13 samples and holds the input electric signal (analog signal) for digital conversion (Sample and Hold), detects fluctuations in the amplitude of the input signal, and detects the amplitude of the output signal. In order to maintain a constant value, AGC (Automatic Gain Control) for controlling the gain of amplification is performed, and an analog signal subjected to such processing is converted into a digital signal.
[0030]
The digital signal processed and output by the analog signal processing unit 13 is input to the digital signal processing unit 14. The digital signal processing unit 14 includes a memory 15, and the input digital signal is stored in the memory 15. The digital signal processing unit 14 performs processing such as image clipping and compression on the digital signal stored in the memory 15. The digital signal that has been processed by the digital signal processing unit 14 is output to subsequent processing. The latter process is, for example, recording a digital signal on a disk-shaped recording medium.
[0031]
The control unit 16 controls each unit in the image processing apparatus 10. The control unit 16 outputs the lens control data 101 to the lens driving unit 17. The lens control data 101 is data for driving an imaging lens included in the optical imaging unit 11 and adjusting a diaphragm and the like. The control unit 16 outputs timing control data 102 to the timing generator 18. The timing control data 102 is data for instructing the timing at which the electrical signal photoelectrically converted by the CCD 12 is sampled and output to the analog signal processing unit 13.
[0032]
The control unit 16 outputs the camera image processing data 103 and the memory cutout control data 104 to the digital signal processing unit 14, and inputs the detection data 105 from the digital signal processing unit 14. The camera image processing data 103 is data used for processing a captured image that has been converted into a digital signal, and is, for example, data such as a white balance adjustment value. The memory cutout control data 104 is data for instructing which region of an image is cut out from the captured image as an image to be recorded. The detection data 105 is data relating to the state of the image input to the digital signal processing unit 14.
[0033]
The control unit 16 outputs camera control information 106 to the interface control unit 19 and inputs user instruction information 107 from the interface control unit 19. The camera control information 106 is information such as the distance to the subject, the F value, the shutter speed, and the magnification. The user instruction information 107 is information relating to a shooting mode instructed by the user.
[0034]
The user interface 20 is a button for performing an operation such as an instruction to the image processing apparatus 10 by the user, for example, setting a shooting mode, or an LCD (Liquid Crystal) that provides (displays) information to the user. The information indicated by the operation of the button is supplied to the control unit 16 as the user instruction information 107, and the information based on the camera control information 106 from the control unit 16 is displayed on the LCD. Is done.
[0035]
The camera shake correction unit 21 detects vibration applied to the image processing apparatus 10 due to camera shake or the like, and correction amount information 108 for suppressing the influence of vibration on the recorded image in accordance with the detected magnitude of vibration. Is output to the control unit 16. The camera shake correction unit 21 also uses the brightness information 109 supplied from the brightness control unit 22 to generate the correction amount information 108.
[0036]
FIG. 6 is a diagram illustrating an internal configuration example of the camera shake correction unit 21. The hand shake sensor 51 is configured by an angular velocity sensor or the like, and is a sensor that detects vibration applied to the image processing apparatus 10. Although only one camera shake sensor 51 is shown in FIG. 6, a sensor for detecting vertical vibration and a sensor for detecting horizontal vibration are provided separately, and the camera shake correction unit 21 shown in FIG. In addition, two camera shake correction units 21 are provided for each sensor, that is, in the image processing apparatus 10. Here, one system for detecting vibration applied in the vertical direction or the horizontal direction will be described as an example.
[0037]
Of course, the camera shake correction unit 21 that processes vibrations in the vertical direction and the camera shake correction unit 21 that processes vibrations in the horizontal direction share common parts, and it is not always necessary to provide two parts. Further, in the present embodiment, the vibrations processed by the camera shake sensor 51 include vibrations applied when the image processing apparatus 10 is mounted on a vehicle, as well as vibrations caused by the user's camera shake.
[0038]
A signal related to the vibration detected by the camera shake sensor 51 is output to the A / D converter 52. The A / D converter 52 converts the input analog signal into a digital signal and outputs it to the high-pass filter 53. The A / D converter 52 may be provided with a filter and an amplifier as necessary. Examples of the filter include a band-pass filter in which a cutoff frequency is set to a band of a camera shake signal output from the camera shake sensor 51. The amplifying unit is provided when the signal from the camera shake sensor 51 is weak and needs to be increased to an intensity that can be processed by subsequent processing (provided when necessary to match the resolution of A / D conversion). .
[0039]
The high-pass filter 53 is provided to remove a component in the vicinity of a direct current included in the input signal (a component included due to a cause unrelated to vibration) from the input digital signal. The cutoff frequency of the high-pass filter 53 is set to a value that does not affect the signal component related to vibration. The signal output from the high-pass filter 53 is input to the sensor gain adjustment unit 54. The sensor gain adjustment unit 54 is provided to absorb (correct) variations in performance of the individual hand movement sensors 51 and the A / D conversion unit 52.
[0040]
The sensor gain adjustment unit 54 performs a process of applying a gain to the input signal as a basic process. For example, the gain is determined (set) by adjustment performed on the production line when the image processing apparatus 10 is shipped. This is even with the same camera shake sensor 51, the individual camera shake sensor 51, since the slight deviation is, advance which image than setting the same value with respect to the processing apparatus 10, the production line on This is because it is preferable to perform adjustment in each image processing apparatus 10 and set the value according to the sensitivity of the sensor.
[0041]
In the present embodiment, gain adjustment information 121 (details will be described later) output from the correction amount generation unit 58 is also supplied to the sensor gain adjustment unit 54. The sensor gain adjustment unit 54 uses the supplied gain adjustment information 121 to determine a gain value to be applied to the input signal and apply a gain, or to apply a gain determined by the gain adjustment information 121 Process.
[0042]
The output from the sensor gain adjustment unit 54 is output to the zoom gain adjustment unit 55. A larger correction value is required for the T end (high magnification side zoom) than the W end (low magnification side zoom) of the optical zoom, but the signal output from the camera shake sensor 51 is a signal that does not depend on zoom. Therefore, the zoom gain adjustment unit 55 performs adjustment such that a correction value corresponding to the magnification is multiplied to obtain a value suitable for the magnification. By providing the zoom gain adjusting unit 55, it is possible to always calculate an appropriate correction value at all magnifications (all zoom regions).
[0043]
The signal output from the zoom gain adjustment unit 55 is output to the integration filter 56. For example, when the camera shake sensor 51 is constituted by an angular velocity sensor, the signal output from the sensor is an angular velocity, and a portion that executes processing for obtaining the magnitude of applied force (vibration) from the angular velocity is integrated. This is a filter 56.
[0044]
The output from the integration filter 56 (here, the correction amount candidate Sout [n]) is stored in the storage unit 57. The storage unit 57 includes a storage device such as a RAM (Random Access Memory). In the present embodiment, a description will be given on the assumption that the camera shake signal output from the camera shake sensor 51 is sampled eight times per field. When sampling is performed eight times per field, the storage unit 57 has a capacity capable of storing at least the eight correction amount candidates Sout [0] to [7] output from the integration filter 56. Correction amount candidates Sout [0] to [6] are signals output from the integration filter 56 at a time prior to Sout [7].
[0045]
The correction amount generation unit 58 uses the values of the correction amount candidates Sout [0] to [7] stored in the storage unit 57 and the brightness information 109 supplied from the brightness control unit 22 to use the image processing apparatus. The final correction amount for removing the influence of the vibration applied to 10 is generated. The correction amount generation processing in the correction amount generation unit 58 will be described later. The correction amount generator 58 also generates gain adjustment information 121 to be supplied to the sensor gain adjuster 54. The correction amount information 108 relating to the generated correction amount is supplied to the control unit 16.
[0046]
The correction amount information 108 supplied to the control unit 16 includes correction amount information 108-1 regarding the vertical direction and correction amount information 108-2 regarding the horizontal direction. The correction amount 108-1 related to the vertical direction is supplied to the timing generator 18 as the timing control data 102, and the correction amount 108-2 related to the horizontal direction is supplied to the digital signal processing unit 14 as the control data 104 for memory cutout.
[0047]
The timing generator 18 determines the timing of signal output from the CCD 12 to the analog signal processing unit 13 based on the supplied timing control data 102. That is, the timing generator 18 supplies a vertical reset signal (V reset signal) corrected for each field to the CCD 12 based on the correction amount information 108-1 (timing control data 102) regarding the vertical direction. By supplying the V reset signal to the CCD 12, the reading start position of the image in the vertical direction is corrected from the CCD 12, and as a result, the image in which the influence of vibration applied to the image processing apparatus 10 is suppressed in the vertical direction. Are output to the digital signal processing unit 14.
[0048]
The digital signal processing unit 14 includes a memory 15. An image based on a signal stored in the memory 15 is an image that has already been corrected for vibration applied in the vertical direction. The digital signal processing unit 14 determines the start timing of reading the image data stored in the memory 15 based on the supplied memory cut-out control data 104. That is, the digital signal processing unit 14 determines and controls the horizontal read start position corrected for each field based on the correction amount information 108-2 (memory cut-out control data 104) related to the horizontal direction. By controlling the start position of reading in the horizontal direction, as a result, also in the horizontal direction, an image signal in which the influence of vibration applied to the image processing apparatus 10 is suppressed is output to subsequent processing. .
[0049]
Thus, the influence of the vibration in the vertical direction is reduced by changing the reading position of the signal from the CCD 12, and the influence of the vibration in the horizontal direction is changed by changing the reading position of the signal stored in the memory 15. To reduce.
[0050]
FIG. 7 is a functional block diagram of the storage unit 57 and the correction amount generation unit 58. The storage unit 57 includes a correction amount candidate storage unit 71 that stores correction amount candidates Sout [0] to [7], and a correction amount that stores an average value of the correction amount candidates Sout [0] to [7] for each field. And a storage unit 72. Here, description will be made assuming that the average value of correction amount candidates Sout [n] for 64 fields is stored in the correction amount average value storage unit 72. An average value of a predetermined field is described as a correction amount average value Ave [m], and m takes a value of 0 to 63 here.
[0051]
The correction amount candidates Sout [0] to [7] stored in the correction amount candidate storage unit 71 are output to the average value calculation unit 81 of the correction amount generation unit 58. The average value calculation unit 81 calculates an average value of the input correction amount candidates Sout [0] to [7], and outputs the average value to the correction amount average value storage unit 72 of the storage unit 57. The correction amount average values Ave [0] to [63] stored in the correction amount average value storage unit 72 are the FFT (Fast) values of the correction amount generation unit 58.
(Fourier Transform) operation unit 82.
[0052]
The calculation result of the FFT calculation by the FFT calculation unit 82 is output to the frequency determination unit 83. The frequency determination unit 83 determines a frequency for determining the type of vibration applied to the image processing apparatus 10 from the calculation result of the FFT calculation unit 82, and information on the determined frequency (hereinafter, frequency information 131). Are output to the gain compensation table 84 and the phase compensation table 85. The gain compensation table 84 stores a table related to the gain adjustment information 121 supplied to the sensor gain adjustment unit 54, and the sensor gain adjustment unit 54 ( FIG. 6).
[0053]
The phase compensation table 85 stores a table relating to information for performing adjustment relating to the phase (hereinafter referred to as phase information 132), and a correction amount using the value corresponding to the input frequency information 131 as the phase information 132. The information is output to the information generator 86. Here, the phase information 132 will be described as information used to generate the correction amount information 108.
[0054]
The correction amount information generation unit 86 generates the correction amount information 108 using the correction amount candidates [0] to [7] and the phase information 132 stored in the correction amount candidate storage unit 71 and supplies the correction amount information 108 to the control unit 16. To do.
[0055]
Next, the process of generating the correction amount information 108 in the camera shake correction unit 21 will be described with reference to the flowchart of FIG. The process of the flowchart of FIG. 8 is performed for each field. In the following description, the case where the hand shake signal output from the hand shake sensor 51 is sampled eight times during one VD pulse will be described as an example.
[0056]
In step S1, the vibration sensor 51 of the camera shake correction unit 21 detects vibration applied to the image processing apparatus 10, and acquires a camera shake signal. In step S <b> 2, sampling is performed for each sampling frequency in the acquired signal, and the signal is converted into a digital signal by the A / D conversion unit 52.
[0057]
In step S <b> 3, the digitized signal is subjected to processing in each of the high-pass filter 53, the sensor gain adjustment unit 54, and the zoom gain adjustment unit 55, and is output to the integration filter 56. As a result, a correction amount candidate Sout [n], which is a correction amount for correcting the camera shake at that time, is generated. The generated correction amount candidate Sout [n] is stored in the correction amount candidate storage unit 71 of the storage unit 57.
[0058]
In step S4, it is determined whether or not eight correction amount candidates Sout [0] to [7] are stored in the storage unit 57. If it is determined that they are not stored, the process returns to step S1 and the subsequent steps. The process is repeated. That is, sampling is performed a preset number of times within 1 VD pulse, and correction amount candidates Sout [0] to [7] used when calculating the final correction amount information 108 are stored in the storage unit 57. Steps S1 to S4 are repeated until
[0059]
If it is determined that the correction amount candidates Sout [0] to [7] necessary for calculating the correction amount information 108 are stored in the storage unit 57, the correction amount generation unit 58 performs correction amount information 108 in step S5. Is generated. Before describing the process of generating the correction amount information 108 in the correction amount generation unit 58 in step S5, the process from steps S1 to S4 will be described again with reference to the timing chart of FIG.
[0060]
The VD pulse shown in FIG. 9A is a vertical synchronization signal, and is a pulse having a period of 1/60 sec in the NTSC system and 1/50 sec in the PAL system. The image processing apparatus 10 shown in FIG. 4 is driven based on this VD pulse. Here, the vertical synchronization signal is taken as an example, and processing in the vertical direction is taken as an example. However, processing in the horizontal direction is performed in the same manner, and the image processing apparatus 10 receives the horizontal signal as described above. And two systems each performing vertical processing.
[0061]
The SG pulse shown in FIG. 9B is a discharge pulse of the CCD 12, and charges stored in the CCD 12 are discharged at the timing of this SG pulse. In FIG. 9B, α indicates a shift amount α from the VD pulse, and this shift amount α is a fixed value depending on the configuration of the image processing apparatus 10. The unit of deviation is microseconds.
[0062]
The exposure period shown in FIG. 9C is a value determined by the brightness control unit 22 (FIG. 5) and depends on the shutter speed. One exposure period is described as an exposure period Tshut. The exposure period Tshut is information supplied to the timing generator 18 as one of the timing control data 102. Further, since the electronic shutter is opened during the exposure period Tshut with reference to the SG pulse, as a result, the CCD 12 is exposed only during that period.
[0063]
FIG. 9D shows A / D timing, and shows the timing at which an analog camera shake signal is converted into a digital signal in the A / D converter 52 (FIG. 6). The A / D timing is a timing obtained by dividing the length of one field into N with reference to the VD pulse, and one interval is the interval Ts. In this case, a case where one field is divided into eight is shown as an example. At each interval Ts, the camera shake signal acquired by the camera shake sensor 51 is converted (sampled) into a digital signal by the A / D converter 52.
[0064]
FIG. 9E shows the timing at which the correction amount candidate Sout [n] is output. The camera shake signal of the digital signal acquired at every interval Ts is output to the storage unit 57 as a correction amount candidate Sout [n] by being calculated by the integration filter 56 and stored therein.
[0065]
The correction amount generation unit 58 generates correction amount information 108 using the correction amount candidates Sout [0] to [7] acquired at such timing and stored in the storage unit 57 (step of FIG. 8). The process of S5 will be described with reference to the flowchart of FIG.
[0066]
In step S <b> 21, the correction amount candidates Sout [0] to [7] stored in the correction amount candidate storage unit 71 of the storage unit 57 are read and supplied to the average value calculation unit 81. In step S22, the average value calculation unit 81 calculates the correction amount average value Ave [m] of the input correction amount candidates Sout [0] to [7] based on the following equation (1).
Ave [m] = ΣSout [n] / N (1)
[0067]
In Equation (1), n takes a value from 0 to 7, and N is the number of samplings, and in this case is 8. The correction amount average value Ave [m] calculated in step S22 is the correction amount average value Ave [0]. Here, it is assumed that the index of the correction amount average value Ave [m] calculated in the current field is 0, and the index of the correction amount average value Ave [m] calculated in the field 63 fields before is 63.
[0068]
In addition, in this embodiment,
Correction amount average value Ave [0]... Current field correction amount average value Ave [m]
Correction amount average value Ave [1] ... Correction amount average value Ave [m] one field before
Correction amount average value Ave [2] ... Correction amount average value Ave [m] two fields before
...
Correction amount average value Ave [63]... 63 field previous correction amount average value Ave [m]
It is a relationship.
[0069]
When the correction value average value Ave [0] is calculated by the average value calculation unit 81, the calculated correction amount average value Ave [0] is stored in the correction amount average value storage unit 72 of the storage unit 57 in step S23. Is done. The correction amount average value Ave [1] to [63] are already stored in the correction amount average value storage unit 72 when the correction amount average value Ave [0] is stored.
[0070]
The value calculated as the correction amount average value Ave [0] at this time is added to the correction amount average value Ave [1] and the index by 1 when the process for the next field is executed, and the value from the next field is added. The correction amount average value Ave [m] is set as a new correction amount average value Ave [0]. The indexes of the correction amount average values Ave [1] to [63] are also sequentially added by 1, and the correction amount average value Ave [63] before the index is changed is the correction amount average value storage unit. 72 is deleted.
[0071]
In step S23, as described above, the calculated correction amount average value Ave [0] is stored in the correction amount average value storage unit 72, while the correction amount average value including the correction amount average value Ave [0] is stored. Ave [0] to [63] are read from the correction amount average value storage unit 72 and supplied to the FFT operation unit 82.
[0072]
In step S24, the FFT calculation unit 82 executes an FFT calculation using the supplied correction amount average values Ave [0] to [63]. Here, the FFT calculation is performed using 64 correction amount average values Ave [m], but the number is not limited to 64. The number of correction amount average values Ave [m] used in the FFT calculation is preferably a number suitable for the accuracy required by the system, and is preferably set to a number that does not place a load on the system.
[0073]
Here, 64 is set because the input of the algorithm of the FFT operation is specified as a power of 2, and it is better to have a resolution of about 1 Hz or more, This is a result of considering that there is no problem if the load is about 64. When a finer resolution is required, the FFT calculation may be performed using 64 or more correction amount average values Ave [m].
[0074]
In the present embodiment, 64 average values of the correction amount candidates [0] to [7] are used for the FFT calculation, but the FFT calculation may be performed using an input other than the average value. The input other than the average value is, for example, any one of the correction amount candidates [0] to [7] based on a predetermined condition (for example, a candidate obtained at the timing closest to the exposure center). It is also possible to select one correction amount candidate [n].
[0075]
The FFT operation performed by the FFT operation unit 82 in step S24 can be performed in a Cooly & Tookey type (64 data) known as one of FFT algorithms. In general, the FFT operation requires calculation of the twiddle factor W composed of sine and cosine calculations. However, if the FFT operation is performed by an embedded microcomputer that implements the image processing apparatus 10, it is very difficult to perform this operation as it is. May cause other processing to be affected.
[0076]
By the way, since the calculation of the twiddle factor W is uniquely determined as long as the FFT calculation algorithm and the number of data used for the calculation are determined, all the twiddle factors W are calculated in advance and prepared as a table. As the calculation progresses, the necessary twiddle factor W is read from the table each time, and the load on the calculation can be reduced. The table can be stored in the storage unit 57, for example.
[0077]
The calculation result calculated by the FFT calculation unit 82 (denoted as frequency spectrum [i] as appropriate) is output to the frequency determination unit 83. In step S25, the frequency determining unit 83 determines the main frequency F0. The main frequency F0 indicates the type (frequency) of the applied vibration. As described with reference to FIG. 4, since the frequency varies depending on the type of vibration, it is possible to estimate the type of applied vibration by obtaining the frequency.
[0078]
The determination of the main frequency F0 in step S25 is performed by determining the spectrum having the highest level among the supplied frequency spectrum [i] as the main frequency F0. The determination of the main frequency F0 in this manner is based on the assumption that the “highest frequency spectrum level” is the main frequency component in the generally assumed shake signal band.
[0079]
As a process up to the determination, first, the candidate spectrum is narrowed down by the index (corresponding to the frequency) of the supplied frequency spectrum [i], and the index of the frequency spectrum [i] having the highest level spectrum is selected as the main frequency Determined as component F0. Although the description here assumes that the main frequency F0 is determined in this way, the main frequency F0 may be determined using another determination method.
[0080]
The processes in steps S21 to S25 will be described again with reference to FIGS. FIG. 11 and FIG. 12 show an example where 64 fields of data are used for FFT calculation. As shown in FIG. 11, the correction amount average value Ave [m] is sequentially generated every time the time t advances. Among them, as shown in FIG. 11B, as input data to the FFT operation unit 82, the correction amount average value Ave [0] calculated 63 fields before from the correction amount average value Ave [0] calculated from the current field. 63] is used.
[0081]
Then, as shown in FIG. 11C, the frequency spectra [0] to [63] are output from the FFT calculation unit 82 to the frequency determination unit 83 as output data of the FFT calculation. An example of the frequency spectra [0] to [63] is shown in FIG. As shown in FIG. 12, since the spectrum level of the frequency spectrum [6] is the highest, the frequency spectrum [6] is set to the main frequency F0. In FIG. 12, Δf is a value obtained by dividing the field frequency by 64 (= i + 1), and its unit is Hz.
[0082]
As described above, in the present embodiment, since 64 data are used to perform the FFT operation, the resolution and dynamic range (detectable frequency band) are in the case of NTSC due to the nature of FFT. 60/64 (Hz), 60/64 × 31 (Hz), and 50/64 (HZ) and 50/64 × 31 [31] in the case of PAL, respectively. However, here, the detectable frequency band is calculated on the assumption that there is no aliasing component.
[0083]
When the main frequency F0 is determined in this way, the process proceeds to step S26, and a value is read from the table. The main frequency F 0 determined by the frequency determining unit 83 is supplied to the gain compensation table 84 and the phase compensation table 85 as frequency information 84. A value corresponding to the supplied main frequency F0 is read from each table.
[0084]
FIG. 13 shows an example of the gain compensation table 84, and FIG. 14 shows an example of the phase compensation table. The gain compensation table 84 is a table in which the gain adjustment information 121 supplied to the sensor gain adjustment unit 54 is associated with the main frequency F0.
[0085]
The signal supplied to the sensor gain adjustment unit 54 is a component near the direct current (Sad) converted from the signal Sad converted into a digital signal by the A / D conversion unit 52 by the high-pass filter 53 including a digital filter ( This is a signal Shpf from which a certain component not related to camera shake information) has been removed.
[0086]
The cutoff frequency of the high-pass filter 53 is set to a sufficiently small value so as not to affect the camera shake signal. The signal Sin or the signal Shpf from the camera shake sensor 51 is the same camera shake amount even in a system having the same configuration due to variations in analog filters and amplifiers (both not shown) included in the camera shake sensor 51 and the A / D converter 52. Even if is inputted, since the magnitude of the output may be different for each system, the sensor gain adjustment unit 54 is provided to absorb this deviation amount.
[0087]
The sensor gain adjustment unit 54 multiplies the input signal Shpf by a certain gain. The constant gain to be multiplied is set to a value G0 corresponding to the sensitivity of the camera shake sensor 51 by adjustment on a line performed at the time of shipment. However, the optimum gain to be applied to the signal Shpf varies depending on the frequency characteristics of the system. Therefore, gain adjustment information 121 is used as information for absorbing such a change in frequency.
[0088]
Compensation (correction) of the gain using the gain adjustment information 121 is performed by the sensor gain adjustment unit 54 in step S27. In the sensor gain adjustment unit 54, a value G0 to be multiplied with the signal Shpf inputted in advance as a gain is set, and a value G1 using the gain adjustment information 121 is actually added to the signal Shp as the value G0. Is multiplied. The gain adjustment information 121 is used, for example, when the value G1 is calculated by performing a process of adding the gain adjustment information 121 to the value G0.
[0089]
That is, the gain adjustment information 121 is information relating to a value (adjustment amount) for compensating the gain value G0 corresponding to the main frequency F0.
[0090]
In the gain compensation table 84 shown in FIG. 13, for example, when the main frequency F0 is determined to be the frequency spectrum [8], “0.03” is read as the gain adjustment information 121 and is sent to the sensor gain adjustment unit 54. Supplied.
[0091]
In this way, frequency compensation of the gain generated by the transfer function G (f) depending on the system is performed.
[0092]
In the above-described embodiment, the value G0 is set in advance in the sensor gain adjustment unit 54. A value based on the gain adjustment information 121 is added to the value G0, and the value G1 to be actually multiplied is obtained. Although described as being determined, the value itself based on the gain adjustment information 121 may be the value G1 that is actually multiplied. That is, the value G0 is not set in the sensor gain adjustment unit 54, and the input signal Shpf may be multiplied by a value based on the supplied gain adjustment information 121. The gain compensation table 84 differs depending on how the gain is compensated in the system design, and is not limited to the table shown in FIG.
[0093]
For the gain adjustment performed in the sensor gain adjustment unit 54, the correction frequency average value Ave [0] calculated from the current field is used to determine the main frequency F0, and the adjustment based on the main frequency F0 is performed. Therefore, the signal Shpf whose gain is actually adjusted is relative to the signal Shpf obtained from the next field. That is, the gain adjustment performed in the sensor gain adjustment unit 54 is an adjustment using data up to one field before.
[0094]
Of course, the data obtained from the current field may be used to adjust the signal Shpf obtained from the current field, but in this case, the sensor gain adjustment unit 54 may be adjusted. The signal Shpf obtained from the current field is temporarily stored, and once the processing up to the correction amount generation unit 58 is executed, the processing of the sensor gain adjustment unit 54 is performed again. To do.
[0095]
Next, in step S28 (FIG. 10), phase compensation is performed. Then, based on the compensated phase, correction amount information 108 is generated in step S29 by the correction amount information generation unit 86 (FIG. 7).
[0096]
In the phase correction, information corresponding to the determined frequency spectrum [i] corresponding to the main frequency F0 is read from the phase compensation table 85 as shown in FIG. 14, and based on the read information (phase information 132). Thus, the correction amount information generation unit 86 generates the correction amount information 108.
[0097]
Here, generation of the correction amount information 108 will be described. As one method, the correction amount information 108 is determined as the correction amount candidate Sout [n] acquired at the time closest to the central timing of the exposure period among the correction amount candidates Sout [0] to [7]. There is. For example, in the state shown in FIG. 9, the correction amount candidate Sout [6] is determined. However, the correction amount candidate [5] is determined under the condition of the correction amount candidate Sout [n] that is closest to the central timing of the exposure period and is acquired at a time earlier than that timing.
[0098]
This is because, since the camera shake signal changes every moment during the exposure period, the ideal sampling point is different every time during the exposure period. The minimum error is based on the fact that the correction amount is at the center position of the exposure period.
[0099]
However, since there are frequency characteristics (phase advance and delay) of the system, the correction amount candidate Sout [n] acquired at the time closest to the central timing of the exposure period is corrected without taking this into consideration. Even if the amount information 108 is determined, there may be cases where the correction amount candidate Sout [n] acquired at the time closest to the central timing of the exposure period is not determined as the correction amount information 108. That is, the best position (timing) may deviate from the center of the exposure period due to the frequency characteristics of the system system.
[0100]
Therefore, the correction amount information 108 is generated in consideration of the frequency characteristics, particularly in consideration of the phase shift. Here, first, a value corresponding to the frequency spectrum [i] determined as the main frequency F 0 is read from the phase compensation table 85. The phase compensation table 85 is a table in which a value indicating how much the center timing of the exposure period is shifted due to the frequency characteristic is associated with the frequency spectrum [i].
[0101]
The correction amount information 108 is generated by the correction amount information generation unit 86 using the phase information 132 read from the phase compensation table 85, but at the timing (time) in the center of the exposure period. The phase shift amount indicated by the phase information 132 is compensated (processing such as addition), and the calculation result is set as the timing at the center of a new exposure period. Then, the correction amount candidate Sout [n] acquired at the time closest to the central timing of the new exposure period is determined as the correction amount information 108 and output.
[0102]
In this way, considering the frequency characteristics related to the system, the correction amount candidate Sout [n] acquired at the time closest to the central timing of the exposure period is determined as the correction amount information 108 and output. Therefore, it is possible to correct camera shake with high accuracy.
[0103]
However, referring to FIG. 9, it is assumed that the correction amount candidate Sout [n] acquired at the time closest to the central timing of the exposure period is determined as the correction amount information 108 in consideration of the frequency characteristics related to the system. However, there is a possibility that the correction amount candidate Sout [n] is not necessarily acquired at the central timing of the exposure period. In other words, the correction amount candidate Sout [ n]. In order to correct the camera shake with the highest accuracy, it is preferable to determine the correction amount candidate Sout [n] acquired at the exact timing in the middle of the exposure period as the correction amount information 108.
[0104]
Therefore, the correction amount candidate Sout [n] that will be acquired at the center timing of the exposure period is estimated and calculated using the correction amount candidates Sout [0] to [7] that are actually acquired. May be. When estimated and calculated, the central timing of the exposure period uses a value calculated using a value read from the phase compensation table 85 (ie, compensated timing), and the exposure period A correction amount candidate Sout [n] that will be acquired at the central timing is estimated.
[0105]
The phase compensation table 85 shown in FIG. 14 shows the correction amount candidates Sout [n] that will be acquired at the center timing of the exposure period, and the correction amount candidates Sout [0] to [7] that are actually acquired. An example suitable for the case of using and estimating and calculating is shown.
[0106]
The correction amount information 108 generated by the correction amount information generation unit 86 is output to the control unit 16. By performing such processing for each field, correction amount information 108 is generated.
[0107]
Acquisition of a table stored in the correction amount generation unit 58 as the gain compensation table 84 and the phase compensation table 85 will be described. Since the table stores values for canceling the frequency characteristics of the transfer function G (f) of the system, the table can be created by obtaining the transfer function G (f). That is, as one method for acquiring the table, the system transfer function G (f) is theoretically obtained from, for example, a circuit diagram, and the table is created based on the obtained transfer function G (f). Like that.
[0108]
As another method of acquiring the table, the system may be actually constructed, and the table may be created using the constructed system, in this case, the image processing apparatus 10. That is, a vibration is actually applied to the constructed image processing apparatus 10, and a gain and a phase that can most suppress the vibration are calculated (measured) each time, and a table is created.
[0109]
Any method may be used to create the table. However, a table is created so that camera shake can be most effectively suppressed, and the table is used.
[0110]
In the above-described embodiment, both the gain and the phase are compensated, but only one of them may be compensated. In other words, for example, FIG. 7 shows an example in which both the gain compensation table 84 and the phase compensation table 85 are provided, but only one of the tables is provided, and only processing corresponding to the provided table is provided. May be performed.
[0111]
In the above-described embodiment, the gain compensation table 83 and the phase compensation table 85 are provided in the correction amount generation unit 58, but may be stored in the storage unit 57. The correction amount candidate storage unit 71 of the storage unit 57 stores eight correction amount candidates Sout [n], and the correction amount average value storage unit 72 stores 64 correction amount average values Ave [i]. As described above, it is of course possible to store a larger number of values.
[0112]
In the above-described embodiment, the case where the present invention is applied to the electronic correction formula has been described. However, application to an optical correction formula is also possible. When applied to the optical correction equation, the compensation system is changed as necessary.
[0113]
In this way, by generating the correction amount information 108 for suppressing the influence due to the applied vibration in consideration of the frequency characteristic of the system related to the calculation of the correction amount information 108, the frequency characteristic is appropriately set. Therefore, it is possible to perform good camera shake correction. That is, good correction can be performed from the low frequency band to the high frequency band.
[0114]
Therefore, vibrations caused by the photographer's habit, shooting conditions (eg, tiredness, irregular vibrations during shooting operations), shooting environment (eg, shooting in a car or amusement park ride), etc. In contrast, it is possible to realize good camera shake correction.
[0115]
By applying camera shake correction by applying the present invention, it becomes possible to determine the type (frequency) of camera shake, for example, whether it is camera shake in a stationary state or camera shake in a panning state. It becomes possible, and it becomes possible to perform an appropriate correction suitable for the state.
[0116]
The series of processes described above can be executed by hardware, but can also be executed by software. When a series of processing is executed by software, various functions can be executed by installing a computer in which the programs that make up the software are installed in dedicated hardware, or by installing various programs. For example, it is installed from a recording medium in a general-purpose personal computer or the like.
[0117]
FIG. 15 is a diagram illustrating an internal configuration example of a general-purpose personal computer. A CPU (Central Processing Unit) 211 of the personal computer executes various processes according to a program stored in a ROM (Read Only Memory) 212. A RAM (Random Access Memory) 213 appropriately stores data and programs necessary for the CPU 211 to execute various processes. The input / output interface 215 is connected to an input unit 216 including a keyboard and a mouse, and outputs a signal input to the input unit 216 to the CPU 211. The input / output interface 215 is also connected to an output unit 217 including a display and a speaker.
[0118]
Further, a storage unit 218 constituted by a hard disk or the like, and a communication unit 219 for exchanging data with other devices via a network such as the Internet are connected to the input / output interface 215. The drive 220 is used when data is read from or written to a recording medium such as the magnetic disk 231, the optical disk 232, the magneto-optical disk 233, and the semiconductor memory 234.
[0119]
As shown in FIG. 15, the recording medium is distributed to provide a program to the user separately from the personal computer, and a magnetic disk 231 (including a flexible disk) on which the program is recorded, an optical disk 232 (CD- Consists of package media including ROM (Compact Disc-Read Only Memory), DVD (including Digital Versatile Disc), magneto-optical disk 233 (including MD (Mini-Disc) (registered trademark)), or semiconductor memory 234 In addition, it is configured by a hard disk including a ROM 212 storing a program and a storage unit 218 provided to the user in a state of being pre-installed in a computer.
[0120]
In this specification, the steps for describing the program provided by the medium are performed in parallel or individually in accordance with the described order, as well as the processing performed in time series, not necessarily in time series. The process to be executed is also included.
[0121]
Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
[0122]
【The invention's effect】
As described above, according to the present invention, it is possible to reduce the influence of vibrations such as camera shake.
[0123]
In addition, according to the present invention, the frequency of the applied vibration can be estimated and the type of vibration can be discriminated, so that it is possible to correct camera shake more accurately and according to the situation. It becomes.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a method for reducing the influence of applied vibration.
FIG. 2 is a diagram illustrating a configuration of an example of an apparatus for calculating a correction amount.
FIG. 3 is a diagram for explaining the influence of frequency characteristics.
FIG. 4 is a diagram illustrating frequency characteristics depending on the type of camera shake.
FIG. 5 is a diagram showing a configuration of an embodiment of an image processing apparatus 10 to which the present invention is applied.
6 is a diagram illustrating an internal configuration example of a camera shake correction unit 21. FIG.
FIG. 7 is a diagram illustrating an internal configuration example of a correction amount generation unit 58;
FIG. 8 is a flowchart for describing correction amount information generation processing;
FIG. 9 is a diagram illustrating generation of correction amount candidates.
FIG. 10 is a flowchart illustrating details of the process in step S5 of FIG.
FIG. 11 is a diagram for describing data used for FFT calculation processing;
FIG. 12 is a diagram for explaining determination of a main frequency F0.
13 is a diagram illustrating an example of a gain compensation table 84. FIG.
14 is a diagram illustrating an example of a phase compensation table 85. FIG.
FIG. 15 is a diagram illustrating a medium.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 10 Image processing apparatus, 11 Optical imaging part, 12 CCD, 13 Analog signal processing part, 14 Digital signal processing part, 15 Memory, 16 Control part, 17 Lens drive part, 18 Timing generator, 19 Interface control part, 20 User interface, 21 camera shake correction unit, 22 brightness control unit, 51 camera shake sensor, 52 A / D conversion unit, 53 high-pass filter, 54 sensor gain adjustment unit, 55 zoom gain adjustment unit, 56 integral filter, 57 storage unit, 58 correction Amount generation unit, 71 correction amount candidate storage unit, 72 correction amount average value storage unit, 81 average value calculation unit, 82 FFT calculation unit, 83 frequency determination unit, 84 gain compensation table, 85 phase compensation table, 86 correction amount information generation Part

Claims (10)

撮像素子により画像を撮像するとき、加えられた振動による前記画像への影響を低減するための補正を行う画像処理装置において、
前記振動を検出し、振動検出情報を出力する出力手段と、
前記出力手段により出力された前記振動検出情報をサンプリングするサンプリング手段と、
前記サンプリング手段によりサンプリングされた値に基づいて補正量候補を算出する算出手段と、
前記算出手段により算出された前記補正量候補に基づいた演算を行うか、または、前記補正量候補から所定の条件を満たす前記補正量候補を選択することにより、補正量情報を生成する生成手段と、
前記生成手段により生成された前記補正量情報に基づいて、前記撮像素子により撮像された画像から切り出す画像の領域を制御する制御手段と、
前記算出手段により算出された前記補正量候補に基づいて、前記振動の周波数成分を推定する推定手段と、
前記周波数成分と修正量が関連付けられたテーブルを記憶する記憶手段と、
前記推定手段により推定された前記周波数成分に対応する前記修正量を、前記記憶手段により記憶されている前記テーブルから読み出す読み出し手段と、
前記読み出し手段により読み出された前記修正量に基づき前記生成手段が前記補正量情報を生成するために用いる値修正する修正手段と
を含むことを特徴とする画像処理装置。
In an image processing apparatus that performs correction to reduce the influence on the image due to applied vibration when an image is captured by an image sensor,
Output means for detecting the vibration and outputting vibration detection information;
Sampling means for sampling the vibration detection information output by the output means;
Calculating means for calculating a correction amount candidate based on the value sampled by the sampling means;
Generating means for generating correction amount information by performing an operation based on the correction amount candidates calculated by the calculating means, or by selecting the correction amount candidates satisfying a predetermined condition from the correction amount candidates; ,
Control means for controlling a region of an image cut out from an image picked up by the image pickup device based on the correction amount information generated by the generating means;
Estimating means for estimating a frequency component of the vibration based on the correction amount candidate calculated by the calculating means;
Storage means for storing a table in which the frequency component and the correction amount are associated;
Reading means for reading the correction amount corresponding to the frequency component estimated by the estimating means from the table stored by the storage means;
An image processing apparatus comprising: correction means for correcting a value used by the generation means to generate the correction amount information based on the correction amount read by the reading means.
前記推定手段は、第1の期間内に前記算出手段により算出された前記補正量候補の平均値を算出し、第2の期間内に算出された前記平均値を用いたFFT演算を行い、その演算結果を用いて前記振動の周波数成分を推定する
ことを特徴とする請求項1に記載の画像処理装置。
The estimating means calculates an average value of the correction amount candidates calculated by the calculating means within a first period, performs an FFT operation using the average value calculated within a second period, and The image processing apparatus according to claim 1, wherein a frequency component of the vibration is estimated using a calculation result.
前記推定手段は、前記FFT演算の結果、最もレベルが高い値の周波数を前記振動の周波数成分と推定する
ことを特徴とする請求項2に記載の画像処理装置。
The image processing apparatus according to claim 2, wherein the estimation unit estimates a frequency having a highest level as a frequency component of the vibration as a result of the FFT operation.
前記修正手段は、さらに、前記読み出し手段により読み出された前記修正量に基づき、前記算出手段が前記補正量候補を算出するために用いる値を修正するThe correcting unit further corrects a value used by the calculating unit to calculate the correction amount candidate based on the correction amount read by the reading unit.
ことを特徴とする請求項1に記載の画像処理装置。  The image processing apparatus according to claim 1.
前記修正手段は、前記読み出し手段により読み出された前記修正量に基づき、前記生成手段が前記補正量情報を生成するために用いる値として前記補正量候補の位相を修正するThe correction unit corrects the phase of the correction amount candidate as a value used by the generation unit to generate the correction amount information based on the correction amount read by the reading unit.
ことを特徴とする請求項1に記載の画像処理装置。  The image processing apparatus according to claim 1.
前記修正手段は、前記読み出し手段により読み出された前記修正量に基づき、前記算出手段が前記補正量候補を算出するために用いる値として前記振動検出情報のゲインを修正するThe correcting unit corrects the gain of the vibration detection information as a value used by the calculating unit to calculate the correction amount candidate based on the correction amount read by the reading unit.
ことを特徴とする請求項4に記載の画像処理装置。  The image processing apparatus according to claim 4.
前記修正手段は、前記読み出し手段により読み出された前記修正量に基づき、前記生成手段が前記補正量情報を生成するために用いる値として前記補正量候補の位相を修正するThe correction unit corrects the phase of the correction amount candidate as a value used by the generation unit to generate the correction amount information based on the correction amount read by the reading unit.
ことを特徴とする請求項6に記載の画像処理装置。  The image processing apparatus according to claim 6.
撮像素子により画像を撮像するとき、加えられた振動による前記画像への影響を低減するための補正を行う画像処理装置の画像処理方法において、In an image processing method of an image processing apparatus for performing correction to reduce the influence on the image due to applied vibration when an image is picked up by an image pickup device,
前記振動に関する振動検出情報をサンプリングするサンプリングステップと、  A sampling step of sampling vibration detection information relating to the vibration;
前記サンプリングステップの処理でサンプリングされた値に基づいて補正量候補を算出する算出ステップと、  A calculation step of calculating a correction amount candidate based on the value sampled in the sampling step;
前記算出ステップの処理で算出された前記補正量候補に基づいた演算を行うか、または、前記補正量候補から所定の条件を満たす前記補正量候補を選択することにより、補正量  A correction amount is obtained by performing an operation based on the correction amount candidate calculated in the calculation step or selecting the correction amount candidate satisfying a predetermined condition from the correction amount candidates. 情報を生成する生成ステップと、A generation step for generating information;
前記生成ステップの処理で生成された前記補正量情報に基づいて、前記撮像素子により撮像された画像から切り出す画像の領域を制御する制御ステップと、  A control step for controlling a region of an image cut out from an image captured by the image sensor based on the correction amount information generated in the processing of the generation step;
前記算出ステップの処理で算出された前記補正量候補に基づいて、前記振動の周波数成分を推定する推定ステップと、  An estimation step of estimating a frequency component of the vibration based on the correction amount candidate calculated in the processing of the calculation step;
前記周波数成分と修正量が関連付けられたテーブルの記憶を制御する記憶制御ステップと、  A storage control step for controlling storage of a table in which the frequency component and the correction amount are associated;
前記推定ステップの処理で推定された前記周波数成分に対応する前記修正量を、前記記憶制御ステップの処理で記憶が制御された前記テーブルから読み出す読み出しステップと、  A step of reading out the correction amount corresponding to the frequency component estimated in the process of the estimation step from the table whose storage is controlled in the process of the storage control step;
前記読み出しステップの処理で読み出された前記修正量に基づき、前記生成ステップの処理で前記補正量情報を生成するために用いる値を修正する修正ステップと  A correction step of correcting a value used for generating the correction amount information in the generation step based on the correction amount read out in the reading step;
を含むことを特徴とする画像処理方法。  An image processing method comprising:
撮像素子により画像を撮像するとき、加えられた振動による前記画像への影響を低減するための補正を行う画像処理装置のプログラムであって、A program for an image processing apparatus that performs correction to reduce the influence on the image due to applied vibration when an image is picked up by an image pickup device,
前記振動に関する振動検出情報をサンプリングするサンプリングステップと、  A sampling step of sampling vibration detection information relating to the vibration;
前記サンプリングステップの処理でサンプリングされた値に基づいて補正量候補を算出する算出ステップと、  A calculation step of calculating a correction amount candidate based on the value sampled in the sampling step;
前記算出ステップの処理で算出された前記補正量候補に基づいた演算を行うか、または、前記補正量候補から所定の条件を満たす前記補正量候補を選択することにより、補正量情報を生成する生成ステップと、  Generation for generating correction amount information by performing an operation based on the correction amount candidate calculated in the processing of the calculation step or by selecting the correction amount candidate satisfying a predetermined condition from the correction amount candidates Steps,
前記生成ステップの処理で生成された前記補正量情報に基づいて、前記撮像素子により撮像された画像から切り出す画像の領域を制御する制御ステップと、  A control step for controlling a region of an image cut out from an image captured by the image sensor based on the correction amount information generated in the processing of the generation step;
前記算出ステップの処理で算出された前記補正量候補に基づいて、前記振動の周波数成分を推定する推定ステップと、  An estimation step of estimating a frequency component of the vibration based on the correction amount candidate calculated in the processing of the calculation step;
前記周波数成分と修正量が関連付けられたテーブルの記憶を制御する記憶制御ステップと、  A storage control step for controlling storage of a table in which the frequency component and the correction amount are associated;
前記推定ステップの処理で推定された前記周波数成分に対応する前記修正量を、前記記憶制御ステップの処理で記憶が制御された前記テーブルから読み出す読み出しステップと、  A step of reading out the correction amount corresponding to the frequency component estimated in the process of the estimation step from the table whose storage is controlled in the process of the storage control step;
前記読み出しステップの処理で読み出された前記修正量に基づき、前記生成ステップの処理で前記補正量情報を生成するために用いる値を修正する修正ステップと  A correction step of correcting a value used for generating the correction amount information in the generation step based on the correction amount read out in the reading step;
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。  A recording medium on which a computer-readable program is recorded.
撮像素子により画像を撮像するとき、加えられた振動による前記画像への影響を低減するための補正を行う画像処理装置を制御するコンピュータに、When an image is picked up by an image pickup device, a computer that controls an image processing apparatus that performs correction to reduce the influence of the applied vibration on the image,
前記振動に関する振動検出情報をサンプリングするサンプリングステップと、  A sampling step of sampling vibration detection information relating to the vibration;
前記サンプリングステップの処理でサンプリングされた値に基づいて補正量候補を算出する算出ステップと、  A calculation step of calculating a correction amount candidate based on the value sampled in the sampling step;
前記算出ステップの処理で算出された前記補正量候補に基づいた演算を行うか、または、前記補正量候補から所定の条件を満たす前記補正量候補を選択することにより、補正量情報を生成する生成ステップと、  Generation for generating correction amount information by performing an operation based on the correction amount candidate calculated in the processing of the calculation step or by selecting the correction amount candidate satisfying a predetermined condition from the correction amount candidates Steps,
前記生成ステップの処理で生成された前記補正量情報に基づいて、前記撮像素子により撮像された画像から切り出す画像の領域を制御する制御ステップと、  A control step for controlling a region of an image cut out from an image captured by the image sensor based on the correction amount information generated in the processing of the generation step;
前記算出ステップの処理で算出された前記補正量候補に基づいて、前記振動の周波数成分を推定する推定ステップと、  An estimation step of estimating a frequency component of the vibration based on the correction amount candidate calculated in the processing of the calculation step;
前記周波数成分と修正量が関連付けられたテーブルの記憶を制御する記憶制御ステップと、  A storage control step for controlling storage of a table in which the frequency component and the correction amount are associated;
前記推定ステップの処理で推定された前記周波数成分に対応する前記修正量を、前記記憶制御ステップの処理で記憶が制御された前記テーブルから読み出す読み出しステップと  A reading step of reading the correction amount corresponding to the frequency component estimated in the processing of the estimation step from the table whose storage is controlled in the processing of the storage control step; ,
前記読み出しステップの処理で読み出された前記修正量に基づき、前記生成ステップの処理で前記補正量情報を生成するために用いる値を修正する修正ステップと  A correction step of correcting a value used for generating the correction amount information in the generation step based on the correction amount read out in the reading step;
を実行させるプログラム。  A program that executes
JP2002034876A 2002-02-13 2002-02-13 Image processing apparatus and method, recording medium, and program Expired - Fee Related JP3865126B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002034876A JP3865126B2 (en) 2002-02-13 2002-02-13 Image processing apparatus and method, recording medium, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002034876A JP3865126B2 (en) 2002-02-13 2002-02-13 Image processing apparatus and method, recording medium, and program

Publications (2)

Publication Number Publication Date
JP2003234951A JP2003234951A (en) 2003-08-22
JP3865126B2 true JP3865126B2 (en) 2007-01-10

Family

ID=27777226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002034876A Expired - Fee Related JP3865126B2 (en) 2002-02-13 2002-02-13 Image processing apparatus and method, recording medium, and program

Country Status (1)

Country Link
JP (1) JP3865126B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316294A (en) * 2004-04-30 2005-11-10 Olympus Corp Photographing device and single lens reflex camera
JP4739797B2 (en) * 2005-04-04 2011-08-03 株式会社 ニコンビジョン Optical observation device
JP4769564B2 (en) * 2005-12-09 2011-09-07 キヤノン株式会社 Image shake correction apparatus, imaging apparatus, and lens apparatus
JP5083011B2 (en) * 2007-04-19 2012-11-28 パナソニック株式会社 Method for evaluating camera shake correction function of image pickup apparatus and method for generating camera shake model waveform
JP4835610B2 (en) * 2007-04-19 2011-12-14 パナソニック株式会社 Evaluation method of captured images
JP2009128400A (en) * 2007-11-20 2009-06-11 Sanyo Electric Co Ltd Multi-chip package semiconductor device
WO2013076965A1 (en) * 2011-11-22 2013-05-30 パナソニック株式会社 Measuring method, measuring device, computer program and recording medium
JP6097936B2 (en) * 2013-03-22 2017-03-22 パナソニックIpマネジメント株式会社 Image stabilizer, interchangeable lens, camera system
JP5954388B2 (en) * 2014-10-02 2016-07-20 株式会社ニコン Vibration correction apparatus and photographing apparatus

Also Published As

Publication number Publication date
JP2003234951A (en) 2003-08-22

Similar Documents

Publication Publication Date Title
JP5249377B2 (en) Imaging apparatus, control method therefor, and program
US7424212B2 (en) Camera shaking correcting method, camera shaking correcting device, and image pickup device
US8629910B2 (en) Image capture apparatus and control method thereof
US20160255273A1 (en) Control apparatus, image pickup apparatus, control method, and non-transitory computer-readable storage medium which are capable of performing tilt correction
US6982746B1 (en) Apparatus and method for correcting shake by controlling sampling timing of shake signal
US20080012950A1 (en) Image pickup systems
JP2010025961A (en) Image stabilization control apparatus and image capturing apparatus
JP6821358B2 (en) Control device, image pickup device, lens device, control method, program, and storage medium
JP3865126B2 (en) Image processing apparatus and method, recording medium, and program
JP2018025703A (en) Shake correction device, optical apparatus, and shake correction correct method
JP2008209577A (en) Camera
US8860822B2 (en) Imaging device
JP2012078495A (en) Imaging device, shake correction device, and shake correction method
JP3740398B2 (en) Shake correction device, control device applied to shake correction device, control method applied to shake correction device, control program applied to shake correction device, imaging device
JP3865125B2 (en) Image processing apparatus and method, recording medium, and program
JP5249378B2 (en) Imaging apparatus, control method therefor, and program
KR101399986B1 (en) Audi0 signal processing apparatus
JP2019125890A (en) Image shake correction device, camera body, image shake correction method, and program
CN104754205B (en) Image stabilizing apparatus and method, the image pick-up device for having the device
JP4387028B2 (en) IMAGING DEVICE, IMAGING METHOD, AND COMPUTER-READABLE RECORDING MEDIUM RECORDING PROGRAM FOR CAUSING COMPUTER TO EXECUTE THE METHOD
JP2005326776A (en) Image blur correcting device
JP2005141207A (en) Blurring correcting apparatus and camera system
JP4176935B2 (en) Imaging device with camera shake prevention function
JP3937574B2 (en) Imaging device
JP4016725B2 (en) Imaging apparatus, signal processing method, recording medium, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060927

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

Free format text: PAYMENT UNTIL: 20091013

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101013

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101013

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121013

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121013

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131013

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees