(57)【特許請求の範囲】
【請求項１】
複数の光電変換素子が第１方向と、前記第１方向と交差する第２方向とに配列され、前記第１方向に沿った複数の光電変換素子からなる素子列と、前記第２方向の異なる位置で前記第１方向に沿った複数の光電変換素子からなる素子列とを異なる電荷蓄積タイミングで電荷蓄積を行う撮像素子と、
前記第２方向の奇数番目に配列された前記素子列と、前記第２方向の偶数番目に配列された前記素子列との一方については前記撮像素子の撮像面の上方から、他方については前記撮像面の下方から、交互に画像信号を読み出す読出手段と、
前記第２方向に隣接する２個の前記素子列から出力された前記画像信号をそれぞれ比較して、前記撮像面に対して相対移動を行う移動被写体像について、前記隣接する２個の素子列間における前記第１方向のずれに関する量を算出する算出手段と、
前記算出手段により算出された前記ずれに関する量に基づいて、前記異なる電荷蓄積タイミングに起因して、前記移動被写体像に発生するローリングシャッタ歪みを補正する補正手段とを備え、
前記算出手段は、１個の前記素子列から出力された前記画像信号を、所定個数の前記光電変換素子に対応した複数のブロック画像信号に分割し、前記隣接する２個の前記素子列の間で、互いに対応するブロック画像信号の相関度に基づいて、前記互いに対応するブロック画像信号の前記第１方向への位置ずれ量を前記第１方向のずれに関する量として算出し、
前記補正手段は、前記隣接する２個の素子列からそれぞれ出力された画像信号を、前記第１方向に沿って互いに異なる方向へ、前記位置ずれ量の半分に相当する量だけ移動させて、前記ローリングシャッタ歪みを補正することを特徴とする撮像装置。
【請求項２】
請求項１に記載の撮像装置において、
前記算出手段は、前記隣接する２個の前記素子列の間で、すべての、互いに対応するブロック画像信号の前記相関度が高い場合は、前記位置ずれ量の算出を禁止することを特徴とする撮像装置。
【請求項３】
請求項１に記載の撮像装置において、
前記算出手段は、前記隣接する２個の素子列から出力された前記画像信号の平均値を前記ずれに関する量として算出することを特徴する撮像装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の撮像装置において、
前記補正手段により補正された補正後の移動体被写体像と、前記補正前の移動体被写体像の差異部分に関する前記画像信号を補間する補間手段をさらに備え、
前記補間手段は、前記隣接する２個の素子列の一方の前記差異部分に関する画像信号を、他方の前記素子列の画像信号を用いて補間することを特徴とする撮像装置。
【請求項５】
複数の光電変換素子が第１方向と、前記第１方向と交差する第２方向とに配列され、前記第１方向に沿った複数の光電変換素子からなる素子列と、前記第２方向の異なる位置で前記第１方向に沿った複数の光電変換素子からなる素子列とを異なる電荷蓄積タイミングで電荷蓄積を行う撮像素子によって撮像され、前記第２方向の奇数番目に配列された前記素子列と、前記第２方向の偶数番目に配列された前記素子列との一方については前記撮像素子の撮像面の上方から、他方については前記撮像面の下方から、交互に読み出された画像信号を入力する入力手段と、
前記第２方向に隣接する２個の前記素子列から出力された前記画像信号をそれぞれ比較して、前記撮像素子の撮像面に対して相対移動を行う移動被写体像について、前記隣接する２個の素子列間における前記第１方向のずれに関する量を算出する算出手段と、
前記算出手段により算出された前記ずれに関する量に基づいて、前記異なる電荷蓄積タイミングに起因して、前記移動被写体像に発生するローリングシャッタ歪みを補正する補正手段とを備え、
前記算出手段は、１個の前記素子列から出力された前記画像信号を、所定個数の前記光電変換素子に対応した複数のブロック画像信号に分割し、前記隣接する２個の前記素子列の間で、互いに対応するブロック画像信号の相関度に基づいて、前記互いに対応するブロック画像信号の前記第１方向への位置ずれ量を前記第１方向のずれに関する量として算出し、
前記補正手段は、前記隣接する２個の素子列からそれぞれ出力された画像信号を、前記第１方向に沿って互いに異なる方向へ、前記位置ずれ量の半分に相当する量だけ移動させて、前記ローリングシャッタ歪みを補正することを特徴とする画像処理装置。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置および画像処理装置に関する。
【背景技術】
【０００２】
従来から、ローリングシャッタ方式に起因して動体被写体に発生する歪みを補正するカメラが知られている（たとえば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１４２９２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、過去に取得した複数の画像に基づいて動体被写体の移動速度を算出するので、大量のメモリ容量が必要になるとともに、動体被写体の形状を認識するために複雑な処理が必要となるという問題がある。
【課題を解決するための手段】
【０００５】
請求項１に記載の発明による撮像装置は、複数の光電変換素子が第１方向と、前記第１方向と交差する第２方向とに配列され、前記第１方向に沿った複数の光電変換素子からなる素子列と、前記第２方向の異なる位置で前記第１方向に沿った複数の光電変換素子からなる素子列とを異なる電荷蓄積タイミングで電荷蓄積を行う撮像素子と、前記第２方向の奇数番目に配列された前記素子列と、前記第２方向の偶数番目に配列された前記素子列との一方については前記撮像素子の撮像面の上方から、他方については前記撮像面の下方から、交互に画像信号を読み出す読出手段と、前記第２方向に隣接する２個の前記素子列から出力された前記画像信号をそれぞれ比較して、前記撮像面に対して相対移動を行う移動被写体像について、前記隣接する２個の素子列間における前記第１方向のずれに関する量を算出する算出手段と、前記算出手段により算出された前記ずれに関する量に基づいて、前記異なる電荷蓄積タイミングに起因して、前記移動被写体像に発生するローリングシャッタ歪みを補正する補正手段とを備え、前記算出手段は、１個の前記素子列から出力された前記画像信号を、所定個数の前記光電変換素子に対応した複数のブロック画像信号に分割し、前記隣接する２個の前記素子列の間で、互いに対応するブロック画像信号の相関度に基づいて、前記互いに対応するブロック画像信号の前記第１方向への位置ずれ量を前記第１方向のずれに関する量として算出し、前記補正手段は、前記隣接する２個の素子列からそれぞれ出力された画像信号を、前記第１方向に沿って互いに異なる方向へ、前記位置ずれ量の半分に相当する量だけ移動させて、前記ローリングシャッタ歪みを補正することを特徴とする。
請求項５に記載の発明による画像処理装置は、複数の光電変換素子が第１方向と、前記第１方向と交差する第２方向とに配列され、前記第１方向に沿った複数の光電変換素子からなる素子列と、前記第２方向の異なる位置で前記第１方向に沿った複数の光電変換素子からなる素子列とを異なる電荷蓄積タイミングで電荷蓄積を行う撮像素子によって撮像され、前記第２方向の奇数番目に配列された前記素子列と、前記第２方向の偶数番目に配列された前記素子列との一方については前記撮像素子の撮像面の上方から、他方については前記撮像面の下方から、交互に読み出された画像信号を入力する入力手段と、前記第２方向に隣接する２個の前記素子列から出力された前記画像信号をそれぞれ比較して、前記撮像素子の撮像面に対して相対移動を行う移動被写体像について、前記隣接する２個の素子列間における前記第１方向のずれに関する量を算出する算出手段と、前記算出手段により算出された前記ずれに関する量に基づいて、前記異なる電荷蓄積タイミングに起因して、前記移動被写体像に発生するローリングシャッタ歪みを補正する補正手段とを備え、前記算出手段は、１個の前記素子列から出力された前記画像信号を、所定個数の前記光電変換素子に対応した複数のブロック画像信号に分割し、前記隣接する２個の前記素子列の間で、互いに対応するブロック画像信号の相関度に基づいて、前記互いに対応するブロック画像信号の前記第１方向への位置ずれ量を前記第１方向のずれに関する量として算出し、前記補正手段は、前記隣接する２個の素子列からそれぞれ出力された画像信号を、前記第１方向に沿って互いに異なる方向へ、前記位置ずれ量の半分に相当する量だけ移動させて、前記ローリングシャッタ歪みを補正することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、第２方向の奇数番目に配列された素子列と、第２方向の偶数番目に配列された素子列との一方については撮像素子の撮像面の上方から、他方については撮像面の下方から、交互に画像信号を読み出し、移動被写体像のずれに関する量を算出してローリングシャッタ歪みを補正することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施の形態による電子カメラの要部構成を説明するブロック図
【図２】画像処理部の機能を説明するためのブロック図
【図３】実施の形態における撮像素子の構成を説明する概念図
【図４】移動被写体と画像信号の読み出しタイミングとの関係を説明する図
【図５】ずれ量の算出を説明するための概念図
【図６】ローリングシャッタ歪みの補正処理を説明するための概念図
【図７】実施の形態による電子カメラの処理を説明するフローチャート
【図８】実施の形態による電子カメラの処理を説明するフローチャート
【図９】実施の形態による電子カメラの処理を説明するフローチャート
【図１０】本発明の変形例による画像処理装置の要部構成を説明するブロック図
【発明を実施するための形態】
【０００８】
図面を参照して、本発明による一実施の形態における電子カメラを説明する。図１は電子カメラ１の要部構成を示すブロック図である。電子カメラ１は、撮影レンズＬ１、撮像素子１４、バッファメモリ１６、制御回路１８、ＬＣＤ駆動回路１９、液晶表示器１９１、操作部３０、およびメモリカードインタフェース３１を備えている。
【０００９】
撮像素子１４は、行列状に多数配列された画素を有するＸ−Ｙアドレス型の光電変換素子である。撮像素子１４は、後述する制御回路１８の制御に応じて駆動して撮影レンズＬ１を通して入力される被写体像を撮像し、撮像して得た画像信号を制御回路１８へ出力する。本実施の形態において、撮像素子１４は、走査ラインごとに順次シャッタを切る方式（いわゆるローリングシャッタ方式）により駆動される。すなわち、撮像素子１４を構成する複数の光電変換素子が画素行方向と、画素行方向と交差する画素列方向とに２次元上に配列され、画素列方向の異なる位置で画素行ごとに異なる電荷蓄積タイミングで光電変換素子の電荷蓄積が行われる。
【００１０】
撮像素子１４から出力された画像信号は、図示しないＡＦＥ回路等によりアナログ処理（ゲインコントロールなど）が施され、図示しないＡ／Ｄ変換回路によりデジタルの画像信号に変換される。デジタル信号に変換された画像信号は制御回路１８に入力される。バッファメモリ１６は、後述する制御回路１８により生成された画像データ、または各種処理中の画像データを一時的に格納する作業用の揮発性メモリである。
【００１１】
制御回路１８は、図示しないＣＰＵ、ＲＯＭ、ＲＡＭなどを有し、制御プログラムに基づいて、電子カメラ１の各構成要素を制御したり、各種のデータ処理を実行する演算回路である。制御プログラムは、制御回路１８内の不図示の不揮発性メモリに格納されている。制御回路１８は、図示しないタイミングジェネレータ等を介して、撮像素子１４の駆動タイミングを制御する。
【００１２】
制御回路１８は、読出制御部１８１、画像処理部１８２および画像記録部１８３を機能的に備える。読出制御部１８１は、後述する撮像素子１４によるローリングシャッタ方式による画像信号の読出しを制御する。画像処理部１８２は、入力した画像信号をデジタル画像信号に対して種々の画像処理を施して画像データを生成する。また、画像処理部１８２は、メモリカード１０８に記録されている画像データに基づいて、液晶表示器１９１に表示するための表示画像データを生成する。また、図２に示すように、画像処理部１８２は、算出部１８２ａと補正部１８２ｂとを機能的に備える。なお、画像処理部１８２による処理については、詳細を後述する。画像記録部１８３は、画像処理部１８２により生成された画像データに対してＪＰＥＧなどの所定の方式により圧縮処理を行い、ＥＸＩＦなどの形式でメモリカード１０８へ記録する。
【００１３】
ＬＣＤ駆動回路１９は、制御回路１８の命令に基づいて液晶表示器１９１を駆動する回路である。液晶表示器１９１は、撮像素子１４で撮像した画像をリアルタイムに表示するライブビュー表示とともに、メモリカード１０８に記録されている画像データに基づいて画像処理部１８２で作成された表示画像データに対応する画像の表示を行う。また、液晶表示器１９１は、操作部３０の操作に基づき、電子カメラ１の各種設定のためのメニュー画面の表示を行う。
【００１４】
操作部３０はユーザによって操作される種々の操作部材に対応して設けられた種々のスイッチを含み、操作部材の操作に応じた操作信号を制御回路１８へ出力する。操作部材は、たとえばレリーズボタンや、上記のメニュー画面を表示させるためのメニューボタンや、各種の設定等を選択操作する時に操作される十字キー、十字キーにより選択された設定等を決定するための決定ボタン、撮影モードと再生モードとの間で電子カメラ１の動作を切替えるモード切替ボタン等を含む。また、操作部３０により、撮像モードとして静止画撮影モードや動画撮影モード、ライブビュー表示を行うためのライブビューモード等の設定が可能である。
【００１５】
メモリカードインタフェース３１は、メモリカード１０８が着脱可能なインタフェースである。メモリカードインタフェース３１は、制御回路１８の制御に基づいて、画像ファイルをメモリカード１０８に書き込んだり、メモリカード１０８に記録されている画像ファイルを読み出すインタフェース回路である。メモリカード１０８はコンパクトフラッシュ（登録商標）やＳＤカードなどの半導体メモリカードである。
【００１６】
本実施の形態による電子カメラ１は、撮像素子１４がローリングシャッタ方式により画像信号を出力することに伴って、１つの画像データから、撮像素子１４の撮像面に対して相対移動を行う被写体（移動被写体）の像に対応する領域（動体領域）を検出する。そして、電子カメラ１は、検出した動体領域に発生するローリングシャッタ歪みを補正する。さらに、電子カメラ１は、ローリングシャッタ歪みを補正することによって、動体被写体に対して背景となる被写体（背景被写体）に対応する画像データが消失した領域（消失領域）が発生するので、消失領域の画像データを補間する。なお、移動被写体として、撮影時のユーザの手振れに起因して、電子カメラ１に対して相対的に移動するような被写体も含まれるものとする。
【００１７】
以下、ユーザの操作部３０の操作に応じて、動画撮影モードが設定された場合について説明する。本実施の形態においては、動画撮影モードが設定されると、読出制御部１８１は、撮像素子１４に対して、水平走査期間ｔＨごとに、画素行ごとに画像信号を出力させる。このとき、制御回路１８は、連続的に画像信号を読み出すための読み出し周期（フレームレート）を、たとえば１／３０[s]に設定する。
【００１８】
図３、図４を参照しながら本実施の形態におけるローリングシャッタ方式について説明する。図３は、撮像素子１４を構成する画素１４１を模式的に示す図である。図３では、撮像素子１４の水平方向（画素行方向）をｘ軸、垂直方向（画素列方向）をｙ軸とする。なお、本実施の形態では、説明を簡単にするため、撮像素子１４は、第１行目の画素行Line（１）から第１６行目の画素行Line（１６）によって構成されているものとする。
【００１９】
図４は、移動被写体と、画像信号の読み出しタイミングとの関係を示す図である。図４（ａ）には、たとえば矩形形状を有する移動被写体Ｓ（図４（ａ）の斜線で示す領域）の像が撮像素子１４上を右から左（図４（ａ）に示す矢印の方向）へ移動する場合を示している。なお、以下の説明においては、移動被写体Ｓの背景となる被写体（背景被写体）は電子カメラ１に対して相対的に静止しているものとする。この移動被写体Ｓは、画素１４１への電荷蓄積開始（時刻ｔ０）から、全画素１４１からの画像信号の読出しが終了（時刻ｔｅ）までの間に、移動被写体Ｓの左下端が点Ａから点Ｂまで移動する。なお、図４（ａ）においては、時刻ｔ０での移動被写体Ｓを実線で、時刻ｔｅでの移動被写体Ｓを破線で示す。
【００２０】
読出制御部１８１は、奇数番目の画素行Line（２ｍ−１）（ｍは自然数）に配列された画素１４１については撮像面上方から、偶数番目の画素行Line（２ｍ）に配列された画素１４１については撮像面下方から、交互に画像信号を出力させる。具体的に説明すると、読出制御部１８１は、時刻ｔ０において、第１画素行Line（１）に含まれる画素１４１に対して、電荷蓄積および画像信号の出力を開始させる。時刻ｔ０から水平走査期間ｔＨが経過した時刻（ｔ０＋ｔＨ）では、読出制御部１８１は、第１６画素行Line（１６）に含まれる画素１４１に対して、電荷蓄積および画像信号の出力を開始させる。さらに、時刻（ｔ０＋２ｔＨ）では、読出制御部１８１は、第３画素行Line（３）に含まれる画素１４１に対して電荷蓄積および画像信号の出力を開始させる。
【００２１】
以後、読出制御部１８１は、奇数行目の画素行Line（２ｍ−１）に含まれる画素１４１への電荷蓄積および画像信号の読出しと、偶数行目の画素行Line（２ｍ）に含まれる画素１４１への電荷蓄積および画像信号の読出しとを交互に行う。その結果、第１画素行Line（１）→第１６画素行Line（１６）→第３画素行Line（３）→第１４画素行Line（１４）→…→第１５画素行Line（１５）→第２画素行Line（２）の順序で電荷蓄積および画像信号の読出しが行われる。
【００２２】
上記の読出順序により全ての画素１４１から画像信号の読出しが終了するまでの間に、移動被写体Ｓは、図４（ａ）の点Ａから点Ｂまで移動しているので、読み出された画像信号と移動被写体Ｓの像との関係が図４（ｂ）のように表される。この撮像素子１４においては、１つの画素行に含まれる画素１４１から画像信号を読み出すための水平走査期間ｔＨを１６倍した時間（１６ｔＨ）で全ての画素１４１から画像信号が読み出される。したがって、図４（ａ）に示す場合においては、撮像素子１４の上端または下端に配置された隣接し合う２つの画素行（たとえば第１画素行Line（１）および第２画素行Line（２）、または第１５画素行Line（１５）および第１６画素行Line（１６））における電荷蓄積および画像信号の読出しを開始する時刻の差は、水平走査期間ｔＨを１５倍した時間となる。その結果、図４（ｂ）に示すように、各画素行Line（ｍ）から出力された画像信号に対応する画像データのデータ行DLine（ｍ）においても、上記の時刻差に応じて移動被写体Ｓの像にずれが発生する。
【００２３】
画像処理部１８２は、上述したようにして読み出された画像信号に基づいて、画像データを生成する。画像処理部１８２の算出部１８２ａは、画像データのデータ行ＤLine（ｍ）のそれぞれを、所定の個数（たとえば２１個）のブロック領域ＢＫに分割する。その結果、１つのブロック領域ＢＫのデータは複数の画素１４１から出力された画像信号に対応する。図４（ｃ）に、画素行に対応する画像データごとにブロック領域ＢＫに分割された様子を示す。以後の説明においては、第ｍデータ行ＤLine（ｍ）のブロック領域を符号ＢＫｍ（ｎ）（１≦ｍ≦１６、１≦ｎ≦２１）として表す。なお、ｎはブロック領域ＢＫの番号を示す。また、以下の説明では、ｘ＝０から順次、ブロック領域ＢＫｍ（１）、ＢＫｍ（２）、・・・、ＢＫｍ（２１）となるように、ブロック領域ＢＫの番号ｎが設定されたものとして行うものとする。
【００２４】
算出部１８２ａは、分割したブロック領域ＢＫｍ（ｎ）を用いて、画像データ上において動体領域、すなわち移動被写体Ｓの像を検出し、検出した動体領域に発生するローリングシャッタ歪みを補正するための補正量を算出する。まず、動体領域の検出について説明する。なお、以下の説明では、代表して、第１データ行DLine（１）および第２データ行DLine（２）に対応する画像データを用いた処理を中心に行う。
【００２５】
算出部１８２ａは、第１データ行DLine（１）の各ブロック領域ＢＫ１（ｎ）について、画像データの平均値ＶＡＬ（１，ｎ）を算出する。すなわち、算出部１８２ａは、ブロック領域ＢＫ１（ｎ）に対応する位置に配置された各画素１４１から出力された画像信号の信号レベルの平均値を算出する。そして、算出部１８２ａは、算出した平均値ＶＡＬ（１，ｎ）をバッファメモリ１６に記録する。同様にして、算出部１８２ａは、第２データ行DLine（２）の各ブロック領域ＢＫ２（ｎ）について、平均値ＶＡＬ（２，ｎ）を算出し、バッファメモリ１６に記録する。
【００２６】
図５（ａ）には、第１データ行DLine（１）の各ブロック領域ＢＫ１（ｎ）の平均値ＶＡＬ（１，ｎ）の一例を示す。また、図５（ｂ）には、第２画素行目の各ブロック領域ＢＫ２（ｎ）の平均値ＶＡＬ（２，ｎ）の一例を示す。算出部１８２ａは、第１データ行DLine（１）の各ブロック領域ＢＫ１（ｎ）と、第２データ行DLine（２）の各ブロック領域ＢＫ２（ｎ）との間で相関度が高いか否かを評価する。具体的には、算出部１８２ａは、平均値ＶＡＬ（１，ｎ）と平均値ＶＡＬ（２，ｎ）との差分の絶対値ｄ１を算出し、この絶対値ｄ１が閾値ｄｔｈ以下の場合に相関度が高いと評価する。絶対値ｄ１が閾値ｄｔｈ以下の場合には、算出部１８２ａは相関度を示す変数ＣＯＲＲ（ｍ，ｎ）を１に設定する。絶対値ｄ１が閾値ｄｔｈを超える場合には、算出部１８２ａは変数ＣＯＲＲ（ｍ，ｎ）を０に設定する。
【００２７】
図５（ａ）および図５（ｂ）では、第１データ行DLine（１）と第２データ行DLine（２）との間で、ブロック領域ＢＫ１（１）〜ＢＫ１（４）およびブロック領域ＢＫ２（１）〜ＢＫ２（４）の相関度がそれぞれ高くなる。これは、ブロック領域ＢＫｍ（１）〜ＢＫｍ（４）が背景被写体に対応するためである。この場合、算出部１８２ａは、変数ＣＯＲＲ（１，１）〜ＣＯＲＲ（１，４）およびＣＯＲＲ（２，１）〜ＣＯＲＲ（２，４）を１に設定する。同様に、ブロック領域ＢＫ１（２０）〜ＢＫ１（２１）およびブロック領域ＢＫ２（２０）〜ＢＫ２（２１）の相関度がそれぞれ高くなる。この場合も、算出部１８２ａは、変数ＣＯＲＲ（１，２０）〜ＣＯＲＲ（１，２１）およびＣＯＲＲ（２，２０）〜ＣＯＲＲ（２，２１）を１に設定する。
【００２８】
一方、図５（ａ）および図５（ｂ）に示すように、第１データ行DLine（１）と第２データ行DLine（２）との間で、ブロック領域ＢＫ１（５）〜ＢＫ１（１９）およびブロック領域ＢＫ２（５）〜ＢＫ２（１９）の相関度はそれぞれ低くなる。これは、第１画素行Line（１）に含まれる画素１４１に対する電荷蓄積の開始時刻と、第２画素行Line（２）に含まれる画素１４１に対する電荷蓄積の開始時刻との間に時間差があり、この期間に移動被写体Ｓが移動しているためである。
【００２９】
詳細には、第１データ行DLine（１）のブロック領域ＢＫ１（５）〜ＢＫ１（１０）は背景被写体に対応する領域であるが、第２データ行DLine（２）のブロック領域ＢＫ２（５）〜ＢＫ２（１０）では移動被写体Ｓの一部に対応する領域となる。また、第１データ行DLine（１）のブロック領域ＢＫ１（１１）〜ＢＫ１（１３）と、第２データ行DLine（２）のブロック領域ＢＫ２（１１）〜ＢＫ２（１３）とは、ともに移動被写体Ｓの一部に対応する領域となる。しかし、上述した時間差の間に移動被写体Ｓが移動しているために、第１データ行DLine（１）と第２データ行DLine（２）との間で移動被写体Ｓの異なる一部に対応する領域となる。さらに、第１データ行DLine（１）のブロック領域ＢＫ１（１４）〜ＢＫ１（１９）は移動被写体Ｓの一部に対応する領域であるが、第２データ行DLine（２）のブロック領域ＢＫ２（１４）〜ＢＫ２（１９）では背景被写体に対応する領域となる。このような場合には、算出部１８２ａは、変数ＣＯＲＲ（１，５）〜ＣＯＲＲ（１，１９）およびＣＯＲＲ（２，５０）〜ＣＯＲＲ（２，１９）を０に設定する。
【００３０】
算出部１８２ａは、絶対値ｄ１と閾値ｄｔｈとの大小関係に基づいて、相関度を示す変数ＣＯＲＲ（ｍ，ｎ）の値を設定すると、変数ＣＯＲＲ（ｍ，ｎ）の値が０となる「ｎ」の範囲を検出する。そして、算出部１８２ａは、検出した「ｎ」のうち、値が最小のもの、すなわち相関度が低いブロック領域ＢＫｍ（ｎ）の先頭をｎ０ｓに設定する。また、算出部１８２ａは、検出した「ｎ」のうち値が最大のもの、すなわち相関度が低いブロック領域ＢＫｍ（ｎ）の最後尾をｎ０ｅに設定する。したがって、図５に示す場合では、算出部１８２ａは、ｎ＝１をｎ０ｓに設定しｎ＝１９をｎ０ｅに設定する。
【００３１】
算出部１８２ａは、上述のようにして検出した相関度が低いブロック領域ＢＫｍ（ｎ）から移動被写体Ｓに対応する動体領域を検出する。この場合、算出部１８２ａは、ブロック領域ＢＫ１（ｎ０ｓ）〜ＢＫ１（ｎ０ｅ）と、ブロック領域ＢＫ２（ｎ０ｓ）〜ＢＫ２（ｎ０ｅ）とのうち、ｘ軸方向の位置をずらし量ｄｐだけずらすことにより相関度が高くなるブロック領域ＢＫを検出する。まず、算出部１８２ａは、ｎ０ｓ≦ｎ≦ｎ０ｅの範囲で、第２データ行DLine（２）のブロック領域ＢＫ２（ｎ）のｎの値を１ずつずらした（すなわちｄｐ＝１）ブロック領域ＢＫ２（ｎ＋１）と、第１データ行DLine（１）のブロック領域ＢＫ１（ｎ）との相関度をそれぞれ比較する。図５に示す場合では、算出部１８２ａは、ブロック領域ＢＫ１（５）とブロック領域ＢＫ２（６）との間、ブロック領域ＢＫ１（６）とブロック領域ＢＫ２（７）との間、・・・のように相関度を比較する。
【００３２】
算出部１８２ａは、ブロック領域ＢＫ１（ｎ）の平均値ＶＡＬ（１，ｎ）と、ブロック領域ＢＫ２（ｎ＋１）の平均値ＶＡＬ（２，ｎ＋１）との差分の絶対値ｄ２が、上記の閾値ｄｔｈを超える場合に相関度が低いと判定する。相関度が低い場合には、算出部１８２ａは、ずらし量ｄｐを２に設定し、同様にしてブロック領域ＢＫ１（ｎ）とブロック領域ＢＫ２（ｎ＋２）との相関度を比較する。図５に示す場合では、算出部１８２ａは、ブロック領域ＢＫ１（５）とブロック領域ＢＫ２（７）との間、ブロック領域ＢＫ１（６）とブロック領域ＢＫ２（８）との間、・・・のように相関度を比較する。
【００３３】
算出部１８２ａは、絶対値ｄ２が閾値ｄｔｈ以下の場合には、対応するブロック領域ＢＫを動体領域として検出する。そして、算出部１８２ａは、ずらし量ｄｐをブロック領域ＢＫ１（ｎ）とブロック領域ＢＫ２（ｎ＋ｄｐ）とのずれ量ｄｐａ（ｍ，ｎ）としてバッファメモリ１６に記録する。算出部１８２ａは、相関度の比較をｎ＝ｎ０ｓからｎ＝ｎ０ｅの範囲で行っているので、上記のずれ量ｄｐａ（ｍ，ｎ）をｎ＝ｎ０ｓからｎ＝ｎ０ｅで平均することにより、動体領域における第１データ行DLine（１）と第２データ行DLine（２）との間のずれ量ｄｐａを算出する。図５に示す場合、ブロック領域ＢＫ１（１１）〜ＢＫ１（１９）とブロック領域ＢＫ２（５）〜ＢＫ２（１３）とが相関度が高くなる。すなわち、図５では６ブロック領域ＢＫ分のずれが発生している。したがって、ずれ量ｄｐａは６となる。このずれ量ｄｐａは、ローリングシャッタ方式による撮影に起因するローリングシャッタ歪みである。
【００３４】
算出部１８２ａは、上述のようにしてずれ量ｄｐａを算出すると、ローリングシャッタ歪みを補正するための補正量を算出する。換言すると、算出部１８２ａは、動体領域の中で相関度が高くなったブロック領域ＢＫ１（ｎ）とブロック領域ＢＫ２（ｎ＋ｄｐａ）のｘ軸方向の位置が同じ位置になるように、画像データ上でのブロック領域ＢＫ１（ｎ）とブロック領域ＢＫ２（ｎ＋ｄｐａ）との移動量を算出する。
【００３５】
図６に、算出部１８２ａによる補正量（移動量）算出の概念を示す。図６（ａ）は、第１データ行DLine（１）および第２データ行DLine（２）の画像データを示している。図６（ａ）では動体領域ＭＲを斜線で表す領域で示している。図６（ａ）に示すように、第１データ行DLine（１）の動体領域ＭＲと、第２データ行DLine（２）の動体領域ＭＲでは、ｘ軸方向に６ブロック領域分のずれ量ｄｐａが生じている。この場合、図６（ｂ）に示すように、第１データ行DLine（１）の動体領域ＭＲがｘ軸に沿って−方向に３ブロック領域分移動し、第２データ行DLine（２）の動体領域ＭＲがｘ軸に沿って＋方向に３ブロック領域分移動すると、動体領域ＭＲのｘ軸方向の位置が一致する。したがって、算出部１８２ａは、ずれ量ｄｐａを１／２にした値を移動量として算出する。ただし、１つのブロック領域ＢＫは複数個の画素１４１に対応しているので、算出部１８２ａは、上記の移動量に、１つのブロック領域ＢＫに含まれる画素１４１の数を乗算した値を補正量ｍｖ（ｍ）として算出し、バッファメモリ１６に記録する。
【００３６】
算出部１８２ａは、上述した動体領域ＭＲの検出、および補正量の算出を全てのデータ行について行う。すなわち、算出部１８２ａは、第３データ行DLine（３）と第４データ行DLine（４）、第５データ行DLine（５）と第６データ行DLine（６）、・・・のように、ｙ軸方向に互いに隣接し合う画素行について、上述した方法により各データ行の補正量ｍｖ（ｍ）を算出する。
【００３７】
なお、図４（ａ）に示すように、移動被写体Ｓの大きさがｙ軸方向について第１画素行Line（１）から第１４画素行Line（１４）までしかない場合、算出部１８２ａによる第１５データ行DLine（１５）のブロック領域ＢＫと第１６データ行DLine（１６）のブロック領域ＢＫとの相関度は、全てのブロック領域ＢＫについて高くなる。すなわち全てのブロック領域ＢＫ１５（ｎ）の平均値ＶＡＬ（１５，ｎ）と全てのブロック領域ＢＫ１６（ｎ）の平均値ＶＡＬ（１６，ｎ）との差分の絶対値ｄ１が閾値ｄｔｈ以下となる。これは、第１５データ行DLine（１５）と第１６データ行DLine（１６）とが背景被写体に対応しているためである。このような場合には、電荷蓄積の開始時刻に差があってもローリングシャッタ歪みが発生しないので、算出部１８２ａはずれ量ｄｐａの検出および補正量ｍｖ（ｍ）の算出を行わない。換言すると、隣接するデータ行Dline間の相関度が高い場合には、算出部１８２ａはずれ量ｄｐａの算出を禁止する。
【００３８】
補正部１８２ｂは、各データ行ごとに算出された補正量ｍｖ（ｍ）を用いて、画像データに発生したローリングシャッタ歪みを補正する。図６（ａ）、（ｂ）に示すように、補正部１８２ｂは、第１データ行DLine（１）の動体領域ＭＲ（ブロック領域ＢＫ１（１１）〜ＢＫ１（１９））を、ｘ軸に沿って−方向へ補正量ｍｖ（１）（＝３）分だけ移動する。また、補正部１８２ｂは、第２データ行DLine（２）の動体領域ＭＲ（ブロック領域ＢＫ２（５）〜ＢＫ２（１３））をｘ軸に沿って＋方向へ補正量ｍｖ（２）（＝３）分だけ移動する。
【００３９】
補正部１８２ｂが動体領域ＭＲを補正量ｍｖ（ｍ）だけ移動すると、図６（ｂ）に示すように、ブロック領域ＢＫ１（８）〜ＢＫ１（１０）およびブロック領域ＢＫ２（１４）〜ＢＫ２（１６）は、動体領域ＭＲに上書きされて画像データが消失する。一方、ブロック領域ＢＫ１（１７）〜ＢＫ１（１９）およびブロック領域ＢＫ２（５）〜ＢＫ２（７）は、動体領域ＭＲの移動に伴って、画像データが消失した消失領域ＶＲとなる。図６（ｂ）では、消失領域ＶＲにドットを付して表す。すなわち、補正前の動体領域ＭＲと補正後の動体領域ＭＲとの差異領域が、補正後の消失領域ＶＲとなる。
【００４０】
補正部１８２ｂは、消失領域ＶＲの画像データを補間処理によって生成する。具体的には、補正部１８２ｂは、隣接するデータ行であってｘ軸方向に同位置のブロック領域ＢＫの画像データを複写する。図６（ｂ）においては、補正部１８２ｂは、ブロック領域ＢＫ２（１７）〜ＢＫ２（１９）の画像データを複写して、ブロック領域ＢＫ１（１７）〜ＢＫ１（１９）の画像データを生成する。同様に、補正部１８２ｂは、ブロック領域ＢＫ１（５）〜ＢＫ１（７）の画像データを複写して、ブロック領域ＢＫ２（５）〜ＢＫ２（７）の画像データを生成する。以上の処理により、画像データ上の第１データ行DLine（１）と第２データ行DLine（２）とにおける、電荷蓄積の開始時刻の差、すなわちローリングシャッタ歪みの影響が補正される。
【００４１】
補正部１８２ｂは、第３データ行DLine（３）と第４データ行DLine（４）についても同様にして補正処理と補間処理とを行い、以後、隣接する２つのデータ行ごとに第１６データ行DLine（１６）まで補正処理と補間処理とを繰り返す。この結果、画像データ全体としてローリングシャッタ歪みの影響が低減された画像データが生成される。
【００４２】
図７〜図９に示すフローチャートを参照しながら、実施の形態による電子カメラ１の動作を説明する。図７〜図９の処理は制御回路１８でプログラムを実行して行われる。このプログラムは、メモリ（不図示）に格納されており、ユーザによって動画撮影モードが設定され、図示しないレリーズボタンが全押し操作、すなわち撮影開始を指示する操作が行われると制御回路１８により起動され、実行される。
【００４３】
ステップＳ１では、撮像素子１４の駆動を制御して、画像信号を出力させてステップＳ２へ進む。なお、この場合には、撮像素子１４は、上述したように、奇数番目の画素行Line（２ｍ−１）については撮像面の上方から、偶数番目の画素行Line（２ｍ）については撮像面の下方から、交互に画像信号を出力する。ステップＳ２では、画素行の番号を示す変数ｍに１を設定してステップＳ３へ進む。
【００４４】
ステップＳ３では、第ｍデータ行DLine（ｍ）のブロック領域ＢＫｍ（１）〜ＢＫｍ（２１）のそれぞれについて平均値ＶＡＬ（ｍ，ｎ）を算出してステップＳ４へ進む。ステップＳ４では、第ｍ＋１データ行DLine（ｍ＋１）のブロック領域ＢＫｍ＋１（１）〜ＢＫｍ＋１（２１）のそれぞれについて平均値ＶＡＬ（ｍ＋１，ｎ）を算出してステップＳ５へ進む。ステップＳ５においては、ブロック領域ＢＫの番号を示す変数ｎを１に設定してステップＳ６へ進む。
【００４５】
ステップＳ６においては、平均値ＶＡＬ（ｍ，ｎ）と平均値ＶＡＬ（ｍ＋１，ｎ）との差分の絶対値ｄ１を算出してステップＳ７へ進む。ステップＳ７においては、絶対値ｄ１が閾値ｄｔｈ以下か否かを判定する。絶対値ｄ１が閾値ｄｔｈ以下の場合には、ステップＳ７が肯定判定されてステップＳ８へ進み、ステップＳ８において相関度を示す変数ＣＯＲＲ（ｍ，ｎ）を１に設定してステップＳ１０へ進む。絶対値ｄ１が閾値ｄｔｈを超える場合には、ステップＳ７が否定判定されてステップＳ９へ進む。ステップＳ９では、変数ＣＯＲＲ（ｍ，ｎ）を０に設定してステップＳ１０へ進む。
【００４６】
ステップＳ１０においては、変数ｎが２１か否かを判定する。ｎの値が２１の場合にはステップＳ１０が肯定判定されてステップＳ１２へ進む。変数ｎが２１ではない場合には、ステップＳ１０が否定判定されてステップＳ１１へ進み、変数ｎに１を加算してステップＳ６へ戻る。ステップＳ１２においては、相関度を示す変数ＣＯＲＲ（ｍ，ｎ）の値が０となるｎの範囲を検出し、最小のｎをｎ０ｓ、最大のｎをｎ０ｅとして設定し、バッファメモリ１６に記録して図８に示すステップＳ１３へ進む。
【００４７】
図８のステップＳ１３〜ステップＳ２１までの処理は、変数ｎがｎ０ｓからｎ０ｅまでの範囲で行われる。ステップＳ１３においては、変数ｎをｎ０ｓに設定してステップＳ１４へ進む。ステップＳ１４においては、ずらし量ｄｐを１に設定してステップＳ１５へ進む。ステップＳ１５においては、平均値ＶＡＬ（ｍ，ｎ）と平均値ＶＡＬ（ｍ＋１，ｎ＋ｄｐ）との差分の絶対値ｄ２を算出してステップＳ１６へ進む。
【００４８】
ステップＳ１６においては、絶対値ｄ２が閾値ｄｔｈ以下か否かを判定する。絶対値ｄ２が閾値ｄｔｈ以下の場合には、ステップＳ１６が肯定判定されてステップＳ１７へ進む。ステップＳ１７では、ずらし量ｄｐをずれ量ｄｐａ（ｍ，ｎ）としてバッファメモリ１６に記録してステップＳ２０へ進む。
【００４９】
絶対値ｄ２が閾値ｄｔｈを超える場合には、ステップＳ１６が否定判定されてステップＳ１８へ進む。ステップＳ１８においては、ずらし量ｄｐの値に１を加算してステップＳ１９へ進む。ステップＳ１９では、ステップＳ１８で１が加算されたずらし量ｄｐの値が、ｎ０ｅ−ｎ０ｓの値と等しいか否かを判定する。すなわち、第ｍ＋１データ行DLine（ｍ＋１）のブロック領域ＢＫｍ＋１（ｎ）をさらにｘ軸方向にずらした場合に、比較の対象となるブロック領域ＢＫｍ（ｎ）が存在するか否かを判定する。ずらし量ｄｐがｎ０ｅ−ｎ０ｓの値と等しい場合、すなわち比較の対象となるブロック領域ＢＫｍ（ｎ）が存在しない場合には、ステップＳ１９が肯定判定されてステップＳ２０へ進む。ずらし量ｄｐがｎ０ｅ−ｎ０ｓの値と等しくない場合、すなわち比較の対象となるブロック領域ＢＫｍ（ｎ）が存在する場合には、ステップＳ１９が否定判定されてステップＳ１５へ戻る。
【００５０】
ステップＳ２０においては、変数ｎがｎ０ｅであるか否かを判定する。変数ｎがｎ０ｅではない場合には、ステップＳ２０が否定判定されてステップＳ２１へ進み、変数ｎの値に１を加算してステップＳ１４へ戻る。変数ｎがｎ０ｅの場合には、ステップＳ２０が肯定判定されてステップＳ２２へ進む。ステップＳ２２では、ブロック領域ＢＫｍ（ｎ）の移動量ｍｖ（ｍ）を算出して、図９のステップＳ２３へ進む。なお、移動量ｍｖ（ｍ）の算出は、上述したようにずれ量ｄｐａ（ｍ，ｎ）をｎ＝ｎ０ｓからｎ０ｅまでで平均した値を１／２にしたずれ量ｄｐａを、１つのブロック領域ＢＫに含まれる画素１４１の数を乗じることにより行われる。
【００５１】
図９のステップＳ２３においては、第ｍデータ行DLine（ｍ）のｎ０ｓからｎ０ｅまでのブロック領域ＢＫｍ（ｎ）の画像データを、ｘ軸の−方向へ移動量ｍｖ（ｍ）だけ移動させてステップＳ２４へ進む。ステップＳ２４においては、第ｍ＋１データ行DLine（ｍ＋１）のｎ０ｓからｎ０ｅまでのブロック領域ＢＫｍ＋１（ｎ）の画像データを、ｘ軸の＋方向へ移動量ｍｖ（ｍ）だけ移動させてステップＳ２５へ進む。ステップＳ２５においては、第ｍデータ行DLine（ｍ）のブロック領域ＢＫの移動に伴って発生した消失領域ＶＲの画像データを、第ｍ＋１データ行DLine（ｍ＋１）のｘ軸方向に同位置の画像データを用いて補間してステップＳ２６へ進む。
【００５２】
ステップＳ２６においては、第ｍ＋１データ行DLine（ｍ＋１）のブロック領域ＢＫの移動に伴って発生した消失領域ＶＲの画像データを、第ｍデータ行DLine（ｍ）のｘ軸方向に同位置の画像データを用いて補間してステップＳ２７へ進む。ステップＳ２７においては、変数ｍの値が１５であるか否かを判定する。ｍの値が１５の場合にはステップＳ２７が肯定判定されて処理を終了する。ｍの値が１５ではない場合には、ステップＳ２７が否定判定されてステップＳ２８へ進む。ステップＳ２８においては、ｍの値に２が加算されて図７のステップＳ３へ戻る。
【００５３】
なお、上述の説明は、動画撮影モードが設定された場合の処理として行った。しかし、電子カメラ１は、ユーザによりライブビューモードが設定された場合や、静止画撮影モードの連続撮影にて連写速度が高速に設定された場合にも同様の処理を行ってローリングシャッタ歪みを補正することができる。
【００５４】
以上で説明した実施の形態の電子カメラ１によれば、以下の作用効果が得られる。
（１）撮像素子１４には、複数の画素１４１がｘ方向と、ｘ方向と交差するｙ方向とに配列されている。この撮像素子１４は、ｘ方向に沿った複数の画素１４１からなる画素行Lineと、ｙ方向の異なる位置でｘ方向に沿った複数の画素１４１からなる画素行Lineとを異なる電荷蓄積タイミングで電荷蓄積を行う。読出制御部１８１は、ｙ方向の奇数番目に配列された画素行Line（２ｍ−１）と、ｙの偶数番目に配列された画素行Line（２ｍ）との一方については撮像素子１４の撮像面の上方から、他方については撮像面の下方から、交互に画像信号を読み出させる。算出部１８２ａは、ｙ方向に隣接する２個の画素行Line（ｍ）、Line（ｍ＋１）から出力された画像データをそれぞれ比較して、撮像面に対して相対移動を行う移動被写体Ｓの像について、隣接する２個のデータ行DLine（ｍ）およびDLine（ｍ＋１）間におけるｘ方向のずれ量ｄｐａを算出する。そして、補正部１８２ｂは、算出されたずれ量ｄｐａに基づいて、異なる電荷蓄積タイミングに起因して移動被写体Ｓの像に発生するローリングシャッタ歪みを補正するようにした。したがって、移動被写体Ｓの検出およびずれ量の算出を複数フレームの画像データを用いることなく、１つの画像データによって算出することができる。そのため、複数の画像データを格納する必要がなくなるので、バッファメモリ１６の容量を確保することができる。また、動体領域を検出する際に、従来技術のように異なるフレームの画像データを用いる必要がなくなるので、第１フレームの画像データであってもローリングシャッタ歪みを補正して、動画全体の画質を向上させることができる。
【００５５】
（２）算出部１８２ａは、１個の画素行Line（ｍ）から出力されたデータ行DLine（ｍ）の画像データを、所定個数の画素１４１に対応した複数のブロック領域ＢＫｍ（ｎ）に分割する。そして、算出部１８２ａは、隣接する２個のデータ行DLine（ｍ）およびDLine（ｍ＋１）の間で、互いに対応するブロック領域ＢＫｍ（ｎ）およびＢＫｍ＋１（ｎ）の相関度に基づいて、ブロック領域ＢＫのｘ方向へのずれ量ｄｐａを算出するようにした。したがって、データ量を減らして演算処理の負荷を低減できる。
【００５６】
（３）補正部１８２ｂは、隣接する２個のデータ行DLine（ｍ）およびDLine（ｍ＋１）のブロック領域ＢＫｍ（ｎ）およびＢＫｍ＋１（ｎ）を、ｘ方向に沿って互いに異なる方向へ、ずれ量ｄｐａの半分に相当する移動量ｍｖだけ移動させて、ローリングシャッタ歪みを補正するようにした。したがって、画素行Line（２ｍ−１）と、画素行Line（２ｍ）との一方については撮像素子１４の撮像面の上方から、他方については撮像面の下方から、交互に画像信号を読み出す場合であっても、ローリングシャッタ歪みを補正して画質を向上できる。
【００５７】
（４）算出部１８２ａは、隣接する２個のデータ行ＤLine（ｍ）、ＤLine（ｍ＋１）の間で、互いに対応するブロック領域ＢＫのすべてについて相関度が高い場合、すなわちすべてのブロック領域ＢＫの差分の絶対値ｄ１が閾値ｄｔｈ以下の場合は、ずれ量ｄｐａの算出を禁止するようにした。したがって、移動被写体Ｓが存在する可能性が低い領域については、ずれ量ｄｐａの算出を行わないようにしたので、処理負荷を低減できる。
【００５８】
（５）補正部１８２ｂは、ローリングシャッタ歪みが補正された補正後の移動被写体Ｓの像である動体領域ＭＲと、補正前の動体領域ＭＲの差異部分に関する画像データを補間するようにした。この場合、補正部１８２ｂは、隣接する２個のデータ行DLine（ｍ）およびDLine（ｍ＋１）の一方の差異部分に関する画像データを、他方のデータ行の画像データを用いて補間する。したがって、ローリングシャッタ歪みを補正したことによって生じた消失領域ＶＲの画像データを生成して、画像全体の画質を向上させることができる。
【００５９】
以上で説明した実施の形態の電子カメラ１を、以下のように変形できる。
（１）算出部１８２ａが隣接するデータ行DLine間のずれ量を算出するものに代えて、ずれに関する量として平均値を算出してもよい。この場合、算出部１８２ａは、第ｍデータ行DLine（ｍ）のブロック領域ＢＫｍ（ｎ）と、第ｍ＋１データ行DLine（ｍ＋１）のブロック領域ＢＫｍ＋１（ｎ）との平均値Ａｖを算出する。そして、補正部１８２ｂは、算出された平均値Ａｖを各ブロック領域ＢＫｍ（ｎ）およびＢＫｍ＋１（ｎ）に置き換えればよい。この結果、ずれ量ｄｐａを算出して移動量ｍｖを算出する場合に比べて、処理の負荷を低減することができる。
【００６０】
（２）ユーザにより電子カメラ１がｘ軸方向に移動されていない場合には、動体領域の検出、ずれ量ｄｐａの算出、ローリングシャッタ歪みの補正処理を禁止するようにしてもよい。この場合、電子カメラ１は、たとえばジャイロセンサ等によって構成される手ブレ検出センサを備える。そして、制御回路１８は、手ブレ検出センサからの出力のうちｘ軸方向に対する検出信号が所定の閾値未満の場合には、画像処理部１８２に対して上述した動体領域の検出、ずれ量ｄｐａの算出、ローリングシャッタ歪みの補正処理を禁止させればよい。なお、読出制御部１８１が撮像素子１４の撮像面の上部から下部へ順次ローリングシャッタ方式によって画像信号を出力させるようにしてもよい。この結果、三脚等を使用して撮影する場合のように、手振れの発生する可能性が低い場合には、ローリングシャッタ歪み補正と、当該補正を実行するために必要な処理とを行わないので、処理負荷を低減できる。
【００６１】
（３）電子カメラ１でローリングシャッタ歪みの補正処理をするものに代えて、外部に接続された画像処理装置（たとえばパーソナルコンピュータ等）により補正処理を行ってもよい。図１０に、画像処理装置としてパーソナルコンピュータを一例としたブロック図を示す。画像処理装置５０は、電子カメラ１で撮像した被写体像の画像データの表示や編集、画像データの保存を行う。画像処理装置５０は、制御回路５１、ＨＤＤ５２、モニタ制御回路５３、モニタ５４、メモリ５５、入力装置５６、メモリカードインタフェース５７、および外部インタフェース５８を備える。外部インタフェース５８は、所定のケーブルや無線伝送路を介して電子カメラ１等の外部装置とデータ通信を行う。
【００６２】
入力装置５６は、ユーザによって操作され、たとえばキーボードやマウスなどで構成される。ＨＤＤ５２には、たとえば電子カメラ１で撮影した動画や静止画に対応する画像ファイルなどが記録されている。外部インタフェース５８は、たとえば画像処理装置５０に電子カメラ１などの外部機器を接続するＵＳＢインタフェースである。画像処理装置５０は、メモリカードインタフェース５７や外部インタフェース５８を介してメモリカード１０８や外部機器から画像ファイルなどを入力する。入力された画像ファイルは、制御回路５１によりＨＤＤ５２に記録される。上述した電子カメラ１で生成された画像ファイルも、同様にＨＤＤ５２に記録される。
【００６３】
制御回路５１は、画像処理装置５０の制御を行うマイクロコンピュータであり、ＣＰＵやＲＯＭその他周辺回路により構成される。制御回路５１は、画像処理部６０、画像記録部６１を機能的に備える。画像処理部６０は、入力された画像ファイルに基づいて、モニタ５４に表示するための表示画像データを生成する。また、画像処理部６０は、算出部６０ａと補正部６０ｂとを機能的に備える。算出部６０ａと補正部６０ｂの詳細については、説明を後述する。画像記録部６１は、画像処理部６０により生成された画像データに対してＪＰＥＧなどの所定の方式により圧縮処理を行い、ＥＸＩＦなどの形式でメモリカード１０８へ記録する。
【００６４】
メモリ５５は制御回路５１のワーキングメモリであり、たとえばＳＤＲＡＭにより構成される。モニタ５４は、たとえば液晶モニタやＣＲＴモニタである。モニタ５４には、モニタ制御回路５３に制御されて、表示用の画像データに対応する画像および各種設定を行うためのメニュー画面などが表示される。
【００６５】
次に、画像処理装置５０によるローリングシャッタ歪みの補正処理について説明する。画像処理装置５０によりローリングシャッタ歪みを補正する場合、ユーザにより歪み補正ソフトを起動して実行する。この歪み補正ソフトは、画像処理装置５０の制御回路５１内の不図示メモリに記録されている。ユーザによる入力装置５６の操作に応じて歪み補正ソフトの起動が指示されると、制御回路５１は歪み補正ソフトを起動する。歪み補正ソフトが起動されると、制御回路５１の画像処理部６０は、ＨＤＤ５２に記録された画像ファイルをメモリ５５に読み出す。
【００６６】
算出部６０ａは、電子カメラ１の算出部１８２ａと同様の処理を行う。すなわち、算出部６０ａは、１個の画素行Line（ｍ）から出力されたデータ行DLine（ｍ）の画像データを複数のブロック領域ＢＫｍ（ｎ）に分割する。算出部６０ａは、隣接する２個のデータ行DLine（ｍ）およびDLine（ｍ＋１）の間で、互いに対応するブロック領域ＢＫｍ（ｎ）およびＢＫｍ＋１（ｎ）の相関度に基づいて、ブロック領域ＢＫのｘ方向へのずれ量ｄｐａを算出する。そして、算出部６０ａは、算出したずれ量ｄｐａに基づいてブロック領域ＢＫの移動量ｍｖを算出する。
【００６７】
算出部６０ａにより移動量ｍｖが算出されると、補正部６０ｂは、電子カメラ１の補正部１８２ｂと同様の処理を行う。すなわち、補正部６０ｂは、隣接する２個のデータ行DLine（ｍ）およびDLine（ｍ＋１）のブロック領域ＢＫｍ（ｎ）およびＢＫｍ＋１（ｎ）を、ｘ方向に沿って互いに異なる方向へ、ずれ量ｄｐａの半分に相当する移動量ｍｖだけ移動させて、ローリングシャッタ歪みを補正する。さらに、補正部６０ｂは、ローリングシャッタ歪みが補正された補正後の移動被写体Ｓの像である動体領域ＭＲと、補正前の動体領域ＭＲの差異部分である消失領域ＶＲを補間する。この場合も電子カメラ１の補正部１８２ｂと同様に、補正部６０ｂは、隣接する２個のデータ行DLine（ｍ）およびDLine（ｍ＋１）の一方の消失領域ＶＲの画像データを、他方のデータ行の画像データを用いて補間する。換言すると、制御回路５１の画像処理部６０、算出部６０ａおよび補正部６０ｂは、図７のフローチャートに示すステップＳ１〜図９のステップＳ２８までの処理を行う。そして、画像記録部６１は、生成したローリングシャッタ歪み補正後の画像データに基づいて画像ファイルを生成しＨＤＤ５２に記録する。
【００６８】
また、本発明の特徴を損なわない限り、本発明は上記実施の形態に限定されるものではなく、本発明の技術的思想の範囲内で考えられるその他の形態についても、本発明の範囲内に含まれる。説明に用いた実施の形態および変形例は、それぞれを適宜組合わせて構成しても構わない。
【符号の説明】
【００６９】
１  電子カメラ、  １４  撮像素子、
１８、５１  制御回路、  ５０  画像処理装置、
５８  外部インタフェース、
１４１  画素、
１８１  読出制御部、
６０、１８２  画像処理部、
６０ａ、１８２ａ  算出部、
６０ｂ、１８２ｂ  補正部
【図１】
0005621485.tif 000002
【図２】
0005621485.tif 000003
【図３】
0005621485.tif 000004
【図４】
0005621485.tif 000005
【図５】
0005621485.tif 000006
【図６】
0005621485.tif 000007
【図７】
0005621485.tif 000008
【図８】
0005621485.tif 000009
【図９】
0005621485.tif 000010
【図１０】
0005621485.tif 000011