本発明の目的は、動画撮影時のフレーム内のぶれによる劣化を防止して高品質の画像を復元する撮像装置および画像補正方法を提供することにある。
上記目的を達成するために、請求項1に係る本発明においては、被写体を撮像するための光学系と;前記光学系により形成された被写体像より画像データを得るための撮像手段と;前記撮像素子への露光を制御するための露光制御手段と;手ぶれを検出するための手ぶれ検出手段と;前記撮像素子の露光期間中における、前記手ぶれ検出手段から出力される時系列の手ぶれ検出信号を記憶するための手ぶれ検出信号記憶手段と;前記撮像手段を連続的に動作させる連続動作手段と;前記連続動作手段により撮像手段から順次得られた画像データに対して、フレーム内で発生した手ぶれによる劣化は、前記手ぶれ検出信号記憶手段に記憶された該当フレームに対応した時系列の手ぶれ検出信号によって復元するフレーム内手ぶれ補正手段を動作させ、フレーム間で発生した手ぶれによる劣化は、フレーム間で発生した画像シフトに応じて画像データの相対的な位置を補正することによって補正を行うフレーム間手ぶれ補正手段を動作させる手ぶれ補正コントローラとを具備して構成されている。
請求項2に係る本発明においては、撮像手段からの画像データを表示するためのモニタと;前記フレーム内手ぶれ補正手段および前記フレーム間手ぶれ補正手段により手ぶれ補正のなされた画像データを上記モニタに表示するための表示制御手段とをさらに具備して構成されている。
請求項3に係る本発明においては、前記フレーム内手ぶれ補正手段および前記フレーム間手ぶれ補正手段により手ぶれ補正のなされた画像データを適用された記録媒体に記録するための記録手段をさらに具備して構成されている。
請求項4に係る本発明においては、前記フレーム内手ぶれ補正手段および前記フレーム間手ぶれ補正手段により手ぶれ補正のなされた画像データを圧縮する画像圧縮手段と;前記画像圧縮手段で圧縮された圧縮データを適用された記録媒体に記録するための記録手段とをさらに具備して構成されている。
請求項5に係る本発明においては、前記手ぶれ補正コントローラは、フレーム内手ぶれ補正手段を動作させた後に、このフレーム内で発生した手ぶれによる劣化を補正された画像データよりフレーム間で発生した画像シフトを求め、このフレーム間で発生した画像シフトよりフレーム間手ぶれ補正手段を動作させている。
請求項6に係る本発明においては、手ぶれ補正コントローラは、フレーム間手ぶれ補正手段を動作させた後に、フレーム内手ぶれ補正手段を動作させている。
請求項7に係る本発明においては、前記手ぶれ補正コントローラは、前記画像データよりフレーム間で発生した画像シフトを求め、このフレーム間で発生した画像シフトよりフレーム間手ぶれ補正手段を動作させている。
請求項8に係る本発明においては、前記手ぶれ補正コントローラは、前記手ぶれ検出信号に応じてフレーム間で発生した画像シフトを求め、このフレーム間で発生した画像シフトよりフレーム間手ぶれ補正手段を動作させている。
請求項9に係る本発明においては、前記手ぶれ補正コントローラは、前記フレーム内手ぶれ補正手段と前記フレーム間手ぶれ補正手段の両方またはいずれか一方を選択的に動作させることができる。
請求項10に係る本発明においては、撮像手段を連続的に動作させて順次得られた画像データに対して、フレーム内の手ぶれによる画像データの劣化は、撮影時の手ぶれを検出して記憶されたそのフレームに対応する時系列の手ぶれ検出信号によって復元し、フレーム間で発生した手ぶれによる画像データの劣化は、フレーム間で発生した画像シフトに応じて画像データの相対的な位置を補正して復元している。
請求項1に係る本発明の構成によれば、動画撮影においてフレーム間の手ぶれ補正に加えてフレーム内の手ぶれ補正も行なうため、フレーム間の手ぶれ補正のみを行なう場合に加えて、高品位の画像が得られる。
請求項2に係る本発明の構成によれば、被写体をモニタする画像において、フレーム間の手ぶれ補正に加えてフレーム内の手ぶれ補正も行なうため、フレーム間の手ぶれ補正のみを行なう場合に加えて、高品位画像を観察することができる。
請求項3に係る本発明の構成によれば、動画撮影においてフレーム間の手ぶれ補正に加えてフレーム内の手ぶれ補正も行なうため、フレーム間の手ぶれ補正のみを行なう場合に加えて、高品位画像を記録することができる。
請求項4に係る本発明の構成によれば、手ぶれ復元演算を行なった後に画像を圧縮・記録するために、画像復元演算時に圧縮前の劣化のない状態で行なえ、正確な手ぶれ復元演算ができる。また、その後圧縮して記録できるので、少ない容量の小型・安価な記憶媒体でも多くの枚数の画像を記憶できる。
請求項5に係る本発明の構成によれば、動画撮影においてフレーム内の手ぶれ補正をしてから、そのデータをもとにフレーム間の画像シフトを画像データより求めているため、フレーム内の手ぶれ補正をしない画像を用いてフレーム間の画像シフトを求める場合に比べて、正確なフレーム間のシフト量を算出することができ、より正確な手ぶれ補正ができる。
請求項6に係る本発明の構成によれば、先にフレーム間補正を行ない、実際に画像として表示されるエリアが確定してからフレーム内補正を行なえるので、表示に使用されない無駄な部分についても補正をかける場合よりも処理の量が少なくてすむ。
請求項7に係る本発明の構成によれば、フレームのシフトに関しては、手ぶれ検出手段の出力がフレーム内よりもフレーム間で一般的に長時間になるため、ノイズ成分の積算でフレームのシフトが不正確になることがなく、正確なシフトができる。
請求項8に係る本発明の構成によれば、フレーム間、フレーム内ともに手ぶれ検出手段の出力をもとにするため、画面内で被写体側に動くものがあっても、それに影響されてフレームのシフトが不正確になることがなく、動いていない被写体の手ぶれによる劣化を確実に補正できる。
請求項9に係る本発明の構成によれば、手ぶれによるフレーム内の劣化が小さい場合など、必要のない部分の動作をさせないため、電力消費を抑えることができる。
請求項10に係る本発明の構成によれば、動画撮影においてフレーム間の手ぶれ補正に加えてフレーム内の手ぶれ補正も行なうため、フレーム間の手ぶれ補正のみを行なう場合に加えて、高品位の画像が得られる。
以下、図面を参照して本発明の各実施例を説明する。図1は、撮像装置としてデジタルカメラに適用した本発明の実施例1を示し、(A)(B)はデジタルカメラの前面斜視図、背面斜視図である。
図1(A)(B)からわかるように、カメラボディ1の前面にレンズユニット2が接続されるとともに、ファインダ6がカメラボディ1の背面に一体的に組み付けられている。レンズユニット2は、複数枚の撮影用レンズとその駆動手段とから構成されており、その詳細は図2に即して後述する。
3はレリーズスイッチであり、押すと(オンすると)撮影動作が開始される。4はTボタン4ー1、Wボタン4ー2からなるズームスイッチであり、Tボタンを押すとテレ側への撮影レンズの変倍動作が行なわれ、Wボタンを押すとワイド側への変倍動作が行なわれる。5は手ぶれモードの設定スイッチであり、手ぶれモードスイッチ5を押して手ぶれモードに設定すると、モードランプ5ー1が点灯して手ぶれモードであることがわかる。6はビューファインダであり、ビューファインダ6はたとえば小型LCDをルーペで拡大する電子ビューファインダからなり、撮像素子(CCD)の画像をリアルタイムで表示し、いわゆるスルー画がビューファインダに表示可能となっている。7は静止画、動画を切替えるモードキー(スライドキー)であり、モードキー7をS側(STILL)にすると静止画撮影モードが設定され、M側(MOVIE)にすると動画撮影モードが設定される。
8はフラッシュであり、低輝度時には発光して被写体を照明する補助光となる。9はモード操作キーであり、モード操作キー9の中央の決定ボタンの周囲に4個のボタンが配置され、マクロ撮影、セルフタイマー、フラッシュなどのオンがモード操作キー9によって設定される。10は背面LCDパネルであり、撮影した画像が再生されるとともに、スルー画も表示可能となっている。11はパワースイッチであり、パワースイッチ11を押してオンとすることにより、露光、撮像などが可能となる。背面LCDパネル10は、ビューファインダ6とともにモニタとして利用される。
図2は光学系であるレンズユニット2の概略図であり、レンズユニットは、たとえば3枚のレンズ12、13、14を持つ。3枚のレンズのうち、レンズ12、13は、相互の位置関係を変えることによってレンズの焦点距離を変化させる、いわゆる変倍レンズ(ズームレンズ)であり、ズームの際には、ズームモータ104の駆動力が、ギア18a、18bを介してズーム用レンズ駆動カム機構17に伝達され、レンズ駆動カム機構によってレンズ12、13が光軸に沿って動かされる。
レンズ14は光軸に沿って前後に移動することによってピントずれの調整を行なういわゆるフォーカスレンズであり、フォーカス調整の際には、フォーカスモータ105の駆動力が、ギア20a、20b介してフォーカス用レンズ駆動カム機構19に伝達され、レンズ駆動カム機構によってレンズ14が動かされる。レンズ14の後方には、たとえばCCDからなる撮像素子(撮像手段)114が位置し、レンズ12、13、14を通過した光束が撮像素子上に結像し、撮像素子の各画素で光電変換されて撮像する。15は絞り、16はシャッタであり、絞り15、シャッタ16によって撮像素子114への光量(露光)が制御される。メカニカルなシャッタ16に代えて、撮像素子114の素子シャッタ(電子シャッタ)を使用してもよい。
図3はデジタルカメラの制御回路の構成図であり、101はたとえばリチウムイオン充電池などの充電可能な電池からなるバッテリである。102は、バッテリ101から昇圧回路や降圧回路によって必要な電圧の電源を生成して各処理回路に供給する電源回路である。103はモータドライバ回路であり、スイッチングトランジスタを含む電気回路で構成され、シーケンス制御回路119の指示にしたがってフォーカスモータ104、ズームモータ105、シャッタモータ106、絞りモータ107を駆動制御する。108、109は相互に直交するX軸、Y軸の回りの角速度を検出する角速度センサ(手ぶれ検出手段)であり、図1(A)に示すように、素子の長辺方向を軸として互いに直交する方向に配置され、その軸に沿った角速度を検出する。
110は角速度センサ108、109の出力のオフセットをキャンセルしたり、その出力を増幅するアナログ処理回路であり、角速度センサ108、109とともに手ぶれ検出手段を構成する。アナログ処理回路110の出力はA/D変換回路111でデジタル信号に変換されて基本軌跡演算回路112に入力される。基本軌跡演算回路112はその入力を時間で積分して時間毎の変位角度を算出し、この変位角度を時間に対応して出力して、つまり時系列に出力して、撮像面上の(CCD114上の)画像の光軸付近の手ぶれによる上下方向、左右方向のぶれ軌跡を検出する。ここで、手ぶれの検出は角速度センサ108、109に限定されず、角速度センサ108、109の代わりに、その演算処理を変更すれば、角加速度センサや2個ワンペアの加速度センサで手ぶれを検出して、同様のぶれ軌跡を算出してもよい。113は、基本軌跡演算回路112で検出されたぶれ軌跡を記憶する軌跡メモリー回路であり、手ぶれ検出信号記憶手段として機能する。
114は、図2で述べたレンズユニット2の背後に位置するCCDからなる撮像素子、115は撮像素子(CCD)114からの出力を処理するCCD出力処理回路、116は撮像素子114の出力データおよびCCD出力処理回路115での処理途中の画像データを一時保持する画像メモリーである。画像メモリー116に記憶されたデータは、画像処理回路117によってRGB処理、シェーディング補正処理などの基本処理を施される。しかし、画像処理回路117では、手ぶれ画像の復元演算の障害となるγ変換や画像圧縮は行なわれず(これらは後述する画像圧縮・伸長回路151でなされる)、データは、画像復元演算回路123や画像シフト回路132に送られる。なお、撮像素子114はシーケンス制御回路119からの制御信号により、CCDドライバ(図示しない)を介して駆動制御される。
122は手ぶれによる画像の劣化を復元するための画像復元関数f-1を算出する回路であり、画像復元関数f-1は、基本軌跡演算回路112の出力から原画像がどのように変化するかを予測して出力される。画像復元関数f-1は、画面中央では基本軌跡演算回路112の出力から直接算出され、画面中央以外については、デジタルカメラのレンズ12、13、14が、ズーム位置およびフォーカス位置に依存した画像歪(デイストーション)を持っているため、補正が必要になる。このため、実施例のデジタルカメラでは、画面のエリアごとに、ズーム位置、フォーカス位置に対応した画像歪(ディストーション)補正データが補正値記憶メモリー118(ディストーション情報記憶手段)に記憶される。
たとえば、ディストーションの影響で画面の周辺の画像が画面中央の画像に対して圧縮されていれば、画面の周辺では画面中央に対して軌跡変化も圧縮されるため、軌跡補正回路121では、まず、基本軌跡演算回路112から出力された軌跡データを画像エリアごとに、補正値記憶メモリー118の値に基づいて補正し、補正された軌跡データを画像復元関数算出回路122に出力する。つまり、補正値記憶メモリー118に記憶された軌跡補正データは軌跡補正回路121に入力され、画像復元関数算出回路122では、軌跡補正回路121の出力に基づいて各画面エリアごとに画像復元関数f-1を算出する。ここで画像復元関数f-1は、手ぶれによって発生する画像劣化関数fの逆関数である。
γ変換や画像圧縮の行なわないデータが画像処理回路117から送られる画像復元演算回路123では、画面のエリアごとに画像復元関数算出回路122で算出された画像復元関数f-1によって画像変換が行なわれる。画像復元演算回路123で画像歪(デイストーション)の影響を排して、手ぶれによる画像劣化の復元がなされた画像は、画像圧縮・伸長回路151でデータ圧縮され、内蔵フラッシュメモリーなどの画像記憶媒体153に記録手段152を利用して書き込まれる。内蔵フラッシュメモリーの代わりに、装填式メモリーカードのような外部メモリーを画像記憶媒体153としてもよい。なお、軌跡補正回路121、画像復元関数算出回路122、画像復元演算回路123から、レンズ12、13、14の画像歪(デイストーション)を画面のエリアごとに電子的に補正する静止画の電子手ぶれ補正回路120が形成され、軌跡補正回路121は手ぶれ検出信号補正手段として、画像復元関数算出回路122は画像復元関数算出手段として、画像復元演算回路123は手ぶれ復元手段として、画像庄縮・伸長回路151は圧縮手段としてそれぞれ機能する。
119はマイクロコンピュータなどのCPUからなるシーケンス制御回路であり、レリーズスイッチ3、ズームスイッチ4(T、W)、パワースイッチ11、手ぶれモードスイッチ5、モードキー7などのオン・オフを検出し、各構成要素の動きを制御してデジタルカメラ全体の制御を行なう。シーケンス制御回路119は、具体的には、(シーケンス)コントローラ、撮像素子を連続的に動作させる連続動作手段、モニタ(ビューファインダ6、背面LCDパネル10)の表示を制御する表示制御手段、第1、第2の手ぶれ補正手段(画像復元演算回路123、画像シフト回路132)のコントローラなどとなる。
131は、スルー画を取得している期間のフレーム間シフト量を算出する回路であり、フレーム間シフト量算出回路131は、基本軌跡演算回路112から各フレーム期間ごとの手ぶれの軌跡を受け取り、対応する画像のシフトすべき量を算出する。132は画像シフト回路であり、撮像素子(CCD)114からの画像を画像メモリー116から受け取り、フレーム間シフト量算出回路131の出力に基づいて、手ぶれ量だけシフトして、動画(またはスルー画)における手ぶれ補正を行なう。フレーム間シフト量算出回路131、画像シフト回路132から動画の電子手ぶれ補正回路130が形成される。そして、静止画における画像復元演算手段123を第1の手ぶれ補正手段とすれば、動画における画像シフト回路132は第2の手ぶれ補正手段ということができる。
動画電子手ぶれ補正回路130で処理された手ぶれ補正済みの動画は、画像圧縮・伸長回路151(圧縮手段)によってデータ圧縮され、記録手段152によって画像記録媒体153に記録される。また、静止画、動画を問わず、モニタ画像としてカメラボディ背面の背面LCDパネル10やビューファインダ6に送られて表示される。画像圧縮・伸長回路151は、画像記憶媒体153から記録手段152によって読み出された画像データをディスプレイ10、ビューファインダ6に表示するための伸長機能も備えている。なお、内蔵フラッシュメモリー、外部メモリー(たとえば、装填式メモリーカード)などの画像記憶媒体153に画像復元演算回路123からの出力を記録手段152によって記録すれば、画面全体で鮮鋭な画像を記録できる。
静止画での電子手ぶれ補正について述べると、図4は静止画での電子手ぶれ補正のイメージであり、図4(A)(B)はX軸、Y軸での手ぶれ(回転角)θx、θyの変化、図4(C)は撮像素子(CCD)114上でのぶれ軌跡、図4(D)は原画像と撮像画像との関係を示す。
図3に即して述べたように、角速度センサ108、109で検出したX軸およびY軸の手ぶれから、基本軌跡演算回路112に、図4(A)(B)に示すような時間対応のつまり時系列の変位角θx、θyのデータが出力される。次に、その時点でのズームの位置からレンズの焦点距離がわかるため近軸計算によって、図4(C)に示すように、撮像素子(CCD)114上のぶれの変位軌跡が算出される。そして、撮像素子114上のぶれ軌跡から、手ぶれによる画像劣化係数fを算出し、画像劣化係数fによって撮像画像(原画像)iがぶれ画像jに劣化しているはずであるから、fの逆関数f-1すなわち画像復元関数を演算して求めて、この画像復元関数f-1を用いて逆変換すれば、撮像画像iが復元される。
このように静止画においては、撮影時の手ぶれによる時系列の手ぶれによる撮像素子114上のぶれ軌跡から画像劣化係数fを算出し、fの逆関数f-1すなわち画像復元関数による逆変換によってぶれ画像を復元している。この際、軌跡補正回路121においてぶれ軌跡に対して補正を行ない、光学系のディストーションの影響を排除しているので、光学系にディストーションがあっても、中央から周辺まで、画面エリアごとに正確な手ぶれによる像の軌跡が出力され、画面全体にわたって正確な手ぶれ復元ができ、画面全体で鮮鋭な画像を得ることができる。
図5は動画電子手ぶれ補正のイメージであり、図5(A)(B)(C)は変動する3つのフレームを示し、図5(D)(E)は3つのフレームの単純に順次表示した画像と、補正された画像を順次表示した画像を示す。図4(D)の画像は手ぶれ補正されない画像に、図5(E)の画像は手ぶれ補正された画像にそれぞれ相当する。
動画においてはフレーム間のずれが手ぶれとして認識されるため、画像シフトによって補正する。図5(A)(B)(C)に示すように、たとえば3枚の画像1、2、3を考えた場合、1と2の間は(u→)で表される画像が紙面上で、左下側にずれる方向でのベクトル移動、2と3の間は(v→)で表される画像が紙面上で、右下側にずれる方向でのベクトル移動と仮定する。この場合、単純に画像1、2、3を順次表示すると図5(D)に示すように、ぶれて見える。しかし、u→およびv→の逆ベクトル分をずらして順次表示すれば(画像1+画像2*(−u→)+画像3*(−u→)*(−v→))、図5(E)に示すように、手ぶれのない明瞭な像が見える。ここで「*」は、画像シフトを表す演算子とする。
図6(A)(B)は、動画、動画モード時のスルー画、静止画モード時のスルー画、および静止画での画像の電子手ぶれ補正の補正量(最大シフト)、および画像切り出し範囲を示す。
手ぶれモードでない場合でのCCD画像の有効範囲を100%とすると、静止画の手ぶれモード時は、画像復元関数によって画像が所定の広がりを持ち、撮像範囲の外側の画像データがないと周辺の画像が補正できないため、たとえば、対角の長さ比で95%の範囲を撮像範囲とし、この範囲での撮像画像を電子手ぶれ補正して記録する。しかし、静止画の手ぶれ量は、動画で順次ずれていく場合とくらべるとシャッタ露光時間内であるから小さく、周辺の余裕は動画の場合に比較すると小さくてよい。
動画手ぶれモード時の有効撮像範囲のサイズは、静止画に比較して小さく、たとえば対角の長さ比で70%の範囲が撮像範囲とされる。これは、動画では画像をずらしているため、静止画よりも時間を要してずれ量が大きくなるためである。
次に、スルー画で表示する画像に相当する撮像範囲について説明する。静止画、動画ともに、手ぶれ補正モードでない場合は、撮像され記録される範囲は、CCD上の対角比で100%に相当する範囲であり、スルー画についても同じくCCD上の対角比で100%の範囲の画像を表示する。
動画撮影の場合で手ぶれ補正モードのときは、撮像され記録される範囲と同じ範囲をスルー画として表示する。これは、対角比で70%のサイズであり、手ぶれを補正するためにCCDの有効画素の範囲内(対角比で100%の範囲内)を、逐次、シフト(移動)している。一方、静止画撮影の場合で手ぶれ補正モードのときは、撮像され記録されるCCD上の範囲と、スルー画で表示されるCCD上の範囲が異なっている。これは撮像され記録される際の手ぶれ補正方式と、スルー画で表示する際の手ぶれ補正方式が異なっているためである。しかし、異なる手ぶれ補正方式であっても撮像され記録される範囲とスルー画で表示する範囲とをほぼ一致させる必要がある。このため、静止画撮影の場合で手ぶれ補正モードのときは、たとえば撮像され記録される範囲がCCDの対角比95%なのに対して、スルー画の範囲はCCDの対角比90%のサイズである。また、このスルー画の範囲は、手ぶれ補正のためCCDの対角比95%の範囲内で、逐次シフトされる。この静止画のスルー画の手ぶれ補正量(シフト量)は、5%の範囲となって動画のスルー画に比べると最大シフト量が小さく、大きな手ぶれには対応できないが、静止画の撮像・記録範囲とほぼ同一の範囲をビューファインダ6や背面LCDパネル10に表示できる。
図7、図8は画像復元動作のメインフローを示す。まず、パワースイッチ11を押して(S101)、沈胴状態のレンズをセットアップし(S102)、手ぶれ補正モードが設定されているか否かを判断する(S103)。手ぶれモードスイッチ5は押すたびにオン、オフが繰り返され、オンであればモードランプ5ー1が点灯して手ぶれ補正フラグ1が設定され(S104)、オフであればモードランプ5−1が消灯し、手ぶれ補正フラグが0に設定される(S105)。
次に、撮影モードとしての静止画、動画が判断され(S106)、モードキー7がM側に位置して動画モードであれば、図8のS120に移り、モードキーがS側に位置して静止画モードであれば、手ぶれフラグが1か否かが判断される(S107)。フラグが1であれば、CCD90%画面を利用して手ぶれ補正されたスルー画が表示され(S108)、フラグが0であれば、スルー画表示されるが、手ぶれ補正はなされず、ぶれたままのスルー画が表示される(S109)。ここで、表示されるLCDとして、ビューファインダ6、背面LCDパネル10のいずれが撮影者(ユーザ)によって選択され、その選択したLCDにスルー画が表示される。また、ビューファインダ6、背面LCDパネル10の双方に表示し、撮影者がいずれかの表示を見るようにしてもよい。
それから、レリーズスイッチ3のオンが確認され(S110)、オンであれば(レリーズスイッチが押されれば)、静止画が撮像され(S111)、画像処理回路117で画像処理され(S113)、手ぶれ補正フラグが1か否かが判断される(S114)。レリーズスイッチ3が押されなければ、他のスイッチ操作の有無が判断され(S112)、いずれかのスイッチがオンであれば対応する処理がなされ、いずれのスイッチもオフであれば、S103に戻される。
S114でフラグが1であれば、画像復元関数算出回路122で画面の各エリアに対応して、画像歪(ディストーション)の影響が排された画像復元関数が算出されて画像復元演算回路123でCCD95%画面を利用した手ぶれ補正がなされ(S115)、フラグが0であれば手ぶれ補正されずに、S116に進む。S116では、画像圧縮・伸長回路151においてγ変換、画像圧縮などの画像処理がなされ、撮像画(静止画)を背面LCDパネル10などに表示し(S117)、記録手段152によって画像記録媒体153上に書込み(S118)、書込み後、S103に戻される。
次に、動画のメインフローについて、図8を参照しながら説明する。S106で動画に設定されていれば(モードキー7がM側に位置すれば)、手ぶれフラグが1か否かが判断され(S120)、フラグが1であれば、フレーム間シフト量算出回路131で算出されたシフト量だけ、画像シフト回路132によってシフトされ、CCD70%画面を利用して手ぶれ補正されたスルー画が表示される(S121)。フラグが0であれば、スルー画表示されるが、手ぶれ補正はなされず、ぶれたままの画像がLCDに表示される(S122)。なお、図5(D)の画像がS122のぶれたスルー画に、図5(E)の画像がS121のシフト補正されたスルー画にそれぞれ該当する。
それから、レリーズスイッチ3のオンが確認され(S123)、オンであれば(レリーズスイッチが押されれば)、動画の撮影が開始され(S124)、手ぶれフラグが1か否かが判断される(S126)。レリーズスイッチ3が押されなければ、他のスイッチ操作の有無が判断され(S125)、いずれかのスイッチがオンであれば、対応する処理がなされ、いずれのスイッチもオフであれば、S103に戻される。
S126でフラグが1であれば、CCD70%画面を利用してシフトされ、手ぶれ補正された撮像画がリアルタイムでLCDに表示され(S127)、フラグが0であれば、手ぶれ補正はされず、撮像画がリアルタイムでぶれたままでLCDに表示される(S128)。S121、S122のスルー画表示と同様に、S128のぶれた撮像画は図5(D)の画像のように、S127のシフト補正された撮像画は図5(E)の画像のようにそれぞれ表示される。そして、レリーズスイッチ3が再度押されるまで連続して撮像され、レリーズスイッチが再度押されると(S129)、撮像が停止し(S130)、動画が画像記録媒体153に書込まれて(S131)、S103に戻される。
このような構成によって、静止画、動画の撮影時でも手ぶれ補正されていることがビューファインダ6、背面LCDパネル10で確認できるだけでなく、スルー画の範囲が実際に撮像できる範囲にほぼ一致するため、フレーミングが容易、迅速に設定できる。また、ディストーションのような画像歪による軌跡を画面範囲ごとに補正しているため、レンズ画像の歪の影響を排して、画面範囲ごとの軌跡の正しい変化量が得られ、画面全体にわたって良好な手ぶれ補正ができる。
実施例1の変形例について説明する。実施例1では、基本軌跡演算回路112から出力された軌跡データを画像エリアごとに、補正値記憶メモリー118の値に基づいて軌跡補正回路121で補正し、補正された軌跡データを画像復元関数算出回路122に出力する。次に、画像復元関数算出回路122では、軌跡補正回路121の出力に基づいて各画面エリアごとに画像復元関数f-1を算出し、次に、画像復元演算回路123では、画像復元関数算出回路122で算出された画像復元関数f-1によって画像の復元演算がなされるようになっている。これに対して変形例として次のようにしてもよい。
まず、軌跡補正回路121を削除し、補正値記憶メモリー118からの出力ラインを画像復元関数算出回路122に接続するように変形する。そして、基本軌跡演算回路112から出力された軌跡データを画像復元関数算出回路122で直接処理して、画像復元関数f-1を1種類だけ演算して求める。次に、画像復元関数f-1を画像エリアごとに、補正値記憶メモリー118の値に基づいて補正し、画像エリア毎に異なる画像復元関数f-1を求める。次に、画像復元演算回路123において、画像エリア毎に異なる画像復元関数f-1により画像の復元演算を行なう。この変形例では、画像復元関数算出回路122は、画像復元関数算出手段として機能するとともに、画像復元関数補正手段として機能する。
変形例の構成によれば、同じ手ぶれでも像の移動の軌跡が、ディストーションの影響で画面中央と画面中央以外のエリアについてエリアごとに圧縮、拡大、方向変化のために変わり、結果として画像劣化関数f-1がエリアごとに異なる場合でも、エリアごとに画像劣化関数f-1を補正して最適な画像復元関数f-1とするため、画面全体にわたって正確な手ぶれ復元ができ、画面全体で鮮鋭な画像が得られる。
撮像画に対して、レンズの歪補正をしてから静止画電子手ぶれ補正、動画電子手ぶれ補正を行なう別実施例(実施例3)について、図9〜図12を参照しながら説明する。図9はデジタルカメラの制御回路の構成図であり、構成要素として補正値記憶メモリー118、軌跡補正回路121が省略され、歪補正値メモリー171(ディストーション情報記憶手段、画像劣化情報記憶手段)、画像歪補正回路172が加えられている点で図3と相違する。なお、実施例3においても、図3を除く図1〜図8の図面を共通としている。ただし、実施例3ではS113の画像処理において、レンズ歪(ディストーション)に応じた補正を画像歪補正回路172によって撮像画に加えている点で実施例1と相違する。
図9のデジタルカメラの制御回路の構成図において、レンズ歪(ディストーション)に応じた歪み補正値が歪み補正値メモリー171に記憶され、撮像画に対して、画像歪補正回路172でレンズによる歪(ディストーション)の補正をかけてから、静止画電子手ぶれ補正、および動画電子手ぶれ補正を行なっている。また、この歪補正値メモリー171を単なるレンズ特性補正値メモリーとし、歪補正値(ディストーション補正値)以外の撮影レンズの特性に起因する収差の補正データ等をもあわせてこの補正値メモリーに記憶するようにし、さらに、画像歪補正回路172をレンズ特性補正回路として、その他の撮影レンズの特性に起因する収差等の補正もあわせて行なうようにしてもよい。この構成によれば、撮影レンズのディストーションの影響がある場合だけではなく、収差等の光学系によって発生する画像劣化がある場合においても、手ぶれ復元演算の前に光学系の歪、あるいは、収差等による画像劣化を補正し、画像劣化の影響を除去してから手ぶれ復元演算を行なうため、簡単な演算で画面全体で正確な手ぶれ復元ができ、画面全体で鮮鋭な画像を得ることができる。
図10は実施例3におけるシーケンス制御回路119の処理フローを示す。まず、レリーズスイッチ3を押して撮像し(S201)、ズーム、被写体距離からディストーションに対する歪補正値を歪補正値メモリー171から読み出し(S202)、画像歪補正回路172でレンズの画像歪補正をして(S203)、角速度センサ108、109で検出した手ぶれから求めたエリアごとの時系列の手ぶれ軌跡から画像復元関数算出回路122で手ぶれ画像復元関数を算出して(S204)、手ぶれ画像復元関数に応じて画像復元演算回路123で手ぶれ補正し(S205)、画像圧縮・伸長回路151で画像圧縮してから(S206)、記録手段152を利用して画像記録媒体153に記録する(S207)。
図11はビルを撮影した場合の画像歪の模式図であり、図11(A)はディストーションゼロのイメージ図、図11(B)はたる型ディストーションのもとでの画像、図11(C)は糸巻き型ディストーションのもとでの画像、図11(D)は像高と歪補正との関連図、図11(E)は像高の説明図をそれぞれ示す。図11(E)に示すように、像高は画面の中央でゼロ、周辺(最外周)で1となり、同心矩形上で同一の像高となる。
同じ材質、同じ条件下でレンズを成形しても、レンズ特性にばらつきが生じることは避け難く、画像を正確に復元するためには、レンズ特性の相違を考慮する必要がある。図11(B)のようなたる型ディストーションの画像や図11(C)のような糸巻き型ディストーションの画像を電気補正によって、ディストーションゼロの図11(A)の画像に近づけても、レンズ特性のばらつきで歪ゼロから外れることがある。人間の目は、魚眼レンズによる画像に見慣れていることもあり、たる型に歪んだ画像に対してはさほど違和感を感じない。しかし、糸巻き型に歪んだ画像に対しては違和感を感じ、不自然さが目立つ。そのため、歪ゼロに補正したとき、レンズ特性のばらつきの影響でゼロから外れるなら、復元画像が糸巻き型に歪んだ画像となるより、むしろ、たる型に歪んだ画像となることが好ましい。
そのため、図11(D)に示すように、レンズの画像歪(たる型ディストーション)L1を歪みゼロのレベルL0をねらって歪補正し(歪補正1)、次に手ぶれ補正のために画像復元演算を行ない、次に電子補正をかけて、その画像をレベルL2まで逆補正してたる型方向に戻す(歪補正2)。ここで言葉の定義について若干説明するが、歪の補正とは歪の影響の有る画像データにおいて歪の影響をなくすか、または小さくすることを指し、歪の逆補正とは歪のない画像データに対して歪をわざとつけるか、または歪のある画像データに対して歪の影響をさらに大きくする処理のことを指す。ここで、歪補正1に対して逆補正である歪補正2の歪量は少なくし、糸巻き型への補正を+(プラス)、たる型への補正をー(マイナス)としたとき、たとえば、像高d=1の周辺における最大歪量は歪補正1で+12%、歪補正2でー4%とされる。また、糸巻き型ディストーションに対しても、同様に、レンズの画像歪(糸巻き型ディストーション)L3を歪みゼロのレベルL0をねらって歪補正し(歪補正1)、次に手ぶれ補正のために画像復元演算を行ない、次に電子補正によってその画像をレベルL2まで逆補正してたる型画像とする。
このように、歪ゼロをねらった歪補正(歪補正1)の後、たる型への逆補正(歪補正2)をかけることにより、レンズ特性の相違に起因する歪補正のばらつきによって歪補正1で糸巻き型の画像がたとえ生成されても、歪補正2により糸巻き型から強制的にたる型に補正される。そのため、糸巻き型に歪んだ画像の生成が防止され、違和感のない画像が復元される。糸巻き型、たる型のディストーションの混在するいわゆる陣笠型ディストーションによってエリアごとにディストーションが相違する場合でも、ゼロの歪補正とたる型への逆補正(歪補正2)とを併用することにより、違和感のない画像が得られる。ディストーション逆補正(歪補正2)は画像復元演算回路123でなされており、画像復元演算回路は手ぶれ復元手段、ディストーション逆補正手段ということもできる。なお、糸巻き型ディストーションでの歪補正2も、画像復元演算回路123でなされる。
図12は、図11の画像復元におけるシーケンス制御回路119の処理フローを示し、歪補正2を加えた点で図10の処理フローと相違する。すなわち、レリーズスイッチ3を押して撮像し(S301)、ズーム、被写体距離からディストーションに対する歪補正値を歪補正値メモリー171から読み出し(S302)、角速度センサ108、109で検出した手ぶれから求めた時系列の手ぶれ検出信号(手ぶれ軌跡)から画像復元関数算出回路122で手ぶれ画像復元関数を算出して(S304)、レンズの画像歪(たる型ディストーションL1、糸巻き型ディストーションL3)を歪みゼロのレベルL0をねらって画像歪補正回路172で歪補正(歪補正1)する(S303)。それから、画像復元演算回路123で復元演算を行なって手ぶれ補正し(S305)、たる型歪みの生じる方向に逆補正してレベルL2とし(S306)、画像圧縮・伸長回路151で画像圧縮してから(S307)、記録手段152を利用して画像記録媒体153に記録する(S308)。
動画におけるフレーム間の手ぶれによる画像劣化を考慮した別実施例(実施例4)について、図13〜図15を参照しながら説明する。実施例4においても、図3を除く図1〜図8の図面を共通とし、図3を除く図1〜図8の説明は実施例4にも適用される。図13、図14はデジタルカメラの制御回路の構成図であり、構成要素として補正値記憶メモリー118、軌跡補正回路121が省略されている点で第3図と相違し、図15は補正値記憶メモリー118、軌跡補正回路121に加えてフレーム間シフト量算出回路131が省略され、画像シフト算出回路173が加えられている点で図3と相違する。
図13は動画やスルー画を対象としており、フレーム間の手ぶれ補正をしてからフレーム内の手ぶれ補正をしている。つまり、角速度センサ108、109で検出した手ぶれに応じて画像シフト回路132でフレームごとにぶれ補正し、静止画と同様に、各フレームを画像復元演算回路123で手ぶれ軌跡に基づいて画像演算を行なってから、ビューファインダ6、背面LCDパネル10に表示したり、画像記録媒体153に記録している。この構成では、フレーム内のぶれが補正され、鮮明なスルー画、動画が得られる。また、動画撮影においてフレーム間の手ぶれ補正に加えてフレーム内の手ぶれ補正も行なうため、フレーム間の手ぶれ補正のみを行なう場合に加えて、高品位の画像が得られる。先にフレーム間補正を行ない、実際に画像として表示されるエリアが確定してからフレーム内補正を行なえるので、表示に使用されない無駄な部分についても補正をかける場合よりも処理の量が少なくてすむ。
また、シーケンス制御回路119は、手ぶれ検出信号に応じてフレーム間で発生した画像シフトを求め、このフレーム間で発生した画像シフトより画像シフト回路132を動作させている。そして、フレーム間、フレーム内ともに角速度センサ108、109の出力をもとにしているため、画面内で被写体側に動くものがあっても、それに影響されてフレームのシフトが不正確になることがなく、動いていない被写体の手ぶれによる劣化を確実に補正できる。
図14も、動画やスルー画を対象としており、図13とは逆に、フレーム内の手ぶれ補正をしてからフレーム間の手ぶれ補正をしている。つまり、静止画と同様に、各フレームを手ぶれ軌跡に基づいて画像復元演算回路123で画像復元演算を行なった後、フレームごとに角速度センサ108、109で検出した手ぶれに応じて画像シフト回路132でぶれ補正してから、ビューファインダ6、背面LCDパネル10に表示したり、画像記録媒体153に記録している。この構成においても、フレーム内のぶれが補正され、鮮明なスルー画、動画が得られる。
実施例4においても、フレーム間およびレーム内の手ぶれ補正をしてから画像圧縮・伸長回路151で圧縮してから、記録手段152を利用して画像記録媒体153に記録しており、手ぶれ復元演算を行なった後に画像を圧縮・記録するために、画像復元演算時に圧縮前の劣化のない状態で行なえ、正確な手ぶれ復元演算ができる。そして、フレーム間およびレーム内の手ぶれ補正をしてから圧縮して記録されるため、高品位の多くの枚数の画像を少ない容量の小型・安価な画像記録媒体153に記憶できる。
図15は、フレーム間シフト量算出回路131の代わりに画像シフト算出回路173が配置されている点を除けば図14に等しい。つまり、図15においては、フレーム間の画像の変化から、たとえば画像の相関演算などにより画像的にフレーム間のシフト量を画像シフト量算出回路173で算出して画像シフトを行なっている。この構成では、フレーム間のブレで画像が不鮮明になるとフレーム間のシフト量の算出が不正確になるので、フレーム内のぶれ復元演算を先に行なうことが効果的である。
また、動画撮影においてフレーム内の手ぶれ補正をしてから、そのデータをもとにフレーム間の画像シフトを画像データより求めているため、フレーム内の手ぶれ補正をしない画像を用いてフレーム間の画像シフトを求める場合に比べて、正確なフレーム間のシフト量を算出することができ、より正確な手ぶれ補正ができる。
なお、シーケンス制御回路119は、画像データからフレーム間で発生した画像シフトを求め、このフレーム間で発生した画像シフトより画像シフト回路132を動作させている。そのため、フレームのシフトに関して、角速度センサ108、109の出力が、フレーム内よりもフレーム間で一般的に長時間になり、ノイズ成分の積算でフレームのシフトが不正確になることがなく、正確なシフトができる。
さらに、シーケンス制御回路119は、画像シフト算出回路173、画像シフト回路132の両方またはいずれか一方を選択的に動作させるように制御することが好ましく、そうであれば、手ぶれによるフレーム内の劣化が小さい場合など、必要のない部分の動作をさせないため、電力消費を抑えることができる。
上述した実施例は本発明を説明するためのものであり、本発明は実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、上記以外の変形や応用が可能であることはいうまでもない。