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