(57)【特許請求の範囲】
【請求項１】
アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された撮像画像に対応する複数の画像データを取得する画像取得手段と、
前記画像取得手段により取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる特定の係数を記憶する係数記憶手段と、
前記画像取得手段により取得された前記画像データの所定の画素の画素値に、前記係数記憶手段により記憶されている前記特定の係数を乗算する乗算手段と、
前記乗算手段により前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算する加算手段と
を備え、
前記係数記憶手段により記憶された前記特定の係数には、
前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素に対して重み付けが高くなるような係数と、
前記加算手段により加算される前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数と
が含まれている
画像処理装置。
【請求項２】
所定の被写体を撮像する撮像手段を更に備え、
前記画像取得手段は、前記撮像手段により撮像されて得られた前記画像データを取得する
請求項１に記載の画像処理装置。
【請求項３】
前記撮像手段は、光電変換機能を有する
請求項２に記載の画像処理装置。
【請求項４】
前記係数記憶手段により記憶された前記特定の係数には、前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データ、および、最も遅い時刻に撮像された前記画像データ以外の前記画像データの所定の画素に対して乗ぜられる前記特定の係数が更に含まれ、
前記乗算手段は、前記前記加算手段により加算される前記画像データのうちの３枚以上の前記画像データの所定の画素の画素値に、前記係数記憶手段により記憶されている前記特定の係数を乗算する
請求項１に記載の画像処理装置。
【請求項５】
前記加算手段は、
画像データフレームを一時保持する保持手段と、
前記乗算手段により前記特定の係数が乗算された前記画素を有する前記画像データまたは前記画像取得手段により取得された前記画像データと、前記保持手段により保持されている前記画像データフレームとのそれぞれの対応する画素の画素値を加算する画素値加算手段と
を備え、
前記保持手段には、前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データ、または、前記画素値加算手段により対応する画素の画素値が加算されて算出された前記画像データが、上書きされて保持される
請求項１に記載の画像処理装置。
【請求項６】
前記画像取得手段により取得された前記画像データを保持する複数の画像データ保持手段と、
複数の前記画像データ保持手段のいずれに前記画像取得手段により取得された前記画像データを供給して保持させるかを選択する選択手段と
を更に備え、
前記乗算手段は、
前記画像データ保持手段と対応付けられて同数設けられ、
対応する前記画像データ保持手段に保持されている前記画像データが、前記加算手段により加算される複数の前記画像データのうち、何番目に撮像された画像データであるかに基づいて、必要に応じて、前記係数記憶手段により記憶されている前記特定の係数のうちの対応する前記特定の係数を読み出して、前記画像データの所定の画素の画素値との乗算処理を実行する
請求項１に記載の画像処理装置。
【請求項７】
前記選択手段は、複数の前記画像データ保持手段に保持されている前記画像データのうち、最も早い時刻に撮像された画像データが保持されている前記画像データ保持手段を、前記画像取得手段により新たに取得された前記画像データの保持を行う前記画像データ保持手段として選択する
請求項６に記載の画像処理装置。
【請求項８】
前記画像取得手段により取得された前記画像データは、RAWデータである
請求項１に記載の画像処理装置。
【請求項９】
前記画像取得手段により取得された前記画像データは、RAWデータに所定の処理を施して、鑑賞できる状態で表示可能なように処理された画像データである
請求項１に記載の画像処理装置。
【請求項１０】
前記画像取得手段により取得された前記画像データに含まれる前記各画素の画素信号を所望の信号形態または信号レベルに整える信号処理手段を更に備える
請求項１に記載の画像処理装置。
【請求項１１】
前記信号処理手段は、前記画像取得手段により取得された前記画像データがアナログ信号の場合、アナログ信号をデジタル信号に変換する処理を実行する
請求項１０に記載の画像処理装置。
【請求項１２】
前記信号処理手段は、前記画像取得手段により取得された前記画像データがRAWデータである場合、信号処理系の黒レベルを設定し、正常な信号出力を行わない欠陥画素の信号レベルを周囲の正常な画素信号レベルで補間する処理を実行する
請求項１０に記載の画像処理装置。
【請求項１３】
前記信号処理手段は、前記画像取得手段により取得された前記画像データが、RAWデータに所定の処理を施して、鑑賞できる状態で表示可能なように処理された画像データである場合、前記画像データに逆ガンマ変換を施して、RAWデータと同じ輝度信号特性を持つように変換する処理を実行する
請求項１０に記載の画像処理装置。
【請求項１４】
ユーザの操作入力を受ける操作入力取得手段を更に備え、
前記操作入力取得手段は、前記加算手段により加算される前記画像データの前記所定の枚数を設定する操作入力を受ける
請求項１に記載の画像処理装置。
【請求項１５】
ユーザの操作入力を受ける操作入力取得手段を更に備え、
前記操作入力取得手段は、前記係数記憶手段により記憶される前記特定の係数を設定する操作入力を受ける
請求項１に記載の画像処理装置。
【請求項１６】
複数枚の画像データフレームを用いて、フォーカルプレーンシャッタ現象による被写体の歪みを有する撮像画像の補正画像を生成する画像処理装置の画像処理方法において、
アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データを取得し、
特定の係数を記憶する係数記憶部から、取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる前記特定の係数を取得し、
前記画像データの所定の画素の画素値に、取得された前記特定の係数を乗算し、
前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算する
ステップを含み、
前記係数記憶部に記憶される前記特定の係数には、
加算される複数の前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素に対して重み付けが高くなるような係数と、
加算される複数の前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数と
が含まれている
画像処理方法。
【請求項１７】
複数枚の画像データフレームを用いて、フォーカルプレーンシャッタ現象による被写体の歪みを有する撮像画像の補正画像を生成する処理をコンピュータに実行させるためのプログラムであって、
アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データの取得を制御し、
特定の係数を記憶する係数記憶部から、取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる前記特定の係数の取得を制御し、
前記画像データの所定の画素の画素値に、取得が制御された前記特定の係数を乗算し、
前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算する
ステップを含む処理をコンピュータに実行させ、
前記係数記憶部に記憶される前記特定の係数には、
加算される複数の前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素に対して重み付けが高くなるような係数と、
加算される複数の前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数と
が含まれている
プログラム。
【請求項１８】
請求項１７に記載のプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法、記録媒体、並びに、プログラムに関し、特に、フォーカルプレーンシャッタ現象による撮像画像の歪みを補正することができる、画像処理装置および画像処理方法、記録媒体、並びに、プログラムに関する。
【背景技術】
【０００２】
図1および図２を参照してCCDイメージセンサ１１の読出し原理について説明する。
【０００３】
CCDイメージセンサ１１は、フォトダイオード２１、垂直CCD２２、水平CCD２３、および、出力アンプ２４を含んで構成されている。
【０００４】
図２Ａに示されるように、CCDイメージセンサ１１においては、フォトダイオード２１に蓄積された電荷が、全ての画素から同じタイミングで垂直CCD２２に転送される。
【０００５】
そして、その後、図２Ｂに示されるように、横に並んだすべての垂直CCD２２から水平CCD２３に電荷がひとつずつ転送される。
【０００６】
そして、次に、図２Ｃに示されるように、水平CCD２３でそれらの電荷が水平方向に全画素分だけ転送されて、出力アンプ２４で信号増幅されて、外部にアナログ信号として出力される。
【０００７】
そして、ふたたび垂直CCD２２から水平CCD２３に電荷がひとつずつ垂直方向に転送されて、続いて、水平CCD２３で、全ての電荷が水平方向に転送されて、出力アンプ２４で信号増幅されて、外部にアナログ信号として出力される。これが、フォトダイオード２１から垂直CCD２２に転送された全ての電荷(全画素分の電荷)が外部に出力されるまで繰り返される。
【０００８】
このように、CCDイメージセンサ１１においては、全てのフォトダイオード２１に蓄積された電荷が垂直CCD２２に一斉に転送されるため、露光終了時刻は全ての画素で同一であり、その後、全てのフォトダイオード２１に再び光が当たって電子に変換される露光開始時刻も、全ての画素で同一である。これがいわゆるグローバルシャッタ動作と呼ばれるものである
【０００９】
次に、図３および図４を参照して、CMOSイメージセンサ４１の読出し原理について説明する。
【００１０】
CMOSイメージセンサ４１では、フォトダイオード２１に蓄積された電荷が、画素内の図示しないアンプトランジスタおよび転送トランジスタを介して、垂直信号線５１に、信号電流という形で出力され、信号電流が、カラム信号処理部５２に供給されて、所定の信号処理が実行された後、外部へ出力される。
【００１１】
垂直信号線５１には、縦に並んだ各画素に対応するフォトダイオード２１が共通に接続されているので、それぞれの画素の信号を独立に読み出すためには、垂直信号線５１に対して、1度に1個の画素分の信号のみを出力するようにしなければならない。
【００１２】
すなわち、CMOSイメージセンサ４１においては、図４Ａに示されるように、例えば、一番下の行(先頭行)に並んだ画素に対応するフォトダイオード２１のそれぞれから、最初に信号を読出し、図４Ｂに示されるように、順次、読み出しの行が変更されて、図４Ｃに示されるように、最後に一番上の行(最終行)に並んだ画素に対応するフォトダイオード２１のそれぞれから、信号が読み出されることにより、各画素の信号を独立して読み出すことができるようになされている。
【００１３】
このとき、それぞれのフォトダイオード２１は、蓄積された電荷を読み出された直後から、再び露光を開始するため、先頭行のフォトダイオード２１と最終行のフォトダイオード２１とでは、露光の開始時刻および終了時刻が異なってしまう。これが、いわゆるフォーカルプレーンシャッタ動作（またはローリングシャッタ動作）と称されるシャッタ動作である。
【００１４】
図５および図６を参照して、各行のフォトダイオード２１における露光の開始および終了タイミングと、電荷の読み出し開始タイミングについて説明する。
【００１５】
図５は、電子シャッタを用いていない場合、図６は、電子シャッタを用いている場合をそれぞれ示している。図５および図６においては、時間軸を横軸、行を縦軸にして、それぞれの関係が示されている。
【００１６】
すなわち、各行のフォトダイオード２１からの電荷の読み取りタイミングを重ねることができないため、先頭行のフォトダイオード２１の露光が開始され、露光期間Ｔ１が経過して先頭行のフォトダイオード２１からの電荷の読み出しが開始されるまでに、前のフレームの全ての画素、換言すれば、前のフレームの最終行の電荷の読み取りが終了されていなければならない。
【００１７】
例えば、図５に示されるように、電子シャッタを用いない場合、最終行のフォトダイオード２１に蓄積されたNフレーム目の電荷読み出しの終了(Ｎ＋１フレーム目の露光開始)と、先頭行のフォトダイオード２１に蓄積されたＮ＋１フレーム目の電荷読み出しの開始(Ｎ＋１フレーム目の露光終了)とが連続したタイミングであるとき、先頭行と最終行との露光の開始タイミングの違いが最小となり、露光期間Ｔ１とほぼ同等となる。
【００１８】
そして、図６に示されるように、電子シャッタを用いる場合、電子シャッタのために無効となる露光期間が発生するので、先頭行と最終行との露光の開始タイミングの違いは、露光期間Ｔ２と電子シャッタのために無効となる露光期間との和と、ほぼ同等となる。
【００１９】
動きのある被写体を撮像したり、または、カメラ自体が露光中に画角を変更した（パン動作が行われた）場合、フォーカルプレーンシャッタ動作（またはローリングシャッタ動作）に起因する露光時間のずれにより、画像に歪みが発生する。このような歪みが発生する現象は、フォーカルプレーンシャッタ現象（または、ローリングシャッタ現象）と称されている。
【００２０】
図７および図８を参照して、フォーカルプレーンシャッタ現象が発生することにより撮像画像に発生する不具合の具体的な例について説明する。
【００２１】
高速に回転している4枚羽根の回転体を被写体として、図７Ａに、例えば、ＣＣＤ撮像素子など、各画素の露光タイミングが一致しているグローバルシャッタ動作で撮像して得られた画像を示し、図７Ｂに、フォーカルプレーンシャッタ読出しの方式で撮像して得られた画像を示す。
【００２２】
ここで、フォーカルプレーンシャッタは、撮像画像の上から下に露光開始時刻がずれていくものとし、被写体は反時計回りに回転しているものとする。
【００２３】
グローバルシャッタ動作では、被写体の動きを捉える露光タイミングは、全ての画素で同一であるため、シャッタ速度によっては、動いている被写体がぶれて撮像されてしまうことはあるが、被写体の形状は、そのまま捉えることができる。
【００２４】
一方、フォーカルプレーンシャッタ動作の場合、画面内の右から左に移動する部分においては、回転していく方向に露光開始時刻がずれるので、画面内の下の部分ほど形状が左に歪んでいき、画面内の上から下に移動する部分においては、露光開始時刻のずれ方向と一致するので、形状が下へ膨らむように撮像され、画面内の左から右に移動する部分においては、画像の下へ行くほど移動方向、すなわち、画面内の右側に形状がひずみ、画面内の下から上に移動する部分においては、露光開始時刻のずれと逆の動きになるので、画面内の上に行くほど縮んだ形状になる。
【００２５】
このように、移動している被写体を、フォーカルプレーンシャッタ動作を行う撮像素子で撮像した場合、得られる撮像画像が、その動きの方向によって歪んでしまう。
【００２６】
また、次に、静止している被写体の撮像にあたってカメラが移動した(左右にパンした)場合を例として、図８Ａに、グローバルシャッタ動作で撮像して得られた画像を示し、図８Ｂに、フォーカルプレーンシャッタ読出しの方式で撮像して得られた画像を示す。ここでは、カメラが左から右にパンしながら撮像した場合を想定する。
【００２７】
この場合においても、グローバルシャッタ動作の場合は、画像の全面で同じ露光タイミングとなるため、シャッタ速度によっては、被写体がぶれて撮像されてしまうことはあるが、被写体の形状にひずみは生じない。
【００２８】
しかしながら、フォーカルプレーンシャッタ動作の場合、カメラの移動と露光開始時刻のズレの関係から、被写体の形状がカメラの移動方向に歪んでしまう現象が生じる。
【００２９】
なお、図７および図８を用いて説明したフォーカルプレーンシャッタ動作による被写体の歪は、被写体の動きが大きいほど、カメラの動きが激しいほど、その形状の歪み度合いは大きくなる。また、シャッタ速度が速くても、被写体またはカメラの動きが大きい場合には、撮像画像の歪みは発生してしまう。
【００３０】
そこで、CMOSイメージセンサのグローバルシャッタ読出しによる像の歪みを軽減するために、例えば、撮影のフレームレートよりも高速に、CMOSイメージセンサから、外部メモリにデータの書き込みを行い、書き込まれたデータを撮影のフレームレートに合わせてゆっくり読み出すことにより、グローバルシャッタ動作と同様の撮像画像を得ることができるようにした技術がある(例えば、特許文献１参照)。
【００３１】
【特許文献１】特開２００４−１４０４７９号公報
【００３２】
また、画素内にグローバルシャッタ動作に必要なトランジスタを追加する技術(例えば、特許文献２参照)や、同様に、グローバルシャッタ動作に必要なキャパシタを追加する技術(例えば、特許文献３参照)があり、更に、グローバルシャッタ動作に必要なトランジスタとキャパシタの両方を追加した技術(例えば、特許文献４参照)などがある。
【００３３】
【特許文献２】特開２００４−１４０１４９号公報
【特許文献３】特開２００４−１５９５５５号公報
【特許文献４】特開２００５−６５０７４号公報
【００３４】
また、例えば、フォーカルプレーンシャッタ動作により撮像されて得られた画像の歪みを、登録された参照画像との比較によって補正する画像処理技術(例えば、特許文献５参照)もある。
【００３５】
【特許文献５】特開２００６−５８９４５号公報
【発明の開示】
【発明が解決しようとする課題】
【００３６】
しかしながら、特許文献１に記載の技術においては、被写体の変形や歪みが無視できるほどの高速読出し動作は、画素数が増大すると非常に困難となり、更に、消費電力やノイズが増大してしまう。換言すれば、消費電力やノイズの増大を抑制することができる程度の高速読出しを行っても、被写体の変形や歪みの軽減効果は十分ではない。
【００３７】
また、特許文献２乃至特許文献４に記載の技術では、画素サイズの増大を伴うので、小型で画素数の多いイメージセンサには適用できないといった制約があった。
【００３８】
また、特許文献５に記載の技術には、撮像画像を補正するための参照画像が必要となるため、一般的な用途では用いることができない。
【００３９】
本発明はこのような状況に鑑みてなされたものであり、簡単な構成で、フォーカルプレーンシャッタ現象による撮像画像の歪みを補正することができるようにするものである。
【課題を解決するための手段】
【００４０】
本発明の一側面の画像処理装置は、アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された撮像画像に対応する複数の画像データを取得する画像取得手段と、前記画像取得手段により取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる特定の係数を記憶する係数記憶手段と、前記画像取得手段により取得された前記画像データの所定の画素の画素値に、前記係数記憶手段により記憶されている前記特定の係数を乗算する乗算手段と、前記乗算手段により前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算する加算手段とを備え、前記係数記憶手段により記憶された前記特定の係数には、前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素に対して重み付けが高くなるような係数と、前記加算手段により加算される前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数とが含まれている。
【００４１】
所定の被写体を撮像する撮像手段を更に備えさせることができ、前記画像取得手段には、前記撮像手段により撮像されて得られた前記画像データを取得させることができる。
【００４２】
前記撮像手段には、光電変換機能を備えさせることができる。
【００４３】
前記係数記憶手段により記憶された前記特定の係数には、前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データ、および、最も遅い時刻に撮像された前記画像データ以外の前記画像データの所定の画素に対して乗ぜられる前記特定の係数が更に含まれるものとすることができ、前記乗算手段には、前記前記加算手段により加算される前記画像データのうちの３枚以上の前記画像データの所定の画素の画素値に、前記係数記憶手段により記憶されている前記特定の係数を乗算させるようにすることができる。
【００４４】
前記加算手段には、画像データフレームを一時保持する保持手段と、前記乗算手段により前記特定の係数が乗算された前記画素を有する前記画像データまたは前記画像取得手段により取得された前記画像データと、前記保持手段により保持されている前記画像データフレームとのそれぞれの対応する画素の画素値を加算する画素値加算手段とを備えさせるようにすることができ、前記保持手段には、前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データ、または、前記画素値加算手段により対応する画素の画素値が加算されて算出された前記画像データが、上書きされて保持されるようにすることができる。
【００４５】
前記画像取得手段により取得された前記画像データを保持する複数の画像データ保持手段と、複数の前記画像データ保持手段のいずれに前記画像取得手段により取得された前記画像データを供給して保持させるかを選択する選択手段とを更に備えさせるようにすることができ、前記乗算手段には、前記画像データ保持手段と対応付けられて同数設けられ、対応する前記画像データ保持手段に保持されている前記画像データが、前記加算手段により加算される複数の前記画像データのうち、何番目に撮像された画像データであるかに基づいて、必要に応じて、前記係数記憶手段により記憶されている前記特定の係数のうちの対応する前記特定の係数を読み出して、前記画像データの所定の画素の画素値との乗算処理を実行させるようにすることができる。
【００４６】
前記選択手段には、複数の前記画像データ保持手段に保持されている前記画像データのうち、最も早い時刻に撮像された画像データが保持されている前記画像データ保持手段を、前記画像取得手段により新たに取得された前記画像データの保持を行う前記画像データ保持手段として選択させるようにすることができる。
【００４７】
前記画像取得手段により取得された前記画像データは、RAWデータであるものとすることができる。
【００４８】
前記画像取得手段により取得された前記画像データは、RAWデータに所定の処理を施して、鑑賞できる状態で表示可能なように処理された画像データであるものとすることができる。
【００４９】
前記画像取得手段により取得された前記画像データに含まれる前記各画素の画素信号を所望の信号形態または信号レベルに整える信号処理手段を更に備えさせるようにすることができる
【００５０】
前記信号処理手段には、前記画像取得手段により取得された前記画像データがアナログ信号の場合、アナログ信号をデジタル信号に変換する処理を実行させるようにすることができる。
【００５１】
前記信号処理手段には、前記画像取得手段により取得された前記画像データがRAWデータである場合、信号処理系の黒レベルを設定し、正常な信号出力を行わない欠陥画素の信号レベルを周囲の正常な画素信号レベルで補間する処理を実行させるようにすることができる。
【００５２】
前記信号処理手段には、前記画像取得手段により取得された前記画像データが、RAWデータに所定の処理を施して、鑑賞できる状態で表示可能なように処理された画像データである場合、前記画像データに逆ガンマ変換を施して、RAWデータと同じ輝度信号特性を持つように変換する処理を実行させるようにすることができる。
【００５３】
ユーザの操作入力を受ける操作入力取得手段を更に備えさせるようにすることができ、前記操作入力取得手段には、前記加算手段により加算される前記画像データの前記所定の枚数を設定する操作入力を受けさせるようにすることができる。
【００５４】
ユーザの操作入力を受ける操作入力取得手段を更に備えさせるようにすることができ、前記操作入力取得手段には、前記係数記憶手段により記憶される前記特定の係数を設定する操作入力を受けさせるようにすることができる。
【００５５】
本発明の一側面の画像処理方法は、複数枚の画像データフレームを用いて、フォーカルプレーンシャッタ現象による被写体の歪みを有する撮像画像の補正画像を生成する画像処理装置の画像処理方法において、アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データを取得し、特定の係数を記憶する係数記憶部から、取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる前記特定の係数を取得し、前記画像データの所定の画素の画素値に、取得された前記特定の係数を乗算し、前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算するステップを含み、前記係数記憶部に記憶される前記特定の係数には、加算される複数の前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素に対して重み付けが高くなるような係数と、加算される複数の前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数とが含まれている。
【００５６】
本発明の一側面のプログラム、または、記録媒体に記録されているプログラムは、複数枚の画像データフレームを用いて、フォーカルプレーンシャッタ現象による被写体の歪みを有する撮像画像の補正画像を生成する処理をコンピュータに実行させるためのプログラムであって、アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データの取得を制御し、特定の係数を記憶する係数記憶部から、取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる前記特定の係数の取得を制御し、前記画像データの所定の画素の画素値に、取得が制御された前記特定の係数を乗算し、前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算するステップを含む処理をコンピュータに実行させ、前記係数記憶部に記憶される前記特定の係数には、加算される複数の前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素に対して重み付けが高くなるような係数と、加算される複数の前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数とが含まれている。
【００５７】
本発明の一側面においては、アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データが取得され、取得された画像データが何枚目の画像に対応するかによって決まるとともに、画像の各画素位置によって決まる特定の係数が取得され、画像データの所定の画素の画素値に、取得された特定の係数が乗算され、特定の係数が乗算された画素を有する画像データを含む、所定の枚数の画像データの各画素値が加算される。そして、特定の係数には、加算される複数の画像データのうち最も早い時刻に撮像された画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素に対して重み付けが高くなるような係数と、加算される複数の画像データのうち最も遅い時刻に撮像された画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数とが含まれている。
【００５８】
画像処理装置とは、独立した装置であっても良いし、撮像装置の画像処理を行うブロックや、情報処理装置の画像処理を行うブロックであっても良い。
【００５９】
ネットワークとは、少なくとも２つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、１つの装置を構成している内部ブロックどうしであっても良い。
【００６０】
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。
【発明の効果】
【００６１】
本発明の一側面によれば、画像を補正することができ、特に、フォーカルプレーンシャッタ現象による被写体の歪みを有する、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データを用いて、被写体の歪みが補正された画像を生成することができる。
【発明を実施するための最良の形態】
【００６２】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００６３】
本発明の一側面の画像処理装置は、アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された撮像画像に対応する複数の画像データを取得する画像取得手段（例えば、図９または図２３の前処理部１０１）と、前記画像取得手段により取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる特定の係数を記憶する係数記憶手段（例えば、図９または図２３の係数記憶部１０３）と、前記画像取得手段により取得された前記画像データの所定の画素の画素値に、前記係数記憶手段により記憶されている前記特定の係数を乗算する乗算手段（例えば、図９の乗算部１０２、または、図２３の乗算部２３３）と、前記乗算手段により前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算する加算手段（例えば、図９の加算部１０４および画像一時記憶部１０５、または、図２３の加算部２３４）とを備え、前記係数記憶手段により記憶された前記特定の係数には、前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素（例えば、１行目の画素）に対して重み付けが低く（例えば、係数a=0）なり、遅い時刻に露光された画素（例えば、最終行の画素）に対して重み付けが高く（例えば、係数a=１）なるような係数と、前記加算手段により加算される前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数とが含まれている。
【００６４】
所定の被写体を撮像する撮像手段（例えば、図９または図２３の撮像部９１）を更に備えることができ、前記画像取得手段は、前記撮像手段により撮像されて得られた前記画像データを取得することができる。
【００６５】
前記撮像手段は、光電変換機能を有する（例えば、CMOSイメージセンサ）ことができる。
【００６６】
前記加算手段は、画像データフレームを一時保持する保持手段（例えば、図９の画像一時記憶部１０５）と、前記乗算手段により前記特定の係数が乗算された前記画素を有する前記画像データまたは前記画像取得手段により取得された前記画像データと、前記保持手段により保持されている前記画像データフレームとのそれぞれの対応する画素の画素値を加算する画素値加算手段（例えば、図９の加算部１０４）とを備えることができ、前記保持手段には、前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データ、または、前記画素値加算手段により対応する画素の画素値が加算されて算出された前記画像データが、上書きされて保持されるものとすることができる。
【００６７】
前記画像取得手段により取得された前記画像データを保持する複数の画像データ保持手段（例えば、図２３の画像一時記憶部２３２）と、複数の前記画像データ保持手段のいずれに前記画像取得手段により取得された前記画像データを供給して保持させるかを選択する選択手段（例えば、図２３の選択部２３１）とを更に備えさせることができ、前記乗算手段は、前記画像データ保持手段と対応付けられて同数設けられるものとすることができ、対応する前記画像データ保持手段に保持されている前記画像データが、前記加算手段により加算される複数の前記画像データのうち、何番目に撮像された画像データであるかに基づいて、必要に応じて、前記係数記憶手段により記憶されている前記特定の係数のうちの対応する前記特定の係数を読み出して、前記画像データの所定の画素の画素値との乗算処理を実行することができる。
【００６８】
前記画像取得手段により取得された前記画像データに含まれる前記各画素の画素信号を所望の信号形態または信号レベルに整える信号処理手段（例えば、図９、または図２３の前処理部１０１）を更に備えることができる。
【００６９】
ユーザの操作入力を受ける操作入力取得手段（例えば、図２０または図２４のユーザインタフェース１４３）を更に備えることができ、前記操作入力取得手段は、前記加算手段により加算される前記画像データの前記所定の枚数を設定する操作入力を受けることができる。
【００７０】
ユーザの操作入力を受ける操作入力取得手段（例えば、図２０または図２４のユーザインタフェース１４３）を更に備えることができ、前記操作入力取得手段は、前記係数記憶手段により記憶される前記特定の係数を設定する操作入力を受けることができる。
【００７１】
本発明の第1の側面の画像処理方法は、複数枚の画像データフレームを用いて、フォーカルプレーンシャッタ現象による被写体の歪みを有する撮像画像の補正画像を生成する画像処理装置の画像処理方法であって、アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データを取得し（例えば、図２２のステップＳ４１またはステップＳ５０、もしくは、図２８のステップＳ１２１の処理）、特定の係数を記憶する係数記憶部（例えば、図９または図２３の係数記憶部１０３）から、取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる前記特定の係数を取得し（例えば、図２２のステップＳ４３、または、図２８のステップＳ１２４の処理）、前記画像データの所定の画素の画素値に、取得された前記特定の係数を乗算し（例えば、図２２のステップＳ４４、または、図２８のステップＳ１２５の処理）、前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算する（例えば、図２２のステップＳ４７、または、図２８のステップＳ１２７の処理）ステップを含み、前記係数記憶部に記憶される前記特定の係数には、加算される複数の前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素（例えば、１行目の画素）に対して重み付けが低く（例えば、係数a=0）なり、遅い時刻に露光された画素（例えば、最終行の画素）に対して重み付けが高く（例えば、係数a=１）なるような係数と、加算される複数の前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数とが含まれている。
【００７２】
本発明の一側面のプログラムは、複数枚の画像データフレームを用いて、フォーカルプレーンシャッタ現象による被写体の歪みを有する撮像画像の補正画像を生成する処理をコンピュータに実行させるためのプログラムであって、アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データの取得を制御し（例えば、図２２のステップＳ４１またはステップＳ５０、もしくは、図２８のステップＳ１２１の処理）、特定の係数を記憶する係数記憶部（例えば、図９または図２３の係数記憶部１０３）から、取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる前記特定の係数の取得を制御し（例えば、図２２のステップＳ４３、または、図２８のステップＳ１２４の処理）、前記画像データの所定の画素の画素値に、取得が制御された前記特定の係数を乗算し（例えば、図２２のステップＳ４４、または、図２８のステップＳ１２５の処理）、前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算する（例えば、図２２のステップＳ４７、または、図２８のステップＳ１２７の処理）ステップを含む処理をコンピュータに実行させ、前記係数記憶部に記憶される前記特定の係数には、加算される複数の前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素（例えば、１行目の画素）に対して重み付けが低く（例えば、係数a=0）なり、遅い時刻に露光された画素（例えば、最終行の画素）に対して重み付けが高く（例えば、係数a=１）なるような係数と、加算される複数の前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数とが含まれている。
【００７３】
以下、図を参照して、本発明の実施の形態について説明する。
【００７４】
CMOSイメージセンサを組み込んだカメラにおいて撮像された画像は、CMOSイメージセンサの構造上、一般的なフォーカルプレーンシャッタ動作に起因するフォーカルプレーンシャッタ現象により、動く被写体の像の歪みやカメラ移動に伴う被写体の像の歪みが生じる。
【００７５】
そこで、高速撮像可能なCMOSイメージセンサを用いて、複数の連続する画像を撮像し、それぞれの撮像画像において、必要に応じて画素位置に応じた係数を乗じ、それらの画素データを加算（合成）することによって、フォーカルプレーンシャッタ現象により発生する画像の歪みが軽減するような補正画像を生成し、鑑賞して疲れない良好な画像や映像を提供する。
【００７６】
そこで、通常の撮影に比べて、例えば、4倍程度の高速読出しが可能なCMOSイメージセンサにより撮像された、複数の連続する画像を用いて、画像メモリ、プロセッサなどで構成される画像処理装置により画像処理を行い、フォーカルプレーンシャッタ現象により発生する撮像画像の被写体の形状ひずみを低減する技術について、以下に説明する。
【００７７】
図９は、このような画像処理を行う画像処理装置８１の構成を示すブロック図である。画像処理装置８１においては、複数フレーム分の撮像画像を基に、フォーカルプレーンシャッタ現象による画像のひずみが補正された静止画像を得ることができるようになされている。
【００７８】
画像処理装置８１は、撮像部９１および画像処理部９２で構成されている。
【００７９】
撮像部９１は、レンズなどの光学部材と、上述したフォーカルプレーンシャッタ現象を発生する構成を有する撮像素子から構成されている。撮像素子には、光電変換機能を備えた画素に対応する受光素子がアレイ状に配置された固体撮像素子を用いることができ、例えば、ＸＹアドレス型撮像素子を用いることができる。
【００８０】
ＸＹアドレス型撮像素子とは、各画素のアドレス(位置)を指定して、個々の画素データを読み出す形式を採用したセンサである。すなわち、CCDのような、各画素からのデータを順次転送する形式の撮像素子とは異なる形式で、フォトダイオードなどに蓄積された電荷が読み出されるようになされているものである。
【００８１】
ＸＹアドレス型撮像素子には、図３および４を用いて説明したCMOSイメージセンサ以外に、例えば、CMOSイメージセンサと同様に画素ひとつずつに読み出し用のセルアンプ(増幅器)を有するLBCAST（Lateral Buried Charge Accumulator and Sensing Transistor array；横型埋め込み式電荷蓄積部を有する増幅型撮像センサ)やStacked-AMI(Stacked Amplified MOS Intelligent Imager；増幅型固体撮像素子)と称されるものなどがある。CMOSイメージセンサで用いられている増幅器がMOSFET（Metal Oxide Semiconductor Field Effect Transistor；金属酸化膜電界効果トランジスタ）であるのに対して、LBCASTではJFET(Junction Field Effect Transistor；接合型電界効果トランジスタ)が用いられている。
【００８２】
撮像部９１においては、通常のデジタルスチルカメラにおけるシャッタスピード（例えば、１／６０秒）に対して、例えば、４倍程度（例えば、１／２４０秒）のフレームレートで、連続して画像を撮像することが可能である。撮像部９１により撮像された画像信号は、上述したように、行ごとに、露光タイミングが異なる。なお、通常のデジタルスチルカメラにおけるシャッタスピードの４倍程度のフレームレートであっても、例えば、図７を用いて説明したように、高速に移動する被写体を撮像する場合や、図８を用いて説明したように、高速にカメラを移動する（パンする）場合などには、通常に撮像されて得られる撮像画像においては、フォーカルプレーンシャッタ現象により、撮像画像に歪が生じる。
【００８３】
撮像部９１により撮像された画像信号は、画像処理部９２に供給される。また、画像処理部９２は、他の装置に記録されている画像データを取得して処理することが可能であることは言うまでもない。
【００８４】
他の装置に記録されている画像データを取得して処理する場合、取得される画像データは、連続して撮影された一連の画像群であり、その一連の画像群は、撮像部９１に用いられている撮像素子と同様の撮像素子で撮像され、その撮像信号に処理を加えていない、換言すれば、撮像素子から得られた電気信号を単純にデジタル化した、いわゆるRAWデータであってもよいし、RAWデータに対して映像として鑑賞することができるような（鑑賞できる状態で表示可能なように）処理が施されて生成された画像データであってもよい。
【００８５】
画像処理部９２は、前処理部１０１、乗算部１０２、係数記憶部１０３、加算部１０４、および、画像一時記憶部１０５で構成されている。
【００８６】
前処理部１０１は、各画素信号を所望の信号形態や信号レベルに整える処理を実行するものであり、例えば、撮像部９１、または、図示しない他の装置から入力された画素信号がアナログ信号のとき、入力された画素信号を、アナログ信号からデジタル信号に変換して乗算部１０２に供給する。また、前処理部１０１は、例えば、供給された画素信号が固体撮像素子で撮像された場合など、撮像部９１、または、図示しない他の装置から入力された画素信号が、撮像素子から得られた電気信号を単純にデジタル化したRAWデータであるとき、撮像素子の遮光部の画素信号レベルなどを基に信号処理系の黒レベルを設定して、正常な信号出力を行わない欠陥画素の信号レベルを周囲の正常な画素信号レベルで補間する処理を実行して、補間後の画素信号により構成された画像データを、乗算部１０２に供給する。また、前処理部１０１は、例えば、図示しない他の装置から入力された画素信号が、表示可能な状態のデータであるとき、入力された画素信号を、逆ガンマ変換によりRAWデータと同じ輝度信号カーブ（輝度信号特性）を有する信号に変換する処理を実行したのち、撮像素子の遮光部の画素信号レベルなどをもとに信号処理系の黒レベルを設定して、正常な信号出力を行わない欠陥画素があれば、その信号レベルを周囲の正常な画素信号レベルで補間する処理を実行し、補間後の画素信号により構成された画像データを、乗算部１０２に供給する。
【００８７】
乗算部１０２は、前処理部１０１から供給された画像信号のうちの所定の画素信号に対して、係数記憶部１０３に記憶されている所定の係数を乗算し、加算部１０４に供給する。乗算部１０２は、乗算処理を実行しない画素信号は、そのまま、加算部１０４に供給する。係数記憶部１０３は、乗算部１０２において用いられる係数を記憶する。乗算部１０２による乗算処理とその係数についての詳細は、後述する。
【００８８】
加算部１０４は、画像一時記憶部１０５にデータが記憶されていない場合、乗算部１０２から供給された１フレーム分の画素信号を画像一時記憶部１０５に供給し、画像一時記憶部１０５に画像信号が記憶されている場合、乗算部１０２から供給された１フレーム分の画素信号と、画像一時記憶部１０５に記憶されている画像信号とを合成し、合成されて生成される画像信号を、画像一時記憶部１０５に供給するか、または、外部に出力する。すなわち、加算部１０４は、複数の画像データフレーム（そのうちの少なくとも一部は、乗算部１０２による乗算処理が施されている画像データフレーム）を加算して、加算結果を外部に出力する。加算部１０４による加算処理の詳細については、後述する。
【００８９】
画像一時記憶部１０５は、加算部１０４から供給される１フレーム分の画像信号を一時記憶する。
【００９０】
次に、図１０を参照して、乗算部１０２による乗算処理と加算部１０４による加算処理について説明する。
【００９１】
画像処理装置８１は、フォーカルプレーンシャッタ現象が発生した撮像画像、すなわち、撮像画像の行ごとに露光時間の異なる撮像画像を、例えば、ｋ（ｋは２以上の正の整数）フレーム利用して、グローバルシャッタ動作によって得られる撮像画像、すなわち、１フレームに含まれる各画素の露光時間が同一である撮像画像に近い画像となるように、補正することができる。
【００９２】
すなわち、画像処理装置８１においては、フォーカルプレーンシャッタ現象により、画像の上の部分と下の部分では露光タイミングが１画像分ずれている、連続で撮影されたk枚の画像列F1，F2，・・・，F(k-1)，Fkに対応つけて、図１０において、区間αで示されるグローバルシャッタ動作で露光された場合（図中、斜線で示される領域）を想定した補正画像が生成される。
【００９３】
具体的には、撮像されたそれぞれの画像データフレームは、上述したように、画像の上の部分と下の部分では露光タイミングが1画像分ずれているので、最初の画像データフレームF1のうち、画像データフレームの上の部分ほど演算に寄与しないようにし、逆に画像データフレームの下の部分ほど演算に大きく寄与するよう係数を決める。また最後の画像データフレームFkでは、画像データフレームの上の部分ほど演算への寄与率を高め、下の部分ほど寄与率を小さくする。
【００９４】
このとき、最初の画像データフレームF1の各行の画素値に乗算される係数ａは、画像全体でM行の画素(縦の総画素数がM画素)が存在すると仮定すると、例えば、先頭行の画素に対しては係数a=0、次の行には係数a=1/M、その次の行には係数a=2/M、・・・というように、係数が1/Mずつ増加するように割り当て、最終行では係数は(M-1)/M=1となるように定めることができる。そして、最初の画像データフレームF1の各行の各画素の画素値に、その行に対応する係数ａが乗算される。すなわち、最初の画像データフレームF1に対して乗算処理が施されることにより、先頭行に近いほど薄く、最終行に近いほど、通常の濃度に近い画像データフレームを得ることができる。
【００９５】
そして、2枚目の画像データフレームF2から、最後から2枚目の画像データフレームF(k-1)までのそれぞれの画像データフレームに含まれる各画素には、係数が乗算されない。そして、最後の画像データフレームFkの各行の画素値には、係数(1-a)が乗算されるものとする。すなわち、最後の画像データフレームFkに対して乗算処理が施されることにより、先頭行に近いほど通常の濃度に近く、最終行に近いほど、薄い画像データフレームを得ることができる。
【００９６】
このようにして、撮像されたそれぞれの画像データフレームが何枚目のフレームであるか、また、いずれの画素位置であるかに応じて、係数が乗算されたのち、K枚の画像データフレームのそれぞれの画素の画素値が加算される。
【００９７】
そして得られた合成画像データフレームaF1+F2+・・・+F(k-1)+(1-a)Fkは、図１０において、区間αで示されるグローバルシャッタ動作で露光された場合を想定した補正画像となる。
【００９８】
このとき、合成される画像の枚数が多いほど、合成されて生成される画像データにおける被写体の歪みは補正されて見える。しかしながら、合成される画像の枚数が多いほど、動きのある被写体（または、カメラが動くことにより画面内で動きが与えられた被写体）の像には、いわゆる、ブレが発生する。このブレを抑制するためには、合成される画像を撮像するときのフレームレートをできるだけ早くすると好適である。例えば、通常のデジタルスチルカメラにおけるシャッタスピードの3倍のフレームレートによって撮像された画像データフレーム3枚を用いて合成処理を行った場合に得られる補正画像に発生するブレは、通常のデジタルスチルカメラにおいて発生するブレとほぼ同等となる。
【００９９】
また、被写体の歪みの補正の精度と、ブレの発生とのいずれを抑制したほうがより良い撮像画像を得ることができるかは、撮像される被写体の種類や、その動きの早さ、または、カメラのパンの早さなどの撮像の状況によって決まるものである。したがって、合成される画像データフレームの枚数は、ユーザにより設定可能なようにすると好適である。
【０１００】
なお、ここでは、係数ａについて、画像全体でM行(縦の総画素数がM画素)存在すると仮定すると、先頭行の画素に対しては係数a=0、次の行には係数a=1/M、その次の行には係数a=2/M、・・・というように、係数が1/Mずつ増加するように割り当て、最終行では係数は(M-1)/M=1となるように定めるものとして説明したが、先頭行が小さい値、すなわち、０に近い値となり、最終行が大きな値、すなわち、１に近い値となれば、これ以外の係数の割り当て方法となってもよいことはいうまでもない。また、これらの係数は、ユーザにより設定可能なようにすると好適である。そして、係数は、被写体の移動速度、カメラの移動速度、シャッタスピード、フレームレートによって、適切に設定することが可能である。
【０１０１】
k=7とした具体例を図１１に示す。
【０１０２】
最初の画像データフレームF1の各行の各画素の画素値に、その行に対応する係数ａが乗算される。すなわち、最初の画像データフレームF1に対して乗算処理が施されることにより、先頭行に近いほど薄く、最終行に近いほど、通常の濃度に近い画像データフレームを得ることができる。
【０１０３】
そして、2枚目の画像データフレームF2から画像データフレームF6までのそれぞれの画像データフレームに含まれる各画素には、係数が乗算されない。そして、最後の画像データフレームF7の各行の画素値には、係数(1-a)が乗算されるものとする。すなわち、最後の画像データフレームF7に対して乗算処理が施されることにより、先頭行に近いほど通常の濃度に近く、最終行に近いほど、薄い画像データフレームを得ることができる。
【０１０４】
このようにして、撮像されたそれぞれの画像データフレームが何枚目のフレームであるか、また、いずれの画素位置であるかに応じた係数が乗算されたのち、７枚の画像データフレームのそれぞれの画素の画素値が加算される。
【０１０５】
そして得られた合成画像データフレームaF1+F2+・・・+F6+(1-a)F7は、図１１において、区間βで示されるグローバルシャッタ動作で露光された場合を想定した補正画像となる。
【０１０６】
次に、図１２を参照して、ｋ枚のフレーム画像データを用いて補正画像が生成される場合の演算と信号処理の流れについて説明する。
【０１０７】
係数記憶部１０３には、合成されるはじめのフレームの各行に乗算される係数ａと、合成される最後のフレームの各行に乗算される係数(1-a)が記憶されている。
【０１０８】
係数ａは、図１０を用いて説明したように、係数ａは、画像全体でM行(縦の総画素数がM画素)存在すると仮定すると、例えば、先頭行の画素に対しては係数a=0、次の行には係数a=1/M、その次の行には係数a=2/M、・・・というように、係数が1/Mずつ増加するように割り当て、最終行では係数は(M-1)/M=1となるように定めるようにしても良いし、先頭行が小さい値、すなわち、0に近い値となり、最終行が大きな値、すなわち、1に近い値となれば、これ以外の係数の割り当て方法となってもよい。
【０１０９】
最初の画像データフレームF1が乗算部１０２に入力されると、乗算部１０２は、係数記憶部１０３に記憶されている、行ごとに定められた係数ａを読み出して、画像データフレームＦ１の各行の画素値に乗算する。そして、得られた画像データフレームaF1は、加算部１０４を介して（加算部１０４による加算処理は行われずに）、画像一時記憶部１０５に供給されて格納される。
【０１１０】
次に２枚目の画像データフレームF2が乗算部１０２に入力されると、乗算部１０２では乗算処理が行われることなく、加算部１０４において、画像一時記憶部１０５に格納されていた画像データフレームaF1と画像データフレームF2との加算処理（各画素値の加算処理）が行われ、加算結果となる画像データフレームaF1+F2が生成される。生成された画像データフレームaF1+F2は、画像一時記憶部１０５に供給されて格納される。
【０１１１】
そして、３枚目の画像データフレームF3から、最後から２枚目の画像データフレームF(k-1)まで、２枚目の画像データフレームF2における場合と同様の処理が繰り返され、画像一時記憶部１０５には、画像データフレームaF1+F2+・・・+F(k-1)が供給されて格納される。
【０１１２】
そして、最後のｋ枚目の画像データフレームFkが入力されると、乗算部１０２は、係数記憶部１０３に記憶されている、行ごとに定められた係数（1-a）を読み出して、画像データフレームFkの各行の画素値に乗算する。そして、得られた画像データフレーム（1-a）Fkは、加算部１０４に供給され、画像一時記憶部１０５に格納されている画像データフレームaF1+F2+・・・+F(k-1)との加算処理（各画素値の加算処理）が行われ、補正画像に対応する画像データフレームaF1+F2+・・・+F(k-1)+(1-a)Fkが生成されて出力される。
【０１１３】
このようにして，図１０において区間αで示された露光時間でグローバルシャッタ動作により撮像される撮像画像（図１０において斜線で示したような露光時間に対応する撮像画像）を想定した補正画像、すなわち、画像の上下で露光タイミングが同一である撮像画像に近くなるように補正された合成画像を得ることができる。
【０１１４】
７枚のフレーム画像データを用いて補正画像が生成される場合（k=7）の演算と信号処理の流れの具体例を図１３に示す。
【０１１５】
すなわち、１枚目の画像データフレームF1が乗算部１０２に入力されると、乗算部１０２は、係数記憶部１０３に記憶されている、行ごとに定められた係数ａを読み出して、画像データフレームF1の各行の画素値に乗算する。そして、得られた画像データフレームaF1は、加算部１０４を介して、画像一時記憶部１０５に供給されて格納される。
【０１１６】
そして、２枚目の画像データフレームF2から、６枚目の画像データフレームF6が、乗算部１０２に入力されると、乗算部１０２では乗算処理が行われることなく、加算部１０４において、画像一時記憶部１０５に格納されていた画像データフレームとの加算処理（各画素値の加算処理）が行われ、６枚目の画像データフレームF6の加算後、画像データフレームaF1+F2+F3+F4+F5+F6が生成される。生成された画像データフレームaF1+F2+F3+F4+F5+F6は、画像一時記憶部１０５に供給されて格納される。
【０１１７】
そして、最後の７枚目の画像データフレームF7が入力されると、乗算部１０２は、係数記憶部１０３に記憶されている、行ごとに定められた係数（1-a）を読み出して、画像データフレームF7の各行の画素値に乗算する。そして、得られた画像データフレーム（1-a）F7は、加算部１０４に供給され、画像一時記憶部１０５に格納されている画像データフレームaF1+F2+F3+F4+F5+F6との加算処理（各画素値の加算処理）が行われ、補正画像に対応する画像データフレームaF1+F2+F3+F4+F5+F6+(1-a)F7が生成されて出力される。
【０１１８】
次に、図１２を用いて説明した各部が実行する処理について、図１４を参照して、時系列に説明する。
【０１１９】
前処理部１０１から1枚目の画像データフレームF1が出力されている間に、係数記憶部１０３から、係数ａが読み出されて、乗算部１０２において、画像データフレームF1の対応する各画素に、係数ａが乗算されて、得られた画像データフレームaF1が、加算部１０４を介して（加算部１０４による加算処理は実行されずに）、画像一時記憶部１０５に供給されて格納される。
【０１２０】
前処理部１０１から２枚目の画像データフレームF2が出力されている間には、係数記憶部１０３からの係数の読み出しと乗算部１０２における乗算処理は実行されず、画像一時記憶部１０５に格納されている画像データフレームaF1が加算部１０４に読み出されて、加算部１０４において、画像データフレームaF1と画像データフレームF2との加算処理（各画素の画素値の加算処理）が実行されて、得られた画像データフレームaF1+F2が、画像一時記憶部１０５に供給されて格納される。
【０１２１】
そして、前処理部１０１から２枚目の画像データフレームF2が出力されている間と同様にして、前処理部１０１から３枚目の画像データフレームF3乃至(k-1)枚目の画像データフレームF(k-1)が出力されている間には、係数記憶部１０３からの係数の読み出しと乗算部１０２における乗算処理は実行されず、画像一時記憶部１０５に格納されている画像データフレームが加算部１０４に読み出されて、加算部１０４において、画像一時記憶部１０５から読み出された画像データフレームと新たに供給された画像データフレームとの加算処理（各画素の画素値の加算処理）が実行されて、得られた画像データフレームが、画像一時記憶部１０５に供給されて格納される。
【０１２２】
そして、前処理部１０１からｋ枚目の画像データフレームFkが出力されるとき、係数記憶部１０３から、係数（1-a）が読み出されて、乗算部１０２において、画像データフレームFkの対応する各画素に、係数（1-a）が乗算されて、画像データフレーム（1-a）Fkが得られる。そして、画像一時記憶部１０５に格納されている画像データフレームaF1+F2+・・・+F(k-1)が加算部１０４に読み出されて、加算部１０４において、画像データフレームaF1+F2+・・・+F(k-1)と画像データフレーム（1-a）Fkとの加算処理（各画素の画素値の加算処理）が実行されて、得られた画像データフレームaF1+F2+・・・+F(k-1)+(1-a)Fkが加算部１０４から補正画像データとして出力される。
【０１２３】
なお、上述した例においては、合成される画像のうちの、時間的に最初の画像データフレームF1と最後の画像データフレームFkにのみ、係数を乗じるものとして説明したが、必要に応じて、３枚以上の任意の画像データフレームや、全ての画像データフレームに任意の係数を設定して乗じることにより、異なる補正処理を施すものとしても良いことはいうまでもない。
【０１２４】
このように、３枚以上の任意の画像データフレームや、全ての画像データフレームに任意の係数が設定される場合、それぞれの画像データフレームに対して乗ぜられる係数は、1枚目に近いほど、先頭行が小さい値となり、最終行が大きな値となり、複数枚の中央部分に近いほど、全ての行で1に近い値となり、最終枚に近いほど、先頭行が大きな値となり、最終行が小さい値となるように設定されると好適である。
【０１２５】
具体的には、例えば、全ての画像データフレームに任意の係数が設定される場合、（2X+1）枚の画像データを用いて合成処理が行われ、それぞれの画像データフレームには画素がM行(縦の総画素数がM画素)存在する場合、１枚目からX枚目までのｋ枚目においては、先頭行の画素に対しては係数(1/M)(k/X)、次の行には係数(2/M)(k/X)、その次の行には係数(3/M)(k/X)、・・・というように、係数が最終行に向けて(1/M)(k/M)ずつ増加するように割り当て、最終行では係数は(M-1)/M(k/X)となるように定めるものとし、X+1枚目の画像には、係数が乗算されない（換言すれば、全ての行において係数1が乗算される）ものとし、X+2枚目から(2X+1)枚目までのｋ枚目においては、最終行の画素に対しては係数(1/M)(2X+2-k)/X、最終行の一つ前の行には係数(2/M)(2X+2-k)/X、その前の行には係数(3/M)(2X+2-k)/X、・・・というように、係数が先頭行に向けて(1/M)(2X+2-k)/Xずつ増加するように割り当て、先頭行では係数は(M-1)/M(2X+2-k)/Xとなるように定めるものとすることができる。
【０１２６】
また、これらの係数は、ユーザにより設定可能なようにすることもできる。そして、係数は、被写体の移動速度、カメラの移動速度、シャッタスピード、フレームレートによって、適切に設定することが可能である。
【０１２７】
このように、各合成画像データフレームに乗ぜられる行ごとに定められた係数をa1,a2,a3,・・・akとした時の、図１２を用いて説明した各部が実行する処理について、図１５を参照して、時系列に説明する。
【０１２８】
前処理部１０１から1枚目の画像データフレームF1が出力されている間に、係数記憶部１０３から、係数ａ１が読み出されて、乗算部１０２において、画像データフレームF1の対応する各画素に、係数ａ１が乗算されて、得られた画像データフレームa１×F1が、加算部１０４を介して（加算部１０４による加算処理は実行されずに）、画像一時記憶部１０５に供給されて格納される。
【０１２９】
前処理部１０１から２枚目の画像データフレームF２が出力されている間に、係数記憶部１０３から、係数ａ２が読み出されて、乗算部１０２において、画像データフレームF２の対応する各画素に、係数ａ２が乗算されて、得られた画像データフレームa２×F２が、加算部１０４において、画像一時記憶部１０５に格納されている画像データフレームa１×F1と加算処理（各画素の画素値の加算処理）されて、得られた画像データフレームa１×F1＋a2×F2が、画像一時記憶部１０５に供給されて格納される。
【０１３０】
そして、前処理部１０１から２枚目の画像データフレームF２が出力されている間と同様にして、前処理部１０１から３枚目の画像データフレームF3乃至(k-1)枚目の画像データフレームF(k-1)が出力されている間に、係数記憶部１０３から、対応する係数（係数a3乃至係数a(k-1)のうちのいずれか対応するもの）が読み出されて、乗算部１０２において、前処理部101から供給された画像データフレーム（画像データフレームF3乃至(k-1)枚目の画像データフレームF(k-1)のうちの対応するもの）の対応する各画素に、読み出された係数が乗算されて、得られた画像データフレームが、加算部１０４において、画像一時記憶部１０５に格納されている画像データフレームと加算処理（各画素の画素値の加算処理）されて、得られた画像データフレームが、画像一時記憶部１０５に供給されて格納される。
【０１３１】
そして、前処理部１０１からｋ枚目の画像データフレームFkが出力されるとき、係数記憶部１０３から、係数akが読み出されて、乗算部１０２において、画像データフレームFkの対応する各画素に、係数akが乗算されて、画像データフレームak×Fkが得られる。そして、画像一時記憶部１０５に格納されている画像データフレームa1×F1＋a2×F2+・・・+a(k-1)×F(k-1)が加算部１０４に読み出されて、加算部１０４において、画像データフレームa1×F1＋a2×F2+・・・+a(k-1)×F(k-1)と画像データフレームak×Fkとの加算処理（各画素の画素値の加算処理）が実行されて、得られた画像データフレームa1×F1＋a2×F2+・・・+a(k-1)×F(k-1)+ak×Fkが加算部１０４から補正画像データとして出力される。
【０１３２】
このようにして得られる合成画像について、図１６乃至図１９を用いて説明する。
【０１３３】
例えば、図１６Ａに示されるように撮像画面中右方向に移動する被写体を、露光時刻が画面上側と比較して画面下側が遅れるフォーカルプレーンシャッタ動作で撮像すると、図１６Ｂに示されるように、行ごとの露光時刻のずれのため、被写体自体が歪んで撮像されてしまう。
【０１３４】
例えば、このような被写体を連続して撮像して３枚の画像を取得し、上述したようにして画像処理を施して合成処理を行う場合の合成画像、すなわち、補正されて得られる画像について、図１７および図１８を用いて説明する。
【０１３５】
１枚目の画像においては、露光時刻の早い画面中上側の行の各画素に乗ぜられる係数として０に近い値が設定され、行が下がっていくにつれて、係数の値が大きくなり、最も下側の行の各画素に乗ぜられる係数は、１に近い値となるので、図１７Ａに示されるように、係数乗算後に得られる画像データフレームは、画面上側の濃度が薄く、画面下側の濃度が高いものとなる。
【０１３６】
そして、２枚目の画像においては、いずれの画素にも係数が掛けられない、換言すれば、いずれの画素にも係数１が乗ぜられるので、図１７Ｂに示されるように、フォーカルプレーン動作によって撮像される通常の歪んだ画像データフレームが得られる。
【０１３７】
そして、最後となる３枚目の画像においては、露光時刻の早い画面中上側の行の各画素に乗ぜられる係数として１に近い値が設定され、行が下がっていくにつれて、係数の値が小さくなり、最も下側の行の各画素に乗ぜられる係数は、０に近い値となるので、図１７Ｃに示されるように、係数乗算後に得られる画像データフレームは、画面上側の濃度が高く、画面下側の濃度が薄いものとなる。
【０１３８】
そして、これら３枚の画像データフレームを合成することにより、図１８に示されるような合成画像を得ることができる。この画像は、図１６Ｂに示された画像と比較して、歪が補正されたように見える。
【０１３９】
また、例えば、図７に示した、回転する羽を撮像して得られる画像に対して、上述した合成処理が行われることにより、例えば、図１９に示されるように、羽の歪みが補正されたように見える合成画像を得ることができる。
【０１４０】
上述した画像処理装置８１を応用した静止画撮影用カメラ(デジタルスチルカメラ)１３１の構成例を、図２０に示す。
【０１４１】
静止画像撮影用カメラ１３１には、上述した画像処理装置８１と同様に撮像部９１および画像処理部９２が設けられているとともに、コントローラ１４１、メモリ１４２、ユーザインタフェース１４３、映像信号処理部１４４、画像圧縮部１４５、表示部１４６、外部インタフェース１４７、大容量記憶部１４８、制御信号バス１５１、および、画像データバス１５２が設けられている。
【０１４２】
コントローラ１４１は、ユーザインタフェース１４３から供給されるユーザの操作入力に基づいて、静止画像撮影用カメラ１３１の各部の動作を制御する。コントローラ１４１は、制御信号バス１５１を介して、各部と接続されている。
【０１４３】
メモリ１４２は、コントローラ１４１が実行する処理に必要な情報を記憶する。
【０１４４】
ユーザインタフェース１４３は、ユーザの操作入力を受け、制御信号バス１５１を介して、コントローラ１４１に供給するとともに、静止画像撮影用カメラ１３１において設定されているそれぞれのパラメータなどをユーザに通知するための表示部などを備えている。
【０１４５】
映像信号処理部１４４は、コントローラ１４１の制御に基づいて、画像処理部９２から出力された、補正済み、すなわち、上述した合成処理が行われた画像データフレームの供給を受け、例えば、ガンマ変換など、表示または記憶のために必要な所定の処理を施す。
【０１４６】
画像圧縮部１４５は、コントローラ１４１の制御に基づいて、映像信号処理部１４４により所定の処理が施された画像データフレームを、外部に出力したり、大容量記憶部１４８に記憶するために、必要に応じて、圧縮処理を施す。
【０１４７】
表示部１４６は、コントローラ１４１の制御に基づいて、画像データフレームの供給を受け、これを表示する。
【０１４８】
外部インタフェース１４７は、コントローラ１４１の制御に基づいて、映像信号処理部１４４において処理された、または、画像圧縮部１４５の処理により圧縮処理が施された、もしくは、大容量記憶部１４８に記憶されているデータを外部に出力する。また、外部インタフェース１４７は、外部の機器から供給されたデータを取得し、信号処理のために映像信号処理部１４４に供給したり、圧縮処理を施させるために画像圧縮部１４５に供給したり、内部に記憶させるために大容量記憶部１４８に供給したり、または、上述したような補正処理（合成処理）を行わせるために、画像処理部９２に供給する。
【０１４９】
大容量記憶部１４８は、供給されたデータを記憶する。
【０１５０】
制御信号バス１５１は、コントローラ１４１により生成された制御信号、または、各部からコントローラに供給される応答などの授受に用いられる。
【０１５１】
画像データバス１５２は、各種処理が施される前の、または、各種処理が施された画像データの授受に用いられる。
【０１５２】
次に、静止画像撮影用カメラ１３１の動作について説明する。
【０１５３】
ユーザにより撮像が指令された場合、撮像部９１は、連続して複数枚の画像を撮像し、画像処理部９２に供給する。画像処理部９１は、上述したように、供給された複数枚の画像データフレームに対して、所定の係数の乗算処理と、合成処理を実行し、フォーカルプレーンシャッタ現象により生じた被写体の歪みが補正された補正画像を生成し、映像信号処理部１４４に供給する。
【０１５４】
映像信号処理部１４４は、制御信号バス１５１を介して供給されるコントローラ１４１の制御に基づいて、画像処理部９２から出力された、補正済み、すなわち、上述した合成処理が行われた画像データフレームの供給を受け、例えば、ガンマ変換などの、必要な所定の処理を施し、画像データバス１５２を介して、表示部１４６に供給する。表示部１４６は、供給された画像データフレームを表示する。
【０１５５】
表示された画像データフレームを参照したユーザから、この画像の保存が指令された場合、上述した合成処理が行われた画像データフレームは、必要に応じて画像圧縮部１４５において圧縮され、画像データバス１５２を介して、大容量記憶部１４８に供給されて保存される。また、ユーザから、この画像の外部への供給が指令された場合、上述した合成処理が行われた画像データフレームは、必要に応じて画像圧縮部１４５において圧縮され、画像データバス１５２を介して、外部インタフェース１４７から外部の機器に供給される。
【０１５６】
図２１のフローチャートを参照して、静止画像撮影用カメラ１３１において実行される、静止画像の撮像処理について説明する。
【０１５７】
ステップＳ１において、コントローラ１４１は、静止画像の撮像が指令されたか否かを判断する。ステップＳ１において、静止画像の撮像が指令されたと判断された場合、処理は、後述するステップＳ６に進む。
【０１５８】
ステップＳ１において、静止画像の撮像が指令されていないと判断された場合、ステップＳ２において、コントローラ１４１は、ユーザインタフェース１４３から供給された信号を基に、ユーザから、合成フレーム数の設定の変更が指令されたか否かを判断する。
【０１５９】
ステップＳ２において、合成フレーム数の設定の変更が指令されたと判断された場合、ステップＳ３において、コントローラ１４１は、ユーザインタフェース１４３から供給された信号を基に、合成フレーム数の設定を変更させるための制御信号を生成し、制御信号バス１５１を介して、画像処理部９２および撮像部９１に供給する。画像処理部９２および撮像部９１は、合成フレーム数の設定を変更する。
【０１６０】
ステップＳ２において、合成フレーム数の設定の変更が指令されていないと判断された場合、または、ステップＳ３の処理の終了後、ステップＳ４において、コントローラ１４１は、ユーザインタフェース１４３から供給された信号を基に、ユーザから、画像の補正のための乗算処理に用いられる係数の設定の変更が指令されたか否かを判断する。ステップＳ４において、係数の設定の変更が指令されていないと判断された場合、処理が終了される。
【０１６１】
ステップＳ４において、係数の設定の変更が指令されたと判断された場合、ステップＳ５において、コントローラ１４１は、ユーザインタフェース１４３から供給された信号を基に、係数の設定を変更させるための制御信号を生成し、制御信号バス１５１を介して、画像処理部９２に供給する。画像処理部９２は、係数の設定を変更し、処理が終了される。ここで、係数は、被写体の移動速度、カメラの移動速度、シャッタスピード、フレームレートによって、適切に設定することが可能である。
【０１６２】
ステップＳ１において、静止画像の撮像が指令されたと判断された場合、ステップＳ６において、撮像部９１および画像処理部９２は、合成フレーム数の設定を取得する。
【０１６３】
ステップＳ７において、画像処理部９２は、係数の設定を取得する。
【０１６４】
ステップＳ８において、撮像部９１は、所定フレーム数の撮像を実行し、撮像された所定フレーム数の画像データを、画像処理部９２に供給する。
【０１６５】
ステップＳ９において、図２２を用いて後述する画像演算処理１が実行される。
【０１６６】
ステップＳ１０において、コントローラ１４１は、画像処理部９２から出力される、ステップＳ９において実行された画像演算処理における演算結果、すなわち、上述した補正画像に必要に応じて映像信号処理部１４４により処理を施させた後、表示部１４６への供給を制御する。表示部１４６は、演算結果となる画像データの供給を受け、上述した補正画像を表示する。
【０１６７】
ステップＳ１１において、コントローラ１４１は、ユーザインタフェース１４３から供給された信号を基に、ユーザから、演算結果の記憶が指令されたか否かを判断する。
【０１６８】
ステップＳ１１において、演算結果の記憶が指令されたと判断された場合、ステップＳ１２において、コントローラ１４１は、演算結果を必要に応じて画像圧縮部１４５に供給して圧縮処理を施した後、大容量記憶部１４８に供給する。外容量記憶部１４８は、供給された演算結果を記憶する。
【０１６９】
ステップＳ１１において、演算結果の記憶が指令されていないと判断された場合、または、ステップＳ１２の処理の終了後、ステップＳ１３において、コントローラ１４１は、ユーザインタフェース１４３から供給された信号を基に、演算結果の外部出力が指令されたか否かを判断する。ステップＳ１３において、演算結果の外部出力が指令されていないと判断された場合、処理は終了される。
【０１７０】
ステップＳ１３において、演算結果の外部出力が指令されたと判断された場合、ステップＳ１４において、コントローラ１４１は、演算結果を必要に応じて画像圧縮部１４５に供給して圧縮処理を施した後、外部インタフェース１４７に供給する。外部インタフェース１４７は、供給された演算結果を、所定の外部機器などに出力して処理が終了される。
【０１７１】
このような処理により、撮像されて、補正された画像データが表示され、ユーザの操作入力に基づいて、内部に記憶されたり、外部の機器などに出力される。
【０１７２】
次に、図２２のフローチャートを参照して、図２１のステップＳ９において実行される画像演算処理１について説明する。
【０１７３】
ステップＳ４１において、前処理部１０１は、１フレーム目の撮像画像データを乗算部１０２に供給する。乗算部１０２は、１フレーム目の撮像画像データを取得する。
【０１７４】
ステップＳ４２において、乗算部１０２は、供給されたフレームは、行ごとの係数乗算処理を実行するフレームであるか否かを判断する。ステップＳ４２において、供給されたフレームは、行ごとの係数乗算処理を実行するフレームではないと判断された場合、処理は、後述するステップＳ４５に進む。
【０１７５】
ステップＳ４２において、供給されたフレームは、行ごとの係数乗算処理を実行するフレームであると判断された場合、ステップＳ４３において、乗算部１０２は、係数記憶部１０３に記憶されている対応する係数を取得する。
【０１７６】
ステップＳ４４において、乗算部１０２は、各行の画素データに、対応する係数を乗じる。すなわち、例えば、図１７Ａまたは図１７Ｃを用いて説明したようなデータフレームが生成される。
【０１７７】
ステップＳ４２において、供給されたフレームは、行ごとの係数乗算処理を実行するフレームではないと判断された場合、または、ステップＳ４４の処理の終了後、ステップＳ４５において、加算部１０４は、乗算部１０２からデータフレームの供給を受け、画像一時記憶部１０５に、前フレームまたは加算結果が存在するか否かを判断する。
【０１７８】
具体的には、加算部１０４が、乗算部１０２から、１フレーム目に対応するデータフレームの供給を受けたとき、画像一時記憶部１０５にはデータフレームがいずれも存在していない。また、加算部１０４が、乗算部１０２から、２フレーム目に対応するデータフレームの供給を受けたとき、画像一時記憶部１０５には１フレーム目に対応する（必要に応じて所定の係数が乗ぜられた）データフレームが記憶されている。そして、加算部１０４が、乗算部１０２から、３フレーム目以降に対応するデータフレームの供給を受けたとき、画像一時記憶部１０５には、過去の加算部１０４による画像データフレームの加算結果が記憶されている。
【０１７９】
ステップＳ４５において、画像一時記憶部１０５に、前フレームまたは加算結果が存在していないと判断された場合、ステップＳ４６において、加算部１０４は、フレームのデータをそのまま画像一時記憶部１０５に供給する。画像一時記憶部１０５は供給された画像データフレームを一時記憶し、処理は、後述するステップＳ５０に進む。
【０１８０】
ステップＳ４５において、画像一時記憶部１０５に、前フレームまたは加算結果が存在すると判断された場合、ステップＳ４７において、加算部１０４は、乗算部１０２から供給された現フレーム（必要に応じて乗算処理が施されているものと施されていないものとが存在する）と、画像一時記憶部１０５に記憶されている前のフレームまたは加算結果の各画素との加算処理を実行する。
【０１８１】
ステップＳ４８において、加算部１０４は、加算処理を実行した、乗算部１０２から供給された現フレームは、補正を行うために合成される複数画像データフレームのうちの最終フレームであるか否かを判断する。
【０１８２】
ステップＳ４８において、最終フレームではないと判断された場合、ステップＳ４９において、加算部１０４は、加算結果を画像一時記憶部１０５に供給する。画像一時記憶部１０５は供給された画像データフレームを一時記憶する。
【０１８３】
ステップＳ４６またはステップＳ４９の処理の終了後、ステップＳ５０において、前処理部１０１は、次のフレームの撮像画像データを乗算部１０２に供給する。乗算部１０２は次のフレームの撮像画像データを取得し、処理は、ステップＳ４２に戻り、それ以降の処理が繰り返される。
【０１８４】
ステップＳ４８において、最終フレームであると判断された場合、ステップＳ５１において、加算部１０４は、加算結果を出力し、処理は、図２１のステップＳ９に戻り、ステップＳ１０に進む。
【０１８５】
このような処理により、フォーカルプレーンシャッタ現象により被写体が歪んで撮像された複数の連続した撮像画像に対して、必要に応じて所定の係数が乗算されることにより、例えば、図１７を用いて説明したように、補正画像を生成するために用いられる画像データフレームが生成され、これらが合成されることにより、例えば、図１８を用いて説明したように、フォーカルプレーンシャッタ現象により発生する被写体の歪みが補正されて見える画像データを得ることができる。
【０１８６】
このとき、合成される画像の枚数が多いほど、合成されて生成される画像データにおける被写体の歪みは補正されて見える。しかしながら、合成される画像の枚数が多いほど、動きのある被写体（または、カメラが動くことにより画面内で動きが与えられた被写体）の像には、いわゆる、ブレが発生する。このブレを抑制するためには、合成される画像を撮像するときのフレームレートをできるだけ早くすると好適である。例えば、通常のデジタルスチルカメラにおけるシャッタスピードの３倍のフレームレートによって撮像された画像データフレーム3枚を用いて合成処理を行った場合に得られる補正画像に発生するブレは、通常のデジタルスチルカメラにおいて発生するブレとほぼ同等となる。
【０１８７】
なお、図２１および図２２においては、図２０を用いて説明した静止画像撮影用カメラ１３１において実行される処理について説明したが、図９を用いて説明した画像処理装置８１が実行する処理は、図２２を用いて説明した画像演算処理１と基本的に同様の処理となる。
【０１８８】
次に、動画像を撮像する場合において同様にフォーカルプレーンシャッタ現象により発生する被写体の歪みを補正するための装置および処理について説明する。
【０１８９】
画像データフレームを連続して表示することにより動画像を表示することができるので、上述した静止画像における場合を応用して、動画像を構成するそれぞれのフレームを補正することにより、動画像を撮像する場合において同様にフォーカルプレーンシャッタ現象により発生する被写体の歪みを補正することができる。すなわち、フォーカルプレーンシャッタ現象により被写体が歪んで撮像された複数の連続した撮像画像に対して、例えば、図１７および図１８を用いて説明したように、必要に応じて所定の係数が乗算されて合成されることにより生成された補正画像データを連続して表示することができれば、動画像を撮像する場合においても同様にして、フォーカルプレーンシャッタ現象により発生する被写体の歪みを補正することができる。
【０１９０】
図２３は、動画像を撮像する場合にフォーカルプレーンシャッタ現象により発生する被写体の歪みを補正する画像処理装置２０１の構成を示すブロック図である。
【０１９１】
なお、図９における場合と対応する部分は、同一の符号を付してあり、その説明は適宜省略する。
【０１９２】
すなわち、撮像部９１においては、通常のデジタルスチルカメラにおけるシャッタスピード（例えば、１／６０秒）に対して、例えば、４倍程度（例えば、１／２４０秒）のフレームレートで、連続して画像を撮像することが可能であり、撮像された画像信号は、行ごとに、露光タイミングが異なるものであるため、フォーカルプレーンシャッタ現象により、撮像画像に歪が生じる。
【０１９３】
撮像部９１により撮像された画像信号は、画像処理部２１１に供給される。また、画像処理部２１１は、他の装置に記録されている画像データを取得して処理することが可能であることは言うまでもない。
【０１９４】
ここでも、他の装置に記録されている画像データを取得して処理する場合、取得される画像データは、連続して撮影された一連の画像群であり、その一連の画像群は、撮像部９１に用いられている撮像素子と同様の撮像素子で撮像され、その撮像信号に処理を加えていない、換言すれば、撮像素子から得られた電気信号を単純にデジタル化した、いわゆるRAWデータであってもよいし、RAWデータに対して映像として鑑賞することができるような（鑑賞できる状態で表示可能なように）処理が施されて生成された画像データであってもよい。
【０１９５】
そして、画像処理部２１１は、図９における場合と同様の前処理部１０１および係数記憶部１０３に加えて、更に、選択部２３１、＃１画像一時記憶部２３２-１乃至＃ｋ画像一時記憶部２３２-ｋ、＃１乗算部２３３-１乃至＃ｋ乗算部２３３−ｋ、および、加算部２３４で構成されている。
【０１９６】
静止画の場合、複数の撮像画像から１フレーム分の補正画像データを生成するので、１枚の撮像画像を他の補正画像データの生成にも用いることは想定されていなかったが、連続した補正画像データを用いて補正された動画像を表示する場合には、１枚の撮像画像データは、動画像を構成する複数の画像データフレームの合成処理に重複して利用される。すなわち、静止画像を補正する場合、一度合成処理に用いた画像データは破棄することができるが、動画像の場合は、一度使った画像も巡回的に繰り返して合成処理に用いるので、複数の撮像画像のそれぞれを記憶するための記憶部が必要となる。
【０１９７】
そこで、選択部２３１は、前処理部１０１から供給された画像信号を、＃１画像一時記憶部２３２-１乃至＃ｋ画像一時記憶部２３２-ｋのうちのいずれかに順次振り分ける。ここで、動画像データを構成するそれぞれのフレームを補正するために用いる画像データフレーム数Ｙは、ｋと同一か、または、ｋより小さな正の整数であるものとし、選択部２３１は、前処理部１０１から供給された画像信号を、＃１画像一時記憶部２３２-１から順番に、＃Ｙ画像一時記憶部２３２−Ｙまで、１フレームずつ、順次、供給するものとする。
【０１９８】
＃１画像一時記憶部２３２-１乃至＃ｋ画像一時記憶部２３２-ｋは、１フレーム分の画像信号を保持することが可能な記憶部であり、供給された画像信号（合成前の画像信号）を、一時記憶する。すなわち、＃１画像一時記憶部２３２-１乃至＃ｋ画像一時記憶部２３２-ｋは、選択部２３１から新たな画像信号の供給を受けたとき、新たな画像信号を、既に記憶されていた画像信号に対して上書きして保存する。
【０１９９】
＃１乗算部２３３-１乃至＃ｋ乗算部２３３−ｋは、必要に応じて、係数記憶部１０３に記憶されている乗算係数のうちの対応するものを読み出し、＃１画像一時記憶部２３２-１乃至＃ｋ画像一時記憶部２３２-ｋのうちの対応するものに記憶されている画像信号に対して、必要な場合は、係数を乗算し、必要でなければ、乗算処理を行わずに、加算部２３４に供給する。
【０２００】
＃１乗算部２３３-１乃至＃ｋ乗算部２３３−ｋが係数記憶部１０３から読み出す係数は、自分自身が乗算処理を施すフレームが、動画像中の１フレームの画像データフレームを合成するための複数フレームのうちの何フレーム目であるかによって決まる。
【０２０１】
例えば、Ｙフレームの画像データフレームを合成することにより、動画像中の１フレームの画像データフレームを補正するようになされ、合成されるフレームの最初の一枚に係数aが乗ぜられ、最後の一枚に係数(1-a)が乗ぜられる場合、＃１乗算部２３３-１乃至＃ｋ乗算部２３３−ｋのそれぞれは、自分自身が乗算処理を施すフレームが、合成されるフレームの１フレーム目であるとき、係数記憶部１０３から係数aを読み出して乗算処理を施し、乗算結果を加算部２３４に供給する。また、＃１乗算部２３３-１乃至＃ｋ乗算部２３３−ｋのそれぞれは、自分自身が乗算処理を施すフレームが、合成されるフレームのＹフレーム目であるとき、係数記憶部１０３から係数(1-a)を読み出して乗算処理を施し、乗算結果を加算部２３４に供給する。また、＃１乗算部２３３-１乃至＃ｋ乗算部２３３−ｋのそれぞれは、自分自身が乗算処理を施すフレームが、合成されるフレームの１フレーム目またはYフレーム目以外のフレームであるとき、係数記憶部１０３から係数を読み出さずに、乗算処理が施されない画像データフレームを加算部２３４に供給する。
【０２０２】
加算部２３４は、＃１乗算部２３３-１乃至＃ｋ乗算部２３３−ｋから供給された画像データフレーム（必要に応じて乗算処理が施されているものと施されていないものとが存在する）の各画素ごとの画素値を加算し、加算の結果得られる合成画像データフレームを出力する。
【０２０３】
上述した画像処理装置２０１を応用した動画撮影用カメラ(デジタルビデオカメラ)２５１の構成例を、図２４に示す。
【０２０４】
なお、図２０における場合と対応する部分は、同一の符号を付してあり、その説明は適宜省略する。
【０２０５】
すなわち、図２４の動画撮影用カメラ２５１は、画像処理部８１に代わって画像処理部２１１が設けられ、コントローラ１４１に代わってコントローラ２６１が設けられている以外は、図２０を用いて説明した静止画撮影用カメラ(デジタルスチルカメラ)１３１と基本的に同様の構成を有する。
【０２０６】
コントローラ２６１は、ユーザインタフェース１４３から供給されるユーザの操作入力に基づいて、動画撮影用カメラ２５１の動作を制御する。コントローラ２６２は、制御信号バス１５１を介して、各部と接続されている。
【０２０７】
次に、図２３または図２４の画像処理部２１１が実行する処理について、図２５を参照して、時系列に説明する。
【０２０８】
撮像された、または、外部から供給された画像データフレームを、それぞれ時系列に、画像データフレームF1,F2、F3,・・・F(k-1),Fk,F(k+1),・・・とする。
【０２０９】
また、このときも、上述した場合と同様にして、合成される画像データフレームのうち、最も早い時刻に撮像された画像データフレームの各行の画素値に乗算される係数ａは、画像全体でM行(縦の総画素数がM画素)存在すると仮定すると、例えば、先頭行の画素に対しては係数a=0、次の行には係数a=1/M、その次の行には係数a=2/M、・・・というように、係数が1/Mずつ増加するように割り当て、最終行では係数は(M-1)/M=1となるように定めることができる。そして、最初の画像データフレームF1の各行の各画素の画素値に、その行に対応する係数ａが乗算される。すなわち、最初の画像データフレームF1に対して乗算処理が施されることにより、先頭行に近いほど薄く、最終行に近いほど、通常の濃度に近い画像データフレームを得ることができる。
【０２１０】
まず、ある時刻までに＃１画像一時記憶部２３２−１に画像データフレームF1が記憶され、以下、＃２画像一時記憶部２３２−２乃至＃ｋ画像一時記憶部２３２−ｋに、画像データフレームF2，・・・F(k-1)，Fkが記憶されている状態を考える。
【０２１１】
このとき、＃１乗算部２３３-１は、＃１画像一時記憶部２３２−１から読み出される画像データフレームF1に対して、係数記憶部１０３に格納されている係数aを読み出して乗算し、乗算結果を加算部２３４に供給する。そして、＃２乗算部２３３-２は、＃２画像一時記憶部２３２−２から読み出される画像データフレームF２に対して、係数記憶部１０３に格納されている係数を読み出さずに（乗算せずに、または、１を乗じて）そのまま加算部２３４に供給する。同様に、＃３乗算部２３３-３乃至＃（ｋ−１）乗算部２３３−（ｋ−１）は、＃３画像一時記憶部２３２−３乃至＃（ｋ−１）画像一時記憶部２３２−（ｋ−１）のうちの対応する記憶部から読み出される画像データフレームに対して、係数記憶部１０３に格納されている係数を読み出さずに（乗算せずに、または、１を乗じて）そのまま加算部２３４に供給する。そして、＃ｋ乗算部２３３-ｋは、＃ｋ画像一時記憶部２３２−ｋから読み出される画像データフレームFkに対して、係数記憶部１０３に格納されている係数（１−ａ）を読み出して乗算し、乗算結果を加算部２３４に供給する。
【０２１２】
そして、加算部２３４では、供給された画像データフレームが加算（各画素の画素値を加算）され、加算結果であるaF1＋F2＋・・・＋F(k-1)＋(1-a)Fkが出力される。
【０２１３】
続いて、その次の時刻に撮像される画像データフレームF(k+1)が前処理部１０１から供給された場合、選択部２３１は、＃１画像一時記憶部２３２−１乃至＃ｋ画像一時記憶部２３２−ｋのうち、最も古い画像、すなわち、画像データフレームF1が記憶されている＃１画像一時記憶部２３２−１に、新しい画像データフレームF(k+1)を供給する。
【０２１４】
そして、＃２乗算部２３３-２は、＃２画像一時記憶部２３２−２から読み出される画像データフレームF２に対して、係数記憶部１０３に格納されている係数aを読み出して乗算し、乗算結果を加算部２３４に供給する。そして、＃３乗算部２３３-３は、＃３画像一時記憶部２３２−３から読み出される画像データフレームF３に対して、係数記憶部１０３に格納されている係数を読み出さずに（乗算せずに、または、１を乗じて）そのまま加算部２３４に供給する。同様に、＃４乗算部２３３-４乃至＃ｋ乗算部２３３−ｋは、＃４画像一時記憶部２３２−４乃至＃ｋ画像一時記憶部２３２−ｋのうちの対応する記憶部から読み出される画像データフレームに対して、係数記憶部１０３に格納されている係数を読み出さずに（乗算せずに、または、１を乗じて）そのまま加算部２３４に供給する。そして、＃１乗算部２３３-１は、＃１画像一時記憶部２３２−１から読み出される画像データフレームF(k+1)に対して、係数記憶部１０３に格納されている係数（１−ａ）を読み出して乗算し、乗算結果を加算部２３４に供給する。
【０２１５】
そして、加算部２３４では、供給された画像データフレームが加算（各画素の画素値を加算）され、加算結果であるaF2＋F3＋・・・＋Fk＋(1-a)F(k+1)が出力される。
【０２１６】
続いて、その次の時刻に撮像される画像データフレームF(k+2)が前処理部１０１から供給された場合、選択部２３１は、＃１画像一時記憶部２３２−１乃至＃ｋ画像一時記憶部２３２−ｋのうち、最も古い画像、すなわち、画像データフレームF2が記憶されている＃２画像一時記憶部２３２−２に、新しい画像データフレームF(k+2)を供給する。
【０２１７】
そして、以下、同様にして、その時点において最も古い時刻に撮像された画像データフレームに係数aが乗ぜられ、最も新しい時刻に撮像された画像データフレームに係数(1-a)が乗ぜられて、それぞれの画像データフレームの各画素値が加算されることにより、動画像を構成する補正された画像データフレーム（例えば、図１０を用いて説明した、区間αで示されるグローバルシャッタ動作で露光された場合を想定した補正画像に対応する画像データフレーム）が生成されて、出力される。
【０２１８】
また、合成に使う画像データフレーム数の枚数ｋをk=7とした場合の具体的な例を図２６に示す。
【０２１９】
まず、ある時刻までに＃１画像一時記憶部２３２−１に画像データフレームF1が記憶され、以下、＃２画像一時記憶部２３２−２乃至＃７画像一時記憶部２３２−７に、画像データフレームF2，・・・F6，F7が記憶されている状態を考える。
【０２２０】
このとき、＃１乗算部２３３-１は、＃１画像一時記憶部２３２−１から読み出される画像データフレームF1に対して、係数記憶部１０３に格納されている係数aを読み出して乗算し、乗算結果を加算部２３４に供給する。そして、＃２乗算部２３３-２は、＃２画像一時記憶部２３２−２から読み出される画像データフレームF２に対して、係数記憶部１０３に格納されている係数を読み出さずに（乗算せずに、または、１を乗じて）そのまま加算部２３４に供給する。同様に、＃３乗算部２３３-３乃至＃６乗算部２３３−６は、＃３画像一時記憶部２３２−３乃至＃６画像一時記憶部２３２−６のうちの対応する記憶部から読み出される画像データフレームに対して、係数記憶部１０３に格納されている係数を読み出さずに（乗算せずに、または、１を乗じて）そのまま加算部２３４に供給する。そして、＃７乗算部２３３-７は、＃７画像一時記憶部２３２−７から読み出される画像データフレームF7に対して、係数記憶部１０３に格納されている係数（１−ａ）を読み出して乗算し、乗算結果を加算部２３４に供給する。
【０２２１】
そして、加算部２３４では、供給された画像データフレームが加算（各画素の画素値を加算）され、加算結果であるaF1＋F2＋・・・＋F6＋(1-a)F7が出力される。
【０２２２】
続いて、その次の時刻に撮像される画像データフレームF8が前処理部１０１から供給された場合、選択部２３１は、＃１画像一時記憶部２３２−１乃至＃ｋ画像一時記憶部２３２−７のうち、最も古い画像、すなわち、画像データフレームF1が記憶されている＃１画像一時記憶部２３２−１に、新しい画像データフレームF8を供給する。
【０２２３】
そして、＃２乗算部２３３-２は、＃２画像一時記憶部２３２−２から読み出される画像データフレームF２に対して、係数記憶部１０３に格納されている係数aを読み出して乗算し、乗算結果を加算部２３４に供給する。そして、同様に、＃３乗算部２３３-３乃至＃７乗算部２３３−７は、＃３画像一時記憶部２３２−３乃至＃７画像一時記憶部２３２−７のうちの対応する記憶部から読み出される画像データフレームに対して、係数記憶部１０３に格納されている係数を読み出さずに（乗算せずに、または、１を乗じて）そのまま加算部２３４に供給する。そして、＃１乗算部２３３-１は、＃１画像一時記憶部２３２−１から読み出される画像データフレームF8に対して、係数記憶部１０３に格納されている係数（１−ａ）を読み出して乗算し、乗算結果を加算部２３４に供給する。
【０２２４】
そして、加算部２３４では、供給された画像データフレームが加算（各画素の画素値を加算）され、加算結果であるaF2＋F3＋・・・＋F7＋(1-a)F8が出力される。
【０２２５】
続いて、その次の時刻に撮像される画像データフレームF9が前処理部１０１から供給された場合、選択部２３１は、＃１画像一時記憶部２３２−１乃至＃ｋ画像一時記憶部２３２−ｋのうち、最も古い画像、すなわち、画像データフレームF2が記憶されている＃２画像一時記憶部２３２−２に、新しい画像データフレームF9を供給する。
【０２２６】
そして、以下、同様にして、その時点において最も古い時刻に撮像された画像データフレームに係数aが乗ぜられ、最も新しい時刻に撮像された画像データフレームに係数(1-a)が乗ぜられて、加算されることにより、動画像を構成する補正された画像データフレーム（例えば、図１０を用いて説明した、区間αで示されるグローバルシャッタ動作で露光された場合を想定した補正画像に対応する画像データフレーム）が生成されて、出力される。
【０２２７】
なお、図２５および図２６を用いて説明した処理においては、その時点において最も古い時刻に撮像された画像データフレームに係数aが乗ぜられ、最も新しい時刻に撮像された画像データフレームに係数(1-a)が乗ぜられるものとして説明したが、動画像を補正する場合においても、例えば、図１５を用いて説明した場合のように、３枚以上、または、全ての画像に対して、必要に応じて任意の係数を設定して乗じることにより、異なる補正処理を施すようにしてもよいことは言うまでもない。
【０２２８】
次に、図２７のフローチャートを参照して、動画撮影用カメラ２５１において実行される動画像の撮像処理について説明する。
【０２２９】
ステップＳ８１において、コントローラ２６１は、動画像の撮像が指令されたか否かを判断する。ステップＳ８１において、動画像の撮像が指令されていないと判断された場合、処理は、ステップＳ８２に進み、ステップＳ８１において、動画像の撮像が指令されたと判断された場合、処理は、ステップＳ８６に進む。
【０２３０】
ステップＳ８２乃至ステップＳ８７において、図２１を用いて説明したステップＳ２乃至ステップＳ７の処理と基本的に同様の処理が実行される。
【０２３１】
すなわち、動画像の撮像が指令されていないと判断された場合、ユーザから、合成フレーム数の設定の変更が指令されたか否かが判断され、合成フレーム数の設定の変更が指令されたと判断された場合、合成フレーム数の設定が変更され、ユーザから、係数の設定の変更が指令されたか否かが判断されて、係数の設定の変更が指令されたと判断された場合、係数の設定が変更される。
【０２３２】
そして、動画像の撮像が指令されたと判断された場合、合成フレーム数の設定が取得されて、係数の設定が取得される。
【０２３３】
ステップＳ８８において、撮像部９１は、撮像を開始し、撮像して得られた画像データを、画像処理部２１１に供給する。
【０２３４】
ステップＳ８９において、図２８を用いて後述する画像演算処理２が実行される。
【０２３５】
ステップＳ９０において、コントローラ２６１は、画像処理部２１１から演算結果が得られたか否かを判断する。ステップＳ９０において、演算結果が得られたと判断されなかった場合、処理は、ステップＳ８９に戻り、それ以降の処理が繰り返される。
【０２３６】
ステップＳ９０において、演算結果が得られたと判断された場合、ステップＳ９１において、コントローラ２６１は、画像処理部２１１から出力される、ステップＳ８９において実行された画像演算処理における演算結果、すなわち、動画像を構成する補正された画像データフレームに対して、必要に応じて映像信号処理部１４４により処理を施させた後、表示部１４６への供給を制御する。表示部１４６は、供給された演算結果となる画像データ、すなわち、上述した補正画像を表示する。
【０２３７】
ステップＳ９２において、コントローラ２６１は、ユーザインタフェース１４３から供給された信号を基に、ユーザから、演算結果の記憶の開始または終了が指令されたか否かを判断する。
【０２３８】
ステップＳ９２において、演算結果の記憶の開始または終了が指令されたと判断された場合、ステップＳ９３において、コントローラ２６１は、演算結果を必要に応じて画像圧縮部１４５に供給して圧縮処理を施した後、大容量記憶部１４８に供給して記憶を開始するか、または、大容量記憶部１４８への演算結果の供給を停止する。外容量記憶部１４８は、供給された演算結果の記憶を開始または終了する。
【０２３９】
ステップＳ９２において、演算結果の記憶が指令されていないと判断された場合、または、ステップＳ９３の処理の終了後、ステップＳ９４において、コントローラ２６１は、ユーザインタフェース１４３から供給された信号を基に、演算結果の外部出力の開始または終了が指令されたか否かを判断する。ステップＳ９４において、演算結果の外部出力の開始または終了が指令されていないと判断された場合、処理はステップＳ９６に進む。
【０２４０】
ステップＳ９４において、演算結果の外部出力の開始または終了が指令されたと判断された場合、ステップＳ９５において、コントローラ２６１は、演算結果を必要に応じて画像圧縮部１４５に供給して圧縮処理を施した後、外部インタフェース１４７に供給するか、または、外部インタフェース１４７への演算結果の供給を停止する。外部インタフェース１４７は、供給された演算結果の、所定の外部機器などへの出力を開始または終了する。
【０２４１】
ステップＳ９６において、コントローラ２６１は、ユーザインタフェース１４３から供給された信号を基に、ユーザから、動画像の撮像の終了が指令されたか否かを判断する。ステップＳ９６において、動画像の撮像の終了が指令されていないと判断された場合、処理は、ステップＳ８９に戻り、それ以降の処理が繰り返される。ステップＳ９６において、動画像の撮像の終了が指令されたと判断された場合、処理が終了される。
【０２４２】
このような処理により、撮像されて、補正された画像データフレームにより構成される動画像が表示され、ユーザの操作入力に基づいて、内部に記憶されたり、外部の機器などに出力される。
【０２４３】
次に、図２８のフローチャートを参照して、図２７のステップＳ８９において実行される、画像演算処理２について説明する。
【０２４４】
ステップＳ１２１において、前処理部１０１は、供給された画像データフレームに所定の処理を施した後、撮像画像データを選択部２３１に供給する。選択部２３１は、撮像画像データを取得する。
【０２４５】
ステップＳ１２２において、選択部２３１は、取得したフレームの撮像画像データを、所定の一時記憶部、具体的には、＃１画像一時記憶部２３２−１乃至＃ｋ画像一時記憶部２３２−ｋのうち、その時点において最も古い時刻に撮像された画像データフレームが記憶されている画像一時記憶部に供給して記憶させる。
【０２４６】
ステップＳ１２３において、＃１乗算部２３３-１乃至＃ｋ乗算部２３３−ｋは、例えば、その時点において最も古い時刻に撮像された画像データフレームに係数aが乗ぜられ、最も新しい時刻に撮像された画像データフレームに係数(1-a)が乗ぜられるものとしたり、３枚以上の画像データフレームに対して所定の係数が乗ぜられるものとして、いずれの乗算部が行ごとの係数乗算処理を実行するかを検出する。
【０２４７】
ステップＳ１２４において、＃１乗算部２３３-１乃至＃ｋ乗算部２３３−ｋのうちの、係数乗算処理を実行する乗算部は、係数記憶部１０３に記憶されている対応する係数を取得する。
【０２４８】
ステップＳ１２５において、＃１乗算部２３３-１乃至＃ｋ乗算部２３３−ｋのうちの、係数乗算処理を実行する乗算部は、各行の画素データに、対応する係数を乗じる。すなわち、対応する乗算部において、例えば、図１７Ａまたは図１７Ｃを用いて説明したようなデータフレームが生成される。
【０２４９】
ステップＳ１２６において、加算部２３４は、所定のフレーム数を合成した加算結果を得られるか否か、換言すれば、所定のフレーム数が既に撮像されたか否かが判断される。ステップＳ１２６において、所定のフレーム数を合計した加算結果を得られていないと判断された場合、処理は、図２７のステップＳ８９に戻り、ステップＳ９０に進んで、演算結果が得られていないと判断され、ステップＳ８９に戻る。
【０２５０】
ステップＳ１２６において、所定のフレーム数を合計した加算結果が得らたと判断された場合、ステップＳ１２７において、加算部２３４は、＃１乗算部２３３-１乃至＃ｋ乗算部２３３−ｋから供給された出力の加算処理を実行する。
【０２５１】
ステップＳ１２８において、加算部２３４は、加算処理結果を出力し、処理は、図２７のステップＳ８９に戻り、ステップＳ９０に進む。
【０２５２】
このような処理により、動画像を撮像する場合においても、フォーカルプレーンシャッタ現象により被写体が歪んで撮像された複数の連続した撮像画像を一時記憶し、それらの撮像画像に対して、必要に応じて所定の係数が乗算されることにより、例えば、図１７を用いて説明したように、補正画像を生成するために用いられる画像データフレームが生成され、これらが合成されることにより動画像を構成する補正済みの画像データフレーム、すなわち、例えば、図１８を用いて説明したように、フォーカルプレーンシャッタ現象により発生する被写体の歪みが補正されて見える画像データフレームが生成される。
【０２５３】
動画像における場合であっても、動画像を構成するそれぞれの補正された画像データフレームを生成する場合に合成される画像の枚数が多いほど、合成されて生成される画像データにおける被写体の歪みは補正されて見える。しかしながら、合成される画像の枚数が多いほど、動きのある被写体（または、カメラが動くことにより画面内で動きが与えられた被写体）の像には、いわゆる、ブレが発生する。このブレを抑制するためには、合成される画像を撮像するときのフレームレートをできるだけ早くすると好適である。例えば、通常のデジタルスチルカメラにおけるシャッタスピードの3倍のフレームレートによって撮像された画像データフレーム3枚を用いて合成処理を行った場合に得られる補正画像に発生するブレは、通常のデジタルスチルカメラにおいて発生するブレとほぼ同等となる。
【０２５４】
なお、図２７および図２８においては、図２４を用いて説明した動画像撮影用カメラ２５１において実行される処理について説明したが、図２３を用いて説明した画像処理装置２０１が実行する処理は、図２８を用いて説明した画像演算処理２と基本的に同様の処理となる。
【０２５５】
以上説明したように、例えば、CMOSイメージセンサを組み込んだカメラなど、フォーカルプレーンシャッタ現象が発生する撮像素子（多くの場合は、光電変換機能を備えた画素がアレイ状に配置された固体撮像素子であって、例えば、ＸＹアドレス型撮像素子）によって撮像された動きのある被写体（または、カメラが動くことにより画面内で動きが与えられた被写体）の像に発生する歪みを、簡単な構成で補正して、鑑賞して疲れない、換言すれば、不自然に歪んでいない良好な画像や映像を提供することが可能となる。
【０２５６】
なお、以上説明した処理においては、撮像された画像の行ごとに露光開始時刻が異なるためにフォーカルプレーンシャッタ現象が発生する場合の処理について説明したが、例えば、撮像された画像の列ごとに露光開始時刻が異なるためにフォーカルプレーンシャッタ現象が発生する場合においても、本発明は適用可能であることはいうまでもない。
【０２５７】
また、例えば、露光開始時刻を、行や列ではなく、所定の画素数のブロックごとに異なるようにした場合や、全ての画素において露光開始時刻が異なるようにした場合などにおいても、上述した場合と同様にして、合成される複数の画像データフレームのうち、最も早い時刻、または、比較的早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素（例えば、最終行の画素）に対して重み付けが高くなるような係数を用いて乗算処理が行われるとともに、最も遅い時刻、または、比較的遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数を用いて乗算処理が行われるようにすることにより、上述した処理と同様の作用効果を奏することができるのは、言うまでもない。
【０２５８】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、上述した処理は、図２９に示されるようなパーソナルコンピュータ５００により実行される。
【０２５９】
図２９において、CPU（Central Processing Unit）５０１は、ROM(Read Only Memory)５０２に記憶されているプログラム、または、記憶部５０８からRAM(Random Access Memory)５０３にロードされたプログラムに従って各種の処理を実行する。RAM５０３にはまた、CPU５０１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【０２６０】
CPU５０１、ROM５０２、およびRAM５０３は、内部バス５０４を介して相互に接続されている。この内部バス５０４にはまた、入出力インタフェース５０５も接続されている。
【０２６１】
入出力インタフェース５０５には、キーボード、マウスなどよりなる入力部５０６、CRT，LCDなどよりなるディスプレイ、スピーカなどよりなる出力部５０７、ハードディスクなどより構成される記憶部５０８、並びに、モデム、ターミナルアダプタなどより構成される通信部５０９が接続されている。通信部５０９は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。
【０２６２】
入出力インタフェース５０５にはまた、必要に応じてドライブ５１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどによりなるリムーバブルメディア５２１が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部５０８にインストールされる。
【０２６３】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０２６４】
この記録媒体は、図２９に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア５２１よりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM５０２や記憶部５０８が含まれるハードディスクなどで構成される。
【０２６５】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２６６】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０２６７】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２６８】
【図１】CCDについて説明するための図である。
【図２】CCDの露光動作について説明するための図である。
【図３】CMOSイメージセンサについて説明するための図である。
【図４】CMOSイメージセンサの露光動作について説明するための図である。
【図５】フォーカルプレーンシャッタ現象について説明するための図である。
【図６】フォーカルプレーンシャッタ現象について説明するための図である。
【図７】フォーカルプレーンシャッタ現象について説明するための図である。
【図８】フォーカルプレーンシャッタ現象について説明するための図である。
【図９】静止画像を補正する処理を実行する画像処理装置の構成を示すブロック図である。
【図１０】複数の画像データフレームを用いた補正について説明するための図である。
【図１１】７枚の画像データフレームを用いた補正について説明するための図である。
【図１２】画像データフレームに対する係数乗算処理および加算処理について説明するための図である。
【図１３】画像データフレームに対する係数乗算処理および加算処理について説明するための図である。
【図１４】画像データフレームに対する係数乗算処理および加算処理について説明するための図である。
【図１５】画像データフレームに対する係数乗算処理および加算処理について説明するための図である。
【図１６】フォーカルプレーンシャッタ現象について説明するための図である。
【図１７】係数乗算処理によって生成される画像データフレームの例について説明するための図である。
【図１８】合成されて生成された補正画像の例について説明するための図である。
【図１９】合成されて生成された補正画像の例について説明するための図である。
【図２０】静止画撮影用カメラ(デジタルスチルカメラ)の構成を示すブロック図である。
【図２１】静止画像の撮像処理について説明するためのフローチャートである。
【図２２】画像演算処理１について説明するためのフローチャートである。
【図２３】動画像を補正する処理を実行する画像処理装置の構成を示すブロック図である。
【図２４】動画撮影用カメラ(デジタルビデオカメラ)の構成を示すブロック図である。
【図２５】画像データフレームに対する係数乗算処理および加算処理について説明するための図である。
【図２６】画像データフレームに対する係数乗算処理および加算処理について説明するための図である。
【図２７】動画像の撮像処理について説明するためのフローチャートである。
【図２８】画像演算処理２について説明するためのフローチャートである。
【図２９】パーソナルコンピュータの構成を示すブロック図である。
【符号の説明】
【０２６９】
４１  CMOSイメージセンサ，  ８１  画像処理装置，  ９１  撮像部，  ９２  画像処理部，  １０１  前処理部，  １０２  乗算部，  １０３  係数記憶部，  １０４  加算部，  １０５  画像一時記憶部，  １３１  静止画撮影用カメラ(デジタルスチルカメラ)，  １４１  コントローラ，  １４６  表示部，  １４７  外部インタフェース，  １４８  大容量記憶部，  ２０１  画像処理装置，  ２１１  画像処理部，  ２３１  選択部，  ２３２  画像一時記憶部，  ２３３  乗算部，  ２３４  加算部，  ２５１  動画撮影用カメラ(デジタルビデオカメラ)，  ２６１  コントローラ
【図１】
0004743007.tif 000002
【図２】
0004743007.tif 000003
【図３】
0004743007.tif 000004
【図４】
0004743007.tif 000005
【図５】
0004743007.tif 000006
【図６】
0004743007.tif 000007
【図７】
0004743007.tif 000008
【図８】
0004743007.tif 000009
【図９】
0004743007.tif 000010
【図１０】
0004743007.tif 000011
【図１１】
0004743007.tif 000012
【図１２】
0004743007.tif 000013
【図１３】
0004743007.tif 000014
【図１４】
0004743007.tif 000015
【図１５】
0004743007.tif 000016
【図１６】
0004743007.tif 000017
【図１７】
0004743007.tif 000018
【図１８】
0004743007.tif 000019
【図１９】
0004743007.tif 000020
【図２０】
0004743007.tif 000021
【図２１】
0004743007.tif 000022
【図２２】
0004743007.tif 000023
【図２３】
0004743007.tif 000024
【図２４】
0004743007.tif 000025
【図２５】
0004743007.tif 000026
【図２６】
0004743007.tif 000027
【図２７】
0004743007.tif 000028
【図２８】
0004743007.tif 000029
【図２９】
0004743007.tif 000030