以下、本発明の実施の形態につき、図面を参照して具体的に説明する。参照される各図において、同一の部分には同一の符号を付し、同一の部分に関する重複する説明を原則として省略する。後に第1〜第13実施例を説明するが、まず、各実施例に共通する事項又は各実施例にて参照される事項について説明する。
図1(a)に、本発明の実施形態に係る撮像装置としてのデジタルカメラ1の外観図を示す。図1(b)に、デジタルカメラ1を支持する手をも併せて示したデジタルカメラ1の使用状況例を示す。
デジタルカメラ1は、静止画像のみを撮影可能なデジタルスチルカメラ、又は、静止画像及び動画像を撮影可能なデジタルビデオカメラである。デジタルカメラ1は、静止画像の撮影を指示するためのシャッタボタンを複数備えている。具体的には、図1(a)及び(b)に示す如く、デジタルカメラ1は2つのシャッタボタンSB1及びSB2を備えて構成される。シャッタボタンSB1又はSB2を押下することにより、静止画像の撮影がなされる。シャッタボタンSB1又はSB2に対する押下は、静止画像の撮影を指示するための操作(撮影指示操作)である。シャッタボタンSB1及びSB2の夫々は、例えば押しボタンスイッチであり、ユーザがそれに外力を与えることによって押し下げられて静止画像の撮影が指示される。
デジタルカメラ1は、丸みを帯びた直方体状の筐体2と板状の筐体3とを連結部を介して接合して形成される。筐体3には、表示装置としてのモニタ17が備え付けられている。筐体2に対して筐体3は自在に開閉可能なように取り付けらており、筐体2に対する筐体3の相対位置は可変となっている。図1(a)及び(b)は、筐体3が開いている状態を示している。筐体3を閉じている状態で筐体2を固定しつつ筐体3に所定方向の外力を作用させると筐体3が開き、ユーザがモニタ17を視認できる状態となる。筐体3を開いている状態で筐体2を固定しつつ筐体3に所定方向の外力を作用させると筐体3が閉じ、ユーザがモニタ17を視認できない状態となる。
ユーザは、通常、筐体3を開いてモニタ17に表示されるスルー画像を確認しつつ、シャッタボタンSB1又はSB2に対する操作を行って静止画像の撮影を行う。以下の全ての説明は、筐体3が開いている状態を想定するものとする。
シャッタボタンSB1は筐体2に設けられ、シャッタボタンSB2は筐体3に設けられている。シャッタボタンSB1は、主として第1支持状態にて操作されることを想定しており、シャッタボタンSB2は、主として第2支持状態にて操作されることを想定している。第1支持状態は、筐体2を片手で把持することによって筐体2及び3の全体を支持する状態である。第2支持状態は、筐体2を主たる把持手で把持すると共に筐体3を従たる把持手で補佐的に把持している状態である(即ち、両手で筐体2及び3の全体を支持している状態である)。本実施形態において、第1支持状態における片手は右手を想定しており、第2支持状態における主たる把持手及び従たる把持手はそれぞれ右手及び左手を想定している。尚、図1(b)は、第1支持状態において右手親指にてシャッタボタンSB1を操作する直前の状態を示している。
次に、シャッタボタンとの関係において手ぶれ特性を説明する。デジタルカメラ1のように、複数のシャッタボタンを備える場合、何れかのシャッタボタンの操作によって撮影を行うかで手ぶれの方向や大きさなどが異なる。
具体的には、第1支持状態にてシャッタボタンSB1を押下する場合よりも、第2支持状態にてシャッタボタンSB2を押下する場合の方が、通常、ヨー方向、ピッチ方向、ロール方向の全てにおいて手ぶれ量(手ぶれの大きさ)が小さい。また、第1支持状態にてシャッタボタンSB1を押下する場合、ヨー方向及びピッチ方向の各手ぶれ量に比べ、ロール方向の手ぶれ量が大きくなる傾向がある。
ここで、ヨー方向とは、筐体2の長手方向に平行であって且つ筐体2内を通る所定の軸301を回転軸として、デジタルカメラ1を回転させる方向である。軸301及びヨー方向は、夫々、デジタルカメラ1の光軸300に対して直交する。ピッチ方向とは、光軸300及び軸301に対して直交し且つ筐体2内を通る所定の軸302を回転軸として、デジタルカメラ1を回転させる方向である。ヨー方向とピッチ方向は、互いに直交する。ロール方向とは、光軸300を回転軸として、デジタルカメラ1を回転させる方向である。軸301及び302はデジタルカメラ1の撮像素子(後述の撮像素子12)の撮像面に平行であり、光軸300はその撮像面に直交し、光軸300並びに軸301及び302は、その撮像面の中心で交わる。以下の説明は、軸301を鉛直方向に一致させた状態を想定するものとする。
デジタルカメラ1にヨー方向のぶれを与えれば、デジタルカメラ1の光軸は水平面に平行な面上で回転し、デジタルカメラ1にピッチ方向のぶれを与えれば、デジタルカメラ1の光軸は鉛直面に平行な面上で回転する。デジタルカメラ1は手ぶれ補正機能を備え、後述するように様々な手ぶれ補正が実現されるが、手ぶれ補正を行わない場合、ヨー方向の手ぶれによってデジタルカメラ1の撮像素子上に結像する像は左右方向(撮像素子の水平方向)に移動し、ピッチ方向の手ぶれによってデジタルカメラ1の撮像素子上に結像する像は上下方向(撮像素子の垂直方向)に移動し、ロール方向の手ぶれによってデジタルカメラ1の撮像素子上に結像する像は撮像素子上で回転する。
また、第1支持状態にてシャッタボタンSB1を押下する場合、ヨー方向における手ぶれは、デジタルカメラ1の操作面側から見て右方向が支配的になる(即ち、この場合、通常、ヨー方向における手ぶれ方向は右方向である)。一方、第2支持状態にてシャッタボタンSB2を押下する場合、ヨー方向における手ぶれは、デジタルカメラ1の操作面側から見て左方向が支配的になる(即ち、この場合、通常、ヨー方向における手ぶれ方向は左方向である)。シャッタボタンSB1はデジタルカメラ1の操作面に配置され、シャッタボタンSB2も該操作面に平行な面に配置されている。
また、第1支持状態にてシャッタボタンSB1を押下する場合も第2支持状態にてシャッタボタンSB2を押下する場合も、ピッチ方向における手ぶれは、デジタルカメラ1の操作面側から見て下方向(鉛直下方)が支配的になる(即ち、双方の場合とも、通常、ピッチ方向における手ぶれ方向は下方向である)。
シャッタボタンSB1は第2支持状態で操作されることもあるが、本実施形態では、シャッタボタンSB1が第1支持状態にて操作されることを想定する。以下の全ての説明では、シャッタボタンSB1は第1支持状態にて押下され、シャッタボタンSB2は第2支持状態にて押下されることを想定する。
静止画像の撮影を指示するための操作を与えた時に生じることが想定される手ぶれの方向及び大きさを、手ぶれ特性という。そして、上述のような、シャッタボタンSB1及びSB2にとっての手ぶれ特性を、以下、特に「手ぶれ特性α」と呼ぶことにする。この手ぶれ特性αは、実験などを介して導出される。
デジタルカメラ1は、シャッタボタンSB1とSB2の何れによって静止画像の撮影指示がなされたかに応じて、自動的に手ぶれ補正を実現するための処理の変更等を行う。以下に、デジタルカメラ1の具体的な処理内容を説明する実施例として、第1〜第13実施例を説明する。図19に、各実施例の概要を列記する。
また、手ぶれ補正を施すことによって得られた手ぶれ補正後の画像を、「ぶれ補正画像」と呼ぶ。
<<第1実施例>>
まず、第1実施例について説明する。第1実施例では、手ぶれ補正として、加算式手ぶれ補正を採用する。
加算式手ぶれ補正では、1回の露光で1枚の画像を得るための一括露光の露光時間をN個(Nは2以上の整数)に分割し、分割露光時間にてN枚の分割露光画像を連続撮影する。そして、各分割露光画像の画像特徴に基づいて各分割露光画像間の動き検出を行い、その動き検出結果に従って各分割露光画像間の動きが打ち消されるように各分割露光画像を位置合わせして加算合成することにより画像のぶれが低減された1枚の静止画像を得る。分割露光時間は、一括露光の露光時間のN分の1とされる。つまり、「(分割露光時間)=(一括露光の露光時間)/(露光分割数)」の関係が成り立つ。Nは、露光分割数を表すと共に分割露光画像の枚数(分割枚数)を表す。
加算式手ぶれ補正を用いる場合、露光分割数(即ち、Nの数値)を大きくすれば1枚当たりの手ぶれ量は小さくなる。しかしながら、1枚当たりの手ぶれ量を小さくするために露光分割数を大きくし過ぎると、1枚当たりの露光時間が短くなって低輝度画像しか得られなくなり、撮影後の位置合わせが困難となる。
従って、分割露光時間と露光分割数を特定するNの数値は、撮影時の手ぶれ量に応じて最適化されることが望ましい。即ち、1枚当たりの手ぶれ量が大きくなりすぎないように且つ各分割露光画像の輝度が低くなりすぎなように、それらを設定すべきである。
本実施例では、上述の手ぶれ特性αに基づいて、分割露光時間と露光分割数を最適化する。具体的には、図2に示す如く、シャッタボタンSB1の押下によって撮影指示がなされた場合は、手ぶれ量が比較的多いことを考慮して1枚当たりの手ぶれ量低減を優先すべく、分割露光時間を比較的短くし且つ露光分割数を比較的多くする。具体的には、分割露光時間をt1とし且つ露光分割数Nを4とする。
これに対し、シャッタボタンSB2の押下によって撮影指示がなされた場合は、手ぶれ量がシャッタボタンSB1の押下時と比べて小さいことから、露光分割数を少なくして1枚当たりの露光時間を長く設定する。これにより、撮影後の位置合わせが容易となる共に、より輝度の高い分割露光画像から分割露光画像間の動き検出を行うことができるようになるため動き検出(動きベクトル)の信頼性を高めることができる。結果、手ぶれ補正効果の向上(より正確な手ぶれ補正)が見込める。また、画像合成に必要な分割露光画像の枚数も少なくなるため、処理時間の短縮効果も見込める。具体的には、シャッタボタンSB2の押下によって撮影指示がなされた場合は、分割露光時間をt2とし且つ露光分割数Nを3とする。ここで、(t1×4)と(t2×3)は共に一括露光の露光時間に等しいため、t1<t2である。
このように、本実施例では、押下されたシャッタボタンに応じて分割露光時間と露光分割数を変更し、最適な手ぶれ補正を実現する。
図3に、上述の加算式手ぶれ補正を実現する、本実施例のデジタルカメラの全体ブロック図を示す。図3は、図1のデジタルカメラ1の電気的な一構成例を示すものであるため、図3のデジタルカメラも符号1によって参照することとする。図3のデジタルカメラ1は、符号11〜23及び30にて参照される各部位と、シャッタボタンSB1及びSB2を備える。符号30にて参照される加算式手ぶれ補正回路は、輝度調節回路31、動き検出回路32、座標変換回路33、画像加算回路34及び画像メモリ35を備えている。座標変換回路33と画像加算回路34と画像メモリ35は画像合成回路36を形成している。光学系11と撮像素子12は、撮影を行う撮像部(撮像手段)を形成する。
CCD(Charge Coupled Devices)或いはC−MOSイメージセンサ(Complementary Metal Oxide Semiconductor)等から成る撮像素子12は、複数のレンズを含む光学系11を通して入射した光学像を光電変換し、該光学像を電気信号として出力する。撮像素子12の出力信号は、例えばRGB信号によって表され、該出力信号はCDS(Correlated Double Sampling)回路とAGC(Auto Gain Control)回路とを備えたカメラ回路13に送られる。カメラ回路13において、撮像素子12の出力信号は、CDS回路で相関二重サンプリング処理された後、AGC回路で最適な振幅にゲイン調整される。カメラ回路13の出力信号は、A/D変換器14によってデジタル映像信号としての画像データに変換される。A/D変換器14からの画像データは、画像メモリ15に書き込まれる。撮影制御回路21は、被写体の明るさを測定する測光回路(不図示)から得られた明るさの情報に基づいて、撮像素子12の最適な露光時間を設定する。
画像メモリ15は、メモリ制御回路22を介してマイクロコンピュータ(以下、「マイコン」という)20によって制御される。マイコン20は、手ぶれ補正制御部としても機能する。尚、この手ぶれ補正制御部が、マイコン20の外部に備えられていると考えても構わない。撮影制御回路21は、マイコン20(又は手ぶれ補正制御部)によって制御される。
シャッタボタン検出部23は、シャッタボタンSB1又はSB2が押下げられたか否かを監視し、シャッタボタンSB1又はSB2が押下げられたか否かを表すシャッタボタン検出信号をマイコン20に送る。シャッタボタン検出信号には、シャッタボタンSB1とSB2の内、何れのシャッタボタンが押下されたかを特定する情報も含まれている。
デジタルカメラ1の撮影時の動作モードには、「通常撮影モード」と「手ぶれ補正撮影モード」とが含まれる。手ぶれ補正ON/OFFスイッチ(不図示)に対する操作に応じて、「通常撮影モード」と「手ぶれ補正撮影モード」の切替え設定が行われる。
まず、通常撮影モードにおけるデジタルカメラ1の動作について説明する。シャッタボタンSB1及びSB2の何れもが押下げられていない場合には、一定間隔(例えば1/60秒)の撮影によって得られた画像データが、画像メモリ15に書き込まれた後、NTSC(National Television Standards Committee)エンコーダ16によりNTSC信号に変換されて、液晶ディスプレイ等から成るモニタ17に送られる。これにより、各画像データによって表される画像がモニタ17に表示される。このような、画像メモリ15に書き込まれた画像データをそのままNTSCエンコーダ16に送ることによる表示を、「スルー表示」という。
シャッタボタンSB1又はSB2が押下げられると、静止画像の撮影を開始し、そのタイミングの撮影によって得られた画像データが画像メモリ15に書き込まれる。その後、該画像データにて表される画像がモニタ17に表示されると共に、該画像データは画像圧縮回路18によってJPEG(Joint Photographic Experts Group)などの所定の圧縮データ形式にエンコードされ、画像ファイルとしてメモリカード19に保存される。
次に、手ぶれ補正撮影モードにおけるデジタルカメラ1の動作について説明する。以下の全ての説明は、特に記述しない限り、手ぶれ補正撮影モードにおける動作の説明である(第2実施例以降についても同様)。
手ぶれ補正撮影モードにおいては、画像メモリ15に書き込まれた画像データは、加算式手ぶれ補正回路30に転送される。
シャッタボタンSB1及びSB2の何れもが押下げられていない場合には、一定間隔(例えば1/60秒)の撮影によって得られた画像データが、画像メモリ15に書き込まれた後、加算式手ぶれ補正回路30に転送される。この場合において加算式手ぶれ補正回路30に転送された画像データは、NTSCエンコーダ16を介してモニタ17に送られてスルー表示がなされると共に、輝度調節回路31に送られる。輝度調節回路31は、分割露光画像を模擬するべく、入力された画像(画像データ)の輝度が分割露光画像の輝度と同程度となるように入力された画像データの輝度レベルを低下させ、輝度レベル低下後の画像データを動き検出回路32に出力する。
動き検出回路32は、入力された、異なる画像間の動きベクトルの算出及び算出した動きベクトルの有効/無効判定を行う。シャッタボタンSB1及びSB2の何れもが押下げられていない場合には、動き検出回路32は、前回に入力された画像データにて表される画像と今回に入力された画像データにて表される画像との間における動きベクトルの算出及び算出した動きベクトルの有効/無効判定を行う。尚、シャッタボタンSB1及びSB2の何れもが押下されていない時において順次算出される動きベクトルは、後述の第13実施例における図26のステップS48の処理(パン・チルト状態判定処理)などに利用することができる。
シャッタボタンSB1又はSB2が押下げられた場合、何れのシャッタボタンが押下げられたかを表すシャッタボタン検出信号に基づいて、マイコン20は、撮影制御回路21に対して上記の最適な露光時間を複数個に分割して露光するように指示する。最適な露光時間を分割して得られる各露光時間が、上述の分割露光時間であり、1つの分割露光時間の露光によって撮影される画像が、上述の分割露光画像である。具体的には、最適な露光時間をTOとした場合、シャッタボタンSB1が押下された時は、TO/4の分割露光時間で次々と4枚の分割露光画像を連続撮影する。一方、シャッタボタンSB2が押下された時は、TO/3の分割露光時間で次々と3枚の分割露光画像を連続撮影する。以下、分割露光画像を表す画像データを、特に「分割露光画像データ」ともいう。
分割露光によって得られた複数の分割露光画像データは、それぞれ画像メモリ15に記憶され、順次、加算式手ぶれ補正回路30に転送される。具体的には、各分割露光画像データは、順次、加算式手ぶれ補正回路30内の動き検出回路32および座標変換回路33に送られる。
動き検出回路32では、分割露光によって得られた複数の分割露光画像の内の、最初に入力された1番目の分割露光画像と、それ以降に入力される各分割露光画像との間の動きベクトルが順次算出されるとともに、算出された動きベクトルが有効か無効かも順次判定される。画像間の動きを表すベクトルとしてある程度信頼できると判断された動きベクトルは有効とされ、信頼できないと判断された動きベクトルは無効とされる。有効/無効の判定手法として、後述の第13実施例に記載の手法を用いることができる。
尚、ここにおける動きベクトルは、画像全体の動きベクトル(後述する「全体動きベクトル」)を意味している。また、動き検出回路32は、マイコン20によって制御され、動き検出回路32にて算出された各値は必要に応じてマイコン20に送られる。
動きベクトル(全体動きベクトル)が有効と判定された場合、2番目以降に加算式手ぶれ補正回路30に入力された各分割露光画像は、1番目の分割露光画像との間の動きベクトルに基づいて、1番目の分割露光画像とのずれがなくなるように、座標変換回路33で1番目の分割露光画像の座標に座標変換される(即ち、1番目の分割露光画像を基準として位置合わせされる)。そして、画像加算回路34において、座標変換された各分割露光画像の各画素値は、1番目の分割露光画像又はそれまでに合成された画像の各画素値に対して加算され、その加算結果が画像メモリ35に記憶される。つまり、分割露光画像間の位置ずれを補正した上で加算合成することにより得られる合成画像が画像メモリ35に格納される。
尚、1番目の分割露光画像と位置合わせ後の2番目以降の分割露光画像を単純に加算することによって合成画像を生成するようにしてもよいし、動きベクトルの信頼度を評価し、その信頼度に応じた比率で1番目の分割露光画像と位置合わせ後の2番目以降の分割露光画像を加重加算することによって合成画像を生成するようにしてもよい。信頼度の評価手法としては、後述の第13実施例に記載の手法を用いることができる。
各分割露光画像は、露光時間が通常露光の1/Nと短いため、手ぶれ量も通常露光の1/Nとなる(Nは3又は4)。そして、分割露光画像間の位置ずれが補正された後に分割露光画像が加算合成されるので、合成画像の手ぶれ量は、通常露光の1/Nに低減される。生成された合成画像は、シャッタボタンSB1又はSB2の押下に応じて撮影されたぶれ補正画像としての1枚の静止画像を表している。ぶれ補正画像としての合成画像は、NTSCエンコーダ16を介してモニタ17に表示されると共に画像圧縮回路18を介してメモリカード19に保存される。
一方、動きベクトル(全体動きベクトル)が無効と判定された場合、2番目以降に加算式手ぶれ補正回路30に入力された各分割露光画像に対して、座標変換回路33での位置ずれ補正は行われない。そして、位置ずれ補正が施されていない各分割露光画像は、画像加算回路34で1番目の分割露光画像またはそれまでに合成された画像に加算合成される。このように加算合成することで、信頼性のない動きベクトルで位置合わせしたことに由来する画像のぶれの増加を抑制することが可能となる。
尚、或る画像に関し、画素値とは、その画像を形成する画素に対する映像信号の値(例えば、輝度信号の値、色差信号の値)を表す。
[動き検出回路]
動き検出回路32による動きベクトルの検出手法について詳細に説明する。動き検出回路32は、代表点マッチング法に基づいて動きベクトルを検出する。代表点マッチング法そのものについては周知である。動き検出回路32には次々と画像(画像データ)が入力されるが、基準画像と非基準画像との間の動きベクトルを検出する場合を例にとって、代表点マッチング法について説明する。典型的には例えば、基準画像は、上述の1番目の分割露光画像であり、非基準画像は、上述の2番目以降の各分割露光画像である。
図4に、動き検出回路32に与えられる画像データによって表される画像310を示す。画像310は、上記の基準画像又は非基準画像を表す。画像310内に、複数の動きベクトル検出領域が設けられる。以下、動きベクトル検出領域を、単に、「検出領域」と略記する。説明の具体化のため、9つの検出領域E1〜E9が設けられている場合を考える。各検出領域E1〜E9の大きさは同じであり、各検出領域E1〜E9は画像310内の互いに異なる位置に設けられる。
検出領域E1〜E9の夫々は、更に、複数の小領域(検出ブロック)eに分割されている。図4に示す例では、各検出領域が、48個の小領域eに分割されている(垂直方向に6分割され且つ水平方向に8分割されている)。各小領域eは、例えば、32×32の画素(垂直方向に32画素且つ水平方向に32画素の二次元配列された画素)で構成される。そして、図5に示すように、各小領域eに、複数のサンプリング点Sと1つの代表点Rが設定される。或る1つの小領域eに関し、複数のサンプリング点Sは、例えば当該小領域eを構成する画素の全てに対応する(但し、代表点Rを除く)。
非基準画像における小領域e内の各サンプリング点Sの輝度値と、基準画像における対応する小領域e内の代表点Rの輝度値との差の絶対値(各サンプリング点Sにおける相関値)が、各検出領域E1〜E9ごとに、全ての小領域eに対して求められる。そして、各検出領域E1 〜E9 ごとに、検出領域内の全ての小領域e間において、代表点Rに対する偏移が同じサンプリング点S同士の相関値が累積加算される(本実施例では、48個の相関値が累積加算される)。換言すれば、各検出領域E1 〜E9 において、各小領域e内の同じ位置(小領域内座標における同じ位置)の画素について求めた輝度差の絶対値が48個の小領域e分、累積加算される。この累積加算によって得られる値を、「累積相関値」とよぶ。累積相関値は、一般に、マッチング誤差とも呼ばれる。各検出領域E1 〜E9 ごとに、1つの小領域e内のサンプリング点Sの個数と同じ個数の複数の累積相関値が求められることになる。各検出領域E1 〜E9 ごとに、複数の累積装置値の内の最小値が特定され、累積相関値が最小となるサンプリング点Sが特定される。
そして、各検出領域E1 〜E9ごとに、代表点Rと累積相関値が最小となるサンプリング点Sとの偏移、すなわち相関性が最も高い偏移が検出される。その偏移を表すベクトルを当該検出領域の動きベクトルとして取り扱うことができる。このように、或る検出領域に関し、代表点マッチング法に基づいて算出される累積相関値は、基準画像に対して非基準画像に所定の偏移(基準画像と非基準画像との間における位置ずれ)を加えた時の、基準画像内の検出領域の画像と非基準画像内の検出領域の画像との相関(類似性)を表し、その値は該相関が高くなるに従って小さくなる。
そして、単純には例えば、検出領域ごとに検出された合計9つの動きベクトルの平均ベクトルを、基準画像と非基準画像との間における画像全体の動きベクトルとする。画像全体の動きベクトルは、基準画像と非基準画像との間における、画像全体の動きの向き及び大きさを特定する。画像全体の動きベクトルと検出領域ごとに算出される動きベクトルとを区別するべく、前者を特に全体動きベクトルといい、後者を特に領域動きベクトルということもある。
<<第2実施例>>
次に、第2実施例について説明する。第2実施例も、手ぶれ補正として加算式手ぶれ補正を採用する。第2実施例に係るデジタルカメラ1の全体ブロック図は、図3に示すそれと同様であるため、重複する図示を省略する。本実施例のデジタルカメラ1について、特に記述しない部分は、第1実施例におけるそれと同様とすることができ、第1実施例に記載した事項は、矛盾なき限り本実施例にも適用される。
第1実施例との比較において、第2実施例では、動き検出回路32及び画像合成回路36に追加的機能が備えられる。本実施例にて以下に述べられる動き検出回路32及び画像合成回路36は、第2実施例における動き検出回路32及び画像合成回路36と解釈される。
具体的には、動き検出回路32は、画像メモリ15から送られてくる各分割露光画像データに基づいて、互いに異なる分割露光画像間の並進方向の動き検出及び回転方向の動き検出を実行可能に形成されている。そして、画像合成回路36は、並進方向の動き検出結果及び回転方向の動き検出結果に基づいて、又は、並進方向の動き検出結果のみに基づいて、各分割露光画像を位置合わせして加算合成することにより手ぶれ補正がなされたぶれ補正画像としての合成画像を生成する。
位置合わせに用いる動き検出結果は、押下されたシャッタボタンに応じて変更される。より具体的に説明する。
シャッタボタンSB1又はSB2が押下げられた場合、何れのシャッタボタンが押下げられたかを表すシャッタボタン検出信号に基づいて、マイコン20は、撮影制御装置11に対して上記の最適な露光時間を複数個に分割して露光するように指示する。これにより、複数の分割露光画像が画像メモリ15に順次格納される。画像メモリ15に格納された各分割露光画像は、順次、動き検出回路32及び画像合成回路36に送られる。尚、露光分割の際、第1実施例と同様にシャッタボタン検出信号に基づいて分割露光時間及び露光分割数を変更するようにしてもよいし、変更しなくてもよい。また、マイコン20は、シャッタボタン検出信号に基づいて、動き検出回路32及び画像合成回路36の処理内容を指定する。
まず、ロール方向の手ぶれ量が比較的大きくなるシャッタボタンSB1が押下された場合の処理について説明する。この場合、動き検出回路32が、互いに異なる分割露光画像間の並進方向の動き検出及び回転方向の動き検出を行う。
複数の分割露光画像の露光期間中におけるデジタルカメラ1のヨー方向及びピッチ方向のぶれは、互いに異なる分割露光画像間の並進方向の動きとなって表れる。互いに異なる分割露光画像間の並進方向の動きは、その分割露光画像間の水平方向及び垂直方向の位置ずれを表しており、それを、その分割露光画像間の並進方向の全体動きベクトルにて表現することができる。
複数の分割露光画像の露光期間中におけるデジタルカメラ1のロール方向のぶれは、互いに異なる分割露光画像間の回転方向の動きとなって表れる。互いに異なる分割露光画像間の回転方向の動きは、その分割露光画像間の回転方向の位置ずれを表しており、それを、その分割露光画像間の回転方向の全体動きベクトルにて表現することができる。
並進方向の動き検出及び回転方向の動き検出とは、上記の並進方向の全体動きベクトル及び回転方向の全体動きベクトルを求めることに相当する。実際には、複数の分割露光画像の内の1つを基準画像とし且つ他を非基準画像とし、基準画像と各非基準画像との間における並進方向及び回転方向の全体動きベクトルを検出する。
基準画像と非基準画像との間における並進方向の全体動きベクトルの検出手法は公知であり、それの検出に任意の公知の手法を用いることができる。単純には例えば、第1実施例で述べたように、図4の検出領域ごとに検出された合計9つの領域動きベクトルの平均ベクトルを基準画像と非基準画像との間における並進方向の全体動きベクトルとすればよい。或いは、図4の検出領域ごとに検出された合計9つの領域動きベクトルの中から信頼性の高い複数の領域動きベクトルを抽出し、その複数の領域動きベクトルの平均ベクトルを、基準画像と非基準画像との間における並進方向の全体動きベクトルとして取り扱うようにしてもよい。
基準画像と非基準画像との間における回転方向の全体動きベクトルの検出手法も公知であり、それの検出に任意の公知の手法(例えば、特開平11−195125号公報に記載の手法)を用いることができる。例えば、基準画像の露光期間と非基準画像の露光期間の間にデジタルカメラ1がロール方向にぶれた時、検出領域E1とE9について検出された2つの領域動きベクトルは、図6(a)に示す如く、回転成分を持つことになる。このような回転成分を抽出することによって、回転方向の全体動きベクトルを検出すればよい。より具体的には、特開平11−195125号公報に記載の如く、各検出領域(E1〜E9)について検出された領域動きベクトルから並進方向の全体動きベクトルを減算することによって、動きの水平及び垂直成分が除去された回転成分のみを持つ複数の領域動きベクトルを検出する。そして、図6(b)に示すような、回転成分のみを持つ複数の領域動きベクトルから、基準画像と非基準画像との間における画像全体の回転角(及び回転中心)を算出し、算出値から回転方向の全体動きベクトルを特定すればよい。
そして、2番目以降に加算式手ぶれ補正回路30に入力された各分割露光画像(即ち、各非基準画像)は、1番目の分割露光画像(即ち、基準画像)との間における並進方向及び回転方向の全体動きベクトルに基づいて、1番目の分割露光画像とのずれがなくなるように、座標変換回路33で1番目の分割露光画像の座標に座標変換される(即ち、1番目の分割露光画像を基準として位置合わせされる)。そして、画像加算回路34において、座標変換された各分割露光画像の各画素値は、1番目の分割露光画像又はそれまでに合成された画像の各画素値に対して加算され、その加算結果が画像メモリ35に記憶される。つまり、分割露光画像間の並進方向及び回転方向の位置ずれを補正した上で加算合成することにより得られる合成画像が画像メモリ35に格納される。
次に、シャッタボタンSB2が押下された場合の処理について説明する。シャッタボタンSB2が押下された場合は、通常、ロール方向の手ぶれ量が比較的小さい。従って、ロール方向の手ぶれ補正を省略する。即ち、シャッタボタンSB2が押下された場合は、動き検出回路32に互いに異なる分割露光画像間の並進方向の動き検出のみを行わせ、回転方向の動き検出及び手ぶれ補正を省略する。
この場合、2番目以降に加算式手ぶれ補正回路30に入力された各分割露光画像(即ち、各非基準画像)は、1番目の分割露光画像(即ち、基準画像)との間における並進方向の全体動きベクトルに基づいて、1番目の分割露光画像とのずれがなくなるように、座標変換回路33で1番目の分割露光画像の座標に座標変換される(即ち、1番目の分割露光画像を基準として位置合わせされる)。そして、画像加算回路34において、座標変換された各分割露光画像の各画素値は、1番目の分割露光画像又はそれまでに合成された画像の各画素値に対して加算され、その加算結果が画像メモリ35に記憶される。つまり、分割露光画像間の並進方向の位置ずれのみを補正した上で加算合成することにより得られる合成画像が画像メモリ35に格納される。
何れの合成画像も、NTSCエンコーダ16を介してモニタ17に表示されると共に画像圧縮回路18を介してメモリカード19に保存される。
上述のように処理することにより、ロール方向の手ぶれ量が比較的小さいと推測される場合には、ロール方向の手ぶれ補正が省略されるため、加算合成に要する処理時間の低減効果及び消費電力の削減効果が得られる。
<<第3実施例>>
次に、第3実施例について説明する。第3実施例も、手ぶれ補正として加算式手ぶれ補正を採用する。第3実施例に係るデジタルカメラ1の全体ブロック図は、図3に示すそれと同様であるため、重複する図示を省略する。本実施例のデジタルカメラ1について、特に記述しない部分は、第1実施例におけるそれと同様とすることができ、第1実施例に記載した事項は、矛盾なき限り本実施例にも適用される。
第1実施例との比較において、第3実施例では、動き検出回路32に追加的機能が備えられる。本実施例にて以下に述べられる動き検出回路32は、第3実施例における動き検出回路32と解釈される。
動き検出回路32は、第1実施例にて図4及び図5を参照して説明したように、代表点マッチング法を用いて、領域動きベクトルを検出領域(E1〜E9)ごとに検出する。そして、各検出領域を形成する各小領域e(検出ブロック)は、原則、32×32の画素にて構成され、シャッタボタンSB1の押下によって撮影指示がなされた場合は、原則どおり、各小領域eを32×32の画素にて形成されるようにする。これにより、画像の上下左右の夫々の方向において、最大16画素分の手ぶれを検出することが可能となる。
一方、シャッタボタンSB2の押下によって撮影指示がなされた場合は、小領域eを24×24の画素(垂直方向に24画素且つ水平方向に24画素の二次元配列された画素)にて形成されるようにする。これにより、画像の上下左右の夫々の方向において、最大12画素分の手ぶれまでしか検出できないことになるが、シャッタボタンSB2の押下時における手ぶれ量は小さいと考えられるため、問題は生じがたく、画像合成回路36における良好な位置合わせ及び画像合成は維持される。
このように、シャッタボタンSB2の押下によって撮影指示がなされた場合は、シャッタボタンSB1の押下によって撮影指示がなされた場合よりも、小領域eの画像サイズを小さくする(これに伴って、各検出領域の画像サイズも小さくなる)。これにより、動き検出の処理時間の短縮効果及び消費電力の削減効果が得られる。また、より狭い領域で累積加算処理が行われるため、動きベクトルの誤検出率が低下して位置合わせの精度の向上も見込める(より狭い領域で累積加算処理が行えば、類似模様などの存在に由来する動きベクトルの誤検出が発生しにくくなる)
尚、動き検出回路32による動き検出の原理から理解されるように、小領域eの画像サイズを減少させることは、互いに異なる分割露光画像間の動きの検出可能範囲を減少させることに相当する(上述の例では、上下左右に最大16画素分の動きの検出可能範囲が最大12画素分にまで減少)。また、マイコン20が、何れのシャッタボタンが押下げられたかを表すシャッタボタン検出信号に基づいて動き検出回路32を制御することにより、各小領域eの画像サイズを可変設定する。
<<第4実施例>>
次に、第4実施例について説明する。第4実施例も、手ぶれ補正として加算式手ぶれ補正を採用する。第4実施例に係るデジタルカメラ1の全体ブロック図は、図3に示すそれと同様であるため、重複する図示を省略する。本実施例のデジタルカメラ1について、特に記述しない部分は、第1実施例におけるそれと同様とすることができ、第1実施例に記載した事項は、矛盾なき限り本実施例にも適用される。
第1実施例との比較において、第4実施例では、動き検出回路32に追加的機能が備えられる。本実施例にて以下に述べられる動き検出回路32は、第4実施例における動き検出回路32と解釈される。
動き検出回路32は、第1実施例にて図4及び図5を参照して説明したように、代表点マッチング法を用いて領域動きベクトルを検出領域(E1〜E9)ごとに検出する。通常は、図4に示す如く、水平及び垂直方向に3つずつ均等な配置で各分割露光画像内に検出領域E1〜E9が定義される。このような検出領域E1〜E9の配置位置を基準配置位置と呼ぶ。本実施例では、何れのシャッタボタンが押下されたかに応じて、基準画像内に定義される検出領域E1〜E9の位置を、予想される手ぶれ方向の逆方向にシフトさせる。
シャッタボタンSB1の押下によって撮影指示がなされた場合を説明する。連続撮影されるN枚の分割露光画像の内、1番目の分割露光画像(1番目に撮影された分割露光画像)が基準画像とされ、2番目以降の各分割露光画像が非基準画像として取り扱われる。シャッタボタンSB1の押下によって撮影指示がなされた場合、上述したようにヨー方向における手ぶれはデジタルカメラ1の操作面側から見て右方向が支配的であるため、図7に示す如く、基準画像に現れる像との対比において非基準画像に現れる像は通常右方向にシフトする。
従って、この場合は、図8(a)に示す如く、基準画像内に定義される検出領域E1〜E9の配置位置を基準配置位置から左方向にシフトさせる。シフトさせる量は、上記手ぶれ特性αに応じて予め設定しておくことができる。非基準画像内に定義される検出領域E1〜E9の配置位置は、図8(b)に示す如く、基準配置位置と同じとする。基準画像と非基準画像との間において、検出領域そのものは同じである、例えば、各検出領域は、図4及び図5を参照して説明したように48個の小領域eに分割され、各小領域eは32×32の画素にて構成される。
図9は、検出領域E1の左隅に位置する1つの小領域eに着目し、基準画像における着目小領域と非基準画像における着目小領域を重ね合わせて示した図である。図9において、実線四角枠320は基準画像における着目小領域を表し、破線四角枠321は非基準画像における着目小領域を表し、点322は基準画像における着目小領域に定義された代表点を表している。また、図9におけるΔは、基準画像内に定義される検出領域E1〜E9の配置位置を基準配置位置から左方向にシフトさせた量を表している。
この状態で、第1実施例で説明したように、各検出領域E1 〜E9 ごとに複数の累積相関値を求めて各検出領域E1 〜E9 ごとに複数の累積相関値の内の最小値を特定する。そして、各検出領域E1 〜E9ごとに代表点Rと累積相関値に最小値を与えるサンプリング点Sとの偏移、すなわち相関性が最も高い偏移を検出して、その偏移を表すベクトルを当該検出領域の領域動きベクトルとして検出する。領域動きベクトルが検出された後の動作は、第1実施例と同様である。図9を参照した場合、代表点322を始点とし破線四角枠321内の任意の点を終点とするベクトルが、検出可能な領域動きベクトルである。従って、ベクトル323のような、右方向の大きさの大きい領域動きベクトルも検出可能となる。
代表点マッチング法を用いて、基準画像に定義された検出領域内の画像と各非基準画像に定義された検出領域内の画像とを対比し、これによって、手ぶれに由来する基準画像と各非基準画像との間の位置ずれ(動きベクトル)を評価するのであるが、上述のような検出領域のシフト処理を行うことにより、検出可能な右方向の位置ずれ量を増大させることができる。即ち、露光期間中に生じる手ぶれに対して追従できる範囲が実質的に広くなり、より大きな手ぶれに対しても適切な手ぶれ補正を実行することが可能となる。
また、上述のシフト処理において重要なのは、基準画像に定義された検出領域と各非基準画像に定義された検出領域との相対位置であるので、シフト対象を上述と逆にしてもよい。即ち、シャッタボタンSB1の押下によって撮影指示がなされた場合、基準画像内に定義される検出領域E1〜E9の配置位置を基準配置位置と一致させ、且つ、各非基準画像内に定義される検出領域E1〜E9の配置位置を基準配置位置から右方向にシフトさせるようにしてもよい。
シャッタボタンSB2の押下によって撮影指示がなされた場合も、シャッタボタンSB1の押下によって撮影指示がなされた場合と同様に処理することができる。シャッタボタンSB2が押下された場合、上述したようにヨー方向における手ぶれはデジタルカメラ1の操作面側から見て左方向が支配的である。このため、基準画像内に定義される検出領域E1〜E9の配置位置を基準配置位置から右方向にシフトさせればよい。シフトさせる量は、上記手ぶれ特性αに応じて予め設定しておくことができるが、シャッタボタンSB2の押下時の方が手ぶれ量が小さいことに鑑み、シャッタボタンSB2の押下時における右方向のシフト量を、シャッタボタンSB1の押下時における左方向のシフト量(Δ)よりも小さくしてもよい。
また、シャッタボタンSB2の押下時における手ぶれの絶対量は小さいので、検出領域のシフトを行わないようにしてもよい。つまり、シャッタボタンSB2の押下によって撮影指示がなされた場合、基準画像内に定義される検出領域E1〜E9の配置位置及び各非基準画像内に定義される検出領域E1〜E9の配置位置を共に基準配置位置とするようにしてもよい。
尚、マイコン20が、何れのシャッタボタンが押下げられたかを表すシャッタボタン検出信号に基づいて動き検出回路32を制御することにより、検出領域E1〜E9の配置位置を可変設定する。
<<第5実施例>>
次に、第5実施例について説明する。第5実施例では、手ぶれ補正として光学式手ぶれ補正を採用する。
図10に、本実施例のデジタルカメラの全体ブロック図を示す。図10は、図1のデジタルカメラ1の電気的な一構成例を示すものであるため、図10のデジタルカメラも符号1によって参照することとする。図10のデジタルカメラ1は、符号11a、12〜19、20a、22、23、25及び26にて参照される各部位と、シャッタボタンSB1及びSB2を備える。光学系11aと撮像素子12は、撮影を行う撮像部(撮像手段)を形成する。
撮像素子12は、複数のレンズを含む光学系11aを通して入射した光学像を光電変換し、該光学像を電気信号として出力する。撮像素子12、カメラ回路13、A/D変換器14、画像メモリ15の機能は、図3におけるそれらと同じである。撮像素子12の出力信号に基づく画像データは、画像メモリ15に書き込まれる。尚、被写体の明るさを測定する測光回路(不図示)から得られた明るさの情報に基づいて、撮像素子12の最適な露光時間は設定される。
画像メモリ15は、メモリ制御回路22を介してマイコン20aによって制御される。マイコン20aは、手ぶれ補正制御部としても機能する。尚、この手ぶれ補正制御部が、マイコン20aの外部に備えられていると考えても構わない。シャッタボタン検出部23は、上述のシャッタボタン検出信号をマイコン20aに出力する。
シャッタボタンSB1及びSB2の何れもが押下げられていない場合には、一定間隔(例えば1/60秒)の撮影によって得られた画像データが、画像メモリ15に書き込まれる。画像メモリ15に書き込まれた画像データは、NTSCエンコーダ16を介してモニタ17に送られてスルー表示がなされる。
シャッタボタンSB1又はSB2が押下された場合には、その押下に従って撮影されるべき1枚の静止画像の露光期間中において、センサ部26からの手ぶれ検出信号に基づき、マイコン20aが駆動部25を制御して光学式手ぶれ補正を実現する。
センサ部26は、図11に示す如く、2つのセンサユニット50及び60を備える。センサユニット50は、デジタルカメラ1のヨー方向の角速度を検出するための角速度センサ51を有し、センサユニット60は、デジタルカメラ1のピッチ方向の角速度を検出するための角速度センサ61を有している。センサユニット50と60は、角速度を検出する方向が異なるだけで、内部構成は同様である。従って、センサユニット50についてのみ詳細な説明を行い、センサユニット60に対する説明を割愛する。
図12に示す如く、センサユニット50は、角速度センサ51、フィルタ回路52、増幅率53及びA/D変換器54を備える。角速度センサ51は、所定のサンプリング周期dtにてデジタルカメラ1のヨー方向の角速度を計測して、そのサンプリング周期dtにおけるヨー方向の角速度を表すアナログ信号(以下、「センサ信号」という)を出力する。角速度センサ51からのセンサ信号は、フィルタ回路52を介して増幅器53に与えられ、増幅器53は、与えられたセンサ信号を増幅して出力する。増幅器53の出力信号を増幅センサ信号という。A/D変換器54は、増幅器53からのアナログの増幅センサ信号をデジタル信号に変換する。このデジタル信号から、サンプリング周期dtにおけるデジタルカメラ1のヨー方向の角速度が求められる。A/D変換器54から、サンプリング周期dtにて順次デジタル信号が出力される。
フィルタ回路52は、例えば、所定のカットオフ周波数以下の信号成分を減衰させるハイパスフィルタである。角速度センサ51の出力信号には、周辺温度等に依存してドリフトするオフセット成分が含まれるが、ドリフトは低周波であるため、フィルタ回路52によって、角速度センサ51の出力信号から該オフセット成分(ドリフト成分)が除去される。尚、フィルタ回路52を省略する構成も採用可能であり、その場合、角速度センサ51の出力信号は、そのまま増幅器53に与えられる。
センサユニット60もセンサユニット50と同様に構成され、センサユニット60は、サンプリング周期dtにおけるデジタルカメラ1のピッチ方向の角速度を表すデジタル信号を順次出力する。センサユニット50と60からの各デジタル信号は、「手ぶれ検出信号」としてマイコン20aに伝達される。
図13に、光学系11aの内部構成を撮像素子12と共に示す。光学系11aは、ズームレンズやフォーカスレンズの他、補正レンズLCを含む複数枚のレンズを備えて構成される。補正レンズLCは、光軸に直交する2次元平面上を移動可能なように光学系11a内に設置され、その移動は、図10の駆動部25によって実現される。補正レンズLCを光軸に直交する2次元平面上で移動させることにより、撮像素子12に結像する像が、撮像素子12上で2次元方向に移動する。
シャッタボタンSB1又はSB2が押下された際、マイコン20aは、手ぶれが除去された1枚の静止画像(ぶれ補正画像)が得られるようにデジタルカメラ1内の各部位を制御する。手ぶれが除去される対象の画像を補正対象画像とよぶ。
具体的には、補正対象画像の露光期間中における手ぶれ検出信号に基づき、その露光期間中において、手ぶれに由来する撮像素子12上の光学像のぶれが打ち消されるように駆動部25を用いて補正レンズLCを駆動する。つまり、補正対象画像の露光期間中、実空間内で固定された被写体が補正レンズLCの屈折によって常に撮像素子12の同じ位置に結像するよう、補正レンズLCを移動させる。これにより、手ぶれ補正が実現され、手ぶれ補正が施された静止画像が得られる。この手ぶれ補正は、一般的に光学式手ぶれ補正と呼ばれる。得られた静止画像を表す画像データは図10の画像メモリ15に格納された後、NTSCエンコーダ16を介してモニタ17に表示されると共に画像圧縮回路18を介してメモリカード19に保存される。
そして、本実施例では、何れのシャッタボタンが押下されたかに応じて、シャッタボタンの押下に従って取得されるべき静止画像(補正対象画像)の露光期間の開始時における補正レンズLCの位置(以下、初期位置という)を設定する。この初期位置の設定は、マイコン20aがシャッタボタン検出信号に基づいて行う。
例えば、シャッタボタンSB1の押下によって撮影指示がなされた場合、上述したようにヨー方向における手ぶれはデジタルカメラ1の操作面側から見て右方向が支配的である。このため、補正対象画像の露光期間中において補正レンズLCは、その右方向の手ぶれを打ち消す方向に移動させられる可能性が高い。従って、この場合は、補正レンズLCの初期位置を、その右方向の手ぶれを打ち消す方向の逆方向にシフトさせておく。つまり、補正レンズLCの初期位置を、補正レンズLCの可動範囲の中心位置を基準として、その右方向の手ぶれを打ち消す方向の逆方向に所定の第1シフト量だけシフトさせた位置とする。
一方、シャッタボタンSB2の押下によって撮影指示がなされた場合、上述したようにヨー方向における手ぶれはデジタルカメラ1の操作面側から見て左方向が支配的である。このため、補正対象画像の露光期間中において補正レンズLCは、その左方向の手ぶれを打ち消す方向に移動させられる可能性が高い。従って、この場合は、補正レンズLCの初期位置を、その左方向の手ぶれを打ち消す方向の逆方向にシフトさせておく。つまり、補正レンズLCの初期位置を、補正レンズLCの可動範囲の中心位置を基準として、その左方向の手ぶれを打ち消す方向の逆方向に所定の第2シフト量だけシフトさせた位置とする。
また、上述の手ぶれ特性αを考慮し、第1シフト量を第2シフト量よりも大きくしておくことが望ましい。また、シャッタボタンSB2の押下時における手ぶれの絶対量は小さいので、シャッタボタンSB2の押下によって撮影指示がなされた場合は、上述のシフトを行わないようにしてもよい(即ち、第2シフト量をゼロとしてもよい)。また、補正レンズLCの初期位置への移動は、補正対象画像の露光期間の開始前に実施される。
上述のような補正レンズLCのシフト処理を行うことにより、露光期間中に生じる手ぶれに対して追従できる範囲が実質的に広くなり、より大きな手ぶれに対しても適切な手ぶれ補正を実行することが可能となる。
また、駆動部25によって撮像素子12を光軸に直交する2次元平面上で移動させることができるように構成しておいてもよい。この撮像素子12の移動によって補正レンズLCを移動させた場合と同様の作用が得られる(即ち、光学式手ぶれ補正が実現される)ことが知られている。従って、補正レンズLCではなく駆動部25によって撮像素子12を駆動することにより、上述と同様の処理を行うようにしてもよい。つまり、補正対象画像の露光期間中における手ぶれ検出信号に基づき、その露光期間中において、手ぶれに由来する撮像素子12上の光学像のぶれが打ち消されるように撮像素子12を移動させるようにしてもよい。
この場合、撮像素子12の初期位置を、撮像素子12の可動範囲の中心位置を基準として、手ぶれを打ち消す方向の逆方向にシフトさせた位置とする。手ぶれを打ち消す方向は、補正レンズLCを移動させる場合と同様、手ぶれ特性αから推定され、シャッタボタンSB1の押下時とシャッタボタンSB2の押下時とで異なるし、そのシフト量もシャッタボタンSB1の押下時とシャッタボタンSB2の押下時とで異なりうる。撮像素子12の初期位置とは、補正対象画像の露光期間の開始時における撮像素子12の位置である。
また、補正レンズLCの代わりに、バリアングルプリズム(不図示)を用いてもよい。バリアングルプリズムは、2枚の板ガラスの間に高い屈折率を持つ液体を封入した構造を有し、一方または双方の板ガラスを傾けることで自身に入射する光の屈折方向を変えることができる。この場合、被写体からの光は、バリアングルプリズムを含む光学系を介して撮像素子12に入射する。
このバリアングルプリズムを駆動(即ち、板ガラスを駆動)することによって補正レンズLCを移動させた場合と同様の作用が得られる(即ち、光学式手ぶれ補正が実現される)ことが知られている。従って、補正レンズLCではなく駆動部25によってバリアングルプリズムを駆動することにより、上述と同様の処理を行うようにしてもよい。つまり、補正対象画像の露光期間中における手ぶれ検出信号に基づき、その露光期間中において、手ぶれに由来する撮像素子12上の光学像のぶれが打ち消されるようにバリアングルプリズムを駆動(即ち、板ガラスを駆動)させるようにしてもよい。
この場合、バリアングルプリズムの初期状態を、バリアングルプリズムの状態可変範囲の中心を基準として、手ぶれを打ち消す方向の逆方向にシフトさせた状態とする。手ぶれを打ち消す方向は、補正レンズLCを移動させる場合と同様、手ぶれ特性αから推定され、シャッタボタンSB1の押下時とシャッタボタンSB2の押下時とで異なるし、そのシフト量もシャッタボタンSB1の押下時とシャッタボタンSB2の押下時とで異なりうる。バリアングルプリズムの状態とは、バリアングルプリズムを入射する光の屈折方向を特定する、2枚の板ガラスの傾き状態であり、バリアングルプリズムの初期状態とは、補正対象画像の露光期間の開始時におけるバリアングルプリズムの状態である。
<<第6実施例>>
次に、第6実施例について説明する。第6実施例では、手ぶれ補正として光学式手ぶれ補正と復元式手ぶれ補正を採用する。
図14に、本実施例のデジタルカメラの全体ブロック図を示す。図14は、図1のデジタルカメラ1の電気的な一構成例を示すものであるため、図14のデジタルカメラも符号1によって参照することとする。図14のデジタルカメラ1は、符号11a、12〜19、20b、22、23、25、26及び70にて参照される各部位と、シャッタボタンSB1及びSB2を備える。光学系11aと撮像素子12は、撮影を行う撮像部(撮像手段)を形成する。
撮像素子12は、複数のレンズを含む光学系11aを通して入射した光学像を光電変換し、該光学像を電気信号として出力する。撮像素子12、カメラ回路13、A/D変換器14、画像メモリ15の機能は、図3におけるそれらと同じである。撮像素子12の出力信号に基づく画像データは、画像メモリ15に書き込まれる。尚、被写体の明るさを測定する測光回路(不図示)から得られた明るさの情報に基づいて、撮像素子12の最適な露光時間は設定される。
画像メモリ15は、メモリ制御回路22を介してマイコン20bによって制御される。マイコン20bは、手ぶれ補正制御部としても機能する。尚、この手ぶれ補正制御部が、マイコン20bの外部に備えられていると考えても構わない。シャッタボタン検出部23は、上述のシャッタボタン検出信号をマイコン20bに出力する。
シャッタボタンSB1及びSB2の何れもが押下げられていない場合には、一定間隔(例えば1/60秒)の撮影によって得られた画像データが、画像メモリ15に書き込まれる。画像メモリ15に書き込まれた画像データは、NTSCエンコーダ16を介してモニタ17に送られてスルー表示がなされる。
シャッタボタンSB1又はSB2が押下された際、マイコン20bは、手ぶれが除去された1枚の静止画像(ぶれ補正画像)が得られるようにデジタルカメラ1内の各部位を制御する。手ぶれが除去される対象の画像を補正対象画像とよぶ。
マイコン20bは、補正対象画像に対して、光学式手ぶれ補正と復元式手ぶれ補正の双方を行うか、或いは、復元式手ぶれ補正のみを行うかを、シャッタボタン検出信号に基づき選択制御する。具体的には、シャッタボタンSB1が押下された際は、光学式手ぶれ補正と復元式手ぶれ補正の双方を行い、シャッタボタンSB2が押下された際は、復元式手ぶれ補正のみを行うようにする。光学式手ぶれ補正と復元式手ぶれ補正の双方を行う手ぶれ補正を、以下、「光学/復元ハイブリッド補正」という。
まず、手ぶれ補正として復元式手ぶれ補正のみを行う場合の動作を説明する。復元式手ぶれ補正は、撮像素子12にて取得された画像に含まれるぼけ(手ぶれに由来するぼけ)を除去する画像処理を実行することによって実現され、この画像処理は画像復元処理とも呼ばれる。画像復元の原理自体は公知である。復元式手ぶれ補正のみを行う場合は、例えば上記特許文献4〜6の何れかに記載の手法を用いればよい。画像復元処理は、マイコン20bの制御の下、画像復元部70によって実行される。
具体的には、画像メモリ15に格納された、補正対象画像を表す画像データを画像復元部70に入力する。画像復元部70は、補正対象画像の露光期間中における手ぶれ検出信号に基づき、補正対象画像の露光期間中における手ぶれの軌跡を求める。手ぶれ検出信号によって、サンプリング周期dtごとのデジタルカメラ1のヨー方向及びピッチ方向の角速度が特定される。従って、特定された各角速度を、手ぶれに由来する画像の動きを表す情報、即ち、動きベクトルに変換することが可能である。補正対象画像の露光期間中における各動きベクトルを繋ぎ合わせることにより、補正対象画像の露光期間中における手ぶれの軌跡を求めることができる。
画像復元部70は、画像上における手ぶれの軌跡から、点広がり関数(Point Spread Function)を作成する。点広がり関数を、以下、PSFと記述する。図15を参照する。手ぶれは、空間フィルタを使って表すことができる。図15の符号401は、手ぶれの軌跡、即ち、理想的な点像がデジタルカメラ1のぶれによって画像上で描く軌跡(画像のぶれの軌跡)を表す。この手ぶれの軌跡にあわせてオペレータの要素に重みを加えた空間フィルタを形成し、この空間フィルタを用いてフィルタ処理を行うと、フィルタリング過程において各画素の濃淡値が手ぶれの軌跡に応じた近傍画素の濃淡値のみを考慮するようになる。つまり、この空間フィルタを用いて、手ぶれの影響を受けた画像を作成することができる。
この手ぶれの軌跡にあわせて重み付けがなされたオペレータ或るいは空間フィルタは、PSFと呼ばれ、手ぶれの数学モデルとして使用される。PSFの或る要素の重みは、その要素を手ぶれの軌跡が通過する時間に比例した値とされる(但し、各要素の重みの総和が1になるように正規化される)。即ち、重みは、動きベクトルの大きさの逆数に比例した値とされる。手ぶれが画像に与える影響を考えたとき、より遅い動きに対応する要素には、より大きな影響が与えられるからである。
図15の符号402は、手ぶれの動きが等速であると仮定した場合のPSFを表し、図15の符号403は、実際の手ぶれの動きの大きさを考慮した場合のPSFを表している。符合403で表されるPSFにおいて、重みの比較的小さい(動きベクトルの大きさが比較的大きい)要素を比較的黒く表示し、重みの比較的大きい(動きベクトルの大きさが比較的小さい)要素を比較的白く表示している。
手ぶれ検出信号から求められる動きベクトルによって、手ぶれの軌跡と手ぶれの速度(即ち、手ぶれの軌跡を描く速度)とが特定される。PSFを作成するには、まず、手ぶれの軌跡からPSFの重みをかける要素(即ち、0ではない有意な重みが付与される要素)を決定する。そして、手ぶれの速度から、PSFの要素にかける重みを決定する。手ぶれの軌跡からPSFの重みをかける要素を決定する手法、及び、PSFの要素にかける重みを決定する手法については、周知であるため、説明を割愛する。例えば、特許文献6に記載の手法を用いればよい。
比較的速い手ぶれの速度に対応する要素には比較的小さな重みが付与され、比較的遅い手ぶれの速度に対応する要素には比較的大きな重みが付与される。或る要素に付与される重みは、その要素に対応する動きベクトルの大きさの逆数に概ね比例する。上述の如く、各要素についての重みを決定することにより、画像劣化関数としてのPSFが生成される。
PSFは、ぼけのない画像からぼけのある画像を生成するための空間フィルタであるので、このPSFの逆特性を有する補正関数を求めれば、この補正関数を用いてぼけのある画像からぼけを除去することができる。この補正関数は、復元フィルタとして表現することができる。PSFから補正関数としての復元フィルタを生成する手法も公知であり、その手法として、例えば特許文献6に記載の手法を用いることができる。
シャッタボタンSB2が押下された際は復元式手ぶれ補正のみが行われるので、シャッタボタンSB2の押下に従って撮影され、画像メモリ15内に格納された画像が補正対象画像となる。この補正対象画像の露光期間中には、駆動部25による補正レンズLC等の駆動は行われない。画像復元部70は、補正対象画像の露光期間中における手ぶれ検出信号から、補正対象画像の露光期間中における手ぶれの軌跡を表すPSFを作成し、このPSFから復元フィルタを生成する。そして、画像メモリ15内に格納された補正対象画像の各画素に対して復元フィルタを適用することによって、補正対象画像に含まれるぼけが除去或いは低減されたぶれ補正画像を生成する。このぶれ補正画像は、NTSCエンコーダ16を介してモニタ17に表示されると共に画像圧縮回路18を介してメモリカード19に保存される。
また、変形例として、シャッタボタンSB2が押下された際は、光学式手ぶれ補正のみを行うようにしてもよい。この変形例を採用する場合において、シャッタボタンSB2が押下された時、補正対象画像の露光期間中において、センサ部26からの手ぶれ検出信号に基づきマイコン20bは、駆動部25を制御し、第5実施例で説明したのと同様、補正レンズLC(図13)、撮像素子12又はバリアングルプリズムを駆動することにより、光学式手ぶれ補正を実現する。この場合は、光学式手ぶれ補正を実行しつつ撮影された画像メモリ15内の画像が、手ぶれ補正済みの静止画像となり、この静止画像は、NTSCエンコーダ16を介してモニタ17に表示されると共に画像圧縮回路18を介してメモリカード19に保存される。
次に、光学/復元ハイブリッド補正を実施する場合の動作について説明する。シャッタボタンSB1が押下された時、補正対象画像の露光期間中において、センサ部26からの手ぶれ検出信号に基づきマイコン20bは、駆動部25を制御し、第5実施例で説明したのと同様、補正レンズLC(図13)、撮像素子12又はバリアングルプリズムを駆動することにより光学式手ぶれ補正を実現し、光学式手ぶれ補正が施された画像は画像メモリ15に格納される。この光学式手ぶれ補正によって、概ね手ぶれによる画像のぶれが除去されるのであるが、複数の要因により、一部のぶれが残存する。この複数の要因には、第1の要因と第2の要因が含まれる。第1の要因に由来する残存ぶれと第2の要因に由来する残存ぶれの双方を除去することも可能であるが、以下、両者を画像復元によって個別に除去する手法を説明する。
まず、第1の要因に関する説明を行う。第1の要因は、センサ部26の角速度センサ51及び61(図11参照)の各出力側に設けられたフィルタ回路による信号減衰である。説明の具体化のため、角速度センサ51及び61の内、角速度センサ51に着目する。図12に示す如く、角速度センサ51の出力側にはフィルタ回路52が設けられ、角速度センサ51の出力信号中における特定の周波数成分は増幅器53の到達前にフィルタ回路52によって減衰する。このため、角速度センサ51の出力信号中における特定の周波数成分はマイコン20bに完全には伝達されず、結果、その特定の周波数成分に対応する手ぶれは光学式手ぶれ補正では完全に除去されない。
一方、フィルタ回路52の入出力特性(フィルタ回路52における入力信号と出力信号との関係)はデジタルカメラ1にとって既知であるため、実際にセンサ部26から出力された手ぶれ検出信号を参照すれば、事後的に、フィルタ回路52において、どのような信号減衰が起こったかを特定可能である。つまり、角速度センサ51の出力信号中、手ぶれ検出信号に反映されなかった信号成分(但し、オフセット成分を除く)を特定可能である。角速度センサ61についても同様である。角速度センサ51及び61の出力信号中、手ぶれ検出信号に反映されなかった信号成分(但し、オフセット成分を除く)を、残存ぶれ信号成分とよぶ。また、残存ぶれ信号成分がない場合を基準として考えた場合、残存ぶれ信号成分によって画像が動くことになる。従って、残存ぶれ信号成分を画像の動きベクトルに変換して考えることができる。残存ぶれ信号成分は、例えばマイコン20bによって算出される。光学式手ぶれ補正が施された後の画像メモリ15内の画像には、この残存ぶれ信号成分に応じた残存ぶれが含まれる。
画像復元部70は、補正対象画像の露光期間中における残存ぶれ信号成分に基づき、残存ぶれを含む画像に対して復元式手ぶれ補正を実施する。具体的には、手ぶれ検出信号からPSFを求めたのと同様、画像復元部70は、残存ぶれ信号成分(その残存ぶれ信号成分に応じた動きベクトル)に基づき残存ぶれを含む画像の露光期間中における残存ぶれの軌跡を求め、その残存ぶれの軌跡に応じたPSFを算出する。そして、そのPSFから、残存ぶれを除去するための復元フィルタを生成し、残存ぶれを含む画像に対して該復元フィルタを適用することにより残存ぶれを除去する。残存ぶれが除去された画像は、最終的なぶれ補正画像としてNTSCエンコーダ16を介してモニタ17に表示されると共に画像圧縮回路18を介してメモリカード19に保存される。
次に、第2の要因に関する説明を行う。第2の要因は、駆動部25による、補正レンズLC(図13)、撮像素子12又はバリアングルプリズムの駆動遅れである。説明の具体化のため、補正レンズLCを駆動することにより光学式手ぶれ補正を実現する場合を考える。手ぶれ検出信号に基づき各タイミングにおける理想的な補正レンズLCの位置は特定されるのであるが、補正レンズLCの駆動には駆動機構の特性に依存する駆動遅れが存在するため、各タイミングにおける理想的な補正レンズLCの位置と実際の補正レンズLCの位置との間には位置誤差が生じる。この位置誤差に応じたぶれ成分は、光学式手ぶれ補正では除去されないことになる。
一方、理想的な補正レンズLCの位置は手ぶれ検出信号から特定されるため、ホールセンサ(不図示)等の位置検出センサを用いて各タイミングにおける実際の補正レンズLCの位置を検出すれば、事後的に、位置誤差を特定可能である。また、位置誤差がない場合を基準として考えた場合、位置誤差によって画像が動くことになる。従って、位置誤差を画像の動きベクトルに変換して考えることができる。補正対象画像の露光期間中の各タイミングにおける位置誤差は、例えばマイコン20bによって算出される。光学式手ぶれ補正が施された後の画像メモリ15内の画像には、この位置誤差に応じた残存ぶれが含まれる。
画像復元部70は、補正対象画像の露光期間中における位置誤差に基づき、残存ぶれを含む画像に対して復元式手ぶれ補正を実施する。具体的には、手ぶれ検出信号からPSFを求めたのと同様、画像復元部70は、求めた位置誤差(その位置誤差に応じた動きベクトル)に基づき残存ぶれを含む画像の露光期間中における残存ぶれの軌跡を求め、その残存ぶれの軌跡に応じたPSFを算出する。そして、そのPSFから、残存ぶれを除去するための復元フィルタを生成し、残存ぶれを含む画像に対して該復元フィルタを適用することにより残存ぶれを除去する。残存ぶれが除去された画像は、最終的なぶれ補正画像としてNTSCエンコーダ16を介してモニタ17に表示されると共に画像圧縮回路18を介してメモリカード19に保存される。
補正レンズLCを駆動することによって光学式手ぶれ補正を実施する場合を例にとり、第2の要因に由来する残存ぶれを画像復元によって除去する手法を説明したが、撮像素子12又はバリアングルプリズムを駆動することによって光学式手ぶれ補正を実施する場合も同様に処理できる。
尚、画像復元による手ぶれ補正(画像復元部70による復元式手ぶれ補正)を、補正対象画像の撮影終了後に必ず行うようにしても良いし、所定の指示操作が与えられた時にのみ行うようにしても良い。この所定の指示操作は、デジタルカメラ1に備えられた図示されない画像復元ON/OFF選択ボタンに対して行われる。また、以下のように処理しても良い。シャッタボタンSB1の押下により撮影指示が成された場合は、画像復元ON/OFF選択ボタンに対する操作内容に関わらず必ず画像復元による手ぶれ補正を行うようにし、シャッタボタンSB2の押下により撮影指示が成された場合は、上記指示操作が与えられた時にのみ画像復元による手ぶれ補正を行うようにする。
上述の如く、光学/復元ハイブリッド補正を実現可能に構成されている場合において、手ぶれ特性αに応じ、手ぶれ補正方法を変更する。手ぶれ量が比較的大きいシャッタボタンにより撮影した場合は光学/復元ハイブリッド補正を実施して大きな手ぶれに対応する。一方、手ぶれ量が比較的小さいシャッタボタンにより撮影した場合は、復元式手ぶれ補正のみ或いは光学式手ぶれ補正のみを行う。復元式手ぶれ補正のみを行うようにすれば、補正レンズLC等の駆動に要する電力消費が削減される。光学式手ぶれ補正のみを行うようにすれば、画像復元に必要な処理時間が削減されると共に画像復元に要する電力消費が削減される。
<<第7実施例>>
次に、第7実施例について説明する。第7実施例では、手ぶれ補正として光学式手ぶれ補正と加算式手ぶれ補正を採用する。
図16に、本実施例のデジタルカメラの全体ブロック図を示す。図16は、図1のデジタルカメラ1の電気的な一構成例を示すものであるため、図16のデジタルカメラも符号1によって参照することとする。図16のデジタルカメラ1は、符号11a、12〜19、20c、21〜23、25、26及び30にて参照される各部位と、シャッタボタンSB1及びSB2を備える。即ち、図16のデジタルカメラ1は、図3のそれと図10のそれを組み合わせたような構成を採用している。マイコン20cは、図3のマイコン20と図10のマイコン20aの双方の機能の実現可能である。
撮像素子12は、複数のレンズを含む光学系11aを通して入射した光学像を光電変換し、該光学像を電気信号として出力する。撮像素子12、カメラ回路13、A/D変換器14、画像メモリ15の機能は、図3におけるそれらと同じである。撮像素子12の出力信号に基づく画像データは、画像メモリ15に書き込まれる。尚、被写体の明るさを測定する測光回路(不図示)から得られた明るさの情報に基づいて、撮像素子12の最適な露光時間は設定される。
画像メモリ15は、メモリ制御回路22を介してマイコン20cによって制御される。マイコン20cは、手ぶれ補正制御部としても機能する。尚、この手ぶれ補正制御部が、マイコン20cの外部に備えられていると考えても構わない。シャッタボタン検出部23は、上述のシャッタボタン検出信号をマイコン20cに出力する。
シャッタボタンSB1及びSB2の何れもが押下げられていない場合における図16のデジタルカメラ1の動作は、図3又は図10のそれと同様である。
シャッタボタンSB1又はSB2が押下された場合には、図16のデジタルカメラ1は、光学式手ぶれ補正のみに基づく手ぶれ補正、加算式手ぶれ補正のみに基づく手ぶれ補正、或いは、光学式手ぶれ補正と加算式手ぶれ補正を組み合わせた手ぶれ補正を、選択的に実施することができる。
光学式手ぶれ補正のみに基づく手ぶれ補正を実施する場合は、第5実施例におけるデジタルカメラ(図10)と同様にして、光学式手ぶれ補正のみが施される。即ち、この場合、マイコン20cは、1枚の補正対象画像の露光期間中にセンサ部26からの手ぶれ検出信号に基づいて駆動部25を介して補正レンズLC等の駆動を行い、これによって補正対象画像に対する光学式手ぶれ補正を実施する。この際、図16の加算式手ぶれ補正回路30は機能しない。この光学式手ぶれ補正が施された、画像メモリ15内の1枚の画像がぶれ補正画像となる。
加算式手ぶれ補正のみに基づく手ぶれ補正を実施する場合は、第1〜4実施例の何れかにおけるデジタルカメラ(図3)と同様にして、加算式手ぶれ補正のみが施される。即ち、この場合、マイコン20cは、撮影制御回路21を介して複数の分割露光画像の撮影を指示し、図16の加算式手ぶれ補正回路30が第1〜4実施例の何れかにおけるそれと同様に機能することで、複数の分割露光画像から位置合わせ及び加算合成を介して合成画像が生成される。この合成画像が、加算式手ぶれ補正がなされたぶれ補正画像となる。加算式手ぶれ補正のみを施す場合、複数の分割露光画像の撮影中において、図16の駆動部25による補正レンズLC等の駆動は行われない。
光学式手ぶれ補正と加算式手ぶれ補正を組み合わせた手ぶれ補正(以下、「光学/加算ハイブリッド補正」という)を、図17を参照して説明する。今、加算式手ぶれ補正における露光分割数(上述のNの数値)が4であるとする。連続撮影される4枚の分割露光画像を、第1、第2、第3及び第4の分割露光画像と呼ぶ。第1、第2、第3及び第4の分割露光画像の順に連続撮影が行われる。今、第iの分割露光画像の露光の開始タイミング及び終了タイミングを夫々TiA及びTiBとする(ここで、iは1、2、3又は4)。TiA−TiB間は、第iの分割露光画像の露光期間を表す。
4枚の分割露光画像は連続撮影されるものの、分割露光のオーバーヘッドにより、時間的に隣接する2つの分割露光画像の露光期間の間には有限な時間が存在する。例えば、第1の分割露光画像の露光の終了タイミングT1Bから、ゼロではない所定の時間(T1B−T2A間の時間)が経過した後に、第2の分割露光画像の露光の開始タイミングT2Aが訪れる。
光学/加算ハイブリッド補正を行う場合、第1、第2、第3及び第4の分割露光画像の各露光期間(T1A−T1B等)において、光学式手ぶれ補正を実施する。即ち、各分割露光画像の露光期間における手ぶれ検出信号に基づいて、各分割露光画像の露光期間中、マイコン20cは、駆動部25を制御し、第5実施例で説明したのと同様、補正レンズLC(図13)を駆動することにより光学式手ぶれ補正を実現する。補正レンズLCの代わりに、撮像素子12又はバリアングルプリズムを駆動することによって光学式手ぶれ補正を実現しても良い。これにより、各分割露光画像の露光期間中の手ぶれに由来する各分割露光画像内のぶれが低減される。
また、より大きな手ぶれに対応するべく、T1B−T2A間、T2B−T3A間及びT3B−T4A間において、補正レンズLCの位置を補正レンズLCの可動範囲の中心位置に戻すようにする。光学式手ぶれ補正を実現するために撮像素子12を駆動する場合は、T1B−T2A間、T2B−T3A間及びT3B−T4A間において、撮像素子12の位置を撮像素子12の可動範囲の中心位置に戻すようにする。光学式手ぶれ補正を実現するためにバリアングルプリズムを駆動する場合は、T1B−T2A間、T2B−T3A間及びT3B−T4A間において、バリアングルプリズムの状態をバリアングルプリズムの状態可変範囲の中心に戻すようにする。
これらに代えて、各分割露光画像の夫々に対して第5実施例で述べた技術内容(即ち、シフト処理)を適用するようにしても良い。つまり例えば、補正レンズLCがシフト処理の対象であり且つシャッタボタンSB1の押下によって撮影指示がなされた場合、右方向の手ぶれが支配的であるから、タイミングT1A、T2A、T3A及びT4Aの夫々における補正レンズLCの位置を、補正レンズLCの可動範囲の中心位置を基準として、その右方向の手ぶれを打ち消す方向の逆方向に所定の第1シフト量だけシフトさせた位置とする。このような補正レンズLCの配置位置を実現するための補正レンズLCの駆動は、タイミングT1A以前、T1B−T2A間、T2B−T3A間及びT3B−T4A間の夫々において実施される。撮像素子12又はバリアングルプリズムがシフト処理の対象である場合も同様である。このようなシフト処理を行うことにより、1つの分割露光時間当たりの補正可能手ぶれ量が増え、通常であれば露光分割数を増やさざるを得ないような大きな手ぶれが想定される場合でも、露光分割数を少なく抑えることが可能となる。結果、1つの分割露光時間を長くすることができるようになり、輝度の高い画像に基づく加算合成処理を実施することが可能となる。
補正レンズLC等の駆動を行いつつ得られた第1〜第4の分割露光画像は、順次、画像メモリ15に格納される。図16の加算式手ぶれ補正回路30は、第1〜4実施例の何れかに記載された手法と同様にして、画像メモリ15に格納された各分割露光画像を位置合わせして加算合成することにより、光学/加算ハイブリッド補正が施された合成画像を生成する。光学/加算ハイブリッド補正を用いれば、大きな手ぶれに対応可能である。
実際には、シャッタボタンSB1の押下によって撮影指示がなされた場合に、光学/加算ハイブリッド補正を実施して、光学/加算ハイブリッド補正が施された合成画像を最終的なぶれ補正画像として生成する。シャッタボタンSB1による撮影は手ぶれ量が大きいが、光学/加算ハイブリッド補正を用いることにより、大きな補正効果を得ることができる。
一方、シャッタボタンSB2の押下によって撮影指示がなされた場合には、例えば、光学式手ぶれ補正のみに基づく手ぶれ補正を実施して、光学式手ぶれ補正のみが施された画像メモリ15内の1枚の画像を、最終的なぶれ補正画像とする。これにより、加算合成に要する処理時間が削減されると共に加算合成に要する電力消費が削減される。加算式手ぶれ補正は、撮影時の拘束時間(撮影開始から撮影終了までに必要な時間)が、一括露光を行う場合よりも長くなってしまうというデメリットを有するが、シャッタボタンSB2にて撮影をおこなった場合は、このような拘束時間の延長がなくなる。
これに代えて、シャッタボタンSB2の押下によって撮影指示がなされた場合には、加算式手ぶれ補正のみに基づく手ぶれ補正を実施して、加算式手ぶれ補正のみが施された合成画像を最終的なぶれ補正画像として生成するようにしてもよい。これにより、補正レンズLC等の駆動に要する電力消費が削減される。尚、シャッタボタンSB1の押下によって撮影指示がなされた場合とシャッタボタンSB2の押下によって撮影指示がなされた場合とで、分割露光時間及び露光分割数を第1実施例の如く異ならせても良いし、それらを一致させても良い。
何れのぶれ補正画像も、NTSCエンコーダ16を介してモニタ17に表示されると共に画像圧縮回路18を介してメモリカード19に保存される。
尚、加算式手ぶれ補正を行うために必要な、分割露光画像間の位置合わせのための動きベクトルは、第1実施例で述べたように動き検出回路32にて算出することができる。但し、図16のデジタルカメラ1の場合、センサ部26が設けられているため、手ぶれ検出信号から位置合わせのための動きベクトルを求めることも可能である。即ち、図17に示す例の場合、T1B−T2A間、T2B−T3A間及びT3B−T4A間における手ぶれ検出信号からT1B−T2A間、T2B−T3A間及びT3B−T4A間における動きベクトル、即ち、第1と第2の分割露光画像間の全体動きベクトル、第2と第3の分割露光画像間の全体動きベクトル及び第3と第4の分割露光画像間の全体動きベクトルを求め、それらの全体動きベクトルを用いて第1〜第4の分割露光画像を位置合わせして加算合成することにより、ぶれ補正画像としての合成画像を生成することも可能である。
<<第8実施例>>
ところで、ヨー方向及びピッチ方向の手ぶれに対しては、角速度センサを有するセンサ部26を用いた光学式手ぶれ補正にて対応することができる。角速度センサを用いることによってロール方向の手ぶれを検出することもできるのであるが、角速度センサの出力だけで回転の中心を判別することはできないので、角速度センサの出力のみに基づいてロール方向の手ぶれを補正することは困難である。一方、第2実施例で述べたように、画像処理を用いればロール方向のぶれ(即ち、回転方向の動き)を容易に検出することができる。
そこで、光学式手ぶれ補正と加算式手ぶれ補正とを組み合わせる場合、加算式手ぶれ補正にロール方向の手ぶれ補正を担わせるとよい。但し、シャッタボタンによってはロール方向の手ぶれは小さくなるので、ロール方向の手ぶれ補正を行うことによる負荷を考慮してロール方向の手ぶれ補正の実施/不実施を決定することが望ましい。
これらを考慮した実施例として、第8実施例について説明する。第8実施例も、第7実施例と同様、手ぶれ補正として光学式手ぶれ補正と加算式手ぶれ補正を採用する。第8実施例に係るデジタルカメラ1の全体ブロック図は、図16に示すそれと同様であるため、重複する図示を省略する。本実施例のデジタルカメラ1について、特に記述しない部分は、第7実施例におけるそれと同様とすることができ、第7実施例に記載した事項は、矛盾なき限り本実施例にも適用される。
但し、第8実施例では、「センサ部26がヨー方向とピッチ方向のみの手ぶれを検出可能に構成されている」と特に限定して考える。尚、本実施例以外の他の実施例において光学式手ぶれ補正を実現する場合、デジタルカメラ1のロール方向のぶれを検出して該ロール方向のぶれを光学的に補正することも可能である。例えば、本実施例以外の他の実施例において、センサ部26にデジタルカメラ1のロール方向のぶれを検出する周知の回転センサを設けると共に撮像素子12を光軸を回転軸として回転可能に構成しておき、その回転センサの検出結果に基づいて撮像素子12を回転させることによって、ロール方向のぶれを光学的に補正するようにしてもよい。
第8実施例は、光学式手ぶれ補正と加算式手ぶれ補正の双方を実現可能なデジタルカメラ1に関して、特にロール方向の手ぶれ補正に着目した実施例であり、第8実施例の内容の一部は第7実施例の内容の一部と重複する。
シャッタボタンSB1又はSB2が押下された場合には、第7実施例と同様、本実施例のデジタルカメラ1は、光学式手ぶれ補正のみに基づく手ぶれ補正、加算式手ぶれ補正のみに基づく手ぶれ補正或いは光学/加算ハイブリッド補正を選択的に実施し、これによってぶれ補正画像を生成する。ぶれ補正画像は、NTSCエンコーダ16を介してモニタ17に表示されると共に画像圧縮回路18を介してメモリカード19に保存される。手ぶれ補正の選択手法の具体例として以下に第1選択例と第2選択例を挙げる。
[第1選択例]
まず第1選択例を説明する。第1選択例では、シャッタボタンSB1の押下によって撮影指示がなされた場合は、ロール方向の手ぶれが大きいと予想されることに鑑み、光学/加算ハイブリッド補正を実施する。これにより、ロール方向の手ぶれに適正に対応できる。
即ち、シャッタボタンSB1の押下によって撮影指示がなされた場合は、第7実施例で述べた光学/加算ハイブリッド補正を実施することによって、複数の分割露光画像からぶれ補正画像としての合成画像を得る。この際、各分割露光画像の露光期間における補正レンズLC等の駆動により、各分割露光画像のヨー方向及びピッチ方向のぶれは低減される。光学的にヨー方向及びピッチ方向のぶれが低減された各分割露光画像は、画像メモリ15に格納される。そして、動き検出回路32が、この画像メモリ15に格納された複数の分割露光画像の内の1枚を基準画像とし且つ他を非基準画像とし、第2実施例と同様、各分割露光画像の画像データに基づいて基準画像と各非基準画像との間における並進方向及び回転方向の全体動きベクトルを検出する。その後、並進方向及び回転方向の全体動きベクトルに基づいて、各分割露光画像が位置合わせして加算合成され、ぶれ補正画像としての合成画像が得られる。
尚、並進方向の全体動きベクトルに関しては、第7実施例でも述べたように、手ぶれ検出信号から検出することも可能である。
一方、シャッタボタンSB2の押下によって撮影指示がなされた場合は、ロール方向の手ぶれが小さいと予想されることに鑑み、光学式手ぶれ補正のみを実施するようにする。これにより、加算合成に要する処理時間が削減されると共に加算合成に要する電力消費が削減される。また、撮影時の拘束時間も短くて済む。
即ち、シャッタボタンSB2の押下によって撮影指示がなされた場合は、光学式手ぶれ補正のみを実施して、光学式手ぶれ補正のみが施された画像メモリ15内の1枚の画像を、最終的なぶれ補正画像とする。
[第2選択例]
次に第2選択例を説明する。第2選択例では、シャッタボタンSB1の押下によって撮影指示がなされた場合は、ロール方向の手ぶれが大きいと予想されることに鑑み、加算式手ぶれ補正のみを実施する。これにより、ロール方向の手ぶれに適正に対応できる。また、補正レンズLC等の駆動に要する電力消費が削減される。
即ち、シャッタボタンSB1の押下によって撮影指示がなされた場合は、駆動部25による補正レンズLC等の駆動を停止した状態で加算式手ぶれ補正を行うための複数の分割露光画像を連続撮影する。そして、第2実施例と同様、複数の分割露光画像の内の1枚を基準画像とし且つ他を非基準画像とし、動き検出回路32が、各分割露光画像の画像データに基づいて基準画像と各非基準画像との間における並進方向及び回転方向の全体動きベクトルを検出する。その後、並進方向及び回転方向の全体動きベクトルに基づいて、各分割露光画像が位置合わせして加算合成され、ぶれ補正画像としての合成画像が得られる。
一方、シャッタボタンSB2の押下によって撮影指示がなされた場合は、ロール方向の手ぶれが小さいと予想されることに鑑み、光学式手ぶれ補正のみを実施するようにする。これにより、加算合成に要する処理時間が削減されると共に加算合成に要する電力消費が削減される。また、撮影時の拘束時間も短くて済む。
即ち、シャッタボタンSB2の押下によって撮影指示がなされた場合は、光学式手ぶれ補正のみを実施して、光学式手ぶれ補正のみが施された画像メモリ15内の1枚の画像を、最終的なぶれ補正画像とする。
<<第9実施例>>
次に、手ぶれ補正として光学式手ぶれ補正を採用する場合に適用可能な手法を、第9実施例として説明する。第9実施例に記載の内容は、光学式手ぶれ補正を含む手ぶれ補正を実現する他の実施例(第5実施例等)に適用可能である。説明の具体化のため、第9実施例に係るデジタルカメラの全体ブロック図は、図10と同じであるものとする。第9実施例では、図11のセンサ部26に関する技術内容を述べる。第9実施例は、第1具体例と第2具体例に細分化される。以下、両者を個別に説明する。
[第1具体例]
まず、第1具体例について説明する。第1具体例では、角速度センサの出力信号を増幅する増幅器の増幅率を可変とし、何れのシャッタボタンが押されたかに応じて増幅率を変更する。図11のセンサ部26には、2つのセンサユニット50及び60が備えられているが、説明の具体化のため、センサユニット50に着目して、この増幅率の可変設定手法を説明する。
図12を参照する。角速度センサ51の出力信号を増幅する増幅器53の増幅率を変更可能としておく。増幅器53の増幅率は、シャッタボタン検出信号に基づき、図10のマイコン20aによって設定される。
増幅器53の増幅率は、補正しようとする範囲内の手ぶれ量に対して増幅器53の出力及びA/D変換器54の出力が飽和しないように設定されるべきである。一方において、増幅器53の増幅率を低くしすぎると、手ぶれ検出感度が悪くなる。即ち、想定される手ぶれ量に対して適正な増幅率を設定することが望まれる。仮に、手ぶれ量が比較的多くなるシャッタボタンSB1を基準にして増幅率を設定し、それと同じ増幅率をシャッタボタンSB2に対しても適用すると、出力飽和までに過剰な余裕が生じることになる。つまり、シャッタボタンSB2にとっての手ぶれ検出感度が最適化されず、検出可能範囲が有効に活用されない。シャッタボタンSB1とSB2とで想定される手ぶれ量が異なるため、両者にとって適正な増幅率を個別に設定してやれば、手ぶれ検出感度を個別に最適化することが可能となる。
具体的には、シャッタボタンSB1の押下によって撮影指示がなされた場合、マイコン20aは、増幅器53の増幅率をK1とする。一方、シャッタボタンSB2の押下によって撮影指示がなされた場合、マイコン20aは、増幅器53の増幅率をK1よりも大きなK2とする。
尚、センサユニット50に着目した説明を行ったが、センサユニット60に対しても同様の処理が可能である。センサユニット50と60の間で、増幅率の設定値を同じにしてもよいし異ならせてもよい。
[第2具体例]
次に、第2具体例について説明する。第2具体例では、A/D変換器のデジタル値のゼロ点を、予想される手ぶれ方向の逆方向にシフトさせる。これを、図12を参照し、センサユニット50に着目して詳細に説明する。
A/D変換器54の出力信号は、例えば、10ビットのデジタル値で表現され、1024段階に量子化された整数値をとる。この整数値の単位は[step]である。増幅器53の出力信号の電圧値をVa[mv]とし、A/D変換器54におけるA/D変換係数をLAD[mv/step]とすると、A/D変換器54の出力信号におけるデジタル値DLは、DL=(Va/LAD)+DO、にて表すことができる(但し、量子化誤差を無視)。そして、デジタル値DLは、−512<DL≦512、を満たす整数値をとる。DOはデジタル値DLにおけるゼロ点であり、ゼロ点DOの単位はデジタル値DLと同じく[step]である。
電圧値Vaはヨー方向の角速度に比例し、ヨー方向の角速度がゼロである時、Va=0である。図1の軸301を鉛直方向に平行とした状態でのヨー方向のぶれは、水平方向のぶれとなる。水平方向は右方向と左方向に分類される。デジタルカメラ1の操作面側から見て右方向のぶれが生じたとき、Vaが正の電圧値をとり、左方向のぶれが生じたとき、Vaが負の電圧値をとるものとする。
一般的には、DO=0[step]とされ、この場合、左方向と右方向の手ぶれ検出可能範囲は同じとなる。第2具体例では、上述の手ぶれ特性αに鑑み、マイコン20aが、シャッタボタン検出信号に基づいてゼロ点DOを可変設定する。
具体的には、シャッタボタンSB1の押下によって撮影指示がなされた場合、右方向の手ぶれが大きいと予想されるため、マイコン20aは、DO=DO1<0とする。例えば、DO1=−50[step]とする。これにより、右方向の手ぶれの検出可能範囲が拡大される。一方、シャッタボタンSB2の押下によって撮影指示がなされた場合、左方向の手ぶれが大きいと予想されるため、マイコン20aは、DO=DO2>0とする。例えば、DO2=+50[step]とする。これにより、左方向の手ぶれの検出可能範囲が拡大される。尚、シャッタボタンSB2の押下による手ぶれの絶対量は比較的小さいため、|DO1|>|DO2|、が成立するようにゼロ点を可変設定してもよい。
ピッチ方向に対応するセンサユニット60に対しても同様の処理が可能である。但し、シャッタボタンSB1とSB2の何れとも、ピッチ方向の支配的なぶれ方向は同一(下方向)であるため、ゼロ点は同一方向にシフトされる(例えば、双方の場合において、+50[step])。
このように、何れのシャッタボタンが押下されたかに応じ、手ぶれ特性αを考慮してA/D変換器のゼロ点を変更する。これにより、出力飽和を回避しつつ、手ぶれの検出可能範囲を実質的に拡大することが可能となる。
第1又は第2具体例を採用して得られた手ぶれ検出信号は、マイコン20aに送られ、該手ぶれ検出信号に基づき、第5実施例等で説明した光学式手ぶれ補正が実施される。
<<第10実施例>>
次に、手ぶれ補正として光学式手ぶれ補正を採用する場合に適用可能な手法を、第10実施例として説明する。第10実施例に記載の内容は、光学式手ぶれ補正を含み且つ復元式手ぶれ補正又は加算式手ぶれ補正を含む手ぶれ補正を実現する他の実施例(第6〜8実施例など)に適用可能である。
手ぶれ補正として光学式手ぶれ補正を用いる場合、図11に示されるセンサ部26が用いられる。センサ部26に角速度センサなどの手ぶれ検出センサを用いる場合、その手ぶれ検出センサの出力信号には、周辺温度等に依存してドリフトするオフセット成分が含まれる。このドリフトの周波数は低い。従って、図12のようなハイパスフィルタ等から成るフィルタ回路52にて、オフセット成分(ドリフト成分)を除去することができる。
但し、ハイパスフィルタを設けた場合において、カットオフ周波数を小さくすると信号の時定数が大きくなり、カメラ起動時からフィルタ回路の出力信号が安定するまでに大きな時間が必要となる。フィルタ回路の出力信号を早く安定させようとしてカットオフ周波数を大きくすると信号の時定数が小さくなり、検出すべき手ぶれ成分まで除去されてしまって正確な手ぶれ検出ができなくなる。これらを総合的に勘案してフィルタ回路は設計されるのであるが、カメラ起動直後におけるセンサ部26の出力の信頼性はどうしても低くなりがちである。
そこで、カメラ起動直後は、光学式手ぶれ補正が必要となるシャッタボタンの撮影指示を禁止する。
これをより具体的に説明する。デジタルカメラ1には、図示されない電源スイッチが設けられている。デジタルカメラ1を構成する各部位に駆動電力が供給されてない状態において電源スイッチが押下されると、デジタルカメラ1を構成する各部位(センサ部26を含む)に対して、図示されない電力源(二次電池など)から駆動電力が供給されてデジタルカメラ1を構成する各部位が動作可能な状態となる。マイコン(20b又は20c)は、デジタルカメラ1を構成する各部位に駆動電力が供給されてない状態からデジタルカメラ1を構成する各部位が動作可能な状態に遷移したタイミングを起算点とし、該起算点からの経過時間を計測する。そして、その経過時間が所定の基準時間に達するまで、光学式手ぶれ補正が必要となるシャッタボタンの撮影指示を禁止する。上記経過時間が上記基準時間に達するまでの期間を、「禁止期間」という。この禁止期間外では、シャッタボタンSB1でもSB2でも撮影指示を許可する。つまり、禁止期間外での動作は、上述の各実施例に記載の動作と同じである。尚、禁止期間内であっても、スルー表示は行われる。
例えば第6実施例に示したように、シャッタボタンSB1の押下時に光学/復元ハイブリッド補正が行われ且つシャッタボタンSB2の押下時に復元式手ぶれ補正のみが行われる場合、上記禁止期間内では、シャッタボタンSB1の押下による撮影指示を禁止してシャッタボタンSB2の押下による撮影指示を許可する。即ち、上記禁止期間内に、シャッタボタンSB1が押下されたとしても、その押下に従った静止画像の撮影及び該静止画像のメモリカード19への記録を行わない。他方、上記期間期間内であってもシャッタボタンSB2が押下されたならば、その押下に従った静止画像の撮影、手ぶれ補正及び手ぶれ補正後の静止画像のメモリカード19への記録を実施する。
第7又は第8実施例に適用する場合も同様である。例えば、第7実施例に示したように、シャッタボタンSB1の押下時に光学/加算ハイブリッド補正が行われ且つシャッタボタンSB2の押下時に加算式手ぶれ補正のみが行われる場合、上記禁止期間内では、シャッタボタンSB1の押下による撮影指示を禁止してシャッタボタンSB2の押下による撮影指示を許可する。また例えば、第8実施例に示したように、シャッタボタンSB1の押下時に加算式手ぶれ補正のみが行われ且つシャッタボタンSB2の押下時に光学式手ぶれ補正のみが行われる場合、上記禁止期間内では、シャッタボタンSB2の押下による撮影指示を禁止してシャッタボタンSB1の押下による撮影指示を許可する。
また、上記禁止期間内において、撮影指示が禁止されているシャッタボタンが押下された場合は、モニタ17による映像表示や音声出力部(不図示)による音声出力で、そのシャッタボタンが使用できない旨をユーザに報知する。
上述のように処理することにより、フィルタ回路の出力信号が安定しない期間でも有効な手ぶれ補正がなされた撮影を実施することができる。また、信頼性の低い手ぶれ補正の実施が避けられる。
尚、以下のように処理することも可能である。シャッタボタンSB1の押下時には、光学式手ぶれ補正、光学/復元ハイブリッド補正又は光学/加算ハイブリッド補正が行われ、且つ、シャッタボタンSB2の押下時には、復元式手ぶれ補正又は加算式手ぶれ補正が行われるか或いは手ぶれ補正そのものが行われないようにしておく。そして、上記禁止期間内では、シャッタボタンSB1の押下による撮影指示を禁止してシャッタボタンSB2の押下による撮影指示を許可する。
<<第11実施例>>
上述の各実施例では、シャッタボタンSB1の押下時とシャッタボタンSB2の押下時とで手ぶれ補正の処理(処理内容や処理条件)を変更しているが、シャッタボタンSB2の押下による手ぶれ量が小さいことに鑑みれば、シャッタボタンSB2の押下時には、そもそも手ぶれ補正を行わないといったことも可能であり、そのようにしても実質的な弊害は少ないといえる。
即ち、デジタルカメラ1を、図3、図10、図14又は図16の全体ブロック図で表されるように構成する。そして、シャッタボタンSB1が押下された場合には、上述の各実施例で説明したような、加算式手ぶれ補正のみ、光学式手ぶれ補正のみ、復元式手ぶれ補正のみ、光学/復元ハイブリッド補正及び光学/加算ハイブリッド補正の何れかを実施することによって、ぶれ補正画像を生成し、これをNTSCエンコーダ16を介してモニタ17に表示すると共に画像圧縮回路18を介してメモリカード19に保存する。これに対し、シャッタボタンSB2が押下された場合には、手ぶれ補正を一切行うことなく、撮像素子12の出力信号に基づく画像メモリ15内の画像を、NTSCエンコーダ16を介してモニタ17に表示すると共に画像圧縮回路18を介してメモリカード19に保存する。
このように、押下されたシャッタボタンに応じて、手ぶれ補正の実施又は不実施を選択制御する。この選択制御は、マイコン(20、20a、20b又は20c)によって行われる。シャッタボタンSB2の押下時の手ぶれ補正が不要となるため、電力消費の低減効果及び/又は処理時間の削減効果などが得られる。
<<第12実施例>>
次に、第12実施例について説明する。第12実施例では、静止画像の撮影を指示するためのシャッタボタンに関する詳細な説明及び変形例の説明を行う。第12実施例に記載の内容は、他の実施例と組み合わせて利用される。
上述の各実施例では、静止画像の撮影を指示するためのシャッタボタンとして、デジタルカメラ1に固定的に設置されたシャッタボタンSB1及びSB2を想定した。しかしがら、シャッタボタンSB1及びSB2の機能を、デジタルカメラ1に設けられた他のボタンに担わせてもよい。デジタルカメラ1には、例えば、10〜20個程度のボタンが備えられているが、シャッタボタンSB1の機能とシャッタボタンSB2の機能を、全てのボタンの内の任意のボタンに割り当てることができるようにする。具体的には、デジタルカメラ1に設けられた図示されない操作部(選択操作受付手段)にて、何れのボタンにシャッタボタンSB1及びSB2の機能を割り当てるかを選択するための操作を受け付ける。そして、その操作に従って選択されたボタンにシャッタボタンSB1及びSB2の機能を割り当てるとよい。
例えば、シャッタボタンの機能を担わせることができるボタンとして、図18に示す如く、シャッタボタンSB1及びSB2の他にボタンBT1〜BT4があったとする。そして、シャッタボタンSB1の機能をボタンBT1に担わせ、シャッタボタンSB2の機能をボタンBT2に担わせた場合を考える。この場合において、ボタンBT1を押下すれば、上述の各実施例でシャッタボタンSB1を押下した際の動作と同様の動作がデジタルカメラ1内で実施され、ボタンBT2を押下すれば、上述の各実施例でシャッタボタンSB2を押下した際の動作と同様の動作がデジタルカメラ1内で実施される。このような機能の割り当てが行われた際、ボタンBT1とBT2はシャッタボタンである、と解釈することができる。
シャッタボタンSB1及びSB2は、上述の手ぶれ特性αを有するが、他のボタンに対しても、ボタンの大きさやデジタルカメラ1内の配置位置などに依存した手ぶれ特性が存在する。そこで、各ボタンに対する手ぶれ特性を、実験などを介して予め調べておく。即ち、ボタンBT1〜BT4の夫々に対し、ボタンを押下した時に生じる手ぶれ量や支配的な手ぶれ方向を調べておく(調べられた内容が手ぶれ特性である)。そして、ボタンBT1〜BT4の夫々に対する手ぶれ特性に応じた手ぶれ特性情報を予めデジタルカメラ1(マイコン)に認識させておき、その手ぶれ特性に応じた手ぶれ補正の処理を、上述の各実施例で示した手法にて実行させるとよい。この場合、シャッタボタン検出部23は、複数のシャッタボタンとして機能する複数のボタン(今の例の場合、ボタンBT1及びBT2)の内、何れのボタンが押下されたかを検出し、その検出結果を表すシャッタボタン検出信号をマイコン(20、20a、20b又は20c)に伝達するようにする。
例えば、手ぶれ特性情報からボタンBT1の手ぶれ量が比較的大きいと想定され且つボタンBT2の手ぶれ量が比較的小さいと想定される場合において、上述の第1実施例の手法を適用するならば、ボタンBT1の押下時の露光分割数はボタンBT2の押下時のそれよりも大きくされ、ボタンBT1の押下時の分割露光時間はボタンBT2の押下時のそれよりも短くされる。手ぶれ特性情報からボタンBT1の手ぶれ量が比較的小さいと想定され且つボタンBT2の手ぶれ量が比較的大きいと想定されるならば、その逆とされる。
仮に、ボタンBT1及びBT2に対する手ぶれ特性がシャッタボタンSB1及びSB2に対する手ぶれ特性αと同じであるならば、結果的に、上述の各実施例と同じ手ぶれ補正の処理制御を行えばよいことになる(この場合、シャッタボタンSB1及びSB2はボタンBT1及びBT2に読み替えられる)。
このように、シャッタボタンの機能を担わせるボタンを自由に選択することができるように、且つ、選択されたボタンに応じた手ぶれ補正が実行されるようにデジタルカメラ1を構成すれば、ユーザの好みに応じたボタンでシャッタを切ることができると共に選択したボタンに応じた最適な手ぶれ補正を実現することが可能となる。
尚、本実施形態では、静止画像の撮影を指示するためのシャッタボタンの総数が2となっているが、この総数は3以上であってもよい。シャッタボタンの総数が3以上である場合も、各シャッタボタンについての手ぶれ特性を考慮し、何れのシャッタボタンが押下されたかに応じて手ぶれ補正の処理を決定すればよい。
[2段階操作について]
また、シャッタボタンは、通常、半押し(ファーストレリーズ)と全押し(セカンドレリーズ)の2段階操作が可能となっている。この場合、シャッタボタンが半押しされた時に焦点を合わせるための所謂オートフォーカス制御がなされ、半押しの後、更にシャッタボタンが全押しされた後に取得されるべき画像に対する露光が開始される。この半押しが担う焦点合わせの機能を機能F1、この全押しが担う露光開始指示の機能を機能F2と呼ぶ。
上述の他の実施例の如くシャッタボタンSB1及びSB2がシャッタボタンの機能を担っている場合において、シャッタボタンSB1及びSB2が2段階操作可能になっているならば、シャッタボタンSB1が半押しされた時にシャッタボタンSB1に対応する機能F1を実行し、シャッタボタンSB1が全押しされた時にシャッタボタンSB1に対応する機能F2を実行し、シャッタボタンSB2が半押しされた時にシャッタボタンSB2に対応する機能F1を実行し、シャッタボタンSB2が全押しされた時にシャッタボタンSB2に対応する機能F2を実行すればよい。この場合は、上述の他の実施例の如く、手ぶれ補正を実施すればよい。
また例えば、本実施例の上述の例の如くボタンBT1及びBT2がシャッタボタンSB1及びSB2の機能を担っており且つボタンBT1及びBT2が2段階操作可能になっている場合は、ボタンBT1が半押しされた時にボタンBT1に対応する機能F1を実行し、ボタンBT1が全押しされた時にボタンBT1に対応する機能F2を実行し、ボタンBT2が半押しされた時にボタンBT2に対応する機能F1を実行し、ボタンBT2が全押しされた時にボタンBT2に対応する機能F2を実行すればよい。この場合も、上述の他の実施例と同様の手ぶれ補正が実施可能である。
仮に、第1ボタン(例えば、シャッタボタンSB1又はボタンBT1)及び第2ボタン(例えば、シャッタボタンSB2又はボタンBT2)が1段階の押下操作しかできない場合は、以下のような処理を採用することも可能である。即ち、デジタルカメラ1に設けられた操作部(不図示)に対する所定操作によって、第1ボタンに機能F1を割り当て、第2ボタンに機能F2を割り当てる。この際、第1ボタンを押下しながら第2ボタンを押下しなければ静止画像の撮影指示ができなようにデジタルカメラ1を構成しておく。
これにより、第1ボタン及び第2ボタンがシャッタボタンSB1及びSB2である場合は、デジタルカメラ1の筐体を両手で把持しながら撮影が行われることになり手ぶれそのものが小さくなる。この場合も、第1及び第2ボタンを同時に押下した時の手ぶれ特性を考慮して、該手ぶれ特性に応じた手ぶれ補正を実施すればよい。これを実現すべく、第1及び第2ボタンを同時に押下した時の手ぶれ特性に応じた手ぶれ特性情報を、予めデジタルカメラ1(マイコン)に認識させておけばよい。
<<第13実施例>>
次に、第13実施例について説明する。本実施例では、図3等に示された動き検出回路32及び画像合成回路36の詳細な動作手法例を説明する。但し、本実施例では、回転方向の動きを無視し、並進方向の動き検出のみを行って並進方向のみの位置合わせを行う手法を取り扱うものとする。従って、本実施例に記載の手法は、並進方向の動き検出のみを行って並進方向のみの位置合わせを行うという想定の下で、加算式手ぶれ補正を採用する上述の何れかの実施例に適用することができる。
説明の具体化のため、本実施例に係るデジタルカメラ1の全体ブロック図が図3のそれと同じであるとして以下の説明を行うものとする。また、本実施例にて記載されるシャッタボタンとは、シャッタボタンSB1又はSB2を意味するものとする。
図20は、本実施例に係る動き検出回路32の内部ブロック図である。図20の動き検出回路32は、代表点マッチング回路141と、領域動きベクトル算出回路142と、検出領域有効性判定回路143と、全体動きベクトル算出回路144と、を有して構成される。符号142〜144で表される部位の機能については後に示す図25及び図26のフローチャートの説明の中で行うとして、まず、代表点マッチング回路141について説明する。
代表点マッチング回路141は、図4及び図5を参照しつつ第1実施例で説明したように、代表点マッチング法に基づいて基準画像と非基準画像との間の全体動きベクトルを検出する。加算式手ぶれ補正を行うために連続撮影された複数の分割露光画像の内、例えば、1番目の分割露光画像(1番目に得られた分割露光画像)が基準画像とされ、2番目以降の各分割露光画像が非基準画像とされる。
図21は、代表点マッチング回路141の内部ブロック図である。代表点マッチング回路141は、フィルタ151と、代表点メモリ152と、減算回路153と、累積加算回路154と、演算回路155と、を有して構成される。
フィルタ151には、図3の画像メモリ15から転送されてきた画像データが順次入力され、各画像データはフィルタ151を介して代表点メモリ152と減算回路153に与えられる。フィルタ151は、ローパスフィルタであり、S/N比を改善して少ない代表点で十分な動きベクトル検出精度を確保するために用いられる。代表点メモリ152は、図4に示す各検出領域E1 〜E9 の小領域eごとに、代表点Rの画像上の位置を特定する位置データと代表点Rの輝度値を特定する輝度データとを記憶する(図5も参照)。
尚、代表点メモリ152の記憶内容の更新タイミングは任意である。代表点メモリ152に画像が入力される度に該記憶内容を更新することもできるし、基準画像を定めて該基準画像が入力されたときにのみ該記憶内容を更新するようにしてもよい。また、或る画素(代表点R又はサンプリング点S)に関し、輝度値は、その画素の輝度を表し、輝度値が増加するに従って該輝度は増加するものとする。また、輝度値は、8ビット(0〜255)のデジタル値として表現されるとする。勿論、輝度値を8ビットと異なるビット数で表現しても良い。
減算回路153は、代表点メモリ152から与えられる基準画像の代表点Rの輝度値と非基準画像の各サンプリング点Sの輝度値との減算を行い、その減算結果の絶対値を出力する。減算回路153の出力値は、各サンプリング点Sにおける相関値を表し、該出力値は、順次、累積加算回路154に与えられる。累積加算回路154は、減算回路153から出力される相関値を累積加算することにより上述の累積相関値(第1実施例参照)を算出及び出力する。
演算回路155は、累積加算回路154から与えられる累積相関値を受け、図24に示すようなデータを算出及び出力する。1枚の基準画像と1枚の非基準画像との対比に関し、各検出領域E1 〜E9 ごとに、1つの小領域e内のサンプリング点Sの個数に応じた複数の累積相関値(以下、この複数の累積相関値を「演算対象累積相関値群」という)が演算回路155に与えられるが、演算回路155は、各検出領域E1 〜E9 ごとに、
「演算対象累積相関値群を形成する全ての累積相関値の平均値Vaveと、
演算対象累積相関値群を形成する全ての累積相関値の内の最小値(最小の累積相関値)と、
その最小値を示す画素の位置PAと、
位置PAの画素の近傍画素に対応する累積相関値(以下、近傍累積相関値と呼ぶことがある)」を算出する。
各小領域eに着目し、以下のように画素位置等を定義する。各小領域eにおいて、代表点Rの画素位置を(0,0)にて表す。位置PAは、代表点Rの画素位置(0,0)を基準とした、上記最小値を与えるサンプリング点Sの画素位置であり、これを、(iA,jA)にて表す(図22参照)。位置PAの画素の近傍画素とは、位置PAの画素に隣接する画素を含む位置PAの画素の周辺画素であり、本実施例では、位置PAの画素を中心とする24個の近傍画素を想定する。図23に示す如く、位置PAの画素と該24個の近傍画素は5×5の行列配列された画素群を形成する。その画素群の各画素の画素位置を、(iA+p,jA+q)にて表す。該画素群の中心に、位置PAの画素が存在する。p及びqは整数であり、−2≦p≦2且つ−2≦q≦2、が成立する。pが−2から2に増加するにつれて画素位置は位置PAを中心として上から下へと向かい、qが−2から2に増加するにつれて画素位置は位置PAを中心として左から右へと向かう。そして、画素位置(iA+p,jA+q)に対応する累積相関値を、V(iA+p,jA+q)にて表すものとする。
一般的には、最小の累積相関値の位置PAが真のマッチング位置に対応するものとして動きベクトルが算出されるが、本実施例では、最小の累積相関値は、真のマッチング位置に対応する累積相関値の候補として捉えられる。位置PAにて得られる最小の累積相関値をVAにて表し、それを「候補最小相関値VA」とよぶ。従って、V(iA,jA)=VAである。
他の候補を特定すべく、演算回路155は、各検出領域E1 〜E9 ごとに、最小の累積相関値VAに近い累積相関値が演算対象累積相関値群に含まれているかを検索し、検索されたVAに近い累積相関値も候補最小相関値として特定する。「最小の累積相関値VAに近い累積相関値」とは、VAを所定の規則に従って増加させた値以下の累積相関値であり、例えば、VAに所定の候補閾値(例えば2)を加えた値以下の累積相関値、或いは、VAに1より大きい係数を乗じて得られる値以下の累積相関値である。候補最小相関値は、上記の候補最小相関値VAを含めて、例えば最大4つ特定される。
以下、説明の便宜上、検出領域E1 〜E9 の夫々について、候補最小相関値VAの他に候補最小相関値VB、VC及びVDが特定された場合を考えるものとする。尚、最小の累積相関値VAに近い累積相関値を検索することによって他の候補最小相関値を特定すると述べたが、VB、VC及びVDの内の何れか又は全部は、VAと等しい場合もある。この場合、或る検出領域に関し、演算対象累積相関値群に最小の累積相関値が2以上含まれることになる。
演算回路155は、候補最小相関値VAと同様、各検出領域E1 〜E9 ごとに、
「候補最小相関値VBを示す画素の位置PBと位置PBの画素の24個の近傍画素に対応する合計24個の累積相関値(以下、近傍累積相関値と呼ぶことがある)、
候補最小相関値VCを示す画素の位置PCと位置PCの画素の24個の近傍画素に対応する合計24個の累積相関値(以下、近傍累積相関値と呼ぶことがある)、及び
候補最小相関値VDを示す画素の位置PDと位置PDの画素の24個の近傍画素に対応する合計24個の累積相関値(以下、近傍累積相関値と呼ぶことがある)」を検出する(図24参照)。
各小領域eに着目し、以下のように画素位置等を定義する。位置PB、PC及びPDは、それぞれ、位置PAと同様、代表点Rの画素位置(0,0)を基準とした、候補最小相関値VB、VC及びVDを与えるサンプリング点Sの画素位置であり、これを、(iB,jB)、(iC,jC)及び(iD,jD)にて表す。
位置PAと同様、位置PBの画素とそれの近傍画素は5×5の行列配列された画素群を形成し、その画素群の各画素の画素位置を(iB+p,jB+q)にて表す。
位置PAと同様、位置PCの画素とそれの近傍画素は5×5の行列配列された画素群を形成し、その画素群の各画素の画素位置を(iC+p,jC+q)にて表す。
位置PAと同様、位置PDの画素とそれの近傍画素は5×5の行列配列された画素群を形成し、その画素群の各画素の画素位置を(iD+p,jD+q)にて表す。
ここで、位置PAと同様、p及びqは整数であり、−2≦p≦2且つ−2≦q≦2、が成立する。pが−2から2に増加するにつれて画素位置は位置PB(又はPC又はPD)を中心として上から下へと向かい、qが−2から2に増加するにつれて画素位置は位置PB(又はPC又はPD)を中心として左から右へと向かう。そして、画素位置(iB+p,jB+q)、(iC+p,jC+q)及び(iD+p,jD+q)に対応する累積相関値を、夫々、V(iB+p,jB+q)、V(iC+p,jC+q)及びV(iD+p,jD+q)にて表す。
演算回路155は、更に、各検出領域E1 〜E9 ごとに、候補最小相関値の個数Nfを算出及び出力する。今の例の場合、検出領域E1 〜E9 の夫々について、Nfは4である。以下、各検出領域E1 〜E9 ごとに、演算回路155にて算出され且つ出力される、
「候補最小相関値VA、位置PA及び近傍累積相関値V(iA+p,jA+q)」を特定するデータを総称して「第1の候補データ」と呼び、
「候補最小相関値VB、位置PB及び近傍累積相関値V(iB+p,jB+q)」を特定するデータを総称して「第2の候補データ」と呼び、
「候補最小相関値VC、位置PC及び近傍累積相関値V(iC+p,jC+q)」を特定するデータを総称して「第3の候補データ」と呼び、
「候補最小相関値VD、位置PD及び近傍累積相関値V(iD+p,jD+q)」を特定するデータを総称して「第4の候補データ」と呼ぶ。
[動き検出回路の動作フロー]
次に、図25及び図26のフローチャートを参照して、動き検出回路32の処理手順を説明する。また、図29に、動き検出回路32内部の各データの流れをも表した、動き検出回路32の詳細内部ブロック図を示す。図29に示す如く、検出領域有効性判定回路143は、コントラスト判定部161と、複数動き有無判定部162と、類似模様有無判定部163を含み、全体動きベクトル算出回路144は、全体動きベクトル有効性判定部170と信頼度算出部174を含む。全体動きベクトル有効性判定部170は、更に、パン・チルト判定部171、領域動きベクトル類似性判定部172及び検出領域有効数算出部173を含む。
概略的に動作を説明すると、動き検出回路32は、検出領域ごとに、候補最小相関値の中から真のマッチング位置に対応する相関値を採用最小相関値Pminとして特定し、代表点Rの位置から採用最小相関値Vminを示す位置(PA、PB、PC又はPD)に向かう偏移を当該検出領域の領域動きベクトルとする。そして、各領域動きベクトルの平均を画像全体の動きベクトル(以下、「全体動きベクトル」という)として出力する。
但し、平均化によって全体動きベクトルを算出する際、各検出領域の有効又は無効を評価し、無効な検出領域に対応する領域動きベクトルを無効として除外する。そして、有効な領域動きベクトルの平均ベクトルを(原則として)全体動きベクトルとして算出すると共に、算出した全体動きベクトルが有効であるか或いは無効であるかを評価する。図29に示す信頼度算出部174において全体動きベクトルの信頼度も算出されるが、信頼度の算出手法については図25及び図26に関する説明の後に詳説する。
尚、図25に示されるステップS12〜S18の処理は、図20の代表点マッチング回路141にて実施される。ステップS24の処理は、図20の領域動きベクトル算出回路142によって実施される。ステップS21〜S23並びにS25及びS26の処理は、図20の検出領域有効性判定回路143によって実施される。図26に示されるステップS41〜S49の処理は、図20の全体動きベクトル算出回路144によって実施される。
図25及び図26は、或る1つの基準画像と或る1つの非基準画像との間における処理手順を示している。動き検出回路32は、手ぶれ補正撮影モードにおいてシャッタボタンが押下げられた際、1番目の分割露光画像を基準画像、2番目以降の各分割露光画像を非基準画像として、図25及び図26に示す各ステップの処理を実施する(但し、2番目以降の何れかの分割露光画像を基準画像とすることも可能である)。また、手ぶれ補正撮影モードでは、シャッタボタンが押下されたか否かに関わらず、動き検出回路32に対して前回に入力された画像(画像データ)を基準画像とし且つ今回に入力された画像を非基準画像として、図25及び図26に示す各ステップの処理が実施される。
まず、ステップS11において、9つある検出領域E1〜E9の何れか1つを特定するための変数kを1とする。k=1、2、・・・9の場合、それぞれ、検出領域E1、E2、・・・E9についての処理が行われる。
ステップS11に続くステップS12において、検出領域Ekについての累積相関値が算出され、更に、ステップS13において、検出領域Ekについての累積相関値の平均値Vaveが算出される。そして、真のマッチング位置に対応する累積相関値の候補として候補最小相関値が特定される(ステップS14)。今、上述したように、候補最小相関値として4つの候補最小相関値VA、VB、VC又はVDが特定されたとする。続くステップS15では、ステップS14にて特定された各候補最小相関値に対応する「位置と近傍累積相関値」が検出される。更にステップS16で、ステップS14にて特定された候補最小相関値の個数Nfが算出される。ステップS11〜S16の処理により、図24に示す、検出領域Ekについての「平均値Vave、第1〜第4候補データ及び個数Nf」が算出される。
ステップS16に続くステップS17では、検出領域Ekについての候補最小相関値の中から、真のマッチング位置に対応する相関値が採用最小相関値Vminとして選択される。
このステップS17の処理を、図27及び図28を参照して詳細に説明する。図27(a)〜(e)では、ステップS17の処理にて参照される累積相関値の対応画素を斜線を用いて表している。図28は、ステップS17の処理を細分化したフローチャートである。ステップS17は、ステップS101〜S112から形成される。
ステップS17に移行すると、まず、図28のステップS101において、第1〜第4の候補データの夫々について(即ち、候補最小相関値ごとに)、図27(a)のパターンに対応するような「候補最小相関値と4個の近傍累積相関値」の平均値(選択用評価値)を計算する。即ち、(p,q)=(0,−1)、(−1,0)、(0,1)、(1,0)、(0,0)である場合における、
「累積相関値V(iA+p,jA+q)の平均値VA_aveと、累積相関値V(iB+p,jB+q)の平均値VB_aveと、累積相関値V(iC+p,jC+q)の平均値VC_aveと、累積相関値V(iD+p,jD+q)の平均値VD_ave」を算出する。
そして、ステップS102において、ステップS101で算出された平均値に基づいて採用最小相関値Vminを選択可能であるかを判定する。具体的には、ステップS101で算出された4つの平均値の内、最小の平均値と他の平均値との差が全て所定の差分閾値(例えば2)以下の場合は、選択不可(選択の信頼性がない)と判定してステップS103に移行し、そうでない場合はステップS112に移行して、ステップS101で算出された4つの平均値の内、最小の平均値に対応する候補最小相関値を採用最小相関値Vminとして選択する。例えば、VA_ave<VB_ave<VC_ave<VD_ave、が成立する場合、候補最小相関値VAが採用最小相関値Vminとして選択される。
以後、採用最小相関値Vminを選択するに当たって参照される累積相関値の位置及び個数を変化させつつ、ステップS101及びS102と同様の処理が実施される。
即ち、ステップS103では、第1〜第4の候補データの夫々について(即ち、候補最小相関値ごとに)、図27(b)のパターンに対応するような「候補最小相関値と8個の近傍累積相関値」の平均値を計算する。即ち、(p,q)=(−1,−1)、(−1,0)、(−1,1)、(0,−1)、(0,0)、(0,1)、(1,−1)、(1,0)、(1,1)である場合における、
「累積相関値V(iA+p,jA+q)の平均値VA_aveと、累積相関値V(iB+p,jB+q)の平均値VB_aveと、累積相関値V(iC+p,jC+q)の平均値VC_aveと、累積相関値V(iD+p,jD+q)の平均値VD_ave」を算出する。
そして、ステップS104において、ステップS103で算出された平均値に基づいて採用最小相関値Vminを選択可能であるかを判定する。具体的には、ステップS103で算出された4つの平均値の内、最小の平均値と他の平均値との差が全て所定の差分閾値(例えば2)以下の場合は、選択不可(選択の信頼性がない)と判定してステップS105に移行し、そうでない場合はステップS112に移行して、ステップS103で算出された4つの平均値の内、最小の平均値に対応する候補最小相関値を採用最小相関値Vminとして選択する。
ステップS105では、第1〜第4の候補データの夫々について(即ち、候補最小相関値ごとに)、図27(c)のパターンに対応するような「候補最小相関値と12個の近傍累積相関値」の平均値を計算する。即ち、(p,q)=(−1,−1)、(−1,0)、(−1,1)、(0,−1)、(0,0)、(0,1)、(1,−1)、(1,0)、(1,1)、(−2,0)、(2,0)、(0,2)、(0,−2)である場合における、
「累積相関値V(iA+p,jA+q)の平均値VA_aveと、累積相関値V(iB+p,jB+q)の平均値VB_aveと、累積相関値V(iC+p,jC+q)の平均値VC_aveと、累積相関値V(iD+p,jD+q)の平均値VD_ave」を算出する。
そして、ステップS106において、ステップS105で算出された平均値に基づいて採用最小相関値Vminを選択可能であるかを判定する。具体的には、ステップS105で算出された4つの平均値の内、最小の平均値と他の平均値との差が全て所定の差分閾値(例えば2)以下の場合は、選択不可(選択の信頼性がない)と判定してステップS107に移行し、そうでない場合はステップS112に移行して、ステップS105で算出された4つの平均値の内、最小の平均値に対応する候補最小相関値を採用最小相関値Vminとして選択する。
ステップS107では、第1〜第4の候補データの夫々について(即ち、候補最小相関値ごとに)、図27(d)のパターンに対応するような「候補最小相関値と20個の近傍累積相関値」の平均値を計算する。即ち、(p,q)=(−2,−1)、(−2,0)、(−2,1)、(−1,−2)、(−1,−1)、(−1,0)、(−1,1)、(−1,2)、(0,−2)、(0,−1)、(0,0)、(0,1)、(0,2)、(1,−2)、(1,−1)、(1,0)、(1,1)、(1,2)、(2,−1)、(2,0)、(2,1)である場合における、
「累積相関値V(iA+p,jA+q)の平均値VA_aveと、累積相関値V(iB+p,jB+q)の平均値VB_aveと、累積相関値V(iC+p,jC+q)の平均値VC_aveと、累積相関値V(iD+p,jD+q)の平均値VD_ave」を算出する。
そして、ステップS108において、ステップS107で算出された平均値に基づいて採用最小相関値Vminを選択可能であるかを判定する。具体的には、ステップS107で算出された4つの平均値の内、最小の平均値と他の平均値との差が全て所定の差分閾値(例えば2)以下の場合は、選択不可(選択の信頼性がない)と判定してステップS109に移行し、そうでない場合はステップS112に移行して、ステップS107で算出された4つの平均値の内、最小の平均値に対応する候補最小相関値を採用最小相関値Vminとして選択する。
ステップS109では、第1〜第4の候補データの夫々について(即ち、候補最小相関値ごとに)、図27(e)のパターンに対応するような「候補最小相関値と24個の近傍累積相関値」の平均値を計算する。即ち、(p,q)=(−2,−2)、(−2,−1)、(−2,0)、(−2,1)、(−2,2)、(−1,−2)、(−1,−1)、(−1,0)、(−1,1)、(−1,2)、(0,−2)、(0,−1)、(0,0)、(0,1)、(0,2)、(1,−2)、(1,−1)、(1,0)、(1,1)、(1,2)、(2,−2)、(2,−1)、(2,0)、(2,1)、(2,2)である場合における、
「累積相関値V(iA+p,jA+q)の平均値VA_aveと、累積相関値V(iB+p,jB+q)の平均値VB_aveと、累積相関値V(iC+p,jC+q)の平均値VC_aveと、累積相関値V(iD+p,jD+q)の平均値VD_ave」を算出する。
そして、ステップS110において、ステップS109で算出された平均値に基づいて採用最小相関値Vminを選択可能であるかを判定する。具体的には、ステップS109で算出された4つの平均値の内、最小の平均値と他の平均値との差が全て所定の差分閾値(例えば2)以下の場合は、選択不可(選択の信頼性がない)と判定してステップS111に移行し、そうでない場合はステップS112に移行して、ステップS109で算出された4つの平均値の内、最小の平均値に対応する候補最小相関値を採用最小相関値Vminとして選択する。
ステップS111に移行した場合は、最終的に、採用最小相関値Vminを選択不可と判断する。即ち、マッチング位置を検出不可と判断する。尚、候補最小相関値が複数ある場合の処理について説明したが、候補最小相関値が1つしかない場合は、その1つの候補最小相関値がそのまま採用最小相関値Vminとされる。
ステップS17にて採用最小相関値Vminが選択されると、ステップS18にて採用最小相関値Vminを示す画素の位置Pminが特定される。例えば、採用最小相関値Vminとして候補最小相関値VAが選択された場合は、位置PAが位置Pminとなる。
ステップS17及びS18で採用最小相関値Vmin及び位置Pminが特定されると、ステップS21に移行する。ステップS21〜S26では、検出領域Ekの有効又は無効が判定されると共に検出領域Ekの領域動きベクトルMkが算出される。各ステップの処理内容を詳細に説明する。
ステップS21では、類似模様有無判定部163(図29参照)が、検出領域Ek内に類似した模様が存在していないかを判定する。類似模様が存在している場合は、当該検出領域Ekについて算出される領域動きベクトルの信頼性は低い(即ち、領域動きベクトルMkは検出領域Ek内の画像の動きを精度良く表していない)。従って、この場合は、検出領域Ekを無効とする(ステップS26)。ステップS21の判定は、ステップS17の処理結果に基づいて実施される。即ち、図28のステップS112に至って採用最小相関値Vminが選択された場合は、類似模様は存在していないと判断してステップS21からステップS22に移行する。一方、図28のステップS111に至って採用最小相関値Vminが選択されなかった場合は、類似模様が存在していると判断してステップS21からステップS26に移行し、検出領域Ekを無効とする。
ステップS22では、コントラスト判定部161(図29参照)が、検出領域Ek内の画像のコントラストが低いか否かを判定する。コントラストが低い場合は、正確な領域動きベクトルの検出は困難であるため、検出領域Ekを無効とする。具体的には、累積相関値の平均値Vaveが所定の閾値TH1以下であるかを判断する。そして、不等式「Vave≦TH1」が成立する場合はコントラストが低いと判断してステップS26に移行し検出領域Ekを無効とする。この判断は、画像のコントラストが低い場合(例えば、画像全体が白い場合)には、輝度差が小さいので累積相関値が全体的に小さくなるという原理に基づいている。一方、不等式「Vave≦TH1」が成立しない場合は、コントラストは低くないと判断してステップS23に移行する。尚、閾値TH1は、実験を介して適切な値に設定される。
ステップS23では、複数動き有無判定部162(図29参照)が、検出領域Ek内に複数の動きがあるか否かを判定する。検出領域Ek内に手ぶれとは関係のない動く物体等が存在する場合は、検出領域Ek内に複数の動きがあると判断されることになる。複数の動きがある場合は、正確な領域動きベクトルの検出は困難であるため、検出領域Ekを無効とする。具体的には、不等式「Vave/Vmin≦TH2」が成立するか否かを判断し、該不等式が成立する場合は複数の動きがあると判断してステップS26に移行し検出領域Ekを無効とする。この判断は、複数の動きがある場合には完全なマッチング位置がないため、累積相関値の最小値が大きくなるという原理に基づいている。また、平均値Vaveを除算することによって、この判断が被写体のコントラストに依存しないようにしている。一方、不等式「Vave/Vmin≦TH2」が成立しない場合は、複数の動きがないと判断してステップS24に移行する。尚、閾値TH2は、実験を介して適切な値に設定される。
ステップS24では、図20(図29)に示す領域動きベクトル算出回路142が、真のマッチング位置を表す位置Pminに基づいて、領域動きベクトルMkを算出する。例えば、位置PAが位置Pminである場合は、画像上の位置PAを特定する位置情報(画素位置(iA,jA)を特定する情報)に基づいて領域動きベクトルMkを算出する。より具体的には、検出領域Ekの任意の小領域eにおいて、代表点Rの位置から採用最小相関値Vminを示す位置Pmin(PA、PB、PC又はPD)に向かう偏移の向き及び大きさを、領域動きベクトルMkの向き及び大きさとする。
そして、ステップS24に続くステップS25では、検出領域Ekを有効とし、ステップS31に移行する。他方、ステップS21等から移行しうるステップS26では、上述の如く検出領域Ekを無効とし、ステップS31に移行する。ステップS31では、変数kに1が加算され、続いてステップS32で変数kが9より大きくなっているかが判断される。「k>9」が成立しない場合はステップS12に移行し、他の検出領域に関してステップS12等の処理が繰り返される。「k>9」が成立する場合は、検出領域E1〜E9の全てに関してステップS12等の処理が実施されたことになるため、図26のステップS41に移行する。
図26のステップS41〜S49では、領域動きベクトルMk(1≦k≦9)に基づく全体動きベクトルMを算出処理及び全体動きベクトルMの有効性判定処理が行われる。
ステップS41では、図25のステップS25及びS26の処理結果に基づき、有効とされた検出領域(以下、「有効領域」という)の数が0であるか否かを判定する。有領領域が1以上存在する場合にはステップS42に移行して、有効領域の領域動きベクトルMkを抽出し、更にステップS43にて、有効領域の領域動きベクトルMkを平均化することにより、それらの平均ベクトルMaveを算出する。
ステップS43に続くステップS44では、領域動きベクトル類似性判定部172(図29参照)が、有効領域の領域動きベクトルMkの類似性を判定する。換言すれば、有効領域間での領域動きベクトルMkのばらつきAを評価することにより、有効領域間で動きの異なる物体が存在していないかを判定する。具体的には、下式(1−1)に基づいて、ばらつきAを算出する。
そして、ばらつきAが閾値TH3以上であるか否かを判定する。ばらつきAが閾値TH3未満であればステップS45に移行し、画像全体の動きベクトル(全体動きベクトル)MをステップS43で算出された平均ベクトルMaveとしてステップS47に移行する。
尚、式(1−1)において、[{|Mk−Mave|/(Maveのノルム)}の総和]は、有効領域ごとに算出された{|Mk−Mave|/(Maveのノルム)}を、全ての有効領域について合算した値に相当する。また、図29に示す検出領域有効数算出部173は、有効領域の数を算出する。
ばらつきAが閾値TH3以上の場合は、有効領域の領域動きベクトルMkの類似性が低く、それに基づいて算出される全体動きベクトルの信頼性は低いと考えられる。このため、ばらつきAが閾値TH3以上の場合は(ステップS44のN)、ステップS46に移行し、全体動きベクトルMを0としてステップS47に移行する。また、ステップS41において有効領域の数が0であると判定された場合もステップS46にて全体動きベクトルMが0とされ、ステップS47に移行する。
ステップS47では、全体動きベクトルの履歴データMnに今回得られた全体動きベクトルMを追加する。上述したように、図25及び図26に示す各処理は、シャッタボタンが押下されたか否かに関わらず、手ぶれ補正撮影モードにおいて逐次行われており、ステップS45又はS46にて得られた全体動きベクトルMは、順次、全体動きベクトルの履歴データMnに格納されていく。尚、シャッタボタンの1回の押下に対して、複数の分割露光画像と複数の全体動きベクトルMが得られるが、後述のパン・チルト判定処理の便宜上、履歴データMnに追加されるのは、その複数の全体動きベクトルMの内の1つだけとする(但し、その複数の動きベクトルMの全てを履歴データMnに追加することも可能である)。
ステップS47に続くステップS48では、パン・チルト判定部171(図29参照)が、履歴データMnに基づいてデジタルカメラ1がパン・チルト状態にあるかを判定する。「パン・チルト状態」とは、デジタルカメラ1がパン又はチルトしている状態、を意味する。パン(パンニング)とは、デジタルカメラ1の筐体を左右方向(即ち、ヨー方向)に振ることを意味し、チルト(チルティング)とは、デジタルカメラ1の筐体を上下方向(即ち、ピッチ方向)に振ることを意味する。デジタルカメラ1がパン又はチルトしている状態にあるかを判定する手法としては、例えば、特開2006−74693号公報に記載の手法又は本出願人が提案する特願2006−91285号に記載の手法を用いればよい。
例えば、次の第1条件又は第2条件を満たした場合に、「手ぶれ状態」から「パン・チルト状態」へ遷移したと判断する(「手ぶれ状態」は、「パン・チルト状態」に含まれない)。
第1条件は、「全体動きベクトルMが垂直方向(上下方向)又は水平方向(左右方向)の同一方向に連続している回数が所定回数以上である」という条件である。
第2条件は、「上記同一方向に連続している全体動きベクトルMの大きさの積分値がデジタルカメラ1の画角の一定割合以上である」という条件である。
そして例えば、次の第3条件又は第4条件を満たした場合に、「パン・チルト状態」から「手ぶれ状態」へ遷移したと判断する。
第3条件は、「全体動きベクトルの大きさが0.5画素以下である状態が連続して所定回数(例えば10回)以上継続した」という条件である
第4条件は、「「手ぶれ状態」から「パン・チルト状態」へ遷移したときの全体動きベクトルMに対して方向が反対の全体動きベクトルMが所定回数(例えば10回)以上連続して得られた」という条件である。
第1〜第4条件の成立/不成立は、履歴データMnに含まれる今回得られた全体動きベクトルMと過去の全体動きベクトルMと、に基づいて判断される。「パン・チルト状態」にあるか否かの判定結果は、図3のマイコン20に伝達される。
ステップS48の判定処理を終えると、ステップS49に移行する。ステップS49では、全体動きベクトル有効性判定部170(図29参照)が、ステップS41〜S48の処理結果に基づいて、今回得られた全体動きベクトルMが有効であるか否かを判定する。
具体的には、「ステップS41で有効領域の数が0であると判定されてステップS46に至った場合」、或いは、「ステップS44で有効領域の領域動きベクトルMkの類似性が低いと判定されてステップS46に至った場合」、或いは、「ステップS48でパン・チルト状態にあると判定された場合」は、今回得られた全体動きベクトルMは無効とされ、そうでない場合は、今回得られた全体動きベクトルMは有効とされる。
パン又はチルト操作時には、手ぶれ量が大きく対比する画像間の偏移が小領域eのサイズに応じた動き検出範囲を超えてしまうため、正確な動きベクトルを検出することができない。このため、パン・チルト状態にあると判定された場合には全体動きベクトルMを無効とする。
上述のようにして求められた全体動きベクトルM及び該全体動きベクトルMが有効であるか或いは無効であるかを特定する情報は、図3の座標変換回路33に与えられる。
手ぶれ補正撮影モードにおいてシャッタボタンが押下げられた際においては、図25及び図26の処理を繰り返すことにより、各分割露光画像について全体動きベクトルMが検出されると共に各全体動きベクトルMの有効/無効が評価され、その有効/無効の評価に従って各分割露光画像が加算合成される。
この際、全体動きベクトルMの信頼度に基づく比率(画素混合比)にて各分割露光画像の加算合成が行われる。全体動きベクトルMの信頼度は、図29の信頼度算出部174によって算出される。
[信頼度(画素混合比)の算出手法]
以下、この信頼度の算出手法にて詳細に説明する。今、説明の具体化のため、露光分割数Nが4であるものとする。従って、シャッタボタンの押下に応じて、1番目、2番目、3番目、4番目の分割露光画像(以下、夫々を、「第1、第2、第3及び第4画像」と略記することがある)が得られるものとする。図30に、信頼度の算出に関与する各値を表として表す。
上述したように、本実施例では、第1画像が基準画像として取り扱われることになる。iを2、3又は4とした場合、基準画像(第1画像)と第i画像との間における、
有効領域(最大9つ)についての各採用最小相関値Vminの平均値をVmin[i]とし、
有効領域(最大9つ)についての各平均値Vaveの平均値をVave[i]とし、
有効領域(最大9つ)についての各「候補最小相関値の個数Nf」の平均値をNf[i]とし、
有効領域数(有効領域の個数)をNval[i]とする。
例えば、第1画像と第2画像との間に関し、図25のステップS25及びS26にて検出領域E2とE7のみが有効と判断された場合、
第2画像に関するVmin[2]は、検出領域E2についての採用最小相関値Vminと検出領域E7についての採用最小相関値Vminとの平均値であり、
第2画像に関するVave[2]は、検出領域E2についての累積相関値の平均値Vaveと検出領域E7についての累積相関値の平均値Vaveとの平均値であり、
第2画像に関するNf[2]は、検出領域E2についての候補最小相関値の個数Nfと検出領域E7についての候補最小相関値の個数Nfとの平均値であり、
第2画像に関するNval[2]は、有効と判断された検出領域E2とE7の個数、即ち、2である。
第1画像は基準画像であるため、第2画像等のように、Vmin[i]等を定義することができない。そのため、第1画像に関する各値Vmin[1]、Vave[1]、Nf[1]及びNval[1]を、図30に示すように定義する。即ち、Vmin[2]とVmin[3]とVmin[4]の最小値をVmin[1]とし、Vave[2]とVave[3]とVave[4]の最大値をVave[1]とし、Nf[2]とNf[3]とNf[4]の最小値をNf[1]とし、Nval[2]とNval[3]とNval[4]の最大値をNval[1]とする。
信頼度算出部174は、上述のように定義される各値を算出することによって、各画像の全体動きベクトルMの信頼度を算出する。第i画像の全体動きベクトルMの信頼度をB[i]にて表す。0≦B[i]≦1、が成立するように各信頼度は算出される。第1画像は基準画像であるため、第1画像に対する第1画像の全体動きベクトルMは存在しないが(無意味であるが)、上述の如く定義されたVmin[1]等を参照して、第1画像に関する信頼度B[1]も算出される(算出式は後述)。
後述の説明から明らかとなるが、信頼度B[i]は、第1〜第4画像を合成して合成画像(1枚の静止画像)を生成する際における第i画像の画素混合比として利用され、信頼度B[i]が大きくなるほど、合成画像に対する第i画像の画素値の寄与率は大きくなる。従って、信頼度B[i]は、「第1〜第4画像を合成して合成画像を生成する際における第i画像の画素混合比(画像加算比率)」、或いは、「合成画像に対する第i画像の画素値の寄与率」と言い換えることもできる。
信頼度B[i]は、
累積相関値の最小値又は該最小値に近い累積相関値に依存するVmin[i]、に基づく評価値BVmin[i]と、
累積相関値の平均値に依存するVave[i]、に基づく評価値BVave[i]と、
累積相関値の最小値の個数又は該最小値に近い累積相関値の個数に依存するNf[i]、に基づく評価値BNf[i]と、
有効領域数に依存するNval[i]、に基づく評価値BNval[i]と、に基づいて算出される。
具体的には、各評価値に重み付け係数をかけて加算することにより、信頼度B[i]を算出する。つまり、下記式(1−2)に従って信頼度B[i]を算出する。式(1−2)及び後述する各式において、iは1〜4の間の各整数をとる。信頼度B[i]は、第1〜第4画像を合成して合成画像を生成する際における第i画像の画素混合比として利用されるため、各評価値が大きくなるにつれて、合成画像に対する第i画像の画素値の寄与率は増大する。
ここで、WVmin、WVave、WNf、WNvalは、重み付け係数である。各重み付け係数は、実験を介して適切な値(0以上1以下の値)に設定される。各重み付け係数の合計は、下記式(1−3)に示す如く、1とされる。本実施例では、例えば、WVmin、WVave、WNf、WNvalを、夫々、0.4、0.2、0.1、0.3、とした。
各評価値の算出法について説明する。第1に、評価値BVmin[i]の算出法について説明する。第i画像と基準画像の類似度が高いほど、第i画像について算出された全体動きベクトルMの信頼性は高い(動きベクトルを正確に検出できている可能性が高い)。一方において、基準画像に対して、第i画像の類似度が高いとVmin[i]は小さくなる。そこで、基準画像との類似度の指標となるVmin[i]から評価値BVmin[i]を算出する。具体的には、下記式(1−4)に従って評価値BVmin[i]を算出する。これにより、基準画像との類似度が高いことに起因してVmin[i]が小さい画像ほど大きな評価値BVmin[i]が算出され、その結果、合成画像に対する、その画像の画素混合比は大きくなる。
第2に、評価値BVave[i]の算出法について説明する。画像のエッジ(又はコントラスト)が鮮明なほど、手ぶれ、被写体ぶれ、ピントのずれ等に由来する画像中のぼけが少なく、全体動きベクトルMを正確に検出できる可能性が高い。一方において、第i画像のエッジ強度が大きいとVave[i]は大きくなる。そこで、画像のエッジ強度の指標となるVave[i]から評価値BVave[i]を算出する。具体的には、下記式(1−5)に従って評価値BVave[i]を算出する。これにより、画像のエッジ強度が強いことに起因してVave[i]が大きい画像ほど大きな評価値BVave[i]が算出され、その結果、合成画像に対する、その画像の画素混合比は大きくなる。
第3に、評価値BNf[i]の算出法について説明する。対比する画像間に存在する類似模様が少ないほど、全体動きベクトルMの信頼性は高い(動きベクトルを正確に検出できている可能性が高い)。一方において、類似模様が増加するとNf[i]は増加する傾向にある。そこで、類似模様の存在の指標となるNf[i]から評価値BNf[i]を算出する。具体的には、下記式(1−6)に従って評価値BNf[i]を算出する。これにより、類似模様が少ないことに起因してNf[i]が小さい画像ほど大きな評価値BNf[i]が算出され、その結果、合成画像に対する、その画像の画素混合比は大きくなる。
第4に、評価値BNval[i]の算出法について説明する。有効領域(有効な検出領域)の数が多いほど、全体動きベクトルMを正確に検出できる可能性が高い。そこで、有効領域数を表すNval[i]から評価値BNval[i]を算出する。具体的には、下記式(1−7)に従って評価値BNval[i]を算出する。これにより、有効領域数が多いことに起因してNval[i]が大きい画像ほど大きな評価値BNval[i]が算出され、その結果、合成画像に対する、その画像の画素混合比は大きくなる。
上記式(1−2)に従い、各評価値に基づいて算出された信頼度B[i]は、図3の画像加算回路34に与えられ、合成画像を合成する際における第i画像の画素混合比(画像加算比率)として利用される。
[画像合成処理について]
次に、手ぶれ補正撮影モードにてシャッタボタンを押下した場合における、図3の画像合成回路36の動作について説明する。
座標変換回路33は、動き検回路32にて算出された各全体動きベクトルMに基づいて、各分割露光画像の位置合わせを行う。この際、図26のステップS49にて無効と判断された全体動きベクトルMはゼロとされる(大きさがゼロのベクトルとされる)。
具体的には、座標変換回路33は、各全体動きベクトルMに基づいて、基準画像である第1画像における画像座標(x1,y1)から第i画像における画像座標(xi,yi)への座標変換式(1−8a)の変換行列Hiを求める。変換行列Hiは、下記式(1−8b)にて表される。
図31に、変換行列Hiを用いた座標変換の様子を示す。第1画像における画像座標(x1,y1)と第i画像における画像座標(xi,yi)との偏移は、第1画像に対する第i画像の全体動きベクトルMによって表される(i=2、3、4)。第1画像についての変換行列H1に関しては、当然、a1=e1=1且つb1=c1=d1=f1=0、である。
図3の画像加算回路34は、第1〜第4画像を合成した合成画像を画像メモリ35上に作成するべく、画像メモリ35に、基準画像である第1画像と同じ画像座標系を設定する。画像メモリ35に設定された画像座標系における画像座標を(x、y)にて表す。図32を参照する。図32は、合成画像と第i画像の画素値の対応関係を示している。合成画像における画像座標(x、y)の画素値をP(x,y)にて表す。第i画像における画像座標(xi,yi)の画素値をPi(xi,yi)にて表す。
画像加算回路34は、上記式(1−8a)及び(1−8b)を用いて、合成画像の画素ごとに、各分割露光画像(第1〜第4画像の夫々)における対応画素の画像座標を算出する。合成画像の或る画素に関し、その画素の画像座標を(x,y)(=(x1,y1))で表した場合、第i画像の対応画素の画像座標(xi,yi)は、上記式(1−8a)及び(1−8b)にて表される。続いて、画像加算回路34は、合成画像の画素(該画素の画像座標は(x,y))ごとに、第i画像の対応画素の画素値Pi(xi,yi)を取得する。この際、必要に応じて第i画像の画素値の補間処理を行う(勿論、第1画像に関して補間処理は不要である)。
そして、画像加算回路34は、画素混合比として利用される信頼度B[i]に従って、第1〜第4画像の各画素の画素値Pi(xi,yi)を重み付け加算することにより、合成画像の各画素の画素値P(x,y)を算出する。画素値P(x,y)の算出式は、下記式(1−9)にて表される。
上述のように、本実施例では、全体動きベクトルMの信頼度B[i]に従った画素混合比にて第1〜第4画像を合成する。本実施例のように加算式手ぶれ補正を実施する場合、通常、各分割露光画像の露光時間は手ぶれが無視できる程度に短く設定されるため、各分割露光画像の類似度は非常に高くなる。従って、ぶれの大きい分割露光画像は例外的に取得されるものと言え、その分割露光画像と他の分割露光画像との類似度は比較的低くなる傾向がある。
この特性を鑑みて、他の分割露光画像との類似度或いは画像のぶれ量などを反映した上記各評価値に基づいて、各分割露光画像の画素混合比(信頼度B[i])を算出し、類似度が低い或いは画像のぶれ量が多い分割露光画像を合成画像に反映させる度合いを低下させる。これにより、N個の分割露光画像の中に、例外的に、手ぶれを主要因とするぶれの大きい画像や被写体の動きが大きい画像があっても、それに起因する合成画像の画質劣化(主として、画像のぶれ)が抑制され、ぶれの少ない(即ち、手ぶれ補正効果の高い)静止画像を取得することが可能となる。
また、上述の如く、4つの評価値(BVmin[i]、BVave[i]、BNf[i]、BNval[i])は、全て、動き検出の正確性の指標となる。そして、画像合成回路36は、動き検出の正確性が高いと考えられるものほど画素混合比を増加させ、動き検出の正確性が低いと考えられるものほど画素混合比を低下させる。このため、動き検出の正確性が低いことに由来する合成画像の画質劣化が抑制され、ぶれの少ない(即ち、手ぶれ補正効果の高い)静止画像を取得することが可能となる。
また、本実施例では、領域動きベクトルMKを算出するに当たり、最小の累積相関値と最小の累積相関値に近い累積相関値を、候補最小相関値として特定する。そして、2以上の候補最小相関値が特定された場合、近傍累積相関値を参照して、その2以上の候補最小相関値の中から採用最小相関値Vminを選択するようにしている。このような処理を用いることの意義について説明する。説明の簡略化上、最小の累積相関値に近い累積相関値を無視し、最小の累積相関値が複数ある場合を例にとる。
代表点マッチング法を用いて画像間の動き検出を行う場合、累積相関値の最小値が複数のサンプリング点Sにて検出される場合があり、それの要因の1つとして、ノイズの影響が考えられる。ノイズの影響は、特に、輝度が比較的低い分割露光画像に対して大きくなる。累積相関値の最小値が複数検出された場合、従来は、通常、真のマッチング位置を検出不能と判断して動き検出を無効にしていた。
第1画像と第2画像との間の或る検出領域に関して累積相関値の最小値が複数検出された場合の、累積相関値の分布を図33に示す。図33において、横軸は第1画像と第2画像との間の偏移(相対的な位置のずれ)を表し、縦軸は累積相関値を表す。説明及び図示の簡略化上、図33は、1次元に並んだ(例えば、水平方向に1次元配列された)画素にのみ着目している。今、候補最小相関値VAが真のマッチング位置に対応し、候補最小相関値VBはノイズに由来して候補最小相関値となったものとする。
ノイズは、通常、極めて狭い画像領域にスパイク状に発生し、その輝度勾配は急峻である。従って、ノイズの影響による偽のマッチング位置に対応する累積相関値(VB)の近傍累積相関値は、その累積相関値(VB)を中心として急激に大きくなる。このため、候補最小相関値ごとに、候補最小相関値と近傍累積相関値の平均値を算出した場合、ノイズに対応する平均値は真のマッチング位置に対応する平均値よりも大きくなるという傾向がある。
図25のステップS17等は、この特性を考慮して実施されるものであり、これにより、従来のように動き検出を無効とすることなく、真のマッチング位置を検出することが可能となる。従って、S/N比が低い画像でも高精度に画像間の動き検出が可能となり、暗い場面でも手ぶれ補正を有効に機能させることが可能となる。また、本実施例の如く加算式手ぶれ補正(加算式静止画手ぶれ補正)を行う場合にあっては、動き検出の精度が確保される露光分割数を増加させることができるようになるため、加算合成された静止画像における手ぶれ量を低減することが可能である。
また、画像の平均輝度が十分に大きく且つノイズの影響も軽微である場合、通常、最小の累積相関値は1つのサンプリング点S(1つの画素)にて得られ、その場合は、近傍累積相関値を参照する必要はない。逆に、そのような場合に近傍累積相関値を過度に考慮すると、真のマッチング位置の検出の正確性が損なわれる(動き検出の精度が劣化する)惧れがある。このような事情を考慮し、本実施例では、図27及び図28を参照して説明したように、真のマッチング位置を定めきれない場合に参照する近傍累積相関値の個数を段階的に増加させるようにしている。これにより、近傍累積相関値を参照したことに由来する動き検出の精度の劣化が抑制される。
<<変形等>>
或る実施例に記載した事項は、矛盾なき限り、他の実施例に適用することもできる。この適用の際、同一名称の部位間の符号の相違(マイコンに関する20と20aの相違など)は適宜無視される。また、上述した説明文中に示した具体的な数値は、単なる例示であって、当然の如く、それらを様々な数値に変更することができる。上述の実施形態の変形例または注釈事項として、以下に、注釈1〜注釈4を記す。各注釈に記載した内容は、矛盾なき限り、任意に組み合わせることが可能である。
[注釈1]
デジタルカメラ1のぶれを検出するための手ぶれ検出センサとして角速度センサを利用する場合を例示したが、手ぶれ検出センサとして他のセンサを用いるようにしてもよい。例えば、デジタルカメラ1の加速度を検出する加速度センサを手ぶれ部26に設けて、該加速度センサの検出結果から上述の手ぶれ検出信号を生成するようにしてもよい。
[注釈2]
画像マッチング法の1つである代表点マッチング法を用いて分割露光画像間の動き検出を実行する(動きベクトルを検出する)例を上述したが、その動き検出を、画像マッチング法に分類される他の手法を用いて実現することも可能である。例えば、代表点マッチング法の代わりに全画素マッチング法(ブロックマッチング法)を用いることも可能である。
[注釈3]
デジタルカメラ1は、ハードウェア、或いは、ハードウェアとソフトウェアの組み合わせによって実現可能である。特に手ぶれ補正を実現するための処理内容は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせによって実現可能である。ソフトウェアを用いてデジタルカメラ1を構成する場合、ソフトウェアにて実現される部位についてのブロック図は、その部位の機能ブロック図を表すことになる。ソフトウェアにて実現可能な機能の全部または一部を、プログラムとして記述し、該プログラムをコンピュータ上で実行することによって、その機能の全部または一部を実現するようにしてもよい。
[注釈4]
図3において、ぶれ補正装置は、マイコン20、撮影制御回路(露光制御手段)21、シャッタボタン検出部23及び加算式手ぶれ補正回路30を含む。
図10において、ぶれ補正装置は、マイコン20a、シャッタボタン検出部23及び駆動部25を含む。このぶれ補正装置は、更にセンサ部26を含みうる。
図14において、ぶれ補正装置は、マイコン20b、シャッタボタン検出部23、駆動部25及び画像復元部(復元式ぶれ補正手段)70を含む。このぶれ補正装置は、更にセンサ部26を含みうる。また、図14(又は図10)において、マイコン20b(又は20a)と駆動部25とによって光学式ぶれ補正手段が形成される。
図16において、ぶれ補正装置は、マイコン20c、撮影制御回路(露光制御手段)21、シャッタボタン検出部23、駆動部25、加算式手ぶれ補正回路30を含む。このぶれ補正装置は、更にセンサ部26を含みうる。
また、図10等の駆動部25によって駆動される補正レンズLC(図13参照)又はバリアングルプリズム(不図示)は、光学式手ぶれ補正を実現するための補正用光学部材として機能する。