JP2013175992A - 撮像装置および画像処理装置 - Google Patents
撮像装置および画像処理装置 Download PDFInfo
- Publication number
- JP2013175992A JP2013175992A JP2012040157A JP2012040157A JP2013175992A JP 2013175992 A JP2013175992 A JP 2013175992A JP 2012040157 A JP2012040157 A JP 2012040157A JP 2012040157 A JP2012040157 A JP 2012040157A JP 2013175992 A JP2013175992 A JP 2013175992A
- Authority
- JP
- Japan
- Prior art keywords
- image data
- image
- moving
- region
- correction amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Studio Devices (AREA)
- Transforming Light Signals Into Electric Signals (AREA)
Abstract
【課題】撮影画面の上下方向に発生するローリングシャッタ歪みを補正する。
【解決手段】撮像装置は、ローリングシャッタ方式で撮影する撮像素子14と、水平走査ラインを上から下へ走査して画素信号を読み出す第1の読み出し走査と、水平走査ラインを下から上へ走査して画素信号を読み出す第2の読み出し走査とを行う撮像素子駆動手段181と、撮像素子駆動手段181による第1の読み出し走査によって生成された第1画像データと、撮像素子駆動手段181による第2の読み出し走査によって生成された第2画像データとから、ローリングシャッタ歪みを補正するための歪み補正量を算出する補正量算出手段と、算出された歪み補正量に基づき、第1画像データと第2画像データとの少なくとも一方の画像データを補正する補正手段とを備える。
【選択図】図1
【解決手段】撮像装置は、ローリングシャッタ方式で撮影する撮像素子14と、水平走査ラインを上から下へ走査して画素信号を読み出す第1の読み出し走査と、水平走査ラインを下から上へ走査して画素信号を読み出す第2の読み出し走査とを行う撮像素子駆動手段181と、撮像素子駆動手段181による第1の読み出し走査によって生成された第1画像データと、撮像素子駆動手段181による第2の読み出し走査によって生成された第2画像データとから、ローリングシャッタ歪みを補正するための歪み補正量を算出する補正量算出手段と、算出された歪み補正量に基づき、第1画像データと第2画像データとの少なくとも一方の画像データを補正する補正手段とを備える。
【選択図】図1
Description
本発明は、撮像装置および画像処理装置に関する。
従来から、ローリングシャッタ方式により撮影した2つの画像を用いて算出した動きベクトルに基づいて、ローリングシャッタ方式により発生する歪みを補正するデジタルカメラが知られている(たとえば特許文献1)。
しかしながら、撮影画面の上下方向に発生する歪みを補正できないという問題がある。
請求項1に記載の発明による撮像装置は、ローリングシャッタ方式で撮影する撮像素子と、撮像素子の水平走査ラインを上から下へ走査して画素信号を読み出す第1の読み出し走査と、撮像素子の水平走査ラインを下から上へ走査して画素信号を読み出す第2の読み出し走査とを行う撮像素子駆動手段と、撮像素子駆動手段による第1の読み出し走査によって生成された第1画像データと、撮像素子駆動手段による第2の読み出し走査によって生成された第2画像データとから、ローリングシャッタ歪みを補正するための歪み補正量を算出する補正量算出手段と、補正量算出手段によって算出された歪み補正量に基づき、第1画像データと第2画像データとの少なくとも一方の画像データを補正する補正手段とを備えることを特徴とする。
請求項6に記載の発明による画像処理装置は、ローリングシャッタ方式で撮像素子の水平走査ラインを上から下へ走査して画素信号を読み出す第1の読み出し走査によって生成された第1画像データと、撮像素子の水平走査ラインを下から上へ走査して画素信号を読み出す第2の読み出し走査によって生成された第2画像データとを入力する入力手段と、第1画像データと、第2画像データとから、ローリングシャッタ歪みを補正するための歪み補正量を算出する補正量算出手段と、補正量算出手段によって算出された歪み補正量に基づき、第1画像データと第2画像データとの少なくとも一方の画像データを補正する補正手段とを備えることを特徴とする。
請求項6に記載の発明による画像処理装置は、ローリングシャッタ方式で撮像素子の水平走査ラインを上から下へ走査して画素信号を読み出す第1の読み出し走査によって生成された第1画像データと、撮像素子の水平走査ラインを下から上へ走査して画素信号を読み出す第2の読み出し走査によって生成された第2画像データとを入力する入力手段と、第1画像データと、第2画像データとから、ローリングシャッタ歪みを補正するための歪み補正量を算出する補正量算出手段と、補正量算出手段によって算出された歪み補正量に基づき、第1画像データと第2画像データとの少なくとも一方の画像データを補正する補正手段とを備えることを特徴とする。
本発明によれば、第1の読み出し走査と第2の読み出し走査によって生成された第1画像データと第2画像データとを用いて歪み補正量を算出し、ローリングシャッタ歪みを補正することができる。
図面を参照して、本発明による一実施の形態における電子カメラを説明する。図1は電子カメラ1の要部構成を示すブロック図である。電子カメラ1は、撮影レンズL1、撮像素子14、バッファメモリ16、制御回路18、LCD駆動回路19、液晶表示器191、操作部30、およびメモリカードインタフェース31を備えている。
撮像素子14は、行列状に多数配列された画素を有するX−Yアドレス型の光電変換素子である。撮像素子14は、後述する制御回路18の制御に応じて駆動して撮影レンズL1を通して入力される被写体像を撮像し、撮像して得た画像信号を制御回路18へ出力する。本実施の形態において、撮像素子14は、走査ラインごとに順次シャッタを切る方式(いわゆるローリングシャッタ方式)により駆動される。
撮像素子14から出力された画像信号は、図示しないAFE回路等によりアナログ処理(ゲインコントロールなど)が施され、図示しないA/D変換回路によりデジタルの画像信号に変換される。デジタル信号に変換された画像信号は制御回路18に入力される。バッファメモリ16は、後述する制御回路18により生成された画像データ、または各種処理中の画像データを一時的に格納する作業用の揮発性メモリである。
制御回路18は、図示しないCPU、ROM、RAMなどを有し、制御プログラムに基づいて、電子カメラ1の各構成要素を制御したり、各種のデータ処理を実行する演算回路である。制御プログラムは、制御回路18内の不図示の不揮発性メモリに格納されている。制御回路18は、図示しないタイミングジェネレータ等を介して、撮像素子14の駆動タイミングを制御する。
制御回路18は、読出制御部181、画像処理部182および画像記録部183を機能的に備える。読出制御部181は、後述する撮像素子14によるローリングシャッタ方式による画像信号の読出しを制御する。画像処理部182は、入力した画像信号に対して種々の画像処理を施して画像データを生成する。また、画像処理部182は、メモリカード108に記録されている画像データに基づいて、液晶表示器191に表示するための表示画像データを生成する。また、図2に示すように、画像処理部182は、移動体検出部182a、テンプレート作成部182b、対応部位検出部182c、算出部182dおよび補正部182eを機能的に備える。なお、画像処理部182による処理については、詳細を後述する。画像記録部183は、画像処理部182により生成された画像データに対してJPEGなどの所定の方式により圧縮処理を行い、EXIFなどの形式でメモリカード108へ記録する。
LCD駆動回路19は、制御回路18の命令に基づいて液晶表示器191を駆動する回路である。液晶表示器191は、撮像素子14で撮像した画像をリアルタイムに表示するライブビュー表示とともに、メモリカード108に記録されている画像データに基づいて画像処理部182で作成された表示画像データに対応する画像の表示を行う。また、液晶表示器191は、操作部30の操作に基づき、電子カメラ1の各種設定のためのメニュー画面の表示を行う。
操作部30はユーザによって操作される種々の操作部材に対応して設けられた種々のスイッチを含み、操作部材の操作に応じた操作信号を制御回路18へ出力する。操作部材は、たとえばレリーズボタンや、上記のメニュー画面を表示させるためのメニューボタンや、各種の設定等を選択操作する時に操作される十字キー、十字キーにより選択された設定等を決定するための決定ボタン、撮影モードと再生モードとの間で電子カメラ1の動作を切替えるモード切替ボタン等を含む。また、操作部30により、撮像モードとして静止画撮影モードや動画撮影モード、ライブビュー表示を行うためのライブビューモード等の設定が可能である。
メモリカードインタフェース31は、メモリカード108が着脱可能なインタフェースである。メモリカードインタフェース31は、制御回路18の制御に基づいて、画像ファイルをメモリカード108に書き込んだり、メモリカード108に記録されている画像ファイルを読み出すインタフェース回路である。メモリカード108はコンパクトフラッシュ(登録商標)やSDカードなどの半導体メモリカードである。
本実施の形態による電子カメラ1は、静止画撮影モードが設定されると、撮像素子14がローリングシャッタ方式により画像信号を出力することに伴って、撮像素子14の撮像面に対して相対移動を行う被写体(移動被写体)の像に対応する領域(動体領域)を検出する。そして、電子カメラ1は、画像データ上で検出した動体領域に発生するローリングシャッタ歪みを補正する。動体領域を検出するために、本実施の形態の電子カメラ1は、撮像素子14のローリングシャッタ方式による読出し方向を異ならせて、2種類の画像データを生成する。
図3〜図5を参照しながら本実施の形態におけるローリングシャッタ方式について説明する。図3は、撮像素子14を構成する画素141を示す図である。図3では、撮像素子14の水平方向(画素行方向)をx軸、垂直方向(画素列方向)をy軸とする。なお、本実施の形態では、説明を簡単にするため、撮像素子14は、第1行目の画素行Line(1)から第n行目の画素行Line(n)(nは1以上の整数)によって構成されているものとする。
ユーザによるレリーズボタンの全押し操作に応じて操作部30から撮影開始を指示する操作信号が入力されると、読出制御部181は、撮像素子14に対してローリングシャッタ方式による電荷蓄積および画像信号の出力を開始させる。この場合、図3(b)に示すように、読出制御部181は、撮像素子14の撮像面最上部に配列された第1画素行Line(1)の画素141から撮像面最下部に配列された第n画素行Line(n)の画素141まで、所定の水平走査期間tHごとに、順次画素行単位で電荷蓄積および画像信号の出力を開始させる(第1読出し)。その結果、第n画素行Line(n)の画素141が電荷蓄積を開始する時刻は、第1画素行Line(1)の画素141の電荷蓄積を開始する時刻よりも(n×tH)だけ遅くなる。上述のようにして出力された画像信号は、第1画像信号としてバッファメモリ16に一時的に格納される。
第1画像信号が出力される、すなわち第1画素行Line(1)から第n画素行Line(n)までの画像信号が出力されると、読出制御部181は、再度、撮像素子14に対してローリングシャッタ方式による電荷蓄積と画像信号の出力を行わせる。この場合、図3(c)に示すように、読出制御部181は、撮像素子14の像面最下部に配列された第n画素行Line(n)の画素141から撮像面最上部に配列された第1画素行Line(1)の画素141まで、所定の水平走査期間tHごとに、順次画素行単位で電荷蓄積および画像信号の出力を開始させる(第2読出し)。その結果、第1画素行Line(1)の画素141が電荷蓄積を開始する時刻は、第n画素行Line(n)の画素141の電荷蓄積を開始する時刻よりも(n×tH)だけ遅くなる。上述のようにして出力された画像信号は、第2画像信号としてバッファメモリ16に一時的に格納される。
画像処理部182は、上述のようにして出力された第1画像信号および第2画像信号に対して種々の画像処理を施して、第1画像データおよび第2画像データをそれぞれ生成する。第1画像データの移動被写体および第2画像データの移動被写体には、ローリングシャッタ方式に起因する歪み(ローリングシャッタ歪み)がそれぞれ異なる状態で発生する。
図4、図5に、移動被写体と、ローリングシャッタ歪みとの関係を示す。図4(a)、図4(b)には、たとえば矩形形状を有する移動被写体S(図4(a)、(b)の斜線で示す領域)の像が撮像素子14上を左から右(図4(a)、(b)に示す矢印の方向、すなわちx軸方向)へ移動する場合を示している。図4(a)に示すように、この移動被写体Sは、第1画素行Line(1)の画素141への電荷蓄積開始(時刻t1s)から、第n画素行Line(n)の画素141から第1画像信号の読出しが終了(時刻t1e)までの間に、移動被写体Sの左下端が点Aから点Bまで移動する。なお、図4(a)においては、時刻t1sにおける移動被写体Sの外周を実線で示し、時刻t1eにおける移動被写体Sの外周を破線で示している。さらに、図4(b)に示すように、移動被写体Sは、第n画素行Line(n)の画素141への電荷蓄積開始(時刻t2s)から、第1画素行Line(1)の画素141から第2画像信号の読出しが終了(時刻t2e)までの間に、移動被写体Sの左下端が点Cから点Dまで移動する。なお、図4(b)においては、時刻t2sにおける移動被写体Sの外周を実線で示し、時刻t2eにおける移動被写体Sの外周を破線で示している。
図4(c)に、第1画像データの移動被写体Sに対応する動体領域MR1に発生するローリングシャッタ歪みを示す。上述したように、第1画像信号の出力時には、撮像素子14の第n画素行Line(n)の電荷蓄積開始時刻は第1画素行Line(1)の電荷蓄積開始時刻よりも時間(n×tH)だけ遅れている。この間に、移動被写体Sは、図4(a)の点Aから点Bまで移動しているので、図4(c)に示すように、動体領域MR1の垂直方向の下部ほど移動被写体Sの進行方向(すなわち、x軸方向)に向かって歪んだ形状となる。
図4(d)に、第2画像データの動体領域MR2に発生するローリングシャッタ歪みを示す。上述したように、第2画像信号の出力時には、撮像素子14の第1画素行Line(1)の電荷蓄積開始時刻は第n画素行Line(n)の電荷蓄積開始時刻よりも時間(n×tH)だけ遅れている。この間に、移動被写体Sは、図4(b)の点Cから点Dまで移動しているので、図4(d)に示すように、動体領域MR2の垂直方向の上部ほど移動被写体Sの進行方向(x軸方向)に向かって歪んだ形状となる。
図5に、移動被写体と、ローリングシャッタ歪みとの関係を示す。図5(a)、図5(b)には、たとえば矩形形状を有する移動被写体S(図5(a)、(b)の斜線で示す領域)の像が撮像素子14上を上から下(図5(a)に示す矢印の方向、すなわちy軸方向)へ移動する場合を示している。図5(a)に示すように、この移動被写体Sは、第1画素行Line(1)の画素141への電荷蓄積開始(時刻t1s)から、第n画素行Line(n)の画素141から第1画像信号の読出しが終了(時刻t1e)までの間に、移動被写体Sの下端が点Eから点Fまで、移動被写体Sの上端が点Gから点Hまで移動する。なお、図5(a)においては、時刻t1sにおける移動被写体Sの外周を実線で示し、時刻t1eにおける移動被写体Sの外周を破線で示している。さらに、図5(b)に示すように、移動被写体Sは、第n画素行Line(n)の画素141への電荷蓄積開始(時刻t2s)から、第1画素行Line(1)の画素141から第2画像信号の読出しが終了(時刻t2e)までの間に、移動被写体Sの下端が点Iから点Jまで、移動被写体Sの上端が点Kから点Lまで移動する。なお、図5(b)においては、時刻t2sにおける移動被写体Sの外周を実線で示し、時刻t2eにおける移動被写体Sの外周を破線で示している。
図5(c)に、第1画像データの移動被写体Sに対応する動体領域MR1に発生するローリングシャッタ歪みを示す。上述したように、第1画像信号の出力時には、撮像素子14の第n画素行Line(n)の電荷蓄積開始時刻は第1画素行Line(1)の電荷蓄積開始時刻よりも時間(n×tH)だけ遅れている。この間に、図5(a)に示すように、移動被写体Sの下端は点Eから点Fまで、移動被写体Sの上端が点Gから点Hまで移動する。このため、図5(c)に示すように、動体領域MR1は上下方向、すなわちy軸方向に延伸して歪んだ形状となる。
図5(d)に、第2画像データの動体領域MR2に発生するローリングシャッタ歪みを示す。上述したように、第2画像信号の出力時には、撮像素子14の第1画素行Line(1)の電荷蓄積開始時刻は第n画素行Line(n)の電荷蓄積開始時刻よりも時間(n×tH)だけ遅れている。この間に、図5(b)に示すように、移動被写体Sの下端は点Iから点Jまで、移動被写体Sの上端は点Kから点Lまで移動する。そのため、図5(d)に示すように、動体領域MR2の上下方向、すなわちy軸方向に圧縮されたように歪んだ形状となる。
画像処理部182の移動体検出部182aは、上記の特性を有する第1画像データと第2画像データとを用いて、公知の技術により、第1画像データ上で移動被写体Sに対応する動体領域MR1を検出する。以下の説明では、図4に示す移動被写体Sがx軸方向へ移動している場合を例として説明する。この場合、移動体検出部182aは、第1画像データを所定の大きさを有する複数の領域に分割する。移動体検出部182aは、分割した領域内の画素値との一致度が高い、すなわち画素値の差分が所定の閾値よりも低い領域を第2画像データ上から検出する。そして、移動体検出部182aは、上記の分割した領域の第1画像データ上での位置(座標値)と、当該分割した領域と一致度が高い領域の第2画像データ上での位置(座標値)とを比較する。2つの座標値を比較した結果、差分が所定の値よりも大きい場合には、移動体検出部182aは、上記の分割した領域を移動被写体Sに対応する領域として検出する。移動体検出部182aは、上記の比較を分割した各領域ごとに行い、図4(c)に示すような動体領域MR1として検出する。
続いて、画像処理部182は、第1画像データ上で検出された動体領域MR1に発生したローリングシャッタ歪みを補正するための補正量を算出するために、動体領域MR1と第2画像データ上の動体領域MR1に対応する領域との変位量(動きベクトル)を算出する。すなわち、画像処理部182は、動体領域MR1の部分領域と対応関係にある領域を第2画像データ上から検出する必要がある。ただし、上記の図4(c)および図4(d)にて示したように、第1画像データおよび第2画像データの間で、移動被写体Sの像の形状はx軸に沿って異なる方向に歪む。このため、画像処理部182は、動体領域MR1の画像データを用いて、第2画像データにおいて異なる方向に発生する歪みを考慮したテンプレートを作成し、テンプレートマッチングの技術により動体領域MR1の部分領域と対応関係にある領域を第2画像データ上から検出する。以下、画像処理部182によるテンプレート作成処理、テンプレートマッチング処理、変位量算出処理、歪み補正処理の順序で詳細な説明を行う。
−テンプレート作成処理−
画像処理部182のテンプレート作成部182bによるテンプレート作成処理について説明する。テンプレート作成部182bは、第1画像データ上で検出された動体領域MR1のデータを用いて、複数種類のテンプレート画像を作成する。この場合、テンプレート作成部182bは、画像データ上の異なる小領域ごとに、動体領域MR1の形状を変形させることにより、複数種類の異なるテンプレート画像を作成する。すなわち、テンプレート作成部182bは、画像データでの位置に応じて、動体領域MR1の形状変化(変形)の方向が異なるテンプレート画像を作成する。これら複数種類のテンプレート画像のそれぞれは、移動被写体Sの電子カメラ1に対する相対的な移動方向と、画像データ上での動体領域の移動量(すなわち移動被写体Sの電子カメラ1に対する相対的な移動速度)と、画像信号の読出し速度(スキャン速度)とが反映されたものとなる。
画像処理部182のテンプレート作成部182bによるテンプレート作成処理について説明する。テンプレート作成部182bは、第1画像データ上で検出された動体領域MR1のデータを用いて、複数種類のテンプレート画像を作成する。この場合、テンプレート作成部182bは、画像データ上の異なる小領域ごとに、動体領域MR1の形状を変形させることにより、複数種類の異なるテンプレート画像を作成する。すなわち、テンプレート作成部182bは、画像データでの位置に応じて、動体領域MR1の形状変化(変形)の方向が異なるテンプレート画像を作成する。これら複数種類のテンプレート画像のそれぞれは、移動被写体Sの電子カメラ1に対する相対的な移動方向と、画像データ上での動体領域の移動量(すなわち移動被写体Sの電子カメラ1に対する相対的な移動速度)と、画像信号の読出し速度(スキャン速度)とが反映されたものとなる。
まず、図6を用いて、移動被写体Sの移動速度に応じて、第2画像データ上での動体領域MR2の位置と、動体領域MR2の形状とが異なる点を説明する。図6(a)には、移動被写体Sが、図4(a)および図4(b)に示す場合と同様の速度でx軸方向の「+」側へ移動している場合を示す。図6(b)には、図6(a)の場合における第2画像データ上の動体領域MR2を示している。すなわち、図6(b)での動体領域MR2は、図4(d)に示した場合と同じ位置および形状を有している。
図6(c)は、図6(a)に示す場合よりも移動被写体Sが高速でx軸方向の「+」側へ移動している場合を示している。図6(d)に、図6(c)の時の第2画像データ上での動体領域MR2を示す。この場合、第2画像データ上での動体領域MR2は、図6(b)に示す場合よりも、x軸方向の「+」側へずれた場所に位置する。これは、移動被写体Sの移動速度が速いことにより、時刻t1eから時刻t2sまでの期間での移動被写体Sの移動距離が、図6(a)の場合よりも大きくなるためである。
さらに、図6(d)に示すように、動体領域MR2の形状は、図6(b)に示す動体領域MR2の形状と比べて、y軸方向の「−」側(上側)に発生するx軸方向「+」側への歪みが大きくなる。これは、移動被写体Sの移動速度が速いことにより、第2画像信号の読出し開始時刻t2sから読出し終了時刻t2eまでの期間での移動被写体の移動距離が、図6(a)の場合よりも大きくなるためである。
図6(e)は、図6(a)に示す場合よりも移動被写体Sが低速でx軸方向の「+」側へ移動している場合を示している。図6(f)に、図6(e)の時の第2画像データ上での動体領域MR2を示す。この場合、第2画像データ上での動体領域MR2は、図6(b)に示す場合よりも、x軸方向の「−」側へずれた場所に位置する。これは、移動被写体Sの移動速度が遅いことにより、時刻t1eから時刻t2sまでの期間での移動被写体Sの移動距離が、図6(a)の場合よりも小さくなるためである。
さらに、図6(f)に示すように、動体領域MR2の形状は、図6(b)に示す動体領域MR2の形状と比べて、y軸方向の「−」側(上側)に発生するx軸方向「+」側への歪みが小さくなる。これは、移動被写体Sの移動速度が遅いことにより、第2画像信号の読出し開始時刻t2sから読出し終了時刻t2eまでの期間での移動被写体の移動距離が、図6(a)の場合よりも小さくなるためである。
なお、移動被写体Sがx軸方向「−」側に移動している場合には、移動被写体Sの移動速度と、動体領域MR2の位置および形状との関係は、図6に示す場合とは逆になる。すなわち、移動被写体Sのx軸方向「−」側への移動速度が高速であるほど、動体領域MR2は、第2画像データ上のx軸方向「−」側へ離れた場所に位置し、動体領域MR2のy軸方向の「−」側に発生する歪みはx軸方向「−」側へ大きくなる。
また、移動被写体Sがy軸方向に沿って移動している場合も同様に、移動被写体Sの移動速度と移動方向とに応じて、第2画像データ上での動体領域MR2の位置と形状とが異なる。移動被写体Sのy軸方向「+」側への移動速度が高速であるほど、動体領域MR2は、第2画像データ上のy軸方向「+」側へ離れた場所に位置し、動体領域MR2のy軸方向により圧縮された形状となる。さらに、移動被写体Sのy軸方向「−」側への移動速度が高速であるほど、動体領域MR2は、第2画像データ上のy軸方向「−」側へ離れた場所に位置し、動体領域MR2のy軸方向により延伸された形状となる。
図7に、上述した画像データ上での動体領域MR2の位置と形状との関係を示す。なお、図7では、動体領域MR1を矩形で表している。上述したように、図7は、動体領域MR1から離れた位置の動体領域MR2ほどその形状が変形し歪んでいる。また、移動被写体Sがx軸とy軸とにより形成される平面上で二次元移動している場合は、動体領域MR2には、x軸方向に生じる歪みとy軸方向に生じる歪みとが合成された歪みが発生する。
テンプレート作成部182bは、上述したように移動被写体Sの移動方向と移動速度とに応じて動体領域MR2の位置と形状とが変化する点を考慮して、第1画像データの動体領域MR1のデータを用いてテンプレート画像を生成する。具体的には、テンプレート作成部182bは、次の手順により複数のテンプレート画像を生成する。なお、以下の説明は、図4(c)に示す動体領域MR1が、移動体検出部182aにより上述した方法で検出されたものとして行う。
図8(a)は、第1画像データ上で検出された動体領域MR1を示している。図8(a)に示す動体領域MR1は、図4(c)に示す動体領域MR1と同一である。テンプレート作成部182bは、図8(a)に示す第1画像データのうち、図8(b)に示すように動体領域MR1を包含する領域RMRを設定する。そして、テンプレート作成部182bは、領域RMRを所定の小領域RMRpに分割する。図8(b)は、小領域RMRpの分割の一例として、テンプレート作成部182bが、領域RMRを6個の小領域RMRp1〜RMRp6に分割した様子を示している。また、図8(c)は、第2画像データ上で、テンプレート作成部182bにより生成されたテンプレート画像を用いて動体領域MR1に対応する領域を検出するための検索小領域SRを示す。図8(c)においては、検索小領域SRとして、たとえば24個の検索小領域SR1〜SR24が設定されている場合を示している。
テンプレート作成部182bは、6個の小領域RMRp1〜RMRp6のうち、たとえば3個の小領域RMRpを選択する。そして、テンプレート作成部182bは、選択した小領域RMRpのそれぞれについて、複数種類のテンプレート画像を生成する。以下の説明においては、テンプレート作成部182bは、小領域RMRp1、RMRp3、RMRp4を選択したものとして説明する。なお、テンプレート作成部182bは、複数の小領域RMRpによって平面を形成可能となるように小領域RMRpを選択することが望ましい。また、テンプレート作成部182bが全小領域RMRpのうち所定個数の小領域RMRpを選択してテンプレート画像を生成するものに代えて、全小領域RMRpについてテンプレート画像を生成してもよい。さらには、テンプレート作成部182bは、小領域RMRpに分割することなく、領域RMRの全体に対応するテンプレート画像を生成してもよい。
上述した小領域RMRpの選択が終了すると、テンプレート作成部182bは、小領域RMRp1の画像データを用いて複数のテンプレート画像を生成する。すなわち、テンプレート作成部182bは、図8(c)に示す24個の検索小領域SR1〜SR24のそれぞれの画像データ上での位置に対応して、図8(d)に示すように24個のテンプレート画像Tp1_1〜Tp24_1を生成する。図8では、小領域RMRp1の第1画像データ上での位置は、第2画像データの検索小領域SR8の位置に対応している。このため、テンプレート作成部182bは、検索小領域SR1の画像データをそのままテンプレート画像Tp8_1として用いる。
テンプレート作成部182bは、第2画像データの検索小領域SR9が小領域RMRp1に対応する領域であるか否かを検出するために用いるテンプレート画像Tp9_1を以下のようにして生成する。第1画像データ上の小領域RMRp1が第2画像データ上の検索小領域SR9にまで移動していたとすると、上述したように、検索小領域SR9における動体領域MR1には、y軸方向「−」側ほどx軸方向「+」側への歪みが大きく発生することになる。すなわち、テンプレート作成部182bは、図9(a)に示す小領域RMRp1の動体領域MR1の形状を歪ませて、図9(b)に示すテンプレート画像Tp9_1を生成する。なお、図9においては、小領域RMRp1およびテンプレート画像Tp9_1の動体領域MR1にドットを付して示す。
図9(c)は、図9(a)に示す小領域RMRp1が、たとえば8×8の画素によって構成されている場合を図示したものである。図9(c)においては、小領域RMRp1における座標値(x,y)(x≧1,y≧1)の画素に、符号Pix(x,y)を付与する。動体領域MR1を形成する画素Pix(x,y)については、ドットを付与して示す。図9(c)に示すように、小領域RMRp1では、第1および第2データ行DLine(1)およびDLine(2)においては、x=1〜8の範囲の画素Pix(x,y)が動体領域MR1の一部を形成している。同様に、第3データ行DLine(3)〜第6データ行DLine(6)では、x=2〜8の範囲の画素Pix(x,y)が動体領域MR1の一部を形成し、第7データ行DLine(7)〜第8データ行DLine(8)では、x=3〜8の範囲の画素Pix(x,y)が動体領域MR1の一部を形成している。テンプレート作成部182bは、小領域RMRp1における各データ行DLine(y)ごとに、当該データ行DLine(y)に含まれる画素Pix(x,y)をx軸「+」側に所定の移動量ずつ移動させることによって、テンプレート画像Tp9_1を生成する。なお、この移動量の算出処理については説明を後述する。
図9(d)は、上述のようにして生成されたテンプレート画像Tp9_1を示したものである。図9(d)においては、テンプレート画像Tp9_1における座標値(x,y)(x≧1,y≧1)の画素に、符号TPpix(x,y)を付与する。動体領域MR1を形成する画素TPpix(x,y)については、ドットを付与して示す。図9(d)に示すように、テンプレート画像Tp9_1では、第1および第2データ行DLine(1)およびDLine(2)においては、x=5〜8の範囲の画素TPpix(x,y)が動体領域MR1の一部を形成している。すなわち、テンプレート作成部182bは、小領域RMRp1の第1データ行DLine(1)および第2データ行DLine(2)の画素Pix(x,y)を、x方向「+」側に、移動量として4画素分移動させてテンプレート画像Tp9_1の第1データ行DLine(1)および第2データ行DLine(2)を生成している。
テンプレート作成部182bは、第3データ行DLine(3)〜第6データ行DLine(6)についても同様にして、小領域RMRp1の画素Pix(x,y)を、x方向「+」側に、移動量だけ移動させる。図9(d)に示すように、テンプレート画像Tp9_1の第3データ行DLine(3)〜第6データ行DLine(6)において、x=4〜8の範囲の画素TPpix(x,y)が動体領域MR1の一部を形成している。すなわち、図9(d)においては、テンプレート作成部182bは、テンプレート画像Tp9_1の第3データ行DLine(3)〜第6データ行DLine(6)を生成する際には、小領域RMRp1の画素Pix(x,y)を移動量として2画素分移動させている。
上述のように、テンプレート作成部182bがテンプレート画像Tp9_1を生成する際に用いる移動量は、データ行DLine(y)に応じて異なっている。すなわち、移動量は、第1画像データ上での、小領域RMRp1に含まれる画素Pix(1,1)の位置(座標値)に対する画素TPpix(x,y)の位置(座標値)に応じて異なる値が算出される。以下、移動量の算出処理について説明する。
以下、図10を用いて、テンプレート作成部182bによる移動量の算出処理について説明する。図10(a)は、第1画像データ上の座標P1(x1,y1)が第2画像データ上の座標P2(x2,y2)に移動したと仮定した場合のそれぞれの位置関係を示す。なお、図10(a)では、説明の都合上、座標P1(x1,y1)と座標P2(x2,y2)とを同一の画像データ上に示している。また、図10(a)に示す各符号は以下の(1)〜(3)の各速度を示している。なお、(1)〜(3)の各速度は、単位時間(秒)当たりの画素数で表されるものとする。また、画像データはM×N画素であるものとする。
(1)Vx:画像データ上での動体領域のx軸方向の移動量(移動被写体Sのx軸方向の移動速度)
(2)Vy:画像データ上での動体領域のy軸方向の移動量(移動被写体Sのy軸方向の移動速度)
(3)Vs:スキャン速度
(1)Vx:画像データ上での動体領域のx軸方向の移動量(移動被写体Sのx軸方向の移動速度)
(2)Vy:画像データ上での動体領域のy軸方向の移動量(移動被写体Sのy軸方向の移動速度)
(3)Vs:スキャン速度
図10(a)に示す場合においては、テンプレート作成部182bは、第1画像データ上で座標P1(x1,y1)の物体が、第2画像データ上で座標P2(x2,y2)の位置に移動するために要する時間Tsを、次の式(1)を用いて算出する。
Ts={(N−y1)+(N−y2)}/Vs ・・・(1)
Ts={(N−y1)+(N−y2)}/Vs ・・・(1)
上記式(1)に表されるように、時間Tsは、座標P1に対応する撮像素子14の画素行Lineから第1画像信号を出力してから、座標P2に対応する撮像素子14の画素行Lineから第2画像信号を出力するまでの時間である。この時間Tsの間に物体が座標P1(x1,y1)から座標P2(x2,y2)まで移動するので、テンプレート作成部182bは、以下の式(2)および(3)を用いて、上記の移動量(速度)Vx、Vyを算出する。
Vx=(x2−x1)/Ts ・・・(2)
Vy=(y2−y1)/Ts ・・・(3)
Vx=(x2−x1)/Ts ・・・(2)
Vy=(y2−y1)/Ts ・・・(3)
テンプレート作成部182bは、上記の式(2)を用いてx軸方向の移動量(速度)を算出すると、以下の式(4)を用いて、動体領域のx軸方向の歪み量Pxを算出する。
tan(90°−Px)=Vs/2×Vx ・・・(4)
tan(90°−Px)=Vs/2×Vx ・・・(4)
図10(b)に、式(4)で示される歪み量Pxと、スキャン速度と、x軸方向の移動量(速度)との関係を示す。テンプレート作成部182bは、第1画像データ上の動体領域MR1を、図10(b)に示す歪み量Px分だけx軸方向に傾かせることによりテンプレート画像を生成する。すなわち、テンプレート作成部182bは、算出した歪み量Pxを画素数に換算した値を移動量として算出する。
テンプレート作成部182bは、y軸方向の移動量については、以下の式(5)を用いてy軸方向の歪み量Pyを算出し、この歪み量Pyを画素数に換算することによって算出する。
Py=(Vs−Vy)/(Vs+Vy) ・・・(5)
Py=(Vs−Vy)/(Vs+Vy) ・・・(5)
上述したように、算出された移動量は、撮像素子14の各画素行Line(y)において、第1画像信号が出力されてから第2画像信号の出力が終了するまでの時間差と、移動被写体Sの速度とに基づいて、設定される。すなわち、移動量は、移動被写体Sの像が撮像素子14上を移動する距離に基づいて、動体領域MR1の各データ行DLine(y)に応じて異なって発生する歪み量を見込んだ値として設定される。
テンプレート作成部182bは、上述の方法と同様にして、小領域RMRp1の画像データを用いて、検索小領域SR7、SR10〜SR12に対応するテンプレート画像Tp7_1、Tp10_1〜Tp12_1を生成する。この場合、テンプレート作成部182bは、図6および図7を用いて説明したように異なる歪み量が反映された移動量を参照して、テンプレート画像Tp7_1、Tp10_1〜Tp12_1を生成する。この結果、図11(a)〜図11(d)に示すようなテンプレート画像Tp7_1、Tp10_1〜Tp12_1が生成される。
さらに、テンプレート作成部182bは、y軸方向の検索小領域SR2、SR14およびSR20についても、小領域RMRp1の画像データを用いてテンプレート画像Tp4_1、Tp14_1およびTp20_1を生成する。この場合、図6および図7を用いて説明したようにy軸方向への歪み(延伸、圧縮)が反映された移動量、すなわち歪み量Pyに基づいて算出された移動量を参照して、テンプレート作成部182bは、テンプレート画像Tp4_1、Tp14_1およびTp20_1を生成する。の結果、図12(a)〜図12(c)に示すようなテンプレート画像Tp2_1、Tp14_1およびTp20_1が生成される。
そして、テンプレート作成部182bは、検索小領域SR1、SR3〜SR6、SR13、SR15〜SR19およびSR21〜SR24に対応するテンプレート画像Tp1_1、Tp3_1〜Tp6_1、Tp13_1、Tp15_1〜Tp19_1およびTp21_1〜Tp24_1を生成する。たとえばテンプレート画像Tp3_1を生成する場合、テンプレート作成部182bは、x軸方向の歪み量Pxに基づいて算出された移動量と、y軸方向の歪み量Pyに基づいて算出された移動量とを合成して移動量を算出すればよい。
上述したように、小領域RMRp1の画像データを用いて全ての検索小領域SR1〜SR24に対応したテンプレート画像Tp1_1〜Tp24_1が生成されると、テンプレート作成部182bは、選択された小領域RMRp3、RMRp4に対しても同様の処理を行う。すなわち、テンプレート作成部182bは、小領域RMRp3の画像データを用いてテンプレート画像Tp1_3〜Tp24_3を生成し、小領域RMRp4の画像データを用いてテンプレート画像Tp1_4〜Tp24_4を生成する。そして、テンプレート作成部182bは、上述のようにして生成した複数種類のテンプレート画像Tpをバッファメモリ16に格納する。
−テンプレートマッチング処理−
画像処理部182の対応部位検出部182cは、テンプレート作成部182bにより作成されたテンプレート画像Tpを用いて、動体領域MR1の小領域RMRp1、RMRp3およびRMRp4に対して対応関係にある領域を、第2画像データから検出する。対応部位検出部182cは、バッファメモリ16に格納されたテンプレート画像Tp1_1を読出して、テンプレート画像Tp1_1と、第2画像データの検索小領域SR1の画像データとを比較する。すなわち、対応部位検出部182cは公知の技術を用いて、生成されたテンプレート画像Tp1_1と、第2画像データの検索小領域SR1との間で相関演算を行うことにより一致度を算出する。対応部位検出部182cは、算出した一致度をバッファメモリ16に一時的に格納する。
画像処理部182の対応部位検出部182cは、テンプレート作成部182bにより作成されたテンプレート画像Tpを用いて、動体領域MR1の小領域RMRp1、RMRp3およびRMRp4に対して対応関係にある領域を、第2画像データから検出する。対応部位検出部182cは、バッファメモリ16に格納されたテンプレート画像Tp1_1を読出して、テンプレート画像Tp1_1と、第2画像データの検索小領域SR1の画像データとを比較する。すなわち、対応部位検出部182cは公知の技術を用いて、生成されたテンプレート画像Tp1_1と、第2画像データの検索小領域SR1との間で相関演算を行うことにより一致度を算出する。対応部位検出部182cは、算出した一致度をバッファメモリ16に一時的に格納する。
次に、対応部位検出部182cは、バッファメモリ16から読み出したテンプレート画像Tp2_1と、第2画像データの検索小領域SR2との間で相関演算を行って一致度を算出し、バッファメモリ16に格納する。以下、対応部位検出部182cは、互いに対応する位置関係を有するテンプレート画像Tpと検索小領域SRとの間で相関演算を行って、一致度を算出する。すなわち、対応部位検出部182cは、テンプレート画像Tp3_1と検索小領域SR3との間、テンプレート画像Tp4_1と検索小領域SR4との間、・・・、テンプレート画像Tp24_1と検索小領域SR24との間で、それぞれ一致度を算出する。
対応部位検出部182cは、上述のようにして算出された24個の一致度のうち最も大きい一致度を検出する。そして、対応部位検出部182cは、最大の一致度に対応する検索小領域SRを、第1画像データの小領域RMRp1に対応する領域として検出する。たとえば、移動被写体Sが図4に示すように移動している場合には、対応部位検出部182cは、第2画像データ上の検索小領域SR9を、第1画像データにおける動体領域MR1の一部の部分領域である小領域RMRp1に対応する領域として検出する。
対応部位検出部182cは、同様にして、第1画像データ上で選択された小領域RMRp3に対応する領域を第2画像データ上で検出する。すなわち、対応部位検出部182cは、小領域RMRp3から生成したテンプレート画像Tpをバッファメモリ16から読み出す。対応部位検出部182cは、テンプレート画像Tp1_3と検索小領域SR1との間、テンプレート画像Tp2_3と検索小領域SR2との間、・・・、テンプレート画像Tp24_3と検索小領域SR24との間で、それぞれ一致度を算出する。そして、対応部位検出部182cは、最大の一致度に対応する検索小領域SRを、第1画像データの小領域RMRp3に対応する領域として検出する。対応部位検出部182cは、小領域RMRp4から生成したテンプレート画像Tpを用いる場合についても、同様の処理を行うことによって、小領域RMRp4に対応する領域を第2画像データから検出する。
移動被写体Sが図4に示すように移動している場合には、対応部位検出部182cは、第2画像データ上の検索小領域SR11を、第1画像データにおける動体領域MR1の一部の部分領域である小領域RMRp3に対応する領域として検出する。さらには、移動被写体Sが図4に示すように移動している場合、対応部位検出部182cは、第2画像データ上の検索小領域SR15を、第1画像データにおける動体領域MR1の一部の部分領域である小領域RMRp4に対応する領域として検出する。その結果、図4(d)に示す動体領域MR2が第2画像データ上にて検出されたことになる。
−変位量算出処理−
画像処理部182の算出部182dは、対応部位検出部182cにより検出された対応関係にある領域間の変位量を算出する。この場合、算出部182dは、小領域RMRp1から、対応部位検出部182cによって小領域RMRp1に対応する領域として第2画像データ上で検出された検索小領域SRへの移動ベクトルを変位量として算出する。具体的には、算出部182dは、図9(c)に示す小領域MRMp1のうちの動体領域MR1の端部に対応する画素Pix(1,1)の第1画像データ上の座標値から、図9(d)に示すテンプレート画像TPpix(5,1)に対応する検索小領域SR9の画素の座標値までの移動ベクトルを算出する。また、算出部182dは、同様にして、小領域RMRp3とその対応する検索小領域SRとの間の移動ベクトル、小領域RMRp4とその対応する検索小領域SRとの間の移動ベクトルを変位量として算出する。
画像処理部182の算出部182dは、対応部位検出部182cにより検出された対応関係にある領域間の変位量を算出する。この場合、算出部182dは、小領域RMRp1から、対応部位検出部182cによって小領域RMRp1に対応する領域として第2画像データ上で検出された検索小領域SRへの移動ベクトルを変位量として算出する。具体的には、算出部182dは、図9(c)に示す小領域MRMp1のうちの動体領域MR1の端部に対応する画素Pix(1,1)の第1画像データ上の座標値から、図9(d)に示すテンプレート画像TPpix(5,1)に対応する検索小領域SR9の画素の座標値までの移動ベクトルを算出する。また、算出部182dは、同様にして、小領域RMRp3とその対応する検索小領域SRとの間の移動ベクトル、小領域RMRp4とその対応する検索小領域SRとの間の移動ベクトルを変位量として算出する。
図13に、動体領域MR1およびMR2と、変位量との関係を示す。図13においては、説明の都合上、図4(c)で示される動体領域MR1と、図4(d)で示される動体領域MR2とを同一の画像データ上に重畳させて表している。なお、図13では動体領域MR2を破線で示す。そして、図13で、小領域MRMp1の動体領域MR1と検索小領域SR9の動体領域MR2との間で互いに対応する端部を、それぞれ点P、点P’として表す。この場合、算出部182dは、小領域MRMp1から検索小領域SR9への移動ベクトルPP’を算出する。また、図13で、小領域MRMp3の動体領域MR1と検索小領域SR11の動体領域MR2との間で互いに対応する端部を、それぞれ点Q、点Q’とし、小領域MRMp4の動体領域MR1と検索小領域SR15の動体領域MR2との間で互いに対応する端部を、それぞれ点R、点R’とする。この場合、算出部182dは、小領域MRMp3から検索小領域SR11への移動ベクトルQQ’を算出し、小領域MRMp4から検索小領域SR15への移動ベクトルRR’を算出する。そして、算出部182dは、算出した移動ベクトルをバッファメモリ16に格納する。
−歪み補正処理−
まず、算出部182dは、算出した移動ベクトル、すなわち変位量を用いて、ローリングシャッタ歪みを補正するための補正量を算出する。この場合、算出部182dは、変位量のそれぞれを1/2にした値を補正量として算出する。そして、画像処理部182の補正部182eは、算出部182dにより算出された補正量に基づいて、第1画像データに対して画像処理を施すことにより、ローリングシャッタ歪みを補正する。
まず、算出部182dは、算出した移動ベクトル、すなわち変位量を用いて、ローリングシャッタ歪みを補正するための補正量を算出する。この場合、算出部182dは、変位量のそれぞれを1/2にした値を補正量として算出する。そして、画像処理部182の補正部182eは、算出部182dにより算出された補正量に基づいて、第1画像データに対して画像処理を施すことにより、ローリングシャッタ歪みを補正する。
図13に示すように、小領域MRMp1から検索小領域SR9への移動ベクトルPP’が算出されている場合、算出部182dは、点Pと点P’との中点Tを算出する。そして、算出部182dは、点Pから点Sまでの移動ベクトルPTを補正量として算出する。同様に、算出部182dは、点Qと点Q’との中点Uを算出し、移動ベクトルQUを補正量として算出する。さらに、算出部182dは、点Rと点R’との中点Wを算出して、移動ベクトルRWを補正量として算出する。
補正部182eは、補正量として算出された移動ベクトルに応じて、第1画像データ上で動体領域MR1の画像データを移動させることにより、ローリングシャッタ歪みを補正する。すなわち、補正部182eは、動体領域MR1の点Pを移動ベクトルPTに沿って、点Tの位置まで移動させる。換言すると、補正部182eは、図9(c)の小領域RMRp1の第1データ行DLine(1)に含まれる画素Pix(x,1)のそれぞれを、移動ベクトルPTに沿って移動させる。補正部182eは、動体領域MR1の点Qおよび点Rについても、それぞれ移動ベクトルQUおよびRWに沿って移動させる。
なお、図9(c)の小領域RMRp1におけるデータ行DLine(2)〜DLine(8)については、補正部182eは、移動ベクトルPTとRWの差分と、各データ行DLine(2)〜DLine(8)の第1データ行DLine(1)に対するy軸方向への距離と比例関係に基づいて画素Pix(x,y)を移動させる。たとえば、移動ベクトルPTが12画素分の補正量を示し、移動ベクトルRWが6画素分の補正量を示している場合には、補正部182eは、小領域RMRp1の第8データ行DLine(8)の画素Pix(x,8)を9画素分移動させる。補正部182eが以上の処理を施すことにより、図14に示すように、第1画像データ上でローリングシャッタ歪みが補正された動体領域MR3が生成される。
図15に示すフローチャートを参照しながら、実施の形態による電子カメラ1の動作を説明する。図15の処理は制御回路18でプログラムを実行して行われる。このプログラムは、メモリ(不図示)に格納されており、ユーザによって静止画撮影モードが設定され、図示しないレリーズボタンが全押し操作、すなわち撮影開始を指示する操作が行われると制御回路18により起動され、実行される。
ステップS1においては、撮像素子14に対して第1画像信号および第2画像信号を読み出させて、ステップS2へ進む。ステップS2においては、第1画像信号を用いて生成した第1画像データから移動被写体Sに対応する動体領域MR1を検出してステップS3へ進む。ステップS3においては、動体領域MR1の画像データを用いて、テンプレート画像Tpを生成してステップS4へ進む。
ステップS4では、ステップS3で生成したテンプレート画像Tpを用いて、第2画像データ上から動体領域MR1に対応する動体領域MR2を検出してステップS5へ進む。ステップS5においては、動体領域MR1と動体領域MR2との間で互いに対応する部位の移動ベクトルを変位量として算出してステップS6へ進む。ステップS6においては、ステップS5で算出した変位量を用いて補正量を算出してステップS7へ進む。ステップS7においては、算出した補正量を用いて、第1画像データの動体領域MR1を構成する画素Pix(x,y)の位置を移動させることにより、ローリングシャッタ歪みを補正して処理を終了する。
以上で説明した実施の形態における電子カメラ1によれば、以下の作用効果が得られる。
(1)撮像素子14はローリングシャッタ方式で画像を撮影し、読出制御部181は、撮像素子14の水平走査ラインを上から下へ走査して画素信号を読み出す第1読出しと、撮像素子14の水平走査ラインを下から上へ走査して画素信号を読み出す第2読出しとを行う。算出部182dは、読出制御部181による第1読出しによって生成された第1画像データと、読出制御部181による第2読出しによって生成された第2画像データとから、ローリングシャッタ歪みを補正するための歪み補正量を算出する。そして、補正部182eは、算出部182dによって算出された歪み補正量に基づき、第1画像データを補正するようにした。したがって、被写体が画面の左右方向に相対移動している場合に加えて、上下方向に相対的に移動している場合であってもローリングシャッタ歪みを補正することができるので、画質を向上させることができる。
(1)撮像素子14はローリングシャッタ方式で画像を撮影し、読出制御部181は、撮像素子14の水平走査ラインを上から下へ走査して画素信号を読み出す第1読出しと、撮像素子14の水平走査ラインを下から上へ走査して画素信号を読み出す第2読出しとを行う。算出部182dは、読出制御部181による第1読出しによって生成された第1画像データと、読出制御部181による第2読出しによって生成された第2画像データとから、ローリングシャッタ歪みを補正するための歪み補正量を算出する。そして、補正部182eは、算出部182dによって算出された歪み補正量に基づき、第1画像データを補正するようにした。したがって、被写体が画面の左右方向に相対移動している場合に加えて、上下方向に相対的に移動している場合であってもローリングシャッタ歪みを補正することができるので、画質を向上させることができる。
(2)対応部位検出部182cは、第1画像データと第2画像データとの対応する部位を検出するようにした。そして、算出部182dは、対応部位検出部182cにより検出された対応する部位の間の相対的な変位量を算出し、算出した変位量に基づき、歪み補正量を算出するようにした。すなわち、算出部182dは、変位量の半分に相当する値を歪み補正量として算出するようにした。したがって、第1画像データと第2画像データとにおける、同一被写体に含まれる略同一の部位の位置のずれ量に応じて補正量を算出するので、ローリングシャッタ歪みの補正精度を向上させることができる。
(3)テンプレート作成部182bは、第1画像データを用いて、複数種類のテンプレート画像を作成し、対応部位検出部182cは、複数種類のテンプレート画像を用いて、他方の第2画像データから対応する部位を検出するようにした。テンプレート作成部182bは、第1読出しによって生成された第1画像データを用いて、撮像素子14の撮像面に対して相対的に移動する移動被写体の位置を第2画像データから検出するためのテンプレートを、所定条件に基づいて生成するようにした。すなわち、テンプレート作成部182bは、移動被写体の相対的な移動方向、移動被写体の相対的な速度および撮像素子14の読出し走査の速度に基づいて、第1画像データにおける移動被写体の形状を変形させることにより、異なる複数種類のテンプレートを生成する。第1画像信号と第2画像信号とは、それぞれ異なる読出し方式で出力されているので、第1画像データと第1画像データとの間では、同一の移動被写体であっても、ローリングシャッタ歪みの影響により移動被写体の形状が互いに異なる。しかしながら、第1画像データ上の移動被写体の形状を変形させて生成されたテンプレート画像により、第2画像データ上で対応する移動被写体を検出することができる。
(4)テンプレート作成部182bは、移動被写体の複数の位置(すなわち小領域RMRp)のそれぞれについて異なる複数種類のテンプレート画像を生成するようにした。そして、テンプレート作成部182bは、第2画像データに含まれる複数の部分領域(すなわち検索小領域SR)ごとに、移動被写体の複数の位置のそれぞれについて異なるテンプレート画像を生成するようにした。したがって、移動被写体がどのような相対移動速度、相対移動方向で移動している場合でも、対応部位検出部182cは高精度で移動被写体を第2画像データ上から検出することができる。
以上で説明した実施の形態における電子カメラ1を、以下のように変形できる。
(1)画像処理部182は、第1画像データを用いてテンプレート画像を生成し、第1画像データのローリングシャッタ歪みを補正するものに代えて、第2画像データからテンプレート画像を生成し、第2画像データのローリングシャッタ歪みを補正して第3画像データを生成してもよい。この場合、画像処理部182は、第1画像データに対して行った上述の処理と同一の処理を第2画像データに対して施せばよい。
(1)画像処理部182は、第1画像データを用いてテンプレート画像を生成し、第1画像データのローリングシャッタ歪みを補正するものに代えて、第2画像データからテンプレート画像を生成し、第2画像データのローリングシャッタ歪みを補正して第3画像データを生成してもよい。この場合、画像処理部182は、第1画像データに対して行った上述の処理と同一の処理を第2画像データに対して施せばよい。
(2)ライブビューモードにより画像データを生成している最中に、ユーザによりレリーズボタンが押下されて撮影開始が指示された場合は、画像処理部182は次のようにして動体領域を検出することができる。なお、ライブビューモードにおいては、画像信号は第1読出しにより撮像素子14から出力されているものとする。すなわち、ライブビューモードにおいては、読出制御部181は、撮像素子14の撮像面最上部の画素141から撮像面最下部の画素141まで、所定の水平走査期間tHごとに、順次画素行単位で電荷蓄積および画像信号の出力を開始させる。
画像処理部182は、レリーズボタンが押下操作される前、すなわちライブビューモードにおける最後のフレームに対応する画像信号を入力して画像データ(第0画像データ)を生成する。そして、移動体検出部182aは、第1画像データと第0画像データとを用いて、実施の形態と同様の方法により、第1画像データ上で移動被写体Sに対応する動体領域MR1を検出すればよい。
(3)テンプレート作成部182bは、第2画像データの全領域に複数の検索小領域SRを設定するものに代えて、第2画像データの一部の領域に検索小領域SRを設定してもよい。この場合、テンプレート作成部182bは、第1画像データ上で検出された動体領域MR1を包含するようにx軸方向およびy軸方向に所定の大きさを有する一部領域を設定する。このとき、テンプレート作成部182bは、移動体検出部182aにより算出された座標値の差分の大きさに応じて一部領域を設定すればよい。そして、テンプレート作成部182bは、設定した一部領域内に複数の検索小領域SRを設定する。この結果、テンプレート作成部182bが生成するテンプレート画像Tpの個数を減らすことができるので処理負荷を低減できる。さらに、対応部位検出部182cが、各テンプレート画像Tpごとにテンプレートマッチング処理を行う検索小領域SRの個数を減らすことができるので、処理負荷を低減できる。
(4)電子カメラ1でローリングシャッタ歪みの補正処理をするものに代えて、外部に接続された画像処理装置(たとえばパーソナルコンピュータ等)により補正処理を行ってもよい。なお、この場合は、電子カメラ1は、上述のようにして生成した第1画像データと第2画像データとを関連付けてメモリカード108に記録する。
図16に、画像処理装置としてパーソナルコンピュータを一例としたブロック図を示す。画像処理装置50は、電子カメラ1で撮像した被写体像の画像データの表示や編集、画像データの保存を行う。画像処理装置50は、制御回路51、HDD52、モニタ制御回路53、モニタ54、メモリ55、入力装置56、メモリカードインタフェース57、および外部インタフェース58を備える。外部インタフェース58は、所定のケーブルや無線伝送路を介して電子カメラ1等の外部装置とデータ通信を行う。
入力装置56は、ユーザによって操作され、たとえばキーボードやマウスなどで構成される。HDD52には、たとえば電子カメラ1で撮影した動画や静止画に対応する画像ファイルなどが記録されている。外部インタフェース58は、たとえば画像処理装置50に電子カメラ1などの外部機器を接続するUSBインタフェースである。画像処理装置50は、メモリカードインタフェース57や外部インタフェース58を介してメモリカード108や外部機器から画像ファイルなどを入力する。入力された画像ファイルは、制御回路51によりHDD52に記録される。上述した電子カメラ1で生成された画像ファイルも、同様にHDD52に記録される。
制御回路51は、画像処理装置50の制御を行うマイクロコンピュータであり、CPUやROMその他周辺回路により構成される。制御回路51は、画像処理部60、画像記録部61を機能的に備える。画像処理部60は、入力された画像ファイルに基づいて、モニタ54に表示するための表示画像データを生成する。また、画像処理部60は、移動体検出部60a、テンプレート作成部60b、対応部位検出部60c、算出部60dおよび補正部60eを機能的に備える。移動体検出部60a、テンプレート作成部60b、対応部位検出部60c、算出部60dおよび補正部60eについては説明を後述する。画像記録部61は、画像処理部60により生成された画像データに対してJPEGなどの所定の方式により圧縮処理を行い、EXIFなどの形式でメモリカード108へ記録する。
メモリ55は制御回路51のワーキングメモリであり、たとえばSDRAMにより構成される。モニタ54は、たとえば液晶モニタやCRTモニタである。モニタ54には、モニタ制御回路53に制御されて、表示用の画像データに対応する画像および各種設定を行うためのメニュー画面などが表示される。
次に、画像処理装置50によるローリングシャッタ歪みの補正処理について説明する。画像処理装置50によりローリングシャッタ歪みを補正する場合、ユーザにより歪み補正ソフトを起動して実行する。この歪み補正ソフトは、画像処理装置50の制御回路51内の不図示メモリに記録されている。ユーザによる入力装置56の操作に応じて歪み補正ソフトの起動が指示されると、制御回路51は歪み補正ソフトを起動する。歪み補正ソフトが起動されると、制御回路51の画像処理部60は、電子カメラ1から読み込まれHDD52に記録された第1画像データおよび第2画像データをメモリ55に読み出す。
移動体検出部60aは、電子カメラ1の移動体検出部182aと同様の処理を行う。すなわち、移動体検出部60aは、第1画像データと第2画像データとを用いて、第1画像データから動体領域MR1を検出する。テンプレート作成部60bは、電子カメラ1のテンプレート作成部182bと同様の処理を行う。すなわち、テンプレート作成部60bは、移動体検出部60aにより検出された動体領域MR1のデータを用いて、複数種類のテンプレート画像Tpを生成する。
対応部位検出部60cは、電子カメラ1の対応部位検出部182cと同様の処理を行う。すなわち、対応部位検出部60cは、テンプレート作成部60bにより生成されたテンプレート画像Tpを用いて、動体領域MR1に対応する領域(すなわち動体領域MR2)を第2画像データ上から検出する。算出部60dは、電子カメラ1の算出部182dと同様の処理を行う。すなわち、算出部60dは、動体領域MR1と、対応部位検出部60cにより検出された動体領域MR2とでそれぞれ対応する位置の間の移動ベクトルを、変位量として算出する。そして、算出部60dは、算出した変位量の1/2にした値を、ローリングシャッタ歪みを補正するための補正量として算出する。
補正部60eは、電子カメラ1の補正部182eと同様の処理を行う。すなわち、算出部60dにより算出された補正量に応じて第1画像データ上で動体領域MR1の画像データを移動させることにより補正処理を施して、第3画像データを生成する。換言すると、制御回路51の画像処理部60は、図15のフローチャートに示すステップS2〜ステップS7までの処理を行う。そして、画像記録部61は、生成したローリングシャッタ歪み補正後の第3画像データに基づいて画像ファイルを生成しHDD52に記録する。
また、本発明の特徴を損なわない限り、本発明は上記実施の形態に限定されるものではなく、本発明の技術的思想の範囲内で考えられるその他の形態についても、本発明の範囲内に含まれる。説明に用いた実施の形態および変形例は、それぞれを適宜組合わせて構成しても構わない。
14…撮像素子、 18、51…制御回路、 58…外部インタフェース、
181…読出制御部、 60、182…画像処理部、
60b、182b…テンプレート作成部、 60c、182c…対応部位検出部、
60d、182d…算出部、 60e、182e…補正部
181…読出制御部、 60、182…画像処理部、
60b、182b…テンプレート作成部、 60c、182c…対応部位検出部、
60d、182d…算出部、 60e、182e…補正部
Claims (6)
- ローリングシャッタ方式で撮影する撮像素子と、
前記撮像素子の水平走査ラインを上から下へ走査して画素信号を読み出す第1の読み出し走査と、前記撮像素子の水平走査ラインを下から上へ走査して画素信号を読み出す第2の読み出し走査とを行う撮像素子駆動手段と、
前記撮像素子駆動手段による前記第1の読み出し走査によって生成された第1画像データと、前記撮像素子駆動手段による前記第2の読み出し走査によって生成された第2画像データとから、ローリングシャッタ歪みを補正するための歪み補正量を算出する補正量算出手段と、
前記補正量算出手段によって算出された前記歪み補正量に基づき、前記第1画像データと前記第2画像データとの少なくとも一方の画像データを補正する補正手段とを備えることを特徴とする撮像装置。 - 請求項1に記載の撮像装置において、
前記第1画像データと前記第2画像データとの対応する部位を検出する検出手段をさらに備え、
前記補正量算出手段は、前記検出手段により検出された前記対応する部位の間の相対的な変位量を算出し、算出した前記変位量に基づき、前記歪み補正量を算出することを特徴とする撮像装置。 - 請求項2に記載の撮像装置において、
前記補正量算出手段は、前記変位量の半分に相当する値を前記歪み補正量として算出することを特徴とする撮像装置。 - 請求項2または3に記載の撮像装置において、
前記第1画像データおよび前記第2画像データのうちの一方の画像データを用いて、複数種類のテンプレートを作成するテンプレート作成手段をさらに備え、
前記検出手段は、前記複数種類のテンプレートを用いて、他方の画像データから前記対応する部位を検出することを特徴とする撮像装置。 - 請求項4に記載の撮像装置において、
前記検出手段は、前記他方の画像データにおける所定の検出位置ごとに、それぞれ異なる種類の前記テンプレートを用いることを特徴とする撮像装置。 - ローリングシャッタ方式で撮像素子の水平走査ラインを上から下へ走査して画素信号を読み出す第1の読み出し走査によって生成された第1画像データと、前記撮像素子の水平走査ラインを下から上へ走査して画素信号を読み出す第2の読み出し走査によって生成された第2画像データとを入力する入力手段と、
前記第1画像データと、前記第2画像データとから、ローリングシャッタ歪みを補正するための歪み補正量を算出する補正量算出手段と、
前記補正量算出手段によって算出された前記歪み補正量に基づき、前記第1画像データと前記第2画像データとの少なくとも一方の画像データを補正する補正手段とを備えることを特徴とする画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012040157A JP2013175992A (ja) | 2012-02-27 | 2012-02-27 | 撮像装置および画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012040157A JP2013175992A (ja) | 2012-02-27 | 2012-02-27 | 撮像装置および画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013175992A true JP2013175992A (ja) | 2013-09-05 |
Family
ID=49268523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012040157A Pending JP2013175992A (ja) | 2012-02-27 | 2012-02-27 | 撮像装置および画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013175992A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016105547A (ja) * | 2014-12-01 | 2016-06-09 | 株式会社ソシオネクスト | 画像処理装置および画像処理方法 |
-
2012
- 2012-02-27 JP JP2012040157A patent/JP2013175992A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016105547A (ja) * | 2014-12-01 | 2016-06-09 | 株式会社ソシオネクスト | 画像処理装置および画像処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5830241B2 (ja) | 撮像装置、撮像方法、および、撮像プログラム | |
US8593533B2 (en) | Image processing apparatus, image-pickup apparatus, and image processing method | |
KR101062502B1 (ko) | 패닝화상을 촬상하기 위한 패닝모드를 구비한 촬상장치 | |
JP4862934B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP5621485B2 (ja) | 撮像装置および画像処理装置 | |
JP6222514B2 (ja) | 画像処理装置、撮像装置、およびコンピュータブログラム | |
JP2011165045A (ja) | 画像処理装置 | |
US10430660B2 (en) | Image processing apparatus, control method thereof, and storage medium | |
US10116865B2 (en) | Image processing apparatus and image processing method for calculating motion vector between images with different in-focus positions | |
JP6557499B2 (ja) | 焦点検出装置およびその制御方法、撮像装置、プログラム、ならびに記憶媒体 | |
JP5267279B2 (ja) | 画像合成装置及びプログラム | |
JP2013175992A (ja) | 撮像装置および画像処理装置 | |
JP2013175991A (ja) | 撮像装置および画像処理装置 | |
JP4716266B2 (ja) | 画像処理装置、撮像装置及びそのプログラム | |
JP5548023B2 (ja) | 撮像装置および撮像方法 | |
JP2009027437A (ja) | 画像処理装置,画像処理方法及び撮像装置 | |
JP5417920B2 (ja) | 画像処理装置、画像処理方法、電子カメラおよび画像処理プログラム | |
JP2019208214A (ja) | 画像処理装置、画像処理方法およびプログラム、並びに撮像装置 | |
JP6272099B2 (ja) | 画像処理装置、制御方法およびプログラム | |
US11778321B2 (en) | Image capturing apparatus capable of performing omnifocal photographing, method of controlling same, and storage medium | |
JP2019062406A (ja) | 動きベクトル検出装置 | |
US20230066494A1 (en) | Apparatus to perform alignment to images, image processing method to perform alignment to images, and computer readable non-transitory memory to perform alignment to images | |
JP6827778B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JPH10173992A (ja) | 画像修正装置 | |
JP6318547B2 (ja) | 画像処理装置、撮像装置および画像処理プログラム |