(57)【特許請求の範囲】
【請求項１】
撮像装置であって、
１枚の画像を撮像するための露光時間内でシャッターを複数回開閉する撮像動作を行うことで得られる前記１枚の画像を取得する第１の取得手段と、
前記露光時間内における前記シャッターの開閉パターンを示す第１の時系列データであって、前記シャッターが開状態にあるか閉状態にあるかを示す状態値、を時系列順に並べた前記第１の時系列データを取得する第２の取得手段と、
撮像センサへの電荷の蓄積を開始してから該電荷が飽和するまでの期間、及び該飽和している電荷の送出を開始してから該電荷の送出が完了するまでの期間、の合計期間内で予め測定された前記撮像センサにおける蓄積電荷量を示す数値を時系列順に並べた第２の時系列データを取得する第３の取得手段と、
前記露光時間内における前記撮像装置のぶれ又は被写体のぶれの方向及び量を示すぶれベクトルデータを取得する手段と、
前記第１の時系列データ中の開状態を示す状態値を前記第２の時系列データで置き換えた時系列データを生成する生成手段と、
前記生成手段が生成した時系列データと、前記ぶれベクトルデータと、を用いて前記露光時間について積分演算を行うことで、前記第１の取得手段が取得した前記１枚の画像に対するぶれ補正に用いるフィルタを構成するフィルタ係数を求める計算手段と、
前記計算手段が計算したフィルタ係数で構成される前記フィルタを、前記第１の取得手段が取得した前記１枚の画像に対して適用することで、該画像に対するぶれ補正処理を行う補正手段と
を備えることを特徴とする撮像装置。
【請求項２】
撮像装置であって、
１枚の画像を撮像するための露光時間内でシャッターを複数回開閉する撮像動作を行うことで得られる前記１枚の画像を取得する第１の取得手段と、
前記露光時間内における前記シャッターの開閉パターンを示す第１の時系列データであって、前記シャッターが開状態にあるか閉状態にあるかを示す状態値、を時系列順に並べた前記第１の時系列データを取得する第２の取得手段と、
撮像センサへの電荷の蓄積を開始してから該電荷が飽和するまでの期間、及び該飽和している電荷の送出を開始してから該電荷の送出が完了するまでの期間、の合計期間内で予め測定された前記撮像センサにおける蓄積電荷量を示す数値を時系列順に並べた第２の時系列データであって、前記第１の時系列データ中で連続して並んでいる前記開状態にあることを示す状態値の個数に対応する前記第２の時系列データを保持する保持手段と、
前記露光時間内における前記撮像装置のぶれ又は被写体のぶれの方向及び量を示すぶれベクトルデータを取得する手段と、
前記第１の時系列データ中の連続して並んでいる前記開状態を示す状態値を、該連続して並んでいる前記開状態を示す状態値の個数に対応する前記第２の時系列データで置き換えた時系列データを生成する生成手段と、
前記生成手段が生成した時系列データと、前記ぶれベクトルデータと、を用いて前記露光時間について積分演算を行うことで、前記第１の取得手段が取得した前記１枚の画像に対するぶれ補正に用いるフィルタを構成するフィルタ係数を求める計算手段と、
前記計算手段が計算したフィルタ係数で構成される前記フィルタを、前記第１の取得手段が取得した前記１枚の画像に対して適用することで、該画像に対するぶれ補正処理を行う補正手段と
を備えることを特徴とする撮像装置。
【請求項３】
前記保持手段は、前記第１の時系列データ内で連続して並んでいる前記開状態を示す状態値の個数毎に、該個数に対応する前記第２の時系列データを保持しており、
前記生成手段は、前記第１の時系列データ中の前記連続して並んでいる前記開状態を示す状態値の個数を計数し、該計数した個数に対応する前記第２の時系列データで置き換えた時系列データを生成する
ことを特徴とする請求項２に記載の撮像装置。
【請求項４】
撮像装置であって、
１枚の画像を撮像するための露光時間内でシャッターを複数回開閉する撮像動作を行うことで得られる前記１枚の画像を取得する第１の取得手段と、
前記露光時間内における前記シャッターの開閉パターンを示す第１の時系列データであって、前記シャッターが開状態にあるか閉状態にあるかを示す状態値、を時系列順に並べた前記第１の時系列データを取得する第２の取得手段と、
撮像センサへの電荷の蓄積を開始してから該電荷が飽和するまでの期間、及び該飽和している電荷の送出を開始してから該電荷の送出が完了するまでの期間、の合計期間内で予め測定された前記撮像センサにおける蓄積電荷量を示す数値を時系列順に並べた第２の時系列データを取得する第３の取得手段と、
前記シャッターが閉じた状態から全開状態を経て再び該閉じた状態になるまでの期間内で予め測定された前記シャッターの開口面積を示す数値を時系列順に並べた第３の時系列データであって、前記第２の時系列データと同要素数の時系列データである該第３の時系列データを取得する第４の取得手段と、
前記露光時間内における前記撮像装置のぶれ又は被写体のぶれの方向及び量を示すぶれベクトルデータを取得する手段と、
前記第２の時系列データにおいて時系列順でｉ番目の状態値と、前記第３の時系列データにおいて時系列順でｉ番目の数値と、の積を、時系列順でｉ番目の要素とする第４の時系列データを求める手段と、
前記第１の時系列データ中の開状態を示す状態値を前記第４の時系列データで置き換えた時系列データを生成する生成手段と、
前記生成手段が生成した時系列データと、前記ぶれベクトルデータと、を用いて前記露光時間について積分演算を行うことで、前記第１の取得手段が取得した前記１枚の画像に対するぶれ補正に用いるフィルタを構成するフィルタ係数を求める計算手段と、
前記計算手段が計算したフィルタ係数で構成される前記フィルタを、前記第１の取得手段が取得した前記１枚の画像に対して適用することで、該画像に対するぶれ補正処理を行う補正手段と
を備えることを特徴とする撮像装置。
【請求項５】
前記補正手段は、前記フィルタを用いて、前記第１の取得手段が取得した前記１枚の画像に対して、デコンボリューション処理を行うことを特徴とする請求項１乃至４の何れか１項に記載の撮像装置。
【請求項６】
撮像装置の制御方法であって、
１枚の画像を撮像するための露光時間内でシャッターを複数回開閉する撮像動作を行うことで得られる前記１枚の画像を取得する第１の取得工程と、
前記露光時間内における前記シャッターの開閉パターンを示す第１の時系列データであって、前記シャッターが開状態にあるか閉状態にあるかを示す状態値、を時系列順に並べた前記第１の時系列データを取得する第２の取得工程と、
撮像センサへの電荷の蓄積を開始してから該電荷が飽和するまでの期間、及び該飽和している電荷の送出を開始してから該電荷の送出が完了するまでの期間、の合計期間内で予め測定された前記撮像センサにおける蓄積電荷量を示す数値を時系列順に並べた第２の時系列データを取得する第３の取得工程と、
前記露光時間内における前記撮像装置のぶれ又は被写体のぶれの方向及び量を示すぶれベクトルデータを取得する工程と、
前記第１の時系列データ中の開状態を示す状態値を前記第２の時系列データで置き換えた時系列データを生成する生成工程と、
前記生成工程で生成した時系列データと、前記ぶれベクトルデータと、を用いて前記露光時間について積分演算を行うことで、前記第１の取得工程で取得した前記１枚の画像に対するぶれ補正に用いるフィルタを構成するフィルタ係数を求める計算工程と、
前記計算工程で計算したフィルタ係数で構成される前記フィルタを、前記第１の取得工程で取得した前記１枚の画像に対して適用することで、該画像に対するぶれ補正処理を行う補正工程と
を備えることを特徴とする撮像装置の制御方法。
【請求項７】
撮像装置の制御方法であって、
１枚の画像を撮像するための露光時間内でシャッターを複数回開閉する撮像動作を行うことで得られる前記１枚の画像を取得する第１の取得工程と、
前記露光時間内における前記シャッターの開閉パターンを示す第１の時系列データであって、前記シャッターが開状態にあるか閉状態にあるかを示す状態値、を時系列順に並べた前記第１の時系列データを取得する第２の取得工程と、
撮像センサへの電荷の蓄積を開始してから該電荷が飽和するまでの期間、及び該飽和している電荷の送出を開始してから該電荷の送出が完了するまでの期間、の合計期間内で予め測定された前記撮像センサにおける蓄積電荷量を示す数値を時系列順に並べた第２の時系列データであって、前記第１の時系列データ中で連続して並んでいる前記開状態にあることを示す状態値の個数に対応する前記第２の時系列データを保持する保持工程と、
前記露光時間内における前記撮像装置のぶれ又は被写体のぶれの方向及び量を示すぶれベクトルデータを取得する工程と、
前記第１の時系列データ中の連続して並んでいる前記開状態を示す状態値を、該連続して並んでいる前記開状態を示す状態値の個数に対応する前記第２の時系列データで置き換えた時系列データを生成する生成工程と、
前記生成工程で生成した時系列データと、前記ぶれベクトルデータと、を用いて前記露光時間について積分演算を行うことで、前記第１の取得工程で取得した前記１枚の画像に対するぶれ補正に用いるフィルタを構成するフィルタ係数を求める計算工程と、
前記計算工程で計算したフィルタ係数で構成される前記フィルタを、前記第１の取得工程で取得した前記１枚の画像に対して適用することで、該画像に対するぶれ補正処理を行う補正工程と
を備えることを特徴とする撮像装置の制御方法。
【請求項８】
撮像装置の制御方法であって、
１枚の画像を撮像するための露光時間内でシャッターを複数回開閉する撮像動作を行うことで得られる前記１枚の画像を取得する第１の取得工程と、
前記露光時間内における前記シャッターの開閉パターンを示す第１の時系列データであって、前記シャッターが開状態にあるか閉状態にあるかを示す状態値、を時系列順に並べた前記第１の時系列データを取得する第２の取得工程と、
撮像センサへの電荷の蓄積を開始してから該電荷が飽和するまでの期間、及び該飽和している電荷の送出を開始してから該電荷の送出が完了するまでの期間、の合計期間内で予め測定された前記撮像センサにおける蓄積電荷量を示す数値を時系列順に並べた第２の時系列データを取得する第３の取得工程と、
前記シャッターが閉じた状態から全開状態を経て再び該閉じた状態になるまでの期間内で予め測定された前記シャッターの開口面積を示す数値を時系列順に並べた第３の時系列データであって、前記第２の時系列データと同要素数の時系列データである該第３の時系列データを取得する第４の取得工程と、
前記露光時間内における前記撮像装置のぶれ又は被写体のぶれの方向及び量を示すぶれベクトルデータを取得する工程と、
前記第２の時系列データにおいて時系列順でｉ番目の状態値と、前記第３の時系列データにおいて時系列順でｉ番目の数値と、の積を、時系列順でｉ番目の要素とする第４の時系列データを求める工程と、
前記第１の時系列データ中の開状態を示す状態値を前記第４の時系列データで置き換えた時系列データを生成する生成工程と、
前記生成工程で生成した時系列データと、前記ぶれベクトルデータと、を用いて前記露光時間について積分演算を行うことで、前記第１の取得工程で取得した前記１枚の画像に対するぶれ補正に用いるフィルタを構成するフィルタ係数を求める計算工程と、
前記計算工程で計算したフィルタ係数で構成される前記フィルタを、前記第１の取得工程で取得した前記１枚の画像に対して適用することで、該画像に対するぶれ補正処理を行う補正工程と
を備えることを特徴とする撮像装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手ぶれ補正技術に関するものである。
【背景技術】
【０００２】
近年の撮像装置の高解像度化、高ズーム化に伴い、撮影時の手ぶれによる撮影画像のぶれが問題となってきており、従来より手ぶれ補正機能付き撮像装置が広く使用されている。このような手ぶれ補正機能付き撮像装置では、手ぶれによる角速度を検出するジャイロセンサと、手ぶれを打ち消すようにレンズと撮像素子との相対的位置を制御する駆動装置と、を用いて光学的に手ぶれを補正する光学的手ぶれ補正方式が一般的である。
【０００３】
一方で、画像処理によって手ぶれを補正する方法も検討されている。１枚のぶれた画像について手ぶれを補正する手法としては、手ぶれによる画像の劣化過程をフィルタによる畳み込みと解釈し、手ぶれの速度を元にフィルタを算出し、デコンボリューションによって手ぶれを除去する手法が知られている（特許文献１）。
【０００４】
しかし、一般にぶれフィルタの周波数特性は、ある周波数で０になるという性質がある。このことにより、周波数特性が０になる周波数の情報が失われてしまうという問題が発生する。そこで、１枚の画像の取得時における露光時のシャッターの開閉をランダムに実施し、そのシャッター開閉の情報を用いた演算処理によって手ぶれ、或いは被写体ぶれを補正する技術が提案されている（特許文献２）。係る技術はCoded Exposureと呼ばれている。また、露光時のシャッターの開閉をランダムにするときのパターンをCoded Exposureパターンと呼んでいる。特許文献２では、良好なCoded Exposureパターンを用いることで、ぶれフィルタの周波数特性が０になることを回避し、ぶれ補正を実現している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許２００７／０２５８７０６号
【特許文献２】特開２００８−３１０７９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記で例として挙げた特許文献に開示されている技術では、Coded Exposureを行うにあたり、Coded Exposureパターンに矩形波を用いている。しかし、一般的なデジタルカメラに搭載されている撮像センサは、光電変換を利用しており、撮像センサに入射した光から電気信号を生成する。このため、実際の撮像センサ上では、信号は矩形波では出力されず、時間遅れを伴う。然るに、これを矩形波出力とみなし、ぶれ補正計算を行うと、ぶれ補正後画像が破綻してしまう。
【０００７】
本発明は以上の問題に鑑みてなされたものであり、手ぶれ画像から精度良くぶれを補正する為の技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の目的を達成するために、例えば、本発明の撮像装置は以下の構成を備える。即ち、撮像装置であって、
１枚の画像を撮像するための露光時間内でシャッターを複数回開閉する撮像動作を行うことで得られる前記１枚の画像を取得する第１の取得手段と、
前記露光時間内における前記シャッターの開閉パターンを示す第１の時系列データであって、前記シャッターが開状態にあるか閉状態にあるかを示す状態値、を時系列順に並べた前記第１の時系列データを取得する第２の取得手段と、
撮像センサへの電荷の蓄積を開始してから該電荷が飽和するまでの期間、及び該飽和している電荷の送出を開始してから該電荷の送出が完了するまでの期間、の合計期間内で予め測定された前記撮像センサにおける蓄積電荷量を示す数値を時系列順に並べた第２の時系列データを取得する第３の取得手段と、
前記露光時間内における前記撮像装置のぶれ又は被写体のぶれの方向及び量を示すぶれベクトルデータを取得する手段と、
前記第１の時系列データ中の開状態を示す状態値を前記第２の時系列データで置き換えた時系列データを生成する生成手段と、
前記生成手段が生成した時系列データと、前記ぶれベクトルデータと、を用いて前記露光時間について積分演算を行うことで、前記第１の取得手段が取得した前記１枚の画像に対するぶれ補正に用いるフィルタを構成するフィルタ係数を求める計算手段と、
前記計算手段が計算したフィルタ係数で構成される前記フィルタを、前記第１の取得手段が取得した前記１枚の画像に対して適用することで、該画像に対するぶれ補正処理を行う補正手段と
を備えることを特徴とする。
【発明の効果】
【０００９】
本発明の構成によれば、手ぶれ画像から精度良くぶれを補正することができる。
【図面の簡単な説明】
【００１０】
【図１】補正部１００の機能構成例を示すブロック図。
【図２】補正部１００が行う処理のフローチャート。
【図３】開閉指示信号を示す図。
【図４】露光特性情報を示す図。
【図５】露光パターン生成部１０３の動作を説明するフローチャート。
【図６】露光パターンの具体的な生成方法を説明する図。
【図７】開閉指示信号及びフィルタＫの周波数特性を示す図。
【図８】ぶれ補正前、補正後の画像例を示す図。
【図９】シャッターの開口面積Ｏ(t)の時間変化を表した図。
【図１０】単位開閉及び露光特性情報保存部１０９に保持されている情報の構成例を示す図。
【図１１】補正部１００の機能構成例を示すブロック図。
【図１２】撮像装置の機能構成例を示すブロック図。
【図１３】補正部１００が行う処理のフローチャート。
【図１４】露光パターンの保存例を示す図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１２】
［第１の実施形態］
＜本実施形態に係る撮像装置の構成について＞
本実施形態では、１枚の画像から、この画像に対するぶれ補正処理を行う撮像装置について説明する。なお、本実施形態では、手ぶれをシフトぶれ（平行移動ぶれ）の場合に限定して説明する。
【００１３】
先ず、本実施形態に係る撮像装置が有する補正部１００の機能構成例について、図１を用いて説明する。補正部１００は、上述の通り、１枚の画像から、シフトぶれとしての手ぶれを補正する為の処理を行う。
【００１４】
入力端子１０１には、撮像部２００により撮像された画像のデータ（撮像データ）が入力される。撮像部２００は、撮像素子群で構成されている撮像センサ、光学系、シャッター、Ａ／Ｄ変換器、等により構成されている。撮像部２００は、１枚の画像を撮像するための露光時間内でシャッター（或いは光学シャッター）を複数回開閉する撮像動作を行うことで１枚の画像を撮像する。このシャッターの開閉は、後段の開閉指示信号設定部４００から送出される開閉指示信号が示すシャッターの開閉パターンに従って行う。そして撮像部２００は、このような撮像動作を行うことで撮像した画像のデータを、入力端子１０１を介して後段のデコンボリューション部１０５に入力する。
【００１５】
ぶれベクトル検出部３００は、一般的なジャイロセンサなどにより構成されており、露光時間内における規定タイミング毎の撮像装置のぶれ又は被写体のぶれの方向及び量を測定（検出）する。そしてぶれベクトル検出部３００は、規定タイミング毎に検出したぶれの方向及び量を示すぶれベクトル情報（ぶれベクトルデータ）を、入力端子１０６を介してぶれベクトル記録部１０２に送出する。ぶれベクトル記録部１０２は、入力端子１０６を介してぶれベクトル検出部３００から入力されたぶれベクトル情報を記録する。
【００１６】
開閉指示信号設定部４００は、露光時間を規定長の期間毎に分割した場合に、それぞれの規定長期間内でシャッターを開状態にするのか閉状態にするのかを指示する開閉指示信号を撮像部２００に送出する。更に開閉指示信号設定部４００は、この開閉指示信号を入力端子１０７を介して露光パターン生成部１０３にも送出する。開閉指示信号は、露光時間内におけるシャッターの開閉パターンを示す時系列データ（第１の時系列データ）である。より詳しくは、露光時間内の規定長期間毎の「シャッターが開状態にあるか閉状態にあるかを示す状態値」を時系列順に並べた時系列データである。ここで、開状態にあることを示す状態値は「１」、閉状態にあることを示す状態値は「０」とする。
【００１７】
撮像部２００はこのような開閉指示信号を受けると、開閉指示信号内の規定長期間毎の状態値を参照し、現期間Ｔにおける状態値が「１」である場合には、現期間Ｔではシャッターを開状態に制御する。一方、撮像部２００は、現期間Ｔにおける状態値が「０」である場合には、現期間Ｔではシャッターを閉状態に制御する。このように、撮像部２００は、このような開閉指示信号に従って、露光時間内の各期間におけるシャッターの開閉を制御する。
【００１８】
露光特性情報保存部１０９には、予め測定された時系列データ（第２の時系列データ）が、露光特性情報として格納されている。この第２の時系列データは、撮像センサへの電荷の蓄積開始から電荷の飽和までの期間、及び飽和している電荷の送出開始から電荷の送出完了までの期間、の合計期間内で規定タイミング毎に予め測定された撮像センサにおける蓄積電荷量の時系列データである。この露光特性情報についての詳細は後述する。
【００１９】
露光パターン生成部１０３は、このような露光特性情報を、入力端子１１０を介して露光特性情報保存部１０９から取得する（第３の取得）。そして更に露光パターン生成部１０３は、開閉指示信号設定部４００から送出された開閉指示信号（第１の時系列データ）も取得する（第２の取得）。そして露光パターン生成部１０３は、この取得した第１の時系列データと第２の時系列データとを用いて、露光時間内の各規定タイミングにおける被写体からの入射光量を示す露光パターンを生成する。この露光パターン及びその生成方法についての詳細は後述する。
【００２０】
フィルタ係数算出部１０４は、ぶれベクトル記録部１０２が記録したぶれベクトル情報と、露光パターン生成部１０３が生成した露光パターンと、を用いて、ぶれ補正に用いるフィルタを構成する各フィルタ係数を求める。
【００２１】
デコンボリューション部１０５は、入力端子１０１を介して入力された画像のデータを取得する（第１の取得）。そしてデコンボリューション部１０５は、この取得した画像のデータに対して、フィルタ係数算出部１０４が算出したフィルタ係数を用いたフィルタによるデコンボリューション処理を行うことで、ぶれを補正した画像のデータを生成する。デコンボリューション部１０５によりぶれが補正された画像のデータは、出力端子１０８を介して、「補正後の画像」として、本実施形態に係る撮像装置が有するメモリや表示装置に対して出力される。
【００２２】
＜補正部１００が行う処理について＞
次に、補正部１００が行う処理について、図２を用いて説明する。先ず、ステップＳ１０１ではデコンボリューション部１０５は、上記の撮像動作によって撮像された１枚の画像のデータ（撮像データ）を取得する。
【００２３】
ステップＳ１０２では露光パターン生成部１０３は、露光特性情報保存部１０９から取得した露光特性情報と、開閉指示信号設定部４００から取得した開閉指示信号と、を用いて露光パターンを生成する。ステップＳ１０２における処理の詳細については、図５のフローチャートを用いて後述する。
【００２４】
ステップＳ１０３でぶれベクトル記録部１０２は、ステップＳ１０１で取得した画像を撮像したときの露光時間内の規定タイミング毎の撮像装置のぶれの方向及び量を示すぶれベクトル情報を、入力端子１０６を介してぶれベクトル検出部３００から取得する。そしてぶれベクトル記録部１０２は、この取得したぶれベクトル情報を記録する。
【００２５】
ステップＳ１０４でフィルタ係数算出部１０４は、ぶれベクトル記録部１０２が記録したぶれベクトル情報と、露光パターン生成部１０３が生成した露光パターンと、を用いて、ぶれ補正用のフィルタ係数を算出する。
【００２６】
ステップＳ１０５ではデコンボリューション部１０５は、ステップＳ１０１で取得した画像のデータに対して、ステップＳ１０４でフィルタ係数算出部１０４が算出したフィルタ係数を用いたフィルタによるデコンボリューション処理を行う。このデコンボリューション処理により、ぶれを補正した画像のデータを生成する。
【００２７】
そして次に、ステップＳ１０６では、デコンボリューション部１０５は、ぶれが補正された画像のデータを、出力端子１０８を介して、本実施形態に係る撮像装置が有するメモリや表示装置に対して出力する。
【００２８】
＜開閉指示信号について＞
以下では、開閉指示信号について説明する。開閉指示信号とは、図３に示す如く、露光時間（図３では０〜ｔ６）内におけるシャッターの開閉パターンを示すものである。図３において、横軸は時間を示し、縦軸は「シャッターが開状態にあるか閉状態にあるかを示す状態値」を示している。そして上記の通り、シャッターが開状態（Open）にあることを示す状態値は「１」であり、シャッターが閉状態（Close）にあることを示す状態値は「０」である。また、シャッターの開閉制御は単位時間（規定長期間）毎に行われ、この単位時間はｎ≧０、ｔ０＝０としたときに、（ｔｎ＋１−ｔｎ）として表される。
【００２９】
図３では、０〜ｔ２の間、ｔ３〜ｔ４の間、ｔ５〜ｔ６の間、のそれぞれの期間内では状態値は「１」であるので、これらの期間内ではシャッターは開状態にある。即ち、これらの期間内では、シャッターを開状態にして撮像を行っている。一方、ｔ２〜ｔ３の間、ｔ４〜ｔ５の間、のそれぞれの期間内では状態値は「０」であるので、これらの期間内ではシャッターは閉状態にある。即ち、これらの期間内では、シャッターを閉状態にして撮像を行っている。
【００３０】
ここで、規定長期間を示す変数（それぞれの規定長期間に対するインデックス）をｔとすると、図３に示す開閉指示信号Ｃ（ｔ）は、Ｃ（ｔ）＝［１，１，０，１，０，１］となる。ここでｔは１≦ｔ≦６を満たす整数である。即ち、最初の規定長期間（ｔ＝１）、即ち０〜ｔ１における開閉指示信号Ｃ（１）の値は「１」となる。２番目の規定長期間（ｔ＝２）、即ちｔ１〜ｔ２における開閉指示信号Ｃ（２）の値は「１」となる。３番目の規定長期間（ｔ＝３）、即ちｔ２〜ｔ３における開閉指示信号Ｃ（３）の値は「０」となる。４番目の規定長期間（ｔ＝４）、即ちｔ３〜ｔ４における開閉指示信号Ｃ（４）の値は「１」となる。５番目の規定長期間（ｔ＝５）、即ちｔ４〜ｔ５における開閉指示信号Ｃ（５）の値は「０」となる。６番目の規定長期間（ｔ＝６）、即ちｔ５〜ｔ６における開閉指示信号Ｃ（６）の値は「１」となる。
【００３１】
＜露光特性情報について＞
次に、露光特性情報について説明する。本実施形態では露光特性情報は上記の通り、撮像センサの電荷蓄積特性を数値で表現したものである。例えば、撮像センサへの電荷の蓄積を開始してから電荷が飽和するまでの時間（蓄積時間）が６ミリ秒、飽和した電荷を送出してからこの送出が完了するまで（撮像センサにおける蓄積電荷量がほぼ０になるまで）の時間（送出時間）が４ミリ秒であるとする。この場合、この撮像センサの露光特性情報は、図４のように表すことができる。図４において、横軸は時間、縦軸は蓄積電荷量を表す。蓄積電荷量は255が最大で、0が最小とする。しかし、蓄積電荷量の最大値が２５５以外の数値であっても本質的には同じことである。また、電荷量の分割数に整数を用いなくても構わない。
【００３２】
ここで、蓄積時間が６ミリ秒、送出時間が４ミリ秒であり、６と４の最大公約数が２であることから、本実施形態では、２ミリ秒毎の蓄積電荷量を露光特性情報Ｓとして用いる。図４の場合には、［０，１７８，２４２，２５２，１２，０］を露光特性情報Ｓとして用いる。図４の場合における露光特性情報によれば、撮像センサへの電荷の蓄積開始時の蓄積電荷量は０、蓄積開始から２ミリ秒後の蓄積電荷量は１７８、蓄積開始から４ミリ秒後の蓄積電荷量は２４２である。また、蓄積開始から６ミリ秒後の蓄積電荷量は２５２、蓄積開始から８ミリ秒後の蓄積電荷量は１２、蓄積開始から１０ミリ秒後の蓄積電荷量は０である。
【００３３】
このような蓄積電荷量の数値列［０，１７８，２４２，２５２，１２，０］は、電荷蓄積特性を表していることから、本実施形態に係る露光特性情報は電荷蓄積特性情報でもある。
【００３４】
なお、ここでは説明上、蓄積時間と送出時間の最大公約数である時間毎の蓄積電荷量の数値列を露光特性情報としたが、どのような時間毎の蓄積電荷量の数値列を露光特性情報としても良い。しかし、蓄積時間と送出時間の最大公約数、蓄積時間と送出時間のうち何れか短い方の時間、蓄積時間と送出時間のうち何れか短い方の時間よりも短い時間、の何れかの時間毎の蓄積電荷量の数値列を露光特性情報とした方が良い。
【００３５】
＜露光パターン生成部１０３の動作について＞
次に、露光パターン生成部１０３の動作について、図５のフローチャートを用いて説明する。先ず、露光パターン生成部１０３は、開閉指示信号設定部４００から開閉指示信号Ｃ（ｔ）を取得する。次に、ステップＳ２０２では、露光パターン生成部１０３は、露光特性情報保存部１０９から露光特性情報Ｓを取得する。
【００３６】
次に、ステップＳ２０３では、露光パターン生成部１０３は、以下の処理で用いる変数ｘを１に初期化する。次にステップＳ２０４では、露光パターン生成部１０３は、開閉指示信号Ｃ（ｘ）、即ち第１の時系列データにおいて時系列順でｘ番目の状態値が１であるか否かをチェックする。このチェックの結果、開閉指示信号Ｃ（ｘ）が１である場合には処理はステップＳ２０５に進み、開閉指示信号Ｃ（ｘ）が０である場合には処理はステップＳ２０６に進む。
【００３７】
ステップＳ２０５では露光パターン生成部１０３は、露光特性情報Ｓを、開閉指示信号Ｃ（ｘ）に対応するデータ列として決定する。そして露光パターン生成部１０３は、この決定したデータ列を、１次元データ列である露光パターンの最後尾に追加する。もちろん、本ステップにおける処理を最初に行った場合、露光パターンはこの特定したデータ列そのものとなる。
【００３８】
ステップＳ２０６では露光パターン生成部１０３は、露光特性情報Ｓに含まれている要素（第２の時系列データ中の要素）の個数（上記の例の場合は６）と同じ個数分の０を、開閉指示信号Ｃ（ｘ）に対応するデータ列として決定する。そして露光パターン生成部１０３は、この決定したデータ列を、露光パターンの最後尾に追加する。もちろん、本ステップにおける処理を最初に行った場合、露光パターンはこの特定したデータ列そのものとなる。
【００３９】
例えば、図６に示す如く、開閉指示信号Ｃ（ｔ）＝［１，１，０，１，０，１］、露光特性情報Ｓ＝［０，１７８，２４２，２５２，１２，０］であるとする。この場合、Ｃ（１）＝１であるので、Ｃ（１）に対応するデータ列は露光特性情報Ｓとなる。然るに、露光パターンｈ（１）＝０，ｈ（２）＝１７８，ｈ（３）＝２４２，ｈ（４）＝２５２，ｈ（５）＝１２，ｈ（６）＝０となる。また、Ｃ（５）＝０であるので、Ｃ（５）に対応するデータ列は、［０，０，０，０，０，０］となる。然るに、露光パターンｈ（２５）＝ｈ（２６）＝ｈ（２７）＝ｈ（２８）＝ｈ（２９）＝ｈ（３０）＝０となる。
【００４０】
そしてステップＳ２０７において露光パターン生成部１０３は、開閉指示信号中の全ての状態値に対応するデータ列を決定し、決定したデータ列を露光パターンの最後尾に追加したか否かを判断する。この判断の結果、全ての状態値に対応するデータ列を露光パターンに追加登録した場合には処理はステップＳ２０９に進む。一方、まだ開閉指示信号中の全ての状態値に対応するデータ列を露光パターンに追加登録していない場合には、処理はステップＳ２０８に進む。ステップＳ２０８では露光パターン生成部１０３は変数ｘの値を１つインクリメントし、処理をステップＳ２０４に進める。
【００４１】
このように、開閉指示信号中（第１の時系列データ中）の各状態値を時系列順に参照して、参照した状態値に対応するデータ列を決定し、決定したそれぞれのデータ列を、データ列の決定順に並べた時系列データを露光パターンとして決定する。そしてステップＳ２０９では、露光パターン生成部１０３は、完成した露光パターンを、フィルタ係数算出部１０４に送出する。
【００４２】
以上の計算を行うことで、開閉指示信号Ｃ（ｔ）＝［１，１，０，１，０，１］、露光特性情報Ｓ＝［０，１７８，２４２，２５２，１２，０］であるとすると、図６に示す如く、露光パターンｈ（ｔ）は以下のようになる。
【００４３】
ｈ（ｔ）＝［０，１７８，２４２，２５２，１２，０，
０，１７８，２４２，２５２，１２，０，
０，０，０，０，０，０，
０，１７８，２４２，２５２，１２，０，
０，０，０，０，０，０，
０，１７８，２４２，２５２，１２，０］
なお、露光パターンｈ（ｔ）を構成する各要素を二値（０，１）以上の値で表現した場合、このような露光パターンｈ（ｔ）を用いてデコンボリューション部１０５が求めた画像を構成する各画素の画素値を正規化してから出力する必要がある。例えば、露光パターンｈ（ｔ）を構成する各要素を上記のように０〜２５５で表した場合、デコンボリューション部１０５は、露光パターンｈ（ｔ）に基づいてぶれ補正を行った画像を構成する各画素の画素値を２５５で割ってから出力する必要がある。
【００４４】
＜フィルタ係数算出部１０４の動作について＞
以下に、フィルタ係数算出部１０４の動作原理について説明する。シフトぶれの運動は、時刻をt、時刻tにおける撮像装置のシフトぶれベクトルをs(t)、時刻ｔにおける撮像装置の位置を示す２次元ベクトルをx(t)と置くと、以下の式が成り立つ。
【００４５】
【数１】
0005656705.tif 000002
【００４６】
ここで、撮影開始の時刻ｔを０とした。時刻ｔ＝０におけるぶれのない画像をＩとする。また、画像Ｉ中の座標（座標ベクトル）ｍにおける画素値をＩ（ｍ）とする。ここで、「時刻ｔに画像中の座標ｍに位置する画素」の時刻ｔ＝０における座標ベクトルｍ（０）は、上記式１からすれば、ｍ（０）＝ｍ−ｓ（ｔ）となる。ここで、座標ベクトルｍを構成するｘ成分、ｙ成分は何れも整数値であるとする。即ち、座標ベクトルｍは格子点の座標値を示すベクトルである。ここで、座標ベクトルｍが示す座標位置に寄与する画素値は、画素値Ｉ（ｍ−ｓ（ｔ））を時刻ｔ＝０から露光時間Ｔまで積分したものになるので、シフトぶれを表す式は以下のように書ける。
【００４７】
【数２】
0005656705.tif 000003
【００４８】
ここで、ｈ（ｔ）は上記の露光パターンｈ（ｔ）であり、Iblurは、シフト運動によりぶれた画像である。
【００４９】
式(2)において、フィルタKを以下のように定義したとする。
【００５０】
【数３】
0005656705.tif 000004
【００５１】
このように、撮像装置のぶれベクトルｓ（ｔ）と、露光パターンｈ（ｔ）と、を用いて式（３）に従った計算を行うことで、座標ｍにおける画素に対して適用するフィルタ係数を求めることができる。この式（３）は、座標ｍからぶれベクトルｓ（ｔ）の分だけ減じた位置と、露光パターンｈ（ｔ）と、の積を時間ｔについて０〜露光時間Ｔに渡って積分演算する処理を示している。これにより、フィルタＫを構成する各フィルタ係数を求めることができる。またこの場合、式２は、以下のように表すことができる。
【００５２】
【数４】
0005656705.tif 000005
【００５３】
本実施形態では、説明を簡単にするために、シフトぶれベクトルの大きさが格子点上に来るもののみを取り上げている。しかし、シフトぶれベクトルが格子点上に来ない場合でもぶれ補正の計算を行うことは可能である。例えば、特許文献２に記載の方法でも可能である。以上、簡単のため1次元の場合で説明したが、2次元(画像)の場合も同様である。この場合は図5のフローチャートにおいて、mを(m,n)、xを(x,y)、s(t)を(s_x(t)s_y,(t))のように2次元ベクトルに置き換えれば良い。
【００５４】
＜開閉指示信号Ｃ（ｔ）の生成方法について＞
次に、開閉指示信号C(t)の生成方法について説明する。開閉指示信号C(t)の矩形派形状（0,1の形状）は、上記の式(３)によって決定されるフィルタKが0落ちするのを避けるように生成される。ここで、０落ちについて簡単に説明する。０落ちとは、フィルタKをフーリエ変換した際に、フーリエ変換後の周波数特性が、ある特定の周波数において０になってしまうことを指す。０落ちが発生すると、周波数特性が0になる周波数の情報は、デコンボリューション部１０５にて逆フーリエ変換した際に、画像から失われてしまうという問題が発生する。そして、失われた情報がある場合、ぶれ画像の補正は正しく行われなくなってしまう。
【００５５】
例として、横方向に等速度運動をしている場合を考えてみる。運動速度は、1回撮影する間に、撮像画像に換算して20ピクセル分と仮定している。このときの通常の開閉指示信号C(t)を図７（ａ）に示す。これは一定時間シャッターを開き、その後閉じたものである。横軸は時間、縦軸はC(t)の値である。この開閉指示信号C(t)をもとに撮像画像と同一サイズのフィルタKを算出し、その周波数特性を求めた例を図７（ｂ）に示す。図７（ｂ）の横軸は周波数、縦軸はフィルタKの離散フーリエ変換の絶対値である。図７（ｂ）を見ると分かるように、フィルタKの周波数特性が0になる周波数が存在し、0落ちが発生していることが分かる。
【００５６】
次に、0落ちを避けるために、Coded Exposureを用いて開閉指示信号C(t)をコントロールした例を図７（ｃ）に示す。図の見方は図７（ａ）と同様である。この開閉指示信号C(t)をもとに撮像画像と同一サイズのフィルタKを算出し、その周波数特性を求めた例を図７（ｄ）に示す。図の見方は図７（ｂ）と同様である。このように開閉指示信号C(t)をコントロールすることによって、フィルタKの周波数特性の値が0になることを防ぐことができる。
【００５７】
具体的には、フィルタKのフーリエ変換を行った際に、フィルタKの離散フーリエ変換の絶対値の最小値をできるだけ大きくするよう、開閉指示信号C(t)を設定すると良い。その他、例えば特許文献２などに記載の方法なども用いることができる。
【００５８】
さらに、開閉指示信号C(t)をもとに露光パターンh(t)を作るとき、撮像装置のセンサの電荷蓄積速度や、シャッター開閉速度の影響を受ける。このため、撮影時の露光パターンh(t)は矩形とならず、図７（ｅ）のように、時間遅れを伴う。横軸は時間、縦軸はｈ（ｔ）の値を示す。そこで、ぶれ補正計算時は、露光パターンh(t)は図７（ｅ）のように設定する。なお、この場合のフィルタＫの周波数特性を求めた例を図７（ｆ）に示す。図の見方は図７（ｂ）と同じである。開閉指示信号C(t)をコントロールした図７（ｄ）と同様、０落ちはないことが分かる。
【００５９】
開閉指示信号設定部４００は、このような開閉指示信号を予め保持しており、必要に応じてこの開閉指示信号を撮像部２００及び露光パターン生成部１０３に対して送出する。もちろん、開閉指示信号設定部４００はこのような開閉指示信号を適宜生成するようにしても良い。
【００６０】
＜露光パターンについて＞
先に述べた通り、露光パターンh(t)はCoded Exposureの開閉指示信号C(t)と露光特性情報Sとに基づいて決まり、これを用いてフィルタKを計算することで、ぶれ補正が可能となる。これは、先に述べた通り、撮像センサ上の電荷蓄積に一定の時間がかかることに着目して行う処理である。もし、露光特性の違いを考慮せず、開閉指示信号のみを用いて露光パターンh(t)を作成した場合、このような露光パターンｈ（ｔ）を用いて図８（ａ）に示したぶれた画像を補正しても、図８（ｂ）のように画像が正しくぶれ補正されなくなってしまう。
【００６１】
図８（ａ）は、ぶれを含む画像、図８（ｂ）はこのぶれを含む画像を開閉指示信号のみを基にぶれ補正を行った画像、図８（ｃ）はこのぶれを含む画像を開閉指示信号及び露光特性情報を基にぶれ補正を行った画像を示している。ぶれ量は先の説明と同様、1回撮影する間に、撮像画像に換算して20ピクセル分と仮定している。
【００６２】
そこで、露光パターン生成部１０３において、露光パターンを生成する際には、開閉指示信号C(t)だけでなく、露光特性情報Sをも用いて、センサ特性をも考慮したぶれ補正用の露光パターンh(t)を生成する。そして、このようにして生成した露光パターンh(t)を用いてぶれ補正を行う。
【００６３】
以上の説明により、本実施形態によれば、撮像センサの露光特性情報をも考慮することにより、良好なぶれ補正画像を得るためのフィルタを生成することができる。そしてこのようなフィルタを用いてぶれ補正処理を行うことで、図８（ｃ）で示すとおり、精度よくぶれを補正することができる。
【００６４】
［第１の実施形態の変形例１］
以下に、第１の実施形態の変形例について説明する。なお、以下の説明は、本変形例が第１の実施形態と異なる点のみについて説明する。第１の実施形態では、１つの「開状態を示す状態値」（以下、有効状態値）に対して１つの露光特性情報を対応付けていた。しかし、第１の時系列データ内で有効状態値が連続して並んでいる場合には、この連続して並んでいる有効状態値の集合に対して１つの露光特性情報を対応付けても良い。しかし、連続して並んでいる有効状態値の個数、即ちシャッターの連続開口時間に応じて露光特性情報は異なるので、露光特性情報保存部１０９には、連続して並んでいる有効状態値の個数毎に、対応する露光特性情報を格納しておく必要がある。以下に本変形例について説明する。
【００６５】
連続して並んでいる有効状態値の個数が多いほど、シャッターの連続開口時間が長いことを示しており、少ないほど、シャッターの連続開口時間が短いことを示しているので、連続して並んでいる有効状態値の個数に応じて露光特性情報も異なることになる。然るに、本変形例では、連続して並んでいる有効状態値の個数毎に、対応する露光特性情報を露光特性情報保存部１０９に格納しておく。
【００６６】
＜開閉指示信号の単位開閉について＞
ここで、開閉指示信号の単位開閉について説明する。開閉指示信号において連続して並んでいる有効状態値の集合を以下では「単位開閉」と呼称する。図１０（ａ）における開閉指示信号の場合、時系列順で１番目の有効状態値、４番目の有効状態値及び５番目の有効状態値の集合、９番目の有効状態値及び１０番目の有効状態値及び１１番目の有効状態値の集合、のそれぞれが単位開閉である。図１０（ａ）では、１番目の有効状態値を単位開閉１、４番目の有効状態値及び５番目の有効状態値の集合を単位開閉２、９番目の有効状態値及び１０番目の有効状態値及び１１番目の有効状態値の集合を単位開閉３としている。即ち、単位開閉とは、シャッターが開状態にある期間を示している。
【００６７】
上記の通り本変形例では、連続して並んでいる有効状態値の個数毎に、対応する露光特性情報を露光特性情報保存部１０９に格納しておくのであるが、これは換言すれば、単位開閉の長さ毎に、対応する露光特性情報を格納しておくことになる。図１０（ａ）では、単位開閉１は１つの有効状態値から構成されているので、単位開閉１の長さは１となる。同様に、単位開閉２は２つの有効状態値から構成されているので、単位開閉２の長さは２となり、単位開閉３は３つの有効状態値から構成されているので、単位開閉３の長さは３となる。然るにこの場合、露光特性情報保存部１０９には、図１０（ｂ）に示す如く、長さ１，長さ２，長さ３のそれぞれに対応する露光特性情報Ｓが格納されていることになる。図１０（ｂ）に示したテーブルは、露光特性情報保存部１０９に格納されている、それぞれの長さに対応する露光特性情報Ｓを模式的に示したものである。そしてこのよなテーブルは予め作成され、露光特性情報保存部１０９に格納されている。
【００６８】
＜露光パターン生成部１０３の動作について＞
本変形例では、図５のフローチャートにおいて以下の点のみが第１の実施形態と異なる。ステップＳ２０５では露光パターン生成部１０３は、開閉指示信号Ｃ（ｘ）から（時系列順に）連続する有効状態値の数を計数する。図１０（ａ）において、ｘ＝９の場合、Ｃ（９）＝Ｃ（１０）＝Ｃ（１１）＝１であることから、この計数値は３となる。そして露光パターン生成部１０３は、この計数値に対応する露光特性情報Ｓを露光特性情報保存部１０９から取得し、この取得した露光特性情報Ｓを、ｘ番目の状態値及びこの状態値に連続して後続する有効状態値の集合に対応するデータ列として決定する。そして露光パターン生成部１０３は、この決定したデータ列を、１次元データ列である露光パターンの最後尾に追加する。もちろん、本ステップにおける処理を最初に行った場合、露光パターンはこの特定したデータ列そのものとなる。
【００６９】
そして、ステップＳ２０５からステップＳ２０７を介してステップＳ２０８に進んだ場合、ステップＳ２０８では、ステップＳ２０５で計数した計数値だけ変数ｘの値をインクリメントする。
【００７０】
なお、本変形例では、１単位開閉あたり１つの露光特性情報を持っていたが、１単位開閉あたり、複数の露光特性情報を持ってもかまわない。この場合、この複数の露光特性情報から１つが、シャッタ開閉速度等、他の露光特性情報に基づいて決定される。
【００７１】
［第１の実施形態の変形例２］
複数の有効状態値に対して１つの露光特性情報を割り当てる場合、変形例１のように、有効状態値の個数に応じた露光特性情報を予め用意しておいても良いが、次のようにしても良い。即ち、１つの基本となる露光特性情報のみを予め用意しておき、有効状態値の個数に応じてこの露光特性情報を加工する。具体的には、有効状態値の個数が１個の場合における露光特性情報（基本露光特性情報）のみを予め用意しておく。そして第１の時系列データにおいて計数した連続有効状態値数が２個の場合には、この基本露光特性情報に含まれるそれぞれの要素の間に新要素を加える。要素Ｘと要素Ｙとの間に加える要素Ｚは、要素Ｘと要素Ｙとを用いた補間処理で求める。このように、基本露光特性情報のみを保持しておき、計数した数に応じて基本露光特性情報を加工しても良い。
【００７２】
［第２の実施形態］
本実施形態では、露光特性情報として、撮像センサの電荷蓄積特性と、撮像装置のシャッターの開閉特性の２つを用いる点のみが、第１の実施形態と異なる。然るに以下では本実施形態が、第１の実施形態と異なる点のみについて説明する。即ち、以下の説明する点以外は、第１の実施形態と同様である。
【００７３】
＜シャッターの開閉特性＞
ここで、シャッターの開閉特性について説明する。シャッターの開閉特性とは、シャッターが閉じた状態から開いた状態（またはその逆）までの間の、シャッター開口面積、又はシャッター開口面積を求めることができる物理特性を指す。
【００７４】
図９は、シャッターの開口面積Ｏ(t)の時間変化を表した図である。横軸は時間、縦軸はシャッターの開口面積Ｏ（ｔ）の値を示している。シャッターが全開している時にはＯ（ｔ）＝２５５で、シャッターが完全に閉じている時にはＯ（ｔ）＝０となっている。なお、ここでは説明上、シャッターの全開時におけるＯ（ｔ）の値、全閉時におけるＯ（ｔ）の値をそれぞれ２５５、０としているが、他の値を用いても良い。
【００７５】
ここで、図９の開閉特性において、２ミリ秒毎の開口面積を列挙した時系列データ（第３の時系列データ）を、Ｏ（ｔ）＝［０，３２，２５５，２５５，３２，０］とする。この時系列データは、シャッターが閉じている状態から、開いている状態になり、再び閉じている状態になるまでの間の、２ミリ秒毎のシャッターの開口面積を示す数値を時系列順に並べたものである。このとき、このシャッターは、4ミリ秒で閉じた状態から全開状態になり、同様に４ミリ秒で全開状態から閉じた状態になる。
【００７６】
換言すれば、第３の時系列データとは、次のような時系列データである。即ち、シャッターが閉じた状態から全開状態を経て、再度閉じた状態になるまでの期間内で、規定タイミング毎に予め測定されたシャッターの開口面積を示す数値を時系列順に並べた時系列データである。
【００７７】
＜露光パターン生成部１０３の動作原理＞
本実施形態では、図５のフローチャートにおいて以下の点のみが第１の実施形態と異なる。先ずステップＳ２０２では、露光特性情報として、蓄積電荷量の数値列Ｓ（第１の実施形態では［０，１７８，２４２，２５２，１２，０］）及び、開口面積の時系列データＯ（ｔ）を取得する（第４の取得）。
【００７８】
ステップＳ２０５では露光パターン生成部１０３は、蓄積電荷量の数値列Ｓと開口面積の時系列データＯ（ｔ）との乗算結果を、開閉指示信号Ｃ（ｘ）に対応するデータ列Ｓ’として決定する。例えば、蓄積電荷量の数値列Ｓ＝［０，１７８，２４２，２５２，１２，０］、開口面積の時系列データＯ（ｔ）＝［０，３２，２５５，２５５，３２，０］とすると、データ列Ｓ’は下記のように求める。
【００７９】
Ｓ’＝Ｓ×０’（ｔ）＝［０×０，１７８×３２，２４２×２５５，２５２×２５５，１２×３２，０×０］＝［０，５６９６，６１７１０，６４２６０，３８４，０］
ここで、この計算を行うためには、数値列Ｓ中の数値の個数と、開口面積の時系列データＯ（ｔ）中における数値の個数とが同じでなければいけない。そして露光パターン生成部１０３は、この決定したデータ列Ｓ’を、１次元データ列である露光パターンの最後尾に追加する。もちろん、本ステップにおける処理を最初に行った場合、露光パターンはこの特定したデータ列そのものとなる。
【００８０】
図６ではＣ（１）＝１であるので、Ｃ（１）に対応するデータ列はＳ’となる。然るに、露光パターンｈ（１）＝０，ｈ（２）＝５６９６，ｈ（３）＝６１７１０，ｈ（４）＝６４２６０，ｈ（５）＝３８４，ｈ（６）＝０となる。
【００８１】
開閉指示信号Ｃ（ｔ）＝［１，１，０，１，０，１］、Ｓ＝［０，１７８，２４２，２５２，１２，０］、Ｏ（ｔ）＝［０，３２，２５５，２５５，３２，０］であるとすると、以上の処理により、露光パターンｈ（ｔ）は以下のようになる。
【００８２】
ｈ（ｔ）＝［０，５６９６，６１７１０，６４２６０，３８４，０，
０，５６９６，６１７１０，６４２６０，３８４，０，
０，０，０，０，０，０，
０，５６９６，６１７１０，６４２６０，３８４，０，
０，０，０，０，０，０，
０，５６９６，６１７１０，６４２６０，３８４，０］
即ち、数値列Ｓにおいて時系列順でｉ番目の状態値と、開口面積の時系列データＯ（ｔ）において時系列順でｉ番目の数値と、の積を、時系列順でｉ番目の要素とする第４の時系列データを求める。ここでｉは１以上且つ数値列Ｓ（時系列データＯ（ｔ））中の要素の数以下の範囲内の値を取る整数である。そして、有効状態値に対応するデータ列を第４の時系列データとする。
【００８３】
なお、Ｓ、Ｏ（ｔ）のそれぞれを０〜２５５の数値で表した場合、デコンボリューション部１０５は、ぶれ補正後の画像を構成する各画素の画素値を２５５×２５５で割ってから出力する必要がある。なお、本実施形態では２種類の２５６分割された露光特性情報を用いているが、もちろんほかの分割数の組み合わせでも構わない。また、分割数に整数を用いなくても構わない。また、露光パターン作成について、２種類の256分割された露光特性情報を用いているため、露光パターンh(t)は２５５×２５５分割することが望ましい。しかし、もちろんこれ以外の分割数でもかまわない。
【００８４】
以上の説明により、本実施形態によれば、センサの電荷蓄積特性、及びシャッターの開閉特性を考慮した露光パターンを用いることにより、良好なぶれ補正画像を得るためのフィルタを生成することができる。そしてこのようなフィルタを用いてぶれ補正処理を行うことで、精度よくぶれを補正することができる。
【００８５】
［第３の実施形態］
本実施形態に係る撮像装置が有する補正部１００の機能構成例について、図１１を用いて説明する。図１１に示した構成は、図１に示した構成に開閉指示信号制御部５００を加えた構成となる。
【００８６】
開閉指示信号制御部５００は、露光特性情報保存部１０９から撮影時に読み出されるべき露光特性情報の内容に応じて、撮像部２００や露光パターン生成部１０３へ送信する開閉指示信号を変更させるよう、開閉指示信号設定部４００を制御する。
【００８７】
例えば、露光特性情報が、撮影条件やシャッター開閉速度等で変わる場合が考えられる。このとき、開閉指示信号制御部500は、露光特性情報に最適な開閉指示信号を開閉指示信号設定部４００へ指示する。開閉指示信号設定部４００は、開閉指示信号制御部５００からの指示を受けると、撮像部２００および露光パターン生成部１０３へ送信する開閉指示信号を変更する。
【００８８】
［第３の実施形態の変形例］
上記の実施形態においては、露光特性情報保存部１０９からの露光特性情報、及び開閉指示信号設定部４００からの開閉指示信号を基に、露光パターン生成部１０３が、撮影時に露光パターンを計算していた。しかし露光パターンは、撮影の都度計算するのではなく、計算済みの露光パターンを予め保持しておき、必要に応じてこの露光パターンを露光パターン参照部１１１から参照しても良い。この場合の撮像装置の機能構成例を図１２に示す。露光パターン参照部１１１は、露光パターン保存部１２０９に保存された露光パターンを、フィルタ係数算出部１０４に必要に応じて送信する。また、開閉指示信号も露光パターン保存部１２０９に保持しておき、必要に応じて開閉指示信号制御部５００が読み出し、撮像部２００へ送信する。
【００８９】
次に、本実施形態の変形例における補正部１００の動作について、図１３のフローチャートを用いて説明する。ここでは、特に、図２との違いについて説明する。図１３は、ステップＳ１３０２の露光パターン参照が図２と異なる。即ち、ステップＳ１３０１，Ｓ１３０３〜Ｓ１３０６はそれぞれ、図２のＳ１０１，Ｓ１０３〜Ｓ１０６と同じである。ステップＳ１３０２では、露光パターン参照部１１１が、撮影条件に基づき、適切な露光パターンを参照し、フィルタ係数算出部１０４へ送信する。
【００９０】
＜露光パターンの保持内容＞
ここでは、露光パターン保存部１２０９に保存された、露光パターンの内容について、図１４を用いて説明する。露光パターンは、シャッタースピードや絞り等の撮影条件に応じて、図１４の表のように複数の露光パターンを保存している。また、図１４（ａ）の表は、機械式シャッターの場合の露光パターンの保存例を、図１４（ｂ）の表は、電子シャッターの場合の露光パターンの保存例を示している。たとえば、機械式シャッターを持つカメラで、シャッタースピードが１／２５０秒の場合、図１４（ａ）においてインデックス「１」に対応する露光パターン情報（最上段に記された露光パターン）を用いる。なお、ここで示す露光パターンは、あくまで一例であり、露光パターンは１つであってももちろん良く、シャッタースピードや絞り以外の条件に基づいたものであってもかまわない。
【図１】
0005656705.tif 000006
【図２】
0005656705.tif 000007
【図３】
0005656705.tif 000008
【図４】
0005656705.tif 000009
【図５】
0005656705.tif 000010
【図６】
0005656705.tif 000011
【図７】
0005656705.tif 000012
【図９】
0005656705.tif 000013
【図１０】
0005656705.tif 000014
【図１１】
0005656705.tif 000015
【図１２】
0005656705.tif 000016
【図１３】
0005656705.tif 000017
【図１４】
0005656705.tif 000018
【図８】
0005656705.tif 000019