説明

画像処理装置および画像処理方法、記録媒体、並びに、プログラム

【課題】フォーカルプレーンシャッタ動作による画像の歪みを補正する。
【解決手段】1枚目の画像においては、露光時刻の早い画面上側の行の各画素に乗ぜられる係数として0に近い値が設定され、行が下がると係数の値が大きくなり、最も下側の行の各画素に乗ぜられる係数は1に近い値となる。中央部の画像においては、いずれの画素にも係数が掛けられない。そして、最後の画像においては、露光時刻の早い画面上側の行の各画素に乗ぜられる係数として1に近い値が設定され、行が下がると係数の値が小さくなり、最も下側の行の各画素に乗ぜられる係数は0に近い値となる。そして、これらの画像データフレームが合成されることにより、フォーカルプレーンシャッタ動作により得られた画像と比較して、歪が補正されたように見える画像を得ることができる。本発明は、画像処理装置、デジタルスチルカメラ、またはデジタルビデオカメラに適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法、記録媒体、並びに、プログラムに関し、特に、フォーカルプレーンシャッタ現象による撮像画像の歪みを補正することができる、画像処理装置および画像処理方法、記録媒体、並びに、プログラムに関する。
【背景技術】
【0002】
図1および図2を参照してCCDイメージセンサ11の読出し原理について説明する。
【0003】
CCDイメージセンサ11は、フォトダイオード21、垂直CCD22、水平CCD23、および、出力アンプ24を含んで構成されている。
【0004】
図2Aに示されるように、CCDイメージセンサ11においては、フォトダイオード21に蓄積された電荷が、全ての画素から同じタイミングで垂直CCD22に転送される。
【0005】
そして、その後、図2Bに示されるように、横に並んだすべての垂直CCD22から水平CCD23に電荷がひとつずつ転送される。
【0006】
そして、次に、図2Cに示されるように、水平CCD23でそれらの電荷が水平方向に全画素分だけ転送されて、出力アンプ24で信号増幅されて、外部にアナログ信号として出力される。
【0007】
そして、ふたたび垂直CCD22から水平CCD23に電荷がひとつずつ垂直方向に転送されて、続いて、水平CCD23で、全ての電荷が水平方向に転送されて、出力アンプ24で信号増幅されて、外部にアナログ信号として出力される。これが、フォトダイオード21から垂直CCD22に転送された全ての電荷(全画素分の電荷)が外部に出力されるまで繰り返される。
【0008】
このように、CCDイメージセンサ11においては、全てのフォトダイオード21に蓄積された電荷が垂直CCD22に一斉に転送されるため、露光終了時刻は全ての画素で同一であり、その後、全てのフォトダイオード21に再び光が当たって電子に変換される露光開始時刻も、全ての画素で同一である。これがいわゆるグローバルシャッタ動作と呼ばれるものである
【0009】
次に、図3および図4を参照して、CMOSイメージセンサ41の読出し原理について説明する。
【0010】
CMOSイメージセンサ41では、フォトダイオード21に蓄積された電荷が、画素内の図示しないアンプトランジスタおよび転送トランジスタを介して、垂直信号線51に、信号電流という形で出力され、信号電流が、カラム信号処理部52に供給されて、所定の信号処理が実行された後、外部へ出力される。
【0011】
垂直信号線51には、縦に並んだ各画素に対応するフォトダイオード21が共通に接続されているので、それぞれの画素の信号を独立に読み出すためには、垂直信号線51に対して、1度に1個の画素分の信号のみを出力するようにしなければならない。
【0012】
すなわち、CMOSイメージセンサ41においては、図4Aに示されるように、例えば、一番下の行(先頭行)に並んだ画素に対応するフォトダイオード21のそれぞれから、最初に信号を読出し、図4Bに示されるように、順次、読み出しの行が変更されて、図4Cに示されるように、最後に一番上の行(最終行)に並んだ画素に対応するフォトダイオード21のそれぞれから、信号が読み出されることにより、各画素の信号を独立して読み出すことができるようになされている。
【0013】
このとき、それぞれのフォトダイオード21は、蓄積された電荷を読み出された直後から、再び露光を開始するため、先頭行のフォトダイオード21と最終行のフォトダイオード21とでは、露光の開始時刻および終了時刻が異なってしまう。これが、いわゆるフォーカルプレーンシャッタ動作(またはローリングシャッタ動作)と称されるシャッタ動作である。
【0014】
図5および図6を参照して、各行のフォトダイオード21における露光の開始および終了タイミングと、電荷の読み出し開始タイミングについて説明する。
【0015】
図5は、電子シャッタを用いていない場合、図6は、電子シャッタを用いている場合をそれぞれ示している。図5および図6においては、時間軸を横軸、行を縦軸にして、それぞれの関係が示されている。
【0016】
すなわち、各行のフォトダイオード21からの電荷の読み取りタイミングを重ねることができないため、先頭行のフォトダイオード21の露光が開始され、露光期間T1が経過して先頭行のフォトダイオード21からの電荷の読み出しが開始されるまでに、前のフレームの全ての画素、換言すれば、前のフレームの最終行の電荷の読み取りが終了されていなければならない。
【0017】
例えば、図5に示されるように、電子シャッタを用いない場合、最終行のフォトダイオード21に蓄積されたNフレーム目の電荷読み出しの終了(N+1フレーム目の露光開始)と、先頭行のフォトダイオード21に蓄積されたN+1フレーム目の電荷読み出しの開始(N+1フレーム目の露光終了)とが連続したタイミングであるとき、先頭行と最終行との露光の開始タイミングの違いが最小となり、露光期間T1とほぼ同等となる。
【0018】
そして、図6に示されるように、電子シャッタを用いる場合、電子シャッタのために無効となる露光期間が発生するので、先頭行と最終行との露光の開始タイミングの違いは、露光期間T2と電子シャッタのために無効となる露光期間との和と、ほぼ同等となる。
【0019】
動きのある被写体を撮像したり、または、カメラ自体が露光中に画角を変更した(パン動作が行われた)場合、フォーカルプレーンシャッタ動作(またはローリングシャッタ動作)に起因する露光時間のずれにより、画像に歪みが発生する。このような歪みが発生する現象は、フォーカルプレーンシャッタ現象(または、ローリングシャッタ現象)と称されている。
【0020】
図7および図8を参照して、フォーカルプレーンシャッタ現象が発生することにより撮像画像に発生する不具合の具体的な例について説明する。
【0021】
高速に回転している4枚羽根の回転体を被写体として、図7Aに、例えば、CCD撮像素子など、各画素の露光タイミングが一致しているグローバルシャッタ動作で撮像して得られた画像を示し、図7Bに、フォーカルプレーンシャッタ読出しの方式で撮像して得られた画像を示す。
【0022】
ここで、フォーカルプレーンシャッタは、撮像画像の上から下に露光開始時刻がずれていくものとし、被写体は反時計回りに回転しているものとする。
【0023】
グローバルシャッタ動作では、被写体の動きを捉える露光タイミングは、全ての画素で同一であるため、シャッタ速度によっては、動いている被写体がぶれて撮像されてしまうことはあるが、被写体の形状は、そのまま捉えることができる。
【0024】
一方、フォーカルプレーンシャッタ動作の場合、画面内の右から左に移動する部分においては、回転していく方向に露光開始時刻がずれるので、画面内の下の部分ほど形状が左に歪んでいき、画面内の上から下に移動する部分においては、露光開始時刻のずれ方向と一致するので、形状が下へ膨らむように撮像され、画面内の左から右に移動する部分においては、画像の下へ行くほど移動方向、すなわち、画面内の右側に形状がひずみ、画面内の下から上に移動する部分においては、露光開始時刻のずれと逆の動きになるので、画面内の上に行くほど縮んだ形状になる。
【0025】
このように、移動している被写体を、フォーカルプレーンシャッタ動作を行う撮像素子で撮像した場合、得られる撮像画像が、その動きの方向によって歪んでしまう。
【0026】
また、次に、静止している被写体の撮像にあたってカメラが移動した(左右にパンした)場合を例として、図8Aに、グローバルシャッタ動作で撮像して得られた画像を示し、図8Bに、フォーカルプレーンシャッタ読出しの方式で撮像して得られた画像を示す。ここでは、カメラが左から右にパンしながら撮像した場合を想定する。
【0027】
この場合においても、グローバルシャッタ動作の場合は、画像の全面で同じ露光タイミングとなるため、シャッタ速度によっては、被写体がぶれて撮像されてしまうことはあるが、被写体の形状にひずみは生じない。
【0028】
しかしながら、フォーカルプレーンシャッタ動作の場合、カメラの移動と露光開始時刻のズレの関係から、被写体の形状がカメラの移動方向に歪んでしまう現象が生じる。
【0029】
なお、図7および図8を用いて説明したフォーカルプレーンシャッタ動作による被写体の歪は、被写体の動きが大きいほど、カメラの動きが激しいほど、その形状の歪み度合いは大きくなる。また、シャッタ速度が速くても、被写体またはカメラの動きが大きい場合には、撮像画像の歪みは発生してしまう。
【0030】
そこで、CMOSイメージセンサのグローバルシャッタ読出しによる像の歪みを軽減するために、例えば、撮影のフレームレートよりも高速に、CMOSイメージセンサから、外部メモリにデータの書き込みを行い、書き込まれたデータを撮影のフレームレートに合わせてゆっくり読み出すことにより、グローバルシャッタ動作と同様の撮像画像を得ることができるようにした技術がある(例えば、特許文献1参照)。
【0031】
【特許文献1】特開2004−140479号公報
【0032】
また、画素内にグローバルシャッタ動作に必要なトランジスタを追加する技術(例えば、特許文献2参照)や、同様に、グローバルシャッタ動作に必要なキャパシタを追加する技術(例えば、特許文献3参照)があり、更に、グローバルシャッタ動作に必要なトランジスタとキャパシタの両方を追加した技術(例えば、特許文献4参照)などがある。
【0033】
【特許文献2】特開2004−140149号公報
【特許文献3】特開2004−159555号公報
【特許文献4】特開2005−65074号公報
【0034】
また、例えば、フォーカルプレーンシャッタ動作により撮像されて得られた画像の歪みを、登録された参照画像との比較によって補正する画像処理技術(例えば、特許文献5参照)もある。
【0035】
【特許文献5】特開2006−58945号公報
【発明の開示】
【発明が解決しようとする課題】
【0036】
しかしながら、特許文献1に記載の技術においては、被写体の変形や歪みが無視できるほどの高速読出し動作は、画素数が増大すると非常に困難となり、更に、消費電力やノイズが増大してしまう。換言すれば、消費電力やノイズの増大を抑制することができる程度の高速読出しを行っても、被写体の変形や歪みの軽減効果は十分ではない。
【0037】
また、特許文献2乃至特許文献4に記載の技術では、画素サイズの増大を伴うので、小型で画素数の多いイメージセンサには適用できないといった制約があった。
【0038】
また、特許文献5に記載の技術には、撮像画像を補正するための参照画像が必要となるため、一般的な用途では用いることができない。
【0039】
本発明はこのような状況に鑑みてなされたものであり、簡単な構成で、フォーカルプレーンシャッタ現象による撮像画像の歪みを補正することができるようにするものである。
【課題を解決するための手段】
【0040】
本発明の一側面の画像処理装置は、アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された撮像画像に対応する複数の画像データを取得する画像取得手段と、前記画像取得手段により取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる特定の係数を記憶する係数記憶手段と、前記画像取得手段により取得された前記画像データの所定の画素の画素値に、前記係数記憶手段により記憶されている前記特定の係数を乗算する乗算手段と、前記乗算手段により前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算する加算手段とを備え、前記係数記憶手段により記憶された前記特定の係数には、前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素に対して重み付けが高くなるような係数と、前記加算手段により加算される前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数とが含まれている。
【0041】
所定の被写体を撮像する撮像手段を更に備えさせることができ、前記画像取得手段には、前記撮像手段により撮像されて得られた前記画像データを取得させることができる。
【0042】
前記撮像手段には、光電変換機能を備えさせることができる。
【0043】
前記係数記憶手段により記憶された前記特定の係数には、前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データ、および、最も遅い時刻に撮像された前記画像データ以外の前記画像データの所定の画素に対して乗ぜられる前記特定の係数が更に含まれるものとすることができ、前記乗算手段には、前記前記加算手段により加算される前記画像データのうちの3枚以上の前記画像データの所定の画素の画素値に、前記係数記憶手段により記憶されている前記特定の係数を乗算させるようにすることができる。
【0044】
前記加算手段には、画像データフレームを一時保持する保持手段と、前記乗算手段により前記特定の係数が乗算された前記画素を有する前記画像データまたは前記画像取得手段により取得された前記画像データと、前記保持手段により保持されている前記画像データフレームとのそれぞれの対応する画素の画素値を加算する画素値加算手段とを備えさせるようにすることができ、前記保持手段には、前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データ、または、前記画素値加算手段により対応する画素の画素値が加算されて算出された前記画像データが、上書きされて保持されるようにすることができる。
【0045】
前記画像取得手段により取得された前記画像データを保持する複数の画像データ保持手段と、複数の前記画像データ保持手段のいずれに前記画像取得手段により取得された前記画像データを供給して保持させるかを選択する選択手段とを更に備えさせるようにすることができ、前記乗算手段には、前記画像データ保持手段と対応付けられて同数設けられ、対応する前記画像データ保持手段に保持されている前記画像データが、前記加算手段により加算される複数の前記画像データのうち、何番目に撮像された画像データであるかに基づいて、必要に応じて、前記係数記憶手段により記憶されている前記特定の係数のうちの対応する前記特定の係数を読み出して、前記画像データの所定の画素の画素値との乗算処理を実行させるようにすることができる。
【0046】
前記選択手段には、複数の前記画像データ保持手段に保持されている前記画像データのうち、最も早い時刻に撮像された画像データが保持されている前記画像データ保持手段を、前記画像取得手段により新たに取得された前記画像データの保持を行う前記画像データ保持手段として選択させるようにすることができる。
【0047】
前記画像取得手段により取得された前記画像データは、RAWデータであるものとすることができる。
【0048】
前記画像取得手段により取得された前記画像データは、RAWデータに所定の処理を施して、鑑賞できる状態で表示可能なように処理された画像データであるものとすることができる。
【0049】
前記画像取得手段により取得された前記画像データに含まれる前記各画素の画素信号を所望の信号形態または信号レベルに整える信号処理手段を更に備えさせるようにすることができる
【0050】
前記信号処理手段には、前記画像取得手段により取得された前記画像データがアナログ信号の場合、アナログ信号をデジタル信号に変換する処理を実行させるようにすることができる。
【0051】
前記信号処理手段には、前記画像取得手段により取得された前記画像データがRAWデータである場合、信号処理系の黒レベルを設定し、正常な信号出力を行わない欠陥画素の信号レベルを周囲の正常な画素信号レベルで補間する処理を実行させるようにすることができる。
【0052】
前記信号処理手段には、前記画像取得手段により取得された前記画像データが、RAWデータに所定の処理を施して、鑑賞できる状態で表示可能なように処理された画像データである場合、前記画像データに逆ガンマ変換を施して、RAWデータと同じ輝度信号特性を持つように変換する処理を実行させるようにすることができる。
【0053】
ユーザの操作入力を受ける操作入力取得手段を更に備えさせるようにすることができ、前記操作入力取得手段には、前記加算手段により加算される前記画像データの前記所定の枚数を設定する操作入力を受けさせるようにすることができる。
【0054】
ユーザの操作入力を受ける操作入力取得手段を更に備えさせるようにすることができ、前記操作入力取得手段には、前記係数記憶手段により記憶される前記特定の係数を設定する操作入力を受けさせるようにすることができる。
【0055】
本発明の一側面の画像処理方法は、複数枚の画像データフレームを用いて、フォーカルプレーンシャッタ現象による被写体の歪みを有する撮像画像の補正画像を生成する画像処理装置の画像処理方法において、アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データを取得し、特定の係数を記憶する係数記憶部から、取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる前記特定の係数を取得し、前記画像データの所定の画素の画素値に、取得された前記特定の係数を乗算し、前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算するステップを含み、前記係数記憶部に記憶される前記特定の係数には、加算される複数の前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素に対して重み付けが高くなるような係数と、加算される複数の前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数とが含まれている。
【0056】
本発明の一側面のプログラム、または、記録媒体に記録されているプログラムは、複数枚の画像データフレームを用いて、フォーカルプレーンシャッタ現象による被写体の歪みを有する撮像画像の補正画像を生成する処理をコンピュータに実行させるためのプログラムであって、アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データの取得を制御し、特定の係数を記憶する係数記憶部から、取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる前記特定の係数の取得を制御し、前記画像データの所定の画素の画素値に、取得が制御された前記特定の係数を乗算し、前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算するステップを含む処理をコンピュータに実行させ、前記係数記憶部に記憶される前記特定の係数には、加算される複数の前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素に対して重み付けが高くなるような係数と、加算される複数の前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数とが含まれている。
【0057】
本発明の一側面においては、アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データが取得され、取得された画像データが何枚目の画像に対応するかによって決まるとともに、画像の各画素位置によって決まる特定の係数が取得され、画像データの所定の画素の画素値に、取得された特定の係数が乗算され、特定の係数が乗算された画素を有する画像データを含む、所定の枚数の画像データの各画素値が加算される。そして、特定の係数には、加算される複数の画像データのうち最も早い時刻に撮像された画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素に対して重み付けが高くなるような係数と、加算される複数の画像データのうち最も遅い時刻に撮像された画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数とが含まれている。
【0058】
画像処理装置とは、独立した装置であっても良いし、撮像装置の画像処理を行うブロックや、情報処理装置の画像処理を行うブロックであっても良い。
【0059】
ネットワークとは、少なくとも2つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、1つの装置を構成している内部ブロックどうしであっても良い。
【0060】
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。
【発明の効果】
【0061】
本発明の一側面によれば、画像を補正することができ、特に、フォーカルプレーンシャッタ現象による被写体の歪みを有する、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データを用いて、被写体の歪みが補正された画像を生成することができる。
【発明を実施するための最良の形態】
【0062】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【0063】
本発明の一側面の画像処理装置は、アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された撮像画像に対応する複数の画像データを取得する画像取得手段(例えば、図9または図23の前処理部101)と、前記画像取得手段により取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる特定の係数を記憶する係数記憶手段(例えば、図9または図23の係数記憶部103)と、前記画像取得手段により取得された前記画像データの所定の画素の画素値に、前記係数記憶手段により記憶されている前記特定の係数を乗算する乗算手段(例えば、図9の乗算部102、または、図23の乗算部233)と、前記乗算手段により前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算する加算手段(例えば、図9の加算部104および画像一時記憶部105、または、図23の加算部234)とを備え、前記係数記憶手段により記憶された前記特定の係数には、前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素(例えば、1行目の画素)に対して重み付けが低く(例えば、係数a=0)なり、遅い時刻に露光された画素(例えば、最終行の画素)に対して重み付けが高く(例えば、係数a=1)なるような係数と、前記加算手段により加算される前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数とが含まれている。
【0064】
所定の被写体を撮像する撮像手段(例えば、図9または図23の撮像部91)を更に備えることができ、前記画像取得手段は、前記撮像手段により撮像されて得られた前記画像データを取得することができる。
【0065】
前記撮像手段は、光電変換機能を有する(例えば、CMOSイメージセンサ)ことができる。
【0066】
前記加算手段は、画像データフレームを一時保持する保持手段(例えば、図9の画像一時記憶部105)と、前記乗算手段により前記特定の係数が乗算された前記画素を有する前記画像データまたは前記画像取得手段により取得された前記画像データと、前記保持手段により保持されている前記画像データフレームとのそれぞれの対応する画素の画素値を加算する画素値加算手段(例えば、図9の加算部104)とを備えることができ、前記保持手段には、前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データ、または、前記画素値加算手段により対応する画素の画素値が加算されて算出された前記画像データが、上書きされて保持されるものとすることができる。
【0067】
前記画像取得手段により取得された前記画像データを保持する複数の画像データ保持手段(例えば、図23の画像一時記憶部232)と、複数の前記画像データ保持手段のいずれに前記画像取得手段により取得された前記画像データを供給して保持させるかを選択する選択手段(例えば、図23の選択部231)とを更に備えさせることができ、前記乗算手段は、前記画像データ保持手段と対応付けられて同数設けられるものとすることができ、対応する前記画像データ保持手段に保持されている前記画像データが、前記加算手段により加算される複数の前記画像データのうち、何番目に撮像された画像データであるかに基づいて、必要に応じて、前記係数記憶手段により記憶されている前記特定の係数のうちの対応する前記特定の係数を読み出して、前記画像データの所定の画素の画素値との乗算処理を実行することができる。
【0068】
前記画像取得手段により取得された前記画像データに含まれる前記各画素の画素信号を所望の信号形態または信号レベルに整える信号処理手段(例えば、図9、または図23の前処理部101)を更に備えることができる。
【0069】
ユーザの操作入力を受ける操作入力取得手段(例えば、図20または図24のユーザインタフェース143)を更に備えることができ、前記操作入力取得手段は、前記加算手段により加算される前記画像データの前記所定の枚数を設定する操作入力を受けることができる。
【0070】
ユーザの操作入力を受ける操作入力取得手段(例えば、図20または図24のユーザインタフェース143)を更に備えることができ、前記操作入力取得手段は、前記係数記憶手段により記憶される前記特定の係数を設定する操作入力を受けることができる。
【0071】
本発明の第1の側面の画像処理方法は、複数枚の画像データフレームを用いて、フォーカルプレーンシャッタ現象による被写体の歪みを有する撮像画像の補正画像を生成する画像処理装置の画像処理方法であって、アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データを取得し(例えば、図22のステップS41またはステップS50、もしくは、図28のステップS121の処理)、特定の係数を記憶する係数記憶部(例えば、図9または図23の係数記憶部103)から、取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる前記特定の係数を取得し(例えば、図22のステップS43、または、図28のステップS124の処理)、前記画像データの所定の画素の画素値に、取得された前記特定の係数を乗算し(例えば、図22のステップS44、または、図28のステップS125の処理)、前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算する(例えば、図22のステップS47、または、図28のステップS127の処理)ステップを含み、前記係数記憶部に記憶される前記特定の係数には、加算される複数の前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素(例えば、1行目の画素)に対して重み付けが低く(例えば、係数a=0)なり、遅い時刻に露光された画素(例えば、最終行の画素)に対して重み付けが高く(例えば、係数a=1)なるような係数と、加算される複数の前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数とが含まれている。
【0072】
本発明の一側面のプログラムは、複数枚の画像データフレームを用いて、フォーカルプレーンシャッタ現象による被写体の歪みを有する撮像画像の補正画像を生成する処理をコンピュータに実行させるためのプログラムであって、アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データの取得を制御し(例えば、図22のステップS41またはステップS50、もしくは、図28のステップS121の処理)、特定の係数を記憶する係数記憶部(例えば、図9または図23の係数記憶部103)から、取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる前記特定の係数の取得を制御し(例えば、図22のステップS43、または、図28のステップS124の処理)、前記画像データの所定の画素の画素値に、取得が制御された前記特定の係数を乗算し(例えば、図22のステップS44、または、図28のステップS125の処理)、前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算する(例えば、図22のステップS47、または、図28のステップS127の処理)ステップを含む処理をコンピュータに実行させ、前記係数記憶部に記憶される前記特定の係数には、加算される複数の前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素(例えば、1行目の画素)に対して重み付けが低く(例えば、係数a=0)なり、遅い時刻に露光された画素(例えば、最終行の画素)に対して重み付けが高く(例えば、係数a=1)なるような係数と、加算される複数の前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数とが含まれている。
【0073】
以下、図を参照して、本発明の実施の形態について説明する。
【0074】
CMOSイメージセンサを組み込んだカメラにおいて撮像された画像は、CMOSイメージセンサの構造上、一般的なフォーカルプレーンシャッタ動作に起因するフォーカルプレーンシャッタ現象により、動く被写体の像の歪みやカメラ移動に伴う被写体の像の歪みが生じる。
【0075】
そこで、高速撮像可能なCMOSイメージセンサを用いて、複数の連続する画像を撮像し、それぞれの撮像画像において、必要に応じて画素位置に応じた係数を乗じ、それらの画素データを加算(合成)することによって、フォーカルプレーンシャッタ現象により発生する画像の歪みが軽減するような補正画像を生成し、鑑賞して疲れない良好な画像や映像を提供する。
【0076】
そこで、通常の撮影に比べて、例えば、4倍程度の高速読出しが可能なCMOSイメージセンサにより撮像された、複数の連続する画像を用いて、画像メモリ、プロセッサなどで構成される画像処理装置により画像処理を行い、フォーカルプレーンシャッタ現象により発生する撮像画像の被写体の形状ひずみを低減する技術について、以下に説明する。
【0077】
図9は、このような画像処理を行う画像処理装置81の構成を示すブロック図である。画像処理装置81においては、複数フレーム分の撮像画像を基に、フォーカルプレーンシャッタ現象による画像のひずみが補正された静止画像を得ることができるようになされている。
【0078】
画像処理装置81は、撮像部91および画像処理部92で構成されている。
【0079】
撮像部91は、レンズなどの光学部材と、上述したフォーカルプレーンシャッタ現象を発生する構成を有する撮像素子から構成されている。撮像素子には、光電変換機能を備えた画素に対応する受光素子がアレイ状に配置された固体撮像素子を用いることができ、例えば、XYアドレス型撮像素子を用いることができる。
【0080】
XYアドレス型撮像素子とは、各画素のアドレス(位置)を指定して、個々の画素データを読み出す形式を採用したセンサである。すなわち、CCDのような、各画素からのデータを順次転送する形式の撮像素子とは異なる形式で、フォトダイオードなどに蓄積された電荷が読み出されるようになされているものである。
【0081】
XYアドレス型撮像素子には、図3および4を用いて説明した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;接合型電界効果トランジスタ)が用いられている。
【0082】
撮像部91においては、通常のデジタルスチルカメラにおけるシャッタスピード(例えば、1/60秒)に対して、例えば、4倍程度(例えば、1/240秒)のフレームレートで、連続して画像を撮像することが可能である。撮像部91により撮像された画像信号は、上述したように、行ごとに、露光タイミングが異なる。なお、通常のデジタルスチルカメラにおけるシャッタスピードの4倍程度のフレームレートであっても、例えば、図7を用いて説明したように、高速に移動する被写体を撮像する場合や、図8を用いて説明したように、高速にカメラを移動する(パンする)場合などには、通常に撮像されて得られる撮像画像においては、フォーカルプレーンシャッタ現象により、撮像画像に歪が生じる。
【0083】
撮像部91により撮像された画像信号は、画像処理部92に供給される。また、画像処理部92は、他の装置に記録されている画像データを取得して処理することが可能であることは言うまでもない。
【0084】
他の装置に記録されている画像データを取得して処理する場合、取得される画像データは、連続して撮影された一連の画像群であり、その一連の画像群は、撮像部91に用いられている撮像素子と同様の撮像素子で撮像され、その撮像信号に処理を加えていない、換言すれば、撮像素子から得られた電気信号を単純にデジタル化した、いわゆるRAWデータであってもよいし、RAWデータに対して映像として鑑賞することができるような(鑑賞できる状態で表示可能なように)処理が施されて生成された画像データであってもよい。
【0085】
画像処理部92は、前処理部101、乗算部102、係数記憶部103、加算部104、および、画像一時記憶部105で構成されている。
【0086】
前処理部101は、各画素信号を所望の信号形態や信号レベルに整える処理を実行するものであり、例えば、撮像部91、または、図示しない他の装置から入力された画素信号がアナログ信号のとき、入力された画素信号を、アナログ信号からデジタル信号に変換して乗算部102に供給する。また、前処理部101は、例えば、供給された画素信号が固体撮像素子で撮像された場合など、撮像部91、または、図示しない他の装置から入力された画素信号が、撮像素子から得られた電気信号を単純にデジタル化したRAWデータであるとき、撮像素子の遮光部の画素信号レベルなどを基に信号処理系の黒レベルを設定して、正常な信号出力を行わない欠陥画素の信号レベルを周囲の正常な画素信号レベルで補間する処理を実行して、補間後の画素信号により構成された画像データを、乗算部102に供給する。また、前処理部101は、例えば、図示しない他の装置から入力された画素信号が、表示可能な状態のデータであるとき、入力された画素信号を、逆ガンマ変換によりRAWデータと同じ輝度信号カーブ(輝度信号特性)を有する信号に変換する処理を実行したのち、撮像素子の遮光部の画素信号レベルなどをもとに信号処理系の黒レベルを設定して、正常な信号出力を行わない欠陥画素があれば、その信号レベルを周囲の正常な画素信号レベルで補間する処理を実行し、補間後の画素信号により構成された画像データを、乗算部102に供給する。
【0087】
乗算部102は、前処理部101から供給された画像信号のうちの所定の画素信号に対して、係数記憶部103に記憶されている所定の係数を乗算し、加算部104に供給する。乗算部102は、乗算処理を実行しない画素信号は、そのまま、加算部104に供給する。係数記憶部103は、乗算部102において用いられる係数を記憶する。乗算部102による乗算処理とその係数についての詳細は、後述する。
【0088】
加算部104は、画像一時記憶部105にデータが記憶されていない場合、乗算部102から供給された1フレーム分の画素信号を画像一時記憶部105に供給し、画像一時記憶部105に画像信号が記憶されている場合、乗算部102から供給された1フレーム分の画素信号と、画像一時記憶部105に記憶されている画像信号とを合成し、合成されて生成される画像信号を、画像一時記憶部105に供給するか、または、外部に出力する。すなわち、加算部104は、複数の画像データフレーム(そのうちの少なくとも一部は、乗算部102による乗算処理が施されている画像データフレーム)を加算して、加算結果を外部に出力する。加算部104による加算処理の詳細については、後述する。
【0089】
画像一時記憶部105は、加算部104から供給される1フレーム分の画像信号を一時記憶する。
【0090】
次に、図10を参照して、乗算部102による乗算処理と加算部104による加算処理について説明する。
【0091】
画像処理装置81は、フォーカルプレーンシャッタ現象が発生した撮像画像、すなわち、撮像画像の行ごとに露光時間の異なる撮像画像を、例えば、k(kは2以上の正の整数)フレーム利用して、グローバルシャッタ動作によって得られる撮像画像、すなわち、1フレームに含まれる各画素の露光時間が同一である撮像画像に近い画像となるように、補正することができる。
【0092】
すなわち、画像処理装置81においては、フォーカルプレーンシャッタ現象により、画像の上の部分と下の部分では露光タイミングが1画像分ずれている、連続で撮影されたk枚の画像列F1,F2,・・・,F(k-1),Fkに対応つけて、図10において、区間αで示されるグローバルシャッタ動作で露光された場合(図中、斜線で示される領域)を想定した補正画像が生成される。
【0093】
具体的には、撮像されたそれぞれの画像データフレームは、上述したように、画像の上の部分と下の部分では露光タイミングが1画像分ずれているので、最初の画像データフレームF1のうち、画像データフレームの上の部分ほど演算に寄与しないようにし、逆に画像データフレームの下の部分ほど演算に大きく寄与するよう係数を決める。また最後の画像データフレームFkでは、画像データフレームの上の部分ほど演算への寄与率を高め、下の部分ほど寄与率を小さくする。
【0094】
このとき、最初の画像データフレームF1の各行の画素値に乗算される係数aは、画像全体でM行の画素(縦の総画素数がM画素)が存在すると仮定すると、例えば、先頭行の画素に対しては係数a=0、次の行には係数a=1/M、その次の行には係数a=2/M、・・・というように、係数が1/Mずつ増加するように割り当て、最終行では係数は(M-1)/M=1となるように定めることができる。そして、最初の画像データフレームF1の各行の各画素の画素値に、その行に対応する係数aが乗算される。すなわち、最初の画像データフレームF1に対して乗算処理が施されることにより、先頭行に近いほど薄く、最終行に近いほど、通常の濃度に近い画像データフレームを得ることができる。
【0095】
そして、2枚目の画像データフレームF2から、最後から2枚目の画像データフレームF(k-1)までのそれぞれの画像データフレームに含まれる各画素には、係数が乗算されない。そして、最後の画像データフレームFkの各行の画素値には、係数(1-a)が乗算されるものとする。すなわち、最後の画像データフレームFkに対して乗算処理が施されることにより、先頭行に近いほど通常の濃度に近く、最終行に近いほど、薄い画像データフレームを得ることができる。
【0096】
このようにして、撮像されたそれぞれの画像データフレームが何枚目のフレームであるか、また、いずれの画素位置であるかに応じて、係数が乗算されたのち、K枚の画像データフレームのそれぞれの画素の画素値が加算される。
【0097】
そして得られた合成画像データフレームaF1+F2+・・・+F(k-1)+(1-a)Fkは、図10において、区間αで示されるグローバルシャッタ動作で露光された場合を想定した補正画像となる。
【0098】
このとき、合成される画像の枚数が多いほど、合成されて生成される画像データにおける被写体の歪みは補正されて見える。しかしながら、合成される画像の枚数が多いほど、動きのある被写体(または、カメラが動くことにより画面内で動きが与えられた被写体)の像には、いわゆる、ブレが発生する。このブレを抑制するためには、合成される画像を撮像するときのフレームレートをできるだけ早くすると好適である。例えば、通常のデジタルスチルカメラにおけるシャッタスピードの3倍のフレームレートによって撮像された画像データフレーム3枚を用いて合成処理を行った場合に得られる補正画像に発生するブレは、通常のデジタルスチルカメラにおいて発生するブレとほぼ同等となる。
【0099】
また、被写体の歪みの補正の精度と、ブレの発生とのいずれを抑制したほうがより良い撮像画像を得ることができるかは、撮像される被写体の種類や、その動きの早さ、または、カメラのパンの早さなどの撮像の状況によって決まるものである。したがって、合成される画像データフレームの枚数は、ユーザにより設定可能なようにすると好適である。
【0100】
なお、ここでは、係数aについて、画像全体でM行(縦の総画素数がM画素)存在すると仮定すると、先頭行の画素に対しては係数a=0、次の行には係数a=1/M、その次の行には係数a=2/M、・・・というように、係数が1/Mずつ増加するように割り当て、最終行では係数は(M-1)/M=1となるように定めるものとして説明したが、先頭行が小さい値、すなわち、0に近い値となり、最終行が大きな値、すなわち、1に近い値となれば、これ以外の係数の割り当て方法となってもよいことはいうまでもない。また、これらの係数は、ユーザにより設定可能なようにすると好適である。そして、係数は、被写体の移動速度、カメラの移動速度、シャッタスピード、フレームレートによって、適切に設定することが可能である。
【0101】
k=7とした具体例を図11に示す。
【0102】
最初の画像データフレームF1の各行の各画素の画素値に、その行に対応する係数aが乗算される。すなわち、最初の画像データフレームF1に対して乗算処理が施されることにより、先頭行に近いほど薄く、最終行に近いほど、通常の濃度に近い画像データフレームを得ることができる。
【0103】
そして、2枚目の画像データフレームF2から画像データフレームF6までのそれぞれの画像データフレームに含まれる各画素には、係数が乗算されない。そして、最後の画像データフレームF7の各行の画素値には、係数(1-a)が乗算されるものとする。すなわち、最後の画像データフレームF7に対して乗算処理が施されることにより、先頭行に近いほど通常の濃度に近く、最終行に近いほど、薄い画像データフレームを得ることができる。
【0104】
このようにして、撮像されたそれぞれの画像データフレームが何枚目のフレームであるか、また、いずれの画素位置であるかに応じた係数が乗算されたのち、7枚の画像データフレームのそれぞれの画素の画素値が加算される。
【0105】
そして得られた合成画像データフレームaF1+F2+・・・+F6+(1-a)F7は、図11において、区間βで示されるグローバルシャッタ動作で露光された場合を想定した補正画像となる。
【0106】
次に、図12を参照して、k枚のフレーム画像データを用いて補正画像が生成される場合の演算と信号処理の流れについて説明する。
【0107】
係数記憶部103には、合成されるはじめのフレームの各行に乗算される係数aと、合成される最後のフレームの各行に乗算される係数(1-a)が記憶されている。
【0108】
係数aは、図10を用いて説明したように、係数aは、画像全体でM行(縦の総画素数がM画素)存在すると仮定すると、例えば、先頭行の画素に対しては係数a=0、次の行には係数a=1/M、その次の行には係数a=2/M、・・・というように、係数が1/Mずつ増加するように割り当て、最終行では係数は(M-1)/M=1となるように定めるようにしても良いし、先頭行が小さい値、すなわち、0に近い値となり、最終行が大きな値、すなわち、1に近い値となれば、これ以外の係数の割り当て方法となってもよい。
【0109】
最初の画像データフレームF1が乗算部102に入力されると、乗算部102は、係数記憶部103に記憶されている、行ごとに定められた係数aを読み出して、画像データフレームF1の各行の画素値に乗算する。そして、得られた画像データフレームaF1は、加算部104を介して(加算部104による加算処理は行われずに)、画像一時記憶部105に供給されて格納される。
【0110】
次に2枚目の画像データフレームF2が乗算部102に入力されると、乗算部102では乗算処理が行われることなく、加算部104において、画像一時記憶部105に格納されていた画像データフレームaF1と画像データフレームF2との加算処理(各画素値の加算処理)が行われ、加算結果となる画像データフレームaF1+F2が生成される。生成された画像データフレームaF1+F2は、画像一時記憶部105に供給されて格納される。
【0111】
そして、3枚目の画像データフレームF3から、最後から2枚目の画像データフレームF(k-1)まで、2枚目の画像データフレームF2における場合と同様の処理が繰り返され、画像一時記憶部105には、画像データフレームaF1+F2+・・・+F(k-1)が供給されて格納される。
【0112】
そして、最後のk枚目の画像データフレームFkが入力されると、乗算部102は、係数記憶部103に記憶されている、行ごとに定められた係数(1-a)を読み出して、画像データフレームFkの各行の画素値に乗算する。そして、得られた画像データフレーム(1-a)Fkは、加算部104に供給され、画像一時記憶部105に格納されている画像データフレームaF1+F2+・・・+F(k-1)との加算処理(各画素値の加算処理)が行われ、補正画像に対応する画像データフレームaF1+F2+・・・+F(k-1)+(1-a)Fkが生成されて出力される。
【0113】
このようにして,図10において区間αで示された露光時間でグローバルシャッタ動作により撮像される撮像画像(図10において斜線で示したような露光時間に対応する撮像画像)を想定した補正画像、すなわち、画像の上下で露光タイミングが同一である撮像画像に近くなるように補正された合成画像を得ることができる。
【0114】
7枚のフレーム画像データを用いて補正画像が生成される場合(k=7)の演算と信号処理の流れの具体例を図13に示す。
【0115】
すなわち、1枚目の画像データフレームF1が乗算部102に入力されると、乗算部102は、係数記憶部103に記憶されている、行ごとに定められた係数aを読み出して、画像データフレームF1の各行の画素値に乗算する。そして、得られた画像データフレームaF1は、加算部104を介して、画像一時記憶部105に供給されて格納される。
【0116】
そして、2枚目の画像データフレームF2から、6枚目の画像データフレームF6が、乗算部102に入力されると、乗算部102では乗算処理が行われることなく、加算部104において、画像一時記憶部105に格納されていた画像データフレームとの加算処理(各画素値の加算処理)が行われ、6枚目の画像データフレームF6の加算後、画像データフレームaF1+F2+F3+F4+F5+F6が生成される。生成された画像データフレームaF1+F2+F3+F4+F5+F6は、画像一時記憶部105に供給されて格納される。
【0117】
そして、最後の7枚目の画像データフレームF7が入力されると、乗算部102は、係数記憶部103に記憶されている、行ごとに定められた係数(1-a)を読み出して、画像データフレームF7の各行の画素値に乗算する。そして、得られた画像データフレーム(1-a)F7は、加算部104に供給され、画像一時記憶部105に格納されている画像データフレームaF1+F2+F3+F4+F5+F6との加算処理(各画素値の加算処理)が行われ、補正画像に対応する画像データフレームaF1+F2+F3+F4+F5+F6+(1-a)F7が生成されて出力される。
【0118】
次に、図12を用いて説明した各部が実行する処理について、図14を参照して、時系列に説明する。
【0119】
前処理部101から1枚目の画像データフレームF1が出力されている間に、係数記憶部103から、係数aが読み出されて、乗算部102において、画像データフレームF1の対応する各画素に、係数aが乗算されて、得られた画像データフレームaF1が、加算部104を介して(加算部104による加算処理は実行されずに)、画像一時記憶部105に供給されて格納される。
【0120】
前処理部101から2枚目の画像データフレームF2が出力されている間には、係数記憶部103からの係数の読み出しと乗算部102における乗算処理は実行されず、画像一時記憶部105に格納されている画像データフレームaF1が加算部104に読み出されて、加算部104において、画像データフレームaF1と画像データフレームF2との加算処理(各画素の画素値の加算処理)が実行されて、得られた画像データフレームaF1+F2が、画像一時記憶部105に供給されて格納される。
【0121】
そして、前処理部101から2枚目の画像データフレームF2が出力されている間と同様にして、前処理部101から3枚目の画像データフレームF3乃至(k-1)枚目の画像データフレームF(k-1)が出力されている間には、係数記憶部103からの係数の読み出しと乗算部102における乗算処理は実行されず、画像一時記憶部105に格納されている画像データフレームが加算部104に読み出されて、加算部104において、画像一時記憶部105から読み出された画像データフレームと新たに供給された画像データフレームとの加算処理(各画素の画素値の加算処理)が実行されて、得られた画像データフレームが、画像一時記憶部105に供給されて格納される。
【0122】
そして、前処理部101からk枚目の画像データフレームFkが出力されるとき、係数記憶部103から、係数(1-a)が読み出されて、乗算部102において、画像データフレームFkの対応する各画素に、係数(1-a)が乗算されて、画像データフレーム(1-a)Fkが得られる。そして、画像一時記憶部105に格納されている画像データフレームaF1+F2+・・・+F(k-1)が加算部104に読み出されて、加算部104において、画像データフレームaF1+F2+・・・+F(k-1)と画像データフレーム(1-a)Fkとの加算処理(各画素の画素値の加算処理)が実行されて、得られた画像データフレームaF1+F2+・・・+F(k-1)+(1-a)Fkが加算部104から補正画像データとして出力される。
【0123】
なお、上述した例においては、合成される画像のうちの、時間的に最初の画像データフレームF1と最後の画像データフレームFkにのみ、係数を乗じるものとして説明したが、必要に応じて、3枚以上の任意の画像データフレームや、全ての画像データフレームに任意の係数を設定して乗じることにより、異なる補正処理を施すものとしても良いことはいうまでもない。
【0124】
このように、3枚以上の任意の画像データフレームや、全ての画像データフレームに任意の係数が設定される場合、それぞれの画像データフレームに対して乗ぜられる係数は、1枚目に近いほど、先頭行が小さい値となり、最終行が大きな値となり、複数枚の中央部分に近いほど、全ての行で1に近い値となり、最終枚に近いほど、先頭行が大きな値となり、最終行が小さい値となるように設定されると好適である。
【0125】
具体的には、例えば、全ての画像データフレームに任意の係数が設定される場合、(2X+1)枚の画像データを用いて合成処理が行われ、それぞれの画像データフレームには画素がM行(縦の総画素数がM画素)存在する場合、1枚目からX枚目までのk枚目においては、先頭行の画素に対しては係数(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)枚目までのk枚目においては、最終行の画素に対しては係数(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となるように定めるものとすることができる。
【0126】
また、これらの係数は、ユーザにより設定可能なようにすることもできる。そして、係数は、被写体の移動速度、カメラの移動速度、シャッタスピード、フレームレートによって、適切に設定することが可能である。
【0127】
このように、各合成画像データフレームに乗ぜられる行ごとに定められた係数をa1,a2,a3,・・・akとした時の、図12を用いて説明した各部が実行する処理について、図15を参照して、時系列に説明する。
【0128】
前処理部101から1枚目の画像データフレームF1が出力されている間に、係数記憶部103から、係数a1が読み出されて、乗算部102において、画像データフレームF1の対応する各画素に、係数a1が乗算されて、得られた画像データフレームa1×F1が、加算部104を介して(加算部104による加算処理は実行されずに)、画像一時記憶部105に供給されて格納される。
【0129】
前処理部101から2枚目の画像データフレームF2が出力されている間に、係数記憶部103から、係数a2が読み出されて、乗算部102において、画像データフレームF2の対応する各画素に、係数a2が乗算されて、得られた画像データフレームa2×F2が、加算部104において、画像一時記憶部105に格納されている画像データフレームa1×F1と加算処理(各画素の画素値の加算処理)されて、得られた画像データフレームa1×F1+a2×F2が、画像一時記憶部105に供給されて格納される。
【0130】
そして、前処理部101から2枚目の画像データフレームF2が出力されている間と同様にして、前処理部101から3枚目の画像データフレームF3乃至(k-1)枚目の画像データフレームF(k-1)が出力されている間に、係数記憶部103から、対応する係数(係数a3乃至係数a(k-1)のうちのいずれか対応するもの)が読み出されて、乗算部102において、前処理部101から供給された画像データフレーム(画像データフレームF3乃至(k-1)枚目の画像データフレームF(k-1)のうちの対応するもの)の対応する各画素に、読み出された係数が乗算されて、得られた画像データフレームが、加算部104において、画像一時記憶部105に格納されている画像データフレームと加算処理(各画素の画素値の加算処理)されて、得られた画像データフレームが、画像一時記憶部105に供給されて格納される。
【0131】
そして、前処理部101からk枚目の画像データフレームFkが出力されるとき、係数記憶部103から、係数akが読み出されて、乗算部102において、画像データフレームFkの対応する各画素に、係数akが乗算されて、画像データフレームak×Fkが得られる。そして、画像一時記憶部105に格納されている画像データフレームa1×F1+a2×F2+・・・+a(k-1)×F(k-1)が加算部104に読み出されて、加算部104において、画像データフレームa1×F1+a2×F2+・・・+a(k-1)×F(k-1)と画像データフレームak×Fkとの加算処理(各画素の画素値の加算処理)が実行されて、得られた画像データフレームa1×F1+a2×F2+・・・+a(k-1)×F(k-1)+ak×Fkが加算部104から補正画像データとして出力される。
【0132】
このようにして得られる合成画像について、図16乃至図19を用いて説明する。
【0133】
例えば、図16Aに示されるように撮像画面中右方向に移動する被写体を、露光時刻が画面上側と比較して画面下側が遅れるフォーカルプレーンシャッタ動作で撮像すると、図16Bに示されるように、行ごとの露光時刻のずれのため、被写体自体が歪んで撮像されてしまう。
【0134】
例えば、このような被写体を連続して撮像して3枚の画像を取得し、上述したようにして画像処理を施して合成処理を行う場合の合成画像、すなわち、補正されて得られる画像について、図17および図18を用いて説明する。
【0135】
1枚目の画像においては、露光時刻の早い画面中上側の行の各画素に乗ぜられる係数として0に近い値が設定され、行が下がっていくにつれて、係数の値が大きくなり、最も下側の行の各画素に乗ぜられる係数は、1に近い値となるので、図17Aに示されるように、係数乗算後に得られる画像データフレームは、画面上側の濃度が薄く、画面下側の濃度が高いものとなる。
【0136】
そして、2枚目の画像においては、いずれの画素にも係数が掛けられない、換言すれば、いずれの画素にも係数1が乗ぜられるので、図17Bに示されるように、フォーカルプレーン動作によって撮像される通常の歪んだ画像データフレームが得られる。
【0137】
そして、最後となる3枚目の画像においては、露光時刻の早い画面中上側の行の各画素に乗ぜられる係数として1に近い値が設定され、行が下がっていくにつれて、係数の値が小さくなり、最も下側の行の各画素に乗ぜられる係数は、0に近い値となるので、図17Cに示されるように、係数乗算後に得られる画像データフレームは、画面上側の濃度が高く、画面下側の濃度が薄いものとなる。
【0138】
そして、これら3枚の画像データフレームを合成することにより、図18に示されるような合成画像を得ることができる。この画像は、図16Bに示された画像と比較して、歪が補正されたように見える。
【0139】
また、例えば、図7に示した、回転する羽を撮像して得られる画像に対して、上述した合成処理が行われることにより、例えば、図19に示されるように、羽の歪みが補正されたように見える合成画像を得ることができる。
【0140】
上述した画像処理装置81を応用した静止画撮影用カメラ(デジタルスチルカメラ)131の構成例を、図20に示す。
【0141】
静止画像撮影用カメラ131には、上述した画像処理装置81と同様に撮像部91および画像処理部92が設けられているとともに、コントローラ141、メモリ142、ユーザインタフェース143、映像信号処理部144、画像圧縮部145、表示部146、外部インタフェース147、大容量記憶部148、制御信号バス151、および、画像データバス152が設けられている。
【0142】
コントローラ141は、ユーザインタフェース143から供給されるユーザの操作入力に基づいて、静止画像撮影用カメラ131の各部の動作を制御する。コントローラ141は、制御信号バス151を介して、各部と接続されている。
【0143】
メモリ142は、コントローラ141が実行する処理に必要な情報を記憶する。
【0144】
ユーザインタフェース143は、ユーザの操作入力を受け、制御信号バス151を介して、コントローラ141に供給するとともに、静止画像撮影用カメラ131において設定されているそれぞれのパラメータなどをユーザに通知するための表示部などを備えている。
【0145】
映像信号処理部144は、コントローラ141の制御に基づいて、画像処理部92から出力された、補正済み、すなわち、上述した合成処理が行われた画像データフレームの供給を受け、例えば、ガンマ変換など、表示または記憶のために必要な所定の処理を施す。
【0146】
画像圧縮部145は、コントローラ141の制御に基づいて、映像信号処理部144により所定の処理が施された画像データフレームを、外部に出力したり、大容量記憶部148に記憶するために、必要に応じて、圧縮処理を施す。
【0147】
表示部146は、コントローラ141の制御に基づいて、画像データフレームの供給を受け、これを表示する。
【0148】
外部インタフェース147は、コントローラ141の制御に基づいて、映像信号処理部144において処理された、または、画像圧縮部145の処理により圧縮処理が施された、もしくは、大容量記憶部148に記憶されているデータを外部に出力する。また、外部インタフェース147は、外部の機器から供給されたデータを取得し、信号処理のために映像信号処理部144に供給したり、圧縮処理を施させるために画像圧縮部145に供給したり、内部に記憶させるために大容量記憶部148に供給したり、または、上述したような補正処理(合成処理)を行わせるために、画像処理部92に供給する。
【0149】
大容量記憶部148は、供給されたデータを記憶する。
【0150】
制御信号バス151は、コントローラ141により生成された制御信号、または、各部からコントローラに供給される応答などの授受に用いられる。
【0151】
画像データバス152は、各種処理が施される前の、または、各種処理が施された画像データの授受に用いられる。
【0152】
次に、静止画像撮影用カメラ131の動作について説明する。
【0153】
ユーザにより撮像が指令された場合、撮像部91は、連続して複数枚の画像を撮像し、画像処理部92に供給する。画像処理部91は、上述したように、供給された複数枚の画像データフレームに対して、所定の係数の乗算処理と、合成処理を実行し、フォーカルプレーンシャッタ現象により生じた被写体の歪みが補正された補正画像を生成し、映像信号処理部144に供給する。
【0154】
映像信号処理部144は、制御信号バス151を介して供給されるコントローラ141の制御に基づいて、画像処理部92から出力された、補正済み、すなわち、上述した合成処理が行われた画像データフレームの供給を受け、例えば、ガンマ変換などの、必要な所定の処理を施し、画像データバス152を介して、表示部146に供給する。表示部146は、供給された画像データフレームを表示する。
【0155】
表示された画像データフレームを参照したユーザから、この画像の保存が指令された場合、上述した合成処理が行われた画像データフレームは、必要に応じて画像圧縮部145において圧縮され、画像データバス152を介して、大容量記憶部148に供給されて保存される。また、ユーザから、この画像の外部への供給が指令された場合、上述した合成処理が行われた画像データフレームは、必要に応じて画像圧縮部145において圧縮され、画像データバス152を介して、外部インタフェース147から外部の機器に供給される。
【0156】
図21のフローチャートを参照して、静止画像撮影用カメラ131において実行される、静止画像の撮像処理について説明する。
【0157】
ステップS1において、コントローラ141は、静止画像の撮像が指令されたか否かを判断する。ステップS1において、静止画像の撮像が指令されたと判断された場合、処理は、後述するステップS6に進む。
【0158】
ステップS1において、静止画像の撮像が指令されていないと判断された場合、ステップS2において、コントローラ141は、ユーザインタフェース143から供給された信号を基に、ユーザから、合成フレーム数の設定の変更が指令されたか否かを判断する。
【0159】
ステップS2において、合成フレーム数の設定の変更が指令されたと判断された場合、ステップS3において、コントローラ141は、ユーザインタフェース143から供給された信号を基に、合成フレーム数の設定を変更させるための制御信号を生成し、制御信号バス151を介して、画像処理部92および撮像部91に供給する。画像処理部92および撮像部91は、合成フレーム数の設定を変更する。
【0160】
ステップS2において、合成フレーム数の設定の変更が指令されていないと判断された場合、または、ステップS3の処理の終了後、ステップS4において、コントローラ141は、ユーザインタフェース143から供給された信号を基に、ユーザから、画像の補正のための乗算処理に用いられる係数の設定の変更が指令されたか否かを判断する。ステップS4において、係数の設定の変更が指令されていないと判断された場合、処理が終了される。
【0161】
ステップS4において、係数の設定の変更が指令されたと判断された場合、ステップS5において、コントローラ141は、ユーザインタフェース143から供給された信号を基に、係数の設定を変更させるための制御信号を生成し、制御信号バス151を介して、画像処理部92に供給する。画像処理部92は、係数の設定を変更し、処理が終了される。ここで、係数は、被写体の移動速度、カメラの移動速度、シャッタスピード、フレームレートによって、適切に設定することが可能である。
【0162】
ステップS1において、静止画像の撮像が指令されたと判断された場合、ステップS6において、撮像部91および画像処理部92は、合成フレーム数の設定を取得する。
【0163】
ステップS7において、画像処理部92は、係数の設定を取得する。
【0164】
ステップS8において、撮像部91は、所定フレーム数の撮像を実行し、撮像された所定フレーム数の画像データを、画像処理部92に供給する。
【0165】
ステップS9において、図22を用いて後述する画像演算処理1が実行される。
【0166】
ステップS10において、コントローラ141は、画像処理部92から出力される、ステップS9において実行された画像演算処理における演算結果、すなわち、上述した補正画像に必要に応じて映像信号処理部144により処理を施させた後、表示部146への供給を制御する。表示部146は、演算結果となる画像データの供給を受け、上述した補正画像を表示する。
【0167】
ステップS11において、コントローラ141は、ユーザインタフェース143から供給された信号を基に、ユーザから、演算結果の記憶が指令されたか否かを判断する。
【0168】
ステップS11において、演算結果の記憶が指令されたと判断された場合、ステップS12において、コントローラ141は、演算結果を必要に応じて画像圧縮部145に供給して圧縮処理を施した後、大容量記憶部148に供給する。外容量記憶部148は、供給された演算結果を記憶する。
【0169】
ステップS11において、演算結果の記憶が指令されていないと判断された場合、または、ステップS12の処理の終了後、ステップS13において、コントローラ141は、ユーザインタフェース143から供給された信号を基に、演算結果の外部出力が指令されたか否かを判断する。ステップS13において、演算結果の外部出力が指令されていないと判断された場合、処理は終了される。
【0170】
ステップS13において、演算結果の外部出力が指令されたと判断された場合、ステップS14において、コントローラ141は、演算結果を必要に応じて画像圧縮部145に供給して圧縮処理を施した後、外部インタフェース147に供給する。外部インタフェース147は、供給された演算結果を、所定の外部機器などに出力して処理が終了される。
【0171】
このような処理により、撮像されて、補正された画像データが表示され、ユーザの操作入力に基づいて、内部に記憶されたり、外部の機器などに出力される。
【0172】
次に、図22のフローチャートを参照して、図21のステップS9において実行される画像演算処理1について説明する。
【0173】
ステップS41において、前処理部101は、1フレーム目の撮像画像データを乗算部102に供給する。乗算部102は、1フレーム目の撮像画像データを取得する。
【0174】
ステップS42において、乗算部102は、供給されたフレームは、行ごとの係数乗算処理を実行するフレームであるか否かを判断する。ステップS42において、供給されたフレームは、行ごとの係数乗算処理を実行するフレームではないと判断された場合、処理は、後述するステップS45に進む。
【0175】
ステップS42において、供給されたフレームは、行ごとの係数乗算処理を実行するフレームであると判断された場合、ステップS43において、乗算部102は、係数記憶部103に記憶されている対応する係数を取得する。
【0176】
ステップS44において、乗算部102は、各行の画素データに、対応する係数を乗じる。すなわち、例えば、図17Aまたは図17Cを用いて説明したようなデータフレームが生成される。
【0177】
ステップS42において、供給されたフレームは、行ごとの係数乗算処理を実行するフレームではないと判断された場合、または、ステップS44の処理の終了後、ステップS45において、加算部104は、乗算部102からデータフレームの供給を受け、画像一時記憶部105に、前フレームまたは加算結果が存在するか否かを判断する。
【0178】
具体的には、加算部104が、乗算部102から、1フレーム目に対応するデータフレームの供給を受けたとき、画像一時記憶部105にはデータフレームがいずれも存在していない。また、加算部104が、乗算部102から、2フレーム目に対応するデータフレームの供給を受けたとき、画像一時記憶部105には1フレーム目に対応する(必要に応じて所定の係数が乗ぜられた)データフレームが記憶されている。そして、加算部104が、乗算部102から、3フレーム目以降に対応するデータフレームの供給を受けたとき、画像一時記憶部105には、過去の加算部104による画像データフレームの加算結果が記憶されている。
【0179】
ステップS45において、画像一時記憶部105に、前フレームまたは加算結果が存在していないと判断された場合、ステップS46において、加算部104は、フレームのデータをそのまま画像一時記憶部105に供給する。画像一時記憶部105は供給された画像データフレームを一時記憶し、処理は、後述するステップS50に進む。
【0180】
ステップS45において、画像一時記憶部105に、前フレームまたは加算結果が存在すると判断された場合、ステップS47において、加算部104は、乗算部102から供給された現フレーム(必要に応じて乗算処理が施されているものと施されていないものとが存在する)と、画像一時記憶部105に記憶されている前のフレームまたは加算結果の各画素との加算処理を実行する。
【0181】
ステップS48において、加算部104は、加算処理を実行した、乗算部102から供給された現フレームは、補正を行うために合成される複数画像データフレームのうちの最終フレームであるか否かを判断する。
【0182】
ステップS48において、最終フレームではないと判断された場合、ステップS49において、加算部104は、加算結果を画像一時記憶部105に供給する。画像一時記憶部105は供給された画像データフレームを一時記憶する。
【0183】
ステップS46またはステップS49の処理の終了後、ステップS50において、前処理部101は、次のフレームの撮像画像データを乗算部102に供給する。乗算部102は次のフレームの撮像画像データを取得し、処理は、ステップS42に戻り、それ以降の処理が繰り返される。
【0184】
ステップS48において、最終フレームであると判断された場合、ステップS51において、加算部104は、加算結果を出力し、処理は、図21のステップS9に戻り、ステップS10に進む。
【0185】
このような処理により、フォーカルプレーンシャッタ現象により被写体が歪んで撮像された複数の連続した撮像画像に対して、必要に応じて所定の係数が乗算されることにより、例えば、図17を用いて説明したように、補正画像を生成するために用いられる画像データフレームが生成され、これらが合成されることにより、例えば、図18を用いて説明したように、フォーカルプレーンシャッタ現象により発生する被写体の歪みが補正されて見える画像データを得ることができる。
【0186】
このとき、合成される画像の枚数が多いほど、合成されて生成される画像データにおける被写体の歪みは補正されて見える。しかしながら、合成される画像の枚数が多いほど、動きのある被写体(または、カメラが動くことにより画面内で動きが与えられた被写体)の像には、いわゆる、ブレが発生する。このブレを抑制するためには、合成される画像を撮像するときのフレームレートをできるだけ早くすると好適である。例えば、通常のデジタルスチルカメラにおけるシャッタスピードの3倍のフレームレートによって撮像された画像データフレーム3枚を用いて合成処理を行った場合に得られる補正画像に発生するブレは、通常のデジタルスチルカメラにおいて発生するブレとほぼ同等となる。
【0187】
なお、図21および図22においては、図20を用いて説明した静止画像撮影用カメラ131において実行される処理について説明したが、図9を用いて説明した画像処理装置81が実行する処理は、図22を用いて説明した画像演算処理1と基本的に同様の処理となる。
【0188】
次に、動画像を撮像する場合において同様にフォーカルプレーンシャッタ現象により発生する被写体の歪みを補正するための装置および処理について説明する。
【0189】
画像データフレームを連続して表示することにより動画像を表示することができるので、上述した静止画像における場合を応用して、動画像を構成するそれぞれのフレームを補正することにより、動画像を撮像する場合において同様にフォーカルプレーンシャッタ現象により発生する被写体の歪みを補正することができる。すなわち、フォーカルプレーンシャッタ現象により被写体が歪んで撮像された複数の連続した撮像画像に対して、例えば、図17および図18を用いて説明したように、必要に応じて所定の係数が乗算されて合成されることにより生成された補正画像データを連続して表示することができれば、動画像を撮像する場合においても同様にして、フォーカルプレーンシャッタ現象により発生する被写体の歪みを補正することができる。
【0190】
図23は、動画像を撮像する場合にフォーカルプレーンシャッタ現象により発生する被写体の歪みを補正する画像処理装置201の構成を示すブロック図である。
【0191】
なお、図9における場合と対応する部分は、同一の符号を付してあり、その説明は適宜省略する。
【0192】
すなわち、撮像部91においては、通常のデジタルスチルカメラにおけるシャッタスピード(例えば、1/60秒)に対して、例えば、4倍程度(例えば、1/240秒)のフレームレートで、連続して画像を撮像することが可能であり、撮像された画像信号は、行ごとに、露光タイミングが異なるものであるため、フォーカルプレーンシャッタ現象により、撮像画像に歪が生じる。
【0193】
撮像部91により撮像された画像信号は、画像処理部211に供給される。また、画像処理部211は、他の装置に記録されている画像データを取得して処理することが可能であることは言うまでもない。
【0194】
ここでも、他の装置に記録されている画像データを取得して処理する場合、取得される画像データは、連続して撮影された一連の画像群であり、その一連の画像群は、撮像部91に用いられている撮像素子と同様の撮像素子で撮像され、その撮像信号に処理を加えていない、換言すれば、撮像素子から得られた電気信号を単純にデジタル化した、いわゆるRAWデータであってもよいし、RAWデータに対して映像として鑑賞することができるような(鑑賞できる状態で表示可能なように)処理が施されて生成された画像データであってもよい。
【0195】
そして、画像処理部211は、図9における場合と同様の前処理部101および係数記憶部103に加えて、更に、選択部231、#1画像一時記憶部232-1乃至#k画像一時記憶部232-k、#1乗算部233-1乃至#k乗算部233−k、および、加算部234で構成されている。
【0196】
静止画の場合、複数の撮像画像から1フレーム分の補正画像データを生成するので、1枚の撮像画像を他の補正画像データの生成にも用いることは想定されていなかったが、連続した補正画像データを用いて補正された動画像を表示する場合には、1枚の撮像画像データは、動画像を構成する複数の画像データフレームの合成処理に重複して利用される。すなわち、静止画像を補正する場合、一度合成処理に用いた画像データは破棄することができるが、動画像の場合は、一度使った画像も巡回的に繰り返して合成処理に用いるので、複数の撮像画像のそれぞれを記憶するための記憶部が必要となる。
【0197】
そこで、選択部231は、前処理部101から供給された画像信号を、#1画像一時記憶部232-1乃至#k画像一時記憶部232-kのうちのいずれかに順次振り分ける。ここで、動画像データを構成するそれぞれのフレームを補正するために用いる画像データフレーム数Yは、kと同一か、または、kより小さな正の整数であるものとし、選択部231は、前処理部101から供給された画像信号を、#1画像一時記憶部232-1から順番に、#Y画像一時記憶部232−Yまで、1フレームずつ、順次、供給するものとする。
【0198】
#1画像一時記憶部232-1乃至#k画像一時記憶部232-kは、1フレーム分の画像信号を保持することが可能な記憶部であり、供給された画像信号(合成前の画像信号)を、一時記憶する。すなわち、#1画像一時記憶部232-1乃至#k画像一時記憶部232-kは、選択部231から新たな画像信号の供給を受けたとき、新たな画像信号を、既に記憶されていた画像信号に対して上書きして保存する。
【0199】
#1乗算部233-1乃至#k乗算部233−kは、必要に応じて、係数記憶部103に記憶されている乗算係数のうちの対応するものを読み出し、#1画像一時記憶部232-1乃至#k画像一時記憶部232-kのうちの対応するものに記憶されている画像信号に対して、必要な場合は、係数を乗算し、必要でなければ、乗算処理を行わずに、加算部234に供給する。
【0200】
#1乗算部233-1乃至#k乗算部233−kが係数記憶部103から読み出す係数は、自分自身が乗算処理を施すフレームが、動画像中の1フレームの画像データフレームを合成するための複数フレームのうちの何フレーム目であるかによって決まる。
【0201】
例えば、Yフレームの画像データフレームを合成することにより、動画像中の1フレームの画像データフレームを補正するようになされ、合成されるフレームの最初の一枚に係数aが乗ぜられ、最後の一枚に係数(1-a)が乗ぜられる場合、#1乗算部233-1乃至#k乗算部233−kのそれぞれは、自分自身が乗算処理を施すフレームが、合成されるフレームの1フレーム目であるとき、係数記憶部103から係数aを読み出して乗算処理を施し、乗算結果を加算部234に供給する。また、#1乗算部233-1乃至#k乗算部233−kのそれぞれは、自分自身が乗算処理を施すフレームが、合成されるフレームのYフレーム目であるとき、係数記憶部103から係数(1-a)を読み出して乗算処理を施し、乗算結果を加算部234に供給する。また、#1乗算部233-1乃至#k乗算部233−kのそれぞれは、自分自身が乗算処理を施すフレームが、合成されるフレームの1フレーム目またはYフレーム目以外のフレームであるとき、係数記憶部103から係数を読み出さずに、乗算処理が施されない画像データフレームを加算部234に供給する。
【0202】
加算部234は、#1乗算部233-1乃至#k乗算部233−kから供給された画像データフレーム(必要に応じて乗算処理が施されているものと施されていないものとが存在する)の各画素ごとの画素値を加算し、加算の結果得られる合成画像データフレームを出力する。
【0203】
上述した画像処理装置201を応用した動画撮影用カメラ(デジタルビデオカメラ)251の構成例を、図24に示す。
【0204】
なお、図20における場合と対応する部分は、同一の符号を付してあり、その説明は適宜省略する。
【0205】
すなわち、図24の動画撮影用カメラ251は、画像処理部81に代わって画像処理部211が設けられ、コントローラ141に代わってコントローラ261が設けられている以外は、図20を用いて説明した静止画撮影用カメラ(デジタルスチルカメラ)131と基本的に同様の構成を有する。
【0206】
コントローラ261は、ユーザインタフェース143から供給されるユーザの操作入力に基づいて、動画撮影用カメラ251の動作を制御する。コントローラ262は、制御信号バス151を介して、各部と接続されている。
【0207】
次に、図23または図24の画像処理部211が実行する処理について、図25を参照して、時系列に説明する。
【0208】
撮像された、または、外部から供給された画像データフレームを、それぞれ時系列に、画像データフレームF1,F2、F3,・・・F(k-1),Fk,F(k+1),・・・とする。
【0209】
また、このときも、上述した場合と同様にして、合成される画像データフレームのうち、最も早い時刻に撮像された画像データフレームの各行の画素値に乗算される係数aは、画像全体でM行(縦の総画素数がM画素)存在すると仮定すると、例えば、先頭行の画素に対しては係数a=0、次の行には係数a=1/M、その次の行には係数a=2/M、・・・というように、係数が1/Mずつ増加するように割り当て、最終行では係数は(M-1)/M=1となるように定めることができる。そして、最初の画像データフレームF1の各行の各画素の画素値に、その行に対応する係数aが乗算される。すなわち、最初の画像データフレームF1に対して乗算処理が施されることにより、先頭行に近いほど薄く、最終行に近いほど、通常の濃度に近い画像データフレームを得ることができる。
【0210】
まず、ある時刻までに#1画像一時記憶部232−1に画像データフレームF1が記憶され、以下、#2画像一時記憶部232−2乃至#k画像一時記憶部232−kに、画像データフレームF2,・・・F(k-1),Fkが記憶されている状態を考える。
【0211】
このとき、#1乗算部233-1は、#1画像一時記憶部232−1から読み出される画像データフレームF1に対して、係数記憶部103に格納されている係数aを読み出して乗算し、乗算結果を加算部234に供給する。そして、#2乗算部233-2は、#2画像一時記憶部232−2から読み出される画像データフレームF2に対して、係数記憶部103に格納されている係数を読み出さずに(乗算せずに、または、1を乗じて)そのまま加算部234に供給する。同様に、#3乗算部233-3乃至#(k−1)乗算部233−(k−1)は、#3画像一時記憶部232−3乃至#(k−1)画像一時記憶部232−(k−1)のうちの対応する記憶部から読み出される画像データフレームに対して、係数記憶部103に格納されている係数を読み出さずに(乗算せずに、または、1を乗じて)そのまま加算部234に供給する。そして、#k乗算部233-kは、#k画像一時記憶部232−kから読み出される画像データフレームFkに対して、係数記憶部103に格納されている係数(1−a)を読み出して乗算し、乗算結果を加算部234に供給する。
【0212】
そして、加算部234では、供給された画像データフレームが加算(各画素の画素値を加算)され、加算結果であるaF1+F2+・・・+F(k-1)+(1-a)Fkが出力される。
【0213】
続いて、その次の時刻に撮像される画像データフレームF(k+1)が前処理部101から供給された場合、選択部231は、#1画像一時記憶部232−1乃至#k画像一時記憶部232−kのうち、最も古い画像、すなわち、画像データフレームF1が記憶されている#1画像一時記憶部232−1に、新しい画像データフレームF(k+1)を供給する。
【0214】
そして、#2乗算部233-2は、#2画像一時記憶部232−2から読み出される画像データフレームF2に対して、係数記憶部103に格納されている係数aを読み出して乗算し、乗算結果を加算部234に供給する。そして、#3乗算部233-3は、#3画像一時記憶部232−3から読み出される画像データフレームF3に対して、係数記憶部103に格納されている係数を読み出さずに(乗算せずに、または、1を乗じて)そのまま加算部234に供給する。同様に、#4乗算部233-4乃至#k乗算部233−kは、#4画像一時記憶部232−4乃至#k画像一時記憶部232−kのうちの対応する記憶部から読み出される画像データフレームに対して、係数記憶部103に格納されている係数を読み出さずに(乗算せずに、または、1を乗じて)そのまま加算部234に供給する。そして、#1乗算部233-1は、#1画像一時記憶部232−1から読み出される画像データフレームF(k+1)に対して、係数記憶部103に格納されている係数(1−a)を読み出して乗算し、乗算結果を加算部234に供給する。
【0215】
そして、加算部234では、供給された画像データフレームが加算(各画素の画素値を加算)され、加算結果であるaF2+F3+・・・+Fk+(1-a)F(k+1)が出力される。
【0216】
続いて、その次の時刻に撮像される画像データフレームF(k+2)が前処理部101から供給された場合、選択部231は、#1画像一時記憶部232−1乃至#k画像一時記憶部232−kのうち、最も古い画像、すなわち、画像データフレームF2が記憶されている#2画像一時記憶部232−2に、新しい画像データフレームF(k+2)を供給する。
【0217】
そして、以下、同様にして、その時点において最も古い時刻に撮像された画像データフレームに係数aが乗ぜられ、最も新しい時刻に撮像された画像データフレームに係数(1-a)が乗ぜられて、それぞれの画像データフレームの各画素値が加算されることにより、動画像を構成する補正された画像データフレーム(例えば、図10を用いて説明した、区間αで示されるグローバルシャッタ動作で露光された場合を想定した補正画像に対応する画像データフレーム)が生成されて、出力される。
【0218】
また、合成に使う画像データフレーム数の枚数kをk=7とした場合の具体的な例を図26に示す。
【0219】
まず、ある時刻までに#1画像一時記憶部232−1に画像データフレームF1が記憶され、以下、#2画像一時記憶部232−2乃至#7画像一時記憶部232−7に、画像データフレームF2,・・・F6,F7が記憶されている状態を考える。
【0220】
このとき、#1乗算部233-1は、#1画像一時記憶部232−1から読み出される画像データフレームF1に対して、係数記憶部103に格納されている係数aを読み出して乗算し、乗算結果を加算部234に供給する。そして、#2乗算部233-2は、#2画像一時記憶部232−2から読み出される画像データフレームF2に対して、係数記憶部103に格納されている係数を読み出さずに(乗算せずに、または、1を乗じて)そのまま加算部234に供給する。同様に、#3乗算部233-3乃至#6乗算部233−6は、#3画像一時記憶部232−3乃至#6画像一時記憶部232−6のうちの対応する記憶部から読み出される画像データフレームに対して、係数記憶部103に格納されている係数を読み出さずに(乗算せずに、または、1を乗じて)そのまま加算部234に供給する。そして、#7乗算部233-7は、#7画像一時記憶部232−7から読み出される画像データフレームF7に対して、係数記憶部103に格納されている係数(1−a)を読み出して乗算し、乗算結果を加算部234に供給する。
【0221】
そして、加算部234では、供給された画像データフレームが加算(各画素の画素値を加算)され、加算結果であるaF1+F2+・・・+F6+(1-a)F7が出力される。
【0222】
続いて、その次の時刻に撮像される画像データフレームF8が前処理部101から供給された場合、選択部231は、#1画像一時記憶部232−1乃至#k画像一時記憶部232−7のうち、最も古い画像、すなわち、画像データフレームF1が記憶されている#1画像一時記憶部232−1に、新しい画像データフレームF8を供給する。
【0223】
そして、#2乗算部233-2は、#2画像一時記憶部232−2から読み出される画像データフレームF2に対して、係数記憶部103に格納されている係数aを読み出して乗算し、乗算結果を加算部234に供給する。そして、同様に、#3乗算部233-3乃至#7乗算部233−7は、#3画像一時記憶部232−3乃至#7画像一時記憶部232−7のうちの対応する記憶部から読み出される画像データフレームに対して、係数記憶部103に格納されている係数を読み出さずに(乗算せずに、または、1を乗じて)そのまま加算部234に供給する。そして、#1乗算部233-1は、#1画像一時記憶部232−1から読み出される画像データフレームF8に対して、係数記憶部103に格納されている係数(1−a)を読み出して乗算し、乗算結果を加算部234に供給する。
【0224】
そして、加算部234では、供給された画像データフレームが加算(各画素の画素値を加算)され、加算結果であるaF2+F3+・・・+F7+(1-a)F8が出力される。
【0225】
続いて、その次の時刻に撮像される画像データフレームF9が前処理部101から供給された場合、選択部231は、#1画像一時記憶部232−1乃至#k画像一時記憶部232−kのうち、最も古い画像、すなわち、画像データフレームF2が記憶されている#2画像一時記憶部232−2に、新しい画像データフレームF9を供給する。
【0226】
そして、以下、同様にして、その時点において最も古い時刻に撮像された画像データフレームに係数aが乗ぜられ、最も新しい時刻に撮像された画像データフレームに係数(1-a)が乗ぜられて、加算されることにより、動画像を構成する補正された画像データフレーム(例えば、図10を用いて説明した、区間αで示されるグローバルシャッタ動作で露光された場合を想定した補正画像に対応する画像データフレーム)が生成されて、出力される。
【0227】
なお、図25および図26を用いて説明した処理においては、その時点において最も古い時刻に撮像された画像データフレームに係数aが乗ぜられ、最も新しい時刻に撮像された画像データフレームに係数(1-a)が乗ぜられるものとして説明したが、動画像を補正する場合においても、例えば、図15を用いて説明した場合のように、3枚以上、または、全ての画像に対して、必要に応じて任意の係数を設定して乗じることにより、異なる補正処理を施すようにしてもよいことは言うまでもない。
【0228】
次に、図27のフローチャートを参照して、動画撮影用カメラ251において実行される動画像の撮像処理について説明する。
【0229】
ステップS81において、コントローラ261は、動画像の撮像が指令されたか否かを判断する。ステップS81において、動画像の撮像が指令されていないと判断された場合、処理は、ステップS82に進み、ステップS81において、動画像の撮像が指令されたと判断された場合、処理は、ステップS86に進む。
【0230】
ステップS82乃至ステップS87において、図21を用いて説明したステップS2乃至ステップS7の処理と基本的に同様の処理が実行される。
【0231】
すなわち、動画像の撮像が指令されていないと判断された場合、ユーザから、合成フレーム数の設定の変更が指令されたか否かが判断され、合成フレーム数の設定の変更が指令されたと判断された場合、合成フレーム数の設定が変更され、ユーザから、係数の設定の変更が指令されたか否かが判断されて、係数の設定の変更が指令されたと判断された場合、係数の設定が変更される。
【0232】
そして、動画像の撮像が指令されたと判断された場合、合成フレーム数の設定が取得されて、係数の設定が取得される。
【0233】
ステップS88において、撮像部91は、撮像を開始し、撮像して得られた画像データを、画像処理部211に供給する。
【0234】
ステップS89において、図28を用いて後述する画像演算処理2が実行される。
【0235】
ステップS90において、コントローラ261は、画像処理部211から演算結果が得られたか否かを判断する。ステップS90において、演算結果が得られたと判断されなかった場合、処理は、ステップS89に戻り、それ以降の処理が繰り返される。
【0236】
ステップS90において、演算結果が得られたと判断された場合、ステップS91において、コントローラ261は、画像処理部211から出力される、ステップS89において実行された画像演算処理における演算結果、すなわち、動画像を構成する補正された画像データフレームに対して、必要に応じて映像信号処理部144により処理を施させた後、表示部146への供給を制御する。表示部146は、供給された演算結果となる画像データ、すなわち、上述した補正画像を表示する。
【0237】
ステップS92において、コントローラ261は、ユーザインタフェース143から供給された信号を基に、ユーザから、演算結果の記憶の開始または終了が指令されたか否かを判断する。
【0238】
ステップS92において、演算結果の記憶の開始または終了が指令されたと判断された場合、ステップS93において、コントローラ261は、演算結果を必要に応じて画像圧縮部145に供給して圧縮処理を施した後、大容量記憶部148に供給して記憶を開始するか、または、大容量記憶部148への演算結果の供給を停止する。外容量記憶部148は、供給された演算結果の記憶を開始または終了する。
【0239】
ステップS92において、演算結果の記憶が指令されていないと判断された場合、または、ステップS93の処理の終了後、ステップS94において、コントローラ261は、ユーザインタフェース143から供給された信号を基に、演算結果の外部出力の開始または終了が指令されたか否かを判断する。ステップS94において、演算結果の外部出力の開始または終了が指令されていないと判断された場合、処理はステップS96に進む。
【0240】
ステップS94において、演算結果の外部出力の開始または終了が指令されたと判断された場合、ステップS95において、コントローラ261は、演算結果を必要に応じて画像圧縮部145に供給して圧縮処理を施した後、外部インタフェース147に供給するか、または、外部インタフェース147への演算結果の供給を停止する。外部インタフェース147は、供給された演算結果の、所定の外部機器などへの出力を開始または終了する。
【0241】
ステップS96において、コントローラ261は、ユーザインタフェース143から供給された信号を基に、ユーザから、動画像の撮像の終了が指令されたか否かを判断する。ステップS96において、動画像の撮像の終了が指令されていないと判断された場合、処理は、ステップS89に戻り、それ以降の処理が繰り返される。ステップS96において、動画像の撮像の終了が指令されたと判断された場合、処理が終了される。
【0242】
このような処理により、撮像されて、補正された画像データフレームにより構成される動画像が表示され、ユーザの操作入力に基づいて、内部に記憶されたり、外部の機器などに出力される。
【0243】
次に、図28のフローチャートを参照して、図27のステップS89において実行される、画像演算処理2について説明する。
【0244】
ステップS121において、前処理部101は、供給された画像データフレームに所定の処理を施した後、撮像画像データを選択部231に供給する。選択部231は、撮像画像データを取得する。
【0245】
ステップS122において、選択部231は、取得したフレームの撮像画像データを、所定の一時記憶部、具体的には、#1画像一時記憶部232−1乃至#k画像一時記憶部232−kのうち、その時点において最も古い時刻に撮像された画像データフレームが記憶されている画像一時記憶部に供給して記憶させる。
【0246】
ステップS123において、#1乗算部233-1乃至#k乗算部233−kは、例えば、その時点において最も古い時刻に撮像された画像データフレームに係数aが乗ぜられ、最も新しい時刻に撮像された画像データフレームに係数(1-a)が乗ぜられるものとしたり、3枚以上の画像データフレームに対して所定の係数が乗ぜられるものとして、いずれの乗算部が行ごとの係数乗算処理を実行するかを検出する。
【0247】
ステップS124において、#1乗算部233-1乃至#k乗算部233−kのうちの、係数乗算処理を実行する乗算部は、係数記憶部103に記憶されている対応する係数を取得する。
【0248】
ステップS125において、#1乗算部233-1乃至#k乗算部233−kのうちの、係数乗算処理を実行する乗算部は、各行の画素データに、対応する係数を乗じる。すなわち、対応する乗算部において、例えば、図17Aまたは図17Cを用いて説明したようなデータフレームが生成される。
【0249】
ステップS126において、加算部234は、所定のフレーム数を合成した加算結果を得られるか否か、換言すれば、所定のフレーム数が既に撮像されたか否かが判断される。ステップS126において、所定のフレーム数を合計した加算結果を得られていないと判断された場合、処理は、図27のステップS89に戻り、ステップS90に進んで、演算結果が得られていないと判断され、ステップS89に戻る。
【0250】
ステップS126において、所定のフレーム数を合計した加算結果が得らたと判断された場合、ステップS127において、加算部234は、#1乗算部233-1乃至#k乗算部233−kから供給された出力の加算処理を実行する。
【0251】
ステップS128において、加算部234は、加算処理結果を出力し、処理は、図27のステップS89に戻り、ステップS90に進む。
【0252】
このような処理により、動画像を撮像する場合においても、フォーカルプレーンシャッタ現象により被写体が歪んで撮像された複数の連続した撮像画像を一時記憶し、それらの撮像画像に対して、必要に応じて所定の係数が乗算されることにより、例えば、図17を用いて説明したように、補正画像を生成するために用いられる画像データフレームが生成され、これらが合成されることにより動画像を構成する補正済みの画像データフレーム、すなわち、例えば、図18を用いて説明したように、フォーカルプレーンシャッタ現象により発生する被写体の歪みが補正されて見える画像データフレームが生成される。
【0253】
動画像における場合であっても、動画像を構成するそれぞれの補正された画像データフレームを生成する場合に合成される画像の枚数が多いほど、合成されて生成される画像データにおける被写体の歪みは補正されて見える。しかしながら、合成される画像の枚数が多いほど、動きのある被写体(または、カメラが動くことにより画面内で動きが与えられた被写体)の像には、いわゆる、ブレが発生する。このブレを抑制するためには、合成される画像を撮像するときのフレームレートをできるだけ早くすると好適である。例えば、通常のデジタルスチルカメラにおけるシャッタスピードの3倍のフレームレートによって撮像された画像データフレーム3枚を用いて合成処理を行った場合に得られる補正画像に発生するブレは、通常のデジタルスチルカメラにおいて発生するブレとほぼ同等となる。
【0254】
なお、図27および図28においては、図24を用いて説明した動画像撮影用カメラ251において実行される処理について説明したが、図23を用いて説明した画像処理装置201が実行する処理は、図28を用いて説明した画像演算処理2と基本的に同様の処理となる。
【0255】
以上説明したように、例えば、CMOSイメージセンサを組み込んだカメラなど、フォーカルプレーンシャッタ現象が発生する撮像素子(多くの場合は、光電変換機能を備えた画素がアレイ状に配置された固体撮像素子であって、例えば、XYアドレス型撮像素子)によって撮像された動きのある被写体(または、カメラが動くことにより画面内で動きが与えられた被写体)の像に発生する歪みを、簡単な構成で補正して、鑑賞して疲れない、換言すれば、不自然に歪んでいない良好な画像や映像を提供することが可能となる。
【0256】
なお、以上説明した処理においては、撮像された画像の行ごとに露光開始時刻が異なるためにフォーカルプレーンシャッタ現象が発生する場合の処理について説明したが、例えば、撮像された画像の列ごとに露光開始時刻が異なるためにフォーカルプレーンシャッタ現象が発生する場合においても、本発明は適用可能であることはいうまでもない。
【0257】
また、例えば、露光開始時刻を、行や列ではなく、所定の画素数のブロックごとに異なるようにした場合や、全ての画素において露光開始時刻が異なるようにした場合などにおいても、上述した場合と同様にして、合成される複数の画像データフレームのうち、最も早い時刻、または、比較的早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素(例えば、最終行の画素)に対して重み付けが高くなるような係数を用いて乗算処理が行われるとともに、最も遅い時刻、または、比較的遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数を用いて乗算処理が行われるようにすることにより、上述した処理と同様の作用効果を奏することができるのは、言うまでもない。
【0258】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、上述した処理は、図29に示されるようなパーソナルコンピュータ500により実行される。
【0259】
図29において、CPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または、記憶部508からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【0260】
CPU501、ROM502、およびRAM503は、内部バス504を介して相互に接続されている。この内部バス504にはまた、入出力インタフェース505も接続されている。
【0261】
入出力インタフェース505には、キーボード、マウスなどよりなる入力部506、CRT,LCDなどよりなるディスプレイ、スピーカなどよりなる出力部507、ハードディスクなどより構成される記憶部508、並びに、モデム、ターミナルアダプタなどより構成される通信部509が接続されている。通信部509は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。
【0262】
入出力インタフェース505にはまた、必要に応じてドライブ510が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどによりなるリムーバブルメディア521が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部508にインストールされる。
【0263】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【0264】
この記録媒体は、図29に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア521よりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM502や記憶部508が含まれるハードディスクなどで構成される。
【0265】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0266】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0267】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0268】
【図1】CCDについて説明するための図である。
【図2】CCDの露光動作について説明するための図である。
【図3】CMOSイメージセンサについて説明するための図である。
【図4】CMOSイメージセンサの露光動作について説明するための図である。
【図5】フォーカルプレーンシャッタ現象について説明するための図である。
【図6】フォーカルプレーンシャッタ現象について説明するための図である。
【図7】フォーカルプレーンシャッタ現象について説明するための図である。
【図8】フォーカルプレーンシャッタ現象について説明するための図である。
【図9】静止画像を補正する処理を実行する画像処理装置の構成を示すブロック図である。
【図10】複数の画像データフレームを用いた補正について説明するための図である。
【図11】7枚の画像データフレームを用いた補正について説明するための図である。
【図12】画像データフレームに対する係数乗算処理および加算処理について説明するための図である。
【図13】画像データフレームに対する係数乗算処理および加算処理について説明するための図である。
【図14】画像データフレームに対する係数乗算処理および加算処理について説明するための図である。
【図15】画像データフレームに対する係数乗算処理および加算処理について説明するための図である。
【図16】フォーカルプレーンシャッタ現象について説明するための図である。
【図17】係数乗算処理によって生成される画像データフレームの例について説明するための図である。
【図18】合成されて生成された補正画像の例について説明するための図である。
【図19】合成されて生成された補正画像の例について説明するための図である。
【図20】静止画撮影用カメラ(デジタルスチルカメラ)の構成を示すブロック図である。
【図21】静止画像の撮像処理について説明するためのフローチャートである。
【図22】画像演算処理1について説明するためのフローチャートである。
【図23】動画像を補正する処理を実行する画像処理装置の構成を示すブロック図である。
【図24】動画撮影用カメラ(デジタルビデオカメラ)の構成を示すブロック図である。
【図25】画像データフレームに対する係数乗算処理および加算処理について説明するための図である。
【図26】画像データフレームに対する係数乗算処理および加算処理について説明するための図である。
【図27】動画像の撮像処理について説明するためのフローチャートである。
【図28】画像演算処理2について説明するためのフローチャートである。
【図29】パーソナルコンピュータの構成を示すブロック図である。
【符号の説明】
【0269】
41 CMOSイメージセンサ, 81 画像処理装置, 91 撮像部, 92 画像処理部, 101 前処理部, 102 乗算部, 103 係数記憶部, 104 加算部, 105 画像一時記憶部, 131 静止画撮影用カメラ(デジタルスチルカメラ), 141 コントローラ, 146 表示部, 147 外部インタフェース, 148 大容量記憶部, 201 画像処理装置, 211 画像処理部, 231 選択部, 232 画像一時記憶部, 233 乗算部, 234 加算部, 251 動画撮影用カメラ(デジタルビデオカメラ), 261 コントローラ

【特許請求の範囲】
【請求項1】
アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された撮像画像に対応する複数の画像データを取得する画像取得手段と、
前記画像取得手段により取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる特定の係数を記憶する係数記憶手段と、
前記画像取得手段により取得された前記画像データの所定の画素の画素値に、前記係数記憶手段により記憶されている前記特定の係数を乗算する乗算手段と、
前記乗算手段により前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算する加算手段と
を備え、
前記係数記憶手段により記憶された前記特定の係数には、
前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素に対して重み付けが高くなるような係数と、
前記加算手段により加算される前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数と
が含まれている
画像処理装置。
【請求項2】
所定の被写体を撮像する撮像手段を更に備え、
前記画像取得手段は、前記撮像手段により撮像されて得られた前記画像データを取得する
請求項1に記載の画像処理装置。
【請求項3】
前記撮像手段は、光電変換機能を有する
請求項2に記載の画像処理装置。
【請求項4】
前記係数記憶手段により記憶された前記特定の係数には、前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データ、および、最も遅い時刻に撮像された前記画像データ以外の前記画像データの所定の画素に対して乗ぜられる前記特定の係数が更に含まれ、
前記乗算手段は、前記前記加算手段により加算される前記画像データのうちの3枚以上の前記画像データの所定の画素の画素値に、前記係数記憶手段により記憶されている前記特定の係数を乗算する
請求項1に記載の画像処理装置。
【請求項5】
前記加算手段は、
画像データフレームを一時保持する保持手段と、
前記乗算手段により前記特定の係数が乗算された前記画素を有する前記画像データまたは前記画像取得手段により取得された前記画像データと、前記保持手段により保持されている前記画像データフレームとのそれぞれの対応する画素の画素値を加算する画素値加算手段と
を備え、
前記保持手段には、前記加算手段により加算される前記画像データのうち最も早い時刻に撮像された前記画像データ、または、前記画素値加算手段により対応する画素の画素値が加算されて算出された前記画像データが、上書きされて保持される
請求項1に記載の画像処理装置。
【請求項6】
前記画像取得手段により取得された前記画像データを保持する複数の画像データ保持手段と、
複数の前記画像データ保持手段のいずれに前記画像取得手段により取得された前記画像データを供給して保持させるかを選択する選択手段と
を更に備え、
前記乗算手段は、
前記画像データ保持手段と対応付けられて同数設けられ、
対応する前記画像データ保持手段に保持されている前記画像データが、前記加算手段により加算される複数の前記画像データのうち、何番目に撮像された画像データであるかに基づいて、必要に応じて、前記係数記憶手段により記憶されている前記特定の係数のうちの対応する前記特定の係数を読み出して、前記画像データの所定の画素の画素値との乗算処理を実行する
請求項1に記載の画像処理装置。
【請求項7】
前記選択手段は、複数の前記画像データ保持手段に保持されている前記画像データのうち、最も早い時刻に撮像された画像データが保持されている前記画像データ保持手段を、前記画像取得手段により新たに取得された前記画像データの保持を行う前記画像データ保持手段として選択する
請求項6に記載の画像処理装置。
【請求項8】
前記画像取得手段により取得された前記画像データは、RAWデータである
請求項1に記載の画像処理装置。
【請求項9】
前記画像取得手段により取得された前記画像データは、RAWデータに所定の処理を施して、鑑賞できる状態で表示可能なように処理された画像データである
請求項1に記載の画像処理装置。
【請求項10】
前記画像取得手段により取得された前記画像データに含まれる前記各画素の画素信号を所望の信号形態または信号レベルに整える信号処理手段を更に備える
請求項1に記載の画像処理装置。
【請求項11】
前記信号処理手段は、前記画像取得手段により取得された前記画像データがアナログ信号の場合、アナログ信号をデジタル信号に変換する処理を実行する
請求項10に記載の画像処理装置。
【請求項12】
前記信号処理手段は、前記画像取得手段により取得された前記画像データがRAWデータである場合、信号処理系の黒レベルを設定し、正常な信号出力を行わない欠陥画素の信号レベルを周囲の正常な画素信号レベルで補間する処理を実行する
請求項10に記載の画像処理装置。
【請求項13】
前記信号処理手段は、前記画像取得手段により取得された前記画像データが、RAWデータに所定の処理を施して、鑑賞できる状態で表示可能なように処理された画像データである場合、前記画像データに逆ガンマ変換を施して、RAWデータと同じ輝度信号特性を持つように変換する処理を実行する
請求項10に記載の画像処理装置。
【請求項14】
ユーザの操作入力を受ける操作入力取得手段を更に備え、
前記操作入力取得手段は、前記加算手段により加算される前記画像データの前記所定の枚数を設定する操作入力を受ける
請求項1に記載の画像処理装置。
【請求項15】
ユーザの操作入力を受ける操作入力取得手段を更に備え、
前記操作入力取得手段は、前記係数記憶手段により記憶される前記特定の係数を設定する操作入力を受ける
請求項1に記載の画像処理装置。
【請求項16】
複数枚の画像データフレームを用いて、フォーカルプレーンシャッタ現象による被写体の歪みを有する撮像画像の補正画像を生成する画像処理装置の画像処理方法において、
アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データを取得し、
特定の係数を記憶する係数記憶部から、取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる前記特定の係数を取得し、
前記画像データの所定の画素の画素値に、取得された前記特定の係数を乗算し、
前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算する
ステップを含み、
前記係数記憶部に記憶される前記特定の係数には、
加算される複数の前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素に対して重み付けが高くなるような係数と、
加算される複数の前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数と
が含まれている
画像処理方法。
【請求項17】
複数枚の画像データフレームを用いて、フォーカルプレーンシャッタ現象による被写体の歪みを有する撮像画像の補正画像を生成する処理をコンピュータに実行させるためのプログラムであって、
アレイ状に配置された複数の画素から構成され、フォーカルプレーンシャッタ現象による被写体の歪みを有し、連続した露光タイミングで撮像された複数の撮像画像に対応する複数の画像データの取得を制御し、
特定の係数を記憶する係数記憶部から、取得された前記画像データが何枚目の画像に対応するかによって決まるとともに、前記画像の各画素位置によって決まる前記特定の係数の取得を制御し、
前記画像データの所定の画素の画素値に、取得が制御された前記特定の係数を乗算し、
前記特定の係数が乗算された前記画素を有する前記画像データを含む、所定の枚数の前記画像データの各画素値を加算する
ステップを含む処理をコンピュータに実行させ、
前記係数記憶部に記憶される前記特定の係数には、
加算される複数の前記画像データのうち最も早い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが低くなり、遅い時刻に露光された画素に対して重み付けが高くなるような係数と、
加算される複数の前記画像データのうち最も遅い時刻に撮像された前記画像データのうち、早い時刻に露光された画素に対して重み付けが高くなり、遅い時刻に露光された画素に対して重み付けが低くなるような係数と
が含まれている
プログラム。
【請求項18】
請求項17に記載のプログラムが記録されている記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate


【公開番号】特開2007−336314(P2007−336314A)
【公開日】平成19年12月27日(2007.12.27)
【国際特許分類】
【出願番号】特願2006−166929(P2006−166929)
【出願日】平成18年6月16日(2006.6.16)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】